Skip to content

Latest commit

 

History

History
423 lines (379 loc) · 18.2 KB

fortios_firewall_shaping_profile.rst

File metadata and controls

423 lines (379 loc) · 18.2 KB
source:fortios_firewall_shaping_profile.py
orphan:

fortios_firewall_shaping_profile -- Configure shaping profiles in Fortinet's FortiOS and FortiGate.

.. versionadded:: 2.0.0

  • This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and shaping_profile category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0

The below requirements are needed on the host that executes this module.

  • ansible>=2.14

Using member operation to add an element to an existing object.


Supported Version Ranges
fortios_firewall_shaping_profile v6.0.0 -> latest

  • 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_shaping_profile - Configure shaping profiles. type: dict more...
    Supported Version Ranges
    firewall_shaping_profile v6.0.0 -> latest
    • comment - Comment. type: str more...
      Supported Version Ranges
      comment v6.0.0 -> latest
    • default_class_id - Default class ID to handle unclassified packets (including all local traffic). Source firewall.traffic-class.class-id. type: int more...
      Supported Version Ranges
      default_class_id v6.0.0 -> latest
    • profile_name - Shaping profile name. type: str required: true more...
      Supported Version Ranges
      profile_name v6.0.0 -> latest
    • shaping_entries - Define shaping entries of this shaping profile. type: list member_path: shaping_entries:id more...
      Supported Version Ranges
      shaping_entries v6.0.0 -> latest
      • burst_in_msec - Number of bytes that can be burst at maximum-bandwidth speed. Formula: burst = maximum-bandwidth*burst-in-msec. type: int more...
        Supported Version Ranges
        burst_in_msec v6.2.0 -> latest
      • cburst_in_msec - Number of bytes that can be burst as fast as the interface can transmit. Formula: cburst = maximum-bandwidth*cburst-in-msec. type: int more...
        Supported Version Ranges
        cburst_in_msec v6.2.0 -> latest
      • class_id - Class ID. Source firewall.traffic-class.class-id. type: int more...
        Supported Version Ranges
        class_id v6.0.0 -> latest
      • guaranteed_bandwidth_percentage - Guaranteed bandwidth in percentage. type: int more...
        Supported Version Ranges
        guaranteed_bandwidth_percentage v6.0.0 -> latest
      • id - ID number. see Notes. type: int required: true more...
        Supported Version Ranges
        id v6.0.0 -> latest
      • limit - Hard limit on the real queue size in packets. type: int more...
        Supported Version Ranges
        limit v6.2.0 -> latest
      • max - Average queue size in packets at which RED drop probability is maximal. type: int more...
        Supported Version Ranges
        max v6.2.0 -> latest
      • maximum_bandwidth_percentage - Maximum bandwidth in percentage. type: int more...
        Supported Version Ranges
        maximum_bandwidth_percentage v6.0.0 -> latest
      • min - Average queue size in packets at which RED drop becomes a possibility. type: int more...
        Supported Version Ranges
        min v6.2.0 -> latest
      • priority - Priority. type: str choices: top, critical, high, medium, low more...
        Supported Version Ranges
        priority v6.0.0 -> latest
        [top] v6.2.0 -> latest
        [critical] v6.2.0 -> latest
        [high] v6.0.0 -> latest
        [medium] v6.0.0 -> latest
        [low] v6.0.0 -> latest
      • red_probability - Maximum probability (in percentage) for RED marking. type: int more...
        Supported Version Ranges
        red_probability v6.2.0 -> latest
    • type - Select shaping profile type: policing / queuing. type: str choices: policing, queuing more...
      Supported Version Ranges
      type v6.2.0 -> latest
      [policing] v6.0.0 -> latest
      [queuing] v6.0.0 -> latest

Note

  • Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- name: Configure shaping profiles.
  fortinet.fortios.fortios_firewall_shaping_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_shaping_profile:
          comment: "Comment."
          default_class_id: "0"
          profile_name: "<your_own_value>"
          shaping_entries:
              -
                  burst_in_msec: "0"
                  cburst_in_msec: "0"
                  class_id: "0"
                  guaranteed_bandwidth_percentage: "0"
                  id: "11"
                  limit: "1000"
                  max: "250"
                  maximum_bandwidth_percentage: "1"
                  min: "83"
                  priority: "top"
                  red_probability: "0"
          type: "policing"

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:

  • 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
  • This module is not guaranteed to have a backwards compatible interface.
  • 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.