@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
185 lines (184 loc) • 7 kB
TypeScript
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class CpuOptions {
ThreadsPerCore?: Value<number>;
CoreCount?: Value<number>;
constructor(properties: CpuOptions);
}
export declare class CreditSpecification {
CpuCredits?: Value<string>;
constructor(properties: CreditSpecification);
}
export declare class PrivateIpAdd {
PrivateIpAddress?: Value<string>;
Primary?: Value<boolean>;
constructor(properties: PrivateIpAdd);
}
export declare class LaunchTemplateData {
Placement?: Placement;
ElasticGpuSpecifications?: List<ElasticGpuSpecification>;
Monitoring?: Monitoring;
NetworkInterfaces?: List<NetworkInterface>;
BlockDeviceMappings?: List<BlockDeviceMapping>;
HibernationOptions?: HibernationOptions;
KeyName?: Value<string>;
TagSpecifications?: List<TagSpecification>;
CreditSpecification?: CreditSpecification;
ElasticInferenceAccelerators?: List<LaunchTemplateElasticInferenceAccelerator>;
InstanceMarketOptions?: InstanceMarketOptions;
MetadataOptions?: MetadataOptions;
InstanceType?: Value<string>;
LicenseSpecifications?: List<LicenseSpecification>;
EbsOptimized?: Value<boolean>;
CapacityReservationSpecification?: CapacityReservationSpecification;
DisableApiTermination?: Value<boolean>;
SecurityGroups?: List<Value<string>>;
UserData?: Value<string>;
RamDiskId?: Value<string>;
ImageId?: Value<string>;
CpuOptions?: CpuOptions;
KernelId?: Value<string>;
SecurityGroupIds?: List<Value<string>>;
InstanceInitiatedShutdownBehavior?: Value<string>;
IamInstanceProfile?: IamInstanceProfile;
constructor(properties: LaunchTemplateData);
}
export declare class ElasticGpuSpecification {
Type?: Value<string>;
constructor(properties: ElasticGpuSpecification);
}
export declare class CapacityReservationPreference {
constructor(properties: CapacityReservationPreference);
}
export declare class InstanceMarketOptions {
SpotOptions?: SpotOptions;
MarketType?: Value<string>;
constructor(properties: InstanceMarketOptions);
}
export declare class MetadataOptions {
HttpPutResponseHopLimit?: Value<number>;
HttpTokens?: Value<string>;
HttpEndpoint?: Value<string>;
constructor(properties: MetadataOptions);
}
export declare class IamInstanceProfile {
Arn?: Value<string>;
Name?: Value<string>;
constructor(properties: IamInstanceProfile);
}
export declare class LicenseSpecification {
LicenseConfigurationArn?: Value<string>;
constructor(properties: LicenseSpecification);
}
export declare class Ebs {
SnapshotId?: Value<string>;
VolumeType?: Value<string>;
KmsKeyId?: Value<string>;
Encrypted?: Value<boolean>;
Iops?: Value<number>;
VolumeSize?: Value<number>;
DeleteOnTermination?: Value<boolean>;
constructor(properties: Ebs);
}
export declare class LaunchTemplateElasticInferenceAccelerator {
Type?: Value<string>;
Count?: Value<number>;
constructor(properties: LaunchTemplateElasticInferenceAccelerator);
}
export declare class Ipv6Add {
Ipv6Address?: Value<string>;
constructor(properties: Ipv6Add);
}
export declare class SpotOptions {
SpotInstanceType?: Value<string>;
InstanceInterruptionBehavior?: Value<string>;
MaxPrice?: Value<string>;
BlockDurationMinutes?: Value<number>;
ValidUntil?: Value<string>;
constructor(properties: SpotOptions);
}
export declare class Monitoring {
Enabled?: Value<boolean>;
constructor(properties: Monitoring);
}
export declare class HibernationOptions {
Configured?: Value<boolean>;
constructor(properties: HibernationOptions);
}
export declare class TagSpecification {
ResourceType?: Value<string>;
Tags?: List<Inner_ResourceTag>;
constructor(properties: TagSpecification);
}
export declare class NetworkInterface {
Ipv6AddressCount?: Value<number>;
NetworkInterfaceId?: Value<string>;
AssociatePublicIpAddress?: Value<boolean>;
PrivateIpAddress?: Value<string>;
SecondaryPrivateIpAddressCount?: Value<number>;
InterfaceType?: Value<string>;
Groups?: List<Value<string>>;
PrivateIpAddresses?: List<PrivateIpAdd>;
SubnetId?: Value<string>;
DeleteOnTermination?: Value<boolean>;
Ipv6Addresses?: List<Ipv6Add>;
Description?: Value<string>;
DeviceIndex?: Value<number>;
constructor(properties: NetworkInterface);
}
export declare class BlockDeviceMapping {
Ebs?: Ebs;
NoDevice?: Value<string>;
VirtualName?: Value<string>;
DeviceName?: Value<string>;
constructor(properties: BlockDeviceMapping);
}
export declare class CapacityReservationTarget {
CapacityReservationId?: Value<string>;
constructor(properties: CapacityReservationTarget);
}
export declare class CapacityReservationSpecification {
CapacityReservationPreference?: CapacityReservationPreference;
CapacityReservationTarget?: CapacityReservationTarget;
constructor(properties: CapacityReservationSpecification);
}
export declare class Placement {
GroupName?: Value<string>;
Tenancy?: Value<string>;
SpreadDomain?: Value<string>;
PartitionNumber?: Value<number>;
AvailabilityZone?: Value<string>;
Affinity?: Value<string>;
HostId?: Value<string>;
HostResourceGroupArn?: Value<string>;
constructor(properties: Placement);
}
export interface LaunchTemplateProperties {
LaunchTemplateName?: Value<string>;
LaunchTemplateData?: LaunchTemplateData;
}
export default class Inner_LaunchTemplate extends ResourceBase<LaunchTemplateProperties> {
static CpuOptions: typeof CpuOptions;
static CreditSpecification: typeof CreditSpecification;
static PrivateIpAdd: typeof PrivateIpAdd;
static LaunchTemplateData: typeof LaunchTemplateData;
static ElasticGpuSpecification: typeof ElasticGpuSpecification;
static CapacityReservationPreference: typeof CapacityReservationPreference;
static InstanceMarketOptions: typeof InstanceMarketOptions;
static MetadataOptions: typeof MetadataOptions;
static IamInstanceProfile: typeof IamInstanceProfile;
static LicenseSpecification: typeof LicenseSpecification;
static Ebs: typeof Ebs;
static LaunchTemplateElasticInferenceAccelerator: typeof LaunchTemplateElasticInferenceAccelerator;
static Ipv6Add: typeof Ipv6Add;
static SpotOptions: typeof SpotOptions;
static Monitoring: typeof Monitoring;
static HibernationOptions: typeof HibernationOptions;
static TagSpecification: typeof TagSpecification;
static NetworkInterface: typeof NetworkInterface;
static BlockDeviceMapping: typeof BlockDeviceMapping;
static CapacityReservationTarget: typeof CapacityReservationTarget;
static CapacityReservationSpecification: typeof CapacityReservationSpecification;
static Placement: typeof Placement;
constructor(properties: LaunchTemplateProperties);
}