cisco.meraki.networks_campus_gateway_clusters module -- Resource module for networks _campus _gateway _clusters

Note

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

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

New in cisco.meraki 1.0.0

Synopsis

  • Manage operations create and update of the resource networks _campus _gateway _clusters.

  • Create a cluster and add campus gateways to it.

  • Update a cluster and add/remove campus gateways to/from it.

Requirements

The below requirements are needed on the host that executes this module.

  • meraki >= 2.4.9

  • python >= 3.5

Parameters

Parameter

Comments

clusterId

string

ClusterId path parameter. Cluster ID.

devices

list / elements=dictionary

Devices to be added to the cluster.

serial

string

Serial of the device.

tunnels

list / elements=dictionary

Tunnel settings of the device when tunnel interface of cluster is specified.

addresses

list / elements=dictionary

Tunnel IP addresses of the device.

address

string

IP address of the interface.

protocol

string

Protocol of the interface.

interface

string

Tunnel interface name.

list / elements=dictionary

Uplink settings of the device when uplink assignment mode of cluster is static.

list / elements=dictionary

Uplink IP addresses of the device.

string

IP address of the interface.

string

Protocol of the interface.

string

Uplink interface name.

meraki_action_batch_retry_wait_time

integer

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

Default: :ansible-option-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: :ansible-option-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: :ansible-option-default:`""`

meraki_certificate_path

string

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

Default: :ansible-option-default:`""`

meraki_inherit_logging_config

boolean

meraki_inherit_logging_config (boolean), Inherits your own logger instance

Choices:

meraki_log_file_prefix

string

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

Default: :ansible-option-default:`"meraki\_api\_"`

meraki_log_path

string

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

Default: :ansible-option-default:`""`

meraki_maximum_retries

integer

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

Default: :ansible-option-default:`2`

meraki_nginx_429_retry_wait_time

integer

meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time

Default: :ansible-option-default:`60`

meraki_output_log

boolean

meraki_output_log (boolean), create an output log file?

Choices:

meraki_print_console

boolean

meraki_print_console (boolean), print logging output to console?

Choices:

meraki_requests_proxy

string

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

Default: :ansible-option-default:`""`

meraki_retry_4xx_error

boolean

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

Choices:

meraki_retry_4xx_error_wait_time

integer

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

Default: :ansible-option-default:`60`

meraki_simulate

boolean

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

Choices:

meraki_single_request_timeout

integer

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

Default: :ansible-option-default:`60`

meraki_suppress_logging

boolean

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

Choices:

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:

meraki_wait_on_rate_limit

boolean

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

Choices:

name

string

Name of the new cluster.

nameservers

dictionary

Nameservers of the cluster.

addresses

list / elements=string

Addresses of the nameservers.

networkId

string

NetworkId path parameter. Network ID.

notes

string

Notes about cluster with max size of 511 characters allowed.

portChannels

list / elements=dictionary

Port channel settings of the cluster.

allowedVlans

string

Allowed VLANs of the port channel.

name

string

Name of the port channel.

vlan

integer

VLAN ID of the port channel.

tunnels

list / elements=dictionary

Tunnel interface settings of the cluster Reuse uplink or specify tunnel interface.

addresses

list / elements=dictionary

Addresses of the interface.

gateway

string

Gateway of the interface.

protocol

string

Protocol of the interface.

subnetMask

string

Subnet mask of the interface.

interface

string

Interface identifier, should be set to tun1. Specify this interface only if uplink isn't reused as tunnel.

dictionary

Uplink interface details if uplink is reused as tunnel.

string

Uplink interface identifier.

vlan

integer

VLAN ID of the interface.

list / elements=dictionary

Uplink interface settings of the cluster.

list / elements=dictionary

Addresses of the interface.

string

Assignment mode of the interface.

string

Gateway of the interface when assignment mode is static.

string

Protocol of the interface when assignment mode is static.

string

Subnet mask of the interface when assignment mode is static.

string

Interface identifier, should be set to man1.

integer

VLAN ID of the interface.

Notes

Note

  • SDK Method used are campus_gateway.CampusGateway.create_network_campus_gateway_cluster, campus_gateway.CampusGateway.update_network_campus_gateway_cluster,

  • Paths used are post /networks/{networkId}/campusGateway/clusters, put /networks/{networkId}/campusGateway/clusters/{clusterId},

  • 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 campusGateway createNetworkCampusGatewayCluster

Complete reference of the createNetworkCampusGatewayCluster API.

Cisco Meraki documentation for campusGateway updateNetworkCampusGatewayCluster

Complete reference of the updateNetworkCampusGatewayCluster API.

Examples

- name: Create
  cisco.meraki.networks_campus_gateway_clusters:
    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
    devices:
      - serial: Q234-ABCD-0001
        tunnels:
          - addresses:
              - address: 6.2.6.7
                protocol: ipv4
            interface: tun1
        uplinks:
          - addresses:
              - address: 5.1.2.3
                protocol: ipv4
            interface: man1
    name: North Campus
    nameservers:
      addresses:
        - 8.8.8.8
        - 8.8.4.4
    networkId: string
    notes: This cluster is for New York Office
    portChannels:
      - allowedVlans: 10-20
        name: Port-channel1
        vlan: 25
    tunnels:
      - addresses:
          - gateway: 2.3.5.6
            protocol: ipv4
            subnetMask: 255.255.255.0
        interface: tun1
        uplink:
          interface: man1
        vlan: 6
    uplinks:
      - addresses:
          - assignmentMode: static
            gateway: 1.2.3.5
            protocol: ipv4
            subnetMask: 255.255.255.0
        interface: man1
        vlan: 5
- name: Update by id
  cisco.meraki.networks_campus_gateway_clusters:
    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
    clusterId: string
    devices:
      - serial: Q234-ABCD-0001
        tunnels:
          - addresses:
              - address: 6.2.6.7
                protocol: ipv4
            interface: tun1
        uplinks:
          - addresses:
              - address: 5.1.2.3
                protocol: ipv4
            interface: man1
    name: North Campus
    nameservers:
      addresses:
        - 8.8.8.8
        - 8.8.4.4
    networkId: string
    notes: This cluster is for New York Office
    portChannels:
      - allowedVlans: 10-20
        name: Port-channel1
        vlan: 25
    tunnels:
      - addresses:
          - gateway: 2.3.5.6
            protocol: ipv4
            subnetMask: 255.255.255.0
        interface: tun1
        uplink:
          interface: man1
        vlan: 6
    uplinks:
      - addresses:
          - assignmentMode: static
            gateway: 1.2.3.5
            protocol: ipv4
            subnetMask: 255.255.255.0
        interface: man1
        vlan: 5

Return Values

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

Key

Description

meraki_response

dictionary

Authors

  • Francisco Munoz (@fmunoz)