ansible.builtin.ec2_asg_info (v2.9.13) — module

Gather information about ec2 Auto Scaling Groups (ASGs) in AWS

| "added in version" 2.2 of ansible.builtin"

Authors: Rob White (@wimnat)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.13

Description

Gather information about ec2 Auto Scaling Groups (ASGs) in AWS

This module was called C(ec2_asg_facts) before Ansible 2.9. The usage did not change.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Note: These examples do not set authentication details, see the AWS Guide for details.

# Find all groups
- ec2_asg_info:
  register: asgs
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Find a group with matching name/prefix
- ec2_asg_info:
    name: public-webserver-asg
  register: asgs
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Find a group with matching tags
- ec2_asg_info:
    tags:
      project: webapp
      env: production
  register: asgs
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Find a group with matching name/prefix and tags
- ec2_asg_info:
    name: myproject
    tags:
      env: production
  register: asgs
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Fail if no groups are found
- ec2_asg_info:
    name: public-webserver-asg
  register: asgs
  failed_when: "{{ asgs.results | length == 0 }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Fail if more than 1 group is found
- ec2_asg_info:
    name: public-webserver-asg
  register: asgs
  failed_when: "{{ asgs.results | length > 1 }}"

Inputs

    
name:
    description:
    - The prefix or name of the auto scaling group(s) you are searching for.
    - 'Note: This is a regular expression match with implicit ''^'' (beginning of string).
      Append ''$'' for a complete name match.'
    required: false

tags:
    description:
    - 'A dictionary/hash of tags in the format { tag1_name: ''tag1_value'', tag2_name:
      ''tag2_value'' } to match against the auto scaling group(s) you are searching for.

      '
    required: false

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

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

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

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

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

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

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

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

Outputs

auto_scaling_group_arn:
  description: The Amazon Resource Name of the ASG
  returned: success
  sample: arn:aws:autoscaling:us-west-2:1234567890:autoScalingGroup:10787c52-0bcb-427d-82ba-c8e4b008ed2e:autoScalingGroupName/public-webapp-production-1
  type: str
auto_scaling_group_name:
  description: Name of autoscaling group
  returned: success
  sample: public-webapp-production-1
  type: str
availability_zones:
  description: List of Availability Zones that are enabled for this ASG.
  returned: success
  sample:
  - us-west-2a
  - us-west-2b
  - us-west-2a
  type: list
created_time:
  description: The date and time this ASG was created, in ISO 8601 format.
  returned: success
  sample: '2015-11-25T00:05:36.309Z'
  type: str
default_cooldown:
  description: The default cooldown time in seconds.
  returned: success
  sample: 300
  type: int
desired_capacity:
  description: The number of EC2 instances that should be running in this group.
  returned: success
  sample: 3
  type: int
health_check_period:
  description: Length of time in seconds after a new EC2 instance comes into service
    that Auto Scaling starts checking its health.
  returned: success
  sample: 30
  type: int
health_check_type:
  description: The service you want the health status from, one of "EC2" or "ELB".
  returned: success
  sample: ELB
  type: str
instances:
  description: List of EC2 instances and their status as it relates to the ASG.
  returned: success
  sample:
  - availability_zone: us-west-2a
    health_status: Healthy
    instance_id: i-es22ad25
    launch_configuration_name: public-webapp-production-1
    lifecycle_state: InService
    protected_from_scale_in: 'false'
  type: list
launch_config_name:
  description: 'Name of launch configuration associated with the ASG. Same as launch_configuration_name,
    provided for compatibility with ec2_asg module.

    '
  returned: success
  sample: public-webapp-production-1
  type: str
launch_configuration_name:
  description: Name of launch configuration associated with the ASG.
  returned: success
  sample: public-webapp-production-1
  type: str
load_balancer_names:
  description: List of load balancers names attached to the ASG.
  returned: success
  sample:
  - elb-webapp-prod
  type: list
max_size:
  description: Maximum size of group
  returned: success
  sample: 3
  type: int
min_size:
  description: Minimum size of group
  returned: success
  sample: 1
  type: int
new_instances_protected_from_scale_in:
  description: Whether or not new instances a protected from automatic scaling in.
  returned: success
  sample: 'false'
  type: bool
placement_group:
  description: Placement group into which instances are launched, if any.
  returned: success
  sample: None
  type: str
status:
  description: The current state of the group when DeleteAutoScalingGroup is in progress.
  returned: success
  sample: None
  type: str
tags:
  description: List of tags for the ASG, and whether or not each tag propagates to
    instances at launch.
  returned: success
  sample:
  - key: Name
    propagate_at_launch: 'true'
    resource_id: public-webapp-production-1
    resource_type: auto-scaling-group
    value: public-webapp-production-1
  - key: env
    propagate_at_launch: 'true'
    resource_id: public-webapp-production-1
    resource_type: auto-scaling-group
    value: production
  type: list
target_group_arns:
  description: List of ARNs of the target groups that the ASG populates
  returned: success
  sample:
  - arn:aws:elasticloadbalancing:ap-southeast-2:123456789012:targetgroup/target-group-host-hello/1a2b3c4d5e6f1a2b
  - arn:aws:elasticloadbalancing:ap-southeast-2:123456789012:targetgroup/target-group-path-world/abcd1234abcd1234
  type: list
target_group_names:
  description: List of names of the target groups that the ASG populates
  returned: success
  sample:
  - target-group-host-hello
  - target-group-path-world
  type: list
termination_policies:
  description: A list of termination policies for the group.
  returned: success
  sample:
  - Default
  type: str