Overview

Organizations typically strive to maintain standardization across their network for both hardware and software consistency. An organized and structured approach to network configuration, setup and operations can not only improve productivity, but it can speed up problem resolution.

Meraki provides many built-in tools and capabilities to assist with this often daunting task. By using our Configuration Templates and Firmware Management tools, administrators are able to manage many networks at scale, regardless of the number of geographic locations.  With tools like these, retailers are better able to meet compliance requirements, such as those mandated in the Payment Card Industry Data Security Standards (PCI DSS).

 

Case Studies

 

Configuration Templates

A configuration template is a network configuration baseline and/or standard created by a dashboard administrator for your Meraki networks.  With the flexibility of configuration templates, retailers are able to:

  • Support rapid deployment of remote stores for ease of scalability
  • Maintain consistency across sites, and easily make changes across multiple networks in a matter of minutes
  • Create multiple templates which can be deployed to meet tiered site standards for most large retail establishments

To learn more, see Managing Multiple Networks with Configuration Templates.

Creating Network Templates

To begin, a configuration template must be created. This template will then be used as the base for all of the networks that are bound to it.

To create the configuration template:

  1. Navigate to Organization > Configuration templates.
  2. Choose Create a new template.
  3. Create a new configuration template:
    a. To create a template based on an existing template or network, choose Copy settings from and select the appropriate network or template from the drop-down.
    b. Or to create a blank template, choose Create new and name the template.
  4. Provide a Template name.
  5. Click Add.
  6. Select any Target networks that should be bound to use this template, then click Bind.
  7. If you prefer that no networks use this template yet, you can skip this step by clicking Close.
  8. Click Save Changes.

Binding Devices to a Template via Dashboard

Once a template has been created, any bound networks will adopt the template’s configuration. Any subsequent changes made to the template automatically be pushed out to all bound networks.

To bind an existing network to a template:

  1. Navigate to Organization > Configuration templates.
  2. Select the row for the desired template (avoid clicking the name of the template).
  3. Choose Bind additional networks.
  4. In Target networks, select any additional networks that should be bound to this template.
  5. Click Bind.
  6. Click Save Changes.
When binding an existing network to a template, its current configuration will be overridden and it will begin using the template configuration instantly.

To bind a new network to a template:

  1. Select Create a network from the network dropdown.
  2. Enter a Name, and select the appropriate Network type.
  3. For Configuration, select Bind to template and the name of the template created earlier.
  4. Click Create network.

Once bound to a template, individual networks will lose most of their Configure menu, and any changes impacting the network’s configuration should be made from the template.

Creating Multiple Template-Bound Networks

Once a template has been created, the bulk network tool can be used to create multiple networks, bound to the same template (or based on an existing network configuration).

Developers and API Capabilities

Binding Hardware to a Template via API

While Meraki Configuration Templates can be extremely powerful by themselves, Meraki offers the ability to further automate and streamline provisioning and configuration by using the Meraki Dashboard API.

Binding templates using dashboard API can be achieved by using tools like Postman, a toolchain for API development.  Our Dashboard API is based on modern RESTful APIs using HTTPS for transport and JSON for object serialization. To get started using APIs for your organization, enable APIs under Organization > Settings

  1. Each dashboard administrator will now have the ability to create their own API key for use. API keys are specific to the dashboard administrator account which helps maintain PCI compliance.  Dashboard administrators with an API key can commit changes to the network and/or organization based on their role-based access.  To generate an API key, go to the My Profile>”API access>Generate API key.

 

Keep your API key safe as it provides authentication to all of your organizations with the API enabled. If your API key is shared or otherwise compromised, you can always re-generate your API key, just note that. this will revoke the existing API key which may impact existing implementations.
  1. Open the Help menu and navigate to the API docs. API docs shows the list of available API for an organization’s dashboard.
  2. Download and install Postman for your workstation. 
  3. The organization ID is the first API call to perform.  A GET command is a request for a resource.  This a read-only command that will not make changes to a network or organization.                      
  4. In Postman, enter your shard URL found in your browser once logged in.

Use the API  GET  call to obtain the Organization ID.

Variables:

url:'https://<shard#>.meraki.com/api/v0/organizations/<OrgID>'
Headers:
key: 'X-Cisco-Meraki-API-Key'                     value: '<API KEY>'
key: 'Content-Type'                               value: 'application/json'
Body: <blank>
Pre-request_Script: <blank>
Test: <blank>

Once the variables have been set, press “Send“.  You should receive the organization ID in the output:

Successful HTTP Status: 200
{  
"id":"1234",  
"name":"My org"
 }

 

If you are associated with multiple organizations, you may have multiple organization IDs returned.
  1. Create a new network using a POST  command. POST  is a command to accept data into the dashboard in an enclosed body of a request.

Variables:

url:'https://<shard#>.meraki.com/api/v0/organizations/<OrgID>'
Headers:
key: 'X-Cisco-Meraki-API-Key'                     value: '<API KEY>'
key: 'Content-Type'                               value: 'application/json'
Body: "raw" and "JSON(application/json)"
 {
   "name": "Name of the Network",
   "timeZone": "Europe/Amsterdam",
   "tags": "test",
   "type": "wireless"
 }
Pre-request_Script: <blank>
Test: <blank>

Once the variables have been set, press “Send”.  You should receive the network ID in the output:

HTTP Status: 201 Created
{   
"id":"L_1234567890123456,
"organizationId":"513123",
"type":"wireless"
"name":"Name of the Network"
"timeZone": "Europe/Amsterdam",
"tags": "test"
 }
  1. Next, perform an API GET call to get the Configuration Template ID.  Refer to the API docs for the syntax for the call as seen below.

Variables:

url:'https://<shard#>.meraki.com/api/v0/organizations/<OrgID>/configTemplates
Headers:
key: 'X-Cisco-Meraki-API-Key'                     value: '<API KEY>'
key: 'Content-Type'                               value: 'application/json'
Body: <blank>
Pre-request_Script: <blank>
Test: <blank>

Once the variables have been set, press “Send”.  You should receive the Configuration Template ID in the output:

HTTP Status: 200 OK
{   
"id":"L_098765432112345,
"name":"Store"
 }
  1. To bind the newly created network to the template, use the API POST call listed below:

Variables:

url:'https://<shard#>.meraki.com/api/v0/organizations/<OrgID>'
Headers:
key: 'X-Cisco-Meraki-API-Key'                     value: '<API KEY>'
key: 'Content-Type'                               value: 'application/json'
Body: "raw" and "JSON(application/json)
 {
   "configTemplateId":"<Configuration Template_ID>",
   "autoBind": false
 }
Pre-request_Script: <blank>
Test: <blank>

Once the variables have been set, press “Send”.  You should receive the following output:

Successful HTTP Status: 200 OK

 

References

Meraki Postman Collection: The complete collection of dashboard APIs