:source: fortios_firewall_service_custom.py
:orphan:
.. fortios_firewall_service_custom:
fortios_firewall_service_custom -- Configure custom services in Fortinet's FortiOS and FortiGate.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. versionadded:: 2.0.0
.. contents::
:local:
:depth: 1
Synopsis
--------
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall_service feature and custom category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
------------
The below requirements are needed on the host that executes this module.
- ansible>=2.16
Tips
----
Using member operation to add an element to an existing object.
FortiOS Version Compatibility
-----------------------------
Supported Version Ranges: v6.0.0 -> v7.6.6
Parameters
----------
.. raw:: html
- access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: false
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- vdom - 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
- member_path - Member attribute path to operate on. type: str
- member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
- state - Indicates whether to create or remove the object. type: str required: true choices: present, absent
- firewall_service_custom - Configure custom services. type: dict
more...
| Supported Version Ranges |
| firewall_service_custom |
v6.0.0 -> 7.6.6 |
- app_category - Application category ID. type: list member_path: app_category:id
more...
| Supported Version Ranges |
| app_category |
v6.0.0 -> 7.6.6 |
- id - Application category id. see Notes. type: int required: true
more...
|
Supported Version Ranges |
| id |
v6.0.0 -> 7.6.6 |
- app_service_type - Application service type. type: str choices: disable, app-id, app-category
more...
|
Supported Version Ranges |
| app_service_type |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [app-id] |
v6.0.0 -> 7.6.6 |
| [app-category] |
v6.0.0 -> 7.6.6 |
- application - Application ID. type: list member_path: application:id
more...
| Supported Version Ranges |
| application |
v6.0.0 -> 7.6.6 |
- id - Application id. see Notes. type: int required: true
more...
|
Supported Version Ranges |
| id |
v6.0.0 -> 7.6.6 |
- category - Service category. Source firewall.service.category.name. type: str
more...
|
Supported Version Ranges |
| category |
v6.0.0 -> 7.6.6 |
- check_reset_range - Configure the type of ICMP error message verification. type: str choices: disable, strict, default
more...
|
Supported Version Ranges |
| check_reset_range |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [strict] |
v6.0.0 -> 7.6.6 |
| [default] |
v6.0.0 -> 7.6.6 |
- color - Color of icon on the GUI. type: int
more...
|
Supported Version Ranges |
| color |
v6.0.0 -> 7.6.6 |
- comment - Comment. type: str
more...
|
Supported Version Ranges |
| comment |
v6.0.0 -> 7.6.6 |
- fabric_object - Security Fabric global object setting. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| fabric_object |
v6.4.4 -> 7.6.6 |
| [enable] |
v6.4.4 -> 7.6.6 |
| [disable] |
v6.4.4 -> 7.6.6 |
- fqdn - Fully qualified domain name. type: str
more...
|
Supported Version Ranges |
| fqdn |
v6.0.0 -> 7.6.6 |
- helper - Helper name. type: str choices: auto, disable, ftp, tftp, ras, h323, tns, mms, sip, pptp, rtsp, dns-udp, dns-tcp, pmap, rsh, dcerpc, mgcp, gtp-c, gtp-u, gtp-b, pfcp
more...
|
Supported Version Ranges |
| helper |
v6.0.0 -> 7.6.6 |
| [auto] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [ftp] |
v6.0.0 -> 7.6.6 |
| [tftp] |
v6.0.0 -> 7.6.6 |
| [ras] |
v6.0.0 -> 7.6.6 |
| [h323] |
v6.0.0 -> 7.6.6 |
| [tns] |
v6.0.0 -> 7.6.6 |
| [mms] |
v6.0.0 -> 7.6.6 |
| [sip] |
v6.0.0 -> 7.6.6 |
| [pptp] |
v6.0.0 -> 7.6.6 |
| [rtsp] |
v6.0.0 -> 7.6.6 |
| [dns-udp] |
v6.0.0 -> 7.6.6 |
| [dns-tcp] |
v6.0.0 -> 7.6.6 |
| [pmap] |
v6.0.0 -> 7.6.6 |
| [rsh] |
v6.0.0 -> 7.6.6 |
| [dcerpc] |
v6.0.0 -> 7.6.6 |
| [mgcp] |
v6.0.0 -> 7.6.6 |
| [gtp-c] |
v6.0.0 -> v7.0.8 |
v7.2.0 -> v7.2.4 |
v7.4.3 -> 7.6.6 |
| [gtp-u] |
v6.0.0 -> v7.0.8 |
v7.2.0 -> v7.2.4 |
v7.4.3 -> 7.6.6 |
| [gtp-b] |
v6.0.0 -> v7.0.8 |
v7.2.0 -> v7.2.4 |
v7.4.3 -> 7.6.6 |
| [pfcp] |
v7.0.1 -> v7.0.8 |
v7.2.0 -> v7.2.4 |
v7.4.3 -> 7.6.6 |
- icmpcode - ICMP code. type: int
more...
|
Supported Version Ranges |
| icmpcode |
v6.0.0 -> 7.6.6 |
- icmptype - ICMP type. type: int
more...
|
Supported Version Ranges |
| icmptype |
v6.0.0 -> 7.6.6 |
- iprange - Start and end of the IP range associated with service. type: str
more...
|
Supported Version Ranges |
| iprange |
v6.0.0 -> 7.6.6 |
- name - Custom service name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- protocol - Protocol type based on IANA numbers. type: str choices: TCP/UDP/UDP-Lite/SCTP, ICMP, ICMP6, IP, HTTP, FTP, CONNECT, SOCKS-TCP, SOCKS-UDP, ALL, TCP/UDP/SCTP
more...
|
Supported Version Ranges |
| protocol |
v6.0.0 -> 7.6.6 |
| [TCP/UDP/UDP-Lite/SCTP] |
v7.6.0 -> 7.6.6 |
| [ICMP] |
v6.0.0 -> 7.6.6 |
| [ICMP6] |
v6.0.0 -> 7.6.6 |
| [IP] |
v6.0.0 -> 7.6.6 |
| [HTTP] |
v6.0.0 -> 7.6.6 |
| [FTP] |
v6.0.0 -> 7.6.6 |
| [CONNECT] |
v6.0.0 -> 7.6.6 |
| [SOCKS-TCP] |
v6.0.0 -> 7.6.6 |
| [SOCKS-UDP] |
v6.0.0 -> 7.6.6 |
| [ALL] |
v6.0.0 -> 7.6.6 |
| [TCP/UDP/SCTP] |
v6.0.0 -> v7.4.4 |
- protocol_number - IP protocol number. type: int
more...
|
Supported Version Ranges |
| protocol_number |
v6.0.0 -> 7.6.6 |
- proxy - Enable/disable web proxy service. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| proxy |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
- sctp_portrange - Multiple SCTP port ranges. type: str
more...
|
Supported Version Ranges |
| sctp_portrange |
v6.0.0 -> 7.6.6 |
- session_ttl - Session TTL (300 - 2764800, 0 = default). type: str
more...
|
Supported Version Ranges |
| session_ttl |
v6.0.0 -> 7.6.6 |
- tcp_halfclose_timer - Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default). type: int
more...
|
Supported Version Ranges |
| tcp_halfclose_timer |
v6.0.0 -> 7.6.6 |
- tcp_halfopen_timer - Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default). type: int
more...
|
Supported Version Ranges |
| tcp_halfopen_timer |
v6.0.0 -> 7.6.6 |
- tcp_portrange - Multiple TCP port ranges. type: str
more...
|
Supported Version Ranges |
| tcp_portrange |
v6.0.0 -> 7.6.6 |
- tcp_rst_timer - Set the length of the TCP CLOSE state in seconds (5 - 300 sec, 0 = default). type: int
more...
|
Supported Version Ranges |
| tcp_rst_timer |
v7.0.0 -> 7.6.6 |
- tcp_timewait_timer - Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default). type: int
more...
|
Supported Version Ranges |
| tcp_timewait_timer |
v6.0.0 -> 7.6.6 |
- udp_idle_timer - Number of seconds before an idle UDP/UDP-Lite connection times out (0 - 86400 sec, 0 = default). type: int
more...
|
Supported Version Ranges |
| udp_idle_timer |
v6.0.0 -> 7.6.6 |
- udp_portrange - Multiple UDP port ranges. type: str
more...
|
Supported Version Ranges |
| udp_portrange |
v6.0.0 -> 7.6.6 |
- udplite_portrange - Multiple UDP-Lite port ranges. type: str
more...
|
Supported Version Ranges |
| udplite_portrange |
v7.6.0 -> 7.6.6 |
- uuid - Universally Unique Identifier (UUID; automatically assigned but can be manually reset). type: str
more...
|
Supported Version Ranges |
| uuid |
v7.4.2 -> 7.6.6 |
- visibility - Enable/disable the visibility of the service on the GUI. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| visibility |
v6.0.0 -> v7.2.2 |
| [enable] |
v6.0.0 -> v7.2.2 |
| [disable] |
v6.0.0 -> v7.2.2 |
Notes
-----
.. note::
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- The module supports check_mode.
Examples
--------
.. code-block:: yaml+jinja
- name: Configure custom services.
fortinet.fortios.fortios_firewall_service_custom:
vdom: "{{ vdom }}"
state: "present"
access_token: ""
firewall_service_custom:
app_category:
-
id: "4"
app_service_type: "disable"
application:
-
id: "7"
category: " (source firewall.service.category.name)"
check_reset_range: "disable"
color: "0"
comment: "Comment."
fabric_object: "enable"
fqdn: ""
helper: "auto"
icmpcode: ""
icmptype: ""
iprange: ""
name: "default_name_18"
protocol: "TCP/UDP/UDP-Lite/SCTP"
protocol_number: "0"
proxy: "enable"
sctp_portrange: ""
session_ttl: ""
tcp_halfclose_timer: "0"
tcp_halfopen_timer: "0"
tcp_portrange: ""
tcp_rst_timer: "0"
tcp_timewait_timer: "0"
udp_idle_timer: "0"
udp_portrange: ""
udplite_portrange: ""
uuid: ""
visibility: "enable"
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
- build - Build number of the fortigate image returned: always type: str sample: 1547
- http_method - Last method used to provision the content into FortiGate returned: always type: str sample: PUT
- http_status - Last result given by FortiGate on last operation applied returned: always type: str sample: 200
- mkey - Master key (id) used in the last call to FortiGate returned: success type: str sample: id
- name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
- path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
- revision - Internal revision number returned: always type: str sample: 17.0.2.10658
- serial - Serial number of the unit returned: always type: str sample: FGVMEVYYQT3AB5352
- status - Indication of the operation's result returned: always type: str sample: success
- vdom - Virtual domain used returned: always type: str sample: root
- version - Version of the FortiGate returned: always type: str sample: v5.6.3
Status
------
- This module is not guaranteed to have a backwards compatible interface.
Authors
-------
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
.. hint::
If you notice any issues in this documentation, you can create a pull request to improve it.