:source: fmgr_dvmdb_script_execute.py :orphan: .. _fmgr_dvmdb_script_execute: fmgr_dvmdb_script_execute -- Run script. ++++++++++++++++++++++++++++++++++++++++ .. 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: Apply a script to device (For FMG <= 7.6.4) hosts: fortimanagers gather_facts: false connection: httpapi vars: ansible_httpapi_use_ssl: true ansible_httpapi_validate_certs: false ansible_httpapi_port: 443 device_adom: "root" script_name: "FooScript" device_name: "CustomHostName" device_vdom: "root" tasks: # For FMG 7.6.4 and earlier, use fmgr_dvmdb_script. # For FMG 7.6.5 and later, use fmgr_fmg_script. - name: Create a Script to later execute fortinet.fortimanager.fmgr_dvmdb_script: adom: "{{ device_adom }}" state: "present" dvmdb_script: name: "{{ script_name }}" desc: "A script created via Ansible" content: | config system global set remoteauthtimeout 80 end type: "cli" - name: Run the Script fortinet.fortimanager.fmgr_dvmdb_script_execute: adom: "{{ device_adom }}" dvmdb_script_execute: adom: "{{ device_adom }}" script: "{{ script_name }}" scope: - name: "{{ device_name }}" vdom: "{{ device_vdom }}" register: running_task - name: Inspect the Task Status fortinet.fortimanager.fmgr_fact: facts: selector: "task_task" params: task: "{{ running_task.meta.response_data.task }}" register: taskinfo until: taskinfo.meta.response_data.percent == 100 retries: 30 delay: 3 failed_when: taskinfo.meta.response_data.state == 'error' - 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: Run script. fortinet.fortimanager.fmgr_dvmdb_script_execute: bypass_validation: false adom: ansible dvmdb_script_execute: adom: ansible package: "your_value" scope: - name: Ansible-test vdom: root script: ansible-test - name: Create and run script (For FMG 7.6.5+) hosts: fortimanagers gather_facts: false connection: httpapi vars: fmg_adom: "root" script_name: "your_script_name" device_name: "your_device_name" device_vdom: "root" state: "present" tasks: # For FMG 7.6.4 and earlier, use fmgr_dvmdb_script. # For FMG 7.6.5 and later, use fmgr_fmg_script. - name: create a script (For FMG 7.6.5+) fortinet.fortimanager.fmgr_fmg_script: state: "{{state}}" adom: "{{fmg_adom}}" fmg_script: name: "{{ script_name }}" content: | config system global set remoteauthtimeout 80 end type: cli desc: A script created via Ansible target: devdb - name: Run the Script fortinet.fortimanager.fmgr_dvmdb_script_execute: adom: "{{ fmg_adom }}" dvmdb_script_execute: adom: "{{ fmg_adom }}" script: "{{ script_name }}" scope: - name: "{{ device_name }}" vdom: "{{ device_vdom }}" register: running_task - name: Inspect the Task Status fortinet.fortimanager.fmgr_fact: facts: selector: "task_task" params: task: "{{ running_task.meta.response_data.task }}" register: taskinfo until: taskinfo.meta.response_data.percent == 100 retries: 30 delay: 3 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: .. 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)