bigiq_device_facts – Collect facts from F5 BIG-IQ devices

New in version 2.8.

Synopsis

  • Collect facts from F5 BIG-IQ devices.

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 facts 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.
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
provider
dictionary
added in 2.5
A dict object containing connection details.
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
Default:
10
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.
server
string / required
The BIG-IP host.
You may omit this option by setting the environment variable F5_SERVER.
server_port
integer
added in 2.2
Default:
443
The BIG-IP server port.
You may omit this option by setting the environment variable F5_SERVER_PORT.
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
added in 2.0
    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 facts
  bigiq_device_facts:
    gather_subset:
      - system-info
      - vlans
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

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

- name: Collect all BIG-IP facts except trunks
  bigiq_device_facts:
    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 facts

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 facts.

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 facts.

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 facts.

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 facts.

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 facts.

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

Authors

  • Tim Rupp (@caphrim007)

Hint

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