- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# bigiq_device_info – Collect information from F5 BIG-IQ devices

New in version 2.8.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Collect information from F5 BIG-IQ devices.
- This module was called `bigiq_device_facts` before Ansible 2.9. The usage did not change.

Aliases: bigiq_device_facts

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
gather_subset list / required | Choices: all applications managed-devices purchased-pool-licenses regkey-pools system-info vlans !all !applications !managed-devices !purchased-pool-licenses !regkey-pools !system-info !vlans | When supplied, this argument will restrict the information returned to a given subset. Can specify a list of values to include a larger subset. Values can also be used with an initial `!` to specify that a specific subset should not be collected.
provider dictionary added in 2.5 |  | A dict object containing connection details.
| auth_provider string |  | Configures the auth provider for to obtain authentication tokens from the remote device. This option is really used when working with BIG-IQ devices.
| password string / required |  | The password for the user account used to connect to the BIG-IP. You may omit this option by setting the environment variable `F5_PASSWORD`. aliases: pass, pwd
| server string / required |  | The BIG-IP host. You may omit this option by setting the environment variable `F5_SERVER`.
| server_port integer | Default: 443 | The BIG-IP server port. You may omit this option by setting the environment variable `F5_SERVER_PORT`.
| ssh_keyfile path |  | Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. You may omit this option by setting the environment variable `ANSIBLE_NET_SSH_KEYFILE`.
| timeout integer |  | Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
| transport string | Choices: cli rest ← | Configures the transport connection to use when connecting to the remote device.
| user string / required |  | The username to connect to the BIG-IP with. This user must have administrative privileges on the device. You may omit this option by setting the environment variable `F5_USER`.
| validate_certs boolean | Choices: no yes ← | If `no`, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates. You may omit this option by setting the environment variable `F5_VALIDATE_CERTS`.

## Notes

Note

- For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
- Requires BIG-IP software version >= 12.
- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.

## Examples

    - name: Collect BIG-IQ information
      bigiq_device_info:
        gather_subset:
          - system-info
          - vlans
        provider:
          server: lb.mydomain.com
          user: admin
          password: secret
      delegate_to: localhost

    - name: Collect all BIG-IQ information
      bigiq_device_info:
        gather_subset:
          - all
        provider:
          server: lb.mydomain.com
          user: admin
          password: secret
      delegate_to: localhost

    - name: Collect all BIG-IP information except trunks
      bigiq_device_info:
        gather_subset:
          - all
          - "!trunks"
        provider:
          server: lb.mydomain.com
          user: admin
          password: secret
      delegate_to: localhost

## Return Values

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

