fmgr_dvmdb_device – Device table, most attributes are read-only and can only be changed internally.

New in version 2.10.

Synopsis

  • This module is able to configure a FortiManager device.
  • Examples include all parameters and values need to be adjusted to data sources before usage.

Requirements

The below requirements are needed on the host that executes this module.

  • ansible>=2.9.0

FortiManager Version Compatibility


6.0.0 6.2.1 6.2.3 6.2.5 6.4.0 6.4.2 6.4.5 7.0.0 7.2.0
dvmdb_device yes yes yes yes yes yes yes yes yes

Parameters

  • enable_log - Enable/Disable logging for task type: bool required: false default: False
  • forticloud_access_token - Access token of forticloud managed API users, this option is available with FortiManager later than 6.4.0 type: str required: false
  • proposed_method - The overridden method for the underlying Json RPC request type: str required: false choices: set, update, add
  • bypass_validation - Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters type: bool required: false default: False
  • workspace_locking_adom - Acquire the workspace lock if FortiManager is running in workspace mode type: str required: false choices: global, custom adom including root
  • workspace_locking_timeout - The maximum time in seconds to wait for other users to release workspace lock type: integer required: false default: 300
  • rc_succeeded - The rc codes list with which the conditions to succeed will be overriden type: list required: false
  • rc_failed - The rc codes list with which the conditions to fail will be overriden type: list required: false
  • adom - The parameter in requested url type: str required: true
  • device - The parameter in requested url type: str required: true
  • dvmdb_device - no description type: dict
    • adm_pass - No description for the parameter type: str more...
    • adm_usr - Adm_Usr. type: str more...
    • app_ver - App_Ver. type: str more...
    • av_ver - Av_Ver. type: str more...
    • beta - Beta. type: int more...
    • branch_pt - Branch_Pt. type: int more...
    • build - Build. type: int more...
    • checksum - Checksum. type: str more...
    • conf_status - Conf_Status. type: str choices: [unknown, insync, outofsync] default: unknown more...
    • conn_mode - Conn_Mode. type: str choices: [active, passive] default: passive more...
    • conn_status - Conn_Status. type: str choices: [UNKNOWN, up, down] default: UNKNOWN more...
    • db_status - Db_Status. type: str choices: [unknown, nomod, mod] default: unknown more...
    • desc - Desc. type: str more...
    • dev_status - Dev_Status. type: str choices: [none, unknown, checkedin, inprogress, installed, aborted, sched, retry, canceled, pending, retrieved, changed_conf, sync_fail, timeout, rev_revert, auto_updated] default: unknown more...
    • fap_cnt - Fap_Cnt. type: int more...
    • faz.full_act - Faz. type: int more...
    • faz.perm - Faz. type: int more...
    • faz.quota - Faz. type: int more...
    • faz.used - Faz. type: int more...
    • fex_cnt - Fex_Cnt. type: int more...
    • flags - No description for the parameter type: array choices: [has_hdd, vdom_enabled, discover, reload, interim_build, offline_mode, is_model, fips_mode, linked_to_model, ip-conflict, faz-autosync] more...
    • foslic_cpu - VM Meter vCPU count. type: int more...
    • foslic_dr_site - VM Meter DR Site status. type: str choices: [disable, enable] default: disable more...
    • foslic_inst_time - VM Meter first deployment time (in UNIX timestamp). type: int more...
    • foslic_last_sync - VM Meter last synchronized time (in UNIX timestamp). type: int more...
    • foslic_ram - VM Meter device RAM size (in MB). type: int more...
    • foslic_type - VM Meter license type. type: str choices: [temporary, trial, regular, trial_expired] default: temporary more...
    • foslic_utm - No description for the parameter type: array choices: [fw, av, ips, app, url, utm, fwb] more...
    • fsw_cnt - Fsw_Cnt. type: int more...
    • ha_group_id - Ha_Group_Id. type: int more...
    • ha_group_name - Ha_Group_Name. type: str more...
    • ha_mode - enabled - Value reserved for non-FOS HA devices. type: str choices: [standalone, AP, AA, ELBC, DUAL, enabled, unknown, fmg-enabled, autoscale] default: standalone more...
    • hdisk_size - Hdisk_Size. type: int more...
    • hostname - Hostname. type: str more...
    • hw_rev_major - Hw_Rev_Major. type: int more...
    • hw_rev_minor - Hw_Rev_Minor. type: int more...
    • ip - Ip. type: str more...
    • ips_ext - Ips_Ext. type: int more...
    • ips_ver - Ips_Ver. type: str more...
    • last_checked - Last_Checked. type: int more...
    • last_resync - Last_Resync. type: int more...
    • latitude - Latitude. type: str more...
    • lic_flags - Lic_Flags. type: int more...
    • lic_region - Lic_Region. type: str more...
    • location_from - Location_From. type: str more...
    • logdisk_size - Logdisk_Size. type: int more...
    • longitude - Longitude. type: str more...
    • maxvdom - Maxvdom. type: int default: 10 more...
    • meta fields - No description for the parameter type: dict more...
    • mgmt_id - Mgmt_Id. type: int more...
    • mgmt_if - Mgmt_If. type: str more...
    • mgmt_mode - Mgmt_Mode. type: str choices: [unreg, fmg, faz, fmgfaz] default: unreg more...
    • mgt_vdom - Mgt_Vdom. type: str more...
    • mr - Mr. type: int default: -1 more...
    • name - Unique name for the device. type: str more...
    • os_type - Os_Type. type: str choices: [unknown, fos, fsw, foc, fml, faz, fwb, fch, fct, log, fmg, fsa, fdd, fac, fpx, fna, fdc, ffw, fsr, fad, fap, fxt, fts, fai, fwc] default: unknown more...
    • os_ver - Os_Ver. type: str choices: [unknown, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] default: unknown more...
    • patch - Patch. type: int more...
    • platform_str - Platform_Str. type: str more...
    • psk - Psk. type: str more...
    • sn - Unique value for each device. type: str more...
    • vdom - No description for the parameter type: array more...
      • comments - Comments. type: str more...
      • name - Name. type: str more...
      • opmode - Opmode. type: str choices: [nat, transparent] default: nat more...
      • rtm_prof_id - Rtm_Prof_Id. type: int more...
      • status - Status. type: str more...
      • vpn_id - Vpn_Id. type: int more...
      • meta fields - No description for the parameter type: dict more...
      • vdom_type - No description for the parameter type: str choices: [traffic, admin] default: traffic more...
    • version - Version. type: int more...
    • vm_cpu - Vm_Cpu. type: int more...
    • vm_cpu_limit - Vm_Cpu_Limit. type: int more...
    • vm_lic_expire - Vm_Lic_Expire. type: int more...
    • vm_mem - Vm_Mem. type: int more...
    • vm_mem_limit - Vm_Mem_Limit. type: int more...
    • vm_status - Vm_Status. type: int more...
    • module_sn - Module_Sn. type: str more...
    • prefer_img_ver - Prefer_Img_Ver. type: str more...
    • prio - Prio. type: int more...
    • role - Role. type: str choices: [master, ha-slave, autoscale-slave] default: master more...
    • hyperscale - Hyperscale. type: int more...
    • nsxt_service_name - Nsxt_Service_Name. type: str more...
    • private_key - Private_Key. type: str more...
    • private_key_status - Private_Key_Status. type: int more...

