import * as core from "@terrascript/core"; export interface EbsBlockDeviceArgs extends core.SchemaArgs { deleteOnTermination?: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; noDevice?: boolean | core.BooleanOut; snapshotId?: string | core.StringOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export declare class EbsBlockDevice extends core.Schema { deleteOnTermination?: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; noDevice?: boolean | core.BooleanOut; snapshotId?: string | core.StringOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export interface MetadataOptionsArgs extends core.SchemaArgs { httpEndpoint?: string | core.StringOut; httpPutResponseHopLimit?: number | core.NumberOut; httpTokens?: string | core.StringOut; } export declare class MetadataOptions extends core.Schema { httpEndpoint?: string | core.StringOut; httpPutResponseHopLimit?: number | core.NumberOut; httpTokens?: string | core.StringOut; } export interface RootBlockDeviceArgs extends core.SchemaArgs { deleteOnTermination?: boolean | core.BooleanOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export declare class RootBlockDevice extends core.Schema { deleteOnTermination?: boolean | core.BooleanOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export interface EphemeralBlockDeviceArgs extends core.SchemaArgs { deviceName: string | core.StringOut; noDevice?: boolean | core.BooleanOut; virtualName?: string | core.StringOut; } export declare class EphemeralBlockDevice extends core.Schema { deviceName: string | core.StringOut; noDevice?: boolean | core.BooleanOut; virtualName?: string | core.StringOut; } export interface LaunchConfigurationArgs extends core.ResourceArgs { /** * (Optional) Associate a public ip address with an instance in a VPC. */ associatePublicIpAddress?: boolean | core.BooleanOut; /** * (Optional) Additional EBS block devices to attach to the */ ebsBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) If true, the launched EC2 instance will be EBS-optimized. */ ebsOptimized?: boolean | core.BooleanOut; /** * (Optional) Enables/disables detailed monitoring. This is enabled by default. */ enableMonitoring?: boolean | core.BooleanOut; /** * (Optional) Customize Ephemeral (also known as */ ephemeralBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) The name attribute of the IAM instance profile to associate */ iamInstanceProfile?: string | core.StringOut; /** * (Required) The EC2 image ID to launch. */ imageId: string | core.StringOut; /** * (Required) The size of instance to launch. */ instanceType: string | core.StringOut; /** * (Optional) The key name that should be used for the instance. */ keyName?: string | core.StringOut; /** * The metadata options for the instance. */ metadataOptions?: MetadataOptions; /** * (Optional) The name of the launch configuration. If you leave */ name?: string | core.StringOut; /** * (Optional) Creates a unique name beginning with the specified */ namePrefix?: string | core.StringOut; /** * (Optional) The tenancy of the instance. Valid values are */ placementTenancy?: string | core.StringOut; /** * (Optional) Customize details about the root block */ rootBlockDevice?: RootBlockDevice; /** * (Optional) A list of associated security group IDS. */ securityGroups?: core.Array | core.ArrayOut; /** * (Optional; Default: On-demand price) The maximum price to use for reserving spot instances. */ spotPrice?: string | core.StringOut; /** * (Optional) The user data to provide when launching the instance. Do not pass gzip-compressed data vi * a this argument; see `user_data_base64` instead. */ userData?: string | core.StringOut; /** * (Optional) Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this * instead of `user_data` whenever the value is not a valid UTF-8 string. For example, gzip-encoded use * r data must be base64-encoded and passed via this argument to avoid corruption. */ userDataBase64?: string | core.StringOut; /** * (Optional) The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. `vpc-273 * 0681a`) */ vpcClassicLinkId?: string | core.StringOut; /** * (Optional) The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. `sg * 46ae3d11`). */ vpcClassicLinkSecurityGroups?: core.Array | core.ArrayOut; } export declare class LaunchConfiguration extends core.Resource { /** * The Amazon Resource Name of the launch configuration. */ arn: string | core.StringOut; /** * (Optional) Associate a public ip address with an instance in a VPC. */ associatePublicIpAddress?: boolean | core.BooleanOut; /** * (Optional) Additional EBS block devices to attach to the */ ebsBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) If true, the launched EC2 instance will be EBS-optimized. */ ebsOptimized?: boolean | core.BooleanOut; /** * (Optional) Enables/disables detailed monitoring. This is enabled by default. */ enableMonitoring?: boolean | core.BooleanOut; /** * (Optional) Customize Ephemeral (also known as */ ephemeralBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) The name attribute of the IAM instance profile to associate */ iamInstanceProfile?: string | core.StringOut; /** * The ID of the launch configuration. */ id: string | core.StringOut; /** * (Required) The EC2 image ID to launch. */ imageId: string | core.StringOut; /** * (Required) The size of instance to launch. */ instanceType: string | core.StringOut; /** * (Optional) The key name that should be used for the instance. */ keyName?: string | core.StringOut; /** * The metadata options for the instance. */ metadataOptions?: MetadataOptions; /** * (Optional) The name of the launch configuration. If you leave */ name?: string | core.StringOut; /** * (Optional) Creates a unique name beginning with the specified */ namePrefix?: string | core.StringOut; /** * (Optional) The tenancy of the instance. Valid values are */ placementTenancy?: string | core.StringOut; /** * (Optional) Customize details about the root block */ rootBlockDevice?: RootBlockDevice; /** * (Optional) A list of associated security group IDS. */ securityGroups?: core.Array | core.ArrayOut; /** * (Optional; Default: On-demand price) The maximum price to use for reserving spot instances. */ spotPrice?: string | core.StringOut; /** * (Optional) The user data to provide when launching the instance. Do not pass gzip-compressed data vi * a this argument; see `user_data_base64` instead. */ userData?: string | core.StringOut; /** * (Optional) Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this * instead of `user_data` whenever the value is not a valid UTF-8 string. For example, gzip-encoded use * r data must be base64-encoded and passed via this argument to avoid corruption. */ userDataBase64?: string | core.StringOut; /** * (Optional) The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. `vpc-273 * 0681a`) */ vpcClassicLinkId?: string | core.StringOut; /** * (Optional) The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. `sg * 46ae3d11`). */ vpcClassicLinkSecurityGroups?: core.Array | core.ArrayOut; constructor(name: string, args?: LaunchConfigurationArgs); getNamespace(): string; } //# sourceMappingURL=launch_configuration.d.ts.map