UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,061 lines 811 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.LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference = exports.launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform = exports.launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform = exports.LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputReference = exports.launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform = exports.launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToTerraform = exports.LaunchTemplateInstanceRequirementsAcceleratorCountOutputReference = exports.launchTemplateInstanceRequirementsAcceleratorCountToHclTerraform = exports.launchTemplateInstanceRequirementsAcceleratorCountToTerraform = exports.LaunchTemplateInstanceMarketOptionsOutputReference = exports.launchTemplateInstanceMarketOptionsToHclTerraform = exports.launchTemplateInstanceMarketOptionsToTerraform = exports.LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference = exports.launchTemplateInstanceMarketOptionsSpotOptionsToHclTerraform = exports.launchTemplateInstanceMarketOptionsSpotOptionsToTerraform = exports.LaunchTemplateIamInstanceProfileOutputReference = exports.launchTemplateIamInstanceProfileToHclTerraform = exports.launchTemplateIamInstanceProfileToTerraform = exports.LaunchTemplateHibernationOptionsOutputReference = exports.launchTemplateHibernationOptionsToHclTerraform = exports.launchTemplateHibernationOptionsToTerraform = exports.LaunchTemplateEnclaveOptionsOutputReference = exports.launchTemplateEnclaveOptionsToHclTerraform = exports.launchTemplateEnclaveOptionsToTerraform = exports.LaunchTemplateElasticInferenceAcceleratorOutputReference = exports.launchTemplateElasticInferenceAcceleratorToHclTerraform = exports.launchTemplateElasticInferenceAcceleratorToTerraform = exports.LaunchTemplateElasticGpuSpecificationsList = exports.LaunchTemplateElasticGpuSpecificationsOutputReference = exports.launchTemplateElasticGpuSpecificationsToHclTerraform = exports.launchTemplateElasticGpuSpecificationsToTerraform = exports.LaunchTemplateCreditSpecificationOutputReference = exports.launchTemplateCreditSpecificationToHclTerraform = exports.launchTemplateCreditSpecificationToTerraform = exports.LaunchTemplateCpuOptionsOutputReference = exports.launchTemplateCpuOptionsToHclTerraform = exports.launchTemplateCpuOptionsToTerraform = exports.LaunchTemplateCapacityReservationSpecificationOutputReference = exports.launchTemplateCapacityReservationSpecificationToHclTerraform = exports.launchTemplateCapacityReservationSpecificationToTerraform = exports.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference = exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform = exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform = exports.LaunchTemplateBlockDeviceMappingsList = exports.LaunchTemplateBlockDeviceMappingsOutputReference = exports.launchTemplateBlockDeviceMappingsToHclTerraform = exports.launchTemplateBlockDeviceMappingsToTerraform = exports.LaunchTemplateBlockDeviceMappingsEbsOutputReference = exports.launchTemplateBlockDeviceMappingsEbsToHclTerraform = exports.launchTemplateBlockDeviceMappingsEbsToTerraform = void 0; exports.LaunchTemplate = exports.LaunchTemplateTagSpecificationsList = exports.LaunchTemplateTagSpecificationsOutputReference = exports.launchTemplateTagSpecificationsToHclTerraform = exports.launchTemplateTagSpecificationsToTerraform = exports.LaunchTemplatePrivateDnsNameOptionsOutputReference = exports.launchTemplatePrivateDnsNameOptionsToHclTerraform = exports.launchTemplatePrivateDnsNameOptionsToTerraform = exports.LaunchTemplatePlacementOutputReference = exports.launchTemplatePlacementToHclTerraform = exports.launchTemplatePlacementToTerraform = exports.LaunchTemplateNetworkInterfacesList = exports.LaunchTemplateNetworkInterfacesOutputReference = exports.launchTemplateNetworkInterfacesToHclTerraform = exports.launchTemplateNetworkInterfacesToTerraform = exports.LaunchTemplateMonitoringOutputReference = exports.launchTemplateMonitoringToHclTerraform = exports.launchTemplateMonitoringToTerraform = exports.LaunchTemplateMetadataOptionsOutputReference = exports.launchTemplateMetadataOptionsToHclTerraform = exports.launchTemplateMetadataOptionsToTerraform = exports.LaunchTemplateMaintenanceOptionsOutputReference = exports.launchTemplateMaintenanceOptionsToHclTerraform = exports.launchTemplateMaintenanceOptionsToTerraform = exports.LaunchTemplateLicenseSpecificationList = exports.LaunchTemplateLicenseSpecificationOutputReference = exports.launchTemplateLicenseSpecificationToHclTerraform = exports.launchTemplateLicenseSpecificationToTerraform = exports.LaunchTemplateInstanceRequirementsOutputReference = exports.launchTemplateInstanceRequirementsToHclTerraform = exports.launchTemplateInstanceRequirementsToTerraform = exports.LaunchTemplateInstanceRequirementsVcpuCountOutputReference = exports.launchTemplateInstanceRequirementsVcpuCountToHclTerraform = exports.launchTemplateInstanceRequirementsVcpuCountToTerraform = exports.LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputReference = exports.launchTemplateInstanceRequirementsTotalLocalStorageGbToHclTerraform = exports.launchTemplateInstanceRequirementsTotalLocalStorageGbToTerraform = exports.LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputReference = exports.launchTemplateInstanceRequirementsNetworkInterfaceCountToHclTerraform = exports.launchTemplateInstanceRequirementsNetworkInterfaceCountToTerraform = exports.LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputReference = exports.launchTemplateInstanceRequirementsNetworkBandwidthGbpsToHclTerraform = exports.launchTemplateInstanceRequirementsNetworkBandwidthGbpsToTerraform = exports.LaunchTemplateInstanceRequirementsMemoryMibOutputReference = exports.launchTemplateInstanceRequirementsMemoryMibToHclTerraform = exports.launchTemplateInstanceRequirementsMemoryMibToTerraform = exports.LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputReference = exports.launchTemplateInstanceRequirementsMemoryGibPerVcpuToHclTerraform = exports.launchTemplateInstanceRequirementsMemoryGibPerVcpuToTerraform = void 0; 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_size: cdktf.numberToTerraform(struct.volumeSize), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } exports.launchTemplateBlockDeviceMappingsEbsToTerraform = launchTemplateBlockDeviceMappingsEbsToTerraform; 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_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)); } exports.launchTemplateBlockDeviceMappingsEbsToHclTerraform = launchTemplateBlockDeviceMappingsEbsToHclTerraform; 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._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._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._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 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: "19.50.0" }; 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), }; } exports.launchTemplateBlockDeviceMappingsToTerraform = launchTemplateBlockDeviceMappingsToTerraform; 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)); } exports.launchTemplateBlockDeviceMappingsToHclTerraform = launchTemplateBlockDeviceMappingsToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform = launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform; 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)); } exports.launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform = launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform; 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: "19.50.0" }; 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), }; } exports.launchTemplateCapacityReservationSpecificationToTerraform = launchTemplateCapacityReservationSpecificationToTerraform; 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)); } exports.launchTemplateCapacityReservationSpecificationToHclTerraform = launchTemplateCapacityReservationSpecificationToHclTerraform; 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: "19.50.0" }; 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), }; } exports.launchTemplateCpuOptionsToTerraform = launchTemplateCpuOptionsToTerraform; 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)); } exports.launchTemplateCpuOptionsToHclTerraform = launchTemplateCpuOptionsToHclTerraform; 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: "19.50.0" }; 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), }; } exports.launchTemplateCreditSpecificationToTerraform = launchTemplateCreditSpecificationToTerraform; 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)); } exports.launchTemplateCreditSpecificationToHclTerraform = launchTemplateCreditSpecificationToHclTerraform; 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: "19.50.0" }; function launchTemplateElasticGpuSpecificationsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { type: cdktf.stringToTerraform(struct.type), }; } exports.launchTemplateElasticGpuSpecificationsToTerraform = launchTemplateElasticGpuSpecificationsToTerraform; function launchTemplateElasticGpuSpecificationsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.launchTemplateElasticGpuSpecificationsToHclTerraform = launchTemplateElasticGpuSpecificationsToHclTerraform; class LaunchTemplateElasticGpuSpecificationsOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._type = value.type; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.LaunchTemplateElasticGpuSpecificationsOutputReference = LaunchTemplateElasticGpuSpecificationsOutputReference; _h = JSII_RTTI_SYMBOL_1; LaunchTemplateElasticGpuSpecificationsOutputReference[_h] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateElasticGpuSpecificationsOutputReference", version: "19.50.0" }; class LaunchTemplateElasticGpuSpecificationsList 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 LaunchTemplateElasticGpuSpecificationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LaunchTemplateElasticGpuSpecificationsList = LaunchTemplateElasticGpuSpecificationsList; _j = JSII_RTTI_SYMBOL_1; LaunchTemplateElasticGpuSpecificationsList[_j] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateElasticGpuSpecificationsList", version: "19.50.0" }; function launchTemplateElasticInferenceAcceleratorToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { type: cdktf.stringToTerraform(struct.type), }; } exports.launchTemplateElasticInferenceAcceleratorToTerraform = launchTemplateElasticInferenceAcceleratorToTerraform; function launchTemplateElasticInferenceAcceleratorToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.launchTemplateElasticInferenceAcceleratorToHclTerraform = launchTemplateElasticInferenceAcceleratorToHclTerraform; class LaunchTemplateElasticInferenceAcceleratorOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.LaunchTemplateElasticInferenceAcceleratorOutputReference = LaunchTemplateElasticInferenceAcceleratorOutputReference; _k = JSII_RTTI_SYMBOL_1; LaunchTemplateElasticInferenceAcceleratorOutputReference[_k] = { fqn: "@cdktf/provider-aws.launchTemplate.LaunchTemplateElasticInferenceAcceleratorOutputReference", version: "19.50.0" }; 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), }; } exports.launchTemplateEnclaveOptionsToTerraform = launchTemplateEnclaveOptionsToTerraform; 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