UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

834 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.cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigOutputReference = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigOutputReference = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigList = exports.CloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigOutputReference = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform = exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform = exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesList = exports.CloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesOutputReference = exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform = exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform = void 0; 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), }; } exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform = cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToTerraform; 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)); } exports.cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform = cloudfrontContinuousDeploymentPolicyStagingDistributionDnsNamesToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToTerraform; 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)); } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToTerraform; 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)); } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToTerraform; 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)); } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigSingleWeightConfigToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigToTerraform; 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)); } exports.cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform = cloudfrontContinuousDeploymentPolicyTrafficConfigToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '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 }); // 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; } 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: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= CloudfrontContinuousDeploymentPolicy.tfResourceType = "aws_cloudfront_continuous_deployment_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWRmcm9udC1jb250aW51b3VzLWRlcGxveW1lbnQtcG9saWN5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBaUMvQixTQUFnQiwwRUFBMEUsQ0FBQyxNQUE0RjtJQUNyTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsUUFBUSxDQUFDO0tBQ3BELENBQUE7QUFDSCxDQUFDO0FBVEQsZ0tBU0M7QUFHRCxTQUFnQiw2RUFBNkUsQ0FBQyxNQUE0RjtJQUN4TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtB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