On this page
fortios_firewall_service_custom – Configure custom services in Fortinet’s FortiOS and FortiGate
New in version 2.8.
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.5
Requirements
The below requirements are needed on the host that executes this module.
- fortiosapi>=0.9.8
Parameters
| Parameter | Choices/Defaults | Comments | ||
|---|---|---|---|---|
| firewall_service_custom 
        dictionary
        | Default: 
        null
        | 
        Configure custom services.
        | ||
| app_category 
        list
        | 
        Application category ID.
        | |||
| id 
        integer / required
        | 
        Application category id.
        | |||
| app_service_type 
        string
        | 
 | 
        Application service type.
        | ||
| application 
        list
        | 
        Application ID.
        | |||
| id 
        integer / required
        | 
        Application id.
        | |||
| category 
        string
        | 
        Service category. Source firewall.service.category.name.
        | |||
| check_reset_range 
        string
        | 
 | 
        Configure the type of ICMP error message verification.
        | ||
| color 
        integer
        | 
        Color of icon on the GUI.
        | |||
| comment 
        string
        | 
        Comment.
        | |||
| fqdn 
        string
        | 
        Fully qualified domain name.
        | |||
| helper 
        string
        | 
 | 
        Helper name.
        | ||
| icmpcode 
        integer
        | 
        ICMP code.
        | |||
| icmptype 
        integer
        | 
        ICMP type.
        | |||
| iprange 
        string
        | 
        Start and end of the IP range associated with service.
        | |||
| name 
        string / required
        | 
        Custom service name.
        | |||
| protocol 
        string
        | 
 | 
        Protocol type based on IANA numbers.
        | ||
| protocol_number 
        integer
        | 
        IP protocol number.
        | |||
| proxy 
        string
        | 
 | 
        Enable/disable web proxy service.
        | ||
| sctp_portrange 
        string
        | 
        Multiple SCTP port ranges.
        | |||
| session_ttl 
        integer
        | 
        Session TTL (300 - 604800, 0 = default).
        | |||
| state 
        string
        | 
 | Deprecated
        
        Starting with Ansible 2.9 we recommend using the top-level 'state' parameter.
        
        Indicates whether to create or remove the object.
        | ||
| tcp_halfclose_timer 
        integer
        | 
        Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default).
        | |||
| tcp_halfopen_timer 
        integer
        | 
        Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default).
        | |||
| tcp_portrange 
        string
        | 
        Multiple TCP port ranges.
        | |||
| tcp_timewait_timer 
        integer
        | 
        Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default).
        | |||
| udp_idle_timer 
        integer
        | 
        UDP half close timeout (0 - 86400 sec, 0 = default).
        | |||
| udp_portrange 
        string
        | 
        Multiple UDP port ranges.
        | |||
| visibility 
        string
        | 
 | 
        Enable/disable the visibility of the service on the GUI.
        | ||
| host 
        string
        | 
        FortiOS or FortiGate IP address.
        | |||
| https 
        boolean
        | 
 | 
        Indicates if the requests towards FortiGate must use HTTPS protocol.
        | ||
| password 
        string
        | Default: 
        ""
        | 
        FortiOS or FortiGate password.
        | ||
| ssl_verify 
        boolean
        
        added in 2.9
        | 
 | 
        Ensures FortiGate certificate must be verified by a proper CA.
        | ||
| state 
        string
        
        added in 2.9
        | 
 | 
        Indicates whether to create or remove the object. This attribute was present already in previous version in a deeper level. It has been moved out to this outer level.
        | ||
| username 
        string
        | 
        FortiOS or FortiGate username.
        | |||
| vdom 
        string
        | Default: 
        "root"
        | 
        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.
        | ||
Notes
Note
- Requires fortiosapi library developed by Fortinet
- Run as a local_action in your playbook
Examples
- hosts: localhost
  vars:
   host: "192.168.122.40"
   username: "admin"
   password: ""
   vdom: "root"
   ssl_verify: "False"
  tasks:
  - name: Configure custom services.
    fortios_firewall_service_custom:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      state: "present"
      firewall_service_custom:
        app_category:
         -
            id:  "4"
        app_service_type: "disable"
        application:
         -
            id:  "7"
        category: "<your_own_value> (source firewall.service.category.name)"
        check_reset_range: "disable"
        color: "10"
        comment: "Comment."
        fqdn: "<your_own_value>"
        helper: "auto"
        icmpcode: "14"
        icmptype: "15"
        iprange: "<your_own_value>"
        name: "default_name_17"
        protocol: "TCP/UDP/SCTP"
        protocol_number: "19"
        proxy: "enable"
        sctp_portrange: "<your_own_value>"
        session_ttl: "22"
        tcp_halfclose_timer: "23"
        tcp_halfopen_timer: "24"
        tcp_portrange: "<your_own_value>"
        tcp_timewait_timer: "26"
        udp_idle_timer: "27"
        udp_portrange: "<your_own_value>"
        visibility: "enable"
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| build 
        string
        | always | 
        Build number of the fortigate image
        Sample:
        
        1547
        | 
| http_method 
        string
        | always | 
        Last method used to provision the content into FortiGate
        Sample:
        
        PUT
        | 
| http_status 
        string
        | always | 
        Last result given by FortiGate on last operation applied
        Sample:
        
        200
        | 
| mkey 
        string
        | success | 
        Master key (id) used in the last call to FortiGate
        Sample:
        
        id
        | 
| name 
        string
        | always | 
        Name of the table used to fulfill the request
        Sample:
        
        urlfilter
        | 
| path 
        string
        | always | 
        Path of the table used to fulfill the request
        Sample:
        
        webfilter
        | 
| revision 
        string
        | always | 
        Internal revision number
        Sample:
        
        17.0.2.10658
        | 
| serial 
        string
        | always | 
        Serial number of the unit
        Sample:
        
        FGVMEVYYQT3AB5352
        | 
| status 
        string
        | always | 
        Indication of the operation's result
        Sample:
        
        success
        | 
| vdom 
        string
        | always | 
        Virtual domain used
        Sample:
        
        root
        | 
| version 
        string
        | always | 
        Version of the FortiGate
        Sample:
        
        v5.6.3
        | 
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.9/modules/fortios_firewall_service_custom_module.html