UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,005 lines 146 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); exports.FmsPolicy = exports.FmsPolicySecurityServicePolicyDataOutputReference = exports.fmsPolicySecurityServicePolicyDataToHclTerraform = exports.fmsPolicySecurityServicePolicyDataToTerraform = exports.FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference = exports.fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform = exports.fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform = exports.FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference = exports.fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform = exports.fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform = exports.FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference = exports.fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform = exports.fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform = exports.FmsPolicyIncludeMapOutputReference = exports.fmsPolicyIncludeMapToHclTerraform = exports.fmsPolicyIncludeMapToTerraform = exports.FmsPolicyExcludeMapOutputReference = exports.fmsPolicyExcludeMapToHclTerraform = exports.fmsPolicyExcludeMapToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function fmsPolicyExcludeMapToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { account: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.account), orgunit: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.orgunit), }; } exports.fmsPolicyExcludeMapToTerraform = fmsPolicyExcludeMapToTerraform; function fmsPolicyExcludeMapToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { account: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.account), isBlock: false, type: "set", storageClassType: "stringList", }, orgunit: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.orgunit), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicyExcludeMapToHclTerraform = fmsPolicyExcludeMapToHclTerraform; class FmsPolicyExcludeMapOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._account !== undefined) { hasAnyValues = true; internalValueResult.account = this._account; } if (this._orgunit !== undefined) { hasAnyValues = true; internalValueResult.orgunit = this._orgunit; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._account = undefined; this._orgunit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._account = value.account; this._orgunit = value.orgunit; } } get account() { return cdktf.Fn.tolist(this.getListAttribute('account')); } set account(value) { this._account = value; } resetAccount() { this._account = undefined; } // Temporarily expose input value. Use with caution. get accountInput() { return this._account; } get orgunit() { return cdktf.Fn.tolist(this.getListAttribute('orgunit')); } set orgunit(value) { this._orgunit = value; } resetOrgunit() { this._orgunit = undefined; } // Temporarily expose input value. Use with caution. get orgunitInput() { return this._orgunit; } } exports.FmsPolicyExcludeMapOutputReference = FmsPolicyExcludeMapOutputReference; _a = JSII_RTTI_SYMBOL_1; FmsPolicyExcludeMapOutputReference[_a] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicyExcludeMapOutputReference", version: "19.50.0" }; function fmsPolicyIncludeMapToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { account: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.account), orgunit: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.orgunit), }; } exports.fmsPolicyIncludeMapToTerraform = fmsPolicyIncludeMapToTerraform; function fmsPolicyIncludeMapToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { account: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.account), isBlock: false, type: "set", storageClassType: "stringList", }, orgunit: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.orgunit), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicyIncludeMapToHclTerraform = fmsPolicyIncludeMapToHclTerraform; class FmsPolicyIncludeMapOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._account !== undefined) { hasAnyValues = true; internalValueResult.account = this._account; } if (this._orgunit !== undefined) { hasAnyValues = true; internalValueResult.orgunit = this._orgunit; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._account = undefined; this._orgunit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._account = value.account; this._orgunit = value.orgunit; } } get account() { return cdktf.Fn.tolist(this.getListAttribute('account')); } set account(value) { this._account = value; } resetAccount() { this._account = undefined; } // Temporarily expose input value. Use with caution. get accountInput() { return this._account; } get orgunit() { return cdktf.Fn.tolist(this.getListAttribute('orgunit')); } set orgunit(value) { this._orgunit = value; } resetOrgunit() { this._orgunit = undefined; } // Temporarily expose input value. Use with caution. get orgunitInput() { return this._orgunit; } } exports.FmsPolicyIncludeMapOutputReference = FmsPolicyIncludeMapOutputReference; _b = JSII_RTTI_SYMBOL_1; FmsPolicyIncludeMapOutputReference[_b] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicyIncludeMapOutputReference", version: "19.50.0" }; function fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { firewall_deployment_model: cdktf.stringToTerraform(struct.firewallDeploymentModel), }; } exports.fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform; function fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { firewall_deployment_model: { value: cdktf.stringToHclTerraform(struct.firewallDeploymentModel), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform; class FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._firewallDeploymentModel !== undefined) { hasAnyValues = true; internalValueResult.firewallDeploymentModel = this._firewallDeploymentModel; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._firewallDeploymentModel = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._firewallDeploymentModel = value.firewallDeploymentModel; } } get firewallDeploymentModel() { return this.getStringAttribute('firewall_deployment_model'); } set firewallDeploymentModel(value) { this._firewallDeploymentModel = value; } resetFirewallDeploymentModel() { this._firewallDeploymentModel = undefined; } // Temporarily expose input value. Use with caution. get firewallDeploymentModelInput() { return this._firewallDeploymentModel; } } exports.FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference = FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference; _c = JSII_RTTI_SYMBOL_1; FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference[_c] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference", version: "19.50.0" }; function fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { firewall_deployment_model: cdktf.stringToTerraform(struct.firewallDeploymentModel), }; } exports.fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform; function fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { firewall_deployment_model: { value: cdktf.stringToHclTerraform(struct.firewallDeploymentModel), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform; class FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._firewallDeploymentModel !== undefined) { hasAnyValues = true; internalValueResult.firewallDeploymentModel = this._firewallDeploymentModel; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._firewallDeploymentModel = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._firewallDeploymentModel = value.firewallDeploymentModel; } } get firewallDeploymentModel() { return this.getStringAttribute('firewall_deployment_model'); } set firewallDeploymentModel(value) { this._firewallDeploymentModel = value; } resetFirewallDeploymentModel() { this._firewallDeploymentModel = undefined; } // Temporarily expose input value. Use with caution. get firewallDeploymentModelInput() { return this._firewallDeploymentModel; } } exports.FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference = FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference; _d = JSII_RTTI_SYMBOL_1; FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference[_d] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference", version: "19.50.0" }; function fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { network_firewall_policy: fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToTerraform(struct.networkFirewallPolicy), third_party_firewall_policy: fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToTerraform(struct.thirdPartyFirewallPolicy), }; } exports.fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform; function fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { network_firewall_policy: { value: fmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyToHclTerraform(struct.networkFirewallPolicy), isBlock: true, type: "list", storageClassType: "FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyList", }, third_party_firewall_policy: { value: fmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyToHclTerraform(struct.thirdPartyFirewallPolicy), isBlock: true, type: "list", storageClassType: "FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform = fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform; class FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // network_firewall_policy - computed: false, optional: true, required: false this._networkFirewallPolicy = new FmsPolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyOutputReference(this, "network_firewall_policy"); // third_party_firewall_policy - computed: false, optional: true, required: false this._thirdPartyFirewallPolicy = new FmsPolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutputReference(this, "third_party_firewall_policy"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._networkFirewallPolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkFirewallPolicy = this._networkFirewallPolicy?.internalValue; } if (this._thirdPartyFirewallPolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.thirdPartyFirewallPolicy = this._thirdPartyFirewallPolicy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._networkFirewallPolicy.internalValue = undefined; this._thirdPartyFirewallPolicy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._networkFirewallPolicy.internalValue = value.networkFirewallPolicy; this._thirdPartyFirewallPolicy.internalValue = value.thirdPartyFirewallPolicy; } } get networkFirewallPolicy() { return this._networkFirewallPolicy; } putNetworkFirewallPolicy(value) { this._networkFirewallPolicy.internalValue = value; } resetNetworkFirewallPolicy() { this._networkFirewallPolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get networkFirewallPolicyInput() { return this._networkFirewallPolicy.internalValue; } get thirdPartyFirewallPolicy() { return this._thirdPartyFirewallPolicy; } putThirdPartyFirewallPolicy(value) { this._thirdPartyFirewallPolicy.internalValue = value; } resetThirdPartyFirewallPolicy() { this._thirdPartyFirewallPolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get thirdPartyFirewallPolicyInput() { return this._thirdPartyFirewallPolicy.internalValue; } } exports.FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference = FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference; _e = JSII_RTTI_SYMBOL_1; FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference[_e] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference", version: "19.50.0" }; function fmsPolicySecurityServicePolicyDataToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { managed_service_data: cdktf.stringToTerraform(struct.managedServiceData), type: cdktf.stringToTerraform(struct.type), policy_option: fmsPolicySecurityServicePolicyDataPolicyOptionToTerraform(struct.policyOption), }; } exports.fmsPolicySecurityServicePolicyDataToTerraform = fmsPolicySecurityServicePolicyDataToTerraform; function fmsPolicySecurityServicePolicyDataToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { managed_service_data: { value: cdktf.stringToHclTerraform(struct.managedServiceData), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, policy_option: { value: fmsPolicySecurityServicePolicyDataPolicyOptionToHclTerraform(struct.policyOption), isBlock: true, type: "list", storageClassType: "FmsPolicySecurityServicePolicyDataPolicyOptionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.fmsPolicySecurityServicePolicyDataToHclTerraform = fmsPolicySecurityServicePolicyDataToHclTerraform; class FmsPolicySecurityServicePolicyDataOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // policy_option - computed: false, optional: true, required: false this._policyOption = new FmsPolicySecurityServicePolicyDataPolicyOptionOutputReference(this, "policy_option"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._managedServiceData !== undefined) { hasAnyValues = true; internalValueResult.managedServiceData = this._managedServiceData; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._policyOption?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.policyOption = this._policyOption?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._managedServiceData = undefined; this._type = undefined; this._policyOption.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._managedServiceData = value.managedServiceData; this._type = value.type; this._policyOption.internalValue = value.policyOption; } } get managedServiceData() { return this.getStringAttribute('managed_service_data'); } set managedServiceData(value) { this._managedServiceData = value; } resetManagedServiceData() { this._managedServiceData = undefined; } // Temporarily expose input value. Use with caution. get managedServiceDataInput() { return this._managedServiceData; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get policyOption() { return this._policyOption; } putPolicyOption(value) { this._policyOption.internalValue = value; } resetPolicyOption() { this._policyOption.internalValue = undefined; } // Temporarily expose input value. Use with caution. get policyOptionInput() { return this._policyOption.internalValue; } } exports.FmsPolicySecurityServicePolicyDataOutputReference = FmsPolicySecurityServicePolicyDataOutputReference; _f = JSII_RTTI_SYMBOL_1; FmsPolicySecurityServicePolicyDataOutputReference[_f] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicySecurityServicePolicyDataOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fms_policy aws_fms_policy} */ class FmsPolicy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * 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, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_fms_policy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * 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, id, config) { super(scope, id, { terraformResourceType: 'aws_fms_policy', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // exclude_map - computed: false, optional: true, required: false this._excludeMap = new FmsPolicyExcludeMapOutputReference(this, "exclude_map"); // include_map - computed: false, optional: true, required: false this._includeMap = new FmsPolicyIncludeMapOutputReference(this, "include_map"); // security_service_policy_data - computed: false, optional: false, required: true this._securityServicePolicyData = new FmsPolicySecurityServicePolicyDataOutputReference(this, "security_service_policy_data"); this._deleteAllPolicyResources = config.deleteAllPolicyResources; this._deleteUnusedFmManagedResources = config.deleteUnusedFmManagedResources; this._description = config.description; this._excludeResourceTags = config.excludeResourceTags; this._id = config.id; this._name = config.name; this._remediationEnabled = config.remediationEnabled; this._resourceSetIds = config.resourceSetIds; this._resourceTags = config.resourceTags; this._resourceType = config.resourceType; this._resourceTypeList = config.resourceTypeList; this._tags = config.tags; this._tagsAll = config.tagsAll; this._excludeMap.internalValue = config.excludeMap; this._includeMap.internalValue = config.includeMap; this._securityServicePolicyData.internalValue = config.securityServicePolicyData; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get deleteAllPolicyResources() { return this.getBooleanAttribute('delete_all_policy_resources'); } set deleteAllPolicyResources(value) { this._deleteAllPolicyResources = value; } resetDeleteAllPolicyResources() { this._deleteAllPolicyResources = undefined; } // Temporarily expose input value. Use with caution. get deleteAllPolicyResourcesInput() { return this._deleteAllPolicyResources; } get deleteUnusedFmManagedResources() { return this.getBooleanAttribute('delete_unused_fm_managed_resources'); } set deleteUnusedFmManagedResources(value) { this._deleteUnusedFmManagedResources = value; } resetDeleteUnusedFmManagedResources() { this._deleteUnusedFmManagedResources = undefined; } // Temporarily expose input value. Use with caution. get deleteUnusedFmManagedResourcesInput() { return this._deleteUnusedFmManagedResources; } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get excludeResourceTags() { return this.getBooleanAttribute('exclude_resource_tags'); } set excludeResourceTags(value) { this._excludeResourceTags = value; } // Temporarily expose input value. Use with caution. get excludeResourceTagsInput() { return this._excludeResourceTags; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } // policy_update_token - computed: true, optional: false, required: false get policyUpdateToken() { return this.getStringAttribute('policy_update_token'); } get remediationEnabled() { return this.getBooleanAttribute('remediation_enabled'); } set remediationEnabled(value) { this._remediationEnabled = value; } resetRemediationEnabled() { this._remediationEnabled = undefined; } // Temporarily expose input value. Use with caution. get remediationEnabledInput() { return this._remediationEnabled; } get resourceSetIds() { return cdktf.Fn.tolist(this.getListAttribute('resource_set_ids')); } set resourceSetIds(value) { this._resourceSetIds = value; } resetResourceSetIds() { this._resourceSetIds = undefined; } // Temporarily expose input value. Use with caution. get resourceSetIdsInput() { return this._resourceSetIds; } get resourceTags() { return this.getStringMapAttribute('resource_tags'); } set resourceTags(value) { this._resourceTags = value; } resetResourceTags() { this._resourceTags = undefined; } // Temporarily expose input value. Use with caution. get resourceTagsInput() { return this._resourceTags; } get resourceType() { return this.getStringAttribute('resource_type'); } set resourceType(value) { this._resourceType = value; } resetResourceType() { this._resourceType = undefined; } // Temporarily expose input value. Use with caution. get resourceTypeInput() { return this._resourceType; } get resourceTypeList() { return cdktf.Fn.tolist(this.getListAttribute('resource_type_list')); } set resourceTypeList(value) { this._resourceTypeList = value; } resetResourceTypeList() { this._resourceTypeList = undefined; } // Temporarily expose input value. Use with caution. get resourceTypeListInput() { return this._resourceTypeList; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } get excludeMap() { return this._excludeMap; } putExcludeMap(value) { this._excludeMap.internalValue = value; } resetExcludeMap() { this._excludeMap.internalValue = undefined; } // Temporarily expose input value. Use with caution. get excludeMapInput() { return this._excludeMap.internalValue; } get includeMap() { return this._includeMap; } putIncludeMap(value) { this._includeMap.internalValue = value; } resetIncludeMap() { this._includeMap.internalValue = undefined; } // Temporarily expose input value. Use with caution. get includeMapInput() { return this._includeMap.internalValue; } get securityServicePolicyData() { return this._securityServicePolicyData; } putSecurityServicePolicyData(value) { this._securityServicePolicyData.internalValue = value; } // Temporarily expose input value. Use with caution. get securityServicePolicyDataInput() { return this._securityServicePolicyData.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { delete_all_policy_resources: cdktf.booleanToTerraform(this._deleteAllPolicyResources), delete_unused_fm_managed_resources: cdktf.booleanToTerraform(this._deleteUnusedFmManagedResources), description: cdktf.stringToTerraform(this._description), exclude_resource_tags: cdktf.booleanToTerraform(this._excludeResourceTags), id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), remediation_enabled: cdktf.booleanToTerraform(this._remediationEnabled), resource_set_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._resourceSetIds), resource_tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._resourceTags), resource_type: cdktf.stringToTerraform(this._resourceType), resource_type_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._resourceTypeList), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), exclude_map: fmsPolicyExcludeMapToTerraform(this._excludeMap.internalValue), include_map: fmsPolicyIncludeMapToTerraform(this._includeMap.internalValue), security_service_policy_data: fmsPolicySecurityServicePolicyDataToTerraform(this._securityServicePolicyData.internalValue), }; } synthesizeHclAttributes() { const attrs = { delete_all_policy_resources: { value: cdktf.booleanToHclTerraform(this._deleteAllPolicyResources), isBlock: false, type: "simple", storageClassType: "boolean", }, delete_unused_fm_managed_resources: { value: cdktf.booleanToHclTerraform(this._deleteUnusedFmManagedResources), isBlock: false, type: "simple", storageClassType: "boolean", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, exclude_resource_tags: { value: cdktf.booleanToHclTerraform(this._excludeResourceTags), isBlock: false, type: "simple", storageClassType: "boolean", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, remediation_enabled: { value: cdktf.booleanToHclTerraform(this._remediationEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, resource_set_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._resourceSetIds), isBlock: false, type: "set", storageClassType: "stringList", }, resource_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._resourceTags), isBlock: false, type: "map", storageClassType: "stringMap", }, resource_type: { value: cdktf.stringToHclTerraform(this._resourceType), isBlock: false, type: "simple", storageClassType: "string", }, resource_type_list: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._resourceTypeList), isBlock: false, type: "set", storageClassType: "stringList", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, exclude_map: { value: fmsPolicyExcludeMapToHclTerraform(this._excludeMap.internalValue), isBlock: true, type: "list", storageClassType: "FmsPolicyExcludeMapList", }, include_map: { value: fmsPolicyIncludeMapToHclTerraform(this._includeMap.internalValue), isBlock: true, type: "list", storageClassType: "FmsPolicyIncludeMapList", }, security_service_policy_data: { value: fmsPolicySecurityServicePolicyDataToHclTerraform(this._securityServicePolicyData.internalValue), isBlock: true, type: "list", storageClassType: "FmsPolicySecurityServicePolicyDataList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.FmsPolicy = FmsPolicy; _g = JSII_RTTI_SYMBOL_1; FmsPolicy[_g] = { fqn: "@cdktf/provider-aws.fmsPolicy.FmsPolicy", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= FmsPolicy.tfResourceType = "aws_fms_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm1zLXBvbGljeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQTBGL0IsU0FBZ0IsOEJBQThCLENBQUMsTUFBaUU7SUFDOUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1FBQzFFLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO0tBQzNFLENBQUE7QUFDSCxDQUFDO0FBVEQsd0VBU0M7QUFHRCxTQUFnQixpQ0FBaUMsQ0FBQyxNQUFpRTtJQUNqSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxN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