/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::EC2::LaunchTemplate */ export interface AwsEc2Launchtemplate { LaunchTemplateName?: string; LaunchTemplateData: LaunchTemplateData; VersionDescription?: string; TagSpecifications?: LaunchTemplateTagSpecification[]; LatestVersionNumber?: string; Id?: string; DefaultVersionNumber?: string; } export interface LaunchTemplateData { SecurityGroups?: string[]; TagSpecifications?: TagSpecification[]; UserData?: string; BlockDeviceMappings?: BlockDeviceMapping[]; MaintenanceOptions?: MaintenanceOptions; IamInstanceProfile?: IamInstanceProfile; KernelId?: string; EbsOptimized?: boolean; ElasticGpuSpecifications?: ElasticGpuSpecification[]; ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; Placement?: Placement; NetworkInterfaces?: NetworkInterface[]; EnclaveOptions?: EnclaveOptions; ImageId?: string; InstanceType?: string; Monitoring?: Monitoring; HibernationOptions?: HibernationOptions; MetadataOptions?: MetadataOptions; LicenseSpecifications?: LicenseSpecification[]; InstanceInitiatedShutdownBehavior?: string; DisableApiStop?: boolean; CpuOptions?: CpuOptions; PrivateDnsNameOptions?: PrivateDnsNameOptions; SecurityGroupIds?: string[]; KeyName?: string; DisableApiTermination?: boolean; InstanceMarketOptions?: InstanceMarketOptions; InstanceRequirements?: InstanceRequirements; RamDiskId?: string; CapacityReservationSpecification?: CapacityReservationSpecification; CreditSpecification?: CreditSpecification; } export interface TagSpecification { ResourceType?: string; Tags?: Tag[]; } export interface Tag { Value: string; Key: string; } export interface BlockDeviceMapping { NoDevice?: string; VirtualName?: string; Ebs?: Ebs; DeviceName?: string; } export interface Ebs { SnapshotId?: string; VolumeType?: string; KmsKeyId?: string; Encrypted?: boolean; Throughput?: number; Iops?: number; VolumeSize?: number; DeleteOnTermination?: boolean; } export interface MaintenanceOptions { AutoRecovery?: string; } export interface IamInstanceProfile { Arn?: string; Name?: string; } export interface ElasticGpuSpecification { Type?: string; } export interface LaunchTemplateElasticInferenceAccelerator { Type?: string; Count?: number; } export interface Placement { GroupName?: string; Tenancy?: string; SpreadDomain?: string; PartitionNumber?: number; AvailabilityZone?: string; Affinity?: string; HostId?: string; HostResourceGroupArn?: string; GroupId?: string; } export interface NetworkInterface { Description?: string; PrivateIpAddress?: string; PrivateIpAddresses?: PrivateIpAdd[]; SecondaryPrivateIpAddressCount?: number; Ipv6PrefixCount?: number; Ipv4Prefixes?: Ipv4PrefixSpecification[]; DeviceIndex?: number; Ipv4PrefixCount?: number; Ipv6Prefixes?: Ipv6PrefixSpecification[]; SubnetId?: string; Ipv6Addresses?: Ipv6Add[]; AssociatePublicIpAddress?: boolean; NetworkInterfaceId?: string; NetworkCardIndex?: number; InterfaceType?: string; AssociateCarrierIpAddress?: boolean; Ipv6AddressCount?: number; Groups?: string[]; DeleteOnTermination?: boolean; } export interface PrivateIpAdd { PrivateIpAddress?: string; Primary?: boolean; } export interface Ipv4PrefixSpecification { Ipv4Prefix?: string; } export interface Ipv6PrefixSpecification { Ipv6Prefix?: string; } export interface Ipv6Add { Ipv6Address?: string; } export interface EnclaveOptions { Enabled?: boolean; } export interface Monitoring { Enabled?: boolean; } export interface HibernationOptions { Configured?: boolean; } export interface MetadataOptions { HttpPutResponseHopLimit?: number; HttpTokens?: string; HttpProtocolIpv6?: string; InstanceMetadataTags?: string; HttpEndpoint?: string; } export interface LicenseSpecification { LicenseConfigurationArn?: string; } export interface CpuOptions { ThreadsPerCore?: number; CoreCount?: number; } export interface PrivateDnsNameOptions { HostnameType?: string; EnableResourceNameDnsAAAARecord?: boolean; EnableResourceNameDnsARecord?: boolean; } export interface InstanceMarketOptions { SpotOptions?: SpotOptions; MarketType?: string; } export interface SpotOptions { InstanceInterruptionBehavior?: string; MaxPrice?: string; SpotInstanceType?: string; BlockDurationMinutes?: number; ValidUntil?: string; } export interface InstanceRequirements { LocalStorageTypes?: string[]; InstanceGenerations?: string[]; NetworkInterfaceCount?: NetworkInterfaceCount; MemoryGiBPerVCpu?: MemoryGiBPerVCpu; AcceleratorTypes?: string[]; VCpuCount?: VCpuCount; ExcludedInstanceTypes?: string[]; AcceleratorManufacturers?: string[]; AllowedInstanceTypes?: string[]; LocalStorage?: string; CpuManufacturers?: string[]; AcceleratorCount?: AcceleratorCount; NetworkBandwidthGbps?: NetworkBandwidthGbps; BareMetal?: string; RequireHibernateSupport?: boolean; SpotMaxPricePercentageOverLowestPrice?: number; BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; OnDemandMaxPricePercentageOverLowestPrice?: number; AcceleratorNames?: string[]; AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiB; BurstablePerformance?: string; MemoryMiB?: MemoryMiB; TotalLocalStorageGB?: TotalLocalStorageGB; } export interface NetworkInterfaceCount { Max?: number; Min?: number; } export interface MemoryGiBPerVCpu { Max?: number; Min?: number; } export interface VCpuCount { Max?: number; Min?: number; } export interface AcceleratorCount { Max?: number; Min?: number; } export interface NetworkBandwidthGbps { Max?: number; Min?: number; } export interface BaselineEbsBandwidthMbps { Max?: number; Min?: number; } export interface AcceleratorTotalMemoryMiB { Max?: number; Min?: number; } export interface MemoryMiB { Max?: number; Min?: number; } export interface TotalLocalStorageGB { Max?: number; Min?: number; } export interface CapacityReservationSpecification { CapacityReservationTarget?: CapacityReservationTarget; CapacityReservationPreference?: string; } export interface CapacityReservationTarget { CapacityReservationResourceGroupArn?: string; CapacityReservationId?: string; } export interface CreditSpecification { CpuCredits?: string; } export interface LaunchTemplateTagSpecification { ResourceType?: string; Tags?: Tag[]; }