Ansible Meraki Modules 2.0

Ansible 2.9 added support for collections which are modules located at the Ansible Galaxy repository instead of the mainline code. This change allowed for a more rapid pace of development since there were lower release requirements and no need to synchronize releases with Ansible’s release schedule. Version 1.0 of the Meraki modules was released on January 4 and since then, I have released 8 subsequent versions, many of them with new features. Today I am announcing version 2.0 of the modules.

See the release notes for all the details but here are some of the highlights. Please submit issues for any bugs or feature requests. 2.0 will be in active development and 1.0 will only receive bug fixes.

Meraki Dashboard API Version 1.0

Meraki’s Dashboard API version 1.0 brought many enhancements but also broke backward compatibility. This was the main reason I chose to increment to 2.0 and allow for breaking changes. Good news for users of the modules is there aren’t many breaking changes. The new Dashboard API has hundreds of endpoints which will be addressed by dozens of to-be-developed modules. Expect many new modules over the next year within the 2.0 release train.

Rewritten HTTP Request Method

The internal’s of the request() method should be transparent to the user of the modules. Version 1.0’s achieved this goal but it was not clear how it worked. Every time I looked at the code I’d cringe so a rewrite was in order. This new version should make future improvements, such as error handling, easier.

Renamed Modules

The suggestion to rename some of the modules came from a user, so thank you for the contribution. Meraki sometimes has functional overlap between product lines, such as SSID configuration. To better support overlapping functionality and improve discoverability of modules for each product line, many of the modules will have the product name incorporated into the module. For example meraki_ssid has become meraki_mr_ssid and meraki_content_filtering was renamed to meraki_mx_content_filtering. Fear not as I expect the older names to work until version 3.0 of the modules.

meraki_mx_uplink was renamed to meraki_mx_uplink_bandwidth since Meraki has expanded the endpoints and uplink was ambiguous.

New Modules

Version 2.0 is also adding a couple of new modules:

  • meraki_ms_ospf
  • meraki_ms_l3_interface
  • meraki_mr_settings
  • meraki_mr_rf_profile

These modules are only the first of many modules I expect to release in the 2.0 timeframe.

Breaking Changes

Here are a list of most of the breaking changes in the modules. Everything is described in the release notes so I’d encourage you to read that as well.

  • meraki_network - tags and type now return a list
  • meraki_network - enabled response for VLAN status is now vlans_enabled
  • meraki_network - enable_my_meraki is now called local_status_page_enabled
  • meraki_network - enable_remote_status_page is now called remote_status_page_enabled
  • meraki_network - disable_my_meraki has been deprecated
  • meraki_network - disable_my_meraki_com response is now local_status_page_enabled
  • meraki_network - disableRemoteStatusPage response is now remote_status_page_enabled
  • All modules - Some responses from Meraki changed types. For example, comma separated lists may now be an array.

To account for these changes, please test your code in advance of production rollouts.