cisco.meraki.devices_switch_ports module – Resource module for devices _switch _ports
Note
This module is part of the cisco.meraki collection (version 2.21.8).
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.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.meraki.devices_switch_ports.
New in cisco.meraki 1.0.0
Synopsis
- Manage operation update of the resource devices _switch _ports. 
- Update a switch port. 
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 number of a custom access policy to configure on the switch port. Only applicable when ‘accessPolicyType’ is ‘Custom access policy’. | |
| The type of the access policy of the switch port. Only applicable to access ports. Can be one of ‘Open’, ‘Custom access policy’, ‘MAC allow list’ or ‘Sticky MAC allow list’. | |
| The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile. | |
| The VLANs allowed on the switch port. Only applicable to trunk ports. | |
| If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic. Choices: 
 | |
| Dot3az settings for the port. | |
| The Energy Efficient Ethernet status of the switch port. Choices: 
 | |
| The status of the switch port. Choices: 
 | |
| For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled. Choices: 
 | |
| The isolation status of the switch port. Choices: 
 | |
| The link speed for the switch port. | |
| Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when ‘accessPolicyType’ is ‘MAC allow list’. | |
| meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time Default:  | |
| 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:  | |
| meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID Default:  | |
| meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy 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 Default:  | |
| log_path (string), path to output log; by default, working directory of script if not specified Default:  | |
| meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors Default:  | |
| meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time Default:  | |
| 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:  | |
| 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:  | |
| 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:  | |
| 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 switch port. | |
| If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile. Choices: 
 | |
| The PoE status of the switch port. Choices: 
 | |
| PortId path parameter. Port ID. | |
| The ID of the port schedule. A value of null will clear the port schedule. | |
| Profile attributes. | |
| When enabled, override this port’s configuration with a port profile. Choices: 
 | |
| When enabled, the ID of the port profile used to override the port’s configuration. | |
| When enabled, the IName of the profile. | |
| The rapid spanning tree protocol status. Choices: 
 | |
| Serial path parameter. | |
| The initial list of MAC addresses for sticky Mac allow list. Only applicable when ‘accessPolicyType’ is ‘Sticky MAC allow list’. | |
| The maximum number of MAC addresses for sticky MAC allow list. Only applicable when ‘accessPolicyType’ is ‘Sticky MAC allow list’. | |
| The storm control status of the switch port. Choices: 
 | |
| The state of the STP guard (‘disabled’, ‘root guard’, ‘bpdu guard’ or ‘loop guard’). | |
| The list of tags of the switch port. | |
| The type of the switch port (‘trunk’, ‘access’, ‘stack’ or ‘routed’). | |
| The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only. | |
| The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports. | |
| The voice VLAN of the switch port. Only applicable to access ports. | 
Notes
Note
- SDK Method used are switch.Switch.update_device_switch_port, 
- Paths used are put /devices/{serial}/switch/ports/{portId}, 
- 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 Dashboard API Python(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 switch updateDeviceSwitchPort
- Complete reference of the updateDeviceSwitchPort API. 
Examples
- name: Update by id
  cisco.meraki.devices_switch_ports:
    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_caller: "{{ meraki_caller }}"
    meraki_use_iterator_for_get_pages: "{{ meraki_use_iterator_for_get_pages }}"
    meraki_inherit_logging_config: "{{ meraki_inherit_logging_config }}"
    state: present
    accessPolicyNumber: 2
    accessPolicyType: Sticky MAC allow list
    adaptivePolicyGroupId: '123'
    allowedVlans: 1,3,5-10
    daiTrusted: false
    dot3az:
      enabled: false
    enabled: true
    flexibleStackingEnabled: true
    isolationEnabled: false
    linkNegotiation: Auto negotiate
    macAllowList:
      - 34:56:fe:ce:8e:a0
      - 34:56:fe:ce:8e:a1
    name: My switch port
    peerSgtCapable: false
    poeEnabled: true
    portId: string
    portScheduleId: '1234'
    profile:
      enabled: false
      id: '1284392014819'
      iname: iname
    rstpEnabled: true
    serial: string
    stickyMacAllowList:
      - 34:56:fe:ce:8e:b0
      - 34:56:fe:ce:8e:b1
    stickyMacAllowListLimit: 5
    stormControlEnabled: true
    stpGuard: disabled
    tags:
      - tag1
      - tag2
    type: access
    udld: Alert only
    vlan: 10
    voiceVlan: 20
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 Sample:  | 
