On this page
cisco.meraki.meraki_ms_switchport – Manage switchports on a switch 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_ms_switchport
.
Synopsis
- Allows for management of switchports settings for Meraki MS switches.
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
access_policy_number
integer
|
Number of the access policy to apply.
Only applicable to access port types.
|
||
access_policy_type
string
|
|
Type of access policy to apply to port.
|
|
allowed_vlans
list / elements=string
|
Default:
"all"
|
List of VLAN numbers to be allowed on switchport.
|
|
auth_key
string / required
|
Authentication key provided by the dashboard. Required if environmental variable MERAKI_KEY is not set.
|
||
enabled
boolean
|
|
Whether a switchport should be enabled or disabled.
|
|
host
string
|
Default:
"api.meraki.com"
|
Hostname for Meraki dashboard.
Can be used to access regional Meraki environments, such as China.
|
|
internal_error_retry_time
integer
|
Default:
60
|
Number of seconds to retry if server returns an internal server error.
|
|
isolation_enabled
boolean
|
|
Isolation status of switchport.
|
|
link_negotiation
string
|
|
Link speed for the switchport.
|
|
mac_allow_list
dictionary
|
MAC addresses list that are allowed on a port.
Only applicable to access port type.
Only applicable to access_policy_type "MAC allow list".
|
||
macs
list / elements=string
|
List of MAC addresses to update with based on state option.
|
||
state
string
|
|
The state the configuration should be left in.
Merged, MAC addresses provided will be added to the current allow list.
Replaced, All MAC addresses are overwritten, only the MAC addresses provided with exist in the allow list.
Deleted, Remove the MAC addresses provided from the current allow list.
|
|
name
string
|
Switchport description.
aliases: description |
||
number
string
|
Port number.
|
||
org_id
string
|
ID of organization.
|
||
org_name
string
|
Name of organization.
aliases: organization |
||
output_format
string
|
|
Instructs module whether response keys should be snake case (ex. net_id ) or camel case (ex. netId ).
|
|
output_level
string
|
|
Set amount of debug output during module execution.
|
|
poe_enabled
boolean
|
|
Enable or disable Power Over Ethernet on a port.
|
|
rate_limit_retry_time
integer
|
Default:
165
|
Number of seconds to retry if rate limiter is triggered.
|
|
rstp_enabled
boolean
|
|
Enable or disable Rapid Spanning Tree Protocol on a port.
|
|
serial
string / required
|
Serial nubmer of the switch.
|
||
state
string
|
|
Specifies whether a switchport should be queried or modified.
|
|
sticky_mac_allow_list
dictionary
|
MAC addresses list that are allowed on a port.
Only applicable to access port type.
Only applicable to access_policy_type "Sticky MAC allow list".
|
||
macs
list / elements=string
|
List of MAC addresses to update with based on state option.
|
||
state
string
|
|
The state the configuration should be left in.
Merged, MAC addresses provided will be added to the current allow list.
Replaced, All MAC addresses are overwritten, only the MAC addresses provided with exist in the allow list.
Deleted, Remove the MAC addresses provided from the current allow list.
|
|
sticky_mac_allow_list_limit
integer
|
The number of MAC addresses allowed in the sticky port allow list.
Only applicable to access port type.
Only applicable to access_policy_type "Sticky MAC allow list".
The value must be equal to or greater then the list size of sticky_mac_allow_list. Value will be checked for validity, during processing.
|
||
stp_guard
string
|
|
Set state of STP guard.
|
|
tags
list / elements=string
|
List of tags to assign to a port.
|
||
timeout
integer
|
Default:
30
|
Time to timeout for HTTP requests.
|
|
type
string
|
|
Set port type.
|
|
use_https
boolean
|
|
If
no , it will use HTTP. Otherwise it will use HTTPS.
Only useful for internal Meraki developers.
|
|
use_proxy
boolean
|
|
If no , it will not use a proxy, even if one is defined in an environment variable on the target hosts.
|
|
validate_certs
boolean
|
|
Whether to validate HTTP certificates.
|
|
vlan
integer
|
VLAN number assigned to port.
If a port is of type trunk, the specified VLAN is the native VLAN.
|
||
voice_vlan
integer
|
VLAN number assigned to a port for voice traffic.
Only applicable to access port type.
Only applicable if voice_vlan_state is set to present.
|
||
voice_vlan_state
string
|
|
Specifies whether voice vlan configuration should be present or absent.
|
Notes
Note
- 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 information about all switchports on a switch
meraki_switchport:
auth_key: abc12345
state: query
serial: ABC-123
delegate_to: localhost
- name: Query information about all switchports on a switch
meraki_switchport:
auth_key: abc12345
state: query
serial: ABC-123
number: 2
delegate_to: localhost
- name: Name switchport
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 7
name: Test Port
delegate_to: localhost
- name: Configure access port with voice VLAN
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 7
enabled: true
name: Test Port
tags: desktop
type: access
vlan: 10
voice_vlan: 11
delegate_to: localhost
- name: Check access port for idempotency
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 7
enabled: true
name: Test Port
tags: desktop
type: access
vlan: 10
voice_vlan: 11
delegate_to: localhost
- name: Configure trunk port with specific VLANs
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 7
enabled: true
name: Server port
tags: server
type: trunk
allowed_vlans:
- 10
- 15
- 20
delegate_to: localhost
- name: Configure access port with sticky MAC allow list and limit.
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 5
sticky_mac_allow_limit: 3
sticky_mac_allow_list:
macs:
- aa:aa:bb:bb:cc:cc
- bb:bb:aa:aa:cc:cc
- 11:aa:bb:bb:cc:cc
state: replaced
delegate_to: localhost
- name: Delete an existing MAC address from the sticky MAC allow list.
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 5
sticky_mac_allow_list:
macs:
- aa:aa:bb:bb:cc:cc
state: deleted
delegate_to: localhost
- name: Add a MAC address to sticky MAC allow list.
meraki_switchport:
auth_key: abc12345
state: present
serial: ABC-123
number: 5
sticky_mac_allow_list:
macs:
- 22:22:bb:bb:cc:cc
state: merged
delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
data
complex
|
success |
Information queried or updated switchports.
|
|
access_policy_number
integer
|
success |
Number of assigned access policy. Only applicable to access ports.
Sample:
1234
|
|
access_policy_type
string
|
success, when assigned |
Type of access policy assigned to port
Sample:
MAC allow list
|
|
allowed_vlans
string
|
success, when port is set as access |
List of VLANs allowed on an access port
Sample:
all
|
|
enabled
boolean
|
success |
Enabled state of port.
Sample:
True
|
|
isolation_enabled
boolean
|
success |
Port isolation status of port.
Sample:
True
|
|
link_negotiation
string
|
success |
Link speed for the port.
Sample:
Auto negotiate
|
|
mac_allow_list
list / elements=string
|
success |
List of MAC addresses currently allowed on a non-sticky port. Used with access_policy_type of MAC allow list.
Sample:
['11:aa:bb:bb:cc:cc', '22:aa:bb:bb:cc:cc', '33:aa:bb:bb:cc:cc']
|
|
name
string
|
success |
Human friendly description of port.
Sample:
Jim Phone Port
|
|
number
integer
|
success |
Number of port.
Sample:
1
|
|
poe_enabled
boolean
|
success |
Power Over Ethernet enabled state of port.
Sample:
True
|
|
port_schedule_id
string
|
success |
Unique ID of assigned port schedule
|
|
rstp_enabled
boolean
|
success |
Enabled or disabled state of Rapid Spanning Tree Protocol (RSTP)
Sample:
True
|
|
sticky_mac_allow_list
list / elements=string
|
success |
List of MAC addresses currently allowed on a sticky port. Used with access_policy_type of Sticky MAC allow list.
Sample:
['11:aa:bb:bb:cc:cc', '22:aa:bb:bb:cc:cc', '33:aa:bb:bb:cc:cc']
|
|
sticky_mac_allow_list_limit
integer
|
success |
Number of MAC addresses allowed on a sticky port.
Sample:
6
|
|
stp_guard
string
|
success |
State of STP guard
Sample:
Root Guard
|
|
tags
list / elements=string
|
success |
List of tags assigned to port.
Sample:
['phone', 'marketing']
|
|
type
string
|
success |
Type of switchport.
Sample:
trunk
|
|
udld
string
|
success |
Alert state of UDLD
Sample:
Alert only
|
|
vlan
integer
|
success |
VLAN assigned to port.
Sample:
10
|
|
voice_vlan
integer
|
success |
VLAN assigned to port with voice VLAN enabled devices.
Sample:
20
|
Authors
- Kevin Breit (@kbreit)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/meraki/meraki_ms_switchport_module.html