:source: fmgr_dvm_cmd_add_device.py :orphan: .. _fmgr_dvm_cmd_add_device: fmgr_dvm_cmd_add_device -- Add a device to the Device Manager database. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. versionadded:: 1.0.0 .. warning:: Starting in version 3.0.0, all input arguments will be named using the underscore naming convention (snake_case). - Argument name before 3.0.0: ``var-name``, ``var name``, ``var.name`` - New argument name starting in 3.0.0: ``var_name`` FortiManager Ansible v2.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg. .. contents:: :local: :depth: 1 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. - Tested with FortiManager v7.x. Requirements ------------ The below requirements are needed on the host that executes this module. - ansible-core>=2.16.0 FortiManager Version Compatibility ---------------------------------- .. raw:: html

Supported Version Ranges: v6.0.0 -> latest

Parameters ---------- .. raw:: html 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 -------- .. code-block:: yaml+jinja - 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 of adding device 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 gather_facts: false 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. fortinet.fortimanager.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 # name: FGT_AWS flags: - none - create_task - nonblocking - log_dev 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: .. raw:: html Status ------ - This module is not guaranteed to have a backwards compatible interface. Authors ------- - Xinwei Du (@dux-fortinet) - Xing Li (@lix-fortinet) - Jie Xue (@JieX19) - Link Zheng (@chillancezen) - Frank Shen (@fshen01) - Hongbin Lu (@fgtdev-hblu)