drmofu / drmofu.fortimanager / 2.2.2 / module / fmgr_dvm_cmd_discover_device Probe a remote device and retrieve its device information and system status. | "added in version" 1.0.0 of drmofu.fortimanager" Authors: Xinwei Du (@dux-fortinet), Xing Li (@lix-fortinet), Jie Xue (@JieX19), Link Zheng (@chillancezen), Frank Shen (@fshen01), Hongbin Lu (@fgtdev-hblu) preview | supported by communitydrmofu.fortimanager.fmgr_dvm_cmd_discover_device (2.2.2) — module
Install with ansible-galaxy collection install drmofu.fortimanager:==2.2.2
collections: - name: drmofu.fortimanager version: 2.2.2
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.
- hosts: fortimanager00 collections: - fortinet.fortimanager connection: httpapi vars: ansible_httpapi_use_ssl: True ansible_httpapi_validate_certs: False ansible_httpapi_port: 443 tasks: - name: Probe a remote device and retrieve its device information and system status. fmgr_dvm_cmd_discover_device: bypass_validation: False dvm_cmd_discover_device: device: adm_pass: fortinet # device password adm_usr: admin # device user name ip: 0.0.0.0 # device ip
- 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
rc_failed: description: The rc codes list with which the conditions to fail will be overriden. elements: int required: false type: list enable_log: default: false description: Enable/Disable logging for task. required: false type: bool access_token: description: The token to access FortiManager without using username and password. required: false type: str rc_succeeded: description: The rc codes list with which the conditions to succeed will be overriden. elements: int required: false type: list bypass_validation: default: false description: Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. required: false type: bool workspace_locking_adom: description: The adom to lock for FortiManager running in workspace mode, the value can be global and others including root. required: false type: str dvm_cmd_discover_device: description: the top level parameters set required: false suboptions: device: description: no description required: false suboptions: adm_pass: description: no description type: str adm_usr: description: no description type: str ip: description: no description type: str type: dict type: dict forticloud_access_token: description: Authenticate Ansible client with forticloud API access token. required: false type: str workspace_locking_timeout: default: 300 description: The maximum time in seconds to wait for other user to release the workspace lock. required: false type: int
meta: contains: 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_data: description: The api response. returned: always type: list response_message: description: The descriptive message of the api response. returned: always sample: OK. type: str system_information: description: The information of the target system. returned: always type: dict description: The result of the request. returned: always type: dict rc: description: The status the request. returned: always sample: 0 type: int version_check_warning: description: Warning if the parameters used in the playbook are not supported by the current FortiManager version. returned: complex type: list