@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
188 lines (187 loc) • 8.11 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.
*/
export declare class LaunchConfiguration extends pulumi.CustomResource {
/**
* Get an existing LaunchConfiguration resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): LaunchConfiguration;
/**
* Returns true if the given object is an instance of LaunchConfiguration. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is LaunchConfiguration;
/**
* For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.
*/
readonly associatePublicIpAddress: pulumi.Output<boolean | undefined>;
/**
* Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
*/
readonly blockDeviceMappings: pulumi.Output<outputs.autoscaling.LaunchConfigurationBlockDeviceMapping[] | undefined>;
/**
* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
*/
readonly classicLinkVpcId: pulumi.Output<string | undefined>;
/**
* The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
*/
readonly classicLinkVpcSecurityGroups: pulumi.Output<string[] | undefined>;
/**
* Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
*/
readonly ebsOptimized: pulumi.Output<boolean | undefined>;
/**
* Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.
*/
readonly iamInstanceProfile: pulumi.Output<string | undefined>;
/**
* Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
*/
readonly imageId: pulumi.Output<string>;
/**
* The ID of the Amazon EC2 instance you want to use to create the launch configuration.
*/
readonly instanceId: pulumi.Output<string | undefined>;
/**
* Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
*/
readonly instanceMonitoring: pulumi.Output<boolean | undefined>;
/**
* Specifies the instance type of the EC2 instance.
*/
readonly instanceType: pulumi.Output<string>;
/**
* Provides the ID of the kernel associated with the EC2 AMI.
*/
readonly kernelId: pulumi.Output<string | undefined>;
/**
* Provides the name of the EC2 key pair.
*/
readonly keyName: pulumi.Output<string | undefined>;
/**
* The name of the launch configuration. This name must be unique per Region per account.
*/
readonly launchConfigurationName: pulumi.Output<string | undefined>;
/**
* The metadata options for the instances.
*/
readonly metadataOptions: pulumi.Output<outputs.autoscaling.LaunchConfigurationMetadataOptions | undefined>;
/**
* The tenancy of the instance, either default or dedicated.
*/
readonly placementTenancy: pulumi.Output<string | undefined>;
/**
* The ID of the RAM disk to select.
*/
readonly ramDiskId: pulumi.Output<string | undefined>;
/**
* A list that contains the security groups to assign to the instances in the Auto Scaling group.
*/
readonly securityGroups: pulumi.Output<string[] | undefined>;
/**
* The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
*/
readonly spotPrice: pulumi.Output<string | undefined>;
/**
* The Base64-encoded user data to make available to the launched EC2 instances.
*/
readonly userData: pulumi.Output<string | undefined>;
/**
* Create a LaunchConfiguration resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: LaunchConfigurationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a LaunchConfiguration resource.
*/
export interface LaunchConfigurationArgs {
/**
* For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.
*/
associatePublicIpAddress?: pulumi.Input<boolean>;
/**
* Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
*/
blockDeviceMappings?: pulumi.Input<pulumi.Input<inputs.autoscaling.LaunchConfigurationBlockDeviceMappingArgs>[]>;
/**
* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
*/
classicLinkVpcId?: pulumi.Input<string>;
/**
* The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
*/
classicLinkVpcSecurityGroups?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
*/
ebsOptimized?: pulumi.Input<boolean>;
/**
* Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.
*/
iamInstanceProfile?: pulumi.Input<string>;
/**
* Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
*/
imageId: pulumi.Input<string>;
/**
* The ID of the Amazon EC2 instance you want to use to create the launch configuration.
*/
instanceId?: pulumi.Input<string>;
/**
* Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
*/
instanceMonitoring?: pulumi.Input<boolean>;
/**
* Specifies the instance type of the EC2 instance.
*/
instanceType: pulumi.Input<string>;
/**
* Provides the ID of the kernel associated with the EC2 AMI.
*/
kernelId?: pulumi.Input<string>;
/**
* Provides the name of the EC2 key pair.
*/
keyName?: pulumi.Input<string>;
/**
* The name of the launch configuration. This name must be unique per Region per account.
*/
launchConfigurationName?: pulumi.Input<string>;
/**
* The metadata options for the instances.
*/
metadataOptions?: pulumi.Input<inputs.autoscaling.LaunchConfigurationMetadataOptionsArgs>;
/**
* The tenancy of the instance, either default or dedicated.
*/
placementTenancy?: pulumi.Input<string>;
/**
* The ID of the RAM disk to select.
*/
ramDiskId?: pulumi.Input<string>;
/**
* A list that contains the security groups to assign to the instances in the Auto Scaling group.
*/
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
*/
spotPrice?: pulumi.Input<string>;
/**
* The Base64-encoded user data to make available to the launched EC2 instances.
*/
userData?: pulumi.Input<string>;
}