bigiq_device_facts – Collect facts from F5 BIG-IQ devices

From Get docs
Ansible/docs/2.8/modules/bigiq device facts module


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

  • 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

  • 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

  • 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

  • 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:

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:

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.


© 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/bigiq_device_facts_module.html