UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,073 lines (1,072 loc) 841 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, _11, _12; Object.defineProperty(exports, "__esModule", { value: true }); exports.LaunchTemplate = exports.LaunchTemplateTagSpecificationsList = exports.LaunchTemplateTagSpecificationsOutputReference = exports.LaunchTemplatePrivateDnsNameOptionsOutputReference = exports.LaunchTemplatePlacementOutputReference = exports.LaunchTemplateNetworkInterfacesList = exports.LaunchTemplateNetworkInterfacesOutputReference = exports.LaunchTemplateNetworkInterfacesEnaSrdSpecificationOutputReference = exports.LaunchTemplateNetworkInterfacesEnaSrdSpecificationEnaSrdUdpSpecificationOutputReference = exports.LaunchTemplateNetworkInterfacesConnectionTrackingSpecificationOutputReference = exports.LaunchTemplateMonitoringOutputReference = exports.LaunchTemplateMetadataOptionsOutputReference = exports.LaunchTemplateMaintenanceOptionsOutputReference = exports.LaunchTemplateLicenseSpecificationList = exports.LaunchTemplateLicenseSpecificationOutputReference = exports.LaunchTemplateInstanceRequirementsOutputReference = exports.LaunchTemplateInstanceRequirementsVcpuCountOutputReference = exports.LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputReference = exports.LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputReference = exports.LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputReference = exports.LaunchTemplateInstanceRequirementsMemoryMibOutputReference = exports.LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputReference = exports.LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference = exports.LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputReference = exports.LaunchTemplateInstanceRequirementsAcceleratorCountOutputReference = exports.LaunchTemplateInstanceMarketOptionsOutputReference = exports.LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference = exports.LaunchTemplateIamInstanceProfileOutputReference = exports.LaunchTemplateHibernationOptionsOutputReference = exports.LaunchTemplateEnclaveOptionsOutputReference = exports.LaunchTemplateCreditSpecificationOutputReference = exports.LaunchTemplateCpuOptionsOutputReference = exports.LaunchTemplateCapacityReservationSpecificationOutputReference = exports.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference = exports.LaunchTemplateBlockDeviceMappingsList = exports.LaunchTemplateBlockDeviceMappingsOutputReference = exports.LaunchTemplateBlockDeviceMappingsEbsOutputReference = void 0; exports.launchTemplateBlockDeviceMappingsEbsToTerraform = launchTemplateBlockDeviceMappingsEbsToTerraform; exports.launchTemplateBlockDeviceMappingsEbsToHclTerraform = launchTemplateBlockDeviceMappingsEbsToHclTerraform; exports.launchTemplateBlockDeviceMappingsToTerraform = launchTemplateBlockDeviceMappingsToTerraform; exports.launchTemplateBlockDeviceMappingsToHclTerraform = launchTemplateBlockDeviceMappingsToHclTerraform; exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform = launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform; exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform = launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform; exports.launchTemplateCapacityReservationSpecificationToTerraform = launchTemplateCapacityReservationSpecificationToTerraform; exports.launchTemplateCapacityReservationSpecificationToHclTerraform = launchTemplateCapacityReservationSpecificationToHclTerraform; exports.launchTemplateCpuOptionsToTerraform = launchTemplateCpuOptionsToTerraform; exports.launchTemplateCpuOptionsToHclTerraform = launchTemplateCpuOptionsToHclTerraform; exports.launchTemplateCreditSpecificationToTerraform = launchTemplateCreditSpecificationToTerraform; exports.launchTemplateCreditSpecificationToHclTerraform = launchTemplateCreditSpecificationToHclTerraform; exports.launchTemplateEnclaveOptionsToTerraform = launchTemplateEnclaveOptionsToTerraform; exports.launchTemplateEnclaveOptionsToHclTerraform = launchTemplateEnclaveOptionsToHclTerraform; exports.launchTemplateHibernationOptionsToTerraform = launchTemplateHibernationOptionsToTerraform; exports.launchTemplateHibernationOptionsToHclTerraform = launchTemplateHibernationOptionsToHclTerraform; exports.launchTemplateIamInstanceProfileToTerraform = launchTemplateIamInstanceProfileToTerraform; exports.launchTemplateIamInstanceProfileToHclTerraform = launchTemplateIamInstanceProfileToHclTerraform; exports.launchTemplateInstanceMarketOptionsSpotOptionsToTerraform = launchTemplateInstanceMarketOptionsSpotOptionsToTerraform; exports.launchTemplateInstanceMarketOptionsSpotOptionsToHclTerraform = launchTemplateInstanceMarketOptionsSpotOptionsToHclTerraform; exports.launchTemplateInstanceMarketOptionsToTerraform = launchTemplateInstanceMarketOptionsToTerraform; exports.launchTemplateInstanceMarketOptionsToHclTerraform = launchTemplateInstanceMarketOptionsToHclTerraform; exports.launchTemplateInstanceRequirementsAcceleratorCountToTerraform = launchTemplateInstanceRequirementsAcceleratorCountToTerraform; exports.launchTemplateInstanceRequirementsAcceleratorCountToHclTerraform = launchTemplateInstanceRequirementsAcceleratorCountToHclTerraform; exports.launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToTerraform = launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToTerraform; exports.launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform = launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform; exports.launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform = launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform; exports.launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform = launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform; exports.launchTemplateInstanceRequirementsMemoryGibPerVcpuToTerraform = launchTemplateInstanceRequirementsMemoryGibPerVcpuToTerraform; exports.launchTemplateInstanceRequirementsMemoryGibPerVcpuToHclTerraform = launchTemplateInstanceRequirementsMemoryGibPerVcpuToHclTerraform; exports.launchTemplateInstanceRequirementsMemoryMibToTerraform = launchTemplateInstanceRequirementsMemoryMibToTerraform; exports.launchTemplateInstanceRequirementsMemoryMibToHclTerraform = launchTemplateInstanceRequirementsMemoryMibToHclTerraform; exports.launchTemplateInstanceRequirementsNetworkBandwidthGbpsToTerraform = launchTemplateInstanceRequirementsNetworkBandwidthGbpsToTerraform; exports.launchTemplateInstanceRequirementsNetworkBandwidthGbpsToHclTerraform = launchTemplateInstanceRequirementsNetworkBandwidthGbpsToHclTerraform; exports.launchTemplateInstanceRequirementsNetworkInterfaceCountToTerraform = launchTemplateInstanceRequirementsNetworkInterfaceCountToTerraform; exports.launchTemplateInstanceRequirementsNetworkInterfaceCountToHclTerraform = launchTemplateInstanceRequirementsNetworkInterfaceCountToHclTerraform; exports.launchTemplateInstanceRequirementsTotalLocalStorageGbToTerraform = launchTemplateInstanceRequirementsTotalLocalStorageGbToTerraform; exports.launchTemplateInstanceRequirementsTotalLocalStorageGbToHclTerraform = launchTemplateInstanceRequirementsTotalLocalStorageGbToHclTerraform; exports.launchTemplateInstanceRequirementsVcpuCountToTerraform = launchTemplateInstanceRequirementsVcpuCountToTerraform; exports.launchTemplateInstanceRequirementsVcpuCountToHclTerraform = launchTemplateInstanceRequirementsVcpuCountToHclTerraform; exports.launchTemplateInstanceRequirementsToTerraform = launchTemplateInstanceRequirementsToTerraform; exports.launchTemplateInstanceRequirementsToHclTerraform = launchTemplateInstanceRequirementsToHclTerraform; exports.launchTemplateLicenseSpecificationToTerraform = launchTemplateLicenseSpecificationToTerraform; exports.launchTemplateLicenseSpecificationToHclTerraform = launchTemplateLicenseSpecificationToHclTerraform; exports.launchTemplateMaintenanceOptionsToTerraform = launchTemplateMaintenanceOptionsToTerraform; exports.launchTemplateMaintenanceOptionsToHclTerraform = launchTemplateMaintenanceOptionsToHclTerraform; exports.launchTemplateMetadataOptionsToTerraform = launchTemplateMetadataOptionsToTerraform; exports.launchTemplateMetadataOptionsToHclTerraform = launchTemplateMetadataOptionsToHclTerraform; exports.launchTemplateMonitoringToTerraform = launchTemplateMonitoringToTerraform; exports.launchTemplateMonitoringToHclTerraform = launchTemplateMonitoringToHclTerraform; exports.launchTemplateNetworkInterfacesConnectionTrackingSpecificationToTerraform = launchTemplateNetworkInterfacesConnectionTrackingSpecificationToTerraform; exports.launchTemplateNetworkInterfacesConnectionTrackingSpecificationToHclTerraform = launchTemplateNetworkInterfacesConnectionTrackingSpecificationToHclTerraform; exports.launchTemplateNetworkInterfacesEnaSrdSpecificationEnaSrdUdpSpecificationToTerraform = launchTemplateNetworkInterfacesEnaSrdSpecificationEnaSrdUdpSpecificationToTerraform; exports.launchTemplateNetworkInterfacesEnaSrdSpecificationEnaSrdUdpSpecificationToHclTerraform = launchTemplateNetworkInterfacesEnaSrdSpecificationEnaSrdUdpSpecificationToHclTerraform; exports.launchTemplateNetworkInterfacesEnaSrdSpecificationToTerraform = launchTemplateNetworkInterfacesEnaSrdSpecificationToTerraform; exports.launchTemplateNetworkInterfacesEnaSrdSpecificationToHclTerraform = launchTemplateNetworkInterfacesEnaSrdSpecificationToHclTerraform; exports.launchTemplateNetworkInterfacesToTerraform = launchTemplateNetworkInterfacesToTerraform; exports.launchTemplateNetworkInterfacesToHclTerraform = launchTemplateNetworkInterfacesToHclTerraform; exports.launchTemplatePlacementToTerraform = launchTemplatePlacementToTerraform; exports.launchTemplatePlacementToHclTerraform = launchTemplatePlacementToHclTerraform; exports.launchTemplatePrivateDnsNameOptionsToTerraform = launchTemplatePrivateDnsNameOptionsToTerraform; exports.launchTemplatePrivateDnsNameOptionsToHclTerraform = launchTemplatePrivateDnsNameOptionsToHclTerraform; exports.launchTemplateTagSpecificationsToTerraform = launchTemplateTagSpecificationsToTerraform; exports.launchTemplateTagSpecificationsToHclTerraform = launchTemplateTagSpecificationsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function launchTemplateBlockDeviceMappingsEbsToTerraform(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 { delete_on_termination: cdktf.stringToTerraform(struct.deleteOnTermination), encrypted: cdktf.stringToTerraform(struct.encrypted), iops: cdktf.numberToTerraform(struct.iops), kms_key_id: cdktf.stringToTerraform(struct.kmsKeyId), snapshot_id: cdktf.stringToTerraform(struct.snapshotId), throughput: cdktf.numberToTerraform(struct.throughput), volume_initialization_rate: cdktf.numberToTerraform(struct.volumeInitializationRate), volume_size: cdktf.numberToTerraform(struct.volumeSize), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } function launchTemplateBlockDeviceMappingsEbsToHclTerraform(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 = { delete_on_termination: { value: cdktf.stringToHclTerraform(struct.deleteOnTermination), isBlock: false, type: "simple", storageClassType: "string", }, encrypted: { value: cdktf.stringToHclTerraform(struct.encrypted), isBlock: false, type: "simple", storageClassType: "string", }, iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, kms_key_id: { value: cdktf.stringToHclTerraform(struct.kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_id: { value: cdktf.stringToHclTerraform(struct.snapshotId), isBlock: false, type: "simple", storageClassType: "string", }, throughput: { value: cdktf.numberToHclTerraform(struct.throughput), isBlock: false, type: "simple", storageClassType: "number", }, volume_initialization_rate: { value: cdktf.numberToHclTerraform(struct.volumeInitializationRate), isBlock: false, type: "simple", storageClassType: "number", }, volume_size: { value: cdktf.numberToHclTerraform(struct.volumeSize), isBlock: false, type: "simple", storageClassType: "number", }, volume_type: { value: cdktf.stringToHclTerraform(struct.volumeType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateBlockDeviceMappingsEbsOutputReference 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._deleteOnTermination !== undefined) { hasAnyValues = true; internalValueResult.deleteOnTermination = this._deleteOnTermination; } if (this._encrypted !== undefined) { hasAnyValues = true; internalValueResult.encrypted = this._encrypted; } if (this._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._kmsKeyId !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyId = this._kmsKeyId; } if (this._snapshotId !== undefined) { hasAnyValues = true; internalValueResult.snapshotId = this._snapshotId; } if (this._throughput !== undefined) { hasAnyValues = true; internalValueResult.throughput = this._throughput; } if (this._volumeInitializationRate !== undefined) { hasAnyValues = true; internalValueResult.volumeInitializationRate = this._volumeInitializationRate; } if (this._volumeSize !== undefined) { hasAnyValues = true; internalValueResult.volumeSize = this._volumeSize; } if (this._volumeType !== undefined) { hasAnyValues = true; internalValueResult.volumeType = this._volumeType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._deleteOnTermination = undefined; this._encrypted = undefined; this._iops = undefined; this._kmsKeyId = undefined; this._snapshotId = undefined; this._throughput = undefined; this._volumeInitializationRate = undefined; this._volumeSize = undefined; this._volumeType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._deleteOnTermination = value.deleteOnTermination; this._encrypted = value.encrypted; this._iops = value.iops; this._kmsKeyId = value.kmsKeyId; this._snapshotId = value.snapshotId; this._throughput = value.throughput; this._volumeInitializationRate = value.volumeInitializationRate; this._volumeSize = value.volumeSize; this._volumeType = value.volumeType; } } get deleteOnTermination() { return this.getStringAttribute('delete_on_termination'); } set deleteOnTermination(value) { this._deleteOnTermination = value; } resetDeleteOnTermination() { this._deleteOnTermination = undefined; } // Temporarily expose input value. Use with caution. get deleteOnTerminationInput() { return this._deleteOnTermination; } get encrypted() { return this.getStringAttribute('encrypted'); } set encrypted(value) { this._encrypted = value; } resetEncrypted() { this._encrypted = undefined; } // Temporarily expose input value. Use with caution. get encryptedInput() { return this._encrypted; } get iops() { return this.getNumberAttribute('iops'); } set iops(value) { this._iops = value; } resetIops() { this._iops = undefined; } // Temporarily expose input value. Use with caution. get iopsInput() { return this._iops; } get kmsKeyId() { return this.getStringAttribute('kms_key_id'); } set kmsKeyId(value) { this._kmsKeyId = value; } resetKmsKeyId() { this._kmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyIdInput() { return this._kmsKeyId; } get snapshotId() { return this.getStringAttribute('snapshot_id'); } set snapshotId(value) { this._snapshotId = value; } resetSnapshotId() { this._snapshotId = undefined; } // Temporarily expose input value. Use with caution. get snapshotIdInput() { return this._snapshotId; } get throughput() { return this.getNumberAttribute('throughput'); } set throughput(value) { this._throughput = value; } resetThroughput() { this._throughput = undefined; } // Temporarily expose input value. Use with caution. get throughputInput() { return this._throughput; } get volumeInitializationRate() { return this.getNumberAttribute('volume_initialization_rate'); } set volumeInitializationRate(value) { this._volumeInitializationRate = value; } resetVolumeInitializationRate() { this._volumeInitializationRate = undefined; } // Temporarily expose input value. Use with caution. get volumeInitializationRateInput() { return this._volumeInitializationRate; } get volumeSize() { return this.getNumberAttribute('volume_size'); } set volumeSize(value) { this._volumeSize = value; } resetVolumeSize() { this._volumeSize = undefined; } // Temporarily expose input value. Use with caution. get volumeSizeInput() { return this._volumeSize; } get volumeType() { return this.getStringAttribute('volume_type'); } set volumeType(value) { this._volumeType = value; } resetVolumeType() { this._volumeType = undefined; } // Temporarily expose input value. Use with caution. get volumeTypeInput() { return this._volumeType; } } exports.LaunchTemplateBlockDeviceMappingsEbsOutputReference = LaunchTemplateBlockDeviceMappingsEbsOutputReference; _a = JSII_RTTI_SYMBOL_1; LaunchTemplateBlockDeviceMappingsEbsOutputReference[_a] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateBlockDeviceMappingsEbsOutputReference", version: "21.22.1" }; function launchTemplateBlockDeviceMappingsToTerraform(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 { device_name: cdktf.stringToTerraform(struct.deviceName), no_device: cdktf.stringToTerraform(struct.noDevice), virtual_name: cdktf.stringToTerraform(struct.virtualName), ebs: launchTemplateBlockDeviceMappingsEbsToTerraform(struct.ebs), }; } function launchTemplateBlockDeviceMappingsToHclTerraform(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 = { device_name: { value: cdktf.stringToHclTerraform(struct.deviceName), isBlock: false, type: "simple", storageClassType: "string", }, no_device: { value: cdktf.stringToHclTerraform(struct.noDevice), isBlock: false, type: "simple", storageClassType: "string", }, virtual_name: { value: cdktf.stringToHclTerraform(struct.virtualName), isBlock: false, type: "simple", storageClassType: "string", }, ebs: { value: launchTemplateBlockDeviceMappingsEbsToHclTerraform(struct.ebs), isBlock: true, type: "list", storageClassType: "LaunchTemplateBlockDeviceMappingsEbsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateBlockDeviceMappingsOutputReference 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; // ebs - computed: false, optional: true, required: false this._ebs = new LaunchTemplateBlockDeviceMappingsEbsOutputReference(this, "ebs"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._deviceName !== undefined) { hasAnyValues = true; internalValueResult.deviceName = this._deviceName; } if (this._noDevice !== undefined) { hasAnyValues = true; internalValueResult.noDevice = this._noDevice; } if (this._virtualName !== undefined) { hasAnyValues = true; internalValueResult.virtualName = this._virtualName; } if (this._ebs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.ebs = this._ebs?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deviceName = undefined; this._noDevice = undefined; this._virtualName = undefined; this._ebs.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._deviceName = value.deviceName; this._noDevice = value.noDevice; this._virtualName = value.virtualName; this._ebs.internalValue = value.ebs; } } get deviceName() { return this.getStringAttribute('device_name'); } set deviceName(value) { this._deviceName = value; } resetDeviceName() { this._deviceName = undefined; } // Temporarily expose input value. Use with caution. get deviceNameInput() { return this._deviceName; } get noDevice() { return this.getStringAttribute('no_device'); } set noDevice(value) { this._noDevice = value; } resetNoDevice() { this._noDevice = undefined; } // Temporarily expose input value. Use with caution. get noDeviceInput() { return this._noDevice; } get virtualName() { return this.getStringAttribute('virtual_name'); } set virtualName(value) { this._virtualName = value; } resetVirtualName() { this._virtualName = undefined; } // Temporarily expose input value. Use with caution. get virtualNameInput() { return this._virtualName; } get ebs() { return this._ebs; } putEbs(value) { this._ebs.internalValue = value; } resetEbs() { this._ebs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ebsInput() { return this._ebs.internalValue; } } exports.LaunchTemplateBlockDeviceMappingsOutputReference = LaunchTemplateBlockDeviceMappingsOutputReference; _b = JSII_RTTI_SYMBOL_1; LaunchTemplateBlockDeviceMappingsOutputReference[_b] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateBlockDeviceMappingsOutputReference", version: "21.22.1" }; class LaunchTemplateBlockDeviceMappingsList 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 LaunchTemplateBlockDeviceMappingsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LaunchTemplateBlockDeviceMappingsList = LaunchTemplateBlockDeviceMappingsList; _c = JSII_RTTI_SYMBOL_1; LaunchTemplateBlockDeviceMappingsList[_c] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateBlockDeviceMappingsList", version: "21.22.1" }; function launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform(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_id: cdktf.stringToTerraform(struct.capacityReservationId), capacity_reservation_resource_group_arn: cdktf.stringToTerraform(struct.capacityReservationResourceGroupArn), }; } function launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(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_id: { value: cdktf.stringToHclTerraform(struct.capacityReservationId), isBlock: false, type: "simple", storageClassType: "string", }, capacity_reservation_resource_group_arn: { value: cdktf.stringToHclTerraform(struct.capacityReservationResourceGroupArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference 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._capacityReservationId !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationId = this._capacityReservationId; } if (this._capacityReservationResourceGroupArn !== undefined) { hasAnyValues = true; internalValueResult.capacityReservationResourceGroupArn = this._capacityReservationResourceGroupArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._capacityReservationId = undefined; this._capacityReservationResourceGroupArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._capacityReservationId = value.capacityReservationId; this._capacityReservationResourceGroupArn = value.capacityReservationResourceGroupArn; } } get capacityReservationId() { return this.getStringAttribute('capacity_reservation_id'); } set capacityReservationId(value) { this._capacityReservationId = value; } resetCapacityReservationId() { this._capacityReservationId = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationIdInput() { return this._capacityReservationId; } get capacityReservationResourceGroupArn() { return this.getStringAttribute('capacity_reservation_resource_group_arn'); } set capacityReservationResourceGroupArn(value) { this._capacityReservationResourceGroupArn = value; } resetCapacityReservationResourceGroupArn() { this._capacityReservationResourceGroupArn = undefined; } // Temporarily expose input value. Use with caution. get capacityReservationResourceGroupArnInput() { return this._capacityReservationResourceGroupArn; } } exports.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference = LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference; _d = JSII_RTTI_SYMBOL_1; LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference[_d] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference", version: "21.22.1" }; function launchTemplateCapacityReservationSpecificationToTerraform(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: launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform(struct.capacityReservationTarget), }; } function launchTemplateCapacityReservationSpecificationToHclTerraform(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: launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(struct.capacityReservationTarget), isBlock: true, type: "list", storageClassType: "LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateCapacityReservationSpecificationOutputReference 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 LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference(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.LaunchTemplateCapacityReservationSpecificationOutputReference = LaunchTemplateCapacityReservationSpecificationOutputReference; _e = JSII_RTTI_SYMBOL_1; LaunchTemplateCapacityReservationSpecificationOutputReference[_e] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateCapacityReservationSpecificationOutputReference", version: "21.22.1" }; function launchTemplateCpuOptionsToTerraform(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 { amd_sev_snp: cdktf.stringToTerraform(struct.amdSevSnp), core_count: cdktf.numberToTerraform(struct.coreCount), threads_per_core: cdktf.numberToTerraform(struct.threadsPerCore), }; } function launchTemplateCpuOptionsToHclTerraform(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 = { amd_sev_snp: { value: cdktf.stringToHclTerraform(struct.amdSevSnp), isBlock: false, type: "simple", storageClassType: "string", }, core_count: { value: cdktf.numberToHclTerraform(struct.coreCount), isBlock: false, type: "simple", storageClassType: "number", }, threads_per_core: { value: cdktf.numberToHclTerraform(struct.threadsPerCore), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateCpuOptionsOutputReference 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._amdSevSnp !== undefined) { hasAnyValues = true; internalValueResult.amdSevSnp = this._amdSevSnp; } if (this._coreCount !== undefined) { hasAnyValues = true; internalValueResult.coreCount = this._coreCount; } if (this._threadsPerCore !== undefined) { hasAnyValues = true; internalValueResult.threadsPerCore = this._threadsPerCore; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._amdSevSnp = undefined; this._coreCount = undefined; this._threadsPerCore = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._amdSevSnp = value.amdSevSnp; this._coreCount = value.coreCount; this._threadsPerCore = value.threadsPerCore; } } get amdSevSnp() { return this.getStringAttribute('amd_sev_snp'); } set amdSevSnp(value) { this._amdSevSnp = value; } resetAmdSevSnp() { this._amdSevSnp = undefined; } // Temporarily expose input value. Use with caution. get amdSevSnpInput() { return this._amdSevSnp; } get coreCount() { return this.getNumberAttribute('core_count'); } set coreCount(value) { this._coreCount = value; } resetCoreCount() { this._coreCount = undefined; } // Temporarily expose input value. Use with caution. get coreCountInput() { return this._coreCount; } get threadsPerCore() { return this.getNumberAttribute('threads_per_core'); } set threadsPerCore(value) { this._threadsPerCore = value; } resetThreadsPerCore() { this._threadsPerCore = undefined; } // Temporarily expose input value. Use with caution. get threadsPerCoreInput() { return this._threadsPerCore; } } exports.LaunchTemplateCpuOptionsOutputReference = LaunchTemplateCpuOptionsOutputReference; _f = JSII_RTTI_SYMBOL_1; LaunchTemplateCpuOptionsOutputReference[_f] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateCpuOptionsOutputReference", version: "21.22.1" }; function launchTemplateCreditSpecificationToTerraform(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 { cpu_credits: cdktf.stringToTerraform(struct.cpuCredits), }; } function launchTemplateCreditSpecificationToHclTerraform(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 = { cpu_credits: { value: cdktf.stringToHclTerraform(struct.cpuCredits), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateCreditSpecificationOutputReference 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._cpuCredits !== undefined) { hasAnyValues = true; internalValueResult.cpuCredits = this._cpuCredits; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cpuCredits = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cpuCredits = value.cpuCredits; } } get cpuCredits() { return this.getStringAttribute('cpu_credits'); } set cpuCredits(value) { this._cpuCredits = value; } resetCpuCredits() { this._cpuCredits = undefined; } // Temporarily expose input value. Use with caution. get cpuCreditsInput() { return this._cpuCredits; } } exports.LaunchTemplateCreditSpecificationOutputReference = LaunchTemplateCreditSpecificationOutputReference; _g = JSII_RTTI_SYMBOL_1; LaunchTemplateCreditSpecificationOutputReference[_g] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateCreditSpecificationOutputReference", version: "21.22.1" }; function launchTemplateEnclaveOptionsToTerraform(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 { enabled: cdktf.booleanToTerraform(struct.enabled), }; } function launchTemplateEnclaveOptionsToHclTerraform(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 = { enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateEnclaveOptionsOutputReference 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._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; } } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } } exports.LaunchTemplateEnclaveOptionsOutputReference = LaunchTemplateEnclaveOptionsOutputReference; _h = JSII_RTTI_SYMBOL_1; LaunchTemplateEnclaveOptionsOutputReference[_h] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateEnclaveOptionsOutputReference", version: "21.22.1" }; function launchTemplateHibernationOptionsToTerraform(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 { configured: cdktf.booleanToTerraform(struct.configured), }; } function launchTemplateHibernationOptionsToHclTerraform(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 = { configured: { value: cdktf.booleanToHclTerraform(struct.configured), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LaunchTemplateHibernationOptionsOutputReference 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._configured !== undefined) { hasAnyValues = true; internalValueResult.configured = this._configured; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._configured = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._configured = value.configured; } }