Skip to main content

Meraki Dashboard API

Project description

Meraki Dashboard API

Access to your Cisco Meraki cloud-managed in a pythonic way. Also available via PIP

Prerequisites

You need to enable APIs in your Meraki dashboard and obtain an APIKey: Instructions

Example

from meraki_dashboard_api import Dashboard

apikey = "jkhsfsdhk32424******example*****jlasdfsdfl3245345"

dash = Dashboard(apikey)

# list all organizations
myOrgs = dash.organizations.list()
print(myOrgs)

# list all organization's networks
myNets = dash.organizations.networks(<orgId>)
print(myNets)

Since the other options available are complex or old school, my need was a more pythonic and object oriented way.

The 90% of que API belong to the /networks endpoint and from there appears some groups, in the Meraki documentation these groups are represented as isolated, but most of them belong to the same parent endpoint.

The oficial implementation is a simple functional programming (old school) and the guzmonne implementation is, I think, a really complex approach returning instances inside another instances.

Ex:

response = meraki.organizations().index()
json = response.json()

Instead I use some magic methods to instantiate the classes following a strict URL pattern.

Ex:

client = dash.networks.clients.get(<networkId>, <clientId>)
print(client)

I use args to build the URL path and kwargs to pass query parameters each endpoint .

Ex:

dev = dash.networks.devices.loss_and_latency(<networkId>, <serial>, uplink=wan1, ip=1.2.3.4, timespan=7200)
print(dev)

For POST and PUT methods you can use a kwargs data or update.

Ex.

payload = {
	'name': 'My AP',
	'tags': 'recently-added ',
	'lat': 37.4180951010362,
	'lng': -122.098531723022,
	'address': 'some place',
	'notes': 'no notes',
	'moveMapMarker': True
}
dev = dash.networks.devices.update(<networkId>, <serial>, update=payload)
print(dev)

Project details


Release history Release notifications

This version

1.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for meraki-dashboard-api, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size meraki_dashboard_api-1.0.0-py3-none-any.whl (14.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size meraki-dashboard-api-1.0.0.tar.gz (10.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page