Skip to content

Commit 5e7abed

Browse files
TKIPisalegacycipherGitHub Action
and
GitHub Action
authoredDec 5, 2024··
Automatically regenerated library to version 1.53.0. (#273)
Co-authored-by: GitHub Action <support@meraki.com>
1 parent 41b3cbc commit 5e7abed

18 files changed

+233
-51
lines changed
 

‎meraki/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
)
4444
from meraki.rest_session import *
4545

46-
__version__ = '1.52.0'
46+
__version__ = '1.53.0'
4747

4848

4949
class DashboardAPI(object):

‎meraki/aio/api/appliance.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2524,7 +2524,7 @@ def getOrganizationApplianceUplinksStatusesOverview(self, organizationId: str):
25242524
"""
25252525

25262526
metadata = {
2527-
'tags': ['appliance', 'configure', 'uplinks', 'statuses', 'overview'],
2527+
'tags': ['appliance', 'monitor', 'uplinks', 'statuses', 'overview'],
25282528
'operation': 'getOrganizationApplianceUplinksStatusesOverview'
25292529
}
25302530
organizationId = urllib.parse.quote(str(organizationId), safe='')

‎meraki/aio/api/camera.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ def createNetworkCameraQualityRetentionProfile(self, networkId: str, name: str,
486486
- motionDetectorVersion (integer): The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
487487
- smartRetention (object): Smart Retention records footage in two qualities and intelligently retains higher quality when motion, people or vehicles are detected.
488488
- scheduleId (string): Schedule for which this camera will record video, or 'null' to always record.
489-
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
489+
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be in the range of one to ninety days.
490490
- videoSettings (object): Video quality and resolution settings for all the camera models.
491491
"""
492492

@@ -542,7 +542,7 @@ def updateNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRete
542542
- motionDetectorVersion (integer): The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
543543
- smartRetention (object): Smart Retention records footage in two qualities and intelligently retains higher quality when motion, people or vehicles are detected.
544544
- scheduleId (string): Schedule for which this camera will record video, or 'null' to always record.
545-
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
545+
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be in the range of one to ninety days.
546546
- videoSettings (object): Video quality and resolution settings for all the camera models.
547547
"""
548548

‎meraki/aio/api/licensing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,14 @@ def getAdministeredLicensingSubscriptionSubscriptionsComplianceStatuses(self, or
157157

158158

159159

160-
def bindAdministeredLicensingSubscriptionSubscription(self, subscriptionId: str, networkIds: list, **kwargs):
160+
def bindAdministeredLicensingSubscriptionSubscription(self, subscriptionId: str, **kwargs):
161161
"""
162162
**Bind networks to a subscription**
163163
https://developer.cisco.com/meraki/api-v1/#!bind-administered-licensing-subscription-subscription
164164
165165
- subscriptionId (string): Subscription ID
166-
- networkIds (array): List of network ids to bind to the subscription
167166
- validate (boolean): Check if the provided networks can be bound to the subscription. Returns any licensing problems and does not commit the results.
167+
- networkIds (array): List of network ids to bind to the subscription
168168
"""
169169

170170
kwargs.update(locals())

‎meraki/aio/api/networks.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2797,8 +2797,8 @@ def createNetworkWebhooksPayloadTemplate(self, networkId: str, name: str, **kwar
27972797
- name (string): The name of the new template
27982798
- body (string): The liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
27992799
- headers (array): The liquid template used with the webhook headers.
2800-
- bodyFile (string): A file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
2801-
- headersFile (string): A file containing the liquid template used with the webhook headers.
2800+
- bodyFile (string): A Base64 encoded file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
2801+
- headersFile (string): A Base64 encoded file containing the liquid template used with the webhook headers.
28022802
"""
28032803

28042804
kwargs.update(locals())

‎meraki/aio/api/organizations.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -2839,16 +2839,17 @@ def getOrganizationInventoryOnboardingCloudMonitoringNetworks(self, organization
28392839

28402840

28412841

2842-
def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizationId: str, devices: list):
2842+
def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizationId: str, devices: list, **kwargs):
28432843
"""
28442844
**Initiates or updates an import session**
28452845
https://developer.cisco.com/meraki/api-v1/#!create-organization-inventory-onboarding-cloud-monitoring-prepare
28462846
28472847
- organizationId (string): Organization ID
28482848
- devices (array): A set of devices to import (or update)
2849+
- options (object): Additional options for the import
28492850
"""
28502851

