import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class PrivateIpAdd { PrivateIpAddress?: Value; Primary?: Value; constructor(properties: PrivateIpAdd); } export declare class BlockDeviceMapping { Ebs?: Ebs; NoDevice?: Value; VirtualName?: Value; DeviceName?: Value; constructor(properties: BlockDeviceMapping); } export declare class SpotOptions { SpotInstanceType?: Value; InstanceInterruptionBehavior?: Value; MaxPrice?: Value; BlockDurationMinutes?: Value; ValidUntil?: Value; constructor(properties: SpotOptions); } export declare type CapacityReservationPreference = Value; export declare class ElasticGpuSpecification { Type?: Value; constructor(properties: ElasticGpuSpecification); } export declare class TagSpecification { ResourceType?: Value; Tags?: List; constructor(properties: TagSpecification); } export declare class IamInstanceProfile { Arn?: Value; Name?: Value; constructor(properties: IamInstanceProfile); } export declare class LicenseSpecification { LicenseConfigurationArn?: Value; constructor(properties: LicenseSpecification); } export declare class Ebs { SnapshotId?: Value; VolumeType?: Value; KmsKeyId?: Value; Encrypted?: Value; Iops?: Value; VolumeSize?: Value; DeleteOnTermination?: Value; constructor(properties: Ebs); } export declare class HibernationOptions { Configured?: Value; constructor(properties: HibernationOptions); } export declare class LaunchTemplateData { SecurityGroups?: List>; TagSpecifications?: List; UserData?: Value; BlockDeviceMappings?: List; IamInstanceProfile?: IamInstanceProfile; KernelId?: Value; EbsOptimized?: Value; ElasticGpuSpecifications?: List; ElasticInferenceAccelerators?: List; Placement?: Placement; NetworkInterfaces?: List; ImageId?: Value; InstanceType?: Value; Monitoring?: Monitoring; HibernationOptions?: HibernationOptions; LicenseSpecifications?: List; InstanceInitiatedShutdownBehavior?: Value; CpuOptions?: CpuOptions; SecurityGroupIds?: List>; KeyName?: Value; DisableApiTermination?: Value; InstanceMarketOptions?: InstanceMarketOptions; RamDiskId?: Value; CapacityReservationSpecification?: CapacityReservationSpecification; CreditSpecification?: CreditSpecification; constructor(properties: LaunchTemplateData); } export declare class InstanceMarketOptions { SpotOptions?: SpotOptions; MarketType?: Value; constructor(properties: InstanceMarketOptions); } export declare class CreditSpecification { CpuCredits?: Value; constructor(properties: CreditSpecification); } export declare class Monitoring { Enabled?: Value; constructor(properties: Monitoring); } export declare class Placement { GroupName?: Value; Tenancy?: Value; AvailabilityZone?: Value; Affinity?: Value; HostId?: Value; constructor(properties: Placement); } export declare class CapacityReservationSpecification { CapacityReservationPreference?: CapacityReservationPreference; CapacityReservationTarget?: CapacityReservationTarget; constructor(properties: CapacityReservationSpecification); } export declare class Ipv6Add { Ipv6Address?: Value; constructor(properties: Ipv6Add); } export declare class CapacityReservationTarget { CapacityReservationId?: Value; constructor(properties: CapacityReservationTarget); } export declare class NetworkInterface { Description?: Value; PrivateIpAddress?: Value; PrivateIpAddresses?: List; SecondaryPrivateIpAddressCount?: Value; DeviceIndex?: Value; SubnetId?: Value; Ipv6Addresses?: List; AssociatePublicIpAddress?: Value; NetworkInterfaceId?: Value; InterfaceType?: Value; Ipv6AddressCount?: Value; Groups?: List>; DeleteOnTermination?: Value; constructor(properties: NetworkInterface); } export declare class CpuOptions { ThreadsPerCore?: Value; CoreCount?: Value; constructor(properties: CpuOptions); } export declare class LaunchTemplateElasticInferenceAccelerator { Type?: Value; constructor(properties: LaunchTemplateElasticInferenceAccelerator); } export interface LaunchTemplateProperties { LaunchTemplateName?: Value; LaunchTemplateData?: LaunchTemplateData; } export default class LaunchTemplate extends ResourceBase { static PrivateIpAdd: typeof PrivateIpAdd; static BlockDeviceMapping: typeof BlockDeviceMapping; static SpotOptions: typeof SpotOptions; static ElasticGpuSpecification: typeof ElasticGpuSpecification; static TagSpecification: typeof TagSpecification; static IamInstanceProfile: typeof IamInstanceProfile; static LicenseSpecification: typeof LicenseSpecification; static Ebs: typeof Ebs; static HibernationOptions: typeof HibernationOptions; static LaunchTemplateData: typeof LaunchTemplateData; static InstanceMarketOptions: typeof InstanceMarketOptions; static CreditSpecification: typeof CreditSpecification; static Monitoring: typeof Monitoring; static Placement: typeof Placement; static CapacityReservationSpecification: typeof CapacityReservationSpecification; static Ipv6Add: typeof Ipv6Add; static CapacityReservationTarget: typeof CapacityReservationTarget; static NetworkInterface: typeof NetworkInterface; static CpuOptions: typeof CpuOptions; static LaunchTemplateElasticInferenceAccelerator: typeof LaunchTemplateElasticInferenceAccelerator; constructor(properties?: LaunchTemplateProperties); }