cisco.meraki.devices_switch_routing_interfaces module – Resource module for devices _switch _routing _interfaces

Note

This module is part of the cisco.meraki collection (version 2.18.3).

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_routing_interfaces.

New in cisco.meraki 2.16.0

Synopsis

  • Manage operations create, update and delete of the resource devices _switch _routing _interfaces.

  • Create a layer 3 interface for a switch.

  • Delete a layer 3 interface from the switch.

  • Update a layer 3 interface for a switch.

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

defaultGateway

string

The next hop for any traffic that isn’t going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface. Required if this is the first IPv4 interface.

interfaceId

string

InterfaceId path parameter. Interface ID.

interfaceIp

string

The IP address this switch will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch’s management IP.

ipv6

dictionary

The IPv6 settings of the interface.

address

string

The IPv6 address of the interface. Required if assignmentMode is ‘static’. Must not be included if assignmentMode is ‘eui-64’.

assignmentMode

string

The IPv6 assignment mode for the interface. Can be either ‘eui-64’ or ‘static’.

gateway

string

The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the switch.

prefix

string

The IPv6 prefix of the interface. Required if IPv6 object is included.

meraki_action_batch_retry_wait_time

integer

meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time

Default: 60

meraki_api_key

string / required

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

meraki_base_url (string), preceding all endpoint resources

Default: "https://api.meraki.com/api/v1"

meraki_be_geo_id

string

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_caller

string

meraki_caller (string), optional identifier for API usage tracking; can also be set as an environment variable MERAKI_PYTHON_SDK_CALLER

Default: ""

meraki_certificate_path

string

meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy

Default: ""

meraki_inherit_logging_config

boolean

meraki_inherit_logging_config (boolean), Inherits your own logger instance

Choices:

  • false ← (default)

  • true

meraki_log_file_prefix

string

meraki_log_file_prefix (string), log file name appended with date and timestamp

Default: "meraki_api_"

meraki_log_path

string

log_path (string), path to output log; by default, working directory of script if not specified

Default: ""

meraki_maximum_retries

integer

meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors

Default: 2

meraki_nginx_429_retry_wait_time

integer

meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time

Default: 60

meraki_output_log

boolean

meraki_output_log (boolean), create an output log file?

Choices:

  • false

  • true ← (default)

meraki_print_console

boolean

meraki_print_console (boolean), print logging output to console?

Choices:

  • false

  • true ← (default)

meraki_requests_proxy

string

meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS

Default: ""

meraki_retry_4xx_error

boolean

meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)?

Choices:

  • false ← (default)

  • true

meraki_retry_4xx_error_wait_time

integer

meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time

Default: 60

meraki_simulate

boolean

meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes?

Choices:

  • false ← (default)

  • true

meraki_single_request_timeout

integer

meraki_single_request_timeout (integer), maximum number of seconds for each API call

Default: 60

meraki_suppress_logging

boolean

meraki_suppress_logging (boolean), disable all logging? you’re on your own then!

Choices:

  • false ← (default)

  • true

meraki_use_iterator_for_get_pages

boolean

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:

  • false ← (default)

  • true

meraki_wait_on_rate_limit

boolean

meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered?

Choices:

  • false

  • true ← (default)

multicastRouting

string

Enable multicast support if, multicast routing between VLANs is required. Options are ‘disabled’, ‘enabled’ or ‘IGMP snooping querier’. Default is ‘disabled’.

name

string

A friendly name or description for the interface or VLAN.

ospfSettings

dictionary

The OSPF routing settings of the interface.

area

string

The OSPF area to which this interface should belong. Can be either ‘disabled’ or the identifier of an existing OSPF area. Defaults to ‘disabled’.

cost

integer

The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.

isPassiveEnabled

boolean

When enabled, OSPF will not run on the interface, but the subnet will still be advertised.

Choices:

  • false

  • true

ospfV3

dictionary

The OSPFv3 routing settings of the interface.

area

string

The OSPFv3 area to which this interface should belong. Can be either ‘disabled’ or the identifier of an existing OSPFv3 area. Defaults to ‘disabled’.

cost

integer

The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.

isPassiveEnabled

boolean

When enabled, OSPFv3 will not run on the interface, but the subnet will still be advertised.

Choices:

  • false

  • true

serial

string

Serial path parameter.

subnet

string

The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24).

vlanId

integer

The VLAN this routed interface is on. VLAN must be between 1 and 4094.

Notes

Note

  • SDK Method used are switch.Switch.create_device_switch_routing_interface, switch.Switch.delete_device_switch_routing_interface, switch.Switch.update_device_switch_routing_interface,

  • Paths used are post /devices/{serial}/switch/routing/interfaces, delete /devices/{serial}/switch/routing/interfaces/{interfaceId}, put /devices/{serial}/switch/routing/interfaces/{interfaceId},

  • 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 switch createDeviceSwitchRoutingInterface

Complete reference of the createDeviceSwitchRoutingInterface API.

Cisco Meraki documentation for switch deleteDeviceSwitchRoutingInterface

Complete reference of the deleteDeviceSwitchRoutingInterface API.

Cisco Meraki documentation for switch updateDeviceSwitchRoutingInterface

Complete reference of the updateDeviceSwitchRoutingInterface API.

Examples

- name: Create
  cisco.meraki.devices_switch_routing_interfaces:
    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
    defaultGateway: 192.168.1.1
    interfaceIp: 192.168.1.2
    ipv6:
      address: 1:2:3:4::1
      assignmentMode: static
      gateway: 1:2:3:4::2
      prefix: 1:2:3:4::/48
    multicastRouting: disabled
    name: L3 interface
    ospfSettings:
      area: '0'
      cost: 1
      isPassiveEnabled: true
    ospfV3:
      area: '1'
      cost: 2
      isPassiveEnabled: true
    serial: string
    subnet: 192.168.1.0/24
    vlanId: 100

- name: Delete by id
  cisco.meraki.devices_switch_routing_interfaces:
    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
    interfaceId: string
    serial: string

- name: Update by id
  cisco.meraki.devices_switch_routing_interfaces:
    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
    defaultGateway: 192.168.1.1
    interfaceId: string
    interfaceIp: 192.168.1.2
    ipv6:
      address: 1:2:3:4::1
      assignmentMode: static
      gateway: 1:2:3:4::2
      prefix: 1:2:3:4::/48
    multicastRouting: disabled
    name: L3 interface
    ospfSettings:
      area: '0'
      cost: 1
      isPassiveEnabled: true
    ospfV3:
      area: '1'
      cost: 2
      isPassiveEnabled: true
    serial: string
    subnet: 192.168.1.0/24
    vlanId: 100

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

meraki_response

dictionary

A dictionary or list with the response returned by the Cisco Meraki Python SDK

Returned: always

Sample: {"defaultGateway": "string", "interfaceId": "string", "interfaceIp": "string", "ipv6": {"address": "string", "assignmentMode": "string", "gateway": "string", "prefix": "string"}, "multicastRouting": "string", "name": "string", "ospfSettings": {"area": "string", "cost": 0, "isPassiveEnabled": true}, "ospfV3": {"area": "string", "cost": 0, "isPassiveEnabled": true}, "subnet": "string", "vlanId": 0}

Authors

  • Francisco Munoz (@fmunoz)