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 | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for meraki-dashboard-api-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5710a77047c4a6d86cb2b2b1dc5ebbf429339a7f701f4b7162d7ce48bc9aea76 |
|
MD5 | 2eb78c8427f4b9a57040ac5698e02457 |
|
BLAKE2b-256 | b137068172dd82568aa917747caa27728c933b4b1d49f94d3c1bb2f200f8c246 |
Hashes for meraki_dashboard_api-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 967723ab393aa25d23b398ceb087dd118a9517d4cea55e160400d58a6a84dd2e |
|
MD5 | 3bd1929486b730757a05225fb40abae3 |
|
BLAKE2b-256 | 448bb689ff2aae3f12caf3a831d0b4a8b13f7dd75e686e2fd4c2b47d93d4a014 |