cisco.meraki.meraki_mx_site_to_site_vpn – Manage AutoVPN connections in Meraki

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

New in version 1.1.0: of cisco.meraki

Synopsis

  • Allows for creation, management, and visibility into AutoVPNs implemented on Meraki MX firewalls.

Parameters

Parameter

Comments

auth_key

string / required

Authentication key provided by the dashboard. Required if environmental variable MERAKI_KEY is not set.

host

string

Hostname for Meraki dashboard.

Can be used to access regional Meraki environments, such as China.

Default: “api.meraki.com”

hubs

list / elements=dictionary

List of hubs to assign to a spoke.

hub_id

string

Network ID of hub

use_default_route

boolean

Indicates whether deafult troute traffic should be sent to this hub.

Only valid in spoke mode.

Choices:

  • no

  • yes

internal_error_retry_time

integer

Number of seconds to retry if server returns an internal server error.

Default: 60

mode

string

Set VPN mode for network

Choices:

  • none

  • hub

  • spoke

net_id

string

ID of network which MX firewall is in.

net_name

string

Name of network which MX firewall is in.

org_id

string

ID of organization.

org_name

aliases: organization

string

Name of organization.

output_format

string

Instructs module whether response keys should be snake case (ex. net_id) or camel case (ex. netId).

Choices:

  • snakecase ← (default)

  • camelcase

output_level

string

Set amount of debug output during module execution.

Choices:

  • debug

  • normal ← (default)

rate_limit_retry_time

integer

Number of seconds to retry if rate limiter is triggered.

Default: 165

state

string

Create or modify an organization.

Choices:

  • present ← (default)

  • query

subnets

list / elements=dictionary

List of subnets to advertise over VPN.

local_subnet

string

CIDR formatted subnet.

use_vpn

boolean

Whether to advertise over VPN.

Choices:

  • no

  • yes

timeout

integer

Time to timeout for HTTP requests.

Default: 30

use_https

boolean

If no, it will use HTTP. Otherwise it will use HTTPS.

Only useful for internal Meraki developers.

Choices:

  • no

  • yes ← (default)

use_proxy

boolean

If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

Choices:

  • no ← (default)

  • yes

validate_certs

boolean

Whether to validate HTTP certificates.

Choices:

  • no

  • yes ← (default)

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 to camelcase.

  • 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: Set hub mode
  meraki_site_to_site_vpn:
    auth_key: abc123
    state: present
    org_name: YourOrg
    net_name: hub_network
    mode: hub
  delegate_to: localhost
  register: set_hub

- name: Set spoke mode
  meraki_site_to_site_vpn:
    auth_key: abc123
    state: present
    org_name: YourOrg
    net_name: spoke_network
    mode: spoke
    hubs:
      - hub_id: N_1234
        use_default_route: false
  delegate_to: localhost
  register: set_spoke

- name: Query rules for hub
  meraki_site_to_site_vpn:
    auth_key: abc123
    state: query
    org_name: YourOrg
    net_name: hub_network
  delegate_to: localhost
  register: query_all_hub

Return Values

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

Key

Description

data

complex

VPN settings.

Returned: success

hubs

complex

Hub networks to associate to.

Returned: always

hub_id

complex

ID of hub network.

Returned: always

Sample: “N_12345”

use_default_route

boolean

Whether to send all default route traffic over VPN.

Returned: always

Sample: true

mode

string

Mode assigned to network.

Returned: always

Sample: “spoke”

subnets

complex

List of subnets to advertise over VPN.

Returned: always

local_subnet

string

CIDR formatted subnet.

Returned: always

Sample: “192.168.1.0/24”

use_vpn

boolean

Whether subnet should use the VPN.

Returned: always

Sample: true

Authors

  • Kevin Breit (@kbreit)