Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
TKIPisalegacycipher committed May 7, 2024
2 parents afdd1f9 + 2696790 commit 6272e98
Show file tree
Hide file tree
Showing 18 changed files with 1,701 additions and 82 deletions.
2 changes: 1 addition & 1 deletion meraki/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
)
from meraki.rest_session import *

__version__ = '1.45.0'
__version__ = '1.46.0'


class DashboardAPI(object):
Expand Down
12 changes: 11 additions & 1 deletion meraki/aio/api/appliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -2021,14 +2021,24 @@ def createNetworkApplianceVlan(self, networkId: str, id: str, name: str, **kwarg
- cidr (string): CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
- mask (integer): Mask used for the subnet of all bound to the template networks. Applicable only for template network.
- ipv6 (object): IPv6 configuration on the VLAN
- dhcpHandling (string): The appliance's handling of DHCP requests on this VLAN. One of: 'Run a DHCP server', 'Relay DHCP to another server' or 'Do not respond to DHCP requests'
- dhcpLeaseTime (string): The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: '30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week'
- mandatoryDhcp (object): Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
- dhcpBootOptionsEnabled (boolean): Use DHCP boot options specified in other properties
- dhcpOptions (array): The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
"""

kwargs.update(locals())

if 'templateVlanType' in kwargs:
options = ['same', 'unique']
assert kwargs['templateVlanType'] in options, f'''"templateVlanType" cannot be "{kwargs['templateVlanType']}", & must be set to one of: {options}'''
if 'dhcpHandling' in kwargs:
options = ['Do not respond to DHCP requests', 'Relay DHCP to another server', 'Run a DHCP server']
assert kwargs['dhcpHandling'] in options, f'''"dhcpHandling" cannot be "{kwargs['dhcpHandling']}", & must be set to one of: {options}'''
if 'dhcpLeaseTime' in kwargs:
options = ['1 day', '1 hour', '1 week', '12 hours', '30 minutes', '4 hours']
assert kwargs['dhcpLeaseTime'] in options, f'''"dhcpLeaseTime" cannot be "{kwargs['dhcpLeaseTime']}", & must be set to one of: {options}'''

metadata = {
'tags': ['appliance', 'configure', 'vlans'],
Expand All @@ -2037,7 +2047,7 @@ def createNetworkApplianceVlan(self, networkId: str, id: str, name: str, **kwarg
networkId = urllib.parse.quote(str(networkId), safe='')
resource = f'/networks/{networkId}/appliance/vlans'

body_params = ['id', 'name', 'subnet', 'applianceIp', 'groupPolicyId', 'templateVlanType', 'cidr', 'mask', 'ipv6', 'mandatoryDhcp', ]
body_params = ['id', 'name', 'subnet', 'applianceIp', 'groupPolicyId', 'templateVlanType', 'cidr', 'mask', 'ipv6', 'dhcpHandling', 'dhcpLeaseTime', 'mandatoryDhcp', 'dhcpBootOptionsEnabled', 'dhcpOptions', ]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

return self._session.post(metadata, resource, payload)
Expand Down
2 changes: 1 addition & 1 deletion meraki/aio/api/devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ def getDeviceLiveToolsArpTable(self, serial: str, arpTableId: str):

def createDeviceLiveToolsCableTest(self, serial: str, ports: list, **kwargs):
"""
**Enqueue a job to perform a cable test for the device on the specified ports.**
**Enqueue a job to perform a cable test for the device on the specified ports**
https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-cable-test
- serial (string): Serial
Expand Down
6 changes: 3 additions & 3 deletions meraki/aio/api/networks.py
Original file line number Diff line number Diff line change
Expand Up @@ -730,7 +730,7 @@ def getNetworkEvents(self, networkId: str, total_pages=1, direction='prev', even
- total_pages (integer or string): use with perPage to get total results up to total_pages*perPage; -1 or "all" for all pages
- direction (string): direction to paginate, either "next" or "prev" (default) page
- event_log_end_time (string): ISO8601 Zulu/UTC time, to use in conjunction with startingAfter, to retrieve events within a time window
- productType (string): The product type to fetch events for. This parameter is required for networks with multiple device types. Valid types are wireless, appliance, switch, systemsManager, camera, and cellularGateway
- productType (string): The product type to fetch events for. This parameter is required for networks with multiple device types. Valid types are wireless, appliance, switch, systemsManager, camera, cellularGateway, and secureConnect
- includedEventTypes (array): A list of event types. The returned events will be filtered to only include events with these types.
- excludedEventTypes (array): A list of event types. The returned events will be filtered to exclude events with these types.
- deviceMac (string): The MAC address of the Meraki device which the list of events will be filtered with
Expand All @@ -749,7 +749,7 @@ def getNetworkEvents(self, networkId: str, total_pages=1, direction='prev', even
kwargs.update(locals())

if 'productType' in kwargs:
options = ['appliance', 'camera', 'cellularGateway', 'switch', 'systemsManager', 'wireless']
options = ['appliance', 'camera', 'cellularGateway', 'secureConnect', 'switch', 'systemsManager', 'wireless']
assert kwargs['productType'] in options, f'''"productType" cannot be "{kwargs['productType']}", & must be set to one of: {options}'''

metadata = {
Expand Down Expand Up @@ -852,7 +852,7 @@ def createNetworkFirmwareUpgradesRollback(self, networkId: str, reasons: list, *
kwargs.update(locals())

if 'product' in kwargs:
options = ['appliance', 'camera', 'cellularGateway', 'switch', 'switchCatalyst', 'wireless']
options = ['appliance', 'camera', 'cellularGateway', 'secureConnect', 'switch', 'switchCatalyst', 'wireless']
assert kwargs['product'] in options, f'''"product" cannot be "{kwargs['product']}", & must be set to one of: {options}'''

metadata = {
Expand Down
Loading

0 comments on commit 6272e98

Please sign in to comment.