Key | Returned | Description
--- | --- | ---
applications complex | When `managed-devices` is specified in `gather_subset`. | Application related information Sample: hash/dictionary of values
| active_alerts integer | changed | Number of alerts active on the application.
| bad_traffic float | changed | Percent of traffic to application that is determined to be 'bad'. This value is dependent on `protection_mode` being enabled. Sample: 1.7498
| bad_traffic_growth boolean | changed | Whether or not Bad Traffic Growth alerts are configured to be triggered or not.
| connections float | changed | Current number of connections established to the application. Sample: 3.06
| enhanced_analytics boolean | changed | Whether enhanced analytics is enabled for the application or not. Sample: True
| health string | changed | Health of the application. Sample: Good
| id string | changed | ID of the application as known to the BIG-IQ. Sample: 996baae8-5d1d-3662-8a2d-3612fa2aceae
| name string | changed | Name of the application. Sample: site12http.example.com
| new_connections float | changed | Number of new connections being established per second. Sample: 0.35
| protection_mode string | changed | The type of F5 Web Application Security Service protection on the application. Sample: Not Protected
| response_time float | changed | Measured response time of the application in milliseconds. Sample: 0.02
| status string | changed | Current state of the application. Sample: DEPLOYED
| transactions_per_second float | changed | Current measurement of Transactions Per second being handled by the application. Sample: 0.87
managed_devices complex | When `managed-devices` is specified in `gather_subset`. | Managed device related information. Sample: hash/dictionary of values
| address string | changed | Address where the device was discovered. Sample: 10.10.10.10
| build string | changed | Build of the version. Sample: 0.0.4
| device_uri string | changed | URI to reach the management interface of the device. Sample: https://10.10.10.10:443
| edition string | changed | Edition string of the product version. Sample: Final
| group_name string | changed | BIG-IQ group that the device is a member of. Sample: cm-bigip-allBigIpDevices
| hostname string | changed | Discovered hostname of the device. Sample: tier2labB1.lab.fp.foo.com
| https_port integer | changed | HTTPS port available on the management interface of the device. Sample: 443
| is_clustered boolean | changed | Whether the device is clustered or not.
| is_license_expired boolean | changed | Whether the license on the device is expired or not. Sample: True
| is_virtual boolean | changed | Whether the device is a virtual edition or not. Sample: True
| machine_id string | changed | Machine specific ID assigned to this device by BIG-IQ. Sample: c141bc88-f734-4434-be64-a3e9ea98356e
| management_address string | changed | IP address of the management interface on the device. Sample: 10.10.10.10
| mcp_device_name string | changed | Device name as known by MCPD on the BIG-IP. Sample: /Common/tier2labB1.lab.fp.foo.com
| product string | changed | Product that the managed device is identified as. Sample: BIG-IP
| rest_framework_version string | changed | REST framework version running on the device Sample: 13.1.1-0.0.4
| self_link string | changed | Internal reference to the managed device in BIG-IQ. Sample: https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/c141bc88-f734-4434-be64-a3e9ea98356e
| slots complex | changed | Volumes on the device and versions of software installed in those volumes. Sample: {'volume': 'HD1.1', 'product': 'BIG-IP', 'version': '13.1.1', 'build': '0.0.4', 'isActive': 'yes'}
| state string | changed | State of the device. Sample: ACTIVE
| tags complex | changed | Misc tags that are assigned to the device. Sample: {'BIGIQ_tier_2_device': '2018-08-22T13:30:47.693-07:00', 'BIGIQ_SSG_name': 'tim-ssg'}
| trust_domain_guid string | changed | GUID of the trust domain the device is part of. Sample: 40ddf541-e604-4905-bde3005056813e36
| uuid string | changed | UUID of the device in BIG-IQ. Sample: c141bc88-f734-4434-be64-a3e9ea98356e
| version string | changed | Version of TMOS installed on the device. Sample: 13.1.1
purchased_pool_licenses complex | When `purchased-pool-licenses` is specified in `gather_subset`. | Purchased Pool License related information. Sample: hash/dictionary of values
| base_reg_key string | changed | Base registration key of the purchased pool Sample: XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXX
| dossier string | changed | Dossier of the purchased pool license Sample: d6bd4b8ba5...e9a1a1199b73af9932948a
| evaluation_end_date_time string | changed | Date that evaluation license ends. Sample: 2018-10-11T00:00:00-07:00
| evaluation_start_date_time string | changed | Date that evaluation license starts. Sample: 2018-09-09T00:00:00-07:00
| free_device_licenses integer | changed | Number of free licenses remaining. Sample: 34
| license_end_date_time string | changed | Date that the license expires. Sample: 2018-10-11T00:00:00-07:00
| license_start_date_time string | changed | Date that the license starts. Sample: 2018-09-09T00:00:00-07:00
| licensed_date_time string | changed | Timestamp that the pool was licensed. Sample: 2018-09-10T00:00:00-07:00
| licensed_version string | changed | Version of BIG-IQ that is licensed. Sample: 6.0.1
| name string | changed | Name of the purchased pool Sample: my-pool1
| registration_key string | changed | Purchased pool license key. Sample: XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXX
| state string | changed | State of the purchased pool license Sample: LICENSED
| total_device_licenses integer | changed | Total number of licenses in the pool. Sample: 40
| uuid string | changed | UUID of the purchased pool license Sample: b2112329-cba7-4f1f-9a26-fab9be416d60
| vendor string | changed | Vendor who provided the license Sample: F5 Networks, Inc
regkey_pools complex | When `regkey-pools` is specified in `gather_subset`. | Regkey Pool related information. Sample: hash/dictionary of values
| id string | changed | ID of the regkey pool. Sample: 4f9b565c-0831-4657-b6c2-6dde6182a502
| name string | changed | Name of the regkey pool. Sample: pool1
| offerings complex |  | List of the offerings in the pool. Sample: hash/dictionary of values
|  | dossier string | changed | Dossier of the license. Sample: d6bd4b8ba5...e9a1a1199b73af9932948a
|  | evaluation_end_date_time string | changed | Date that evaluation license ends. Sample: 2018-10-11T00:00:00-07:00
|  | evaluation_start_date_time string | changed | Date that evaluation license starts. Sample: 2018-09-09T00:00:00-07:00
|  | license_end_date_time string | changed | Date that the license expires. Sample: 2018-10-11T00:00:00-07:00
|  | license_start_date_time string | changed | Date that the license starts. Sample: 2018-09-09T00:00:00-07:00
|  | licensed_date_time string | changed | Timestamp that the regkey was licensed. Sample: 2018-09-10T00:00:00-07:00
|  | licensed_version string | changed | Version of BIG-IQ that is licensed. Sample: 6.0.1
|  | name string | changed | Name of the regkey. Sample: regkey1
|  | registration_key string | changed | Registration license key. Sample: XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXX
|  | state string | changed | State of the regkey license Sample: LICENSED
| total_offerings integer | changed | Total number of offerings in the pool Sample: 10
system_info complex | When `system-info` is specified in `gather_subset`. | System info related information. Sample: hash/dictionary of values
| base_mac_address string | changed | Media Access Control address (MAC address) of the device. Sample: fa:16:3e:c3:42:6f
| chassis_serial string |  | Serial of the chassis Sample: 11111111-2222-3333-444444444444
| hardware_information complex | changed | Information related to the hardware (drives and CPUs) of the system.
|  | model string |  | The model of the hardware. Sample: Virtual Disk
|  | name string |  | The name of the hardware. Sample: HD1
|  | type string |  | The type of hardware. Sample: physical-disk
|  | versions complex |  | Hardware specific properties
|  |  | name string |  | Name of the property Sample: Size
|  |  | version string |  | Value of the property Sample: 154.00G
| host_board_part_revision string |  | Revision of the host board.
| host_board_serial string |  | Serial of the host board.
| is_admin_password_changed boolean | changed | Whether the admin password was changed from its default or not. Sample: True
| is_root_password_changed boolean | changed | Whether the root password was changed from its default or not.
| is_system_setup boolean | changed | Whether the system has been setup or not. Sample: True
| marketing_name string | changed | Marketing name of the device platform. Sample: BIG-IQ Virtual Edition
| package_edition string | changed | Displays the software edition. Sample: Point Release 7
| package_version string |  | A string combining the `product_build` and `product_build_date`. Sample: Build 0.0.1 - Tue May 15 15:26:30 PDT 2018
| platform string |  | Platform identifier. Sample: Z100
| product_build string |  | Build version of the release version. Sample: 0.0.1
| product_build_date string |  | Human readable build date. Sample: Tue May 15 15:26:30 PDT 2018
| product_built integer |  | Unix timestamp of when the product was built. Sample: 180515152630
| product_changelist integer |  | Changelist that product branches from. Sample: 2557198
| product_code string |  | Code identifying the product. Sample: BIG-IQ
| product_jobid integer |  | ID of the job that built the product version. Sample: 1012030
| product_version string |  | Major product version of the running software. Sample: 6.0.0
| switch_board_part_revision string |  | Switch board revision.
| switch_board_serial string |  | Serial of the switch board.
| time complex | changed | Mapping of the current time information to specific time-named keys.
|  | day integer | changed | The current day of the month, in numeric form. Sample: 7
|  | hour integer | changed | The current hour of the day in 24-hour form. Sample: 18
|  | minute integer | changed | The current minute of the hour. Sample: 16
|  | month integer | changed | The current month, in numeric form. Sample: 6
|  | second integer | changed | The current second of the minute. Sample: 51
|  | year integer | changed | The current year in 4-digit form. Sample: 2018
| uptime integer |  | Time, in seconds, since the system booted. Sample: 603202
vlans complex | When `vlans` is specified in `gather_subset`. | List of VLAN information. Sample: hash/dictionary of values
| auto_lasthop string | changed | Allows the system to send return traffic to the MAC address that transmitted the request, even if the routing table points to a different network or interface. Sample: enabled
| cmp_hash_algorithm string | changed | Specifies how the traffic on the VLAN will be disaggregated. Sample: default
| description string | changed | Description of the VLAN. Sample: My vlan
| failsafe_action string | changed | Action for the system to take when the fail-safe mechanism is triggered. Sample: reboot
| failsafe_enabled boolean | changed | Whether failsafe is enabled or not. Sample: True
| failsafe_timeout integer | changed | Number of seconds that an active unit can run without detecting network traffic on this VLAN before it starts a failover. Sample: 90
| if_index integer | changed | Index assigned to this VLAN. It is a unique identifier assigned for all objects displayed in the SNMP IF-MIB. Sample: 176
| interfaces complex | changed | List of tagged or untagged interfaces and trunks that you want to configure for the VLAN.
|  | full_path string | changed | Full name of the resource as known to BIG-IP. Sample: 1.3
|  | name string | changed | Relative name of the resource in BIG-IP. Sample: 1.3
|  | tagged boolean | changed | Whether the interface is tagged or not.
| learning_mode string | changed | Whether switch ports placed in the VLAN are configured for switch learning, forwarding only, or dropped. Sample: enable-forward
| mtu integer | changed | Specific maximum transition unit (MTU) for the VLAN. Sample: 1500
| sflow_poll_interval integer | changed | Maximum interval in seconds between two pollings.
| sflow_poll_interval_global boolean | changed | Whether the global VLAN poll-interval setting, overrides the object-level poll-interval setting.
| sflow_sampling_rate integer | changed | Ratio of packets observed to the samples generated.
| sflow_sampling_rate_global boolean | changed | Whether the global VLAN sampling-rate setting, overrides the object-level sampling-rate setting. Sample: True
| source_check_enabled boolean | changed | Specifies that only connections that have a return route in the routing table are accepted. Sample: True
| tag integer | changed | Tag number for the VLAN. Sample: 30
| true_mac_address string | changed | Media access control (MAC) address for the lowest-numbered interface assigned to this VLAN. Sample: fa:16:3e:10:da:ff

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by an Ansible Partner. [certified]

### Authors

- Tim Rupp (@caphrim007)

Hint

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