Skip to content

Commit cdad45d

Browse files
author
GitHub Action on behalf of TKIPisalegacycipher
committed
Auto-update library to release version 1.34.0.
1 parent 60183bd commit cdad45d

24 files changed

Lines changed: 1236 additions & 318 deletions

meraki/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
USE_ITERATOR_FOR_GET_PAGES,
4646
)
4747

48-
__version__ = '1.33.0'
48+
__version__ = '1.34.0'
4949

5050

5151
class DashboardAPI(object):

meraki/aio/api/appliance.py

Lines changed: 194 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,52 @@ def getDeviceAppliancePrefixesDelegatedVlanAssignments(self, serial: str):
8484

8585

8686

87+
def getDeviceApplianceRadioSettings(self, serial: str):
88+
"""
89+
**Return the radio settings of an appliance**
90+
https://developer.cisco.com/meraki/api-v1/#!get-device-appliance-radio-settings
91+
92+
- serial (string): Serial
93+
"""
94+
95+
metadata = {
96+
'tags': ['appliance', 'configure', 'radio', 'settings'],
97+
'operation': 'getDeviceApplianceRadioSettings'
98+
}
99+
serial = urllib.parse.quote(str(serial), safe='')
100+
resource = f'/devices/{serial}/appliance/radio/settings'
101+
102+
return self._session.get(metadata, resource)
103+
104+
105+
106+
def updateDeviceApplianceRadioSettings(self, serial: str, **kwargs):
107+
"""
108+
**Update the radio settings of an appliance**
109+
https://developer.cisco.com/meraki/api-v1/#!update-device-appliance-radio-settings
110+
111+
- serial (string): Serial
112+
- rfProfileId (string): The ID of an RF profile to assign to the device. If the value of this parameter is null, the appropriate basic RF profile (indoor or outdoor) will be assigned to the device. Assigning an RF profile will clear ALL manually configured overrides on the device (channel width, channel, power).
113+
- twoFourGhzSettings (object): Manual radio settings for 2.4 GHz.
114+
- fiveGhzSettings (object): Manual radio settings for 5 GHz.
115+
"""
116+
117+
kwargs.update(locals())
118+
119+
metadata = {
120+
'tags': ['appliance', 'configure', 'radio', 'settings'],
121+
'operation': 'updateDeviceApplianceRadioSettings'
122+
}
123+
serial = urllib.parse.quote(str(serial), safe='')
124+
resource = f'/devices/{serial}/appliance/radio/settings'
125+
126+
body_params = ['rfProfileId', 'twoFourGhzSettings', 'fiveGhzSettings', ]
127+
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
128+
129+
return self._session.put(metadata, resource, payload)
130+
131+
132+
87133
def getDeviceApplianceUplinksSettings(self, serial: str):
88134
"""
89135
**Return the uplink settings for an MX appliance**
@@ -978,6 +1024,125 @@ def deleteNetworkAppliancePrefixesDelegatedStatic(self, networkId: str, staticDe
9781024

9791025

9801026

1027+
def getNetworkApplianceRfProfiles(self, networkId: str):
1028+
"""
1029+
**List the RF profiles for this network**
1030+
https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-rf-profiles
1031+
1032+
- networkId (string): Network ID
1033+
"""
1034+
1035+
metadata = {
1036+
'tags': ['appliance', 'configure', 'rfProfiles'],
1037+
'operation': 'getNetworkApplianceRfProfiles'
1038+
}
1039+
networkId = urllib.parse.quote(str(networkId), safe='')
1040+
resource = f'/networks/{networkId}/appliance/rfProfiles'
1041+
1042+
return self._session.get(metadata, resource)
1043+
1044+
1045+
1046+
def createNetworkApplianceRfProfile(self, networkId: str, name: str, **kwargs):
1047+
"""
1048+
**Creates new RF profile for this network**
1049+
https://developer.cisco.com/meraki/api-v1/#!create-network-appliance-rf-profile
1050+
1051+
- networkId (string): Network ID
1052+
- name (string): The name of the new profile. Must be unique. This param is required on creation.
1053+
- twoFourGhzSettings (object): Settings related to 2.4Ghz band
1054+
- fiveGhzSettings (object): Settings related to 5Ghz band
1055+
- perSsidSettings (object): Per-SSID radio settings by number.
1056+
"""
1057+
1058+
kwargs.update(locals())
1059+
1060+
metadata = {
1061+
'tags': ['appliance', 'configure', 'rfProfiles'],
1062+
'operation': 'createNetworkApplianceRfProfile'
1063+
}
1064+
networkId = urllib.parse.quote(str(networkId), safe='')
1065+
resource = f'/networks/{networkId}/appliance/rfProfiles'
1066+
1067+
body_params = ['name', 'twoFourGhzSettings', 'fiveGhzSettings', 'perSsidSettings', ]
1068+
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
1069+
1070+
return self._session.post(metadata, resource, payload)
1071+
1072+
1073+
1074+
def updateNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str, **kwargs):
1075+
"""
1076+
**Updates specified RF profile for this network**
1077+
https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-rf-profile
1078+
1079+
- networkId (string): Network ID
1080+
- rfProfileId (string): Rf profile ID
1081+
- name (string): The name of the new profile. Must be unique.
1082+
- twoFourGhzSettings (object): Settings related to 2.4Ghz band
1083+
- fiveGhzSettings (object): Settings related to 5Ghz band
1084+
- perSsidSettings (object): Per-SSID radio settings by number.
1085+
"""
1086+
1087+
kwargs.update(locals())
1088+
1089+
metadata = {
1090+
'tags': ['appliance', 'configure', 'rfProfiles'],
1091+
'operation': 'updateNetworkApplianceRfProfile'
1092+
}
1093+
networkId = urllib.parse.quote(str(networkId), safe='')
1094+
rfProfileId = urllib.parse.quote(str(rfProfileId), safe='')
1095+
resource = f'/networks/{networkId}/appliance/rfProfiles/{rfProfileId}'
1096+
1097+
body_params = ['name', 'twoFourGhzSettings', 'fiveGhzSettings', 'perSsidSettings', ]
1098+
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
1099+
1100+
return self._session.put(metadata, resource, payload)
1101+
1102+
1103+
1104+
def deleteNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str):
1105+
"""
1106+
**Delete a RF Profile**
1107+
https://developer.cisco.com/meraki/api-v1/#!delete-network-appliance-rf-profile
1108+
1109+
- networkId (string): Network ID
1110+
- rfProfileId (string): Rf profile ID
1111+
"""
1112+
1113+
metadata = {
1114+
'tags': ['appliance', 'configure', 'rfProfiles'],
1115+
'operation': 'deleteNetworkApplianceRfProfile'
1116+
}
1117+
networkId = urllib.parse.quote(str(networkId), safe='')
1118+
rfProfileId = urllib.parse.quote(str(rfProfileId), safe='')
1119+
resource = f'/networks/{networkId}/appliance/rfProfiles/{rfProfileId}'
1120+
1121+
return self._session.delete(metadata, resource)
1122+
1123+
1124+
1125+
def getNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str):
1126+
"""
1127+
**Return a RF profile**
1128+
https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-rf-profile
1129+
1130+
- networkId (string): Network ID
1131+
- rfProfileId (string): Rf profile ID
1132+
"""
1133+
1134+
metadata = {
1135+
'tags': ['appliance', 'configure', 'rfProfiles'],
1136+
'operation': 'getNetworkApplianceRfProfile'
1137+
}
1138+
networkId = urllib.parse.quote(str(networkId), safe='')
1139+
rfProfileId = urllib.parse.quote(str(rfProfileId), safe='')
1140+
resource = f'/networks/{networkId}/appliance/rfProfiles/{rfProfileId}'
1141+
1142+
return self._session.get(metadata, resource)
1143+
1144+
1145+
9811146
def getNetworkApplianceSecurityEvents(self, networkId: str, total_pages=1, direction='next', **kwargs):
9821147
"""
9831148
**List the security events for a network**
@@ -1275,6 +1440,7 @@ def updateNetworkApplianceSsid(self, networkId: str, number: str, **kwargs):
12751440
- wpaEncryptionMode (string): The types of WPA encryption. ('WPA1 and WPA2', 'WPA2 only', 'WPA3 Transition Mode' or 'WPA3 only'). This param is only valid if (1) the authMode is 'psk' & the encryptionMode is 'wpa' OR (2) the authMode is '8021x-meraki' OR (3) the authMode is '8021x-radius'
12761441
- visible (boolean): Boolean indicating whether the MX should advertise or hide this SSID.
12771442
- dhcpEnforcedDeauthentication (object): DHCP Enforced Deauthentication enables the disassociation of wireless clients in addition to Mandatory DHCP. This param is only valid on firmware versions >= MX 17.0 where the associated LAN has Mandatory DHCP Enabled
1443+
- dot11w (object): The current setting for Protected Management Frames (802.11w).
12781444
"""
12791445

12801446
kwargs.update(locals())
@@ -1297,7 +1463,7 @@ def updateNetworkApplianceSsid(self, networkId: str, number: str, **kwargs):
12971463
number = urllib.parse.quote(str(number), safe='')
12981464
resource = f'/networks/{networkId}/appliance/ssids/{number}'
12991465

1300-
body_params = ['name', 'enabled', 'defaultVlanId', 'authMode', 'psk', 'radiusServers', 'encryptionMode', 'wpaEncryptionMode', 'visible', 'dhcpEnforcedDeauthentication', ]
1466+
body_params = ['name', 'enabled', 'defaultVlanId', 'authMode', 'psk', 'radiusServers', 'encryptionMode', 'wpaEncryptionMode', 'visible', 'dhcpEnforcedDeauthentication', 'dot11w', ]
13011467
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}
13021468

13031469
return self._session.put(metadata, resource, payload)
@@ -2244,6 +2410,33 @@ def getOrganizationApplianceUplinkStatuses(self, organizationId: str, total_page
22442410

22452411

22462412

2413+
def getOrganizationApplianceUplinksUsageByNetwork(self, organizationId: str, **kwargs):
2414+
"""
2415+
**Get the sent and received bytes for each uplink of all wired networks within an organization**
2416+
https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-uplinks-usage-by-network
2417+
2418+
- organizationId (string): Organization ID
2419+
- t0 (string): The beginning of the timespan for the data. The maximum lookback period is 365 days from today.
2420+
- t1 (string): The end of the timespan for the data. t1 can be a maximum of 14 days after t0.
2421+
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be less than or equal to 14 days. The default is 1 day.
2422+
"""
2423+
2424+
kwargs.update(locals())
2425+
2426+
metadata = {
2427+
'tags': ['appliance', 'monitor', 'uplinks', 'usage', 'byNetwork'],
2428+
'operation': 'getOrganizationApplianceUplinksUsageByNetwork'
2429+
}
2430+
organizationId = urllib.parse.quote(str(organizationId), safe='')
2431+
resource = f'/organizations/{organizationId}/appliance/uplinks/usage/byNetwork'
2432+
2433+
query_params = ['t0', 't1', 'timespan', ]
2434+
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}
2435+
2436+
return self._session.get(metadata, resource, params)
2437+
2438+
2439+
22472440
def getOrganizationApplianceVpnStats(self, organizationId: str, total_pages=1, direction='next', **kwargs):
22482441
"""
22492442
**Show VPN history stat for networks in an organization**

