cisco.meraki.networks_group_policies 模块 – 用于网络 _grouppolicies 的资源模块
注意
此模块是 cisco.meraki 集合 (版本 2.18.3) 的一部分。
如果您使用的是 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.meraki
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:cisco.meraki.networks_group_policies
。
cisco.meraki 2.16.0 中的新功能
概要
管理资源网络 _grouppolicies 的创建、更新和删除操作。
创建组策略。
删除组策略。
更新组策略。
注意
此模块有一个相应的 action 插件。
要求
执行此模块的主机需要以下要求。
meraki >= 2.4.9
python >= 3.5
参数
参数 |
注释 |
---|---|
绑定到组策略的客户端的带宽设置。 |
|
带宽限制对象,指定绑定到组策略的客户端的上传和下载速度。只有在将 ‘settings’ 设置为 ‘custom’ 时才会强制执行这些限制。 |
|
最大下载限制(整数,以 Kbps 为单位)。Null 表示无限制。 |
|
最大上传限制(整数,以 Kbps 为单位)。Null 表示无限制。 |
|
如何强制执行带宽限制。可以是 ‘network default’、‘ignore’ 或 ‘custom’。 |
|
组策略的 Bonjour 设置。仅当您的网络具有无线配置时才有效。 |
|
组策略的 Bonjour 转发规则列表。如果 ‘settings’ 设置为 ‘custom’,则必须指定至少一个规则。 |
|
Bonjour 转发规则的描述。可选。 |
|
Bonjour 服务列表。必须指定至少一项服务。可用服务为 “所有服务”、“AirPlay”、“AFP”、“BitTorrent”、“FTP”、“iChat”、“iTunes”、“打印机”、“Samba”、“扫描仪” 和 “SSH”。 |
|
服务 VLAN 的 ID。必需。 |
|
如何应用 Bonjour 规则。可以是 ‘network default’、‘ignore’ 或 ‘custom’。 |
|
组策略的内容过滤设置。 |
|
允许的 URL 模式的设置。 |
|
允许的 URL 模式列表。 |
|
如何应用 URL 模式。可以是 ‘network default’、‘append’ 或 ‘override’。 |
|
被阻止的 URL 类别的设置。 |
|
要阻止的 URL 类别列表。 |
|
如何应用 URL 类别。可以是 ‘network default’、‘append’ 或 ‘override’。 |
|
被阻止的 URL 模式的设置。 |
|
被阻止的 URL 模式列表。 |
|
如何应用 URL 模式。可以是 ‘network default’、‘append’ 或 ‘override’。 |
|
策略的防火墙和流量整形规则和设置。 |
|
L3 防火墙规则的有序数组。 |
|
规则的描述(可选)。 |
|
目标 IP 地址(采用 IP 或 CIDR 表示法)、完全限定域名(FQDN,如果您的网络支持)或 ‘any’。 |
|
目标端口(1-65535 范围内的整数)、端口范围(例如 8080-9090)或 ‘any’。 |
|
‘allow’ 或 ‘deny’ 此规则指定的流量。 |
|
协议类型(必须为 ‘tcp’、‘udp’、‘icmp’、‘icmp6’ 或 ‘any’)。 |
|
L7 防火墙规则的有序数组。 |
|
应用于匹配流量的策略。必须为 ‘deny’。 |
|
L7 规则的类型。必须为 ‘application’、‘applicationCategory’、‘host’、‘port’ 或 ‘ipRange’。 |
|
您要阻止的内容的 ‘value’。如果 ‘type’ 为 ‘host’、‘port’ 或 ‘ipRange’,则 ‘value’ 必须是与主机名(例如 Somewhere.com)、端口(例如 8080)或 IP 范围(例如 192.1.0.0/16)匹配的字符串。如果 ‘type’ 为 ‘application’ 或 ‘applicationCategory’,则 ‘value’ 必须是具有应用程序 ID 的对象。 |
|
如何强制执行防火墙和流量整形规则。可以是“网络默认”、“忽略”或“自定义”。 |
|
流量整形规则的数组。规则按照指定的顺序应用。空列表(或 null)表示没有规则。请注意,最多允许 8 条规则。 |
|
描述流量整形规则定义的对象的列表。至少需要一个定义。 |
|
定义的类型。可以是“application”、“applicationCategory”、“host”、“port”、“ipRange”或“localNet”之一。 |
|
如果“type”为“host”、“port”、“ipRange”或“localNet”,则“value”必须是一个字符串,匹配主机名(例如“somesite.com”)、端口(例如 8080)或 IP 范围(“192.1.0.0”、“192.1.0.0/16”或“10.1.0.0/16 80”)。“localNet”也支持 CIDR 表示法,但不包括自定义端口。如果“type”为“application”或“applicationCategory”,则“value”必须是一个具有以下结构的对象:{ “id” “meraki layer7/…” },其中“id”是应用程序类别或应用程序 ID(有关网络 ID 的列表,请使用 trafficShaping/applicationCategories 端点)。 |
|
规则应用的 DSCP 标记。Null 表示“不更改 DSCP 标记”。有关可能的标记值列表,请使用 trafficShaping/dscpTaggingOptions 端点。 |
|
规则应用的 PCP 标记。可以是 0(最低优先级)到 7(最高优先级)。Null 表示“不设置 PCP 标记”。 |
|
描述规则带宽设置的对象。 |
|
带宽限制对象,指定上传(“limitUp”)和下载(“limitDown”)速度(以 Kbps 为单位)。仅当“settings”设置为“custom”时才强制执行这些设置。 |
|
最大下载限制(整数,以 Kbps 为单位)。 |
|
最大上传限制(整数,以 Kbps 为单位)。 |
|
规则如何应用带宽限制。可以是“网络默认”、“忽略”或“自定义”之一。 |
|
一个字符串,指示绑定到规则的数据包的优先级。可以是“low”、“normal”或“high”。 |
|
GroupPolicyId 路径参数。组策略 ID。 |
|
meraki_action_batch_retry_wait_time(整数),操作批处理并发错误重试等待时间 默认值: |
|
meraki_api_key(字符串),仪表板中生成的 API 密钥;也可以设置为环境变量 MERAKI_DASHBOARD_API_KEY |
|
meraki_base_url(字符串),在所有端点资源之前 默认值: |
|
meraki_be_geo_id(字符串),用于 API 使用情况跟踪的可选合作伙伴标识符;也可以设置为环境变量 BE_GEO_ID 默认值: |
|
meraki_caller(字符串),用于 API 使用情况跟踪的可选标识符;也可以设置为环境变量 MERAKI_PYTHON_SDK_CALLER 默认值: |
|
meraki_certificate_path(字符串),如果位于本地代理后面,则用于 TLS/SSL 证书验证的路径 默认值: |
|
meraki_inherit_logging_config(布尔值),继承您自己的记录器实例 选择
|
|
meraki_log_file_prefix(字符串),附加日期和时间戳的日志文件名 默认值: |
|
log_path(字符串),输出日志的路径;默认情况下,如果未指定,则为脚本的工作目录 默认值: |
|
meraki_maximum_retries(整数),遇到 429 或其他服务器端错误时,最多重试这么多次 默认值: |
|
meraki_nginx_429_retry_wait_time(整数),Nginx 429 重试等待时间 默认值: |
|
meraki_output_log(布尔值),创建输出日志文件? 选择
|
|
meraki_print_console(布尔值),将日志输出打印到控制台? 选择
|
|
meraki_requests_proxy(字符串),如果需要,则为 HTTPS 的代理服务器和端口 默认值: |
|
meraki_retry_4xx_error(布尔值),如果遇到其他 4XX 错误(除了 429)是否重试? 选择
|
|
meraki_retry_4xx_error_wait_time(整数),其他 4XX 错误重试等待时间 默认值: |
|
meraki_simulate(布尔值),模拟 POST/PUT/DELETE 调用以防止更改? 选择
|
|
meraki_single_request_timeout(整数),每次 API 调用的最大秒数 默认值: |
|
meraki_suppress_logging(布尔值),禁用所有日志记录?那你自己看着办吧! 选择
|
|
meraki_use_iterator_for_get_pages(布尔值),list* 方法将返回一个迭代器,其中包含每个对象,而不是包含所有项的完整列表 选择
|
|
meraki_wait_on_rate_limit(布尔值),如果遇到 429 速率限制错误是否重试? 选择
|
|
组策略的名称。必需。 |
|
NetworkId 路径参数。网络 ID。 |
|
组策略的计划。计划应用于一周中的几天。 |
|
是否启用计划(true)或禁用计划(false)。默认为 false。如果为 true,则解析一周中每天(周一至周日)的计划对象。 选择
|
|
周五的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周一的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周六的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周日的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周四的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周二的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
周三的计划对象。 |
|
在“from”和“to”之间指定的时间内,计划是处于活动状态(true)还是非活动状态(false)。默认为 true。 选择
|
|
时间,从“00 00”到“24 00”。必须小于“to”中指定的时间。默认为“00 00”。只允许 30 分钟的增量。 |
|
时间,从“00 00”到“24 00”。必须大于“from”中指定的时间。默认为“24 00”。只允许 30 分钟的增量。 |
|
绑定到策略的客户端将绕过初始页面授权还是根据网络的规则运行。可以是“网络默认”或“绕过”之一。仅当您的网络具有无线配置时才可用。 |
|
组策略的 VLAN 标记设置。仅当您的网络具有无线配置时才可用。 |
|
如何应用 VLAN 标记。可以是“网络默认”、“忽略”或“自定义”之一。 |
|
您要标记的 VLAN 的 ID。仅当“settings”设置为“custom”时才适用。 |
备注
注意
使用的 SDK 方法是 networks.Networks.create_network_group_policy、networks.Networks.delete_network_group_policy、networks.Networks.update_network_group_policy,
使用的路径是 post /networks/{networkId}/groupPolicies、delete /networks/{networkId}/groupPolicies/{groupPolicyId}、put /networks/{networkId}/groupPolicies/{groupPolicyId},
不支持
check_mode
该插件在控制节点上运行,不使用任何 ansible 连接插件,而是使用 Cisco DNAC SDK 中的嵌入式连接管理器
以 dnac_ 开头的参数由 Cisco DNAC Python SDK 用于建立连接
另请参阅
另请参阅
- Cisco Meraki 文档,了解 networks createNetworkGroupPolicy
createNetworkGroupPolicy API 的完整参考。
- Cisco Meraki 文档,了解 networks deleteNetworkGroupPolicy
deleteNetworkGroupPolicy API 的完整参考。
- Cisco Meraki 文档,了解 networks updateNetworkGroupPolicy
updateNetworkGroupPolicy API 的完整参考。
示例
- name: Create
cisco.meraki.networks_group_policies:
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
bandwidth:
bandwidthLimits:
limitDown: 1000000
limitUp: 1000000
settings: custom
bonjourForwarding:
rules:
- description: A simple bonjour rule
services:
- All Services
vlanId: '1'
settings: custom
contentFiltering:
allowedUrlPatterns:
patterns: []
settings: network default
blockedUrlCategories:
categories:
- meraki:contentFiltering/category/1
- meraki:contentFiltering/category/7
settings: override
blockedUrlPatterns:
patterns:
- http://www.example.com
- http://www.betting.com
settings: append
firewallAndTrafficShaping:
l3FirewallRules:
- comment: Allow TCP traffic to subnet with HTTP servers.
destCidr: 192.168.1.0/24
destPort: '443'
policy: allow
protocol: tcp
l7FirewallRules:
- policy: deny
type: host
value: google.com
settings: custom
trafficShapingRules:
- definitions:
- type: host
value: google.com
dscpTagValue: 0
pcpTagValue: 0
perClientBandwidthLimits:
bandwidthLimits:
limitDown: 1000000
limitUp: 1000000
settings: custom
priority: normal
name: No video streaming
networkId: string
scheduling:
enabled: true
friday:
active: true
from: '9:00'
to: '17:00'
monday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: true
from: '9:00'
to: '17:00'
sunday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
splashAuthSettings: bypass
vlanTagging:
settings: custom
vlanId: '1'
- name: Delete by id
cisco.meraki.networks_group_policies:
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: absent
groupPolicyId: string
networkId: string
- name: Update by id
cisco.meraki.networks_group_policies:
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
bandwidth:
bandwidthLimits:
limitDown: 1000000
limitUp: 1000000
settings: custom
bonjourForwarding:
rules:
- description: A simple bonjour rule
services:
- All Services
vlanId: '1'
settings: custom
contentFiltering:
allowedUrlPatterns:
patterns: []
settings: network default
blockedUrlCategories:
categories:
- meraki:contentFiltering/category/1
- meraki:contentFiltering/category/7
settings: override
blockedUrlPatterns:
patterns:
- http://www.example.com
- http://www.betting.com
settings: append
firewallAndTrafficShaping:
l3FirewallRules:
- comment: Allow TCP traffic to subnet with HTTP servers.
destCidr: 192.168.1.0/24
destPort: '443'
policy: allow
protocol: tcp
l7FirewallRules:
- policy: deny
type: host
value: google.com
settings: custom
trafficShapingRules:
- definitions:
- type: host
value: google.com
dscpTagValue: 0
pcpTagValue: 0
perClientBandwidthLimits:
bandwidthLimits:
limitDown: 1000000
limitUp: 1000000
settings: custom
priority: normal
groupPolicyId: string
name: No video streaming
networkId: string
scheduling:
enabled: true
friday:
active: true
from: '9:00'
to: '17:00'
monday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: true
from: '9:00'
to: '17:00'
sunday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
splashAuthSettings: bypass
vlanTagging:
settings: custom
vlanId: '1'
返回值
常见返回值记录在此处,以下是此模块独有的字段
键 |
描述 |
---|---|
一个字典或列表,包含 Cisco Meraki Python SDK 返回的响应 返回: 总是 示例: |