UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

841 lines 130 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudfrontContinuousDeploymentPolicy = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference = exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList = exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference = void 0; exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform = cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform; exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform = cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform; exports.cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform(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 { items: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.items), quantity: cdktf.numberToTerraform(struct.quantity), }; } function cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform(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 = { items: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.items), isBlock: false, type: "set", storageClassType: "stringList", }, quantity: { value: cdktf.numberToHclTerraform(struct.quantity), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._items !== undefined) { hasAnyValues = true; internalValueResult.items = this._items; } if (this._quantity !== undefined) { hasAnyValues = true; internalValueResult.quantity = this._quantity; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._items = undefined; this._quantity = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._items = value.items; this._quantity = value.quantity; } } get items() { return cdktf.Fn.tolist(this.getListAttribute('items')); } set items(value) { this._items = value; } resetItems() { this._items = undefined; } // Temporarily expose input value. Use with caution. get itemsInput() { return this._items; } get quantity() { return this.getNumberAttribute('quantity'); } set quantity(value) { this._quantity = value; } // Temporarily expose input value. Use with caution. get quantityInput() { return this._quantity; } } exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference = CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference; _a = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference[_a] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference", version: "21.22.1" }; class CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList = CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList; _b = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList[_b] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList", version: "21.22.1" }; function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform(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 { header: cdktf.stringToTerraform(struct.header), value: cdktf.stringToTerraform(struct.value), }; } function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform(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 = { header: { value: cdktf.stringToHclTerraform(struct.header), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._header !== undefined) { hasAnyValues = true; internalValueResult.header = this._header; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._header = undefined; this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._header = value.header; this._value = value.value; } } get header() { return this.getStringAttribute('header'); } set header(value) { this._header = value; } // Temporarily expose input value. Use with caution. get headerInput() { return this._header; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference; _c = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference[_c] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference", version: "21.22.1" }; class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList; _d = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList[_d] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList", version: "21.22.1" }; function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform(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 { idle_ttl: cdktf.numberToTerraform(struct.idleTtl), maximum_ttl: cdktf.numberToTerraform(struct.maximumTtl), }; } function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform(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 = { idle_ttl: { value: cdktf.numberToHclTerraform(struct.idleTtl), isBlock: false, type: "simple", storageClassType: "number", }, maximum_ttl: { value: cdktf.numberToHclTerraform(struct.maximumTtl), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._idleTtl !== undefined) { hasAnyValues = true; internalValueResult.idleTtl = this._idleTtl; } if (this._maximumTtl !== undefined) { hasAnyValues = true; internalValueResult.maximumTtl = this._maximumTtl; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._idleTtl = undefined; this._maximumTtl = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._idleTtl = value.idleTtl; this._maximumTtl = value.maximumTtl; } } get idleTtl() { return this.getNumberAttribute('idle_ttl'); } set idleTtl(value) { this._idleTtl = value; } // Temporarily expose input value. Use with caution. get idleTtlInput() { return this._idleTtl; } get maximumTtl() { return this.getNumberAttribute('maximum_ttl'); } set maximumTtl(value) { this._maximumTtl = value; } // Temporarily expose input value. Use with caution. get maximumTtlInput() { return this._maximumTtl; } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference; _e = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference[_e] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference", version: "21.22.1" }; class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList; _f = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList[_f] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList", version: "21.22.1" }; function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform(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 { weight: cdktf.numberToTerraform(struct.weight), session_stickiness_config: cdktf.listMapper(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform, true)(struct.sessionStickinessConfig), }; } function cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform(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 = { weight: { value: cdktf.numberToHclTerraform(struct.weight), isBlock: false, type: "simple", storageClassType: "number", }, session_stickiness_config: { value: cdktf.listMapperHcl(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform, true)(struct.sessionStickinessConfig), isBlock: true, type: "list", storageClassType: "CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // session_stickiness_config - computed: false, optional: true, required: false this._sessionStickinessConfig = new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList(this, "session_stickiness_config", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._weight !== undefined) { hasAnyValues = true; internalValueResult.weight = this._weight; } if (this._sessionStickinessConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sessionStickinessConfig = this._sessionStickinessConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._weight = undefined; this._sessionStickinessConfig.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._weight = value.weight; this._sessionStickinessConfig.internalValue = value.sessionStickinessConfig; } } get weight() { return this.getNumberAttribute('weight'); } set weight(value) { this._weight = value; } // Temporarily expose input value. Use with caution. get weightInput() { return this._weight; } get sessionStickinessConfig() { return this._sessionStickinessConfig; } putSessionStickinessConfig(value) { this._sessionStickinessConfig.internalValue = value; } resetSessionStickinessConfig() { this._sessionStickinessConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sessionStickinessConfigInput() { return this._sessionStickinessConfig.internalValue; } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference[_g] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference", version: "21.22.1" }; class CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList = CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList; _h = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList[_h] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList", version: "21.22.1" }; function cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform(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 { type: cdktf.stringToTerraform(struct.type), single_header_config: cdktf.listMapper(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform, true)(struct.singleHeaderConfig), single_weight_config: cdktf.listMapper(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform, true)(struct.singleWeightConfig), }; } function cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform(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 = { type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, single_header_config: { value: cdktf.listMapperHcl(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform, true)(struct.singleHeaderConfig), isBlock: true, type: "list", storageClassType: "CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList", }, single_weight_config: { value: cdktf.listMapperHcl(cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform, true)(struct.singleWeightConfig), isBlock: true, type: "list", storageClassType: "CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // single_header_config - computed: false, optional: true, required: false this._singleHeaderConfig = new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList(this, "single_header_config", false); // single_weight_config - computed: false, optional: true, required: false this._singleWeightConfig = new CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList(this, "single_weight_config", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._singleHeaderConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.singleHeaderConfig = this._singleHeaderConfig?.internalValue; } if (this._singleWeightConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.singleWeightConfig = this._singleWeightConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._type = undefined; this._singleHeaderConfig.internalValue = undefined; this._singleWeightConfig.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._type = value.type; this._singleHeaderConfig.internalValue = value.singleHeaderConfig; this._singleWeightConfig.internalValue = value.singleWeightConfig; } } 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 singleHeaderConfig() { return this._singleHeaderConfig; } putSingleHeaderConfig(value) { this._singleHeaderConfig.internalValue = value; } resetSingleHeaderConfig() { this._singleHeaderConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get singleHeaderConfigInput() { return this._singleHeaderConfig.internalValue; } get singleWeightConfig() { return this._singleWeightConfig; } putSingleWeightConfig(value) { this._singleWeightConfig.internalValue = value; } resetSingleWeightConfig() { this._singleWeightConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get singleWeightConfigInput() { return this._singleWeightConfig.internalValue; } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference = CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference; _j = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference[_j] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference", version: "21.22.1" }; class CloudfrontContinuousDeploymentPolicyTrafficConfigList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudfrontContinuousDeploymentPolicyTrafficConfigOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfrontContinuousDeploymentPolicyTrafficConfigList = CloudfrontContinuousDeploymentPolicyTrafficConfigList; _k = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicyTrafficConfigList[_k] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicyTrafficConfigList", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_continuous_deployment_policy aws_cloudfront_continuous_deployment_policy} */ class CloudfrontContinuousDeploymentPolicy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CloudfrontContinuousDeploymentPolicy 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 CloudfrontContinuousDeploymentPolicy to import * @param importFromId The id of the existing CloudfrontContinuousDeploymentPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_continuous_deployment_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudfrontContinuousDeploymentPolicy to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_cloudfront_continuous_deployment_policy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_continuous_deployment_policy aws_cloudfront_continuous_deployment_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 CloudfrontContinuousDeploymentPolicyConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_cloudfront_continuous_deployment_policy', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // staging_distribution_dns_names - computed: false, optional: true, required: false this._stagingDistributionDnsNames = new CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList(this, "staging_distribution_dns_names", false); // traffic_config - computed: false, optional: true, required: false this._trafficConfig = new CloudfrontContinuousDeploymentPolicyTrafficConfigList(this, "traffic_config", false); this._enabled = config.enabled; this._stagingDistributionDnsNames.internalValue = config.stagingDistributionDnsNames; this._trafficConfig.internalValue = config.trafficConfig; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } // etag - computed: true, optional: false, required: false get etag() { return this.getStringAttribute('etag'); } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } // last_modified_time - computed: true, optional: false, required: false get lastModifiedTime() { return this.getStringAttribute('last_modified_time'); } get stagingDistributionDnsNames() { return this._stagingDistributionDnsNames; } putStagingDistributionDnsNames(value) { this._stagingDistributionDnsNames.internalValue = value; } resetStagingDistributionDnsNames() { this._stagingDistributionDnsNames.internalValue = undefined; } // Temporarily expose input value. Use with caution. get stagingDistributionDnsNamesInput() { return this._stagingDistributionDnsNames.internalValue; } get trafficConfig() { return this._trafficConfig; } putTrafficConfig(value) { this._trafficConfig.internalValue = value; } resetTrafficConfig() { this._trafficConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get trafficConfigInput() { return this._trafficConfig.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { enabled: cdktf.booleanToTerraform(this._enabled), staging_distribution_dns_names: cdktf.listMapper(cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform, true)(this._stagingDistributionDnsNames.internalValue), traffic_config: cdktf.listMapper(cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform, true)(this._trafficConfig.internalValue), }; } synthesizeHclAttributes() { const attrs = { enabled: { value: cdktf.booleanToHclTerraform(this._enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, staging_distribution_dns_names: { value: cdktf.listMapperHcl(cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform, true)(this._stagingDistributionDnsNames.internalValue), isBlock: true, type: "list", storageClassType: "CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList", }, traffic_config: { value: cdktf.listMapperHcl(cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform, true)(this._trafficConfig.internalValue), isBlock: true, type: "list", storageClassType: "CloudfrontContinuousDeploymentPolicyTrafficConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.CloudfrontContinuousDeploymentPolicy = CloudfrontContinuousDeploymentPolicy; _l = JSII_RTTI_SYMBOL_1; CloudfrontContinuousDeploymentPolicy[_l] = { fqn: "@cdktf/provider-aws.cloudfrontContinuousDeploymentPolicy.CloudfrontContinuousDeploymentPolicy", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= CloudfrontContinuousDeploymentPolicy.tfResourceType = "aws_cloudfront_continuous_deployment_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWRmcm9udC1jb250aW51b3VzLWRlcGxveW1lbnQtcG9saWN5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUEwQ0EsZ0tBU0M7QUFHRCxzS0FzQkM7QUFnSEQsd0tBU0M7QUFHRCw4S0FzQkM7QUE2R0Qsc05BU0M7QUFHRCw0TkFzQkM7QUErR0Qsd0tBU0M7QUFHRCw4S0FzQkM7QUF3SEQsb0lBVUM7QUFHRCwwSUE0QkM7O0FBdHBCRCwrQkFBK0I7QUFpQy9CLFNBQWdCLDBFQUEwRSxDQUFDLE1BQTRGO0lBQ3JMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLEtBQUssQ0FBQztRQUN0RSxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDcEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw2RUFBNkUsQ0FBQyxNQUE0RjtJQUN4TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElB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