meraki/aio/api/camera.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -505,27 +505,6 @@ def createNetworkCameraQualityRetentionProfile(self, networkId: str, name: str,
505505

506506

507507

508-
def getNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRetentionProfileId: str):
509-
"""
510-
**Retrieve a single quality retention profile**
511-
https://developer.cisco.com/meraki/api-v1/#!get-network-camera-quality-retention-profile
512-
513-
- networkId (string): Network ID
514-
- qualityRetentionProfileId (string): Quality retention profile ID
515-
"""
516-
517-
metadata = {
518-
'tags': ['camera', 'configure', 'qualityRetentionProfiles'],
519-
'operation': 'getNetworkCameraQualityRetentionProfile'
520-
}
521-
networkId = urllib.parse.quote(str(networkId), safe='')
522-
qualityRetentionProfileId = urllib.parse.quote(str(qualityRetentionProfileId), safe='')
523-
resource = f'/networks/{networkId}/camera/qualityRetentionProfiles/{qualityRetentionProfileId}'
524-
525-
return self._session.get(metadata, resource)
526-
527-
528-
529508
def updateNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRetentionProfileId: str, **kwargs):
530509
"""
531510
**Update an existing quality retention profile for this network.**
@@ -582,6 +561,27 @@ def deleteNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRete
582561

583562

584563

564+
def getNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRetentionProfileId: str):
565+
"""
566+
**Retrieve a single quality retention profile**
567+
https://developer.cisco.com/meraki/api-v1/#!get-network-camera-quality-retention-profile
568+
569+
- networkId (string): Network ID
570+
- qualityRetentionProfileId (string): Quality retention profile ID
571+
"""
572+
573+
metadata = {
574+
'tags': ['camera', 'configure', 'qualityRetentionProfiles'],
575+
'operation': 'getNetworkCameraQualityRetentionProfile'
576+
}
577+
networkId = urllib.parse.quote(str(networkId), safe='')
578+
qualityRetentionProfileId = urllib.parse.quote(str(qualityRetentionProfileId), safe='')
579+
resource = f'/networks/{networkId}/camera/qualityRetentionProfiles/{qualityRetentionProfileId}'
580+
581+
return self._session.get(metadata, resource)
582+
583+
584+
585585
def getNetworkCameraSchedules(self, networkId: str):
586586
"""
587587
**Returns a list of all camera recording schedules.**

