cisco.meraki.networks_appliance_traffic_shaping_rules module -- Resource module for networks _appliance _trafficshaping _rules
Note
This module is part of the cisco.meraki collection (version 2.18.2).
To install it, use: ansible-galaxy collection install cisco.meraki
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.meraki.networks_appliance_traffic_shaping_rules
.
New in cisco.meraki 2.16.0
Synopsis
Manage operation update of the resource networks _appliance _trafficshaping _rules.
Update the traffic shaping settings rules for an MX network.
Note
This module has a corresponding action plugin.
Requirements
The below requirements are needed on the host that executes this module.
meraki >= 2.4.9
python >= 3.5
Parameters
Parameter |
Comments |
---|---|
Whether default traffic shaping rules are enabled (true) or disabled (false). There are 4 default rules, which can be seen on your network's traffic shaping page. Note that default rules count against the rule limit of 8. Choices: |
|
meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time Default: :ansible-option-default:`60` |
|
meraki_api_key (string), API key generated in dashboard; can also be set as an environment variable MERAKI_DASHBOARD_API_KEY |
|
meraki_base_url (string), preceding all endpoint resources Default: :ansible-option-default:`"https://api.meraki.com/api/v1"` |
|
meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID Default: :ansible-option-default:`""` |
|
meraki_caller (string), optional identifier for API usage tracking; can also be set as an environment variable MERAKI_PYTHON_SDK_CALLER Default: :ansible-option-default:`""` |
|
meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy Default: :ansible-option-default:`""` |
|
meraki_inherit_logging_config (boolean), Inherits your own logger instance Choices: |
|
meraki_log_file_prefix (string), log file name appended with date and timestamp |
|
log_path (string), path to output log; by default, working directory of script if not specified Default: :ansible-option-default:`""` |
|
meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors Default: :ansible-option-default:`2` |
|
meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time Default: :ansible-option-default:`60` |
|
meraki_output_log (boolean), create an output log file? Choices: |
|
meraki_print_console (boolean), print logging output to console? Choices: |
|
meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS Default: :ansible-option-default:`""` |
|
meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)? Choices: |
|
meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time Default: :ansible-option-default:`60` |
|
meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes? Choices: |
|
meraki_single_request_timeout (integer), maximum number of seconds for each API call Default: :ansible-option-default:`60` |
|
meraki_suppress_logging (boolean), disable all logging? you're on your own then! Choices: |
|
meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator with each object instead of a complete list with all items Choices: |
|
meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered? Choices: |
|
NetworkId path parameter. Network ID. |
|
An array of traffic shaping rules. Rules are applied in the order that they are specified in. An empty list (or null) means no rules. Note that you are allowed a maximum of 8 rules. |
|
A list of objects describing the definitions of your traffic shaping rule. At least one definition is required. |
|
The type of definition. Can be one of 'application', 'applicationCategory', 'host', 'port', 'ipRange' or 'localNet'. |
|
If "type" is 'host', 'port', 'ipRange' or 'localNet', then "value" must be a string, matching either a hostname (e.g. "somesite.com"), a port (e.g. 8080), or an IP range ("192.1.0.0", "192.1.0.0/16", or "10.1.0.0/16 80"). 'localNet' also supports CIDR notation, excluding custom ports. If "type" is 'application' or 'applicationCategory', then "value" must be an object with the structure { "id" "meraki layer7/..." }, where "id" is the application category or application ID (for a list of IDs for your network, use the trafficShaping/applicationCategories endpoint). |
|
The DSCP tag applied by your rule. Null means 'Do not change DSCP tag'. For a list of possible tag values, use the trafficShaping/dscpTaggingOptions endpoint. |
|
An object describing the bandwidth settings for your rule. |
|
The bandwidth limits object, specifying the upload ('limitUp') and download ('limitDown') speed in Kbps. These are only enforced if 'settings' is set to 'custom'. |
|
The maximum download limit (integer, in Kbps). |
|
The maximum upload limit (integer, in Kbps). |
|
How bandwidth limits are applied by your rule. Can be one of 'network default', 'ignore' or 'custom'. |
|
A string, indicating the priority level for packets bound to your rule. Can be 'low', 'normal' or 'high'. |
Notes
Note
SDK Method used are appliance.Appliance.update_network_appliance_traffic_shaping_rules,
Paths used are put /networks/{networkId}/appliance/trafficShaping/rules,
Does not support
check_mode
The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco DNAC SDK
The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection
See Also
See also
- Cisco Meraki documentation for appliance updateNetworkApplianceTrafficShapingRules
Complete reference of the updateNetworkApplianceTrafficShapingRules API.
Examples
- name: Update all
cisco.meraki.networks_appliance_traffic_shaping_rules:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: present
defaultRulesEnabled: true
networkId: string
rules:
- definitions:
- type: host
value: google.com
- type: port
value: '9090'
- type: ipRange
value: 192.1.0.0
- type: ipRange
value: 192.1.0.0/16
- type: ipRange
value: 10.1.0.0/16:80
- type: localNet
value: 192.168.0.0/16
dscpTagValue: 0
perClientBandwidthLimits:
bandwidthLimits:
limitDown: 1000000
limitUp: 1000000
settings: custom
priority: normal
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary or list with the response returned by the Cisco Meraki Python SDK Returned: always Sample: :ansible-rv-sample-value:`{}` |