f5networks.f5_modules.bigiq_device_info – Collect information from F5 BIG-IQ devices

Note

This plugin is part of the f5networks.f5_modules collection.

To install it use: ansible-galaxy collection install f5networks.f5_modules.

To use it in a playbook, specify: f5networks.f5_modules.bigiq_device_info.

New in version 1.0.0: of f5networks.f5_modules

Synopsis

  • Collect information from F5 BIG-IQ devices.

  • This module was called bigiq_device_facts before Ansible 2.9. The usage did not change.

Parameters

Parameter Choices/Defaults Comments
gather_subset
list / elements=string / 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 1.0.0 of f5networks.f5_modules
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.
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:
  • 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

  • This module is supported with all BIGIQ versions

  • With BIGIQ 7.0 and later, a few metadata fields not included/supported (i.e. uptime, product_changelist, product_jobid)

  • 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 f5networks.f5_modules.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
dictionary
changed
Volumes on the device and versions of software installed in those volumes.

Sample:
{'build': '0.0.4', 'isActive': 'yes', 'product': 'BIG-IP', 'version': '13.1.1', 'volume': 'HD1.1'}
 
state
string
changed
State of the device.

Sample:
ACTIVE
 
tags
dictionary
changed
Misc tags that are assigned to the device.

Sample:
{'BIGIQ_SSG_name': 'tim-ssg', 'BIGIQ_tier_2_device': '2018-08-22T13:30:47.693-07:00'}
 
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
success
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
success
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
success
The model of the hardware.

Sample:
Virtual Disk
   
name
string
success
The name of the hardware.

Sample:
HD1
   
type
string
success
The type of hardware.

Sample:
physical-disk
   
versions
complex
success
Hardware specific properties

     
name
string
success
Name of the property

Sample:
Size
     
version
string
success
Value of the property

Sample:
154.00G
 
host_board_part_revision
string
success
Revision of the host board.

 
host_board_serial
string
success
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
success
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
success
Platform identifier.

Sample:
Z100
 
product_build
string
success
Build version of the release version.

Sample:
0.0.1
 
product_build_date
string
success
Human readable build date.

Sample:
Tue May 15 15:26:30 PDT 2018
 
product_built
integer
success
Unix timestamp of when the product was built.

Sample:
180515152630
 
product_changelist
integer
success
Changelist that product branches from.
Not supported with BIGIQ 7.0 and later versions

Sample:
2557198
 
product_code
string
success
Code identifying the product.

Sample:
BIG-IQ
 
product_jobid
integer
success
ID of the job that built the product version.
Not supported with BIGIQ 7.0 and later versions

Sample:
1012030
 
product_version
string
success
Major product version of the running software.

Sample:
6.0.0
 
switch_board_part_revision
string
success
Switch board revision.

 
switch_board_serial
string
success
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
success
Time, in seconds, since the system booted.
Not supported with BIGIQ 7.0 and later versions

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


Authors

  • Tim Rupp (@caphrim007)