@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
899 lines • 111 kB
TypeScript
/**
* 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