@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
401 lines (400 loc) • 21.3 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface FmsPolicyConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#delete_all_policy_resources FmsPolicy#delete_all_policy_resources}
*/
readonly deleteAllPolicyResources?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#delete_unused_fm_managed_resources FmsPolicy#delete_unused_fm_managed_resources}
*/
readonly deleteUnusedFmManagedResources?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#description FmsPolicy#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#exclude_resource_tags FmsPolicy#exclude_resource_tags}
*/
readonly excludeResourceTags: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#id FmsPolicy#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#name FmsPolicy#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#remediation_enabled FmsPolicy#remediation_enabled}
*/
readonly remediationEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#resource_set_ids FmsPolicy#resource_set_ids}
*/
readonly resourceSetIds?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#resource_tags FmsPolicy#resource_tags}
*/
readonly resourceTags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#resource_type FmsPolicy#resource_type}
*/
readonly resourceType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#resource_type_list FmsPolicy#resource_type_list}
*/
readonly resourceTypeList?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#tags FmsPolicy#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#tags_all FmsPolicy#tags_all}
*/
readonly tagsAll?: {
[key: string]: string;
};
/**
* exclude_map block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#exclude_map FmsPolicy#exclude_map}
*/
readonly excludeMap?: FmsPolicyExcludeMap;
/**
* include_map block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#include_map FmsPolicy#include_map}
*/
readonly includeMap?: FmsPolicyIncludeMap;
/**
* security_service_policy_data block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#security_service_policy_data FmsPolicy#security_service_policy_data}
*/
readonly securityServicePolicyData: FmsPolicySecurityServicePolicyData;
}
export interface FmsPolicyExcludeMap {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#account FmsPolicy#account}
*/
readonly account?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#orgunit FmsPolicy#orgunit}
*/
readonly orgunit?: string[];
}
export declare function fmsPolicyExcludeMapToTerraform(struct?: FmsPolicyExcludeMapOutputReference | FmsPolicyExcludeMap): any;
export declare function fmsPolicyExcludeMapToHclTerraform(struct?: FmsPolicyExcludeMapOutputReference | FmsPolicyExcludeMap): any;
export declare class FmsPolicyExcludeMapOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicyExcludeMap | undefined;
set internalValue(value: FmsPolicyExcludeMap | undefined);
private _account?;
get account(): string[];
set account(value: string[]);
resetAccount(): void;
get accountInput(): string[] | undefined;
private _orgunit?;
get orgunit(): string[];
set orgunit(value: string[]);
resetOrgunit(): void;
get orgunitInput(): string[] | undefined;
}
export interface FmsPolicyIncludeMap {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#account FmsPolicy#account}
*/
readonly account?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#orgunit FmsPolicy#orgunit}
*/
readonly orgunit?: string[];
}
export declare function fmsPolicyIncludeMapToTerraform(struct?: FmsPolicyIncludeMapOutputReference | FmsPolicyIncludeMap): any;
export declare function fmsPolicyIncludeMapToHclTerraform(struct?: FmsPolicyIncludeMapOutputReference | FmsPolicyIncludeMap): any;
export declare class FmsPolicyIncludeMapOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicyIncludeMap | undefined;
set internalValue(value: FmsPolicyIncludeMap | undefined);
private _account?;
get account(): string[];
set account(value: string[]);
resetAccount(): void;
get accountInput(): string[] | undefined;
private _orgunit?;
get orgunit(): string[];
set orgunit(value: string[]);
resetOrgunit(): void;
get orgunitInput(): string[] | undefined;
}
export interface FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#firewall_deployment_model FmsPolicy#firewall_deployment_model}
*/
readonly firewallDeploymentModel?: string;
}
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference | FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy): any;
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference | FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy): any;
export declare class FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy | undefined;
set internalValue(value: FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy | undefined);
private _firewallDeploymentModel?;
get firewallDeploymentModel(): string;
set firewallDeploymentModel(value: string);
resetFirewallDeploymentModel(): void;
get firewallDeploymentModelInput(): string | undefined;
}
export interface FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#firewall_deployment_model FmsPolicy#firewall_deployment_model}
*/
readonly firewallDeploymentModel?: string;
}
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference | FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy): any;
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference | FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy): any;
export declare class FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy | undefined;
set internalValue(value: FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy | undefined);
private _firewallDeploymentModel?;
get firewallDeploymentModel(): string;
set firewallDeploymentModel(value: string);
resetFirewallDeploymentModel(): void;
get firewallDeploymentModelInput(): string | undefined;
}
export interface FmsPolicySecurityServicePolicyDataPolicyOption {
/**
* network_firewall_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#network_firewall_policy FmsPolicy#network_firewall_policy}
*/
readonly networkFirewallPolicy?: FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy;
/**
* third_party_firewall_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#third_party_firewall_policy FmsPolicy#third_party_firewall_policy}
*/
readonly thirdPartyFirewallPolicy?: FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy;
}
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference | FmsPolicySecurityServicePolicyDataPolicyOption): any;
export declare function fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform(struct?: FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference | FmsPolicySecurityServicePolicyDataPolicyOption): any;
export declare class FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicySecurityServicePolicyDataPolicyOption | undefined;
set internalValue(value: FmsPolicySecurityServicePolicyDataPolicyOption | undefined);
private _networkFirewallPolicy;
get networkFirewallPolicy(): FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference;
putNetworkFirewallPolicy(value: FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy): void;
resetNetworkFirewallPolicy(): void;
get networkFirewallPolicyInput(): FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy | undefined;
private _thirdPartyFirewallPolicy;
get thirdPartyFirewallPolicy(): FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference;
putThirdPartyFirewallPolicy(value: FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy): void;
resetThirdPartyFirewallPolicy(): void;
get thirdPartyFirewallPolicyInput(): FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy | undefined;
}
export interface FmsPolicySecurityServicePolicyData {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#managed_service_data FmsPolicy#managed_service_data}
*/
readonly managedServiceData?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#type FmsPolicy#type}
*/
readonly type: string;
/**
* policy_option block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#policy_option FmsPolicy#policy_option}
*/
readonly policyOption?: FmsPolicySecurityServicePolicyDataPolicyOption;
}
export declare function fmsPolicySecurityServicePolicyDataToTerraform(struct?: FmsPolicySecurityServicePolicyDataOutputReference | FmsPolicySecurityServicePolicyData): any;
export declare function fmsPolicySecurityServicePolicyDataToHclTerraform(struct?: FmsPolicySecurityServicePolicyDataOutputReference | FmsPolicySecurityServicePolicyData): any;
export declare class FmsPolicySecurityServicePolicyDataOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): FmsPolicySecurityServicePolicyData | undefined;
set internalValue(value: FmsPolicySecurityServicePolicyData | undefined);
private _managedServiceData?;
get managedServiceData(): string;
set managedServiceData(value: string);
resetManagedServiceData(): void;
get managedServiceDataInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _policyOption;
get policyOption(): FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference;
putPolicyOption(value: FmsPolicySecurityServicePolicyDataPolicyOption): void;
resetPolicyOption(): void;
get policyOptionInput(): FmsPolicySecurityServicePolicyDataPolicyOption | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy aws_fms_policy}
*/
export declare class FmsPolicy extends cdktf.TerraformResource {
static readonly tfResourceType = "aws_fms_policy";
/**
* Generates CDKTF code for importing a FmsPolicy resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the FmsPolicy to import
* @param importFromId The id of the existing FmsPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FmsPolicy to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy aws_fms_policy} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options FmsPolicyConfig
*/
constructor(scope: Construct, id: string, config: FmsPolicyConfig);
get arn(): string;
private _deleteAllPolicyResources?;
get deleteAllPolicyResources(): boolean | cdktf.IResolvable;
set deleteAllPolicyResources(value: boolean | cdktf.IResolvable);
resetDeleteAllPolicyResources(): void;
get deleteAllPolicyResourcesInput(): boolean | cdktf.IResolvable | undefined;
private _deleteUnusedFmManagedResources?;
get deleteUnusedFmManagedResources(): boolean | cdktf.IResolvable;
set deleteUnusedFmManagedResources(value: boolean | cdktf.IResolvable);
resetDeleteUnusedFmManagedResources(): void;
get deleteUnusedFmManagedResourcesInput(): boolean | cdktf.IResolvable | undefined;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _excludeResourceTags?;
get excludeResourceTags(): boolean | cdktf.IResolvable;
set excludeResourceTags(value: boolean | cdktf.IResolvable);
get excludeResourceTagsInput(): boolean | cdktf.IResolvable | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
get policyUpdateToken(): string;
private _remediationEnabled?;
get remediationEnabled(): boolean | cdktf.IResolvable;
set remediationEnabled(value: boolean | cdktf.IResolvable);
resetRemediationEnabled(): void;
get remediationEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _resourceSetIds?;
get resourceSetIds(): string[];
set resourceSetIds(value: string[]);
resetResourceSetIds(): void;
get resourceSetIdsInput(): string[] | undefined;
private _resourceTags?;
get resourceTags(): {
[key: string]: string;
};
set resourceTags(value: {
[key: string]: string;
});
resetResourceTags(): void;
get resourceTagsInput(): {
[key: string]: string;
} | undefined;
private _resourceType?;
get resourceType(): string;
set resourceType(value: string);
resetResourceType(): void;
get resourceTypeInput(): string | undefined;
private _resourceTypeList?;
get resourceTypeList(): string[];
set resourceTypeList(value: string[]);
resetResourceTypeList(): void;
get resourceTypeListInput(): string[] | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
private _tagsAll?;
get tagsAll(): {
[key: string]: string;
};
set tagsAll(value: {
[key: string]: string;
});
resetTagsAll(): void;
get tagsAllInput(): {
[key: string]: string;
} | undefined;
private _excludeMap;
get excludeMap(): FmsPolicyExcludeMapOutputReference;
putExcludeMap(value: FmsPolicyExcludeMap): void;
resetExcludeMap(): void;
get excludeMapInput(): FmsPolicyExcludeMap | undefined;
private _includeMap;
get includeMap(): FmsPolicyIncludeMapOutputReference;
putIncludeMap(value: FmsPolicyIncludeMap): void;
resetIncludeMap(): void;
get includeMapInput(): FmsPolicyIncludeMap | undefined;
private _securityServicePolicyData;
get securityServicePolicyData(): FmsPolicySecurityServicePolicyDataOutputReference;
putSecurityServicePolicyData(value: FmsPolicySecurityServicePolicyData): void;
get securityServicePolicyDataInput(): FmsPolicySecurityServicePolicyData | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}