Class CfnLaunchConfiguration
The AWS::AutoScaling::LaunchConfiguration
resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.AutoScaling
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnLaunchConfiguration : CfnResource, IInspectable
Syntax (vb)
Public Class CfnLaunchConfiguration
Inherits CfnResource
Implements IInspectable
Remarks
When you update the launch configuration for an Auto Scaling group, CloudFormation deletes that resource and creates a new launch configuration with the updated properties and a new name. Existing instances are not affected. To update existing instances when you update the AWS::AutoScaling::LaunchConfiguration
resource, you can specify an UpdatePolicy attribute for the group. You can find sample update policies for rolling updates in Configure Amazon EC2 Auto Scaling resources .
Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide .
For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .
CloudformationResource: AWS::AutoScaling::LaunchConfiguration
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.AutoScaling;
var cfnLaunchConfiguration = new CfnLaunchConfiguration(this, "MyCfnLaunchConfiguration", new CfnLaunchConfigurationProps {
ImageId = "imageId",
InstanceType = "instanceType",
// the properties below are optional
AssociatePublicIpAddress = false,
BlockDeviceMappings = new [] { new BlockDeviceMappingProperty {
DeviceName = "deviceName",
// the properties below are optional
Ebs = new BlockDeviceProperty {
DeleteOnTermination = false,
Encrypted = false,
Iops = 123,
SnapshotId = "snapshotId",
Throughput = 123,
VolumeSize = 123,
VolumeType = "volumeType"
},
NoDevice = false,
VirtualName = "virtualName"
} },
ClassicLinkVpcId = "classicLinkVpcId",
ClassicLinkVpcSecurityGroups = new [] { "classicLinkVpcSecurityGroups" },
EbsOptimized = false,
IamInstanceProfile = "iamInstanceProfile",
InstanceId = "instanceId",
InstanceMonitoring = false,
KernelId = "kernelId",
KeyName = "keyName",
LaunchConfigurationName = "launchConfigurationName",
MetadataOptions = new MetadataOptionsProperty {
HttpEndpoint = "httpEndpoint",
HttpPutResponseHopLimit = 123,
HttpTokens = "httpTokens"
},
PlacementTenancy = "placementTenancy",
RamDiskId = "ramDiskId",
SecurityGroups = new [] { "securityGroups" },
SpotPrice = "spotPrice",
UserData = "userData"
});
Synopsis
Constructors
CfnLaunchConfiguration(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnLaunchConfiguration(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
CfnLaunchConfiguration(Construct, String, ICfnLaunchConfigurationProps) |
Properties
AssociatePublicIpAddress | Specifies whether to assign a public IPv4 address to the group's instances. |
BlockDeviceMappings | The block device mapping entries that define the block devices to attach to the instances at launch. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
ClassicLinkVpcId | Available for backward compatibility. |
ClassicLinkVpcSecurityGroups | Available for backward compatibility. |
EbsOptimized | Specifies whether the launch configuration is optimized for EBS I/O ( |
IamInstanceProfile | The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. |
ImageId | The ID of the Amazon Machine Image (AMI) that was assigned during registration. |
InstanceId | The ID of the Amazon EC2 instance to use to create the launch configuration. |
InstanceMonitoring | Controls whether instances in this group are launched with detailed ( |
InstanceType | Specifies the instance type of the EC2 instance. |
KernelId | The ID of the kernel associated with the AMI. |
KeyName | The name of the key pair. |
LaunchConfigurationName | The name of the launch configuration. |
MetadataOptions | The metadata options for the instances. |
PlacementTenancy | The tenancy of the instance, either |
RamDiskId | The ID of the RAM disk to select. |
SecurityGroups | A list that contains the security groups to assign to the instances in the Auto Scaling group. |
SpotPrice | The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. |
UserData | The Base64-encoded user data to make available to the launched EC2 instances. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnLaunchConfiguration(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnLaunchConfiguration(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnLaunchConfiguration(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnLaunchConfiguration(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
CfnLaunchConfiguration(Construct, String, ICfnLaunchConfigurationProps)
public CfnLaunchConfiguration(Construct scope, string id, ICfnLaunchConfigurationProps props)
Parameters
- scope Constructs.Construct
Scope in which this resource is defined.
- id System.String
Construct identifier for this resource (unique in its scope).
- props ICfnLaunchConfigurationProps
Resource properties.
Properties
AssociatePublicIpAddress
Specifies whether to assign a public IPv4 address to the group's instances.
public virtual object AssociatePublicIpAddress { get; set; }
Property Value
System.Object
BlockDeviceMappings
The block device mapping entries that define the block devices to attach to the instances at launch.
public virtual object BlockDeviceMappings { get; set; }
Property Value
System.Object
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
ClassicLinkVpcId
Available for backward compatibility.
public virtual string ClassicLinkVpcId { get; set; }
Property Value
System.String
ClassicLinkVpcSecurityGroups
Available for backward compatibility.
public virtual string[] ClassicLinkVpcSecurityGroups { get; set; }
Property Value
System.String[]
EbsOptimized
Specifies whether the launch configuration is optimized for EBS I/O ( true
) or not ( false
).
public virtual object EbsOptimized { get; set; }
Property Value
System.Object
IamInstanceProfile
The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.
public virtual string IamInstanceProfile { get; set; }
Property Value
System.String
ImageId
The ID of the Amazon Machine Image (AMI) that was assigned during registration.
public virtual string ImageId { get; set; }
Property Value
System.String
InstanceId
The ID of the Amazon EC2 instance to use to create the launch configuration.
public virtual string InstanceId { get; set; }
Property Value
System.String
InstanceMonitoring
Controls whether instances in this group are launched with detailed ( true
) or basic ( false
) monitoring.
public virtual object InstanceMonitoring { get; set; }
Property Value
System.Object
InstanceType
Specifies the instance type of the EC2 instance.
public virtual string InstanceType { get; set; }
Property Value
System.String
KernelId
The ID of the kernel associated with the AMI.
public virtual string KernelId { get; set; }
Property Value
System.String
KeyName
The name of the key pair.
public virtual string KeyName { get; set; }
Property Value
System.String
LaunchConfigurationName
The name of the launch configuration.
public virtual string LaunchConfigurationName { get; set; }
Property Value
System.String
MetadataOptions
The metadata options for the instances.
public virtual object MetadataOptions { get; set; }
Property Value
System.Object
PlacementTenancy
The tenancy of the instance, either default
or dedicated
.
public virtual string PlacementTenancy { get; set; }
Property Value
System.String
RamDiskId
The ID of the RAM disk to select.
public virtual string RamDiskId { get; set; }
Property Value
System.String
SecurityGroups
A list that contains the security groups to assign to the instances in the Auto Scaling group.
public virtual string[] SecurityGroups { get; set; }
Property Value
System.String[]
SpotPrice
The maximum hourly price to be paid for any Spot Instance launched to fulfill the request.
public virtual string SpotPrice { get; set; }
Property Value
System.String
UserData
The Base64-encoded user data to make available to the launched EC2 instances.
public virtual string UserData { get; set; }
Property Value
System.String
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>