community / community.aws / 1.1.0 / module / ec2_lc Create or delete AWS Autoscaling Launch Configurations | "added in version" 1.0.0 of community.aws" Authors: Gareth Rushgrove (@garethr), Willem van Ketwich (@wilvk)community.aws.ec2_lc (1.1.0) — module
Install with ansible-galaxy collection install community.aws:==1.1.0
collections: - name: community.aws version: 1.1.0
Can create or delete AWS Autoscaling Configurations.
Works with the ec2_asg module to manage Autoscaling Groups.
# create a launch configuration using an AMI image and instance type as a basis - name: note that encrypted volumes are only supported in >= Ansible 2.4 community.aws.ec2_lc: name: special image_id: ami-XXX key_name: default security_groups: ['group', 'group2' ] instance_type: t1.micro volumes: - device_name: /dev/sda1 volume_size: 100 volume_type: io1 iops: 3000 delete_on_termination: true encrypted: true - device_name: /dev/sdb ephemeral: ephemeral0
- name: create a launch configuration using a running instance id as a basis community.aws.ec2_lc: name: special instance_id: i-00a48b207ec59e948 key_name: default security_groups: ['launch-wizard-2' ] volumes: - device_name: /dev/sda1 volume_size: 120 volume_type: io1 iops: 3000 delete_on_termination: true
- name: create a launch configuration to omit the /dev/sdf EBS device that is included in the AMI image community.aws.ec2_lc: name: special image_id: ami-XXX key_name: default security_groups: ['group', 'group2' ] instance_type: t1.micro volumes: - device_name: /dev/sdf no_device: true
- name: Use EBS snapshot ID for volume block: - name: Set Volume Facts ansible.builtin.set_fact: volumes: - device_name: /dev/sda1 volume_size: 20 ebs: snapshot: snap-XXXX volume_type: gp2 delete_on_termination: true encrypted: no - name: Create launch configuration community.aws.ec2_lc: name: lc1 image_id: ami-xxxx assign_public_ip: yes instance_type: t2.medium key_name: my-key security_groups: "['sg-xxxx']" volumes: "{{ volumes }}" register: lc_info
name: description: - Unique name for configuration. required: true type: str state: choices: - present - absent default: present description: - Register or deregister the instance. type: str region: aliases: - aws_region - ec2_region description: - The AWS region to use. - For global services such as IAM, Route53 and CloudFront, I(region) is ignored. - The C(AWS_REGION) or C(EC2_REGION) environment variables may also be used. - See the Amazon AWS documentation for more information U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). - The C(ec2_region) alias has been deprecated and will be removed in a release after 2024-12-01 - Support for the C(EC2_REGION) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str vpc_id: description: - VPC ID, used when resolving security group names to IDs. type: str profile: aliases: - aws_profile description: - A named AWS profile to use for authentication. - See the AWS documentation for more information about named profiles U(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html). - The C(AWS_PROFILE) environment variable may also be used. - The I(profile) option is mutually exclusive with the I(aws_access_key), I(aws_secret_key) and I(security_token) options. type: str volumes: description: - A list dictionaries defining the volumes to create. - For any volume, a volume size less than 1 will be interpreted as a request not to create the volume. elements: dict suboptions: delete_on_termination: default: false description: - Whether the volume should be automatically deleted when the instance is terminated. type: bool device_name: description: - The name for the volume (For example C(/dev/sda)). required: true type: str encrypted: default: false description: - Whether the volume should be encrypted using the 'aws/ebs' KMS CMK. type: bool ephemeral: description: - Whether the volume should be ephemeral. - Data on ephemeral volumes is lost when the instance is stopped. - Mutually exclusive with the I(snapshot) parameter. type: str iops: description: - The number of IOPS per second to provision for the volume. - Required when I(volume_type=io1). type: int no_device: description: - When I(no_device=true) the device will not be created. type: bool snapshot: description: - The ID of an EBS snapshot to copy when creating the volume. - Mutually exclusive with the I(ephemeral) parameter. type: str volume_size: description: - The size of the volume (in GiB). - Required unless one of I(ephemeral), I(snapshot) or I(no_device) is set. type: int volume_type: description: - The type of volume to create. - See U(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) for more information on the available volume types. type: str type: list image_id: description: - The AMI unique identifier to be used for the group. type: str key_name: description: - The SSH key name to be used for access to managed instances. type: str kernel_id: description: - Kernel id for the EC2 instance. type: str user_data: description: - Opaque blob of data which is made available to the ec2 instance. Mutually exclusive with I(user_data_path). type: str access_key: aliases: - aws_access_key_id - aws_access_key - ec2_access_key description: - AWS access key ID. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variables may also be used in decreasing order of preference. - The I(aws_access_key) and I(profile) options are mutually exclusive. - The I(aws_access_key_id) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_access_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_ACCESS_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found in the AWS documentation U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). type: dict ramdisk_id: description: - A RAM disk id for the instances. type: str secret_key: aliases: - aws_secret_access_key - aws_secret_key - ec2_secret_key description: - AWS secret access key. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variables may also be used in decreasing order of preference. - The I(secret_key) and I(profile) options are mutually exclusive. - The I(aws_secret_access_key) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_secret_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str spot_price: description: - The spot price you are bidding. Only applies for an autoscaling group with spot instances. type: float instance_id: description: - The Id of a running instance to use as a basis for a launch configuration. Can be used in place of I(image_id) and I(instance_type). type: str endpoint_url: aliases: - ec2_url - aws_endpoint_url - s3_url description: - URL to connect to instead of the default AWS endpoints. While this can be used to connection to other AWS-compatible services the amazon.aws and community.aws collections are only tested against AWS. - The C(AWS_URL) or C(EC2_URL) environment variables may also be used, in decreasing order of preference. - The I(ec2_url) and I(s3_url) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_URL) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_ca_bundle: description: - The location of a CA Bundle to use when validating SSL certificates. - The C(AWS_CA_BUNDLE) environment variable may also be used. type: path ebs_optimized: default: false description: - Specifies whether the instance is optimized for EBS I/O (true) or not (false). type: bool instance_type: description: - Instance type to use for the instance. - Required when creating a new Launch Configuration. type: str session_token: aliases: - aws_session_token - security_token - aws_security_token - access_token description: - AWS STS session token for use with temporary credentials. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SESSION_TOKEN), C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variables may also be used in decreasing order of preference. - The I(security_token) and I(profile) options are mutually exclusive. - Aliases I(aws_session_token) and I(session_token) were added in release 3.2.0, with the parameter being renamed from I(security_token) to I(session_token) in release 6.0.0. - The I(security_token), I(aws_security_token), and I(access_token) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) and C(AWS_SECURITY_TOKEN) environment variables has been deprecated and will be removed in a release after 2024-12-01. type: str user_data_path: description: - Path to the file that contains userdata for the ec2 instances. Mutually exclusive with I(user_data). type: path validate_certs: default: true description: - When set to C(false), SSL certificates will not be validated for communication with the AWS APIs. - Setting I(validate_certs=false) is strongly discouraged, as an alternative, consider setting I(aws_ca_bundle) instead. type: bool security_groups: description: - A list of security groups to apply to the instances. Since version 2.4 you can specify either security group names or IDs or a mix. Previous to 2.4, for VPC instances, specify security group IDs and for EC2-Classic, specify either security group names or IDs. elements: str type: list assign_public_ip: description: - Used for Auto Scaling groups that launch instances into an Amazon Virtual Private Cloud. Specifies whether to assign a public IP address to each instance launched in a Amazon VPC. type: bool placement_tenancy: choices: - default - dedicated description: - Determines whether the instance runs on single-tenant hardware or not. - When not set AWS will default to C(default). type: str classic_link_vpc_id: description: - Id of ClassicLink enabled VPC type: str instance_monitoring: default: false description: - Specifies whether instances are launched with detailed monitoring. type: bool instance_profile_name: description: - The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instances. type: str associate_public_ip_address: description: - The I(associate_public_ip_address) option does nothing and will be removed after 2022-06-01 type: bool debug_botocore_endpoint_logs: default: false description: - Use a C(botocore.endpoint) logger to parse the unique (rather than total) C("resource:action") API calls made during a task, outputing the set to the resource_actions key in the task results. Use the C(aws_resource_action) callback to output to total list made during a playbook. - The C(ANSIBLE_DEBUG_BOTOCORE_LOGS) environment variable may also be used. type: bool classic_link_vpc_security_groups: description: - A list of security group IDs with which to associate the ClassicLink VPC instances. elements: str type: list
arn: description: The Amazon Resource Name of the launch configuration. returned: when I(state=present) sample: arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name type: str changed: description: Whether the state of the launch configuration has changed. returned: always sample: false type: bool created_time: description: The creation date and time for the launch configuration. returned: when I(state=present) sample: '2017-11-03 23:46:44.841000' type: str image_id: description: The ID of the Amazon Machine Image used by the launch configuration. returned: when I(state=present) sample: ami-9be6f38c type: str instance_type: description: The instance type for the instances. returned: when I(state=present) sample: t1.micro type: str name: description: The name of the launch configuration. returned: when I(state=present) sample: launch_config_name type: str result: contains: PlacementTenancy: description: The tenancy of the instances, either default or dedicated. returned: when I(state=present) sample: default type: str associate_public_ip_address: description: (EC2-VPC) Indicates whether to assign a public IP address to each instance. returned: when I(state=present) sample: false type: bool block_device_mappings: contains: device_name: description: The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). returned: when I(state=present) sample: /dev/sda1 type: str ebs: contains: snapshot_id: description: The ID of the snapshot. returned: when I(state=present) type: str volume_size: description: The volume size, in GiB. returned: when I(state=present) sample: '100' type: str description: The information about the Amazon EBS volume. returned: when I(state=present) type: complex virtual_name: description: The name of the virtual device (for example, ephemeral0). returned: when I(state=present) sample: ephemeral0 type: str description: A block device mapping, which specifies the block devices. returned: when I(state=present) type: complex classic_link_vpc_id: description: The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. returned: when I(state=present) type: str classic_link_vpc_security_groups: description: The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. returned: when I(state=present) sample: [] type: list created_time: description: The creation date and time for the launch configuration. returned: when I(state=present) sample: '2017-11-03 23:46:44.841000' type: str delete_on_termination: description: Indicates whether the volume is deleted on instance termination. returned: when I(state=present) sample: true type: bool ebs_optimized: description: Indicates whether the instance is optimized for EBS I/O (true) or not (false). returned: when I(state=present) sample: false type: bool image_id: description: The ID of the Amazon Machine Image used by the launch configuration. returned: when I(state=present) sample: ami-9be6f38c type: str instance_monitoring: description: Indicates whether instances in this group are launched with detailed (true) or basic (false) monitoring. returned: when I(state=present) sample: true type: bool instance_profile_name: description: The name or Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. returned: when I(state=present) sample: null type: str instance_type: description: The instance type for the instances. returned: when I(state=present) sample: t1.micro type: str iops: description: The number of I/O operations per second (IOPS) to provision for the volume. returned: when I(state=present) type: int kernel_id: description: The ID of the kernel associated with the AMI. returned: when I(state=present) sample: '' type: str key_name: description: The name of the key pair. returned: when I(state=present) sample: testkey type: str launch_configuration_arn: description: The Amazon Resource Name (ARN) of the launch configuration. returned: when I(state=present) sample: arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name type: str member: description: '' returned: when I(state=present) sample: "\n " type: str name: description: The name of the launch configuration. returned: when I(state=present) sample: launch_config_name type: str ramdisk_id: description: The ID of the RAM disk associated with the AMI. returned: when I(state=present) sample: '' type: str security_groups: description: The security groups to associate with the instances. returned: when I(state=present) sample: - sg-5e27db2f type: list spot_price: description: The price to bid when launching Spot Instances. returned: when I(state=present) type: float use_block_device_types: description: Indicates whether to suppress a device mapping. returned: when I(state=present) sample: false type: bool user_data: description: The user data available to the instances. returned: when I(state=present) sample: '' type: str volume_type: description: The volume type (one of standard, io1, gp2). returned: when I(state=present) sample: io1 type: str description: The specification details for the launch configuration. returned: when I(state=present) type: complex security_groups: description: The security groups to associate with the instances. returned: when I(state=present) sample: - sg-5e27db2f type: list