@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
152 lines (151 loc) • 5.63 kB
TypeScript
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class LicenseSpecification {
LicenseConfigurationArn: Value<string>;
constructor(properties: LicenseSpecification);
}
export declare class ElasticInferenceAccelerator {
Count?: Value<number>;
Type: Value<string>;
constructor(properties: ElasticInferenceAccelerator);
}
export declare class CreditSpecification {
CPUCredits?: Value<string>;
constructor(properties: CreditSpecification);
}
export declare class AssociationParameter {
Key: Value<string>;
Value: List<Value<string>>;
constructor(properties: AssociationParameter);
}
export declare class ElasticGpuSpecification {
Type: Value<string>;
constructor(properties: ElasticGpuSpecification);
}
export declare class HibernationOptions {
Configured?: Value<boolean>;
constructor(properties: HibernationOptions);
}
export declare class BlockDeviceMapping {
DeviceName: Value<string>;
Ebs?: Ebs;
NoDevice?: NoDevice;
VirtualName?: Value<string>;
constructor(properties: BlockDeviceMapping);
}
export declare class NetworkInterface {
Ipv6AddressCount?: Value<number>;
GroupSet?: List<Value<string>>;
NetworkInterfaceId?: Value<string>;
AssociatePublicIpAddress?: Value<boolean>;
PrivateIpAddress?: Value<string>;
SecondaryPrivateIpAddressCount?: Value<number>;
PrivateIpAddresses?: List<PrivateIpAddressSpecification>;
SubnetId?: Value<string>;
DeleteOnTermination?: Value<boolean>;
Ipv6Addresses?: List<InstanceIpv6Address>;
Description?: Value<string>;
DeviceIndex: Value<string>;
constructor(properties: NetworkInterface);
}
export declare class LaunchTemplateSpecification {
LaunchTemplateId?: Value<string>;
LaunchTemplateName?: Value<string>;
Version: Value<string>;
constructor(properties: LaunchTemplateSpecification);
}
export declare class Ebs {
DeleteOnTermination?: Value<boolean>;
Encrypted?: Value<boolean>;
Iops?: Value<number>;
KmsKeyId?: Value<string>;
SnapshotId?: Value<string>;
VolumeSize?: Value<number>;
VolumeType?: Value<string>;
constructor(properties: Ebs);
}
export declare class InstanceIpv6Address {
Ipv6Address: Value<string>;
constructor(properties: InstanceIpv6Address);
}
export declare class SsmAssociation {
AssociationParameters?: List<AssociationParameter>;
DocumentName: Value<string>;
constructor(properties: SsmAssociation);
}
export declare class PrivateIpAddressSpecification {
Primary: Value<boolean>;
PrivateIpAddress: Value<string>;
constructor(properties: PrivateIpAddressSpecification);
}
export declare class CpuOptions {
CoreCount?: Value<number>;
ThreadsPerCore?: Value<number>;
constructor(properties: CpuOptions);
}
export declare class NoDevice {
constructor(properties: NoDevice);
}
export declare class Volume {
Device: Value<string>;
VolumeId: Value<string>;
constructor(properties: Volume);
}
export interface InstanceProperties {
Tenancy?: Value<string>;
Ipv6AddressCount?: Value<number>;
HostId?: Value<string>;
PlacementGroupName?: Value<string>;
ElasticGpuSpecifications?: List<ElasticGpuSpecification>;
AvailabilityZone?: Value<string>;
Monitoring?: Value<boolean>;
Affinity?: Value<string>;
NetworkInterfaces?: List<NetworkInterface>;
BlockDeviceMappings?: List<BlockDeviceMapping>;
HibernationOptions?: HibernationOptions;
KeyName?: Value<string>;
CreditSpecification?: CreditSpecification;
PrivateIpAddress?: Value<string>;
SourceDestCheck?: Value<boolean>;
ElasticInferenceAccelerators?: List<ElasticInferenceAccelerator>;
LaunchTemplate?: LaunchTemplateSpecification;
InstanceType?: Value<string>;
LicenseSpecifications?: List<LicenseSpecification>;
EbsOptimized?: Value<boolean>;
DisableApiTermination?: Value<boolean>;
SecurityGroups?: List<Value<string>>;
HostResourceGroupArn?: Value<string>;
AdditionalInfo?: Value<string>;
UserData?: Value<string>;
RamdiskId?: Value<string>;
ImageId?: Value<string>;
CpuOptions?: CpuOptions;
SubnetId?: Value<string>;
KernelId?: Value<string>;
Tags?: List<Inner_ResourceTag>;
Volumes?: List<Volume>;
SecurityGroupIds?: List<Value<string>>;
Ipv6Addresses?: List<InstanceIpv6Address>;
InstanceInitiatedShutdownBehavior?: Value<string>;
IamInstanceProfile?: Value<string>;
SsmAssociations?: List<SsmAssociation>;
}
export default class Inner_Instance extends ResourceBase<InstanceProperties> {
static LicenseSpecification: typeof LicenseSpecification;
static ElasticInferenceAccelerator: typeof ElasticInferenceAccelerator;
static CreditSpecification: typeof CreditSpecification;
static AssociationParameter: typeof AssociationParameter;
static ElasticGpuSpecification: typeof ElasticGpuSpecification;
static HibernationOptions: typeof HibernationOptions;
static BlockDeviceMapping: typeof BlockDeviceMapping;
static NetworkInterface: typeof NetworkInterface;
static LaunchTemplateSpecification: typeof LaunchTemplateSpecification;
static Ebs: typeof Ebs;
static InstanceIpv6Address: typeof InstanceIpv6Address;
static SsmAssociation: typeof SsmAssociation;
static PrivateIpAddressSpecification: typeof PrivateIpAddressSpecification;
static CpuOptions: typeof CpuOptions;
static NoDevice: typeof NoDevice;
static Volume: typeof Volume;
constructor(properties: InstanceProperties);
}