UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,026 lines 769 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToTerraform = exports.AutoscalingGroupMixedInstancesPolicyInstancesDistributionOutputReference = exports.autoscalingGroupMixedInstancesPolicyInstancesDistributionToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyInstancesDistributionToTerraform = exports.AutoscalingGroupLaunchTemplateOutputReference = exports.autoscalingGroupLaunchTemplateToHclTerraform = exports.autoscalingGroupLaunchTemplateToTerraform = exports.AutoscalingGroupInstanceRefreshOutputReference = exports.autoscalingGroupInstanceRefreshToHclTerraform = exports.autoscalingGroupInstanceRefreshToTerraform = exports.AutoscalingGroupInstanceRefreshPreferencesOutputReference = exports.autoscalingGroupInstanceRefreshPreferencesToHclTerraform = exports.autoscalingGroupInstanceRefreshPreferencesToTerraform = exports.AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference = exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform = exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform = exports.AutoscalingGroupInstanceMaintenancePolicyOutputReference = exports.autoscalingGroupInstanceMaintenancePolicyToHclTerraform = exports.autoscalingGroupInstanceMaintenancePolicyToTerraform = exports.AutoscalingGroupInitialLifecycleHookList = exports.AutoscalingGroupInitialLifecycleHookOutputReference = exports.autoscalingGroupInitialLifecycleHookToHclTerraform = exports.autoscalingGroupInitialLifecycleHookToTerraform = exports.AutoscalingGroupAvailabilityZoneDistributionOutputReference = exports.autoscalingGroupAvailabilityZoneDistributionToHclTerraform = exports.autoscalingGroupAvailabilityZoneDistributionToTerraform = void 0; exports.AutoscalingGroup = exports.AutoscalingGroupWarmPoolOutputReference = exports.autoscalingGroupWarmPoolToHclTerraform = exports.autoscalingGroupWarmPoolToTerraform = exports.AutoscalingGroupWarmPoolInstanceReusePolicyOutputReference = exports.autoscalingGroupWarmPoolInstanceReusePolicyToHclTerraform = exports.autoscalingGroupWarmPoolInstanceReusePolicyToTerraform = exports.AutoscalingGroupTrafficSourceList = exports.AutoscalingGroupTrafficSourceOutputReference = exports.autoscalingGroupTrafficSourceToHclTerraform = exports.autoscalingGroupTrafficSourceToTerraform = exports.AutoscalingGroupTimeoutsOutputReference = exports.autoscalingGroupTimeoutsToHclTerraform = exports.autoscalingGroupTimeoutsToTerraform = exports.AutoscalingGroupTagList = exports.AutoscalingGroupTagOutputReference = exports.autoscalingGroupTagToHclTerraform = exports.autoscalingGroupTagToTerraform = exports.AutoscalingGroupMixedInstancesPolicyOutputReference = exports.autoscalingGroupMixedInstancesPolicyToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideList = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToHclTerraform = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountToTerraform = exports.AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbOutputReference = exports.autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbToHclTerraform = void 0; 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), }; } exports.autoscalingGroupAvailabilityZoneDistributionToTerraform = autoscalingGroupAvailabilityZoneDistributionToTerraform; 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)); } exports.autoscalingGroupAvailabilityZoneDistributionToHclTerraform = autoscalingGroupAvailabilityZoneDistributionToHclTerraform; 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: "19.50.0" }; 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), }; } exports.autoscalingGroupInitialLifecycleHookToTerraform = autoscalingGroupInitialLifecycleHookToTerraform; 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)); } exports.autoscalingGroupInitialLifecycleHookToHclTerraform = autoscalingGroupInitialLifecycleHookToHclTerraform; 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; _b = JSII_RTTI_SYMBOL_1; AutoscalingGroupInitialLifecycleHookOutputReference[_b] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInitialLifecycleHookOutputReference", version: "19.50.0" }; 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; _c = JSII_RTTI_SYMBOL_1; AutoscalingGroupInitialLifecycleHookList[_c] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInitialLifecycleHookList", version: "19.50.0" }; 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), }; } exports.autoscalingGroupInstanceMaintenancePolicyToTerraform = autoscalingGroupInstanceMaintenancePolicyToTerraform; 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)); } exports.autoscalingGroupInstanceMaintenancePolicyToHclTerraform = autoscalingGroupInstanceMaintenancePolicyToHclTerraform; 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; _d = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceMaintenancePolicyOutputReference[_d] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceMaintenancePolicyOutputReference", version: "19.50.0" }; 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), }; } exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform = autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform; 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)); } exports.autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform = autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform; 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; _e = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference[_e] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference", version: "19.50.0" }; 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), }; } exports.autoscalingGroupInstanceRefreshPreferencesToTerraform = autoscalingGroupInstanceRefreshPreferencesToTerraform; 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)); } exports.autoscalingGroupInstanceRefreshPreferencesToHclTerraform = autoscalingGroupInstanceRefreshPreferencesToHclTerraform; 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; this._autoRollback = undefined; this._checkpointDelay = undefined; this._checkpointPercentages = undefined; this._instanceWarmup = undefined; this._maxHealthyPercentage = undefined; this._minHealthyPercentage = undefined; this._scaleInProtectedInstances = undefined; this._skipMatching = undefined; this._standbyInstances = undefined; this._alarmSpecification.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._autoRollback = value.autoRollback; this._checkpointDelay = value.checkpointDelay; this._checkpointPercentages = value.checkpointPercentages; this._instanceWarmup = value.instanceWarmup; this._maxHealthyPercentage = value.maxHealthyPercentage; this._minHealthyPercentage = value.minHealthyPercentage; this._scaleInProtectedInstances = value.scaleInProtectedInstances; this._skipMatching = value.skipMatching; this._standbyInstances = value.standbyInstances; this._alarmSpecification.internalValue = value.alarmSpecification; } } get autoRollback() { return this.getBooleanAttribute('auto_rollback'); } set autoRollback(value) { this._autoRollback = value; } resetAutoRollback() { this._autoRollback = undefined; } // Temporarily expose input value. Use with caution. get autoRollbackInput() { return this._autoRollback; } get checkpointDelay() { return this.getStringAttribute('checkpoint_delay'); } set checkpointDelay(value) { this._checkpointDelay = value; } resetCheckpointDelay() { this._checkpointDelay = undefined; } // Temporarily expose input value. Use with caution. get checkpointDelayInput() { return this._checkpointDelay; } get checkpointPercentages() { return this.getNumberListAttribute('checkpoint_percentages'); } set checkpointPercentages(value) { this._checkpointPercentages = value; } resetCheckpointPercentages() { this._checkpointPercentages = undefined; } // Temporarily expose input value. Use with caution. get checkpointPercentagesInput() { return this._checkpointPercentages; } get instanceWarmup() { return this.getStringAttribute('instance_warmup'); } set instanceWarmup(value) { this._instanceWarmup = value; } resetInstanceWarmup() { this._instanceWarmup = undefined; } // Temporarily expose input value. Use with caution. get instanceWarmupInput() { return this._instanceWarmup; } get maxHealthyPercentage() { return this.getNumberAttribute('max_healthy_percentage'); } set maxHealthyPercentage(value) { this._maxHealthyPercentage = value; } resetMaxHealthyPercentage() { this._maxHealthyPercentage = undefined; } // 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; } resetMinHealthyPercentage() { this._minHealthyPercentage = undefined; } // Temporarily expose input value. Use with caution. get minHealthyPercentageInput() { return this._minHealthyPercentage; } get scaleInProtectedInstances() { return this.getStringAttribute('scale_in_protected_instances'); } set scaleInProtectedInstances(value) { this._scaleInProtectedInstances = value; } resetScaleInProtectedInstances() { this._scaleInProtectedInstances = undefined; } // Temporarily expose input value. Use with caution. get scaleInProtectedInstancesInput() { return this._scaleInProtectedInstances; } get skipMatching() { return this.getBooleanAttribute('skip_matching'); } set skipMatching(value) { this._skipMatching = value; } resetSkipMatching() { this._skipMatching = undefined; } // Temporarily expose input value. Use with caution. get skipMatchingInput() { return this._skipMatching; } get standbyInstances() { return this.getStringAttribute('standby_instances'); } set standbyInstances(value) { this._standbyInstances = value; } resetStandbyInstances() { this._standbyInstances = undefined; } // Temporarily expose input value. Use with caution. get standbyInstancesInput() { return this._standbyInstances; } get alarmSpecification() { return this._alarmSpecification; } putAlarmSpecification(value) { this._alarmSpecification.internalValue = value; } resetAlarmSpecification() { this._alarmSpecification.internalValue = undefined; } // Temporarily expose input value. Use with caution. get alarmSpecificationInput() { return this._alarmSpecification.internalValue; } } exports.AutoscalingGroupInstanceRefreshPreferencesOutputReference = AutoscalingGroupInstanceRefreshPreferencesOutputReference; _f = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceRefreshPreferencesOutputReference[_f] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceRefreshPreferencesOutputReference", version: "19.50.0" }; function autoscalingGroupInstanceRefreshToTerraform(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 { strategy: cdktf.stringToTerraform(struct.strategy), triggers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.triggers), preferences: autoscalingGroupInstanceRefreshPreferencesToTerraform(struct.preferences), }; } exports.autoscalingGroupInstanceRefreshToTerraform = autoscalingGroupInstanceRefreshToTerraform; function autoscalingGroupInstanceRefreshToHclTerraform(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 = { strategy: { value: cdktf.stringToHclTerraform(struct.strategy), isBlock: false, type: "simple", storageClassType: "string", }, triggers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.triggers), isBlock: false, type: "set", storageClassType: "stringList", }, preferences: { value: autoscalingGroupInstanceRefreshPreferencesToHclTerraform(struct.preferences), isBlock: true, type: "list", storageClassType: "AutoscalingGroupInstanceRefreshPreferencesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.autoscalingGroupInstanceRefreshToHclTerraform = autoscalingGroupInstanceRefreshToHclTerraform; class AutoscalingGroupInstanceRefreshOutputReference 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; // preferences - computed: false, optional: true, required: false this._preferences = new AutoscalingGroupInstanceRefreshPreferencesOutputReference(this, "preferences"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._strategy !== undefined) { hasAnyValues = true; internalValueResult.strategy = this._strategy; } if (this._triggers !== undefined) { hasAnyValues = true; internalValueResult.triggers = this._triggers; } if (this._preferences?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.preferences = this._preferences?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._strategy = undefined; this._triggers = undefined; this._preferences.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._strategy = value.strategy; this._triggers = value.triggers; this._preferences.internalValue = value.preferences; } } get strategy() { return this.getStringAttribute('strategy'); } set strategy(value) { this._strategy = value; } // Temporarily expose input value. Use with caution. get strategyInput() { return this._strategy; } get triggers() { return cdktf.Fn.tolist(this.getListAttribute('triggers')); } set triggers(value) { this._triggers = value; } resetTriggers() { this._triggers = undefined; } // Temporarily expose input value. Use with caution. get triggersInput() { return this._triggers; } get preferences() { return this._preferences; } putPreferences(value) { this._preferences.internalValue = value; } resetPreferences() { this._preferences.internalValue = undefined; } // Temporarily expose input value. Use with caution. get preferencesInput() { return this._preferences.internalValue; } } exports.AutoscalingGroupInstanceRefreshOutputReference = AutoscalingGroupInstanceRefreshOutputReference; _g = JSII_RTTI_SYMBOL_1; AutoscalingGroupInstanceRefreshOutputReference[_g] = { fqn: "@cdktf/provider-aws.autoscalingGroup.AutoscalingGroupInstanceRefreshOutputReference", version: "19.50.0" }; function autoscalingGroupLaunchTemplateToTerraform(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 { id: cdktf.stringToTerraform(struct.id), name: cdktf.stringToTerraform(struct.name), version: cdktf.stringToTerraform(struct.version), }; } exports.autoscalingGroupLaunchTemplateToTerraform = autoscalingGroupLaunchTemplateToTerraform; function autoscalingGroupLaunchTemplateToHclTerraform(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 = { id: { value: cdktf.stringToHclTerraform(struct.id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, version: { value: cdktf.stringToHclTerraform(struct.version), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.autoscalingGroupLaunchTemplateToHclTerraform = autoscalingGroupLaunchTemplateToHclTerraform; class AutoscalingGroupLaunchTemplateOutputReference 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._id !== undefined) { hasAnyValues = true; internalValueResult.id = this._id; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._version !== undefined) { hasAnyValues = true; internalValueResult.version = this._version; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value ===