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
.
Parameters
Parameter |
Comments |
---|---|
Number of the access policy to apply. Only applicable to access port types. |
|
Type of access policy to apply to port. Choices:
|
|
List of VLAN numbers to be allowed on switchport. Default: “all” |
|
Authentication key provided by the dashboard. Required if environmental variable |
|
Whether a switchport should be enabled or disabled. Choices:
|
|
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 |
|
Isolation status of switchport. Choices:
|
|
Link speed for the switchport. Choices:
|
|
MAC addresses list that are allowed on a port. Only applicable to access port type. Only applicable to access_policy_type “MAC allow list”. |
|
List of MAC addresses to update with based on state option. |
|
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. Choices:
|
|
Switchport description. |
|
Port number. |
|
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:
|
|
Enable or disable Power Over Ethernet on a port. Choices:
|
|
Number of seconds to retry if rate limiter is triggered. Default: 165 |
|
Enable or disable Rapid Spanning Tree Protocol on a port. Choices:
|
|
Serial nubmer of the switch. |
|
Specifies whether a switchport should be queried or modified. Choices:
|
|
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”. |
|
List of MAC addresses to update with based on state option. |
|
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. Choices:
|
|
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. |
|
Set state of STP guard. Choices:
|
|
List of tags to assign to a port. |
|
Time to timeout for HTTP requests. Default: 30 |
|
Set port type. Choices:
|
|
If Only useful for internal Meraki developers. Choices:
|
|
If Choices:
|
|
Whether to validate HTTP certificates. Choices:
|
|
VLAN number assigned to port. If a port is of type trunk, the specified VLAN is the native VLAN. |
|
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. |
|
Specifies whether voice vlan configuration should be present or absent. Choices:
|
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 |
Description |
---|---|
Information queried or updated switchports. Returned: success |
|
Number of assigned access policy. Only applicable to access ports. Returned: success Sample: 1234 |
|
Type of access policy assigned to port Returned: success, when assigned Sample: “MAC allow list” |
|
List of VLANs allowed on an access port Returned: success, when port is set as access Sample: “all” |
|
Enabled state of port. Returned: success Sample: true |
|
Port isolation status of port. Returned: success Sample: true |
|
Link speed for the port. Returned: success Sample: “Auto negotiate” |
|
List of MAC addresses currently allowed on a non-sticky port. Used with access_policy_type of MAC allow list. Returned: success Sample: [“11:aa:bb:bb:cc:cc”, “22:aa:bb:bb:cc:cc”, “33:aa:bb:bb:cc:cc”] |
|
Human friendly description of port. Returned: success Sample: “Jim Phone Port” |
|
Number of port. Returned: success Sample: 1 |
|
Power Over Ethernet enabled state of port. Returned: success Sample: true |
|
Unique ID of assigned port schedule Returned: success |
|
Enabled or disabled state of Rapid Spanning Tree Protocol (RSTP) Returned: success Sample: true |
|
List of MAC addresses currently allowed on a sticky port. Used with access_policy_type of Sticky MAC allow list. Returned: success Sample: [“11:aa:bb:bb:cc:cc”, “22:aa:bb:bb:cc:cc”, “33:aa:bb:bb:cc:cc”] |
|
Number of MAC addresses allowed on a sticky port. Returned: success Sample: 6 |
|
State of STP guard Returned: success Sample: “Root Guard” |
|
List of tags assigned to port. Returned: success Sample: [“phone”, “marketing”] |
|
Type of switchport. Returned: success Sample: “trunk” |
|
Alert state of UDLD Returned: success Sample: “Alert only” |
|
VLAN assigned to port. Returned: success Sample: 10 |
|
VLAN assigned to port with voice VLAN enabled devices. Returned: success Sample: 20 |
Authors
Kevin Breit (@kbreit)