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

Note

This plugin is part of the community.fortios collection (version 1.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.fortios.

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

Synopsis

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

Parameters

Parameter

Comments

adom

string

The ADOM the configuration should belong to.

Default: “root”

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

The data object we wish to query (device, package, rule, etc). Will expand choices as improves.

Choices:

  • device

  • cluster_nodes

  • task

  • custom

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.fortios.fmgr_query:
    object: "device"
    adom: "ansible"
    device_ip: "10.7.220.41"

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

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

- name: VERIFY CLUSTER MEMBERS AND STATUS
  community.fortios.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.fortios.fmgr_query:
    adom: "ansible"
    object: "task"
    task_id: "3"

- name: USE CUSTOM TYPE TO QUERY AVAILABLE SCRIPTS
  community.fortios.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

Description

api_result

string

full API response, includes status code and message

Returned: always

Authors

  • Luke Weighall (@lweighall)