community / community.aws / 0.1.2 / 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 (0.1.2) — module
Install with ansible-galaxy collection install community.aws:==0.1.2
collections: - name: community.aws version: 0.1.2
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 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. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region) type: str vpc_id: description: - VPC ID, used when resolving security group names to IDs. type: str ec2_url: aliases: - aws_endpoint_url - endpoint_url description: - URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will use EC2 endpoints). Ignored for modules where region is required. Must be specified for all other modules if region is not used. If not set then the value of the EC2_URL environment variable, if any, is used. type: str profile: aliases: - aws_profile description: - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token) and support for passing them at the same time as I(profile) has been deprecated. - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually exclusive with I(profile) after 2022-06-01. 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 aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto) for more boto configuration. type: dict ramdisk_id: description: - A RAM disk id for the instances. 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 aws_ca_bundle: description: - The location of a CA Bundle to use when validating SSL certificates. - Not used by boto 2 based modules. - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied from the controller if not run locally.' 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 aws_access_key: aliases: - ec2_access_key - access_key description: - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01. type: str aws_secret_key: aliases: - ec2_secret_key - secret_key description: - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01. type: str security_token: aliases: - aws_security_token - access_token description: - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(security_token) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-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 "no", SSL certificates will not be validated for communication with the AWS APIs. 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: 'no' description: - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action" API calls made during a task, outputing the set to the resource_actions key in the task results. Use the aws_resource_action callback to output to total list made during a playbook. The 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: ' ' 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