2851-
kwargs = locals()
2852+
kwargs.update(locals())
28522853

28532854
metadata = {
28542855
'tags': ['organizations', 'configure', 'inventory', 'onboarding', 'cloudMonitoring', 'prepare'],
@@ -2857,7 +2858,7 @@ def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizati
28572858
organizationId = urllib.parse.quote(str(organizationId), safe='')
28582859
resource = f'/organizations/{organizationId}/inventory/onboarding/cloudMonitoring/prepare'
28592860

2860-
body_params = ['devices', ]
2861+
body_params = ['devices', 'options', ]
28612862
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
28622863

28632864
return self._session.post(metadata, resource, payload)

‎meraki/aio/api/switch.py

+90
Original file line numberDiff line numberDiff line change
@@ -2571,6 +2571,51 @@ def getOrganizationSwitchPortsBySwitch(self, organizationId: str, total_pages=1,
25712571

25722572

25732573

2574+
def getOrganizationSwitchPortsClientsOverviewByDevice(self, organizationId: str, total_pages=1, direction='next', **kwargs):
2575+
"""
2576+
**List the number of clients for all switchports with at least one online client in an organization.**
2577+
https://developer.cisco.com/meraki/api-v1/#!get-organization-switch-ports-clients-overview-by-device
2578+
2579+
- organizationId (string): Organization ID
2580+
- total_pages (integer or string): use with perPage to get total results up to total_pages*perPage; -1 or "all" for all pages
2581+
- direction (string): direction to paginate, either "next" (default) or "prev" page
2582+
- t0 (string): The beginning of the timespan for the data. The maximum lookback period is 31 days from today.
2583+
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
2584+
- perPage (integer): The number of entries per page returned. Acceptable range is 3 - 20. Default is 20.
2585+
- startingAfter (string): A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2586+
- endingBefore (string): A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2587+
- configurationUpdatedAfter (string): Optional parameter to filter items to switches where the configuration has been updated after the given timestamp.
2588+
- mac (string): Optional parameter to filter items to switches with MAC addresses that contain the search term or are an exact match.
2589+
- macs (array): Optional parameter to filter items to switches that have one of the provided MAC addresses.
2590+
- name (string): Optional parameter to filter items to switches with names that contain the search term or are an exact match.
2591+
- networkIds (array): Optional parameter to filter items to switches in one of the provided networks.
2592+
- portProfileIds (array): Optional parameter to filter items to switches that contain switchports belonging to one of the specified port profiles.
2593+
- serial (string): Optional parameter to filter items to switches with serial number that contains the search term or are an exact match.
2594+
- serials (array): Optional parameter to filter items to switches that have one of the provided serials.
2595+
"""
2596+
2597+
kwargs.update(locals())
2598+
2599+
metadata = {
2600+
'tags': ['switch', 'monitor', 'ports', 'clients', 'overview', 'byDevice'],
2601+
'operation': 'getOrganizationSwitchPortsClientsOverviewByDevice'
2602+
}
2603+
organizationId = urllib.parse.quote(str(organizationId), safe='')
2604+
resource = f'/organizations/{organizationId}/switch/ports/clients/overview/byDevice'
2605+
2606+
query_params = ['t0', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'configurationUpdatedAfter', 'mac', 'macs', 'name', 'networkIds', 'portProfileIds', 'serial', 'serials', ]
2607+
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}
2608+
2609+
array_params = ['macs', 'networkIds', 'portProfileIds', 'serials', ]
2610+
for k, v in kwargs.items():
2611+
if k.strip() in array_params:
2612+
params[f'{k.strip()}[]'] = kwargs[f'{k}']
2613+
params.pop(k.strip())
2614+
2615+
return self._session.get_pages(metadata, resource, params, total_pages, direction)
2616+
2617+
2618+
25742619
def getOrganizationSwitchPortsOverview(self, organizationId: str, **kwargs):
25752620
"""
25762621
**Returns the counts of all active ports for the requested timespan, grouped by speed**
@@ -2639,3 +2684,48 @@ def getOrganizationSwitchPortsStatusesBySwitch(self, organizationId: str, total_
26392684

26402685
return self._session.get_pages(metadata, resource, params, total_pages, direction)
26412686

2687+
2688+
2689+
def getOrganizationSwitchPortsTopologyDiscoveryByDevice(self, organizationId: str, total_pages=1, direction='next', **kwargs):
2690+
"""
2691+
**List most recently seen LLDP/CDP discovery and topology information per switch port in an organization.**
2692+
https://developer.cisco.com/meraki/api-v1/#!get-organization-switch-ports-topology-discovery-by-device
2693+
2694+
- organizationId (string): Organization ID
2695+
- total_pages (integer or string): use with perPage to get total results up to total_pages*perPage; -1 or "all" for all pages
2696+
- direction (string): direction to paginate, either "next" (default) or "prev" page
2697+
- t0 (string): The beginning of the timespan for the data. The maximum lookback period is 31 days from today.
2698+
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
2699+
- perPage (integer): The number of entries per page returned. Acceptable range is 3 - 20. Default is 10.
2700+
- startingAfter (string): A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2701+
- endingBefore (string): A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2702+
- configurationUpdatedAfter (string): Optional parameter to filter items to switches where the configuration has been updated after the given timestamp.
2703+
- mac (string): Optional parameter to filter items to switches with MAC addresses that contain the search term or are an exact match.
2704+
- macs (array): Optional parameter to filter items to switches that have one of the provided MAC addresses.
2705+
- name (string): Optional parameter to filter items to switches with names that contain the search term or are an exact match.
2706+
- networkIds (array): Optional parameter to filter items to switches in one of the provided networks.
2707+
- portProfileIds (array): Optional parameter to filter items to switches that contain switchports belonging to one of the specified port profiles.
2708+
- serial (string): Optional parameter to filter items to switches with serial number that contains the search term or are an exact match.
2709+
- serials (array): Optional parameter to filter items to switches that have one of the provided serials.
2710+
"""
2711+
2712+
kwargs.update(locals())
2713+
2714+
metadata = {
2715+
'tags': ['switch', 'monitor', 'ports', 'topology', 'discovery', 'byDevice'],
2716+
'operation': 'getOrganizationSwitchPortsTopologyDiscoveryByDevice'
2717+
}
2718+
organizationId = urllib.parse.quote(str(organizationId), safe='')
2719+
resource = f'/organizations/{organizationId}/switch/ports/topology/discovery/byDevice'
2720+
2721+
query_params = ['t0', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'configurationUpdatedAfter', 'mac', 'macs', 'name', 'networkIds', 'portProfileIds', 'serial', 'serials', ]
2722+
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}
2723+
2724+
array_params = ['macs', 'networkIds', 'portProfileIds', 'serials', ]
2725+
for k, v in kwargs.items():
2726+
if k.strip() in array_params:
2727+
params[f'{k.strip()}[]'] = kwargs[f'{k}']
2728+
params.pop(k.strip())
2729+
2730+
return self._session.get_pages(metadata, resource, params, total_pages, direction)
2731+

‎meraki/aio/api/wireless.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2554,7 +2554,7 @@ def getOrganizationWirelessClientsOverviewByDevice(self, organizationId: str, to
25542554
kwargs.update(locals())
25552555

25562556
metadata = {
2557-
'tags': ['wireless', 'configure', 'clients', 'overview', 'byDevice'],
2557+
'tags': ['wireless', 'monitor', 'clients', 'overview', 'byDevice'],
25582558
'operation': 'getOrganizationWirelessClientsOverviewByDevice'
25592559
}
25602560
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -2918,7 +2918,7 @@ def getOrganizationWirelessDevicesWirelessControllersByDevice(self, organization
29182918
kwargs.update(locals())
29192919

29202920
metadata = {
2921-
'tags': ['wireless', 'configure', 'devices', 'wirelessControllers', 'byDevice'],
2921+
'tags': ['wireless', 'monitor', 'devices', 'wirelessControllers', 'byDevice'],
29222922
'operation': 'getOrganizationWirelessDevicesWirelessControllersByDevice'
29232923
}
29242924
organizationId = urllib.parse.quote(str(organizationId), safe='')

‎meraki/aio/api/wirelessController.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def getOrganizationWirelessControllerConnections(self, organizationId: str, tota
106106
kwargs.update(locals())
107107

108108
metadata = {
109-
'tags': ['wirelessController', 'configure', 'connections'],
109+
'tags': ['wirelessController', 'monitor', 'connections'],
110110
'operation': 'getOrganizationWirelessControllerConnections'
111111
}
112112
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -145,7 +145,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2ByDevice(self, organizat
145145
kwargs.update(locals())
146146

147147
metadata = {
148-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'byDevice'],
148+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'byDevice'],
149149
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2ByDevice'
150150
}
151151
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -185,7 +185,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2StatusesChangeHistoryByD
185185
kwargs.update(locals())
186186

187187
metadata = {
188-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'statuses', 'changeHistory', 'byDevice'],
188+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'statuses', 'changeHistory', 'byDevice'],
189189
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2StatusesChangeHistoryByDevice'
190190
}
191191
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -224,7 +224,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByInterval(s
224224
kwargs.update(locals())
225225

226226
metadata = {
227-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'usage', 'history', 'byInterval'],
227+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'usage', 'history', 'byInterval'],
228228
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByInterval'
229229
}
230230
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -263,7 +263,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3ByDevice(self, organizat
263263
kwargs.update(locals())
264264

265265
metadata = {
266-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'byDevice'],
266+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'byDevice'],
267267
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3ByDevice'
268268
}
269269
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -303,7 +303,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3StatusesChangeHistoryByD
303303
kwargs.update(locals())
304304

305305
metadata = {
306-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'statuses', 'changeHistory', 'byDevice'],
306+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'statuses', 'changeHistory', 'byDevice'],
307307
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3StatusesChangeHistoryByDevice'
308308
}
309309
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -342,7 +342,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3UsageHistoryByInterval(s
342342
kwargs.update(locals())
343343

344344
metadata = {
345-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'usage', 'history', 'byInterval'],
345+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'usage', 'history', 'byInterval'],
346346
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3UsageHistoryByInterval'
347347
}
348348
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -382,7 +382,7 @@ def getOrganizationWirelessControllerDevicesInterfacesPacketsOverviewByDevice(se
382382
kwargs.update(locals())
383383

384384
metadata = {
385-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'packets', 'overview', 'byDevice'],
385+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'packets', 'overview', 'byDevice'],
386386
'operation': 'getOrganizationWirelessControllerDevicesInterfacesPacketsOverviewByDevice'
387387
}
388388
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -422,7 +422,7 @@ def getOrganizationWirelessControllerDevicesInterfacesUsageHistoryByInterval(sel
422422
kwargs.update(locals())
423423

424424
metadata = {
425-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'usage', 'history', 'byInterval'],
425+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'usage', 'history', 'byInterval'],
426426
'operation': 'getOrganizationWirelessControllerDevicesInterfacesUsageHistoryByInterval'
427427
}
428428
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -461,7 +461,7 @@ def getOrganizationWirelessControllerDevicesRedundancyFailoverHistory(self, orga
461461
kwargs.update(locals())
462462

463463
metadata = {
464-
'tags': ['wirelessController', 'configure', 'devices', 'redundancy', 'failover', 'history'],
464+
'tags': ['wirelessController', 'monitor', 'devices', 'redundancy', 'failover', 'history'],
465465
'operation': 'getOrganizationWirelessControllerDevicesRedundancyFailoverHistory'
466466
}
467467
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -497,7 +497,7 @@ def getOrganizationWirelessControllerDevicesRedundancyStatuses(self, organizatio
497497
kwargs.update(locals())
498498

499499
metadata = {
500-
'tags': ['wirelessController', 'configure', 'devices', 'redundancy', 'statuses'],
500+
'tags': ['wirelessController', 'monitor', 'devices', 'redundancy', 'statuses'],
501501
'operation': 'getOrganizationWirelessControllerDevicesRedundancyStatuses'
502502
}
503503
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -573,7 +573,7 @@ def getOrganizationWirelessControllerOverviewByDevice(self, organizationId: str,
573573
kwargs.update(locals())
574574

575575
metadata = {
576-
'tags': ['wirelessController', 'configure', 'overview', 'byDevice'],
576+
'tags': ['wirelessController', 'monitor', 'overview', 'byDevice'],
577577
'operation': 'getOrganizationWirelessControllerOverviewByDevice'
578578
}
579579
organizationId = urllib.parse.quote(str(organizationId), safe='')

‎meraki/api/appliance.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2524,7 +2524,7 @@ def getOrganizationApplianceUplinksStatusesOverview(self, organizationId: str):
25242524
"""
25252525

25262526
metadata = {
2527-
'tags': ['appliance', 'configure', 'uplinks', 'statuses', 'overview'],
2527+
'tags': ['appliance', 'monitor', 'uplinks', 'statuses', 'overview'],
25282528
'operation': 'getOrganizationApplianceUplinksStatusesOverview'
25292529
}
25302530
organizationId = urllib.parse.quote(str(organizationId), safe='')

‎meraki/api/batch/networks.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1065,8 +1065,8 @@ def createNetworkWebhooksPayloadTemplate(self, networkId: str, name: str, **kwar
10651065
- name (string): The name of the new template
10661066
- body (string): The liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
10671067
- headers (array): The liquid template used with the webhook headers.
1068-
- bodyFile (string): A file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
1069-
- headersFile (string): A file containing the liquid template used with the webhook headers.
1068+
- bodyFile (string): A Base64 encoded file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
1069+
- headersFile (string): A Base64 encoded file containing the liquid template used with the webhook headers.
10701070
"""
10711071

10721072
kwargs.update(locals())

‎meraki/api/camera.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ def createNetworkCameraQualityRetentionProfile(self, networkId: str, name: str,
486486
- motionDetectorVersion (integer): The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
487487
- smartRetention (object): Smart Retention records footage in two qualities and intelligently retains higher quality when motion, people or vehicles are detected.
488488
- scheduleId (string): Schedule for which this camera will record video, or 'null' to always record.
489-
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
489+
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be in the range of one to ninety days.
490490
- videoSettings (object): Video quality and resolution settings for all the camera models.
491491
"""
492492

@@ -542,7 +542,7 @@ def updateNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRete
542542
- motionDetectorVersion (integer): The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
543543
- smartRetention (object): Smart Retention records footage in two qualities and intelligently retains higher quality when motion, people or vehicles are detected.
544544
- scheduleId (string): Schedule for which this camera will record video, or 'null' to always record.
545-
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
545+
- maxRetentionDays (integer): The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be in the range of one to ninety days.
546546
- videoSettings (object): Video quality and resolution settings for all the camera models.
547547
"""
548548

‎meraki/api/licensing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,14 @@ def getAdministeredLicensingSubscriptionSubscriptionsComplianceStatuses(self, or
157157

158158

159159

160-
def bindAdministeredLicensingSubscriptionSubscription(self, subscriptionId: str, networkIds: list, **kwargs):
160+
def bindAdministeredLicensingSubscriptionSubscription(self, subscriptionId: str, **kwargs):
161161
"""
162162
**Bind networks to a subscription**
163163
https://developer.cisco.com/meraki/api-v1/#!bind-administered-licensing-subscription-subscription
164164
165165
- subscriptionId (string): Subscription ID
166-
- networkIds (array): List of network ids to bind to the subscription
167166
- validate (boolean): Check if the provided networks can be bound to the subscription. Returns any licensing problems and does not commit the results.
167+
- networkIds (array): List of network ids to bind to the subscription
168168
"""
169169

170170
kwargs.update(locals())

‎meraki/api/networks.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2797,8 +2797,8 @@ def createNetworkWebhooksPayloadTemplate(self, networkId: str, name: str, **kwar
27972797
- name (string): The name of the new template
27982798
- body (string): The liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
27992799
- headers (array): The liquid template used with the webhook headers.
2800-
- bodyFile (string): A file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
2801-
- headersFile (string): A file containing the liquid template used with the webhook headers.
2800+
- bodyFile (string): A Base64 encoded file containing liquid template used for the body of the webhook message. Either `body` or `bodyFile` must be specified.
2801+
- headersFile (string): A Base64 encoded file containing the liquid template used with the webhook headers.
28022802
"""
28032803

28042804
kwargs.update(locals())

‎meraki/api/organizations.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -2839,16 +2839,17 @@ def getOrganizationInventoryOnboardingCloudMonitoringNetworks(self, organization
28392839

28402840

28412841

2842-
def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizationId: str, devices: list):
2842+
def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizationId: str, devices: list, **kwargs):
28432843
"""
28442844
**Initiates or updates an import session**
28452845
https://developer.cisco.com/meraki/api-v1/#!create-organization-inventory-onboarding-cloud-monitoring-prepare
28462846
28472847
- organizationId (string): Organization ID
28482848
- devices (array): A set of devices to import (or update)
2849+
- options (object): Additional options for the import
28492850
"""
28502851

2851-
kwargs = locals()
2852+
kwargs.update(locals())
28522853

28532854
metadata = {
28542855
'tags': ['organizations', 'configure', 'inventory', 'onboarding', 'cloudMonitoring', 'prepare'],
@@ -2857,7 +2858,7 @@ def createOrganizationInventoryOnboardingCloudMonitoringPrepare(self, organizati
28572858
organizationId = urllib.parse.quote(str(organizationId), safe='')
28582859
resource = f'/organizations/{organizationId}/inventory/onboarding/cloudMonitoring/prepare'
28592860

2860-
body_params = ['devices', ]
2861+
body_params = ['devices', 'options', ]
28612862
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
28622863

28632864
return self._session.post(metadata, resource, payload)

‎meraki/api/switch.py

+90
Original file line numberDiff line numberDiff line change
@@ -2571,6 +2571,51 @@ def getOrganizationSwitchPortsBySwitch(self, organizationId: str, total_pages=1,
25712571

25722572

25732573

2574+
def getOrganizationSwitchPortsClientsOverviewByDevice(self, organizationId: str, total_pages=1, direction='next', **kwargs):
2575+
"""
2576+
**List the number of clients for all switchports with at least one online client in an organization.**
2577+
https://developer.cisco.com/meraki/api-v1/#!get-organization-switch-ports-clients-overview-by-device
2578+
2579+
- organizationId (string): Organization ID
2580+
- total_pages (integer or string): use with perPage to get total results up to total_pages*perPage; -1 or "all" for all pages
2581+
- direction (string): direction to paginate, either "next" (default) or "prev" page
2582+
- t0 (string): The beginning of the timespan for the data. The maximum lookback period is 31 days from today.
2583+
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
2584+
- perPage (integer): The number of entries per page returned. Acceptable range is 3 - 20. Default is 20.
2585+
- startingAfter (string): A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2586+
- endingBefore (string): A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2587+
- configurationUpdatedAfter (string): Optional parameter to filter items to switches where the configuration has been updated after the given timestamp.
2588+
- mac (string): Optional parameter to filter items to switches with MAC addresses that contain the search term or are an exact match.
2589+
- macs (array): Optional parameter to filter items to switches that have one of the provided MAC addresses.
2590+
- name (string): Optional parameter to filter items to switches with names that contain the search term or are an exact match.
2591+
- networkIds (array): Optional parameter to filter items to switches in one of the provided networks.
2592+
- portProfileIds (array): Optional parameter to filter items to switches that contain switchports belonging to one of the specified port profiles.
2593+
- serial (string): Optional parameter to filter items to switches with serial number that contains the search term or are an exact match.
2594+
- serials (array): Optional parameter to filter items to switches that have one of the provided serials.
2595+
"""
2596+
2597+
kwargs.update(locals())
2598+
2599+
metadata = {
2600+
'tags': ['switch', 'monitor', 'ports', 'clients', 'overview', 'byDevice'],
2601+
'operation': 'getOrganizationSwitchPortsClientsOverviewByDevice'
2602+
}
2603+
organizationId = urllib.parse.quote(str(organizationId), safe='')
2604+
resource = f'/organizations/{organizationId}/switch/ports/clients/overview/byDevice'
2605+
2606+
query_params = ['t0', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'configurationUpdatedAfter', 'mac', 'macs', 'name', 'networkIds', 'portProfileIds', 'serial', 'serials', ]
2607+
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}
2608+
2609+
array_params = ['macs', 'networkIds', 'portProfileIds', 'serials', ]
2610+
for k, v in kwargs.items():
2611+
if k.strip() in array_params:
2612+
params[f'{k.strip()}[]'] = kwargs[f'{k}']
2613+
params.pop(k.strip())
2614+
2615+
return self._session.get_pages(metadata, resource, params, total_pages, direction)
2616+
2617+
2618+
25742619
def getOrganizationSwitchPortsOverview(self, organizationId: str, **kwargs):
25752620
"""
25762621
**Returns the counts of all active ports for the requested timespan, grouped by speed**
@@ -2639,3 +2684,48 @@ def getOrganizationSwitchPortsStatusesBySwitch(self, organizationId: str, total_
26392684

26402685
return self._session.get_pages(metadata, resource, params, total_pages, direction)
26412686

2687+
2688+
2689+
def getOrganizationSwitchPortsTopologyDiscoveryByDevice(self, organizationId: str, total_pages=1, direction='next', **kwargs):
2690+
"""
2691+
**List most recently seen LLDP/CDP discovery and topology information per switch port in an organization.**
2692+
https://developer.cisco.com/meraki/api-v1/#!get-organization-switch-ports-topology-discovery-by-device
2693+
2694+
- organizationId (string): Organization ID
2695+
- total_pages (integer or string): use with perPage to get total results up to total_pages*perPage; -1 or "all" for all pages
2696+
- direction (string): direction to paginate, either "next" (default) or "prev" page
2697+
- t0 (string): The beginning of the timespan for the data. The maximum lookback period is 31 days from today.
2698+
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
2699+
- perPage (integer): The number of entries per page returned. Acceptable range is 3 - 20. Default is 10.
2700+
- startingAfter (string): A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2701+
- endingBefore (string): A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
2702+
- configurationUpdatedAfter (string): Optional parameter to filter items to switches where the configuration has been updated after the given timestamp.
2703+
- mac (string): Optional parameter to filter items to switches with MAC addresses that contain the search term or are an exact match.
2704+
- macs (array): Optional parameter to filter items to switches that have one of the provided MAC addresses.
2705+
- name (string): Optional parameter to filter items to switches with names that contain the search term or are an exact match.
2706+
- networkIds (array): Optional parameter to filter items to switches in one of the provided networks.
2707+
- portProfileIds (array): Optional parameter to filter items to switches that contain switchports belonging to one of the specified port profiles.
2708+
- serial (string): Optional parameter to filter items to switches with serial number that contains the search term or are an exact match.
2709+
- serials (array): Optional parameter to filter items to switches that have one of the provided serials.
2710+
"""
2711+
2712+
kwargs.update(locals())
2713+
2714+
metadata = {
2715+
'tags': ['switch', 'monitor', 'ports', 'topology', 'discovery', 'byDevice'],
2716+
'operation': 'getOrganizationSwitchPortsTopologyDiscoveryByDevice'
2717+
}
2718+
organizationId = urllib.parse.quote(str(organizationId), safe='')
2719+
resource = f'/organizations/{organizationId}/switch/ports/topology/discovery/byDevice'
2720+
2721+
query_params = ['t0', 'timespan', 'perPage', 'startingAfter', 'endingBefore', 'configurationUpdatedAfter', 'mac', 'macs', 'name', 'networkIds', 'portProfileIds', 'serial', 'serials', ]
2722+
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}
2723+
2724+
array_params = ['macs', 'networkIds', 'portProfileIds', 'serials', ]
2725+
for k, v in kwargs.items():
2726+
if k.strip() in array_params:
2727+
params[f'{k.strip()}[]'] = kwargs[f'{k}']
2728+
params.pop(k.strip())
2729+
2730+
return self._session.get_pages(metadata, resource, params, total_pages, direction)
2731+

‎meraki/api/wireless.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2554,7 +2554,7 @@ def getOrganizationWirelessClientsOverviewByDevice(self, organizationId: str, to
25542554
kwargs.update(locals())
25552555

25562556
metadata = {
2557-
'tags': ['wireless', 'configure', 'clients', 'overview', 'byDevice'],
2557+
'tags': ['wireless', 'monitor', 'clients', 'overview', 'byDevice'],
25582558
'operation': 'getOrganizationWirelessClientsOverviewByDevice'
25592559
}
25602560
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -2918,7 +2918,7 @@ def getOrganizationWirelessDevicesWirelessControllersByDevice(self, organization
29182918
kwargs.update(locals())
29192919

29202920
metadata = {
2921-
'tags': ['wireless', 'configure', 'devices', 'wirelessControllers', 'byDevice'],
2921+
'tags': ['wireless', 'monitor', 'devices', 'wirelessControllers', 'byDevice'],
29222922
'operation': 'getOrganizationWirelessDevicesWirelessControllersByDevice'
29232923
}
29242924
organizationId = urllib.parse.quote(str(organizationId), safe='')

‎meraki/api/wirelessController.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def getOrganizationWirelessControllerConnections(self, organizationId: str, tota
106106
kwargs.update(locals())
107107

108108
metadata = {
109-
'tags': ['wirelessController', 'configure', 'connections'],
109+
'tags': ['wirelessController', 'monitor', 'connections'],
110110
'operation': 'getOrganizationWirelessControllerConnections'
111111
}
112112
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -145,7 +145,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2ByDevice(self, organizat
145145
kwargs.update(locals())
146146

147147
metadata = {
148-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'byDevice'],
148+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'byDevice'],
149149
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2ByDevice'
150150
}
151151
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -185,7 +185,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2StatusesChangeHistoryByD
185185
kwargs.update(locals())
186186

187187
metadata = {
188-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'statuses', 'changeHistory', 'byDevice'],
188+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'statuses', 'changeHistory', 'byDevice'],
189189
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2StatusesChangeHistoryByDevice'
190190
}
191191
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -224,7 +224,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByInterval(s
224224
kwargs.update(locals())
225225

226226
metadata = {
227-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l2', 'usage', 'history', 'byInterval'],
227+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l2', 'usage', 'history', 'byInterval'],
228228
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL2UsageHistoryByInterval'
229229
}
230230
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -263,7 +263,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3ByDevice(self, organizat
263263
kwargs.update(locals())
264264

265265
metadata = {
266-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'byDevice'],
266+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'byDevice'],
267267
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3ByDevice'
268268
}
269269
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -303,7 +303,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3StatusesChangeHistoryByD
303303
kwargs.update(locals())
304304

305305
metadata = {
306-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'statuses', 'changeHistory', 'byDevice'],
306+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'statuses', 'changeHistory', 'byDevice'],
307307
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3StatusesChangeHistoryByDevice'
308308
}
309309
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -342,7 +342,7 @@ def getOrganizationWirelessControllerDevicesInterfacesL3UsageHistoryByInterval(s
342342
kwargs.update(locals())
343343

344344
metadata = {
345-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'l3', 'usage', 'history', 'byInterval'],
345+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'l3', 'usage', 'history', 'byInterval'],
346346
'operation': 'getOrganizationWirelessControllerDevicesInterfacesL3UsageHistoryByInterval'
347347
}
348348
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -382,7 +382,7 @@ def getOrganizationWirelessControllerDevicesInterfacesPacketsOverviewByDevice(se
382382
kwargs.update(locals())
383383

384384
metadata = {
385-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'packets', 'overview', 'byDevice'],
385+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'packets', 'overview', 'byDevice'],
386386
'operation': 'getOrganizationWirelessControllerDevicesInterfacesPacketsOverviewByDevice'
387387
}
388388
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -422,7 +422,7 @@ def getOrganizationWirelessControllerDevicesInterfacesUsageHistoryByInterval(sel
422422
kwargs.update(locals())
423423

424424
metadata = {
425-
'tags': ['wirelessController', 'configure', 'devices', 'interfaces', 'usage', 'history', 'byInterval'],
425+
'tags': ['wirelessController', 'monitor', 'devices', 'interfaces', 'usage', 'history', 'byInterval'],
426426
'operation': 'getOrganizationWirelessControllerDevicesInterfacesUsageHistoryByInterval'
427427
}
428428
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -461,7 +461,7 @@ def getOrganizationWirelessControllerDevicesRedundancyFailoverHistory(self, orga
461461
kwargs.update(locals())
462462

463463
metadata = {
464-
'tags': ['wirelessController', 'configure', 'devices', 'redundancy', 'failover', 'history'],
464+
'tags': ['wirelessController', 'monitor', 'devices', 'redundancy', 'failover', 'history'],
465465
'operation': 'getOrganizationWirelessControllerDevicesRedundancyFailoverHistory'
466466
}
467467
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -497,7 +497,7 @@ def getOrganizationWirelessControllerDevicesRedundancyStatuses(self, organizatio
497497
kwargs.update(locals())
498498

499499
metadata = {
500-
'tags': ['wirelessController', 'configure', 'devices', 'redundancy', 'statuses'],
500+
'tags': ['wirelessController', 'monitor', 'devices', 'redundancy', 'statuses'],
501501
'operation': 'getOrganizationWirelessControllerDevicesRedundancyStatuses'
502502
}
503503
organizationId = urllib.parse.quote(str(organizationId), safe='')
@@ -573,7 +573,7 @@ def getOrganizationWirelessControllerOverviewByDevice(self, organizationId: str,
573573
kwargs.update(locals())
574574

575575
metadata = {
576-
'tags': ['wirelessController', 'configure', 'overview', 'byDevice'],
576+
'tags': ['wirelessController', 'monitor', 'overview', 'byDevice'],
577577
'operation': 'getOrganizationWirelessControllerOverviewByDevice'
578578
}
579579
organizationId = urllib.parse.quote(str(organizationId), safe='')

0 commit comments

Comments
 (0)
Please sign in to comment.