chillancezen.fortimanager.fmgr_dvm_cmd_add_device (2.1.6) — module

no description

| "added in version" 1.0.0 of chillancezen.fortimanager"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Frank Shen (@fshen01), Hongbin Lu (@fgtdev-hblu)

preview | supported by community

Install collection

Install with ansible-galaxy collection install chillancezen.fortimanager:==2.1.6


Add to requirements.yml

  collections:
    - name: chillancezen.fortimanager
      version: 2.1.6

Description

This module is able to configure a FortiManager device.

Examples include all parameters and values which need to be adjusted to data sources before usage.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - hosts: fortimanager00
   collections:
     - fortinet.fortimanager
   connection: httpapi
   vars:
      ansible_httpapi_use_ssl: True
      ansible_httpapi_validate_certs: False
      ansible_httpapi_port: 443
   tasks:
    - name: Add a device to the Device Manager database.
      fmgr_dvm_cmd_add_device:
         bypass_validation: False
         dvm_cmd_add_device:
            adom: ansible
            device:
               adm_pass: fortinet # device password
               adm_usr: admin # device user name
               ip: 0.0.0.0 # device ip
               mgmt_mode: fmg #<value in [unreg, fmg, faz, ...]>
               name: FGT_AWS
            flags:
              - none
              - create_task
              - nonblocking
              - log_dev
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Add a FOS device to FMG
   hosts: fortimanager01
   gather_facts: no
   connection: httpapi
   collections:
     - fortinet.fortimanager
   vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
     fos_user: 'admin'
     fos_pass: 'password'
     fos_ip: '192.168.190.151'
   tasks:
     - name: discover device
       fmgr_dvm_cmd_discover_device:
         bypass_validation: True
         dvm_cmd_discover_device:
             device:
                 adm_pass: '{{ fos_pass }}'
                 adm_usr: '{{ fos_user }}'
                 ip: '{{ fos_ip }}'
       register: probed_device
     - name: add device
       fmgr_dvm_cmd_add_device:
         bypass_validation: True
         dvm_cmd_add_device:
             adom: 'root'
             flags:
               - 'create_task'
               - 'nonblocking'
             device:
                 adm_usr: '{{ probed_device.meta.response_data.device.adm_usr }}'
                 adm_pass: '{{ probed_device.meta.response_data.device.adm_pass }}'
                 desc: 'The device is added via FortiManager Ansible'
                 ip: '{{ probed_device.meta.response_data.device.ip }}'
                 mgmt_mode: 'fmg'
                 name: '{{ probed_device.meta.response_data.device.name }}'
                 sn: '{{ probed_device.meta.response_data.device.sn }}'
       register: installing_task
     - name: poll the task
       fmgr_fact:
         facts:
             selector: 'task_task'
             params:
                 task: '{{installing_task.meta.response_data.taskid}}'
       register: taskinfo
       until: taskinfo.meta.response_data.percent == 100
       retries: 30
       delay: 5
       failed_when: taskinfo.meta.response_data.state == 'error' and 'devsnexist' not in taskinfo.meta.response_data.line[0].detail

Outputs

request_url:
  description: The full url requested
  returned: always
  sample: /sys/login/user
  type: str
response_code:
  description: The status of api request
  returned: always
  sample: 0
  type: int
response_message:
  description: The descriptive message of the api response
  returned: always
  sample: OK.
  type: str