ansible.builtin.fortios_firewall_shaping_policy (v2.8.20) — module

Configure shaping policies in Fortinet's FortiOS and FortiGate.

| "added in version" 2.8 of ansible.builtin"

Authors: Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.8.20

Description

This module is able to configure a FortiGate or FortiOS by allowing the user to configure firewall feature and shaping_policy category. Examples includes all options and need to be adjusted to datasources before usage. Tested with FOS v6.0.2


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: localhost
  vars:
   host: "192.168.122.40"
   username: "admin"
   password: ""
   vdom: "root"
  tasks:
  - name: Configure shaping policies.
    fortios_firewall_shaping_policy:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      firewall_shaping_policy:
        state: "present"
        app-category:
         -
            id:  "4"
        application:
         -
            id:  "6"
        class-id: "7"
        comment: "Comments."
        dstaddr:
         -
            name: "default_name_10 (source firewall.address.name firewall.addrgrp.name)"
        dstaddr6:
         -
            name: "default_name_12 (source firewall.address6.name firewall.addrgrp6.name)"
        dstintf:
         -
            name: "default_name_14 (source system.interface.name system.zone.name)"
        groups:
         -
            name: "default_name_16 (source user.group.name)"
        id:  "17"
        internet-service: "enable"
        internet-service-custom:
         -
            name: "default_name_20 (source firewall.internet-service-custom.name)"
        internet-service-id:
         -
            id:  "22 (source firewall.internet-service.id)"
        internet-service-src: "enable"
        internet-service-src-custom:
         -
            name: "default_name_25 (source firewall.internet-service-custom.name)"
        internet-service-src-id:
         -
            id:  "27 (source firewall.internet-service.id)"
        ip-version: "4"
        per-ip-shaper: "<your_own_value> (source firewall.shaper.per-ip-shaper.name)"
        schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
        service:
         -
            name: "default_name_32 (source firewall.service.custom.name firewall.service.group.name)"
        srcaddr:
         -
            name: "default_name_34 (source firewall.address.name firewall.addrgrp.name)"
        srcaddr6:
         -
            name: "default_name_36 (source firewall.address6.name firewall.addrgrp6.name)"
        status: "enable"
        traffic-shaper: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
        traffic-shaper-reverse: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
        url-category:
         -
            id:  "41"
        users:
         -
            name: "default_name_43 (source user.local.name)"

Inputs

    
host:
    description:
    - FortiOS or FortiGate ip adress.
    required: true

vdom:
    default: root
    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.

https:
    default: true
    description:
    - Indicates if the requests towards FortiGate must use HTTPS protocol
    type: bool

password:
    default: ''
    description:
    - FortiOS or FortiGate password.

username:
    description:
    - FortiOS or FortiGate username.
    required: true

firewall_shaping_policy:
    default: null
    description:
    - Configure shaping policies.
    suboptions:
      app-category:
        description:
        - IDs of one or more application categories that this shaper applies application
          control traffic shaping to.
        suboptions:
          id:
            description:
            - Category IDs.
            required: true
      application:
        description:
        - IDs of one or more applications that this shaper applies application control
          traffic shaping to.
        suboptions:
          id:
            description:
            - Application IDs.
            required: true
      class-id:
        description:
        - Traffic class ID.
      comment:
        description:
        - Comments.
      dstaddr:
        description:
        - IPv4 destination address and address group names.
        suboptions:
          name:
            description:
            - Address name. Source firewall.address.name firewall.addrgrp.name.
            required: true
      dstaddr6:
        description:
        - IPv6 destination address and address group names.
        suboptions:
          name:
            description:
            - Address name. Source firewall.address6.name firewall.addrgrp6.name.
            required: true
      dstintf:
        description:
        - One or more outgoing (egress) interfaces.
        suboptions:
          name:
            description:
            - Interface name. Source system.interface.name system.zone.name.
            required: true
      groups:
        description:
        - Apply this traffic shaping policy to user groups that have authenticated with
          the FortiGate.
        suboptions:
          name:
            description:
            - Group name. Source user.group.name.
            required: true
      id:
        description:
        - Shaping policy ID.
        required: true
      internet-service:
        choices:
        - enable
        - disable
        description:
        - Enable/disable use of Internet Services for this policy. If enabled, destination
          address and service are not used.
      internet-service-custom:
        description:
        - Custom Internet Service name.
        suboptions:
          name:
            description:
            - Custom Internet Service name. Source firewall.internet-service-custom.name.
            required: true
      internet-service-id:
        description:
        - Internet Service ID.
        suboptions:
          id:
            description:
            - Internet Service ID. Source firewall.internet-service.id.
            required: true
      internet-service-src:
        choices:
        - enable
        - disable
        description:
        - Enable/disable use of Internet Services in source for this policy. If enabled,
          source address is not used.
      internet-service-src-custom:
        description:
        - Custom Internet Service source name.
        suboptions:
          name:
            description:
            - Custom Internet Service name. Source firewall.internet-service-custom.name.
            required: true
      internet-service-src-id:
        description:
        - Internet Service source ID.
        suboptions:
          id:
            description:
            - Internet Service ID. Source firewall.internet-service.id.
            required: true
      ip-version:
        choices:
        - 4
        - 6
        description:
        - Apply this traffic shaping policy to IPv4 or IPv6 traffic.
      per-ip-shaper:
        description:
        - Per-IP traffic shaper to apply with this policy. Source firewall.shaper.per-ip-shaper.name.
      schedule:
        description:
        - Schedule name. Source firewall.schedule.onetime.name firewall.schedule.recurring.name
          firewall.schedule.group.name.
      service:
        description:
        - Service and service group names.
        suboptions:
          name:
            description:
            - Service name. Source firewall.service.custom.name firewall.service.group.name.
            required: true
      srcaddr:
        description:
        - IPv4 source address and address group names.
        suboptions:
          name:
            description:
            - Address name. Source firewall.address.name firewall.addrgrp.name.
            required: true
      srcaddr6:
        description:
        - IPv6 source address and address group names.
        suboptions:
          name:
            description:
            - Address name. Source firewall.address6.name firewall.addrgrp6.name.
            required: true
      state:
        choices:
        - present
        - absent
        description:
        - Indicates whether to create or remove the object
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable this traffic shaping policy.
      traffic-shaper:
        description:
        - Traffic shaper to apply to traffic forwarded by the firewall policy. Source
          firewall.shaper.traffic-shaper.name.
      traffic-shaper-reverse:
        description:
        - Traffic shaper to apply to response traffic received by the firewall policy.
          Source firewall.shaper.traffic-shaper.name.
      url-category:
        description:
        - IDs of one or more FortiGuard Web Filtering categories that this shaper applies
          traffic shaping to.
        suboptions:
          id:
            description:
            - URL category ID.
            required: true
      users:
        description:
        - Apply this traffic shaping policy to individual users that have authenticated
          with the FortiGate.
        suboptions:
          name:
            description:
            - User name. Source user.local.name.
            required: true

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str