cisco / cisco.meraki / 2.18.0 / module / networks_appliance_vlans Resource module for networks _appliance _vlans | "added in version" 2.16.0 of cisco.meraki" Authors: Francisco Munoz (@fmunoz) This plugin has a corresponding action plugin.cisco.meraki.networks_appliance_vlans (2.18.0) — module
Install with ansible-galaxy collection install cisco.meraki:==2.18.0
collections: - name: cisco.meraki version: 2.18.0
Manage operations create, update and delete of the resource networks _appliance _vlans.
Add a VLAN.
Delete a VLAN from a network.
Update a VLAN.
- 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
id: description: The VLAN ID of the new VLAN (must be between 1 and 4094). type: str cidr: description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN. type: str ipv6: description: IPv6 configuration on the VLAN. suboptions: enabled: description: Enable IPv6 on VLAN. type: bool prefixAssignments: description: Prefix assignments on the VLAN. elements: dict suboptions: autonomous: description: Auto assign a /64 prefix from the origin to the VLAN. type: bool origin: description: The origin of the prefix. suboptions: interfaces: description: Interfaces associated with the prefix. elements: str type: list type: description: Type of the origin. type: str type: dict staticApplianceIp6: description: Manual configuration of the IPv6 Appliance IP. type: str staticPrefix: description: Manual configuration of a /64 prefix on the VLAN. type: str type: list type: dict mask: description: Mask used for the subnet of all bound to the template networks. Applicable only for template network. type: int name: description: The name of the new VLAN. type: str subnet: description: The subnet of the VLAN. type: str vlanId: description: VlanId path parameter. Vlan ID. type: str networkId: description: NetworkId path parameter. Network ID. type: str applianceIp: description: The local IP of the appliance on the VLAN. type: str dhcpOptions: description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties. elements: dict suboptions: code: description: The code for the DHCP option. This should be an integer between 2 and 254. type: str type: description: The type for the DHCP option. One of 'text', 'ip', 'hex' or 'integer'. type: str value: description: The value for the DHCP option. type: str type: list dhcpHandling: description: The appliance's handling of DHCP requests on this VLAN. One of 'Run a DHCP server', 'Relay DHCP to another server' or 'Do not respond to DHCP requests'. type: str vpnNatSubnet: description: The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN. type: str dhcpLeaseTime: description: The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of '30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week'. type: str groupPolicyId: description: The id of the desired group policy to apply to the VLAN. type: str mandatoryDhcp: description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above. suboptions: enabled: description: Enable Mandatory DHCP on VLAN. type: bool type: dict meraki_caller: default: '' description: - meraki_caller (string), optional identifier for API usage tracking; can also be set as an environment variable MERAKI_PYTHON_SDK_CALLER type: str dnsNameservers: description: The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names. type: str meraki_api_key: description: - meraki_api_key (string), API key generated in dashboard; can also be set as an environment variable MERAKI_DASHBOARD_API_KEY required: true type: str meraki_base_url: default: https://api.meraki.com/api/v1 description: - meraki_base_url (string), preceding all endpoint resources type: str meraki_log_path: default: '' description: - log_path (string), path to output log; by default, working directory of script if not specified type: str meraki_simulate: default: false description: - meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes? type: bool dhcpBootFilename: description: DHCP boot option for boot filename. type: str meraki_be_geo_id: default: '' description: - meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID type: str reservedIpRanges: description: The DHCP reserved IP ranges on the VLAN. elements: dict suboptions: comment: description: A text comment for the reserved range. type: str end: description: The last IP in the reserved range. type: str start: description: The first IP in the reserved range. type: str type: list templateVlanType: description: Type of subnetting of the VLAN. Applicable only for template network. type: str meraki_output_log: default: true description: - meraki_output_log (boolean), create an output log file? type: bool dhcpBootNextServer: description: DHCP boot option to direct boot clients to the server to load the boot file from. type: str dhcpRelayServerIps: description: The IPs of the DHCP servers that DHCP requests should be relayed to. elements: str type: list fixedIpAssignments: description: The DHCP fixed IP assignments on the VLAN. This should be an object that contains mappings from MAC addresses to objects that themselves each contain "ip" and "name" string fields. See the sample request/response for more details. type: dict meraki_print_console: default: true description: - meraki_print_console (boolean), print logging output to console? type: bool meraki_requests_proxy: default: '' description: - meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS type: str dhcpBootOptionsEnabled: description: Use DHCP boot options specified in other properties. type: bool meraki_log_file_prefix: default: meraki_api_ description: - meraki_log_file_prefix (string), log file name appended with date and timestamp type: str meraki_maximum_retries: default: 2 description: - meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors type: int meraki_retry_4xx_error: default: false description: - meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)? type: bool meraki_certificate_path: default: '' description: - meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy type: str meraki_suppress_logging: default: false description: - meraki_suppress_logging (boolean), disable all logging? you're on your own then! type: bool meraki_wait_on_rate_limit: default: true description: - meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered? type: bool meraki_inherit_logging_config: default: false description: - meraki_inherit_logging_config (boolean), Inherits your own logger instance type: bool meraki_single_request_timeout: default: 60 description: - meraki_single_request_timeout (integer), maximum number of seconds for each API call type: int meraki_nginx_429_retry_wait_time: default: 60 description: - meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time type: int meraki_retry_4xx_error_wait_time: default: 60 description: - meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time type: int meraki_use_iterator_for_get_pages: default: false description: - meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator with each object instead of a complete list with all items type: bool meraki_action_batch_retry_wait_time: default: 60 description: - meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time type: int
meraki_response: description: A dictionary or list with the response returned by the Cisco Meraki Python SDK returned: always sample: "{\n \"applianceIp\": \"string\",\n \"cidr\": \"string\",\n \"groupPolicyId\"\ : \"string\",\n \"id\": \"string\",\n \"interfaceId\": \"string\",\n \"ipv6\"\ : {\n \"enabled\": true,\n \"prefixAssignments\": [\n {\n \"\ autonomous\": true,\n \"origin\": {\n \"interfaces\": [\n \ \ \"string\"\n ],\n \"type\": \"string\"\n },\n\ \ \"staticApplianceIp6\": \"string\",\n \"staticPrefix\": \"string\"\ \n }\n ]\n },\n \"mandatoryDhcp\": {\n \"enabled\": true\n },\n\ \ \"mask\": 0,\n \"name\": \"string\",\n \"subnet\": \"string\",\n \"templateVlanType\"\ : \"string\"\n}\n" type: dict