@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
919 lines (918 loc) • 806 kB
JavaScript
"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;