cisco.meraki.meraki_mx_vlan – Manage VLANs in the Meraki cloud
Note
This plugin is part of the cisco.meraki collection (version 2.5.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.meraki
.
To use it in a playbook, specify: cisco.meraki.meraki_mx_vlan
.
Parameters
Parameter |
Comments |
---|---|
IP address of appliance. Address must be within subnet specified in |
|
Authentication key provided by the dashboard. Required if environmental variable |
|
Filename to boot from for DHCP boot |
|
DHCP boot option to direct boot clients to the server to load boot file from. |
|
Enable DHCP boot options Choices:
|
|
How to handle DHCP packets on network. Choices:
|
|
DHCP lease timer setting Choices:
|
|
List of DHCP option values |
|
DHCP option number. |
|
Type of value for DHCP option. Choices:
|
|
Value for DHCP option. |
|
IP addresses to forward DHCP packets to. |
|
Semi-colon delimited list of DNS IP addresses. Specify one of the following options for preprogrammed DNS entries opendns, google_dns, upstream_dns |
|
Static IP address assignments to be distributed via DHCP by MAC address. |
|
IP address for fixed IP assignment binding. |
|
MAC address for fixed IP assignment binding. |
|
Descriptive name of IP assignment binding. |
|
Hostname for Meraki dashboard. Can be used to access regional Meraki environments, such as China. Default: “api.meraki.com” |
|
Number of seconds to retry if server returns an internal server error. Default: 60 |
|
Name of VLAN. |
|
ID of network which VLAN is in or should be in. |
|
Name of network which VLAN is in or should be in. |
|
ID of organization. |
|
Name of organization. |
|
Instructs module whether response keys should be snake case (ex. Choices:
|
|
Set amount of debug output during module execution. Choices:
|
|
Number of seconds to retry if rate limiter is triggered. Default: 165 |
|
IP address ranges which should be reserve and not distributed via DHCP. |
|
Description of IP addresses reservation |
|
Last IP address of reserved IP address range, inclusive. |
|
First IP address of reserved IP address range, inclusive. |
|
Specifies whether object should be queried, created/modified, or removed. Choices:
|
|
CIDR notation of network subnet. |
|
Time to timeout for HTTP requests. Default: 30 |
|
If Only useful for internal Meraki developers. Choices:
|
|
If Choices:
|
|
Whether to validate HTTP certificates. Choices:
|
|
ID number of VLAN. ID should be between 1-4096. |
|
The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN. |
Notes
Note
Meraki’s API will return an error if VLANs aren’t enabled on a network. VLANs are returned properly if VLANs are enabled on a network.
Some of the options are likely only used for developers within Meraki.
Meraki’s API defaults to networks having VLAN support disabled and there is no way to enable VLANs support in the API. VLAN support must be enabled manually.
More information about the Meraki API can be found at https://dashboard.meraki.com/api_docs.
Some of the options are likely only used for developers within Meraki.
As of Ansible 2.9, Meraki modules output keys as snake case. To use camel case, set the
ANSIBLE_MERAKI_FORMAT
environment variable tocamelcase
.Ansible’s Meraki modules will stop supporting camel case output in Ansible 2.13. Please update your playbooks.
Check Mode downloads the current configuration from the dashboard, then compares changes against this download. Check Mode will report changed if there are differences in the configurations, but does not submit changes to the API for validation of change.
Examples
- name: Query all VLANs in a network.
meraki_vlan:
auth_key: abc12345
org_name: YourOrg
net_name: YourNet
state: query
delegate_to: localhost
- name: Query information about a single VLAN by ID.
meraki_vlan:
auth_key: abc12345
org_name: YourOrg
net_name: YourNet
vlan_id: 2
state: query
delegate_to: localhost
- name: Create a VLAN.
meraki_vlan:
auth_key: abc12345
org_name: YourOrg
net_name: YourNet
state: present
vlan_id: 2
name: TestVLAN
subnet: 192.0.1.0/24
appliance_ip: 192.0.1.1
delegate_to: localhost
- name: Update a VLAN.
meraki_vlan:
auth_key: abc12345
org_name: YourOrg
net_name: YourNet
state: present
vlan_id: 2
name: TestVLAN
subnet: 192.0.1.0/24
appliance_ip: 192.168.250.2
fixed_ip_assignments:
- mac: "13:37:de:ad:be:ef"
ip: 192.168.250.10
name: fixed_ip
reserved_ip_range:
- start: 192.168.250.10
end: 192.168.250.20
comment: reserved_range
dns_nameservers: opendns
delegate_to: localhost
- name: Enable DHCP on VLAN with options
meraki_vlan:
auth_key: abc123
state: present
org_name: YourOrg
net_name: YourNet
vlan_id: 2
name: TestVLAN
subnet: 192.168.250.0/24
appliance_ip: 192.168.250.2
dhcp_handling: server
dhcp_lease_time: 1 hour
dhcp_boot_options_enabled: false
dhcp_options:
- code: 5
type: ip
value: 192.0.1.1
delegate_to: localhost
- name: Delete a VLAN.
meraki_vlan:
auth_key: abc12345
org_name: YourOrg
net_name: YourNet
state: absent
vlan_id: 2
delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Information about the organization which was created or modified Returned: success |
|
IP address of Meraki appliance in the VLAN Returned: success Sample: “192.0.1.1” |
|
Filename for boot file. Returned: success Sample: “boot.txt” |
|
DHCP boot option to direct boot clients to the server to load the boot file from. Returned: success Sample: “192.0.1.2” |
|
Whether DHCP boot options are enabled. Returned: success Sample: false |
|
Status of DHCP server on VLAN. Returned: success Sample: “Run a DHCP server” |
|
DHCP lease time when server is active. Returned: success Sample: “1 day” |
|
DHCP options. Returned: success |
|
Code for DHCP option. Integer between 2 and 254. Returned: success Sample: 43 |
|
Type for DHCP option. Choices are Returned: success Sample: “text” |
|
Value for the DHCP option. Returned: success Sample: “192.0.1.2” |
|
IP address or Meraki defined DNS servers which VLAN should use by default Returned: success Sample: “upstream_dns” |
|
List of MAC addresses which have IP addresses assigned. Returned: success |
|
MAC address which has IP address assigned to it. Key value is the actual MAC address. Returned: success |
|
IP address which is assigned to the MAC address. Returned: success Sample: “192.0.1.4” |
|
Descriptive name for binding. Returned: success Sample: “fixed_ip” |
|
VLAN ID number. Returned: success Sample: 2 |
|
Descriptive name of VLAN. Returned: success Sample: “TestVLAN” |
|
ID number of Meraki network which VLAN is associated to. Returned: success Sample: “N_12345” |
|
List of IP address ranges which are reserved for static assignment. Returned: success |
|
Description for IP address reservation. Returned: success Sample: “reserved_range” |
|
Last IP address in reservation range. Returned: success Sample: “192.0.1.10” |
|
First IP address in reservation range. Returned: success Sample: “192.0.1.5” |
|
CIDR notation IP subnet of VLAN. Returned: success Sample: “192.0.1.0/24” |
Authors
Kevin Breit (@kbreit)