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”、“Printers”、“Samba”、“Scanners” 和 “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”。 |
|
您要阻止的内容的 “值”。如果 “type” 是 “host”、“port” 或 “ipRange”,“value” 必须是与主机名(例如 Somewhere.com)、端口(例如 8080)或 IP 范围(例如 192.1.0.0/16)匹配的字符串。如果 “type” 是 “application” 或 “applicationCategory”,则 “value” 必须是具有应用程序 ID 的对象。 |
|
如何强制执行防火墙和流量整形规则。可以是 ‘network default’、‘ignore’ 或 ‘custom’。 |
|
流量整形规则数组。规则按照指定的顺序应用。空列表(或 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)。 |
|
您的规则如何应用带宽限制。可以是 ‘network default’、‘ignore’ 或 ‘custom’ 之一。 |
|
一个字符串,指示绑定到您的规则的数据包的优先级。可以是 ‘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 分钟的增量。 |
|
绑定到您的策略的客户端是绕过 Splash 授权还是按照网络的规则运行。可以是 ‘network default’ 或 ‘bypass’ 之一。仅当您的网络具有无线配置时才可用。 |
|
您的组策略的 VLAN 标记设置。仅当您的网络具有无线配置时才可用。 |
|
如何应用 VLAN 标记。可以是 ‘network default’、‘ignore’ 或 ‘custom’。 |
|
您要标记的 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 关于网络 createNetworkGroupPolicy 的文档
createNetworkGroupPolicy API 的完整参考。
- Cisco Meraki 关于网络 deleteNetworkGroupPolicy 的文档
deleteNetworkGroupPolicy API 的完整参考。
- Cisco Meraki 关于网络 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 返回的响应 已返回: 始终 示例: |