forked from meraki/dashboard-api-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwireless_settings.py
More file actions
51 lines (39 loc) · 2.32 KB
/
Copy pathwireless_settings.py
File metadata and controls
51 lines (39 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
class WirelessSettings(object):
def __init__(self, session):
super(WirelessSettings, self).__init__()
self._session = session
def getNetworkWirelessSettings(self, networkId: str):
"""
**Return the wireless settings for a network**
https://developer.cisco.com/meraki/api/#!get-network-wireless-settings
- networkId (string)
"""
metadata = {
'tags': ['Wireless settings'],
'operation': 'getNetworkWirelessSettings',
}
resource = f'/networks/{networkId}/wireless/settings'
return self._session.get(metadata, resource)
def updateNetworkWirelessSettings(self, networkId: str, **kwargs):
"""
**Update the wireless settings for a network**
https://developer.cisco.com/meraki/api/#!update-network-wireless-settings
- networkId (string)
- meshingEnabled (boolean): Toggle for enabling or disabling meshing in a network
- ipv6BridgeEnabled (boolean): Toggle for enabling or disabling IPv6 bridging in a network (Note: if enabled, SSIDs must also be configured to use bridge mode)
- locationAnalyticsEnabled (boolean): Toggle for enabling or disabling location analytics for your network
- upgradeStrategy (string): The upgrade strategy to apply to the network. Must be one of 'minimizeUpgradeTime' or 'minimizeClientDowntime'. Requires firmware version MR 26.8 or higher'
- ledLightsOn (boolean): Toggle for enabling or disabling LED lights on all APs in the network (making them run dark)
"""
kwargs.update(locals())
if 'upgradeStrategy' in kwargs:
options = ['minimizeUpgradeTime', 'minimizeClientDowntime']
assert kwargs['upgradeStrategy'] in options, f'''"upgradeStrategy" cannot be "{kwargs['upgradeStrategy']}", & must be set to one of: {options}'''
metadata = {
'tags': ['Wireless settings'],
'operation': 'updateNetworkWirelessSettings',
}
resource = f'/networks/{networkId}/wireless/settings'
body_params = ['meshingEnabled', 'ipv6BridgeEnabled', 'locationAnalyticsEnabled', 'upgradeStrategy', 'ledLightsOn']
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
return self._session.put(metadata, resource, payload)