UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

899 lines 111 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LaunchTemplateConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#default_version LaunchTemplate#default_version} */ readonly defaultVersion?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#description LaunchTemplate#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#disable_api_stop LaunchTemplate#disable_api_stop} */ readonly disableApiStop?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#disable_api_termination LaunchTemplate#disable_api_termination} */ readonly disableApiTermination?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#ebs_optimized LaunchTemplate#ebs_optimized} */ readonly ebsOptimized?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#id LaunchTemplate#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#image_id LaunchTemplate#image_id} */ readonly imageId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#instance_initiated_shutdown_behavior LaunchTemplate#instance_initiated_shutdown_behavior} */ readonly instanceInitiatedShutdownBehavior?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#instance_type LaunchTemplate#instance_type} */ readonly instanceType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#kernel_id LaunchTemplate#kernel_id} */ readonly kernelId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#key_name LaunchTemplate#key_name} */ readonly keyName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#name LaunchTemplate#name} */ readonly name?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#name_prefix LaunchTemplate#name_prefix} */ readonly namePrefix?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#ram_disk_id LaunchTemplate#ram_disk_id} */ readonly ramDiskId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#security_group_names LaunchTemplate#security_group_names} */ readonly securityGroupNames?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#tags LaunchTemplate#tags} */ readonly tags?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#tags_all LaunchTemplate#tags_all} */ readonly tagsAll?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#update_default_version LaunchTemplate#update_default_version} */ readonly updateDefaultVersion?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#user_data LaunchTemplate#user_data} */ readonly userData?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#vpc_security_group_ids LaunchTemplate#vpc_security_group_ids} */ readonly vpcSecurityGroupIds?: string[]; /** * block_device_mappings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#block_device_mappings LaunchTemplate#block_device_mappings} */ readonly blockDeviceMappings?: LaunchTemplateBlockDeviceMappings[] | cdktf.IResolvable; /** * capacity_reservation_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#capacity_reservation_specification LaunchTemplate#capacity_reservation_specification} */ readonly capacityReservationSpecification?: LaunchTemplateCapacityReservationSpecification; /** * cpu_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#cpu_options LaunchTemplate#cpu_options} */ readonly cpuOptions?: LaunchTemplateCpuOptions; /** * credit_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#credit_specification LaunchTemplate#credit_specification} */ readonly creditSpecification?: LaunchTemplateCreditSpecification; /** * elastic_gpu_specifications block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#elastic_gpu_specifications LaunchTemplate#elastic_gpu_specifications} */ readonly elasticGpuSpecifications?: LaunchTemplateElasticGpuSpecifications[] | cdktf.IResolvable; /** * elastic_inference_accelerator block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#elastic_inference_accelerator LaunchTemplate#elastic_inference_accelerator} */ readonly elasticInferenceAccelerator?: LaunchTemplateElasticInferenceAccelerator; /** * enclave_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#enclave_options LaunchTemplate#enclave_options} */ readonly enclaveOptions?: LaunchTemplateEnclaveOptions; /** * hibernation_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#hibernation_options LaunchTemplate#hibernation_options} */ readonly hibernationOptions?: LaunchTemplateHibernationOptions; /** * iam_instance_profile block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#iam_instance_profile LaunchTemplate#iam_instance_profile} */ readonly iamInstanceProfile?: LaunchTemplateIamInstanceProfile; /** * instance_market_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#instance_market_options LaunchTemplate#instance_market_options} */ readonly instanceMarketOptions?: LaunchTemplateInstanceMarketOptions; /** * instance_requirements block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#instance_requirements LaunchTemplate#instance_requirements} */ readonly instanceRequirements?: LaunchTemplateInstanceRequirements; /** * license_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#license_specification LaunchTemplate#license_specification} */ readonly licenseSpecification?: LaunchTemplateLicenseSpecification[] | cdktf.IResolvable; /** * maintenance_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#maintenance_options LaunchTemplate#maintenance_options} */ readonly maintenanceOptions?: LaunchTemplateMaintenanceOptions; /** * metadata_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#metadata_options LaunchTemplate#metadata_options} */ readonly metadataOptions?: LaunchTemplateMetadataOptions; /** * monitoring block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#monitoring LaunchTemplate#monitoring} */ readonly monitoring?: LaunchTemplateMonitoring; /** * network_interfaces block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#network_interfaces LaunchTemplate#network_interfaces} */ readonly networkInterfaces?: LaunchTemplateNetworkInterfaces[] | cdktf.IResolvable; /** * placement block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#placement LaunchTemplate#placement} */ readonly placement?: LaunchTemplatePlacement; /** * private_dns_name_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#private_dns_name_options LaunchTemplate#private_dns_name_options} */ readonly privateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptions; /** * tag_specifications block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#tag_specifications LaunchTemplate#tag_specifications} */ readonly tagSpecifications?: LaunchTemplateTagSpecifications[] | cdktf.IResolvable; } export interface LaunchTemplateBlockDeviceMappingsEbs { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#delete_on_termination LaunchTemplate#delete_on_termination} */ readonly deleteOnTermination?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#encrypted LaunchTemplate#encrypted} */ readonly encrypted?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#iops LaunchTemplate#iops} */ readonly iops?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#kms_key_id LaunchTemplate#kms_key_id} */ readonly kmsKeyId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#snapshot_id LaunchTemplate#snapshot_id} */ readonly snapshotId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#throughput LaunchTemplate#throughput} */ readonly throughput?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#volume_size LaunchTemplate#volume_size} */ readonly volumeSize?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#volume_type LaunchTemplate#volume_type} */ readonly volumeType?: string; } export declare function launchTemplateBlockDeviceMappingsEbsToTerraform(struct?: LaunchTemplateBlockDeviceMappingsEbsOutputReference | LaunchTemplateBlockDeviceMappingsEbs): any; export declare function launchTemplateBlockDeviceMappingsEbsToHclTerraform(struct?: LaunchTemplateBlockDeviceMappingsEbsOutputReference | LaunchTemplateBlockDeviceMappingsEbs): any; export declare class LaunchTemplateBlockDeviceMappingsEbsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateBlockDeviceMappingsEbs | undefined; set internalValue(value: LaunchTemplateBlockDeviceMappingsEbs | undefined); private _deleteOnTermination?; get deleteOnTermination(): string; set deleteOnTermination(value: string); resetDeleteOnTermination(): void; get deleteOnTerminationInput(): string | undefined; private _encrypted?; get encrypted(): string; set encrypted(value: string); resetEncrypted(): void; get encryptedInput(): string | undefined; private _iops?; get iops(): number; set iops(value: number); resetIops(): void; get iopsInput(): number | undefined; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string | undefined; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string | undefined; private _throughput?; get throughput(): number; set throughput(value: number); resetThroughput(): void; get throughputInput(): number | undefined; private _volumeSize?; get volumeSize(): number; set volumeSize(value: number); resetVolumeSize(): void; get volumeSizeInput(): number | undefined; private _volumeType?; get volumeType(): string; set volumeType(value: string); resetVolumeType(): void; get volumeTypeInput(): string | undefined; } export interface LaunchTemplateBlockDeviceMappings { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#device_name LaunchTemplate#device_name} */ readonly deviceName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#no_device LaunchTemplate#no_device} */ readonly noDevice?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#virtual_name LaunchTemplate#virtual_name} */ readonly virtualName?: string; /** * ebs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#ebs LaunchTemplate#ebs} */ readonly ebs?: LaunchTemplateBlockDeviceMappingsEbs; } export declare function launchTemplateBlockDeviceMappingsToTerraform(struct?: LaunchTemplateBlockDeviceMappings | cdktf.IResolvable): any; export declare function launchTemplateBlockDeviceMappingsToHclTerraform(struct?: LaunchTemplateBlockDeviceMappings | cdktf.IResolvable): any; export declare class LaunchTemplateBlockDeviceMappingsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): LaunchTemplateBlockDeviceMappings | cdktf.IResolvable | undefined; set internalValue(value: LaunchTemplateBlockDeviceMappings | cdktf.IResolvable | undefined); private _deviceName?; get deviceName(): string; set deviceName(value: string); resetDeviceName(): void; get deviceNameInput(): string | undefined; private _noDevice?; get noDevice(): string; set noDevice(value: string); resetNoDevice(): void; get noDeviceInput(): string | undefined; private _virtualName?; get virtualName(): string; set virtualName(value: string); resetVirtualName(): void; get virtualNameInput(): string | undefined; private _ebs; get ebs(): LaunchTemplateBlockDeviceMappingsEbsOutputReference; putEbs(value: LaunchTemplateBlockDeviceMappingsEbs): void; resetEbs(): void; get ebsInput(): LaunchTemplateBlockDeviceMappingsEbs | undefined; } export declare class LaunchTemplateBlockDeviceMappingsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LaunchTemplateBlockDeviceMappings[] | cdktf.IResolvable; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): LaunchTemplateBlockDeviceMappingsOutputReference; } export interface LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#capacity_reservation_id LaunchTemplate#capacity_reservation_id} */ readonly capacityReservationId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#capacity_reservation_resource_group_arn LaunchTemplate#capacity_reservation_resource_group_arn} */ readonly capacityReservationResourceGroupArn?: string; } export declare function launchTemplateCapacityReservationSpecificationCapacityReservationTargetToTerraform(struct?: LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference | LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget): any; export declare function launchTemplateCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(struct?: LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference | LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget): any; export declare class LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget | undefined; set internalValue(value: LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget | undefined); private _capacityReservationId?; get capacityReservationId(): string; set capacityReservationId(value: string); resetCapacityReservationId(): void; get capacityReservationIdInput(): string | undefined; private _capacityReservationResourceGroupArn?; get capacityReservationResourceGroupArn(): string; set capacityReservationResourceGroupArn(value: string); resetCapacityReservationResourceGroupArn(): void; get capacityReservationResourceGroupArnInput(): string | undefined; } export interface LaunchTemplateCapacityReservationSpecification { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#capacity_reservation_preference LaunchTemplate#capacity_reservation_preference} */ readonly capacityReservationPreference?: string; /** * capacity_reservation_target block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#capacity_reservation_target LaunchTemplate#capacity_reservation_target} */ readonly capacityReservationTarget?: LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget; } export declare function launchTemplateCapacityReservationSpecificationToTerraform(struct?: LaunchTemplateCapacityReservationSpecificationOutputReference | LaunchTemplateCapacityReservationSpecification): any; export declare function launchTemplateCapacityReservationSpecificationToHclTerraform(struct?: LaunchTemplateCapacityReservationSpecificationOutputReference | LaunchTemplateCapacityReservationSpecification): any; export declare class LaunchTemplateCapacityReservationSpecificationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateCapacityReservationSpecification | undefined; set internalValue(value: LaunchTemplateCapacityReservationSpecification | undefined); private _capacityReservationPreference?; get capacityReservationPreference(): string; set capacityReservationPreference(value: string); resetCapacityReservationPreference(): void; get capacityReservationPreferenceInput(): string | undefined; private _capacityReservationTarget; get capacityReservationTarget(): LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputReference; putCapacityReservationTarget(value: LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget): void; resetCapacityReservationTarget(): void; get capacityReservationTargetInput(): LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget | undefined; } export interface LaunchTemplateCpuOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#amd_sev_snp LaunchTemplate#amd_sev_snp} */ readonly amdSevSnp?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#core_count LaunchTemplate#core_count} */ readonly coreCount?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#threads_per_core LaunchTemplate#threads_per_core} */ readonly threadsPerCore?: number; } export declare function launchTemplateCpuOptionsToTerraform(struct?: LaunchTemplateCpuOptionsOutputReference | LaunchTemplateCpuOptions): any; export declare function launchTemplateCpuOptionsToHclTerraform(struct?: LaunchTemplateCpuOptionsOutputReference | LaunchTemplateCpuOptions): any; export declare class LaunchTemplateCpuOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateCpuOptions | undefined; set internalValue(value: LaunchTemplateCpuOptions | undefined); private _amdSevSnp?; get amdSevSnp(): string; set amdSevSnp(value: string); resetAmdSevSnp(): void; get amdSevSnpInput(): string | undefined; private _coreCount?; get coreCount(): number; set coreCount(value: number); resetCoreCount(): void; get coreCountInput(): number | undefined; private _threadsPerCore?; get threadsPerCore(): number; set threadsPerCore(value: number); resetThreadsPerCore(): void; get threadsPerCoreInput(): number | undefined; } export interface LaunchTemplateCreditSpecification { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#cpu_credits LaunchTemplate#cpu_credits} */ readonly cpuCredits?: string; } export declare function launchTemplateCreditSpecificationToTerraform(struct?: LaunchTemplateCreditSpecificationOutputReference | LaunchTemplateCreditSpecification): any; export declare function launchTemplateCreditSpecificationToHclTerraform(struct?: LaunchTemplateCreditSpecificationOutputReference | LaunchTemplateCreditSpecification): any; export declare class LaunchTemplateCreditSpecificationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateCreditSpecification | undefined; set internalValue(value: LaunchTemplateCreditSpecification | undefined); private _cpuCredits?; get cpuCredits(): string; set cpuCredits(value: string); resetCpuCredits(): void; get cpuCreditsInput(): string | undefined; } export interface LaunchTemplateElasticGpuSpecifications { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#type LaunchTemplate#type} */ readonly type: string; } export declare function launchTemplateElasticGpuSpecificationsToTerraform(struct?: LaunchTemplateElasticGpuSpecifications | cdktf.IResolvable): any; export declare function launchTemplateElasticGpuSpecificationsToHclTerraform(struct?: LaunchTemplateElasticGpuSpecifications | cdktf.IResolvable): any; export declare class LaunchTemplateElasticGpuSpecificationsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): LaunchTemplateElasticGpuSpecifications | cdktf.IResolvable | undefined; set internalValue(value: LaunchTemplateElasticGpuSpecifications | cdktf.IResolvable | undefined); private _type?; get type(): string; set type(value: string); get typeInput(): string | undefined; } export declare class LaunchTemplateElasticGpuSpecificationsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LaunchTemplateElasticGpuSpecifications[] | cdktf.IResolvable; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): LaunchTemplateElasticGpuSpecificationsOutputReference; } export interface LaunchTemplateElasticInferenceAccelerator { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#type LaunchTemplate#type} */ readonly type: string; } export declare function launchTemplateElasticInferenceAcceleratorToTerraform(struct?: LaunchTemplateElasticInferenceAcceleratorOutputReference | LaunchTemplateElasticInferenceAccelerator): any; export declare function launchTemplateElasticInferenceAcceleratorToHclTerraform(struct?: LaunchTemplateElasticInferenceAcceleratorOutputReference | LaunchTemplateElasticInferenceAccelerator): any; export declare class LaunchTemplateElasticInferenceAcceleratorOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateElasticInferenceAccelerator | undefined; set internalValue(value: LaunchTemplateElasticInferenceAccelerator | undefined); private _type?; get type(): string; set type(value: string); get typeInput(): string | undefined; } export interface LaunchTemplateEnclaveOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#enabled LaunchTemplate#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; } export declare function launchTemplateEnclaveOptionsToTerraform(struct?: LaunchTemplateEnclaveOptionsOutputReference | LaunchTemplateEnclaveOptions): any; export declare function launchTemplateEnclaveOptionsToHclTerraform(struct?: LaunchTemplateEnclaveOptionsOutputReference | LaunchTemplateEnclaveOptions): any; export declare class LaunchTemplateEnclaveOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateEnclaveOptions | undefined; set internalValue(value: LaunchTemplateEnclaveOptions | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): boolean | cdktf.IResolvable | undefined; } export interface LaunchTemplateHibernationOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#configured LaunchTemplate#configured} */ readonly configured: boolean | cdktf.IResolvable; } export declare function launchTemplateHibernationOptionsToTerraform(struct?: LaunchTemplateHibernationOptionsOutputReference | LaunchTemplateHibernationOptions): any; export declare function launchTemplateHibernationOptionsToHclTerraform(struct?: LaunchTemplateHibernationOptionsOutputReference | LaunchTemplateHibernationOptions): any; export declare class LaunchTemplateHibernationOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateHibernationOptions | undefined; set internalValue(value: LaunchTemplateHibernationOptions | undefined); private _configured?; get configured(): boolean | cdktf.IResolvable; set configured(value: boolean | cdktf.IResolvable); get configuredInput(): boolean | cdktf.IResolvable | undefined; } export interface LaunchTemplateIamInstanceProfile { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#arn LaunchTemplate#arn} */ readonly arn?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#name LaunchTemplate#name} */ readonly name?: string; } export declare function launchTemplateIamInstanceProfileToTerraform(struct?: LaunchTemplateIamInstanceProfileOutputReference | LaunchTemplateIamInstanceProfile): any; export declare function launchTemplateIamInstanceProfileToHclTerraform(struct?: LaunchTemplateIamInstanceProfileOutputReference | LaunchTemplateIamInstanceProfile): any; export declare class LaunchTemplateIamInstanceProfileOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateIamInstanceProfile | undefined; set internalValue(value: LaunchTemplateIamInstanceProfile | undefined); private _arn?; get arn(): string; set arn(value: string); resetArn(): void; get arnInput(): string | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; } export interface LaunchTemplateInstanceMarketOptionsSpotOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#block_duration_minutes LaunchTemplate#block_duration_minutes} */ readonly blockDurationMinutes?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#instance_interruption_behavior LaunchTemplate#instance_interruption_behavior} */ readonly instanceInterruptionBehavior?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max_price LaunchTemplate#max_price} */ readonly maxPrice?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#spot_instance_type LaunchTemplate#spot_instance_type} */ readonly spotInstanceType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#valid_until LaunchTemplate#valid_until} */ readonly validUntil?: string; } export declare function launchTemplateInstanceMarketOptionsSpotOptionsToTerraform(struct?: LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference | LaunchTemplateInstanceMarketOptionsSpotOptions): any; export declare function launchTemplateInstanceMarketOptionsSpotOptionsToHclTerraform(struct?: LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference | LaunchTemplateInstanceMarketOptionsSpotOptions): any; export declare class LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceMarketOptionsSpotOptions | undefined; set internalValue(value: LaunchTemplateInstanceMarketOptionsSpotOptions | undefined); private _blockDurationMinutes?; get blockDurationMinutes(): number; set blockDurationMinutes(value: number); resetBlockDurationMinutes(): void; get blockDurationMinutesInput(): number | undefined; private _instanceInterruptionBehavior?; get instanceInterruptionBehavior(): string; set instanceInterruptionBehavior(value: string); resetInstanceInterruptionBehavior(): void; get instanceInterruptionBehaviorInput(): string | undefined; private _maxPrice?; get maxPrice(): string; set maxPrice(value: string); resetMaxPrice(): void; get maxPriceInput(): string | undefined; private _spotInstanceType?; get spotInstanceType(): string; set spotInstanceType(value: string); resetSpotInstanceType(): void; get spotInstanceTypeInput(): string | undefined; private _validUntil?; get validUntil(): string; set validUntil(value: string); resetValidUntil(): void; get validUntilInput(): string | undefined; } export interface LaunchTemplateInstanceMarketOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#market_type LaunchTemplate#market_type} */ readonly marketType?: string; /** * spot_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#spot_options LaunchTemplate#spot_options} */ readonly spotOptions?: LaunchTemplateInstanceMarketOptionsSpotOptions; } export declare function launchTemplateInstanceMarketOptionsToTerraform(struct?: LaunchTemplateInstanceMarketOptionsOutputReference | LaunchTemplateInstanceMarketOptions): any; export declare function launchTemplateInstanceMarketOptionsToHclTerraform(struct?: LaunchTemplateInstanceMarketOptionsOutputReference | LaunchTemplateInstanceMarketOptions): any; export declare class LaunchTemplateInstanceMarketOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceMarketOptions | undefined; set internalValue(value: LaunchTemplateInstanceMarketOptions | undefined); private _marketType?; get marketType(): string; set marketType(value: string); resetMarketType(): void; get marketTypeInput(): string | undefined; private _spotOptions; get spotOptions(): LaunchTemplateInstanceMarketOptionsSpotOptionsOutputReference; putSpotOptions(value: LaunchTemplateInstanceMarketOptionsSpotOptions): void; resetSpotOptions(): void; get spotOptionsInput(): LaunchTemplateInstanceMarketOptionsSpotOptions | undefined; } export interface LaunchTemplateInstanceRequirementsAcceleratorCount { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min?: number; } export declare function launchTemplateInstanceRequirementsAcceleratorCountToTerraform(struct?: LaunchTemplateInstanceRequirementsAcceleratorCountOutputReference | LaunchTemplateInstanceRequirementsAcceleratorCount): any; export declare function launchTemplateInstanceRequirementsAcceleratorCountToHclTerraform(struct?: LaunchTemplateInstanceRequirementsAcceleratorCountOutputReference | LaunchTemplateInstanceRequirementsAcceleratorCount): any; export declare class LaunchTemplateInstanceRequirementsAcceleratorCountOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceRequirementsAcceleratorCount | undefined; set internalValue(value: LaunchTemplateInstanceRequirementsAcceleratorCount | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min?: number; } export declare function launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToTerraform(struct?: LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputReference | LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib): any; export declare function launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform(struct?: LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputReference | LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib): any; export declare class LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib | undefined; set internalValue(value: LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min?: number; } export declare function launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform(struct?: LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference | LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps): any; export declare function launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsToHclTerraform(struct?: LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference | LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps): any; export declare class LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps | undefined; set internalValue(value: LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min?: number; } export declare function launchTemplateInstanceRequirementsMemoryGibPerVcpuToTerraform(struct?: LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputReference | LaunchTemplateInstanceRequirementsMemoryGibPerVcpu): any; export declare function launchTemplateInstanceRequirementsMemoryGibPerVcpuToHclTerraform(struct?: LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputReference | LaunchTemplateInstanceRequirementsMemoryGibPerVcpu): any; export declare class LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceRequirementsMemoryGibPerVcpu | undefined; set internalValue(value: LaunchTemplateInstanceRequirementsMemoryGibPerVcpu | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface LaunchTemplateInstanceRequirementsMemoryMib { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min: number; } export declare function launchTemplateInstanceRequirementsMemoryMibToTerraform(struct?: LaunchTemplateInstanceRequirementsMemoryMibOutputReference | LaunchTemplateInstanceRequirementsMemoryMib): any; export declare function launchTemplateInstanceRequirementsMemoryMibToHclTerraform(struct?: LaunchTemplateInstanceRequirementsMemoryMibOutputReference | LaunchTemplateInstanceRequirementsMemoryMib): any; export declare class LaunchTemplateInstanceRequirementsMemoryMibOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): LaunchTemplateInstanceRequirementsMemoryMib | undefined; set internalValue(value: LaunchTemplateInstanceRequirementsMemoryMib | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); get minInput(): number | undefined; } export interface LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#max LaunchTemplate#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/launch_template#min LaunchTemplate#min} */ readonly min?: number; } export declare function launchTemplateInstanceRequirementsNetworkBandwidthGbpsToTerraform(struct?: LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputReference | LaunchTemplateInstanceRequirementsNetworkBandwi