Notes

Note

  • Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
  • To create or update an object, use state: present directive.
  • To delete an object, use state: absent directive
  • Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded

Examples

- name: Delete first FOS devices from FMG In a specific adom
  hosts: fortimanager00
  gather_facts: no
  connection: httpapi
  collections:
    - fortinet.fortimanager
  vars:
    ansible_httpapi_use_ssl: True
    ansible_httpapi_validate_certs: False
    ansible_httpapi_port: 443
    device_adom: 'root'
  tasks:
    - name: fetch all devices
      fmgr_fact:
        facts:
            selector: 'dvmdb_device'
            params:
                adom: '{{ device_adom }}'
                device: 'your_value'
      register: alldevices
    - when: alldevices.meta.response_data != []
      debug:
        msg:
         - 'We are going to delete device: {{ alldevices.meta.response_data[0].name }}'
         - 'IP of the device is: {{ alldevices.meta.response_data[0].ip }}'
    - when: alldevices.meta.response_data != [] and False
      name: Create The Task To Delete The Device
      fmgr_dvm_cmd_del_device:
        dvm_cmd_del_device:
            device: '{{ alldevices.meta.response_data[0].name }}'
            adom: '{{ device_adom }}'
            flags:
             - 'create_task'
             - 'nonblocking'
      register: uninstalling_task
    - when: alldevices.meta.response_data != [] and False
      name: poll the task
      fmgr_fact:
        facts:
            selector: 'task_task'
            params:
                task: '{{uninstalling_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'

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • request_url - The full url requested returned: always type: str sample: /sys/login/user
  • response_code - The status of api request returned: always type: int sample: 0
  • response_message - The descriptive message of the api response returned: always type: str sample: OK
  • response_data - The data body of the api response returned: optional type: list or dict

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

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

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.