ec2_remote_facts – Gather facts about ec2 instances in AWS

New in version 2.0.

DEPRECATED

Removed in Ansible:
version: 2.8
Why: Replaced with boto3 version.
Alternative: Use ec2_instance_facts instead.

Synopsis

  • Gather facts about ec2 instances in AWS

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • boto

Parameters

Parameter Choices/Defaults Comments
aws_access_key
-
AWS access key. If not set then the value of the AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY or EC2_ACCESS_KEY environment variable is used.

aliases: ec2_access_key, access_key
aws_secret_key
-
AWS secret key. If not set then the value of the AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, or EC2_SECRET_KEY environment variable is used.

aliases: ec2_secret_key, secret_key
ec2_url
-
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.
filters
-
A dict of filters to apply. Each dict item consists of a filter key and a filter value. See http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for possible filters.
profile
-
added in 1.6
Uses a boto profile. Only works with boto >= 2.24.0.
region
-
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 http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

aliases: aws_region, ec2_region
security_token
-
added in 1.6
AWS STS security token. If not set then the value of the AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN environment variable is used.

aliases: access_token
validate_certs
boolean
added in 1.5
    Choices:
  • no
  • yes
When set to "no", SSL certificates will not be validated for boto versions >= 2.6.0.

Notes

Note

  • If parameters are not set within the module, the following environment variables can be used in decreasing order of precedence AWS_URL or EC2_URL, AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY or EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY or EC2_SECRET_KEY, AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN, AWS_REGION or EC2_REGION
  • Ansible uses the boto configuration file (typically ~/.boto) if no credentials are provided. See https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION or EC2_REGION can be typically be used to specify the AWS region, when required, but this can also be configured in the boto config file

Examples

# Note: These examples do not set authentication details, see the AWS Guide for details.

# Gather facts about all ec2 instances
- ec2_remote_facts:

# Gather facts about all running ec2 instances with a tag of Name:Example
- ec2_remote_facts:
    filters:
      instance-state-name: running
      "tag:Name": Example

# Gather facts about instance i-123456
- ec2_remote_facts:
    filters:
      instance-id: i-123456

# Gather facts about all instances in vpc-123456 that are t2.small type
- ec2_remote_facts:
    filters:
      vpc-id: vpc-123456
      instance-type: t2.small

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
instances
complex
when EC2 instances are found in AWS region otherwise empty
provides details about EC2 instance(s) found in AWS region

ami_launch_index
string
success
if more than one instance is started at the same time, this value indicates the order in which the instance was launched, the value of the first instance launched is 0

Sample:
0
architecture
string
success
the instance architecture

Sample:
x86_64
block_device_mapping
complex
success
a structure describing the attached volumes to instance

attach_time
string
success
the attach time for an EBS volume mapped to the instance

Sample:
2017-01-03T15:19:52.000Z
delete_on_termination
boolean
success
indicates whether the EBS volume is deleted on instance termination

Sample:
true
device_name
string
success
the device name for the EBS volume

Sample:
/dev/sda1
status
string
success
the status for the EBS volume

Sample:
attaching
volume_id
string
success
the volume id of the EBS volume

Sample:
vol-3160f90df06b24080
client_token
string
success
the idempotency token provided when instance was launched

Sample:
Sample-awsmp-DFNBSML8ZMJ9
ebs_optimized
boolean
success
whether instance class has EBS optimized flag turned on

Sample:
true
groups
complex
success
a list security groups to which the network interface belongs

id
string
success
security group id

Sample:
sg-e203cf94
name
string
success
Sample:
Sample-Common-Sg
hypervisor
string
success
the hypervisor type of the instance

Sample:
xen
id
string
success
the id of the instance

Sample:
i-09275d68c04c1a16c
image_id
string
success
the id of the image used to launch the instance

Sample:
ami-1748d2f5
instance_profile
complex
success
the instance profile associated with the instance

arn
string
success
specifies an ARN of instance profile

Sample:
arn:aws:iam::171455704129:instance-profile/Sample-IamProfile
id
string
success
instance profile id

Sample:
AIPAD5WIZGNR9TH6LBFE4
interfaces
complex
success
a list of ENI associated to instance

id
string
success
the id of ENI

Sample:
eni-cf96b081
mac_address
string
success
the MAC address of ENI

Sample:
06:c4:fd:90:dc:61
kernel
string
success
the kernel id

Sample:
null
key_name
string
success
the name of the key pair used when the instance was launched

Sample:
MyKey
launch_time"
string
success
the time when the instance was launched

Sample:
2017-06-16T15:44:54.000Z
monitoring_state
string
success
indicates whether detailed monitoring is enabled

Sample:
disabled
private_dns_name
string
success
the private IPv4 DNS name of the instance

Sample:
ip-10-21-39-23.ag-net.com
private_ip_address
string
success
the private IPv4 address of the instance

Sample:
10.216.139.23
public_dns_name
string
success
the public DNS name of the instance

Sample:
ec2-54-194-252-215.eu-west-1.compute.amazonaws.com
public_ip_address
string
success
the public IPv4 address of the instance

Sample:
54.194.252.215
ramdisk
string
success
the RAM disk id

Sample:
null
region
string
success
the AWS region in which instance is running in

Sample:
eu-west-1
requester_id
string
success
the id of the entity that launched the instance on your behalf

Sample:
null
root_device_type
string
success
the type of root device that the instance uses

Sample:
ebs
source_destination_check
boolean
success
indicates whether the instance performs source/destination checking

Sample:
true
spot_instance_request_id
string
success
the id of the spot instance request

Sample:
null
state
string
success
a message that describes the state change

Sample:
running
tags
complex
success
a dictionary of key/value pairs assigned to the resource

key
string
success
the key of a tag assigned to the resource

Sample:
Environment
virtualization_type
string
success
the virtualization type of the instance

Sample:
hvm
vpc_id
string
success
the id of the VPC that the instance is running in

Sample:
vpc-12c9ae4f


Status

  • This module will be removed in version 2.8. [deprecated]
  • For more information see DEPRECATED.

Authors

  • Michael Schuett (@michaeljs1990)

Hint

If you notice any issues in this documentation you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/ec2_remote_facts_module.html