Skip to content

Commit e4f0a9d

Browse files
author
Shiyue Cheng
committed
updated w/ release 0.110.6
1 parent c359b45 commit e4f0a9d

166 files changed

Lines changed: 707 additions & 443 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from .api.devices import Devices
2323
from .api.events import Events
2424
from .api.firewalled_services import FirewalledServices
25-
from .api.floorplans import Floorplans
25+
from .api.floor_plans import FloorPlans
2626
from .api.group_policies import GroupPolicies
2727
from .api.http_servers import HTTPServers
2828
from .api.intrusion_settings import IntrusionSettings
@@ -88,7 +88,7 @@
8888
)
8989

9090

91-
__version__ = '0.110.5'
91+
__version__ = '0.110.6'
9292

9393

9494
class DashboardAPI(object):
@@ -199,7 +199,7 @@ def __init__(self, api_key=None, base_url=DEFAULT_BASE_URL, single_request_timeo
199199
self.devices = Devices(self._session)
200200
self.events = Events(self._session)
201201
self.firewalled_services = FirewalledServices(self._session)
202-
self.floorplans = Floorplans(self._session)
202+
self.floor_plans = FloorPlans(self._session)
203203
self.group_policies = GroupPolicies(self._session)
204204
self.http_servers = HTTPServers(self._session)
205205
self.intrusion_settings = IntrusionSettings(self._session)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from .api.devices import AsyncDevices
2222
from .api.events import AsyncEvents
2323
from .api.firewalled_services import AsyncFirewalledServices
24-
from .api.floorplans import AsyncFloorplans
24+
from .api.floor_plans import AsyncFloorPlans
2525
from .api.group_policies import AsyncGroupPolicies
2626
from .api.http_servers import AsyncHTTPServers
2727
from .api.intrusion_settings import AsyncIntrusionSettings
@@ -197,7 +197,7 @@ def __init__(self, api_key=None, base_url=DEFAULT_BASE_URL, single_request_timeo
197197
self.devices = AsyncDevices(self._session)
198198
self.events = AsyncEvents(self._session)
199199
self.firewalled_services = AsyncFirewalledServices(self._session)
200-
self.floorplans = AsyncFloorplans(self._session)
200+
self.floor_plans = AsyncFloorPlans(self._session)
201201
self.group_policies = AsyncGroupPolicies(self._session)
202202
self.http_servers = AsyncHTTPServers(self._session)
203203
self.intrusion_settings = AsyncIntrusionSettings(self._session)
Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,35 @@ async def createOrganizationActionBatch(self, organizationId: str, actions: list
2323
resource = f'/organizations/{organizationId}/actionBatches'
2424

2525
body_params = ['confirmed', 'synchronous', 'actions']
26-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
26+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
2727

2828
return await self._session.post(metadata, resource, payload)
2929

30-
async def getOrganizationActionBatches(self, organizationId: str):
30+
async def getOrganizationActionBatches(self, organizationId: str, **kwargs):
3131
"""
3232
**Return the list of action batches in the organization**
3333
https://developer.cisco.com/meraki/api/#!get-organization-action-batches
3434
3535
- organizationId (string)
36+
- status (string): Filter batches by status. Valid types are pending, completed, and failed.
3637
"""
3738

39+
kwargs.update(locals())
40+
41+
if 'status' in kwargs:
42+
options = ['pending', 'completed', 'failed']
43+
assert kwargs['status'] in options, f'''"status" cannot be "{kwargs['status']}", & must be set to one of: {options}'''
44+
3845
metadata = {
3946
'tags': ['Action batches'],
4047
'operation': 'getOrganizationActionBatches',
4148
}
4249
resource = f'/organizations/{organizationId}/actionBatches'
4350

44-
return await self._session.get(metadata, resource)
51+
query_params = ['status']
52+
params = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in query_params}
53+
54+
return await self._session.get(metadata, resource, params)
4555

4656
async def getOrganizationActionBatch(self, organizationId: str, actionBatchId: str):
4757
"""
@@ -97,7 +107,7 @@ async def updateOrganizationActionBatch(self, organizationId: str, actionBatchId
97107
resource = f'/organizations/{organizationId}/actionBatches/{actionBatchId}'
98108

99109
body_params = ['confirmed', 'synchronous']
100-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
110+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
101111

102112
return await self._session.put(metadata, resource, payload)
103113

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,32 +30,36 @@ async def createOrganizationAdmin(self, organizationId: str, email: str, name: s
3030
- orgAccess (string): The privilege of the dashboard administrator on the organization. Can be one of 'full', 'read-only', 'enterprise' or 'none'
3131
- tags (array): The list of tags that the dashboard administrator has privileges on
3232
- networks (array): The list of networks that the dashboard administrator has privileges on
33+
- authenticationMethod (string): The method of authentication the user will use to sign in to the Meraki dashboard. Can be one of 'Email' or 'Cisco SecureX Sign-On'. The default is Email authentication
3334
"""
3435

3536
kwargs.update(locals())
3637

3738
if 'orgAccess' in kwargs:
3839
options = ['full', 'read-only', 'enterprise', 'none']
3940
assert kwargs['orgAccess'] in options, f'''"orgAccess" cannot be "{kwargs['orgAccess']}", & must be set to one of: {options}'''
41+
if 'authenticationMethod' in kwargs:
42+
options = ['Email', 'Cisco SecureX Sign-On']
43+
assert kwargs['authenticationMethod'] in options, f'''"authenticationMethod" cannot be "{kwargs['authenticationMethod']}", & must be set to one of: {options}'''
4044

4145
metadata = {
4246
'tags': ['Admins'],
4347
'operation': 'createOrganizationAdmin',
4448
}
4549
resource = f'/organizations/{organizationId}/admins'
4650

47-
body_params = ['email', 'name', 'orgAccess', 'tags', 'networks']
48-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
51+
body_params = ['email', 'name', 'orgAccess', 'tags', 'networks', 'authenticationMethod']
52+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
4953

5054
return await self._session.post(metadata, resource, payload)
5155

52-
async def updateOrganizationAdmin(self, organizationId: str, id: str, **kwargs):
56+
async def updateOrganizationAdmin(self, organizationId: str, adminId: str, **kwargs):
5357
"""
5458
**Update an administrator**
5559
https://developer.cisco.com/meraki/api/#!update-organization-admin
5660
5761
- organizationId (string)
58-
- id (string)
62+
- adminId (string)
5963
- name (string): The name of the dashboard administrator
6064
- orgAccess (string): The privilege of the dashboard administrator on the organization. Can be one of 'full', 'read-only', 'enterprise' or 'none'
6165
- tags (array): The list of tags that the dashboard administrator has privileges on
@@ -72,27 +76,27 @@ async def updateOrganizationAdmin(self, organizationId: str, id: str, **kwargs):
7276
'tags': ['Admins'],
7377
'operation': 'updateOrganizationAdmin',
7478
}
75-
resource = f'/organizations/{organizationId}/admins/{id}'
79+
resource = f'/organizations/{organizationId}/admins/{adminId}'
7680

7781
body_params = ['name', 'orgAccess', 'tags', 'networks']
78-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
82+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
7983

8084
return await self._session.put(metadata, resource, payload)
8185

82-
async def deleteOrganizationAdmin(self, organizationId: str, id: str):
86+
async def deleteOrganizationAdmin(self, organizationId: str, adminId: str):
8387
"""
8488
**Revoke all access for a dashboard administrator within this organization**
8589
https://developer.cisco.com/meraki/api/#!delete-organization-admin
8690
8791
- organizationId (string)
88-
- id (string)
92+
- adminId (string)
8993
"""
9094

9195
metadata = {
9296
'tags': ['Admins'],
9397
'operation': 'deleteOrganizationAdmin',
9498
}
95-
resource = f'/organizations/{organizationId}/admins/{id}'
99+
resource = f'/organizations/{organizationId}/admins/{adminId}'
96100

97101
return await self._session.delete(metadata, resource)
98102

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ async def updateNetworkAlertSettings(self, networkId: str, **kwargs):
3838
resource = f'/networks/{networkId}/alertSettings'
3939

4040
body_params = ['defaultDestinations', 'alerts']
41-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
41+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
4242

4343
return await self._session.put(metadata, resource, payload)
4444

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ async def getOrganizationApiRequests(self, organizationId: str, total_pages=1, d
3333
resource = f'/organizations/{organizationId}/apiRequests'
3434

3535
query_params = ['t0', 't1', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'adminId', 'path', 'method', 'responseCode', 'sourceIp']
36-
params = {k: v for (k, v) in kwargs.items() if k in query_params}
36+
params = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in query_params}
3737

3838
return await self._session.get_pages(metadata, resource, params, total_pages, direction)
3939

@@ -58,7 +58,7 @@ async def getOrganizationApiRequestsOverview(self, organizationId: str, **kwargs
5858
resource = f'/organizations/{organizationId}/apiRequests/overview'
5959

6060
query_params = ['t0', 't1', 'timespan']
61-
params = {k: v for (k, v) in kwargs.items() if k in query_params}
61+
params = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in query_params}
6262

6363
return await self._session.get(metadata, resource, params)
6464

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ async def getNetworkBluetoothClients(self, networkId: str, total_pages=1, direct
2828
resource = f'/networks/{networkId}/bluetoothClients'
2929

3030
query_params = ['t0', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'includeConnectivityHistory']
31-
params = {k: v for (k, v) in kwargs.items() if k in query_params}
31+
params = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in query_params}
3232

3333
return await self._session.get_pages(metadata, resource, params, total_pages, direction)
3434

@@ -53,7 +53,7 @@ async def getNetworkBluetoothClient(self, networkId: str, bluetoothClientId: str
5353
resource = f'/networks/{networkId}/bluetoothClients/{bluetoothClientId}'
5454

5555
query_params = ['includeConnectivityHistory', 'connectivityHistoryTimespan']
56-
params = {k: v for (k, v) in kwargs.items() if k in query_params}
56+
params = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in query_params}
5757

5858
return await self._session.get(metadata, resource, params)
5959

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ async def updateDeviceWirelessBluetoothSettings(self, serial: str, **kwargs):
3939
resource = f'/devices/{serial}/wireless/bluetooth/settings'
4040

4141
body_params = ['uuid', 'major', 'minor']
42-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
42+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
4343

4444
return await self._session.put(metadata, resource, payload)
4545

@@ -86,7 +86,7 @@ async def updateNetworkBluetoothSettings(self, networkId: str, **kwargs):
8686
resource = f'/networks/{networkId}/bluetoothSettings'
8787

8888
body_params = ['scanningEnabled', 'advertisingEnabled', 'uuid', 'majorMinorAssignmentMode', 'major', 'minor']
89-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
89+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
9090

9191
return await self._session.put(metadata, resource, payload)
9292

meraki/aio/api/camera_quality_retention_profiles.py renamed to meraki_v0/aio/api/camera_quality_retention_profiles.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async def createNetworkCameraQualityRetentionProfile(self, networkId: str, name:
4545
resource = f'/networks/{networkId}/camera/qualityRetentionProfiles'
4646

4747
body_params = ['name', 'motionBasedRetentionEnabled', 'restrictedBandwidthModeEnabled', 'audioRecordingEnabled', 'cloudArchiveEnabled', 'motionDetectorVersion', 'scheduleId', 'maxRetentionDays', 'videoSettings']
48-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
48+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
4949

5050
return await self._session.post(metadata, resource, payload)
5151

@@ -93,7 +93,7 @@ async def updateNetworkCameraQualityRetentionProfile(self, networkId: str, quali
9393
resource = f'/networks/{networkId}/camera/qualityRetentionProfiles/{qualityRetentionProfileId}'
9494

9595
body_params = ['name', 'motionBasedRetentionEnabled', 'restrictedBandwidthModeEnabled', 'audioRecordingEnabled', 'cloudArchiveEnabled', 'motionDetectorVersion', 'scheduleId', 'maxRetentionDays', 'videoSettings']
96-
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
96+
payload = {k.strip(): v for (k, v) in kwargs.items() if k.strip() in body_params}
9797

9898
return await self._session.put(metadata, resource, payload)
9999

0 commit comments

Comments
 (0)