fortinet / fortinet.fortimanager / 2.4.0 / module / fmgr_dvmdb_script Script table. | "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_dvmdb_script (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: Apply a script to device 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: - 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 connection: httpapi vars: ansible_httpapi_use_ssl: true ansible_httpapi_validate_certs: false ansible_httpapi_port: 443 tasks: - name: Script table. fortinet.fortimanager.fmgr_dvmdb_script: bypass_validation: false adom: ansible state: present dvmdb_script: content: "ansiblt-test" name: "ansible-test" target: device_database type: cli
- name: Gathering fortimanager facts hosts: fortimanagers gather_facts: false connection: httpapi vars: ansible_httpapi_use_ssl: true ansible_httpapi_validate_certs: false ansible_httpapi_port: 443 tasks: - name: Retrieve all the scripts in the device fortinet.fortimanager.fmgr_fact: facts: selector: "dvmdb_script" params: adom: "ansible" script: "your_value"
- name: Example playbook hosts: fortimanagers connection: httpapi vars: ansible_httpapi_use_ssl: true ansible_httpapi_validate_certs: false ansible_httpapi_port: 443 tasks: - name: Enable workspace mode fortinet.fortimanager.fmgr_system_global: system_global: adom-status: enable workspace-mode: normal - name: Script table. fortinet.fortimanager.fmgr_dvmdb_script: bypass_validation: false adom: root state: present workspace_locking_adom: "root" dvmdb_script: content: "ansiblt-test" name: "fooscript000" target: device_database type: cli - name: Verify script table fortinet.fortimanager.fmgr_fact: facts: selector: "dvmdb_script" params: adom: "root" script: "fooscript000" register: info failed_when: info.meta.response_code != 0 - name: Restore workspace mode fortinet.fortimanager.fmgr_system_global: system_global: adom-status: enable workspace-mode: disabled
adom: description: The parameter (adom) in requested url. required: true type: str state: choices: - present - absent description: The directive to create, update or delete an object. required: true type: str 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 dvmdb_script: description: The top level parameters set. required: false suboptions: content: description: The full content of the script result log. type: str desc: description: Desc. type: str filter_build: description: The value will be ignored in add/set/update requests if filter_ostype is not set. type: int filter_device: description: Name or id of an existing device in the database. type: int filter_hostname: description: The value has no effect if target is adom_database. type: str filter_ostype: choices: - unknown - fos description: The value has no effect if target is adom_database. type: str filter_osver: choices: - unknown - '4.00' - '5.00' - '6.00' description: The value will be ignored in add/set/update requests if filter_ostype is not set. type: str filter_platform: description: The value will be ignored in add/set/update requests if filter_ostype is not set. type: str filter_serial: description: The value has no effect if target is adom_database. type: str modification_time: description: It is a read-only attribute indicating the time when the script was created or modified. type: str name: description: Name. required: true type: str script_schedule: description: Script_Schedule. elements: dict suboptions: datetime: description: - Indicates the date and time of the schedule. - onetime - daily - weekly - monthly type: str day_of_week: choices: - unknown - sun - mon - tue - wed - thu - fri - sat description: Day_Of_Week. type: str device: description: Name or id of an existing device in the database. type: int name: description: Name. type: str run_on_db: choices: - disable - enable description: Indicates if the scheduled script should be executed on device database. type: str type: choices: - auto - onetime - daily - weekly - monthly description: Type. type: str type: list target: choices: - device_database - remote_device - adom_database description: Target. type: str type: choices: - cli - tcl - cligrp description: Type. type: str type: dict rc_succeeded: description: The rc codes list with which the conditions to succeed will be overriden. elements: int type: list proposed_method: choices: - update - set - add description: The overridden method for the underlying Json RPC request. type: str 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 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