fortinet / fortinet.fortimanager / 2.4.0 / 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 fortinet.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 communityfortinet.fortimanager.fmgr_dvm_cmd_discover_device (2.4.0) — module
Install with ansible-galaxy collection install fortinet.fortimanager:==2.4.0
collections: - name: fortinet.fortimanager version: 2.4.0
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.
- name: Add a FOS device to FMG hosts: fortimanagers gather_facts: false connection: httpapi 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 fortinet.fortimanager.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 fortinet.fortimanager.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 fortinet.fortimanager.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
- name: Example playbook hosts: fortimanagers 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. fortinet.fortimanager.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
rc_failed: description: The rc codes list with which the conditions to fail will be overriden. elements: int type: list enable_log: default: false description: Enable/Disable logging for task. type: bool access_token: description: The token to access FortiManager without using username and password. type: str rc_succeeded: description: The rc codes list with which the conditions to succeed will be overriden. elements: int 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. 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. type: str dvm_cmd_discover_device: description: The top level parameters set. required: false suboptions: device: description: No description. 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. type: str workspace_locking_timeout: default: 300 description: The maximum time in seconds to wait for other user to release the workspace lock. 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