cisco.meraki.networks_appliance_vlans 模块 – 网络_设备_VLAN 资源模块

注意

此模块是 cisco.meraki 集合 (版本 2.18.3) 的一部分。

如果您使用的是 ansible 软件包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install cisco.meraki。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定: cisco.meraki.networks_appliance_vlans

cisco.meraki 2.16.0 中的新增功能

摘要

  • 管理网络_设备_VLAN 资源的创建、更新和删除操作。

  • 添加 VLAN。

  • 从网络中删除 VLAN。

  • 更新 VLAN。

注意

此模块具有相应的 动作插件

要求

以下要求是在执行此模块的主机上所需的。

  • meraki >= 2.4.9

  • python >= 3.5

参数

参数

注释

applianceIp

字符串

VLAN 上设备的本地 IP。

cidr

字符串

子网池的 CIDR。仅适用于模板网络。绑定到模板的每个网络都将自动从此池中选择一个子网来构建其自己的 VLAN。

dhcpBootFilename

字符串

DHCP 启动选项,用于引导文件名。

dhcpBootNextServer

字符串

DHCP 启动选项,用于将引导客户端引导到服务器,以便从服务器加载引导文件。

dhcpBootOptionsEnabled

布尔值

使用其他属性中指定的 DHCP 启动选项。

选项

  • false

  • true

dhcpHandling

字符串

设备在此 VLAN 上处理 DHCP 请求的方式。 “运行 DHCP 服务器”、“将 DHCP 中继到另一台服务器”或“不响应 DHCP 请求”之一。

dhcpLeaseTime

字符串

如果设备在此 VLAN 上运行 DHCP 服务器,则 DHCP 租约的期限。“30 分钟”、“1 小时”、“4 小时”、“12 小时”、“1 天”或“1 周”之一。

dhcpOptions

列表 / 元素=字典

将包含在 DHCP 响应中的 DHCP 选项列表。列表中的每个对象都应具有“code”、“type”和“value”属性。

code

字符串

DHCP 选项的代码。这应该是 2 到 254 之间的整数。

type

字符串

DHCP 选项的类型。“text”、“ip”、“hex”或“integer”之一。

value

字符串

DHCP 选项的值。

dhcpRelayServerIps

列表 / 元素=字符串

应将 DHCP 请求中继到的 DHCP 服务器的 IP。

dnsNameservers

字符串

用于 DHCP 响应的 DNS 域名服务器,“upstream_dns”、“google_dns”、“opendns”或以换行符分隔的 IP 地址或域名字符串。

fixedIpAssignments

字典

VLAN 上的 DHCP 固定 IP 分配。这应该是一个对象,其中包含从 MAC 地址到自身对象的映射,每个对象都包含“ip”和“name”字符串字段。有关更多详细信息,请参见示例请求/响应。

groupPolicyId

字符串

要应用于 VLAN 的所需组策略的 ID。

id

字符串

新 VLAN 的 VLAN ID(必须介于 1 和 4094 之间)。

ipv6

字典

VLAN 上的 IPv6 配置。

enabled

布尔值

启用 VLAN 上的 IPv6。

选项

  • false

  • true

prefixAssignments

列表 / 元素=字典

VLAN 上的前缀分配。

autonomous

布尔值

从源自动分配 /64 前缀到 VLAN。

选项

  • false

  • true

origin

字典

前缀的来源。

interfaces

列表 / 元素=字符串

与前缀关联的接口。

type

字符串

源的类型。

staticApplianceIp6

字符串

IPv6 设备 IP 的手动配置。

staticPrefix

字符串

VLAN 上 /64 前缀的手动配置。

mandatoryDhcp

字典

强制 DHCP 将强制连接到此 VLAN 的客户端必须使用 DHCP 服务器分配的 IP 地址。使用静态 IP 地址的客户端将无法关联。仅在固件版本 17.0 及更高版本上可用。

enabled

布尔值

启用 VLAN 上的强制 DHCP。

选项

  • false

  • true

mask

整数

用于绑定到模板网络的所有子网的掩码。仅适用于模板网络。

