On this page
ec2_eni_facts – Gather facts about ec2 ENI interfaces in AWS
New in version 2.0.
Synopsis
- Gather facts about ec2 ENI interfaces in AWS
 
Requirements
The below requirements are needed on the host that executes this module.
- boto
 - boto3
 - python >= 2.6
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| aws_access_key
        
        string
         | 
      
        
        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
        
        string
         | 
      
        
        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  | 
     |
| debug_botocore_endpoint_logs
        
        boolean
        
       
        added in 2.8
         | 
      
       
  | 
      
        
        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.
         | 
     
| ec2_url
        
        string
         | 
      
        
        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 https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInterfaces.html for possible filters.
         | 
     |
| profile
        
        string
         | 
      
        
        Uses a boto profile. Only works with boto >= 2.24.0.
         | 
     |
| region
        
        string
         | 
      
        
        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
        
        string
         | 
      
        
        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
         | 
      
       
  | 
      
        
        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_URLorEC2_URL,AWS_ACCESS_KEY_IDorAWS_ACCESS_KEYorEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYorAWS_SECRET_KEYorEC2_SECRET_KEY,AWS_SECURITY_TOKENorEC2_SECURITY_TOKEN,AWS_REGIONorEC2_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_REGIONorEC2_REGIONcan 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 ENIs
- ec2_eni_facts:
# Gather facts about a particular ENI
- ec2_eni_facts:
    filters:
      network-interface-id: eni-xxxxxxx
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | |
|---|---|---|---|
| network_interfaces
        
        complex
         | 
      always | 
        
        List of matching elastic network interfaces
          | 
     |
| association
        
        dictionary
         | 
      always, empty dict if no association exists | 
        
        Info of associated elastic IP (EIP)
         Sample:
        
       
        {'allocation_id': 'eipalloc-5sdf123', 'association_id': 'eipassoc-8sdf123', 'ip_owner_id': '4415120123456', 'public_dns_name': 'ec2-52-1-0-63.compute-1.amazonaws.com', 'public_ip': '52.1.0.63'}
         | 
     |
| attachment
        
        dictionary
         | 
      always, empty dict if ENI is not attached | 
        
        Infor about attached ec2 instance
         Sample:
        
       
        {'attach_time': '2017-08-05T15:25:47+00:00', 'attachment_id': 'eni-attach-149d21234', 'delete_on_termination': False, 'device_index': 1, 'instance_id': 'i-15b8d3cadbafa1234', 'instance_owner_id': '4415120123456', 'status': 'attached'}
         | 
     |
| availability_zone
        
        string
         | 
      always | 
        
        Availability zone of ENI
         Sample:
        
       
        us-east-1b
         | 
     |
| description
        
        string
         | 
      always | 
        
        Description text for ENI
         Sample:
        
       
        My favourite network interface
         | 
     |
| groups
        
        list
         | 
      always | 
        
        List of attached security groups
         Sample:
        
       
        [{'group_id': 'sg-26d0f1234', 'group_name': 'my_ec2_security_group'}]
         | 
     |
| id
        
        string
         | 
      always | 
        
        The id of the ENI (alias for network_interface_id)
         Sample:
        
       
        eni-392fsdf
         | 
     |
| interface_type
        
        string
         | 
      always | 
        
        Type of the network interface
         Sample:
        
       
        interface
         | 
     |
| ipv6_addresses
        
        list
         | 
      always | 
        
        List of IPv6 addresses for this interface
          | 
     |
| mac_address
        
        string
         | 
      always | 
        
        MAC address of the network interface
         Sample:
        
       
        0a:f8:10:2f:ab:a1
         | 
     |
| network_interface_id
        
        string
         | 
      always | 
        
        The id of the ENI
         Sample:
        
       
        eni-392fsdf
         | 
     |
| owner_id
        
        string
         | 
      always | 
        
        AWS account id of the owner of the ENI
         Sample:
        
       
        4415120123456
         | 
     |
| private_dns_name
        
        string
         | 
      always | 
        
        Private DNS name for the ENI
         Sample:
        
       
        ip-172-16-1-180.ec2.internal
         | 
     |
| private_ip_address
        
        string
         | 
      always | 
        
        Private IP address for the ENI
         Sample:
        
       
        172.16.1.180
         | 
     |
| private_ip_addresses
        
        list
         | 
      always | 
        
        List of private IP addresses attached to the ENI
          | 
     |
| requester_id
        
        string
         | 
      always | 
        
        The ID of the entity that launched the ENI
         Sample:
        
       
        AIDAIONYVJQNIAZFT3ABC
         | 
     |
| requester_managed
        
        boolean
         | 
      always | 
        
        Indicates whether the network interface is being managed by an AWS service.
          | 
     |
| source_dest_check
        
        boolean
         | 
      always | 
        
        Indicates whether the network interface performs source/destination checking.
          | 
     |
| status
        
        string
         | 
      always | 
        
        Indicates if the network interface is attached to an instance or not
         Sample:
        
       
        in-use
         | 
     |
| subnet_id
        
        string
         | 
      always | 
        
        Subnet ID the ENI is in
         Sample:
        
       
        subnet-7bbf01234
         | 
     |
| tag_set
        
        dictionary
         | 
      always | 
        
        Dictionary of tags added to the ENI
          | 
     |
| vpc_id
        
        string
         | 
      always | 
        
        ID of the VPC the network interface it part of
         Sample:
        
       
        vpc-b3f1f123
         | 
     |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- Rob White (@wimnat)
 
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.8/modules/ec2_eni_facts_module.html