launch_configurations
Creates, updates, deletes or gets a launch_configuration
resource or lists launch_configurations
in a region
Overview
Name | launch_configurations |
Type | Resource |
Description | The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. |
Id | aws.autoscaling.launch_configurations |
Fields
Name | Datatype | Description |
---|---|---|
placement_tenancy | string | The tenancy of the instance, either default or dedicated. |
security_groups | array | A list that contains the security groups to assign to the instances in the Auto Scaling group. |
launch_configuration_name | string | The name of the launch configuration. This name must be unique per Region per account. |
metadata_options | object | The metadata options for the instances. |
instance_id | string | The ID of the Amazon EC2 instance you want to use to create the launch configuration. |
user_data | string | The Base64-encoded user data to make available to the launched EC2 instances. |
classic_link_vpc_security_groups | array | The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property. |
block_device_mappings | array | Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. |
iam_instance_profile | string | 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. |
kernel_id | string | Provides the ID of the kernel associated with the EC2 AMI. |
associate_public_ip_address | boolean | 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. |
classic_link_vpc_id | string | The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. |
ebs_optimized | boolean | Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). |
key_name | string | Provides the name of the EC2 key pair. |
spot_price | string | The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request. |
image_id | string | Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration. |
instance_type | string | Specifies the instance type of the EC2 instance. |
ram_disk_id | string | The ID of the RAM disk to select. |
instance_monitoring | boolean | Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | ImageId, InstanceType, region |
delete_resource | DELETE | data__Identifier, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all launch_configurations
in a region.
SELECT
region,
placement_tenancy,
security_groups,
launch_configuration_name,
metadata_options,
instance_id,
user_data,
classic_link_vpc_security_groups,
block_device_mappings,
iam_instance_profile,
kernel_id,
associate_public_ip_address,
classic_link_vpc_id,
ebs_optimized,
key_name,
spot_price,
image_id,
instance_type,
ram_disk_id,
instance_monitoring
FROM aws.autoscaling.launch_configurations
WHERE region = 'us-east-1';
Gets all properties from an individual launch_configuration
.
SELECT
region,
placement_tenancy,
security_groups,
launch_configuration_name,
metadata_options,
instance_id,
user_data,
classic_link_vpc_security_groups,
block_device_mappings,
iam_instance_profile,
kernel_id,
associate_public_ip_address,
classic_link_vpc_id,
ebs_optimized,
key_name,
spot_price,
image_id,
instance_type,
ram_disk_id,
instance_monitoring
FROM aws.autoscaling.launch_configurations
WHERE region = 'us-east-1' AND data__Identifier = '<LaunchConfigurationName>';
INSERT
example
Use the following StackQL query and manifest file to create a new launch_configuration
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.autoscaling.launch_configurations (
ImageId,
InstanceType,
region
)
SELECT
'{{ ImageId }}',
'{{ InstanceType }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.autoscaling.launch_configurations (
PlacementTenancy,
SecurityGroups,
LaunchConfigurationName,
MetadataOptions,
InstanceId,
UserData,
ClassicLinkVPCSecurityGroups,
BlockDeviceMappings,
IamInstanceProfile,
KernelId,
AssociatePublicIpAddress,
ClassicLinkVPCId,
EbsOptimized,
KeyName,
SpotPrice,
ImageId,
InstanceType,
RamDiskId,
InstanceMonitoring,
region
)
SELECT
'{{ PlacementTenancy }}',
'{{ SecurityGroups }}',
'{{ LaunchConfigurationName }}',
'{{ MetadataOptions }}',
'{{ InstanceId }}',
'{{ UserData }}',
'{{ ClassicLinkVPCSecurityGroups }}',
'{{ BlockDeviceMappings }}',
'{{ IamInstanceProfile }}',
'{{ KernelId }}',
'{{ AssociatePublicIpAddress }}',
'{{ ClassicLinkVPCId }}',
'{{ EbsOptimized }}',
'{{ KeyName }}',
'{{ SpotPrice }}',
'{{ ImageId }}',
'{{ InstanceType }}',
'{{ RamDiskId }}',
'{{ InstanceMonitoring }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: launch_configuration
props:
- name: PlacementTenancy
value: '{{ PlacementTenancy }}'
- name: SecurityGroups
value:
- '{{ SecurityGroups[0] }}'
- name: LaunchConfigurationName
value: '{{ LaunchConfigurationName }}'
- name: MetadataOptions
value:
HttpPutResponseHopLimit: '{{ HttpPutResponseHopLimit }}'
HttpTokens: '{{ HttpTokens }}'
HttpEndpoint: '{{ HttpEndpoint }}'
- name: InstanceId
value: '{{ InstanceId }}'
- name: UserData
value: '{{ UserData }}'
- name: ClassicLinkVPCSecurityGroups
value:
- '{{ ClassicLinkVPCSecurityGroups[0] }}'
- name: BlockDeviceMappings
value:
- Ebs:
SnapshotId: '{{ SnapshotId }}'
VolumeType: '{{ VolumeType }}'
Encrypted: '{{ Encrypted }}'
Throughput: '{{ Throughput }}'
Iops: '{{ Iops }}'
VolumeSize: '{{ VolumeSize }}'
DeleteOnTermination: '{{ DeleteOnTermination }}'
NoDevice: '{{ NoDevice }}'
VirtualName: '{{ VirtualName }}'
DeviceName: '{{ DeviceName }}'
- name: IamInstanceProfile
value: '{{ IamInstanceProfile }}'
- name: KernelId
value: '{{ KernelId }}'
- name: AssociatePublicIpAddress
value: '{{ AssociatePublicIpAddress }}'
- name: ClassicLinkVPCId
value: '{{ ClassicLinkVPCId }}'
- name: EbsOptimized
value: '{{ EbsOptimized }}'
- name: KeyName
value: '{{ KeyName }}'
- name: SpotPrice
value: '{{ SpotPrice }}'
- name: ImageId
value: '{{ ImageId }}'
- name: InstanceType
value: '{{ InstanceType }}'
- name: RamDiskId
value: '{{ RamDiskId }}'
- name: InstanceMonitoring
value: '{{ InstanceMonitoring }}'
DELETE
example
/*+ delete */
DELETE FROM aws.autoscaling.launch_configurations
WHERE data__Identifier = '<LaunchConfigurationName>'
AND region = 'us-east-1';
Permissions
To operate on the launch_configurations
resource, the following permissions are required:
Read
autoscaling:DescribeLaunchConfigurations
Create
autoscaling:CreateLaunchConfiguration,
autoscaling:DescribeLaunchConfigurations,
iam:PassRole
List
autoscaling:DescribeLaunchConfigurations
Delete
autoscaling:DeleteLaunchConfiguration,
autoscaling:DescribeLaunchConfigurations