meraki_action_batch_retry_wait_time

整数

meraki_action_batch_retry_wait_time(整数),动作批处理并发错误重试等待时间

默认值: 60

meraki_api_key

字符串 / 必需

meraki_api_key(字符串),在仪表板上生成的 API 密钥;也可以设置为环境变量 MERAKI_DASHBOARD_API_KEY

meraki_base_url

字符串

meraki_base_url(字符串),在所有端点资源之前

默认值: "https://api.meraki.com/api/v1"

meraki_be_geo_id

字符串

meraki_be_geo_id(字符串),用于 API 使用跟踪的可选合作伙伴标识符;也可以设置为环境变量 BE_GEO_ID

默认值: ""

meraki_caller

字符串

meraki_caller (字符串), 可选标识符,用于API使用跟踪;也可以设置为环境变量MERAKI_PYTHON_SDK_CALLER

默认值: ""

meraki_certificate_path

字符串

meraki_certificate_path (字符串), 如果位于本地代理后面,则用于TLS/SSL证书验证的路径

默认值: ""

meraki_inherit_logging_config

布尔值

meraki_inherit_logging_config (布尔值), 继承您自己的日志记录实例

选项

  • false ← (默认)

  • true

meraki_log_file_prefix

字符串

meraki_log_file_prefix (字符串), 日志文件名,附加日期和时间戳

默认值: "meraki_api_"

meraki_log_path

字符串

log_path (字符串), 日志输出路径;如果未指定,则默认为脚本的工作目录

默认值: ""

meraki_maximum_retries

整数

meraki_maximum_retries (整数), 遇到429错误或其他服务器端错误时,最多重试这么多次

默认值: 2

meraki_nginx_429_retry_wait_time

整数

meraki_nginx_429_retry_wait_time (整数), Nginx 429错误重试等待时间

默认值: 60

meraki_output_log

布尔值

meraki_output_log (布尔值), 创建输出日志文件?

选项

  • false

  • true ← (默认)

meraki_print_console

布尔值

meraki_print_console (布尔值), 将日志输出打印到控制台?

选项

  • false

  • true ← (默认)

meraki_requests_proxy

字符串

meraki_requests_proxy (字符串), 如果需要,用于HTTPS的代理服务器和端口

默认值: ""

meraki_retry_4xx_error

布尔值

meraki_retry_4xx_error (布尔值), 遇到其他4XX错误(除429外)时是否重试?

选项

  • false ← (默认)

  • true

meraki_retry_4xx_error_wait_time

整数

meraki_retry_4xx_error_wait_time (整数), 其他4XX错误重试等待时间

默认值: 60

meraki_simulate

布尔值

meraki_simulate (布尔值), 模拟POST/PUT/DELETE调用以防止更改?

选项

  • false ← (默认)

  • true

meraki_single_request_timeout

整数

meraki_single_request_timeout (整数), 每个API调用的最大秒数

默认值: 60

meraki_suppress_logging

布尔值

meraki_suppress_logging (布尔值), 禁用所有日志记录?那么你只能靠自己了!

选项

  • false ← (默认)

  • true

meraki_use_iterator_for_get_pages

布尔值

meraki_use_iterator_for_get_pages (布尔值), list* 方法将返回包含每个对象的迭代器,而不是包含所有项目的完整列表

选项

  • false ← (默认)

  • true

meraki_wait_on_rate_limit

布尔值

meraki_wait_on_rate_limit (布尔值), 遇到429速率限制错误时是否重试?

选项

  • false

  • true ← (默认)

name

字符串

新VLAN的名称。

networkId

字符串

NetworkId 路径参数。网络ID。

reservedIpRanges

列表 / 元素=字典

VLAN上的DHCP保留IP范围。

comment

字符串

保留范围的文本注释。

end

字符串

保留范围中的最后一个IP。

start

字符串

保留范围中的第一个IP。

subnet

字符串

VLAN的子网。

templateVlanType

字符串

VLAN的子网类型。仅适用于模板网络。

vlanId

字符串

VlanId 路径参数。VLAN ID。