meraki/aio/api/devices.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def updateDevice(self, serial: str, **kwargs):
4040
- address (string): The address of a device
4141
- notes (string): The notes for the device. String. Limited to 255 characters.
4242
- moveMapMarker (boolean): Whether or not to set the latitude and longitude of a device based on the new address. Only applies when lat and lng are not specified.
43-
- switchProfileId (string): The ID of a switch profile to bind to the device (for available switch profiles, see the 'Switch Profiles' endpoint). Use null to unbind the switch device from the current profile. For a device to be bindable to a switch profile, it must (1) be a switch, and (2) belong to a network that is bound to a configuration template.
43+
- switchProfileId (string): The ID of a switch template to bind to the device (for available switch templates, see the 'Switch Templates' endpoint). Use null to unbind the switch device from the current profile. For a device to be bindable to a switch template, it must (1) be a switch, and (2) belong to a network that is bound to a configuration template.
4444
- floorPlanId (string): The floor plan to associate to this device. null disassociates the device from the floorplan.
4545
"""
4646

@@ -190,7 +190,7 @@ def getDeviceLiveToolsPing(self, serial: str, id: str):
190190
https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-ping
191191
192192
- serial (string): Serial
193-
- id (string): Id
193+
- id (string): ID
194194
"""
195195

196196
metadata = {
@@ -236,7 +236,7 @@ def getDeviceLiveToolsPingDevice(self, serial: str, id: str):
236236
https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-ping-device
237237
238238
- serial (string): Serial
239-
- id (string): Id
239+
- id (string): ID
240240
"""
241241

242242
metadata = {
@@ -281,13 +281,13 @@ def getDeviceLossAndLatencyHistory(self, serial: str, ip: str, **kwargs):
281281
- t1 (string): The end of the timespan for the data. t1 can be a maximum of 31 days after t0.
282282
- timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
283283
- resolution (integer): The time resolution in seconds for returned data. The valid resolutions are: 60, 600, 3600, 86400. The default is 60.
284-
- uplink (string): The WAN uplink used to obtain the requested stats. Valid uplinks are wan1, wan2, cellular. The default is wan1.
284+
- uplink (string): The WAN uplink used to obtain the requested stats. Valid uplinks are wan1, wan2, wan3, cellular. The default is wan1.
285285
"""
286286

287287
kwargs.update(locals())
288288

289289
if 'uplink' in kwargs:
290-
options = ['cellular', 'wan1', 'wan2']
290+
options = ['cellular', 'wan1', 'wan2', 'wan3']
291291
assert kwargs['uplink'] in options, f'''"uplink" cannot be "{kwargs['uplink']}", & must be set to one of: {options}'''
292292

293293
metadata = {

0 commit comments

Comments
 (0)