cisco.meraki.networks_appliance_vlans module -- Resource module for networks _appliance _vlans
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_vlans
.
New in cisco.meraki 2.16.0
Synopsis
Manage operations create, update and delete of the resource networks _appliance _vlans.
Add a VLAN.
Delete a VLAN from a network.
Update a VLAN.
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 |
---|---|
The local IP of the appliance on the VLAN. |
|
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. |
|
DHCP boot option for boot filename. |
|
DHCP boot option to direct boot clients to the server to load the boot file from. |
|
Use DHCP boot options specified in other properties. Choices: |
|
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'. |
|
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'. |
|
The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties. |
|
The code for the DHCP option. This should be an integer between 2 and 254. |
|
The type for the DHCP option. One of 'text', 'ip', 'hex' or 'integer'. |
|
The value for the DHCP option. |
|
The IPs of the DHCP servers that DHCP requests should be relayed to. |
|
The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names. |
|
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. |
|
The id of the desired group policy to apply to the VLAN. |
|
The VLAN ID of the new VLAN (must be between 1 and 4094). |
|
IPv6 configuration on the VLAN. |
|
Enable IPv6 on VLAN. Choices: |
|
Prefix assignments on the VLAN. |
|
Auto assign a /64 prefix from the origin to the VLAN. Choices: |
|
The origin of the prefix. |
|
Interfaces associated with the prefix. |
|
Type of the origin. |
|
Manual configuration of the IPv6 Appliance IP. |
|
Manual configuration of a /64 prefix on the VLAN. |
|
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. |
|
Enable Mandatory DHCP on VLAN. Choices: |
|
Mask used for the subnet of all bound to the template networks. Applicable only for template network. |
|
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: |
|
The name of the new VLAN. |
|
NetworkId path parameter. Network ID. |
|
The DHCP reserved IP ranges on the VLAN. |
|
A text comment for the reserved range. |
|
The last IP in the reserved range. |
|
The first IP in the reserved range. |
|
The subnet of the VLAN. |
|
Type of subnetting of the VLAN. Applicable only for template network. |
|
VlanId path parameter. Vlan ID. |
|
The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN. |
Notes
Note
SDK Method used are appliance.Appliance.create_network_appliance_vlan, appliance.Appliance.delete_network_appliance_vlan, appliance.Appliance.update_network_appliance_vlan,
Paths used are post /networks/{networkId}/appliance/vlans, delete /networks/{networkId}/appliance/vlans/{vlanId}, put /networks/{networkId}/appliance/vlans/{vlanId},
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 createNetworkApplianceVlan
Complete reference of the createNetworkApplianceVlan API.
- Cisco Meraki documentation for appliance deleteNetworkApplianceVlan
Complete reference of the deleteNetworkApplianceVlan API.
- Cisco Meraki documentation for appliance updateNetworkApplianceVlan
Complete reference of the updateNetworkApplianceVlan API.
Examples
- 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
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 |