vpnNatSubnet

字符串

如果在VLAN上启用了VPN和VPN子网转换,则为转换后的VPN子网。

注释

注意

  • 使用的SDK方法为appliance.Appliance.create_network_appliance_vlan, appliance.Appliance.delete_network_appliance_vlan, appliance.Appliance.update_network_appliance_vlan,

  • 使用的路径为post /networks/{networkId}/appliance/vlans, delete /networks/{networkId}/appliance/vlans/{vlanId}, put /networks/{networkId}/appliance/vlans/{vlanId},

  • 不支持 check_mode

  • 该插件在控制节点上运行,不使用任何Ansible连接插件,而是使用Cisco DNAC SDK的嵌入式连接管理器

  • 以dnac_开头的参数由Cisco DNAC Python SDK用于建立连接

另请参见

另请参见

Cisco Meraki appliance createNetworkApplianceVlan 文档

createNetworkApplianceVlan API 的完整参考。

Cisco Meraki appliance deleteNetworkApplianceVlan 文档

deleteNetworkApplianceVlan API 的完整参考。

Cisco Meraki appliance updateNetworkApplianceVlan 文档

updateNetworkApplianceVlan API 的完整参考。

示例

- name: Create
  cisco.meraki.networks_appliance_vlans:
    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
    applianceIp: 192.168.1.2
    cidr: 192.168.1.0/24
    groupPolicyId: '101'
    id: '1234'
    ipv6:
      enabled: true
      prefixAssignments:
      - autonomous: false
        origin:
          interfaces:
          - wan0
          type: internet
        staticApplianceIp6: 2001:db8:3c4d:15::1
        staticPrefix: 2001:db8:3c4d:15::/64
    mandatoryDhcp:
      enabled: true
    mask: 28
    name: My VLAN
    networkId: string
    subnet: 192.168.1.0/24
    templateVlanType: same

- name: Delete by id
  cisco.meraki.networks_appliance_vlans:
    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
    networkId: string
    vlanId: string

- name: Update by id
  cisco.meraki.networks_appliance_vlans:
    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
    adaptivePolicyGroupId: '1234'
    applianceIp: 192.168.1.2
    cidr: 192.168.1.0/24
    dhcpBootFilename: sample.file
    dhcpBootNextServer: 1.2.3.4
    dhcpBootOptionsEnabled: false
    dhcpHandling: Run a DHCP server
    dhcpLeaseTime: 1 day
    dhcpOptions:
    - code: '5'
      type: text
      value: five
    dhcpRelayServerIps:
    - 192.168.1.0/24
    - 192.168.128.0/24
    dnsNameservers: google_dns
    fixedIpAssignments:
      22:33:44:55:66:77:
        ip: 1.2.3.4
        name: Some client name
    groupPolicyId: '101'
    ipv6:
      enabled: true
      prefixAssignments:
      - autonomous: false
        origin:
          interfaces:
          - wan0
          type: internet
        staticApplianceIp6: 2001:db8:3c4d:15::1
        staticPrefix: 2001:db8:3c4d:15::/64
    mandatoryDhcp:
      enabled: true
    mask: 28
    name: My VLAN
    networkId: string
    reservedIpRanges:
    - comment: A reserved IP range
      end: 192.168.1.1
      start: 192.168.1.0
    subnet: 192.168.1.0/24
    templateVlanType: same
    vlanId: string
    vpnNatSubnet: 192.168.1.0/24

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

meraki_response

字典

包含Cisco Meraki Python SDK返回的响应的字典或列表

返回值:始终返回

示例: {"applianceIp": "string", "cidr": "string", "groupPolicyId": "string", "id": "string", "interfaceId": "string", "ipv6": {"enabled": true, "prefixAssignments": [{"autonomous": true, "origin": {"interfaces": ["string"], "type": "string"}, "staticApplianceIp6": "string", "staticPrefix": "string"}]}, "mandatoryDhcp": {"enabled": true}, "mask": 0, "name": "string", "subnet": "string", "templateVlanType": "string"}

作者

  • Francisco Munoz (@fmunoz)