drmofu / drmofu.fortimanager / 2.2.2 / module / fmgr_dvmdb_script Script table. | "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_dvmdb_script (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.
- name: gathering fortimanager facts hosts: fortimanager00 gather_facts: no connection: httpapi collections: - fortinet.fortimanager vars: ansible_httpapi_use_ssl: True ansible_httpapi_validate_certs: False ansible_httpapi_port: 443 tasks: - name: retrieve all the scripts in the device fmgr_fact: facts: selector: 'dvmdb_script' params: adom: 'ansible' script: 'your_value'
- hosts: fortimanager00 collections: - fortinet.fortimanager connection: httpapi vars: ansible_httpapi_use_ssl: True ansible_httpapi_validate_certs: False ansible_httpapi_port: 443 tasks: - name: enable workspace mode fmgr_system_global: system_global: adom-status: enable workspace-mode: normal - name: Script table. 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 fmgr_fact: facts: selector: 'dvmdb_script' params: adom: 'root' script: 'fooscript000' register: info failed_when: info.meta.response_code != 0 - name: restore workspace mode fmgr_system_global: system_global: adom-status: enable workspace-mode: disabled
- hosts: fortimanager00 collections: - fortinet.fortimanager connection: httpapi vars: ansible_httpapi_use_ssl: True ansible_httpapi_validate_certs: False ansible_httpapi_port: 443 tasks: - name: Script table. fmgr_dvmdb_script: bypass_validation: False adom: ansible state: present dvmdb_script: content: 'ansiblt-test' name: 'ansible-test' target: device_database type: cli
- name: Apply a script to device 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 device_adom: 'root' script_name: 'FooScript' device_name: 'CustomHostName' device_vdom: 'root' tasks: - name: Create a Script to later execute 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 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 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'
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 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 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. 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 required: false type: list proposed_method: choices: - update - set - add description: The overridden method for the underlying Json RPC request. required: false 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. 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 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