Repository URL to install this package:
|
Version:
6.0.0 ▾
|
#!/usr/bin/python
from __future__ import (absolute_import, division, print_function)
# Copyright 2020 Fortinet, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
__metaclass__ = type
ANSIBLE_METADATA = {'status': ['preview'],
'supported_by': 'community',
'metadata_version': '1.1'}
DOCUMENTATION = '''
---
module: fortios_monitor
version_added: "2.0.0"
short_description: Ansible Module for FortiOS Monitor API
description:
- Request FortiOS appliances to perform specific actions or procedures.
This module contain all the FortiOS monitor API.
author:
- Jie Xue (@JieX19)
- Link Zheng (@chillancezen)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@fshen01)
notes:
- Different selector may have different parameters, users are expected to look up them for a specific selector.
- For some selectors, the objects are global, no params are allowed to appear.
- Not all parameters are required for a selector.
- This module is exclusivly for FortiOS monitor API.
- The result of API request is stored in results.
requirements:
- install galaxy collection fortinet.fortios >= 2.0.0.
options:
access_token:
description:
- Token-based authentication.
Generated from GUI of Fortigate.
type: str
required: false
enable_log:
description:
- Enable/Disable logging for task.
type: bool
required: false
default: false
vdom:
description:
- Virtual domain, among those defined previously. A vdom is a
virtual instance of the FortiGate that can be configured and
used as a different unit.
type: str
default: root
required: false
selector:
description:
- selector of the retrieved fortimanager facts
type: str
required: true
choices:
- format.system.logdisk
- update.switch-controller.managed-switch
- update.system.ha-peer
- add-license.registration.vdom
- geoip.geoip-query
- clear-statistics.system.fortiguard
- enable-app-bandwidth-tracking.system.traffic-history
- upgrade.license.database
- run.system.compliance
- clear_counters.firewall.policy
- upgrade.system.firmware
- download.wifi.firmware
- provision.user.fortitoken
- reset.firewall.per-ip-shaper
- clear-counters.firewall.central-snat-map
- update.system.modem
- update.web-ui.custom-language
- stop.wifi.vlan-probe
- import.vpn-certificate.local
- create.registration.forticare
- save.system.config
- tunnel_reset_stats.vpn.ipsec
- toggle-vdom-mode.system.admin
- register-device.registration.forticloud
- quarantine.endpoint-control.registration
- set_status.wifi.rogue_ap
- email.user.guest
- add.firewall.clearpass-address
- transfer.registration.forticare
- import.vpn-certificate.crl
- reset.firewall.dnat
- disassociate.wifi.client
- reset.webfilter.category-quota
- close-multiple.firewall.session6
- test-availability.system.fortiguard
- tunnel_up.vpn.ipsec
- read-info.system.certificate
- deregister.endpoint-control.registration
- clear-soft-out.router.bgp
- factory-reset.switch-controller.managed-switch
- clear-soft-in.router.bgp
- stop.system.sniffer
- delete.log.local-report
- add-license.registration.forticare
- verify-cert.endpoint-control.ems
- cancel.fortiview.session
- restart.wifi.managed_ap
- delete.webfilter.override
- unblock.endpoint-control.registration
- stop.system.usb-log
- close.firewall.session
- reset.firewall.shaper
- clear_all.firewall.session
- clear_counters.firewall.acl
- reset.wifi.euclid
- abort.user.query
- revoke.system.dhcp
- add_users.user.banned
- start.system.fsck
- clear_counters.firewall.multicast-policy6
- clear_counters.firewall.policy6
- change-vdom-mode.system.admin
- refresh-server.user.fsso
- clear_counters.firewall.consolidated-policy
- trigger.system.security-rating
- webhook.system.automation-stitch
- generate.vpn-certificate.csr
- upload.system.vmlicense
- reset.firewall.multicast-policy6
- backup.system.config
- push.wifi.firmware
- eject.system.usb-device
- start.system.sniffer
- kill.system.process
- reboot.system.os
- reset.firewall.consolidated-policy
- set.system.time
- remove.user.device
- import.vpn-certificate.remote
- upload.webproxy.pacfile
- push.switch-controller.fsw-firmware
- reset.wanopt.peer_stats
- delete.vpn.ssl
- block.endpoint-control.registration
- backup-action.system.fortimanager
- start.system.usb-log
- system.change-password
- reset.firewall.multicast-policy
- tunnel_down.vpn.ipsec
- clear_all.wifi.rogue_ap
- import-seed.user.fortitoken
- poe-reset.switch-controller.managed-switch
- logout.registration.forticloud
- clear_counters.firewall.acl6
- restore.system.config
- import.vpn-certificate.ca
- upload.switch-controller.fsw-firmware
- test.user.tacacs-plus
- upload.system.config-script
- system.password-policy-conform
- sms.user.guest
- delete.system.config-script
- reset.wanopt.history
- reset.firewall.policy6
- import-mobile.user.fortitoken
- download.switch-controller.fsw-firmware
- stop.wifi.spectrum
- reset.firewall.central-snat-map
- clear.system.crash-log
- close-all.firewall.session
- login.registration.forticare
- close-multiple.firewall.session
- create.registration.forticloud
- upload.wifi.firmware
- start.wifi.spectrum
- disconnect.system.modem
- disconnect.system.ha-peer
- keep-alive.wifi.spectrum
- reset.system.modem
- activate.user.fortitoken
- register-appliance.system.csf
- refresh.azure.application-list
- start.wifi.vlan-probe
- clear.system.sniffer
- reset.extender-controller.extender
- validate-gcp-key.system.sdn-connector
- restart.system.sniffer
- import.web-ui.language
- import-trial.user.fortitoken
- flush.firewall.gtp
- dump.system.com-log
- diagnose.extender-controller.extender
- update-comments.system.config-revision
- refresh.user.fortitoken
- reset.firewall.policy
- shutdown.system.os
- reset.log.stats
- revoke.system.dhcp6
- login.registration.forticloud
- reset.wanopt.webcache
- save.system.config-revision
- set_status.wifi.managed_ap
- deauth.user.firewall
- upgrade.extender-controller.extender
- delete.system.config-revision
- clear_users.user.banned
- create.vpn-certificate.local
- send-activation.user.fortitoken
- reset.webcache.stats
- clear_counters.firewall.proxy-policy
- utm.rating-lookup
- test.system.automation-stitch
- refresh.system.external-resource
- auth.user.firewall
- dhcp-renew.system.interface
- migrate.registration.forticloud
- clear_counters.firewall.multicast-policy
- connect.wifi.network
- test-connect.user.radius
- speed-test-trigger.system.interface
- generate-key.system.api-user
- upload.wifi.region-image
- run.system.config-script
- clear_tunnel.vpn.ssl
- add.nsx.service
- update.system.fortiguard
- restart.switch-controller.managed-switch
- unquarantine.endpoint-control.registration
- led-blink.wifi.managed_ap
- update.system.sdn-connector
- config.system.fortimanager
- system.disconnect-admins
- provision-user.vpn.ssl
- create.web-ui.custom-language
- check.endpoint-control.registration-password
- clear-counters.firewall.dnat
- scan.wifi.network
- clear.vpn.ike
- clear_counters.firewall.security-policy
- clear_all.user.banned
- delete.firewall.clearpass-address
- connect.system.modem
- generate-keys.wifi.ssid
params:
description:
- the parameter for each selector, see definition in above list.
type: dict
required: false
'''
EXAMPLES = '''
- hosts: fortigate03
connection: httpapi
collections:
- fortinet.fortios
vars:
vdom: "root"
ansible_httpapi_use_ssl: yes
ansible_httpapi_validate_certs: no
ansible_httpapi_port: 443
tasks:
- name: Activate FortiToken
fortios_monitor:
vdom: "root"
access_token: "<fortios_access_token>"
selector: 'activate.user.fortitoken'
params:
tokens: '<token string>'
- name: Reboot This Device
fortios_monitor:
vdom: "root"
access_token: "<fortios_access_token>"
selector: 'reboot.system.os'
params:
event_log_message: 'Reboot Request From Ansible'
'''
RETURN = '''
build:
description: Build number of the fortigate image
returned: always
type: str
sample: '1547'
http_method:
description: Last method used to provision the content into FortiGate
returned: always
type: str
sample: 'GET'
name:
description: Name of the table used to fulfill the request
returned: always
type: str
sample: "firmware"
path:
description: Path of the table used to fulfill the request
returned: always
type: str
sample: "system"
revision:
description: Internal revision number
returned: always
type: str
sample: "17.0.2.10658"
serial:
description: Serial number of the unit
returned: always
type: str
sample: "FGVMEVYYQT3AB5352"
status:
description: Indication of the operation's result
returned: always
type: str
sample: "success"
vdom:
description: Virtual domain used
returned: always
type: str
sample: "root"
version:
description: Version of the FortiGate
returned: always
type: str
sample: "v5.6.3"
ansible_facts:
description: The list of fact subsets collected from the device
returned: always
type: dict
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.connection import Connection
from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import FortiOSHandler
from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_legacy_fortiosapi
from ansible_collections.fortinet.fortios.plugins.module_utils.fortimanager.common import FAIL_SOCKET_MSG
module_selectors_defs = {
"format.system.logdisk": {
"url": "system/logdisk/format",
"params": {
}
},
"update.switch-controller.managed-switch": {
"url": "switch-controller/managed-switch/update",
"params": {
"admin": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "False"
}
}
},
"update.system.ha-peer": {
"url": "system/ha-peer/update",
"params": {
"priority": {
"type": "int",
"required": "False"
},
"serial_no": {
"type": "string",
"required": "True"
},
"hostname": {
"type": "string",
"required": "False"
},
"vcluster_id": {
"type": "int",
"required": "False"
}
}
},
"add-license.registration.vdom": {
"url": "registration/vdom/add-license",
"params": {
"license": {
"type": "string",
"required": "True"
}
}
},
"geoip.geoip-query": {
"url": "geoip/geoip-query/select",
"params": {
"ip_addresses": {
"type": "array",
"required": "True"
}
}
},
"clear-statistics.system.fortiguard": {
"url": "system/fortiguard/clear-statistics",
"params": {
}
},
"enable-app-bandwidth-tracking.system.traffic-history": {
"url": "system/traffic-history/enable-app-bandwidth-tracking",
"params": {
}
},
"upgrade.license.database": {
"url": "license/database/upgrade",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"db_name": {
"type": "string",
"required": "True"
}
}
},
"run.system.compliance": {
"url": "system/compliance/run",
"params": {
}
},
"clear_counters.firewall.policy": {
"url": "firewall/policy/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"upgrade.system.firmware": {
"url": "system/firmware/upgrade",
"params": {
"format_partition": {
"type": "boolean",
"required": "False"
},
"file_content": {
"type": "string",
"required": "False"
},
"filename": {
"type": "string",
"required": "False"
},
"source": {
"type": "string",
"required": "True"
},
"file_id": {
"type": "string",
"required": "False"
},
"ignore_invalid_signature": {
"type": "boolean",
"required": "False"
}
}
},
"download.wifi.firmware": {
"url": "wifi/firmware/download",
"params": {
"image_id": {
"type": "string",
"required": "True"
}
}
},
"provision.user.fortitoken": {
"url": "user/fortitoken/provision",
"params": {
"tokens": {
"type": "array",
"required": "False"
}
}
},
"reset.firewall.per-ip-shaper": {
"url": "firewall/per-ip-shaper/reset",
"params": {
}
},
"clear-counters.firewall.central-snat-map": {
"url": "firewall/central-snat-map/clear-counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"update.system.modem": {
"url": "system/modem/update",
"params": {
}
},
"update.web-ui.custom-language": {
"url": "web-ui/custom-language/update",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"filename": {
"type": "string",
"required": "False"
},
"lang_comments": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "True"
},
"lang_name": {
"type": "string",
"required": "False"
}
}
},
"stop.wifi.vlan-probe": {
"url": "wifi/vlan-probe/stop",
"params": {
"wtp": {
"type": "string",
"required": "True"
},
"ap_interface": {
"type": "int",
"required": "True"
}
}
},
"import.vpn-certificate.local": {
"url": "vpn-certificate/local/import",
"params": {
"acme_rsa_key_size": {
"type": "int",
"required": "False"
},
"file_content": {
"type": "string",
"required": "False"
},
"acme_ca_url": {
"type": "string",
"required": "False"
},
"acme_renew_window": {
"type": "int",
"required": "False"
},
"certname": {
"type": "string",
"required": "False"
},
"key_file_content": {
"type": "string",
"required": "False"
},
"acme_email": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
},
"password": {
"type": "string",
"required": "False"
},
"type": {
"type": "string",
"required": "True"
},
"acme_domain": {
"type": "string",
"required": "False"
}
}
},
"create.registration.forticare": {
"url": "registration/forticare/create",
"params": {
"city": {
"type": "string",
"required": "True"
},
"first_name": {
"type": "string",
"required": "True"
},
"last_name": {
"type": "string",
"required": "True"
},
"industry_id": {
"type": "int",
"required": "True"
},
"orgsize_id": {
"type": "int",
"required": "True"
},
"title": {
"type": "string",
"required": "False"
},
"industry": {
"type": "string",
"required": "True"
},
"company": {
"type": "string",
"required": "True"
},
"reseller_id": {
"type": "int",
"required": "True"
},
"state_code": {
"type": "string",
"required": "False"
},
"phone": {
"type": "string",
"required": "True"
},
"state": {
"type": "string",
"required": "True"
},
"postal_code": {
"type": "string",
"required": "True"
},
"country_code": {
"type": "int",
"required": "True"
},
"address": {
"type": "string",
"required": "True"
},
"reseller_name": {
"type": "string",
"required": "True"
},
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
}
}
},
"save.system.config": {
"url": "system/config/save",
"params": {
}
},
"tunnel_reset_stats.vpn.ipsec": {
"url": "vpn/ipsec/tunnel_reset_stats",
"params": {
"p1name": {
"type": "string",
"required": "True"
}
}
},
"toggle-vdom-mode.system.admin": {
"url": "system/admin/toggle-vdom-mode",
"params": {
}
},
"register-device.registration.forticloud": {
"url": "registration/forticloud/register-device",
"params": {
"country": {
"type": "string",
"required": "True"
},
"serial": {
"type": "string",
"required": "True"
},
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
},
"reseller": {
"type": "string",
"required": "True"
}
}
},
"quarantine.endpoint-control.registration": {
"url": "endpoint-control/registration/quarantine",
"params": {
"mac": {
"type": "string",
"required": "False"
},
"uid": {
"type": "string",
"required": "False"
}
}
},
"set_status.wifi.rogue_ap": {
"url": "wifi/rogue_ap/set_status",
"params": {
"status": {
"type": "string",
"required": "False"
},
"ssid": {
"type": "array",
"required": "False"
},
"bssid": {
"type": "array",
"required": "False"
}
}
},
"email.user.guest": {
"url": "user/guest/email",
"params": {
"group": {
"type": "string",
"required": "True"
},
"guest": {
"type": "array",
"required": "True"
}
}
},
"add.firewall.clearpass-address": {
"url": "firewall/clearpass-address/add",
"params": {
"endpoint_ip": {
"type": "array",
"required": "True"
},
"spt": {
"type": "string",
"required": "False"
}
}
},
"transfer.registration.forticare": {
"url": "registration/forticare/transfer",
"params": {
"password": {
"type": "string",
"required": "True"
},
"old_password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
},
"old_email": {
"type": "string",
"required": "True"
}
}
},
"import.vpn-certificate.crl": {
"url": "vpn-certificate/crl/import",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
}
}
},
"reset.firewall.dnat": {
"url": "firewall/dnat/reset",
"params": {
}
},
"disassociate.wifi.client": {
"url": "wifi/client/disassociate",
"params": {
"mac": {
"type": "string",
"required": "True"
}
}
},
"reset.webfilter.category-quota": {
"url": "webfilter/category-quota/reset",
"params": {
"profile": {
"type": "string",
"required": "False"
},
"user": {
"type": "string",
"required": "False"
}
}
},
"close-multiple.firewall.session6": {
"url": "firewall/session6/close-multiple",
"params": {
"proto": {
"type": "string",
"required": "False"
},
"daddr": {
"type": "string",
"required": "False"
},
"policy": {
"type": "int",
"required": "False"
},
"saddr": {
"type": "string",
"required": "False"
},
"dport": {
"type": "int",
"required": "False"
},
"sport": {
"type": "int",
"required": "False"
}
}
},
"test-availability.system.fortiguard": {
"url": "system/fortiguard/test-availability",
"params": {
"protocol": {
"type": "string",
"required": "True"
},
"port": {
"type": "int",
"required": "True"
},
"service": {
"type": "string",
"required": "True"
}
}
},
"tunnel_up.vpn.ipsec": {
"url": "vpn/ipsec/tunnel_up",
"params": {
"p2name": {
"type": "string",
"required": "True"
},
"p2serial": {
"type": "int",
"required": "False"
},
"p1name": {
"type": "string",
"required": "True"
}
}
},
"read-info.system.certificate": {
"url": "system/certificate/read-info",
"params": {
"value": {
"type": "string",
"required": "True"
}
}
},
"deregister.endpoint-control.registration": {
"url": "endpoint-control/registration/deregister",
"params": {
"mac": {
"type": "string",
"required": "False"
},
"uid": {
"type": "string",
"required": "False"
}
}
},
"clear-soft-out.router.bgp": {
"url": "router/bgp/clear-soft-out",
"params": {
}
},
"factory-reset.switch-controller.managed-switch": {
"url": "switch-controller/managed-switch/factory-reset",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"clear-soft-in.router.bgp": {
"url": "router/bgp/clear-soft-in",
"params": {
}
},
"stop.system.sniffer": {
"url": "system/sniffer/stop",
"params": {
"mkey": {
"type": "int",
"required": "True"
}
}
},
"delete.log.local-report": {
"url": "log/local-report/delete",
"params": {
"mkeys": {
"type": "array",
"required": "True"
}
}
},
"add-license.registration.forticare": {
"url": "registration/forticare/add-license",
"params": {
"registration_code": {
"type": "string",
"required": "True"
}
}
},
"verify-cert.endpoint-control.ems": {
"url": "endpoint-control/ems/verify-cert",
"params": {
"ems_name": {
"type": "string",
"required": "True"
},
"fingerprint": {
"type": "string",
"required": "True"
}
}
},
"cancel.fortiview.session": {
"url": "fortiview/session/cancel",
"params": {
"device": {
"type": "string",
"required": "False"
},
"sessionid": {
"type": "int",
"required": "False"
},
"view_level": {
"type": "string",
"required": "False"
},
"report_by": {
"type": "string",
"required": "False"
}
}
},
"restart.wifi.managed_ap": {
"url": "wifi/managed_ap/restart",
"params": {
"wtpname": {
"type": "string",
"required": "False"
}
}
},
"delete.webfilter.override": {
"url": "webfilter/override/delete",
"params": {
"mkey": {
"type": "string",
"required": "False"
}
}
},
"unblock.endpoint-control.registration": {
"url": "endpoint-control/registration/unblock",
"params": {
"mac": {
"type": "string",
"required": "False"
},
"uid": {
"type": "string",
"required": "False"
}
}
},
"stop.system.usb-log": {
"url": "system/usb-log/stop",
"params": {
}
},
"close.firewall.session": {
"url": "firewall/session/close",
"params": {
"daddr": {
"type": "string",
"required": "True"
},
"dport": {
"type": "int",
"required": "True"
},
"pro": {
"type": "string",
"required": "True"
},
"sport": {
"type": "int",
"required": "True"
},
"saddr": {
"type": "string",
"required": "True"
}
}
},
"reset.firewall.shaper": {
"url": "firewall/shaper/reset",
"params": {
}
},
"clear_all.firewall.session": {
"url": "firewall/session/clear_all",
"params": {
}
},
"clear_counters.firewall.acl": {
"url": "firewall/acl/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"reset.wifi.euclid": {
"url": "wifi/euclid/reset",
"params": {
}
},
"abort.user.query": {
"url": "user/query/abort",
"params": {
"query_id": {
"type": "int",
"required": "True"
}
}
},
"revoke.system.dhcp": {
"url": "system/dhcp/revoke",
"params": {
"ip": {
"type": "array",
"required": "False"
}
}
},
"add_users.user.banned": {
"url": "user/banned/add_users",
"params": {
"ip_addresses": {
"type": "array",
"required": "True"
},
"expiry": {
"type": "int",
"required": "False"
}
}
},
"start.system.fsck": {
"url": "system/fsck/start",
"params": {
}
},
"clear_counters.firewall.multicast-policy6": {
"url": "firewall/multicast-policy6/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"clear_counters.firewall.policy6": {
"url": "firewall/policy6/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"change-vdom-mode.system.admin": {
"url": "system/admin/change-vdom-mode",
"params": {
"vdom-mode": {
"type": "string",
"required": "True"
}
}
},
"refresh-server.user.fsso": {
"url": "user/fsso/refresh-server",
"params": {
}
},
"clear_counters.firewall.consolidated-policy": {
"url": "firewall/consolidated-policy/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"trigger.system.security-rating": {
"url": "system/security-rating/trigger",
"params": {
"report_types": {
"type": "array",
"required": "False"
},
"report_type": {
"type": "string",
"required": "False"
}
}
},
"webhook.system.automation-stitch": {
"url": "system/automation-stitch/webhook",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"generate.vpn-certificate.csr": {
"url": "vpn-certificate/csr/generate",
"params": {
"city": {
"type": "string",
"required": "False"
},
"orgunits": {
"type": "array",
"required": "False"
},
"subject_alt_name": {
"type": "string",
"required": "False"
},
"countrycode": {
"type": "string",
"required": "False"
},
"scep_url": {
"type": "string",
"required": "False"
},
"curvename": {
"type": "string",
"required": "False"
},
"keytype": {
"type": "string",
"required": "True"
},
"certname": {
"type": "string",
"required": "True"
},
"scep_password": {
"type": "string",
"required": "False"
},
"state": {
"type": "string",
"required": "False"
},
"keysize": {
"type": "int",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
},
"org": {
"type": "string",
"required": "False"
},
"password": {
"type": "string",
"required": "False"
},
"email": {
"type": "string",
"required": "False"
},
"subject": {
"type": "string",
"required": "True"
}
}
},
"upload.system.vmlicense": {
"url": "system/vmlicense/upload",
"params": {
"file_content": {
"type": "string",
"required": "False"
}
}
},
"reset.firewall.multicast-policy6": {
"url": "firewall/multicast-policy6/reset",
"params": {
}
},
"backup.system.config": {
"url": "system/config/backup",
"params": {
"password": {
"type": "string",
"required": "False"
},
"usb_filename": {
"type": "string",
"required": "False"
},
"destination": {
"type": "string",
"required": "False"
},
"vdom": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "True"
}
}
},
"push.wifi.firmware": {
"url": "wifi/firmware/push",
"params": {
"image_id": {
"type": "string",
"required": "True"
},
"serial": {
"type": "string",
"required": "True"
}
}
},
"eject.system.usb-device": {
"url": "system/usb-device/eject",
"params": {
}
},
"start.system.sniffer": {
"url": "system/sniffer/start",
"params": {
"mkey": {
"type": "int",
"required": "True"
}
}
},
"kill.system.process": {
"url": "system/process/kill",
"params": {
"signal": {
"type": "int",
"required": "False"
},
"pid": {
"type": "int",
"required": "True"
}
}
},
"reboot.system.os": {
"url": "system/os/reboot",
"params": {
"event_log_message": {
"type": "string",
"required": "False"
}
}
},
"reset.firewall.consolidated-policy": {
"url": "firewall/consolidated-policy/reset",
"params": {
}
},
"set.system.time": {
"url": "system/time/set",
"params": {
"hour": {
"type": "int",
"required": "True"
},
"month": {
"type": "int",
"required": "True"
},
"second": {
"type": "int",
"required": "True"
},
"year": {
"type": "int",
"required": "True"
},
"day": {
"type": "int",
"required": "True"
},
"minute": {
"type": "int",
"required": "True"
}
}
},
"remove.user.device": {
"url": "user/device/remove",
"params": {
"macs": {
"type": "array",
"required": "False"
}
}
},
"import.vpn-certificate.remote": {
"url": "vpn-certificate/remote/import",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
}
}
},
"upload.webproxy.pacfile": {
"url": "webproxy/pacfile/upload",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"filename": {
"type": "string",
"required": "False"
}
}
},
"push.switch-controller.fsw-firmware": {
"url": "switch-controller/fsw-firmware/push",
"params": {
"image_id": {
"type": "string",
"required": "True"
},
"serial": {
"type": "string",
"required": "True"
}
}
},
"reset.wanopt.peer_stats": {
"url": "wanopt/peer_stats/reset",
"params": {
}
},
"delete.vpn.ssl": {
"url": "vpn/ssl/delete",
"params": {
"index": {
"type": "int",
"required": "True"
},
"type": {
"type": "string",
"required": "True"
}
}
},
"block.endpoint-control.registration": {
"url": "endpoint-control/registration/block",
"params": {
"mac": {
"type": "string",
"required": "False"
},
"uid": {
"type": "string",
"required": "False"
}
}
},
"backup-action.system.fortimanager": {
"url": "system/fortimanager/backup-action",
"params": {
"operation": {
"type": "string",
"required": "True"
},
"objects": {
"type": "array",
"required": "True"
}
}
},
"start.system.usb-log": {
"url": "system/usb-log/start",
"params": {
}
},
"system.change-password": {
"url": "system/change-password/select",
"params": {
"new_password": {
"type": "string",
"required": "True"
},
"old_password": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "False"
}
}
},
"reset.firewall.multicast-policy": {
"url": "firewall/multicast-policy/reset",
"params": {
}
},
"tunnel_down.vpn.ipsec": {
"url": "vpn/ipsec/tunnel_down",
"params": {
"p2name": {
"type": "string",
"required": "True"
},
"p2serial": {
"type": "int",
"required": "False"
},
"p1name": {
"type": "string",
"required": "True"
}
}
},
"clear_all.wifi.rogue_ap": {
"url": "wifi/rogue_ap/clear_all",
"params": {
}
},
"import-seed.user.fortitoken": {
"url": "user/fortitoken/import-seed",
"params": {
"file_content": {
"type": "string",
"required": "False"
}
}
},
"poe-reset.switch-controller.managed-switch": {
"url": "switch-controller/managed-switch/poe-reset",
"params": {
"port": {
"type": "string",
"required": "True"
},
"mkey": {
"type": "string",
"required": "True"
}
}
},
"logout.registration.forticloud": {
"url": "registration/forticloud/logout",
"params": {
}
},
"clear_counters.firewall.acl6": {
"url": "firewall/acl6/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"restore.system.config": {
"url": "system/config/restore",
"params": {
"config_id": {
"type": "int",
"required": "False"
},
"file_content": {
"type": "string",
"required": "False"
},
"usb_filename": {
"type": "string",
"required": "False"
},
"source": {
"type": "string",
"required": "True"
},
"scope": {
"type": "string",
"required": "True"
},
"password": {
"type": "string",
"required": "False"
},
"vdom": {
"type": "string",
"required": "False"
}
}
},
"import.vpn-certificate.ca": {
"url": "vpn-certificate/ca/import",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
},
"import_method": {
"type": "string",
"required": "True"
},
"scep_ca_id": {
"type": "string",
"required": "False"
},
"scep_url": {
"type": "string",
"required": "False"
}
}
},
"upload.switch-controller.fsw-firmware": {
"url": "switch-controller/fsw-firmware/upload",
"params": {
"serials": {
"type": "string",
"required": "False"
},
"file_content": {
"type": "string",
"required": "False"
}
}
},
"test.user.tacacs-plus": {
"url": "user/tacacs-plus/test",
"params": {
"ordinal": {
"type": "string",
"required": "False"
},
"source_ip": {
"type": "string",
"required": "False"
},
"server": {
"type": "string",
"required": "False"
},
"secret": {
"type": "string",
"required": "False"
},
"port": {
"type": "int",
"required": "False"
},
"mkey": {
"type": "string",
"required": "False"
}
}
},
"upload.system.config-script": {
"url": "system/config-script/upload",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"filename": {
"type": "string",
"required": "False"
}
}
},
"system.password-policy-conform": {
"url": "system/password-policy-conform/select",
"params": {
"apply_to": {
"type": "string",
"required": "False"
},
"password": {
"type": "string",
"required": "False"
},
"old_password": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "False"
}
}
},
"sms.user.guest": {
"url": "user/guest/sms",
"params": {
"group": {
"type": "string",
"required": "True"
},
"guest": {
"type": "array",
"required": "True"
}
}
},
"delete.system.config-script": {
"url": "system/config-script/delete",
"params": {
"id_list": {
"type": "array",
"required": "True"
}
}
},
"reset.wanopt.history": {
"url": "wanopt/history/reset",
"params": {
}
},
"reset.firewall.policy6": {
"url": "firewall/policy6/reset",
"params": {
}
},
"import-mobile.user.fortitoken": {
"url": "user/fortitoken/import-mobile",
"params": {
"code": {
"type": "string",
"required": "True"
}
}
},
"download.switch-controller.fsw-firmware": {
"url": "switch-controller/fsw-firmware/download",
"params": {
"image_id": {
"type": "string",
"required": "True"
}
}
},
"stop.wifi.spectrum": {
"url": "wifi/spectrum/stop",
"params": {
"radio_id": {
"type": "int",
"required": "True"
},
"wtp_id": {
"type": "string",
"required": "True"
}
}
},
"reset.firewall.central-snat-map": {
"url": "firewall/central-snat-map/reset",
"params": {
}
},
"clear.system.crash-log": {
"url": "system/crash-log/clear",
"params": {
}
},
"close-all.firewall.session": {
"url": "firewall/session/close-all",
"params": {
}
},
"login.registration.forticare": {
"url": "registration/forticare/login",
"params": {
"reseller_name": {
"type": "string",
"required": "True"
},
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
},
"reseller_id": {
"type": "int",
"required": "True"
}
}
},
"close-multiple.firewall.session": {
"url": "firewall/session/close-multiple",
"params": {
"nport": {
"type": "int",
"required": "False"
},
"proto": {
"type": "string",
"required": "False"
},
"daddr": {
"type": "string",
"required": "False"
},
"policy": {
"type": "int",
"required": "False"
},
"naddr": {
"type": "string",
"required": "False"
},
"saddr": {
"type": "string",
"required": "False"
},
"dport": {
"type": "int",
"required": "False"
},
"sport": {
"type": "int",
"required": "False"
}
}
},
"create.registration.forticloud": {
"url": "registration/forticloud/create",
"params": {
"send_logs": {
"type": "boolean",
"required": "False"
},
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
}
}
},
"upload.wifi.firmware": {
"url": "wifi/firmware/upload",
"params": {
"serials": {
"type": "string",
"required": "False"
},
"file_content": {
"type": "string",
"required": "False"
}
}
},
"start.wifi.spectrum": {
"url": "wifi/spectrum/start",
"params": {
"radio_id": {
"type": "int",
"required": "True"
},
"channels": {
"type": "array",
"required": "True"
},
"duration": {
"type": "int",
"required": "True"
},
"wtp_id": {
"type": "string",
"required": "True"
}
}
},
"disconnect.system.modem": {
"url": "system/modem/disconnect",
"params": {
}
},
"disconnect.system.ha-peer": {
"url": "system/ha-peer/disconnect",
"params": {
"interface": {
"type": "string",
"required": "True"
},
"ip": {
"type": "string",
"required": "True"
},
"serial_no": {
"type": "string",
"required": "True"
},
"mask": {
"type": "string",
"required": "True"
}
}
},
"keep-alive.wifi.spectrum": {
"url": "wifi/spectrum/keep-alive",
"params": {
"radio_id": {
"type": "int",
"required": "True"
},
"duration": {
"type": "int",
"required": "True"
},
"wtp_id": {
"type": "string",
"required": "True"
}
}
},
"reset.system.modem": {
"url": "system/modem/reset",
"params": {
}
},
"activate.user.fortitoken": {
"url": "user/fortitoken/activate",
"params": {
"tokens": {
"type": "array",
"required": "False"
}
}
},
"register-appliance.system.csf": {
"url": "system/csf/register-appliance",
"params": {
"mgmt_ip": {
"type": "string",
"required": "True"
},
"mgmt_port": {
"type": "int",
"required": "False"
},
"hostname": {
"type": "string",
"required": "False"
},
"mgmt_url_parameters": {
"type": "array",
"required": "False"
},
"serial": {
"type": "string",
"required": "True"
},
"type": {
"type": "string",
"required": "True"
}
}
},
"refresh.azure.application-list": {
"url": "azure/application-list/refresh",
"params": {
"last_update_time": {
"type": "int",
"required": "False"
}
}
},
"start.wifi.vlan-probe": {
"url": "wifi/vlan-probe/start",
"params": {
"wtp": {
"type": "string",
"required": "True"
},
"retries": {
"type": "int",
"required": "True"
},
"start_vlan_id": {
"type": "int",
"required": "True"
},
"end_vlan_id": {
"type": "int",
"required": "True"
},
"timeout": {
"type": "int",
"required": "True"
},
"ap_interface": {
"type": "int",
"required": "True"
}
}
},
"clear.system.sniffer": {
"url": "system/sniffer/clear",
"params": {
"mkey": {
"type": "int",
"required": "True"
}
}
},
"reset.extender-controller.extender": {
"url": "extender-controller/extender/reset",
"params": {
"id": {
"type": "string",
"required": "True"
}
}
},
"validate-gcp-key.system.sdn-connector": {
"url": "system/sdn-connector/validate-gcp-key",
"params": {
"private-key": {
"type": "string",
"required": "True"
}
}
},
"restart.system.sniffer": {
"url": "system/sniffer/restart",
"params": {
"mkey": {
"type": "int",
"required": "True"
}
}
},
"import.web-ui.language": {
"url": "web-ui/language/import",
"params": {
"file_content": {
"type": "string",
"required": "False"
}
}
},
"import-trial.user.fortitoken": {
"url": "user/fortitoken/import-trial",
"params": {
}
},
"flush.firewall.gtp": {
"url": "firewall/gtp/flush",
"params": {
"fteid_addr": {
"type": "string",
"required": "False"
},
"ms_addr": {
"type": "string",
"required": "False"
},
"msisdn": {
"type": "string",
"required": "False"
},
"cteid_addr": {
"type": "string",
"required": "False"
},
"cteid_addr6": {
"type": "string",
"required": "False"
},
"version": {
"type": "int",
"required": "False"
},
"apn": {
"type": "string",
"required": "False"
},
"gtp_profile": {
"type": "string",
"required": "False"
},
"fteid_addr6": {
"type": "string",
"required": "False"
},
"ms_addr6": {
"type": "string",
"required": "False"
},
"scope": {
"type": "string",
"required": "False"
},
"cteid": {
"type": "int",
"required": "False"
},
"imsi": {
"type": "string",
"required": "False"
},
"fteid": {
"type": "int",
"required": "False"
}
}
},
"dump.system.com-log": {
"url": "system/com-log/dump",
"params": {
}
},
"diagnose.extender-controller.extender": {
"url": "extender-controller/extender/diagnose",
"params": {
"cmd": {
"type": "string",
"required": "True"
},
"id": {
"type": "string",
"required": "True"
}
}
},
"update-comments.system.config-revision": {
"url": "system/config-revision/update-comments",
"params": {
"config_id": {
"type": "int",
"required": "False"
},
"comments": {
"type": "string",
"required": "False"
}
}
},
"refresh.user.fortitoken": {
"url": "user/fortitoken/refresh",
"params": {
"tokens": {
"type": "array",
"required": "False"
}
}
},
"reset.firewall.policy": {
"url": "firewall/policy/reset",
"params": {
}
},
"shutdown.system.os": {
"url": "system/os/shutdown",
"params": {
"event_log_message": {
"type": "string",
"required": "False"
}
}
},
"reset.log.stats": {
"url": "log/stats/reset",
"params": {
}
},
"revoke.system.dhcp6": {
"url": "system/dhcp6/revoke",
"params": {
"ip": {
"type": "array",
"required": "False"
}
}
},
"login.registration.forticloud": {
"url": "registration/forticloud/login",
"params": {
"send_logs": {
"type": "boolean",
"required": "False"
},
"domain": {
"type": "string",
"required": "False"
},
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
}
}
},
"reset.wanopt.webcache": {
"url": "wanopt/webcache/reset",
"params": {
}
},
"save.system.config-revision": {
"url": "system/config-revision/save",
"params": {
"comments": {
"type": "string",
"required": "False"
}
}
},
"set_status.wifi.managed_ap": {
"url": "wifi/managed_ap/set_status",
"params": {
"admin": {
"type": "string",
"required": "False"
},
"wtpname": {
"type": "string",
"required": "False"
}
}
},
"deauth.user.firewall": {
"url": "user/firewall/deauth",
"params": {
"all": {
"type": "boolean",
"required": "False"
},
"users": {
"type": "array",
"required": "False"
},
"ip": {
"type": "string",
"required": "False"
},
"user_type": {
"type": "string",
"required": "False"
},
"id": {
"type": "int",
"required": "False"
},
"ip_version": {
"type": "string",
"required": "False"
},
"method": {
"type": "string",
"required": "False"
}
}
},
"upgrade.extender-controller.extender": {
"url": "extender-controller/extender/upgrade",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"id": {
"type": "string",
"required": "True"
}
}
},
"delete.system.config-revision": {
"url": "system/config-revision/delete",
"params": {
"config_ids": {
"type": "array",
"required": "True"
}
}
},
"clear_users.user.banned": {
"url": "user/banned/clear_users",
"params": {
"ip_addresses": {
"type": "array",
"required": "True"
}
}
},
"create.vpn-certificate.local": {
"url": "vpn-certificate/local/create",
"params": {
"common_name": {
"type": "string",
"required": "True"
},
"scope": {
"type": "string",
"required": "True"
},
"certname": {
"type": "string",
"required": "True"
}
}
},
"send-activation.user.fortitoken": {
"url": "user/fortitoken/send-activation",
"params": {
"token": {
"type": "string",
"required": "True"
},
"sms_phone": {
"type": "string",
"required": "False"
},
"method": {
"type": "string",
"required": "False"
},
"email": {
"type": "string",
"required": "False"
}
}
},
"reset.webcache.stats": {
"url": "webcache/stats/reset",
"params": {
}
},
"clear_counters.firewall.proxy-policy": {
"url": "firewall/proxy-policy/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"utm.rating-lookup": {
"url": "utm/rating-lookup/select",
"params": {
"url": {
"type": "array",
"required": "False"
},
"lang": {
"type": "string",
"required": "False"
}
}
},
"test.system.automation-stitch": {
"url": "system/automation-stitch/test",
"params": {
"log": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "True"
}
}
},
"refresh.system.external-resource": {
"url": "system/external-resource/refresh",
"params": {
"last_connection_time": {
"type": "int",
"required": "False"
},
"mkey": {
"type": "string",
"required": "True"
},
"check_status_only": {
"type": "boolean",
"required": "False"
}
}
},
"auth.user.firewall": {
"url": "user/firewall/auth",
"params": {
"username": {
"type": "string",
"required": "True"
},
"ip": {
"type": "string",
"required": "True"
},
"ip_version": {
"type": "string",
"required": "False"
},
"server": {
"type": "string",
"required": "False"
}
}
},
"dhcp-renew.system.interface": {
"url": "system/interface/dhcp-renew",
"params": {
"mkey": {
"type": "string",
"required": "True"
},
"ipv6": {
"type": "boolean",
"required": "False"
}
}
},
"migrate.registration.forticloud": {
"url": "registration/forticloud/migrate",
"params": {
"password": {
"type": "string",
"required": "True"
},
"email": {
"type": "string",
"required": "True"
}
}
},
"clear_counters.firewall.multicast-policy": {
"url": "firewall/multicast-policy/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"connect.wifi.network": {
"url": "wifi/network/connect",
"params": {
"ssid": {
"type": "string",
"required": "True"
}
}
},
"test-connect.user.radius": {
"url": "user/radius/test-connect",
"params": {
"ordinal": {
"type": "string",
"required": "False"
},
"auth_type": {
"type": "string",
"required": "False"
},
"server": {
"type": "string",
"required": "False"
},
"secret": {
"type": "string",
"required": "False"
},
"user": {
"type": "string",
"required": "False"
},
"password": {
"type": "string",
"required": "False"
},
"mkey": {
"type": "string",
"required": "False"
}
}
},
"speed-test-trigger.system.interface": {
"url": "system/interface/speed-test-trigger",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"generate-key.system.api-user": {
"url": "system/api-user/generate-key",
"params": {
"api-user": {
"type": "string",
"required": "True"
}
}
},
"upload.wifi.region-image": {
"url": "wifi/region-image/upload",
"params": {
"image_type": {
"type": "string",
"required": "True"
},
"file_content": {
"type": "string",
"required": "False"
},
"region_name": {
"type": "string",
"required": "True"
}
}
},
"run.system.config-script": {
"url": "system/config-script/run",
"params": {
"remote_script": {
"type": "string",
"required": "True"
}
}
},
"clear_tunnel.vpn.ssl": {
"url": "vpn/ssl/clear_tunnel",
"params": {
}
},
"add.nsx.service": {
"url": "nsx/service/add",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"update.system.fortiguard": {
"url": "system/fortiguard/update",
"params": {
}
},
"restart.switch-controller.managed-switch": {
"url": "switch-controller/managed-switch/restart",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"unquarantine.endpoint-control.registration": {
"url": "endpoint-control/registration/unquarantine",
"params": {
"mac": {
"type": "string",
"required": "False"
},
"uid": {
"type": "string",
"required": "False"
}
}
},
"led-blink.wifi.managed_ap": {
"url": "wifi/managed_ap/led-blink",
"params": {
"serials": {
"type": "array",
"required": "True"
},
"duration": {
"type": "int",
"required": "False"
},
"blink": {
"type": "boolean",
"required": "True"
}
}
},
"update.system.sdn-connector": {
"url": "system/sdn-connector/update",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"config.system.fortimanager": {
"url": "system/fortimanager/config",
"params": {
"unregister": {
"type": "boolean",
"required": "False"
},
"fortimanager_ip": {
"type": "string",
"required": "False"
}
}
},
"system.disconnect-admins": {
"url": "system/disconnect-admins/select",
"params": {
"admins": {
"type": "array",
"required": "False"
},
"id": {
"type": "int",
"required": "False"
},
"method": {
"type": "string",
"required": "False"
}
}
},
"provision-user.vpn.ssl": {
"url": "vpn/ssl/provision-user",
"params": {
"sms_server": {
"type": "string",
"required": "False"
},
"vpn_name": {
"type": "string",
"required": "True"
},
"phone_user_list": {
"type": "string",
"required": "False"
},
"method": {
"type": "string",
"required": "False"
},
"email_list": {
"type": "string",
"required": "False"
},
"host": {
"type": "string",
"required": "True"
},
"sms_method": {
"type": "string",
"required": "False"
},
"port": {
"type": "int",
"required": "True"
},
"phone_number_list": {
"type": "string",
"required": "False"
}
}
},
"create.web-ui.custom-language": {
"url": "web-ui/custom-language/create",
"params": {
"file_content": {
"type": "string",
"required": "False"
},
"lang_name": {
"type": "string",
"required": "True"
},
"lang_comments": {
"type": "string",
"required": "False"
},
"filename": {
"type": "string",
"required": "True"
}
}
},
"check.endpoint-control.registration-password": {
"url": "endpoint-control/registration-password/check",
"params": {
"password": {
"type": "string",
"required": "True"
}
}
},
"clear-counters.firewall.dnat": {
"url": "firewall/dnat/clear-counters",
"params": {
"id": {
"type": "int",
"required": "False"
}
}
},
"scan.wifi.network": {
"url": "wifi/network/scan",
"params": {
}
},
"clear.vpn.ike": {
"url": "vpn/ike/clear",
"params": {
"mkey": {
"type": "string",
"required": "True"
}
}
},
"clear_counters.firewall.security-policy": {
"url": "firewall/security-policy/clear_counters",
"params": {
"policy": {
"type": "int",
"required": "False"
}
}
},
"clear_all.user.banned": {
"url": "user/banned/clear_all",
"params": {
}
},
"delete.firewall.clearpass-address": {
"url": "firewall/clearpass-address/delete",
"params": {
"endpoint_ip": {
"type": "array",
"required": "True"
},
"spt": {
"type": "string",
"required": "False"
}
}
},
"connect.system.modem": {
"url": "system/modem/connect",
"params": {
}
},
"generate-keys.wifi.ssid": {
"url": "wifi/ssid/generate-keys",
"params": {
"count": {
"type": "int",
"required": "True"
},
"prefix": {
"type": "string",
"required": "True"
},
"group": {
"type": "string",
"required": "True"
},
"key_length": {
"type": "int",
"required": "True"
},
"mpsk_profile": {
"type": "string",
"required": "True"
}
}
}
}
def is_successful_status(resp):
return 'status' in resp and resp['status'] == 'success' or \
'http_status' in resp and resp['http_status'] == 200 or \
'http_method' in resp and resp['http_method'] == "DELETE" and resp['http_status'] == 404
def validate_parameters(fos):
# parameter validation will not block task, warning will be provided in case of parameters validation.
mod_params = fos._module.params
selector = mod_params['selector']
params = mod_params['params']
if params:
for param_key, param_value in params.items():
if type(param_value) not in [bool, int, str, list]:
return False, {'message': 'value of param:%s must be atomic' % (param_key)}
acceptable_param_names = list(module_selectors_defs[selector]['params'].keys())
provided_param_names = list(params.keys() if params else [])
params_valid = True
for param_name in acceptable_param_names:
if param_name not in provided_param_names and eval(module_selectors_defs[selector]['params'][param_name]['required']):
params_valid = False
break
if params_valid:
for param_name in provided_param_names:
if param_name not in acceptable_param_names:
params_valid = False
break
if not params_valid:
param_summary = ['%s(%s, %s)' % (param_name, param['type'], 'required' if eval(param['required']) else 'optional')
for param_name, param in module_selectors_defs[selector]['params'].items()]
fos._module.warn("selector:%s expects params:%s" % (selector, str(param_summary)))
return True, {}
def fortios_monitor(fos):
valid, result = validate_parameters(fos)
if not valid:
return True, False, result
params = fos._module.params
selector = params['selector']
selector_params = params['params']
resp = fos.monitor_post(module_selectors_defs[selector]['url'], vdom=params['vdom'], data=selector_params)
return not is_successful_status(resp), False, resp
def main():
fields = {
"access_token": {"required": False, "type": "str", "no_log": True},
"vdom": {"required": False, "type": "str", "default": "root"},
"enable_log": {"required": False, "type": 'bool', "default": False},
"params": {"required": False, "type": "dict"},
"selector": {
"required": True,
"type": "str",
"choices": [
"format.system.logdisk",
"update.switch-controller.managed-switch",
"update.system.ha-peer",
"add-license.registration.vdom",
"geoip.geoip-query",
"clear-statistics.system.fortiguard",
"enable-app-bandwidth-tracking.system.traffic-history",
"upgrade.license.database",
"run.system.compliance",
"clear_counters.firewall.policy",
"upgrade.system.firmware",
"download.wifi.firmware",
"provision.user.fortitoken",
"reset.firewall.per-ip-shaper",
"clear-counters.firewall.central-snat-map",
"update.system.modem",
"update.web-ui.custom-language",
"stop.wifi.vlan-probe",
"import.vpn-certificate.local",
"create.registration.forticare",
"save.system.config",
"tunnel_reset_stats.vpn.ipsec",
"toggle-vdom-mode.system.admin",
"register-device.registration.forticloud",
"quarantine.endpoint-control.registration",
"set_status.wifi.rogue_ap",
"email.user.guest",
"add.firewall.clearpass-address",
"transfer.registration.forticare",
"import.vpn-certificate.crl",
"reset.firewall.dnat",
"disassociate.wifi.client",
"reset.webfilter.category-quota",
"close-multiple.firewall.session6",
"test-availability.system.fortiguard",
"tunnel_up.vpn.ipsec",
"read-info.system.certificate",
"deregister.endpoint-control.registration",
"clear-soft-out.router.bgp",
"factory-reset.switch-controller.managed-switch",
"clear-soft-in.router.bgp",
"stop.system.sniffer",
"delete.log.local-report",
"add-license.registration.forticare",
"verify-cert.endpoint-control.ems",
"cancel.fortiview.session",
"restart.wifi.managed_ap",
"delete.webfilter.override",
"unblock.endpoint-control.registration",
"stop.system.usb-log",
"close.firewall.session",
"reset.firewall.shaper",
"clear_all.firewall.session",
"clear_counters.firewall.acl",
"reset.wifi.euclid",
"abort.user.query",
"revoke.system.dhcp",
"add_users.user.banned",
"start.system.fsck",
"clear_counters.firewall.multicast-policy6",
"clear_counters.firewall.policy6",
"change-vdom-mode.system.admin",
"refresh-server.user.fsso",
"clear_counters.firewall.consolidated-policy",
"trigger.system.security-rating",
"webhook.system.automation-stitch",
"generate.vpn-certificate.csr",
"upload.system.vmlicense",
"reset.firewall.multicast-policy6",
"backup.system.config",
"push.wifi.firmware",
"eject.system.usb-device",
"start.system.sniffer",
"kill.system.process",
"reboot.system.os",
"reset.firewall.consolidated-policy",
"set.system.time",
"remove.user.device",
"import.vpn-certificate.remote",
"upload.webproxy.pacfile",
"push.switch-controller.fsw-firmware",
"reset.wanopt.peer_stats",
"delete.vpn.ssl",
"block.endpoint-control.registration",
"backup-action.system.fortimanager",
"start.system.usb-log",
"system.change-password",
"reset.firewall.multicast-policy",
"tunnel_down.vpn.ipsec",
"clear_all.wifi.rogue_ap",
"import-seed.user.fortitoken",
"poe-reset.switch-controller.managed-switch",
"logout.registration.forticloud",
"clear_counters.firewall.acl6",
"restore.system.config",
"import.vpn-certificate.ca",
"upload.switch-controller.fsw-firmware",
"test.user.tacacs-plus",
"upload.system.config-script",
"system.password-policy-conform",
"sms.user.guest",
"delete.system.config-script",
"reset.wanopt.history",
"reset.firewall.policy6",
"import-mobile.user.fortitoken",
"download.switch-controller.fsw-firmware",
"stop.wifi.spectrum",
"reset.firewall.central-snat-map",
"clear.system.crash-log",
"close-all.firewall.session",
"login.registration.forticare",
"close-multiple.firewall.session",
"create.registration.forticloud",
"upload.wifi.firmware",
"start.wifi.spectrum",
"disconnect.system.modem",
"disconnect.system.ha-peer",
"keep-alive.wifi.spectrum",
"reset.system.modem",
"activate.user.fortitoken",
"register-appliance.system.csf",
"refresh.azure.application-list",
"start.wifi.vlan-probe",
"clear.system.sniffer",
"reset.extender-controller.extender",
"validate-gcp-key.system.sdn-connector",
"restart.system.sniffer",
"import.web-ui.language",
"import-trial.user.fortitoken",
"flush.firewall.gtp",
"dump.system.com-log",
"diagnose.extender-controller.extender",
"update-comments.system.config-revision",
"refresh.user.fortitoken",
"reset.firewall.policy",
"shutdown.system.os",
"reset.log.stats",
"revoke.system.dhcp6",
"login.registration.forticloud",
"reset.wanopt.webcache",
"save.system.config-revision",
"set_status.wifi.managed_ap",
"deauth.user.firewall",
"upgrade.extender-controller.extender",
"delete.system.config-revision",
"clear_users.user.banned",
"create.vpn-certificate.local",
"send-activation.user.fortitoken",
"reset.webcache.stats",
"clear_counters.firewall.proxy-policy",
"utm.rating-lookup",
"test.system.automation-stitch",
"refresh.system.external-resource",
"auth.user.firewall",
"dhcp-renew.system.interface",
"migrate.registration.forticloud",
"clear_counters.firewall.multicast-policy",
"connect.wifi.network",
"test-connect.user.radius",
"speed-test-trigger.system.interface",
"generate-key.system.api-user",
"upload.wifi.region-image",
"run.system.config-script",
"clear_tunnel.vpn.ssl",
"add.nsx.service",
"update.system.fortiguard",
"restart.switch-controller.managed-switch",
"unquarantine.endpoint-control.registration",
"led-blink.wifi.managed_ap",
"update.system.sdn-connector",
"config.system.fortimanager",
"system.disconnect-admins",
"provision-user.vpn.ssl",
"create.web-ui.custom-language",
"check.endpoint-control.registration-password",
"clear-counters.firewall.dnat",
"scan.wifi.network",
"clear.vpn.ike",
"clear_counters.firewall.security-policy",
"clear_all.user.banned",
"delete.firewall.clearpass-address",
"connect.system.modem",
"generate-keys.wifi.ssid",
],
}
}
module = AnsibleModule(argument_spec=fields,
supports_check_mode=False)
check_legacy_fortiosapi(module)
versions_check_result = None
if module._socket_path:
connection = Connection(module._socket_path)
# Checking system status prevents upload.system.vmlicense from uploading a licence to a newly installed machine.
connection.set_option('check_system_status', False)
if 'access_token' in module.params:
connection.set_option('access_token', module.params['access_token'])
# Logging for fact module could be disabled/enabled.
if 'enable_log' in module.params:
connection.set_option('enable_log', module.params['enable_log'])
else:
connection.set_option('enable_log', False)
fos = FortiOSHandler(connection, module)
is_error, has_changed, result = fortios_monitor(fos)
else:
module.fail_json(**FAIL_SOCKET_MSG)
if versions_check_result and versions_check_result['matched'] is False:
module.warn("Ansible has detected version mismatch between FortOS system and galaxy, see more details by specifying option -vvv")
if not is_error:
if versions_check_result and versions_check_result['matched'] is False:
module.exit_json(changed=has_changed, version_check_warning=versions_check_result, meta=result)
else:
module.exit_json(changed=has_changed, meta=result)
else:
if versions_check_result and versions_check_result['matched'] is False:
module.fail_json(msg="Error in repo", version_check_warning=versions_check_result, meta=result)
else:
module.fail_json(msg="Error in repo", meta=result)
if __name__ == '__main__':
main()