UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

919 lines (918 loc) 806 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10; Object.defineProperty(exports, "__esModule", { value: true }); exports.AutoscalingGroup = exports.AutoscalingGroupWarmPoolOutputReference = exports.AutoscalingGroupWarmPoolInstanceReusePolicyOutputReference = exports.AutoscalingGroupTrafficSourceList = exports.AutoscalingGroupTrafficSourceOutputReference = exports.AutoscalingGroupTimeoutsOutputReference = exports.AutoscalingGroupTagList = exports.AutoscalingGroupTagOutputReference = exports.AutoscalingGroupMixedInstancesPolicyOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideList = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountOutputReference = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputReference = exports.AutoscalingGroupMixedInstancesPolicyInstancesDistributionOutputReference = exports.AutoscalingGroupLaunchTemplateOutputReference = exports.AutoscalingGroupInstanceRefreshOutputReference = exports.AutoscalingGroupInstanceRefreshPreferencesOutputReference = exports.AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference = exports.AutoscalingGroupInstanceMaintenancePolicyOutputReference = exports.AutoscalingGroupInitialLifecycleHookList = exports.AutoscalingGroupInitialLifecycleHookOutputReference = exports.AutoscalingGroupCapacityReservationSpecificationOutputReference = exports.AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference = exports.AutoscalingGroupAvailabilityZoneDistributionOutputReference = void 0; exports.autoscalingGroupAvailabilityZoneDistributionToTerraform = autoscalingGroupAvailabilityZoneDistributionToTerraform; exports.autoscalingGroupAvailabilityZoneDistributionToHclTerraform = autoscalingGroupAvailabilityZoneDistributionToHclTerraform; exports.autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToTerraform = autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToTerraform; exports.autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToHclTerraform = autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToHclTerraform; exports.autoscalingGroupCapacityReservationSpecificationToTerraform = autoscalingGroupCapacityReservationSpecificationToTerraform; exports.autoscalingGroupCapacityReservationSpecificationToHclTerraform = autoscalingGroupCapacityReservationSpecificationToHclTerraform; exports.autoscalingGroupInitialLifecycleHookToTerraform = autoscalingGroupInitialLifecycleHookToTerraform; exports.autoscalingGroupInitialLifecycleHookToHclTerraform = autoscalingGroupInitialLifecycleHookToHclTerraform; exports.autoscalingGroupInstanceMaintenancePolicyToTerraform = autoscalingGroupInstanceMaintenancePolicyToTerraform; exports.autoscalingGroupInstanceMaintenancePolicyToHclTerraform = autoscalingGroupInstanceMaintenancePolicyToHclTerraform; exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform = autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform; exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform = autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform; exports.autoscalingGroupInstanceRefreshPreferencesToTerraform = autoscalingGroupInstanceRefreshPreferencesToTerraform; exports.autoscalingGroupInstanceRefreshPreferencesToHclTerraform = autoscalingGroupInstanceRefreshPreferencesToHclTerraform; exports.autoscalingGroupInstanceRefreshToTerraform = autoscalingGroupInstanceRefreshToTerraform; exports.autoscalingGroupInstanceRefreshToHclTerraform = autoscalingGroupInstanceRefreshToHclTerraform; exports.autoscalingGroupLaunchTemplateToTerraform = autoscalingGroupLaunchTemplateToTerraform; exports.autoscalingGroupLaunchTemplateToHclTerraform = autoscalingGroupLaunchTemplateToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyInstancesDistributionToTerraform = autoscalingGroupMixedInstancesPolicyInstancesDistributionToTerraform; exports.autoscalingGroupMixedInstancesPolicyInstancesDistributionToHclTerraform = autoscalingGroupMixedInstancesPolicyInstancesDistributionToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateToTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateToTerraform; exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateToHclTerraform = autoscalingGroupMixedInstancesPolicyLaunchTemplateToHclTerraform; exports.autoscalingGroupMixedInstancesPolicyToTerraform = autoscalingGroupMixedInstancesPolicyToTerraform; exports.autoscalingGroupMixedInstancesPolicyToHclTerraform = autoscalingGroupMixedInstancesPolicyToHclTerraform; exports.autoscalingGroupTagToTerraform = autoscalingGroupTagToTerraform; exports.autoscalingGroupTagToHclTerraform = autoscalingGroupTagToHclTerraform; exports.autoscalingGroupTimeoutsToTerraform = autoscalingGroupTimeoutsToTerraform; exports.autoscalingGroupTimeoutsToHclTerraform = autoscalingGroupTimeoutsToHclTerraform; exports.autoscalingGroupTrafficSourceToTerraform = autoscalingGroupTrafficSourceToTerraform; exports.autoscalingGroupTrafficSourceToHclTerraform = autoscalingGroupTrafficSourceToHclTerraform; exports.autoscalingGroupWarmPoolInstanceReusePolicyToTerraform = autoscalingGroupWarmPoolInstanceReusePolicyToTerraform; exports.autoscalingGroupWarmPoolInstanceReusePolicyToHclTerraform = autoscalingGroupWarmPoolInstanceReusePolicyToHclTerraform; exports.autoscalingGroupWarmPoolToTerraform = autoscalingGroupWarmPoolToTerraform; exports.autoscalingGroupWarmPoolToHclTerraform = autoscalingGroupWarmPoolToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function autoscalingGroupAvailabilityZoneDistributionToTerraform(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 { capacity_distribution_strategy: cdktf.stringToTerraform(struct.capacityDistributionStrategy), }; } function autoscalingGroupAvailabilityZoneDistributionToHclTerraform(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 = { capacity_distribution_strategy: { value: cdktf.stringToHclTerraform(struct.capacityDistributionStrategy), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupAvailabilityZoneDistributionOutputReference 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._capacityDistributionStrategy !== undefined) { hasAnyValues = true; internalValueResult.capacityDistributionStrategy = this._capacityDistributionStrategy; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._capacityDistributionStrategy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._capacityDistributionStrategy = value.capacityDistributionStrategy; } } get capacityDistributionStrategy() { return this.getStringAttribute('capacity_distribution_strategy'); } set capacityDistributionStrategy(value) { this._capacityDistributionStrategy = value; } resetCapacityDistributionStrategy() { this._capacityDistributionStrategy = undefined; } // Temporarily expose input value. Use with caution. get capacityDistributionStrategyInput() { return this._capacityDistributionStrategy; } } exports.AutoscalingGroupAvailabilityZoneDistributionOutputReference = AutoscalingGroupAvailabilityZoneDistributionOutputReference; _a = JSII_RTTI_SYMBOL_1; AutoscalingGroupAvailabilityZoneDistributionOutputReference[_a] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupAvailabilityZoneDistributionOutputReference", version: "21.22.1" }; function autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToTerraform(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 { capacity_reservation_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.capacityReservationIds), capacity_reservation_resource_group_arns: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.capacityReservationResourceGroupArns), }; } function autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(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 = { capacity_reservation_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.capacityReservationIds), isBlock: false, type: "list", storageClassType: "stringList", }, capacity_reservation_resource_group_arns: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.capacityReservationResourceGroupArns), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference 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._capacityReservationIds !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationIds = this._capacityReservationIds; } if (this._capacityReservationResourceGroupArns !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationResourceGroupArns = this._capacityReservationResourceGroupArns; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._capacityReservationIds = undefined; this._capacityReservationResourceGroupArns = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._capacityReservationIds = value.capacityReservationIds; this._capacityReservationResourceGroupArns = value.capacityReservationResourceGroupArns; } } get capacityReservationIds() { return this.getListAttribute('capacity_reservation_ids'); } set capacityReservationIds(value) { this._capacityReservationIds = value; } resetCapacityReservationIds() { this._capacityReservationIds = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationIdsInput() { return this._capacityReservationIds; } get capacityReservationResourceGroupArns() { return this.getListAttribute('capacity_reservation_resource_group_arns'); } set capacityReservationResourceGroupArns(value) { this._capacityReservationResourceGroupArns = value; } resetCapacityReservationResourceGroupArns() { this._capacityReservationResourceGroupArns = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationResourceGroupArnsInput() { return this._capacityReservationResourceGroupArns; } } exports.AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference = AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference; _b = JSII_RTTI_SYMBOL_1; AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference[_b] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference", version: "21.22.1" }; function autoscalingGroupCapacityReservationSpecificationToTerraform(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 { capacity_reservation_preference: cdktf.stringToTerraform(struct.capacityReservationPreference), capacity_reservation_target: autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToTerraform(struct.capacityReservationTarget), }; } function autoscalingGroupCapacityReservationSpecificationToHclTerraform(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 = { capacity_reservation_preference: { value: cdktf.stringToHclTerraform(struct.capacityReservationPreference), isBlock: false, type: "simple", storageClassType: "string", }, capacity_reservation_target: { value: autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(struct.capacityReservationTarget), isBlock: true, type: "list", storageClassType: "AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupCapacityReservationSpecificationOutputReference 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; // capacity_reservation_target - computed: false, optional: true, required: false this._capacityReservationTarget = new AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference(this, "capacity_reservation_target"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._capacityReservationPreference !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationPreference = this._capacityReservationPreference; } if (this._capacityReservationTarget?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationTarget = this._capacityReservationTarget?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._capacityReservationPreference = undefined; this._capacityReservationTarget.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._capacityReservationPreference = value.capacityReservationPreference; this._capacityReservationTarget.internalValue = value.capacityReservationTarget; } } get capacityReservationPreference() { return this.getStringAttribute('capacity_reservation_preference'); } set capacityReservationPreference(value) { this._capacityReservationPreference = value; } resetCapacityReservationPreference() { this._capacityReservationPreference = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationPreferenceInput() { return this._capacityReservationPreference; } get capacityReservationTarget() { return this._capacityReservationTarget; } putCapacityReservationTarget(value) { this._capacityReservationTarget.internalValue = value; } resetCapacityReservationTarget() { this._capacityReservationTarget.internalValue = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationTargetInput() { return this._capacityReservationTarget.internalValue; } } exports.AutoscalingGroupCapacityReservationSpecificationOutputReference = AutoscalingGroupCapacityReservationSpecificationOutputReference; _c = JSII_RTTI_SYMBOL_1; AutoscalingGroupCapacityReservationSpecificationOutputReference[_c] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupCapacityReservationSpecificationOutputReference", version: "21.22.1" }; function autoscalingGroupInitialLifecycleHookToTerraform(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 { default_result: cdktf.stringToTerraform(struct.defaultResult), heartbeat_timeout: cdktf.numberToTerraform(struct.heartbeatTimeout), lifecycle_transition: cdktf.stringToTerraform(struct.lifecycleTransition), name: cdktf.stringToTerraform(struct.name), notification_metadata: cdktf.stringToTerraform(struct.notificationMetadata), notification_target_arn: cdktf.stringToTerraform(struct.notificationTargetArn), role_arn: cdktf.stringToTerraform(struct.roleArn), }; } function autoscalingGroupInitialLifecycleHookToHclTerraform(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 = { default_result: { value: cdktf.stringToHclTerraform(struct.defaultResult), isBlock: false, type: "simple", storageClassType: "string", }, heartbeat_timeout: { value: cdktf.numberToHclTerraform(struct.heartbeatTimeout), isBlock: false, type: "simple", storageClassType: "number", }, lifecycle_transition: { value: cdktf.stringToHclTerraform(struct.lifecycleTransition), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, notification_metadata: { value: cdktf.stringToHclTerraform(struct.notificationMetadata), isBlock: false, type: "simple", storageClassType: "string", }, notification_target_arn: { value: cdktf.stringToHclTerraform(struct.notificationTargetArn), isBlock: false, type: "simple", storageClassType: "string", }, role_arn: { value: cdktf.stringToHclTerraform(struct.roleArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupInitialLifecycleHookOutputReference 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._defaultResult !== undefined) { hasAnyValues = true; internalValueResult.defaultResult = this._defaultResult; } if (this._heartbeatTimeout !== undefined) { hasAnyValues = true; internalValueResult.heartbeatTimeout = this._heartbeatTimeout; } if (this._lifecycleTransition !== undefined) { hasAnyValues = true; internalValueResult.lifecycleTransition = this._lifecycleTransition; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._notificationMetadata !== undefined) { hasAnyValues = true; internalValueResult.notificationMetadata = this._notificationMetadata; } if (this._notificationTargetArn !== undefined) { hasAnyValues = true; internalValueResult.notificationTargetArn = this._notificationTargetArn; } if (this._roleArn !== undefined) { hasAnyValues = true; internalValueResult.roleArn = this._roleArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._defaultResult = undefined; this._heartbeatTimeout = undefined; this._lifecycleTransition = undefined; this._name = undefined; this._notificationMetadata = undefined; this._notificationTargetArn = undefined; this._roleArn = 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._defaultResult = value.defaultResult; this._heartbeatTimeout = value.heartbeatTimeout; this._lifecycleTransition = value.lifecycleTransition; this._name = value.name; this._notificationMetadata = value.notificationMetadata; this._notificationTargetArn = value.notificationTargetArn; this._roleArn = value.roleArn; } } get defaultResult() { return this.getStringAttribute('default_result'); } set defaultResult(value) { this._defaultResult = value; } resetDefaultResult() { this._defaultResult = undefined; } // Temporarily expose input value. Use with caution. get defaultResultInput() { return this._defaultResult; } get heartbeatTimeout() { return this.getNumberAttribute('heartbeat_timeout'); } set heartbeatTimeout(value) { this._heartbeatTimeout = value; } resetHeartbeatTimeout() { this._heartbeatTimeout = undefined; } // Temporarily expose input value. Use with caution. get heartbeatTimeoutInput() { return this._heartbeatTimeout; } get lifecycleTransition() { return this.getStringAttribute('lifecycle_transition'); } set lifecycleTransition(value) { this._lifecycleTransition = value; } // Temporarily expose input value. Use with caution. get lifecycleTransitionInput() { return this._lifecycleTransition; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get notificationMetadata() { return this.getStringAttribute('notification_metadata'); } set notificationMetadata(value) { this._notificationMetadata = value; } resetNotificationMetadata() { this._notificationMetadata = undefined; } // Temporarily expose input value. Use with caution. get notificationMetadataInput() { return this._notificationMetadata; } get notificationTargetArn() { return this.getStringAttribute('notification_target_arn'); } set notificationTargetArn(value) { this._notificationTargetArn = value; } resetNotificationTargetArn() { this._notificationTargetArn = undefined; } // Temporarily expose input value. Use with caution. get notificationTargetArnInput() { return this._notificationTargetArn; } get roleArn() { return this.getStringAttribute('role_arn'); } set roleArn(value) { this._roleArn = value; } resetRoleArn() { this._roleArn = undefined; } // Temporarily expose input value. Use with caution. get roleArnInput() { return this._roleArn; } } exports.AutoscalingGroupInitialLifecycleHookOutputReference = AutoscalingGroupInitialLifecycleHookOutputReference; _d = JSII_RTTI_SYMBOL_1; AutoscalingGroupInitialLifecycleHookOutputReference[_d] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInitialLifecycleHookOutputReference", version: "21.22.1" }; class AutoscalingGroupInitialLifecycleHookList 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 AutoscalingGroupInitialLifecycleHookOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AutoscalingGroupInitialLifecycleHookList = AutoscalingGroupInitialLifecycleHookList; _e = JSII_RTTI_SYMBOL_1; AutoscalingGroupInitialLifecycleHookList[_e] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInitialLifecycleHookList", version: "21.22.1" }; function autoscalingGroupInstanceMaintenancePolicyToTerraform(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 { max_healthy_percentage: cdktf.numberToTerraform(struct.maxHealthyPercentage), min_healthy_percentage: cdktf.numberToTerraform(struct.minHealthyPercentage), }; } function autoscalingGroupInstanceMaintenancePolicyToHclTerraform(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 = { max_healthy_percentage: { value: cdktf.numberToHclTerraform(struct.maxHealthyPercentage), isBlock: false, type: "simple", storageClassType: "number", }, min_healthy_percentage: { value: cdktf.numberToHclTerraform(struct.minHealthyPercentage), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupInstanceMaintenancePolicyOutputReference 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._maxHealthyPercentage !== undefined) { hasAnyValues = true; internalValueResult.maxHealthyPercentage = this._maxHealthyPercentage; } if (this._minHealthyPercentage !== undefined) { hasAnyValues = true; internalValueResult.minHealthyPercentage = this._minHealthyPercentage; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxHealthyPercentage = undefined; this._minHealthyPercentage = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxHealthyPercentage = value.maxHealthyPercentage; this._minHealthyPercentage = value.minHealthyPercentage; } } get maxHealthyPercentage() { return this.getNumberAttribute('max_healthy_percentage'); } set maxHealthyPercentage(value) { this._maxHealthyPercentage = value; } // Temporarily expose input value. Use with caution. get maxHealthyPercentageInput() { return this._maxHealthyPercentage; } get minHealthyPercentage() { return this.getNumberAttribute('min_healthy_percentage'); } set minHealthyPercentage(value) { this._minHealthyPercentage = value; } // Temporarily expose input value. Use with caution. get minHealthyPercentageInput() { return this._minHealthyPercentage; } } exports.AutoscalingGroupInstanceMaintenancePolicyOutputReference = AutoscalingGroupInstanceMaintenancePolicyOutputReference; _f = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceMaintenancePolicyOutputReference[_f] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceMaintenancePolicyOutputReference", version: "21.22.1" }; function autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform(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 { alarms: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.alarms), }; } function autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform(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 = { alarms: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.alarms), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference 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._alarms !== undefined) { hasAnyValues = true; internalValueResult.alarms = this._alarms; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._alarms = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._alarms = value.alarms; } } get alarms() { return this.getListAttribute('alarms'); } set alarms(value) { this._alarms = value; } resetAlarms() { this._alarms = undefined; } // Temporarily expose input value. Use with caution. get alarmsInput() { return this._alarms; } } exports.AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference = AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference; _g = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference[_g] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference", version: "21.22.1" }; function autoscalingGroupInstanceRefreshPreferencesToTerraform(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 { auto_rollback: cdktf.booleanToTerraform(struct.autoRollback), checkpoint_delay: cdktf.stringToTerraform(struct.checkpointDelay), checkpoint_percentages: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.checkpointPercentages), instance_warmup: cdktf.stringToTerraform(struct.instanceWarmup), max_healthy_percentage: cdktf.numberToTerraform(struct.maxHealthyPercentage), min_healthy_percentage: cdktf.numberToTerraform(struct.minHealthyPercentage), scale_in_protected_instances: cdktf.stringToTerraform(struct.scaleInProtectedInstances), skip_matching: cdktf.booleanToTerraform(struct.skipMatching), standby_instances: cdktf.stringToTerraform(struct.standbyInstances), alarm_specification: autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform(struct.alarmSpecification), }; } function autoscalingGroupInstanceRefreshPreferencesToHclTerraform(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 = { auto_rollback: { value: cdktf.booleanToHclTerraform(struct.autoRollback), isBlock: false, type: "simple", storageClassType: "boolean", }, checkpoint_delay: { value: cdktf.stringToHclTerraform(struct.checkpointDelay), isBlock: false, type: "simple", storageClassType: "string", }, checkpoint_percentages: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.checkpointPercentages), isBlock: false, type: "list", storageClassType: "numberList", }, instance_warmup: { value: cdktf.stringToHclTerraform(struct.instanceWarmup), isBlock: false, type: "simple", storageClassType: "string", }, max_healthy_percentage: { value: cdktf.numberToHclTerraform(struct.maxHealthyPercentage), isBlock: false, type: "simple", storageClassType: "number", }, min_healthy_percentage: { value: cdktf.numberToHclTerraform(struct.minHealthyPercentage), isBlock: false, type: "simple", storageClassType: "number", }, scale_in_protected_instances: { value: cdktf.stringToHclTerraform(struct.scaleInProtectedInstances), isBlock: false, type: "simple", storageClassType: "string", }, skip_matching: { value: cdktf.booleanToHclTerraform(struct.skipMatching), isBlock: false, type: "simple", storageClassType: "boolean", }, standby_instances: { value: cdktf.stringToHclTerraform(struct.standbyInstances), isBlock: false, type: "simple", storageClassType: "string", }, alarm_specification: { value: autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform(struct.alarmSpecification), isBlock: true, type: "list", storageClassType: "AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AutoscalingGroupInstanceRefreshPreferencesOutputReference 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; // alarm_specification - computed: false, optional: true, required: false this._alarmSpecification = new AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference(this, "alarm_specification"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._autoRollback !== undefined) { hasAnyValues = true; internalValueResult.autoRollback = this._autoRollback; } if (this._checkpointDelay !== undefined) { hasAnyValues = true; internalValueResult.checkpointDelay = this._checkpointDelay; } if (this._checkpointPercentages !== undefined) { hasAnyValues = true; internalValueResult.checkpointPercentages = this._checkpointPercentages; } if (this._instanceWarmup !== undefined) { hasAnyValues = true; internalValueResult.instanceWarmup = this._instanceWarmup; } if (this._maxHealthyPercentage !== undefined) { hasAnyValues = true; internalValueResult.maxHealthyPercentage = this._maxHealthyPercentage; } if (this._minHealthyPercentage !== undefined) { hasAnyValues = true; internalValueResult.minHealthyPercentage = this._minHealthyPercentage; } if (this._scaleInProtectedInstances !== undefined) { hasAnyValues = true; internalValueResult.scaleInProtectedInstances = this._scaleInProtectedInstances; } if (this._skipMatching !== undefined) { hasAnyValues = true; internalValueResult.skipMatching = this._skipMatching; } if (this._standbyInstances !== undefined) { hasAnyValues = true; internalValueResult.standbyInstances = this._standbyInstances; } if (this._alarmSpecification?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.alarmSpecification = this._alarmSpecification?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false;