community.network.fmgr_query – Query FortiManager data objects for use in Ansible workflows.

Note

This plugin is part of the community.network collection (version 1.3.0).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.fmgr_query.

Synopsis

  • Provides information on data objects within FortiManager so that playbooks can perform conditionals.

Parameters

Parameter Choices/Defaults Comments
adom
string
Default:
"root"
The ADOM the configuration should belong to.
custom_dict
string
ADVANCED USERS ONLY! REQUIRES KNOWLEDGE OF FMGR JSON API!
DICTIONARY JSON FORMAT ONLY -- Custom dictionary/datagram to send to the endpoint.
custom_endpoint
string
ADVANCED USERS ONLY! REQUIRES KNOWLEDGE OF FMGR JSON API!
The HTTP Endpoint on FortiManager you wish to GET from.
device_ip
string
The IP of the device you want to query.
device_serial
string
The serial number of the device you want to query.
device_unique_name
string
The desired "friendly" name of the device you want to query.
nodes
string
A LIST of firewalls in the cluster you want to verify i.e. ["firewall_A","firewall_B"].
object
string / required
    Choices:
  • device
  • cluster_nodes
  • task
  • custom
The data object we wish to query (device, package, rule, etc). Will expand choices as improves.
task_id
string
The ID of the task you wish to query status on. If left blank and object = 'task' a list of tasks are returned.

Examples

- name: QUERY FORTIGATE DEVICE BY IP
  community.network.fmgr_query:
    object: "device"
    adom: "ansible"
    device_ip: "10.7.220.41"

- name: QUERY FORTIGATE DEVICE BY SERIAL
  community.network.fmgr_query:
    adom: "ansible"
    object: "device"
    device_serial: "FGVM000000117992"

- name: QUERY FORTIGATE DEVICE BY FRIENDLY NAME
  community.network.fmgr_query:
    adom: "ansible"
    object: "device"
    device_unique_name: "ansible-fgt01"

- name: VERIFY CLUSTER MEMBERS AND STATUS
  community.network.fmgr_query:
    adom: "ansible"
    object: "cluster_nodes"
    device_unique_name: "fgt-cluster01"
    nodes: ["ansible-fgt01", "ansible-fgt02", "ansible-fgt03"]

- name: GET STATUS OF TASK ID
  community.network.fmgr_query:
    adom: "ansible"
    object: "task"
    task_id: "3"

- name: USE CUSTOM TYPE TO QUERY AVAILABLE SCRIPTS
  community.network.fmgr_query:
    adom: "ansible"
    object: "custom"
    custom_endpoint: "/dvmdb/adom/ansible/script"
    custom_dict: { "type": "cli" }

Return Values

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

Key Returned Description
api_result
string
always
full API response, includes status code and message



Authors

  • Luke Weighall (@lweighall)