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


Download files

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

Source Distribution

meraki-dashboard-api-1.0.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meraki_dashboard_api-1.0.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file meraki-dashboard-api-1.0.0.tar.gz.

File metadata

  • Download URL: meraki-dashboard-api-1.0.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.3 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for meraki-dashboard-api-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5710a77047c4a6d86cb2b2b1dc5ebbf429339a7f701f4b7162d7ce48bc9aea76
MD5 2eb78c8427f4b9a57040ac5698e02457
BLAKE2b-256 b137068172dd82568aa917747caa27728c933b4b1d49f94d3c1bb2f200f8c246

See more details on using hashes here.

File details

Details for the file meraki_dashboard_api-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: meraki_dashboard_api-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.3 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for meraki_dashboard_api-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 967723ab393aa25d23b398ceb087dd118a9517d4cea55e160400d58a6a84dd2e
MD5 3bd1929486b730757a05225fb40abae3
BLAKE2b-256 448bb689ff2aae3f12caf3a831d0b4a8b13f7dd75e686e2fd4c2b47d93d4a014

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page