:source: fortios_firewall_shaper_traffic_shaper.py
:orphan:
.. fortios_firewall_shaper_traffic_shaper:
fortios_firewall_shaper_traffic_shaper -- Configure shared traffic shaper 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_shaper feature and traffic_shaper 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_shaper_traffic_shaper - Configure shared traffic shaper. type: dict
more...
| Supported Version Ranges |
| firewall_shaper_traffic_shaper |
v6.0.0 -> 7.6.6 |
- bandwidth_unit - Unit of measurement for guaranteed and maximum bandwidth for this shaper (Kbps, Mbps or Gbps). type: str choices: kbps, mbps, gbps
more...
|
Supported Version Ranges |
| bandwidth_unit |
v6.0.0 -> 7.6.6 |
| [kbps] |
v6.0.0 -> 7.6.6 |
| [mbps] |
v6.0.0 -> 7.6.6 |
| [gbps] |
v6.0.0 -> 7.6.6 |
- cos - VLAN CoS mark. type: str
more...
|
Supported Version Ranges |
| cos |
v7.4.0 -> 7.6.6 |
- cos_marking - Enable/disable VLAN CoS marking. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| cos_marking |
v7.4.0 -> 7.6.6 |
| [enable] |
v7.4.0 -> 7.6.6 |
| [disable] |
v7.4.0 -> 7.6.6 |
- cos_marking_method - Select VLAN CoS marking method. type: str choices: multi-stage, static
more...
|
Supported Version Ranges |
| cos_marking_method |
v7.4.0 -> 7.6.6 |
| [multi-stage] |
v7.4.0 -> 7.6.6 |
| [static] |
v7.4.0 -> 7.6.6 |
- diffserv - Enable/disable changing the DiffServ setting applied to traffic accepted by this shaper. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| diffserv |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
- diffservcode - DiffServ setting to be applied to traffic accepted by this shaper. type: str
more...
|
Supported Version Ranges |
| diffservcode |
v6.0.0 -> 7.6.6 |
- dscp_marking_method - Select DSCP marking method. type: str choices: multi-stage, static
more...
|
Supported Version Ranges |
| dscp_marking_method |
v6.2.0 -> 7.6.6 |
| [multi-stage] |
v6.2.0 -> 7.6.6 |
| [static] |
v6.2.0 -> 7.6.6 |
- exceed_bandwidth - Exceed bandwidth used for DSCP/VLAN CoS multi-stage marking. Units depend on the bandwidth-unit setting. type: int
more...
|
Supported Version Ranges |
| exceed_bandwidth |
v6.2.0 -> 7.6.6 |
- exceed_class_id - Class ID for traffic in guaranteed-bandwidth and maximum-bandwidth. Source firewall.traffic-class.class-id. type: int
more...
|
Supported Version Ranges |
| exceed_class_id |
v6.2.0 -> 7.6.6 |
- exceed_cos - VLAN CoS mark for traffic in [guaranteed-bandwidth, exceed-bandwidth]. type: str
more...
|
Supported Version Ranges |
| exceed_cos |
v7.4.0 -> 7.6.6 |
- exceed_dscp - DSCP mark for traffic in guaranteed-bandwidth and exceed-bandwidth. type: str
more...
|
Supported Version Ranges |
| exceed_dscp |
v6.2.0 -> 7.6.6 |
- guaranteed_bandwidth - Amount of bandwidth guaranteed for this shaper (0 - 80000000). Units depend on the bandwidth-unit setting. type: int
more...
|
Supported Version Ranges |
| guaranteed_bandwidth |
v6.0.0 -> 7.6.6 |
- maximum_bandwidth - Upper bandwidth limit enforced by this shaper (0 - 80000000). 0 means no limit. Units depend on the bandwidth-unit setting. type: int
more...
|
Supported Version Ranges |
| maximum_bandwidth |
v6.0.0 -> 7.6.6 |
- maximum_cos - VLAN CoS mark for traffic in [exceed-bandwidth, maximum-bandwidth]. type: str
more...
|
Supported Version Ranges |
| maximum_cos |
v7.4.0 -> 7.6.6 |
- maximum_dscp - DSCP mark for traffic in exceed-bandwidth and maximum-bandwidth. type: str
more...
|
Supported Version Ranges |
| maximum_dscp |
v6.2.0 -> 7.6.6 |
- name - Traffic shaper name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- overhead - Per-packet size overhead used in rate computations. type: int
more...
|
Supported Version Ranges |
| overhead |
v6.2.0 -> 7.6.6 |
- per_policy - Enable/disable applying a separate shaper for each policy. For example, if enabled the guaranteed bandwidth is applied separately for each policy. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| per_policy |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
- priority - Higher priority traffic is more likely to be forwarded without delays and without compromising the guaranteed bandwidth. type: str choices: low, medium, high
more...
|
Supported Version Ranges |
| priority |
v6.0.0 -> 7.6.6 |
| [low] |
v6.0.0 -> 7.6.6 |
| [medium] |
v6.0.0 -> 7.6.6 |
| [high] |
v6.0.0 -> 7.6.6 |
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 shared traffic shaper.
fortinet.fortios.fortios_firewall_shaper_traffic_shaper:
vdom: "{{ vdom }}"
state: "present"
access_token: ""
firewall_shaper_traffic_shaper:
bandwidth_unit: "kbps"
cos: ""
cos_marking: "enable"
cos_marking_method: "multi-stage"
diffserv: "enable"
diffservcode: ""
dscp_marking_method: "multi-stage"
exceed_bandwidth: "0"
exceed_class_id: "0"
exceed_cos: ""
exceed_dscp: ""
guaranteed_bandwidth: "0"
maximum_bandwidth: "0"
maximum_cos: ""
maximum_dscp: ""
name: "default_name_18"
overhead: "0"
per_policy: "disable"
priority: "low"
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.