From 66f42a4ae4460dd8a6298b5a28d4fc669dbdf198 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 30 Apr 2026 12:54:17 +0000 Subject: [PATCH] Auto-generated library v3.0.1 for API v1.69.0. --- meraki/_version.py | 2 +- meraki/aio/api/appliance.py | 654 +++++++++++++++- meraki/aio/api/camera.py | 163 +++- meraki/aio/api/campusGateway.py | 26 + meraki/aio/api/cellularGateway.py | 124 ++- meraki/aio/api/devices.py | 98 +++ meraki/aio/api/insight.py | 24 + meraki/aio/api/licensing.py | 76 +- meraki/aio/api/networks.py | 430 ++++++++++- meraki/aio/api/organizations.py | 1068 +++++++++++++++++++++++++- meraki/aio/api/sensor.py | 68 +- meraki/aio/api/sm.py | 186 ++++- meraki/aio/api/switch.py | 398 +++++++++- meraki/aio/api/wireless.py | 732 +++++++++++++++++- meraki/aio/api/wirelessController.py | 120 +++ meraki/api/appliance.py | 654 +++++++++++++++- meraki/api/batch/appliance.py | 38 +- meraki/api/batch/camera.py | 2 +- meraki/api/batch/cellularGateway.py | 4 +- meraki/api/batch/networks.py | 10 +- meraki/api/batch/organizations.py | 35 +- meraki/api/batch/sensor.py | 4 +- meraki/api/batch/sm.py | 2 +- meraki/api/batch/switch.py | 12 +- meraki/api/batch/wireless.py | 12 +- meraki/api/camera.py | 163 +++- meraki/api/campusGateway.py | 26 + meraki/api/cellularGateway.py | 124 ++- meraki/api/devices.py | 98 +++ meraki/api/insight.py | 24 + meraki/api/licensing.py | 76 +- meraki/api/networks.py | 430 ++++++++++- meraki/api/organizations.py | 1068 +++++++++++++++++++++++++- meraki/api/sensor.py | 68 +- meraki/api/sm.py | 186 ++++- meraki/api/switch.py | 398 +++++++++- meraki/api/wireless.py | 732 +++++++++++++++++- meraki/api/wirelessController.py | 120 +++ meraki/py.typed | 0 pyproject.toml | 2 +- uv.lock | 2 +- 41 files changed, 8240 insertions(+), 219 deletions(-) delete mode 100644 meraki/py.typed diff --git a/meraki/_version.py b/meraki/_version.py index 528787cf..05527687 100644 --- a/meraki/_version.py +++ b/meraki/_version.py @@ -1 +1 @@ -__version__ = "3.0.0" +__version__ = "3.0.1" diff --git a/meraki/aio/api/appliance.py b/meraki/aio/api/appliance.py index 6e887b6f..af94a02c 100644 --- a/meraki/aio/api/appliance.py +++ b/meraki/aio/api/appliance.py @@ -50,6 +50,12 @@ def getDeviceAppliancePerformance(self, serial: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceAppliancePerformance: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceAppliancePrefixesDelegated(self, serial: str): @@ -130,6 +136,12 @@ def updateDeviceApplianceRadioSettings(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceApplianceRadioSettings: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getDeviceApplianceUplinksSettings(self, serial: str): @@ -149,7 +161,7 @@ def getDeviceApplianceUplinksSettings(self, serial: str): return self._session.get(metadata, resource) - def updateDeviceApplianceUplinksSettings(self, serial: str, interfaces: dict): + def updateDeviceApplianceUplinksSettings(self, serial: str, interfaces: dict, **kwargs): """ **Update the uplink settings for a secure router or security appliance** https://developer.cisco.com/meraki/api-v1/#!update-device-appliance-uplinks-settings @@ -172,6 +184,12 @@ def updateDeviceApplianceUplinksSettings(self, serial: str, interfaces: dict): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceApplianceUplinksSettings: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def createDeviceApplianceVmxAuthenticationToken(self, serial: str): @@ -238,6 +256,14 @@ def getNetworkApplianceClientSecurityEvents( ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getNetworkApplianceClientSecurityEvents: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getNetworkApplianceConnectivityMonitoringDestinations(self, networkId: str): @@ -280,6 +306,14 @@ def updateNetworkApplianceConnectivityMonitoringDestinations(self, networkId: st ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceConnectivityMonitoringDestinations: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceContentFiltering(self, networkId: str): @@ -334,6 +368,14 @@ def updateNetworkApplianceContentFiltering(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceContentFiltering: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceContentFilteringCategories(self, networkId: str): @@ -386,6 +428,14 @@ def updateNetworkApplianceDevicesRedundancy(self, networkId: str, enabled: bool, ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceDevicesRedundancy: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def createNetworkApplianceDevicesRedundancySwap(self, networkId: str): @@ -445,6 +495,14 @@ def updateNetworkApplianceFirewallCellularFirewallRules(self, networkId: str, ** ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallCellularFirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallFirewalledServices(self, networkId: str): @@ -516,6 +574,14 @@ def updateNetworkApplianceFirewallFirewalledService(self, networkId: str, servic ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallFirewalledService: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallInboundCellularFirewallRules(self, networkId: str): @@ -558,6 +624,14 @@ def updateNetworkApplianceFirewallInboundCellularFirewallRules(self, networkId: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallInboundCellularFirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallInboundFirewallRules(self, networkId: str): @@ -602,6 +676,14 @@ def updateNetworkApplianceFirewallInboundFirewallRules(self, networkId: str, **k ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallInboundFirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallL3FirewallRules(self, networkId: str): @@ -646,6 +728,14 @@ def updateNetworkApplianceFirewallL3FirewallRules(self, networkId: str, **kwargs ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallL3FirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallL7FirewallRules(self, networkId: str): @@ -688,6 +778,14 @@ def updateNetworkApplianceFirewallL7FirewallRules(self, networkId: str, **kwargs ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallL7FirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallL7FirewallRulesApplicationCategories(self, networkId: str): @@ -707,7 +805,7 @@ def getNetworkApplianceFirewallL7FirewallRulesApplicationCategories(self, networ return self._session.get(metadata, resource) - def updateNetworkApplianceFirewallMulticastForwarding(self, networkId: str, rules: list): + def updateNetworkApplianceFirewallMulticastForwarding(self, networkId: str, rules: list, **kwargs): """ **Update static multicast forward rules for a network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-firewall-multicast-forwarding @@ -730,6 +828,14 @@ def updateNetworkApplianceFirewallMulticastForwarding(self, networkId: str, rule ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallMulticastForwarding: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallOneToManyNatRules(self, networkId: str): @@ -749,7 +855,7 @@ def getNetworkApplianceFirewallOneToManyNatRules(self, networkId: str): return self._session.get(metadata, resource) - def updateNetworkApplianceFirewallOneToManyNatRules(self, networkId: str, rules: list): + def updateNetworkApplianceFirewallOneToManyNatRules(self, networkId: str, rules: list, **kwargs): """ **Set the 1:Many NAT mapping rules for an MX network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-firewall-one-to-many-nat-rules @@ -772,6 +878,14 @@ def updateNetworkApplianceFirewallOneToManyNatRules(self, networkId: str, rules: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallOneToManyNatRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallOneToOneNatRules(self, networkId: str): @@ -791,7 +905,7 @@ def getNetworkApplianceFirewallOneToOneNatRules(self, networkId: str): return self._session.get(metadata, resource) - def updateNetworkApplianceFirewallOneToOneNatRules(self, networkId: str, rules: list): + def updateNetworkApplianceFirewallOneToOneNatRules(self, networkId: str, rules: list, **kwargs): """ **Set the 1:1 NAT mapping rules for an MX network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-firewall-one-to-one-nat-rules @@ -814,6 +928,14 @@ def updateNetworkApplianceFirewallOneToOneNatRules(self, networkId: str, rules: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallOneToOneNatRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallPortForwardingRules(self, networkId: str): @@ -833,7 +955,7 @@ def getNetworkApplianceFirewallPortForwardingRules(self, networkId: str): return self._session.get(metadata, resource) - def updateNetworkApplianceFirewallPortForwardingRules(self, networkId: str, rules: list): + def updateNetworkApplianceFirewallPortForwardingRules(self, networkId: str, rules: list, **kwargs): """ **Update the port forwarding rules for an MX network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-firewall-port-forwarding-rules @@ -856,6 +978,14 @@ def updateNetworkApplianceFirewallPortForwardingRules(self, networkId: str, rule ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallPortForwardingRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceFirewallSettings(self, networkId: str): @@ -898,6 +1028,14 @@ def updateNetworkApplianceFirewallSettings(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceFirewallSettings: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkAppliancePorts(self, networkId: str): @@ -971,6 +1109,12 @@ def updateNetworkAppliancePort(self, networkId: str, portId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkAppliancePort: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkAppliancePrefixesDelegatedStatics(self, networkId: str): @@ -1017,6 +1161,14 @@ def createNetworkAppliancePrefixesDelegatedStatic(self, networkId: str, prefix: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createNetworkAppliancePrefixesDelegatedStatic: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getNetworkAppliancePrefixesDelegatedStatic(self, networkId: str, staticDelegatedPrefixId: str): @@ -1067,6 +1219,14 @@ def updateNetworkAppliancePrefixesDelegatedStatic(self, networkId: str, staticDe ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkAppliancePrefixesDelegatedStatic: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteNetworkAppliancePrefixesDelegatedStatic(self, networkId: str, staticDelegatedPrefixId: str): @@ -1134,6 +1294,12 @@ def createNetworkApplianceRfProfile(self, networkId: str, name: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createNetworkApplianceRfProfile: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def updateNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str, **kwargs): @@ -1167,6 +1333,12 @@ def updateNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str, **kw ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceRfProfile: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def deleteNetworkApplianceRfProfile(self, networkId: str, rfProfileId: str): @@ -1230,6 +1402,14 @@ def updateNetworkApplianceSdwanInternetPolicies(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceSdwanInternetPolicies: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceSecurityEvents(self, networkId: str, total_pages=1, direction="next", **kwargs): @@ -1275,6 +1455,12 @@ def getNetworkApplianceSecurityEvents(self, networkId: str, total_pages=1, direc ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getNetworkApplianceSecurityEvents: ignoring unrecognized kwargs: {invalid}") + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getNetworkApplianceSecurityIntrusion(self, networkId: str): @@ -1330,6 +1516,14 @@ def updateNetworkApplianceSecurityIntrusion(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceSecurityIntrusion: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceSecurityMalware(self, networkId: str): @@ -1380,6 +1574,14 @@ def updateNetworkApplianceSecurityMalware(self, networkId: str, mode: str, **kwa ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceSecurityMalware: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceSettings(self, networkId: str): @@ -1437,6 +1639,12 @@ def updateNetworkApplianceSettings(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceSettings: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceSingleLan(self, networkId: str): @@ -1485,6 +1693,12 @@ def updateNetworkApplianceSingleLan(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceSingleLan: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceSsids(self, networkId: str): @@ -1584,6 +1798,12 @@ def updateNetworkApplianceSsid(self, networkId: str, number: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceSsid: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceStaticRoutes(self, networkId: str): @@ -1632,6 +1852,12 @@ def createNetworkApplianceStaticRoute(self, networkId: str, name: str, subnet: s ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createNetworkApplianceStaticRoute: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getNetworkApplianceStaticRoute(self, networkId: str, staticRouteId: str): @@ -1690,6 +1916,12 @@ def updateNetworkApplianceStaticRoute(self, networkId: str, staticRouteId: str, ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceStaticRoute: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def deleteNetworkApplianceStaticRoute(self, networkId: str, staticRouteId: str): @@ -1728,7 +1960,7 @@ def getNetworkApplianceTrafficShaping(self, networkId: str): return self._session.get(metadata, resource) - def updateNetworkApplianceTrafficShaping(self, networkId: str, globalBandwidthLimits: dict): + def updateNetworkApplianceTrafficShaping(self, networkId: str, globalBandwidthLimits: dict, **kwargs): """ **Update the traffic shaping settings for an MX network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-traffic-shaping @@ -1751,6 +1983,12 @@ def updateNetworkApplianceTrafficShaping(self, networkId: str, globalBandwidthLi ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceTrafficShaping: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceTrafficShapingCustomPerformanceClasses(self, networkId: str): @@ -1799,6 +2037,14 @@ def createNetworkApplianceTrafficShapingCustomPerformanceClass(self, networkId: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createNetworkApplianceTrafficShapingCustomPerformanceClass: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getNetworkApplianceTrafficShapingCustomPerformanceClass(self, networkId: str, customPerformanceClassId: str): @@ -1853,6 +2099,14 @@ def updateNetworkApplianceTrafficShapingCustomPerformanceClass( ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceTrafficShapingCustomPerformanceClass: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteNetworkApplianceTrafficShapingCustomPerformanceClass(self, networkId: str, customPerformanceClassId: str): @@ -1902,6 +2156,14 @@ def updateNetworkApplianceTrafficShapingRules(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceTrafficShapingRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceTrafficShapingRules(self, networkId: str): @@ -1961,6 +2223,14 @@ def updateNetworkApplianceTrafficShapingUplinkBandwidth(self, networkId: str, ** ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceTrafficShapingUplinkBandwidth: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceTrafficShapingUplinkSelection(self, networkId: str): @@ -2013,6 +2283,14 @@ def updateNetworkApplianceTrafficShapingUplinkSelection(self, networkId: str, ** ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceTrafficShapingUplinkSelection: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def updateNetworkApplianceTrafficShapingVpnExclusions(self, networkId: str, **kwargs): @@ -2040,9 +2318,17 @@ def updateNetworkApplianceTrafficShapingVpnExclusions(self, networkId: str, **kw ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceTrafficShapingVpnExclusions: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) - def connectNetworkApplianceUmbrellaAccount(self, networkId: str, api: dict): + def connectNetworkApplianceUmbrellaAccount(self, networkId: str, api: dict, **kwargs): """ **Connect a Cisco Umbrella account to this network** https://developer.cisco.com/meraki/api-v1/#!connect-network-appliance-umbrella-account @@ -2065,6 +2351,14 @@ def connectNetworkApplianceUmbrellaAccount(self, networkId: str, api: dict): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"connectNetworkApplianceUmbrellaAccount: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def disconnectNetworkApplianceUmbrellaAccount(self, networkId: str): @@ -2084,7 +2378,7 @@ def disconnectNetworkApplianceUmbrellaAccount(self, networkId: str): return self._session.post(metadata, resource) - def updateNetworkApplianceUplinksNat(self, networkId: str, uplinks: list): + def updateNetworkApplianceUplinksNat(self, networkId: str, uplinks: list, **kwargs): """ **Update uplink NAT settings of the specified network** https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-uplinks-nat @@ -2107,6 +2401,12 @@ def updateNetworkApplianceUplinksNat(self, networkId: str, uplinks: list): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceUplinksNat: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceUplinksUsageHistory(self, networkId: str, **kwargs): @@ -2138,6 +2438,14 @@ def getNetworkApplianceUplinksUsageHistory(self, networkId: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getNetworkApplianceUplinksUsageHistory: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getNetworkApplianceVlans(self, networkId: str): @@ -2230,6 +2538,12 @@ def createNetworkApplianceVlan(self, networkId: str, id: str, name: str, **kwarg ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createNetworkApplianceVlan: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getNetworkApplianceVlansSettings(self, networkId: str): @@ -2272,6 +2586,12 @@ def updateNetworkApplianceVlansSettings(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceVlansSettings: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceVlan(self, networkId: str, vlanId: str): @@ -2374,6 +2694,12 @@ def updateNetworkApplianceVlan(self, networkId: str, vlanId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceVlan: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def deleteNetworkApplianceVlan(self, networkId: str, vlanId: str): @@ -2443,6 +2769,12 @@ def updateNetworkApplianceVpnBgp(self, networkId: str, enabled: bool, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceVpnBgp: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkApplianceVpnSiteToSiteVpn(self, networkId: str): @@ -2497,6 +2829,14 @@ def updateNetworkApplianceVpnSiteToSiteVpn(self, networkId: str, mode: str, **kw ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkApplianceVpnSiteToSiteVpn: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkApplianceWarmSpare(self, networkId: str): @@ -2547,6 +2887,12 @@ def updateNetworkApplianceWarmSpare(self, networkId: str, enabled: bool, **kwarg ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkApplianceWarmSpare: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def swapNetworkApplianceWarmSpare(self, networkId: str): @@ -2597,6 +2943,14 @@ def getOrganizationApplianceDevicesRedundancyByNetwork( ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDevicesRedundancyByNetwork: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceDnsLocalProfiles(self, organizationId: str, **kwargs): @@ -2630,9 +2984,17 @@ def getOrganizationApplianceDnsLocalProfiles(self, organizationId: str, **kwargs params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDnsLocalProfiles: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def createOrganizationApplianceDnsLocalProfile(self, organizationId: str, name: str): + def createOrganizationApplianceDnsLocalProfile(self, organizationId: str, name: str, **kwargs): """ **Create a new local DNS profile** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-local-profile @@ -2655,6 +3017,14 @@ def createOrganizationApplianceDnsLocalProfile(self, organizationId: str, name: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsLocalProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationApplianceDnsLocalProfilesAssignments(self, organizationId: str, **kwargs): @@ -2691,9 +3061,17 @@ def getOrganizationApplianceDnsLocalProfilesAssignments(self, organizationId: st params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDnsLocalProfilesAssignments: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def bulkOrganizationApplianceDnsLocalProfilesAssignmentsCreate(self, organizationId: str, items: list): + def bulkOrganizationApplianceDnsLocalProfilesAssignmentsCreate(self, organizationId: str, items: list, **kwargs): """ **Assign the local DNS profile to networks in the organization** https://developer.cisco.com/meraki/api-v1/#!bulk-organization-appliance-dns-local-profiles-assignments-create @@ -2716,9 +3094,17 @@ def bulkOrganizationApplianceDnsLocalProfilesAssignmentsCreate(self, organizatio ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"bulkOrganizationApplianceDnsLocalProfilesAssignmentsCreate: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) - def createOrganizationApplianceDnsLocalProfilesAssignmentsBulkDelete(self, organizationId: str, items: list): + def createOrganizationApplianceDnsLocalProfilesAssignmentsBulkDelete(self, organizationId: str, items: list, **kwargs): """ **Unassign the local DNS profile to networks in the organization** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-local-profiles-assignments-bulk-delete @@ -2741,9 +3127,17 @@ def createOrganizationApplianceDnsLocalProfilesAssignmentsBulkDelete(self, organ ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsLocalProfilesAssignmentsBulkDelete: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) - def updateOrganizationApplianceDnsLocalProfile(self, organizationId: str, profileId: str, name: str): + def updateOrganizationApplianceDnsLocalProfile(self, organizationId: str, profileId: str, name: str, **kwargs): """ **Update a local DNS profile** https://developer.cisco.com/meraki/api-v1/#!update-organization-appliance-dns-local-profile @@ -2768,6 +3162,14 @@ def updateOrganizationApplianceDnsLocalProfile(self, organizationId: str, profil ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceDnsLocalProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteOrganizationApplianceDnsLocalProfile(self, organizationId: str, profileId: str): @@ -2820,9 +3222,19 @@ def getOrganizationApplianceDnsLocalRecords(self, organizationId: str, **kwargs) params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDnsLocalRecords: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def createOrganizationApplianceDnsLocalRecord(self, organizationId: str, hostname: str, address: str, profile: dict): + def createOrganizationApplianceDnsLocalRecord( + self, organizationId: str, hostname: str, address: str, profile: dict, **kwargs + ): """ **Create a new local DNS record** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-local-record @@ -2849,6 +3261,14 @@ def createOrganizationApplianceDnsLocalRecord(self, organizationId: str, hostnam ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsLocalRecord: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def updateOrganizationApplianceDnsLocalRecord(self, organizationId: str, recordId: str, **kwargs): @@ -2880,6 +3300,14 @@ def updateOrganizationApplianceDnsLocalRecord(self, organizationId: str, recordI ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceDnsLocalRecord: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteOrganizationApplianceDnsLocalRecord(self, organizationId: str, recordId: str): @@ -2932,9 +3360,19 @@ def getOrganizationApplianceDnsSplitProfiles(self, organizationId: str, **kwargs params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDnsSplitProfiles: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def createOrganizationApplianceDnsSplitProfile(self, organizationId: str, name: str, hostnames: list, nameservers: dict): + def createOrganizationApplianceDnsSplitProfile( + self, organizationId: str, name: str, hostnames: list, nameservers: dict, **kwargs + ): """ **Create a new split DNS profile** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-split-profile @@ -2961,6 +3399,14 @@ def createOrganizationApplianceDnsSplitProfile(self, organizationId: str, name: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsSplitProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationApplianceDnsSplitProfilesAssignments(self, organizationId: str, **kwargs): @@ -2997,9 +3443,17 @@ def getOrganizationApplianceDnsSplitProfilesAssignments(self, organizationId: st params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceDnsSplitProfilesAssignments: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkCreate(self, organizationId: str, items: list): + def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkCreate(self, organizationId: str, items: list, **kwargs): """ **Assign the split DNS profile to networks in the organization** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-split-profiles-assignments-bulk-create @@ -3022,9 +3476,17 @@ def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkCreate(self, organ ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsSplitProfilesAssignmentsBulkCreate: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) - def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkDelete(self, organizationId: str, items: list): + def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkDelete(self, organizationId: str, items: list, **kwargs): """ **Unassign the split DNS profile to networks in the organization** https://developer.cisco.com/meraki/api-v1/#!create-organization-appliance-dns-split-profiles-assignments-bulk-delete @@ -3047,6 +3509,14 @@ def createOrganizationApplianceDnsSplitProfilesAssignmentsBulkDelete(self, organ ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationApplianceDnsSplitProfilesAssignmentsBulkDelete: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def updateOrganizationApplianceDnsSplitProfile(self, organizationId: str, profileId: str, **kwargs): @@ -3078,6 +3548,14 @@ def updateOrganizationApplianceDnsSplitProfile(self, organizationId: str, profil ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceDnsSplitProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteOrganizationApplianceDnsSplitProfile(self, organizationId: str, profileId: str): @@ -3140,6 +3618,14 @@ def getOrganizationApplianceFirewallMulticastForwardingByNetwork( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceFirewallMulticastForwardingByNetwork: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceSecurityEvents(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -3185,6 +3671,14 @@ def getOrganizationApplianceSecurityEvents(self, organizationId: str, total_page ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceSecurityEvents: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceSecurityIntrusion(self, organizationId: str): @@ -3204,7 +3698,7 @@ def getOrganizationApplianceSecurityIntrusion(self, organizationId: str): return self._session.get(metadata, resource) - def updateOrganizationApplianceSecurityIntrusion(self, organizationId: str, allowedRules: list): + def updateOrganizationApplianceSecurityIntrusion(self, organizationId: str, allowedRules: list, **kwargs): """ **Sets supported intrusion settings for an organization** https://developer.cisco.com/meraki/api-v1/#!update-organization-appliance-security-intrusion @@ -3227,6 +3721,14 @@ def updateOrganizationApplianceSecurityIntrusion(self, organizationId: str, allo ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceSecurityIntrusion: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getOrganizationApplianceTrafficShapingVpnExclusionsByNetwork( @@ -3270,6 +3772,14 @@ def getOrganizationApplianceTrafficShapingVpnExclusionsByNetwork( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceTrafficShapingVpnExclusionsByNetwork: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceUplinkStatuses(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -3317,6 +3827,14 @@ def getOrganizationApplianceUplinkStatuses(self, organizationId: str, total_page params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceUplinkStatuses: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceUplinksNatByNetwork(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -3361,6 +3879,14 @@ def getOrganizationApplianceUplinksNatByNetwork(self, organizationId: str, total params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceUplinksNatByNetwork: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceUplinksStatusesOverview(self, organizationId: str, **kwargs): @@ -3394,6 +3920,14 @@ def getOrganizationApplianceUplinksStatusesOverview(self, organizationId: str, * params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceUplinksStatusesOverview: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getOrganizationApplianceUplinksUsageByNetwork(self, organizationId: str, **kwargs): @@ -3423,6 +3957,14 @@ def getOrganizationApplianceUplinksUsageByNetwork(self, organizationId: str, **k ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationApplianceUplinksUsageByNetwork: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getOrganizationApplianceVpnSiteToSiteIpsecPeersSlas(self, organizationId: str): @@ -3465,6 +4007,14 @@ def updateOrganizationApplianceVpnSiteToSiteIpsecPeersSlas(self, organizationId: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceVpnSiteToSiteIpsecPeersSlas: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getOrganizationApplianceVpnStats(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -3512,6 +4062,12 @@ def getOrganizationApplianceVpnStats(self, organizationId: str, total_pages=1, d params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getOrganizationApplianceVpnStats: ignoring unrecognized kwargs: {invalid}") + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceVpnStatuses(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -3553,6 +4109,12 @@ def getOrganizationApplianceVpnStatuses(self, organizationId: str, total_pages=1 params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getOrganizationApplianceVpnStatuses: ignoring unrecognized kwargs: {invalid}") + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationApplianceVpnThirdPartyVPNPeers(self, organizationId: str): @@ -3572,7 +4134,7 @@ def getOrganizationApplianceVpnThirdPartyVPNPeers(self, organizationId: str): return self._session.get(metadata, resource) - def updateOrganizationApplianceVpnThirdPartyVPNPeers(self, organizationId: str, peers: list): + def updateOrganizationApplianceVpnThirdPartyVPNPeers(self, organizationId: str, peers: list, **kwargs): """ **Update the third party VPN peers for an organization** https://developer.cisco.com/meraki/api-v1/#!update-organization-appliance-vpn-third-party-v-p-n-peers @@ -3595,6 +4157,14 @@ def updateOrganizationApplianceVpnThirdPartyVPNPeers(self, organizationId: str, ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceVpnThirdPartyVPNPeers: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getOrganizationApplianceVpnVpnFirewallRules(self, organizationId: str): @@ -3639,9 +4209,19 @@ def updateOrganizationApplianceVpnVpnFirewallRules(self, organizationId: str, ** ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationApplianceVpnVpnFirewallRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) - def assignOrganizationPoliciesGlobalGroupPoliciesApplianceVlans(self, organizationId: str, policy: dict, vlans: list): + def assignOrganizationPoliciesGlobalGroupPoliciesApplianceVlans( + self, organizationId: str, policy: dict, vlans: list, **kwargs + ): """ **Assign VLANs to a policy** https://developer.cisco.com/meraki/api-v1/#!assign-organization-policies-global-group-policies-appliance-vlans @@ -3666,6 +4246,14 @@ def assignOrganizationPoliciesGlobalGroupPoliciesApplianceVlans(self, organizati ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"assignOrganizationPoliciesGlobalGroupPoliciesApplianceVlans: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignments( @@ -3715,6 +4303,14 @@ def getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignments( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignments: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignmentsByVlan( @@ -3763,9 +4359,19 @@ def getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignmentsByVlan( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationPoliciesGlobalGroupPoliciesApplianceVlansAssignmentsByVlan: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) - def removeOrganizationPoliciesGlobalGroupPoliciesApplianceVlans(self, organizationId: str, policy: dict, vlans: list): + def removeOrganizationPoliciesGlobalGroupPoliciesApplianceVlans( + self, organizationId: str, policy: dict, vlans: list, **kwargs + ): """ **Remove VLANs from a policy** https://developer.cisco.com/meraki/api-v1/#!remove-organization-policies-global-group-policies-appliance-vlans @@ -3790,4 +4396,12 @@ def removeOrganizationPoliciesGlobalGroupPoliciesApplianceVlans(self, organizati ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"removeOrganizationPoliciesGlobalGroupPoliciesApplianceVlans: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) diff --git a/meraki/aio/api/camera.py b/meraki/aio/api/camera.py index 72ded3f3..14e3184f 100644 --- a/meraki/aio/api/camera.py +++ b/meraki/aio/api/camera.py @@ -58,6 +58,12 @@ def getDeviceCameraAnalyticsOverview(self, serial: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceCameraAnalyticsOverview: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceCameraAnalyticsRecent(self, serial: str, **kwargs): @@ -89,6 +95,12 @@ def getDeviceCameraAnalyticsRecent(self, serial: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceCameraAnalyticsRecent: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceCameraAnalyticsZones(self, serial: str): @@ -147,6 +159,12 @@ def getDeviceCameraAnalyticsZoneHistory(self, serial: str, zoneId: str, **kwargs ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceCameraAnalyticsZoneHistory: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def clipDeviceCamera(self, serial: str, startTimestamp: str, endTimestamp: str, **kwargs): @@ -176,6 +194,12 @@ def clipDeviceCamera(self, serial: str, startTimestamp: str, endTimestamp: str, ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"clipDeviceCamera: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceCameraCustomAnalytics(self, serial: str): @@ -222,6 +246,12 @@ def updateDeviceCameraCustomAnalytics(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCameraCustomAnalytics: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def generateDeviceCameraSnapshot(self, serial: str, **kwargs): @@ -249,6 +279,12 @@ def generateDeviceCameraSnapshot(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"generateDeviceCameraSnapshot: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceCameraQualityAndRetention(self, serial: str): @@ -319,6 +355,14 @@ def updateDeviceCameraQualityAndRetention(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateDeviceCameraQualityAndRetention: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getDeviceCameraSense(self, serial: str): @@ -367,6 +411,12 @@ def updateDeviceCameraSense(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCameraSense: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getDeviceCameraSenseObjectDetectionModels(self, serial: str): @@ -426,6 +476,12 @@ def updateDeviceCameraVideoSettings(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCameraVideoSettings: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getDeviceCameraVideoLink(self, serial: str, **kwargs): @@ -451,6 +507,12 @@ def getDeviceCameraVideoLink(self, serial: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceCameraVideoLink: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceCameraWirelessProfiles(self, serial: str): @@ -470,7 +532,7 @@ def getDeviceCameraWirelessProfiles(self, serial: str): return self._session.get(metadata, resource) - def updateDeviceCameraWirelessProfiles(self, serial: str, ids: dict): + def updateDeviceCameraWirelessProfiles(self, serial: str, ids: dict, **kwargs): """ **Assign wireless profiles to the given camera** https://developer.cisco.com/meraki/api-v1/#!update-device-camera-wireless-profiles @@ -493,6 +555,12 @@ def updateDeviceCameraWirelessProfiles(self, serial: str, ids: dict): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCameraWirelessProfiles: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkCameraQualityRetentionProfiles(self, networkId: str): @@ -553,6 +621,14 @@ def createNetworkCameraQualityRetentionProfile(self, networkId: str, name: str, ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createNetworkCameraQualityRetentionProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRetentionProfileId: str): @@ -617,6 +693,14 @@ def updateNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRete ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkCameraQualityRetentionProfile: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteNetworkCameraQualityRetentionProfile(self, networkId: str, qualityRetentionProfileId: str): @@ -682,6 +766,12 @@ def createNetworkCameraWirelessProfile(self, networkId: str, name: str, ssid: di ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createNetworkCameraWirelessProfile: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getNetworkCameraWirelessProfiles(self, networkId: str): @@ -749,6 +839,12 @@ def updateNetworkCameraWirelessProfile(self, networkId: str, wirelessProfileId: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkCameraWirelessProfile: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def deleteNetworkCameraWirelessProfile(self, networkId: str, wirelessProfileId: str): @@ -801,6 +897,14 @@ def getOrganizationCameraBoundariesAreasByDevice(self, organizationId: str, **kw params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCameraBoundariesAreasByDevice: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getOrganizationCameraBoundariesLinesByDevice(self, organizationId: str, **kwargs): @@ -834,6 +938,14 @@ def getOrganizationCameraBoundariesLinesByDevice(self, organizationId: str, **kw params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCameraBoundariesLinesByDevice: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getOrganizationCameraCustomAnalyticsArtifacts(self, organizationId: str): @@ -876,6 +988,14 @@ def createOrganizationCameraCustomAnalyticsArtifact(self, organizationId: str, * ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationCameraCustomAnalyticsArtifact: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationCameraCustomAnalyticsArtifact(self, organizationId: str, artifactId: str): @@ -917,7 +1037,7 @@ def deleteOrganizationCameraCustomAnalyticsArtifact(self, organizationId: str, a return self._session.delete(metadata, resource) def getOrganizationCameraDetectionsHistoryByBoundaryByInterval( - self, organizationId: str, boundaryIds: list, total_pages=1, direction="next", **kwargs + self, organizationId: str, boundaryIds: list, ranges: list, total_pages=1, direction="next", **kwargs ): """ **Returns analytics data for timespans** @@ -925,6 +1045,7 @@ def getOrganizationCameraDetectionsHistoryByBoundaryByInterval( - organizationId (string): Organization ID - boundaryIds (array): A list of boundary ids. The returned cameras will be filtered to only include these ids. + - ranges (array): A list of time ranges with intervals - 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" (default) or "prev" page - duration (integer): The minimum time, in seconds, that the person or car remains in the area to be counted. Defaults to boundary configuration or 60. @@ -943,6 +1064,7 @@ def getOrganizationCameraDetectionsHistoryByBoundaryByInterval( query_params = [ "boundaryIds", + "ranges", "duration", "perPage", "boundaryTypes", @@ -951,6 +1073,7 @@ def getOrganizationCameraDetectionsHistoryByBoundaryByInterval( array_params = [ "boundaryIds", + "ranges", "boundaryTypes", ] for k, v in kwargs.items(): @@ -958,6 +1081,14 @@ def getOrganizationCameraDetectionsHistoryByBoundaryByInterval( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCameraDetectionsHistoryByBoundaryByInterval: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationCameraOnboardingStatuses(self, organizationId: str, **kwargs): @@ -994,6 +1125,14 @@ def getOrganizationCameraOnboardingStatuses(self, organizationId: str, **kwargs) params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCameraOnboardingStatuses: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def updateOrganizationCameraOnboardingStatuses(self, organizationId: str, **kwargs): @@ -1021,6 +1160,14 @@ def updateOrganizationCameraOnboardingStatuses(self, organizationId: str, **kwar ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationCameraOnboardingStatuses: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getOrganizationCameraPermissions(self, organizationId: str): @@ -1105,6 +1252,12 @@ def createOrganizationCameraRole(self, organizationId: str, name: str, **kwargs) ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createOrganizationCameraRole: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getOrganizationCameraRole(self, organizationId: str, roleId: str): @@ -1176,4 +1329,10 @@ def updateOrganizationCameraRole(self, organizationId: str, roleId: str, **kwarg ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateOrganizationCameraRole: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) diff --git a/meraki/aio/api/campusGateway.py b/meraki/aio/api/campusGateway.py index e0b3d283..ed7cee55 100644 --- a/meraki/aio/api/campusGateway.py +++ b/meraki/aio/api/campusGateway.py @@ -43,6 +43,12 @@ def createNetworkCampusGatewayCluster( ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createNetworkCampusGatewayCluster: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def updateNetworkCampusGatewayCluster(self, networkId: str, clusterId: str, **kwargs): @@ -82,6 +88,12 @@ def updateNetworkCampusGatewayCluster(self, networkId: str, clusterId: str, **kw ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkCampusGatewayCluster: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getOrganizationCampusGatewayClusters(self, organizationId: str, total_pages=1, direction="next", **kwargs): @@ -123,6 +135,12 @@ def getOrganizationCampusGatewayClusters(self, organizationId: str, total_pages= params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getOrganizationCampusGatewayClusters: ignoring unrecognized kwargs: {invalid}") + return self._session.get_pages(metadata, resource, params, total_pages, direction) def getOrganizationCampusGatewayDevicesUplinksLocalOverridesByDevice( @@ -166,4 +184,12 @@ def getOrganizationCampusGatewayDevicesUplinksLocalOverridesByDevice( params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCampusGatewayDevicesUplinksLocalOverridesByDevice: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) diff --git a/meraki/aio/api/cellularGateway.py b/meraki/aio/api/cellularGateway.py index b426dee7..8dd32f04 100644 --- a/meraki/aio/api/cellularGateway.py +++ b/meraki/aio/api/cellularGateway.py @@ -48,6 +48,12 @@ def updateDeviceCellularGatewayLan(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCellularGatewayLan: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getDeviceCellularGatewayPortForwardingRules(self, serial: str): @@ -90,6 +96,14 @@ def updateDeviceCellularGatewayPortForwardingRules(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateDeviceCellularGatewayPortForwardingRules: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkCellularGatewayConnectivityMonitoringDestinations(self, networkId: str): @@ -132,6 +146,14 @@ def updateNetworkCellularGatewayConnectivityMonitoringDestinations(self, network ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkCellularGatewayConnectivityMonitoringDestinations: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkCellularGatewayDhcp(self, networkId: str): @@ -178,6 +200,12 @@ def updateNetworkCellularGatewayDhcp(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkCellularGatewayDhcp: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getNetworkCellularGatewaySubnetPool(self, networkId: str): @@ -222,6 +250,14 @@ def updateNetworkCellularGatewaySubnetPool(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateNetworkCellularGatewaySubnetPool: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getNetworkCellularGatewayUplink(self, networkId: str): @@ -264,6 +300,12 @@ def updateNetworkCellularGatewayUplink(self, networkId: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateNetworkCellularGatewayUplink: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getOrganizationCellularGatewayEsimsInventory(self, organizationId: str, **kwargs): @@ -297,6 +339,14 @@ def getOrganizationCellularGatewayEsimsInventory(self, organizationId: str, **kw params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCellularGatewayEsimsInventory: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def updateOrganizationCellularGatewayEsimsInventory(self, organizationId: str, id: str, **kwargs): @@ -324,6 +374,14 @@ def updateOrganizationCellularGatewayEsimsInventory(self, organizationId: str, i ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationCellularGatewayEsimsInventory: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def getOrganizationCellularGatewayEsimsServiceProviders(self, organizationId: str): @@ -374,10 +432,18 @@ def getOrganizationCellularGatewayEsimsServiceProvidersAccounts(self, organizati params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCellularGatewayEsimsServiceProvidersAccounts: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def createOrganizationCellularGatewayEsimsServiceProvidersAccount( - self, organizationId: str, accountId: str, apiKey: str, serviceProvider: dict, title: str, username: str + self, organizationId: str, accountId: str, apiKey: str, serviceProvider: dict, title: str, username: str, **kwargs ): """ **Add a service provider account.** @@ -409,10 +475,18 @@ def createOrganizationCellularGatewayEsimsServiceProvidersAccount( ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationCellularGatewayEsimsServiceProvidersAccount: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationCellularGatewayEsimsServiceProvidersAccountsCommunicationPlans( - self, organizationId: str, accountIds: list + self, organizationId: str, accountIds: list, **kwargs ): """ **The communication plans available for a given provider.** @@ -444,9 +518,19 @@ def getOrganizationCellularGatewayEsimsServiceProvidersAccountsCommunicationPlan params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCellularGatewayEsimsServiceProvidersAccountsCommunicationPlans: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) - def getOrganizationCellularGatewayEsimsServiceProvidersAccountsRatePlans(self, organizationId: str, accountIds: list): + def getOrganizationCellularGatewayEsimsServiceProvidersAccountsRatePlans( + self, organizationId: str, accountIds: list, **kwargs + ): """ **The rate plans available for a given provider.** https://developer.cisco.com/meraki/api-v1/#!get-organization-cellular-gateway-esims-service-providers-accounts-rate-plans @@ -477,6 +561,14 @@ def getOrganizationCellularGatewayEsimsServiceProvidersAccountsRatePlans(self, o params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCellularGatewayEsimsServiceProvidersAccountsRatePlans: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def updateOrganizationCellularGatewayEsimsServiceProvidersAccount(self, organizationId: str, accountId: str, **kwargs): @@ -506,6 +598,14 @@ def updateOrganizationCellularGatewayEsimsServiceProvidersAccount(self, organiza ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationCellularGatewayEsimsServiceProvidersAccount: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteOrganizationCellularGatewayEsimsServiceProvidersAccount(self, organizationId: str, accountId: str): @@ -527,7 +627,7 @@ def deleteOrganizationCellularGatewayEsimsServiceProvidersAccount(self, organiza return self._session.delete(metadata, resource) - def createOrganizationCellularGatewayEsimsSwap(self, organizationId: str, swaps: list): + def createOrganizationCellularGatewayEsimsSwap(self, organizationId: str, swaps: list, **kwargs): """ **Swap which profile an eSIM uses.** https://developer.cisco.com/meraki/api-v1/#!create-organization-cellular-gateway-esims-swap @@ -550,6 +650,14 @@ def createOrganizationCellularGatewayEsimsSwap(self, organizationId: str, swaps: ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationCellularGatewayEsimsSwap: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def updateOrganizationCellularGatewayEsimsSwap(self, id: str, organizationId: str): @@ -616,4 +724,12 @@ def getOrganizationCellularGatewayUplinkStatuses(self, organizationId: str, tota params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getOrganizationCellularGatewayUplinkStatuses: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get_pages(metadata, resource, params, total_pages, direction) diff --git a/meraki/aio/api/devices.py b/meraki/aio/api/devices.py index 3a31aef1..956709e3 100644 --- a/meraki/aio/api/devices.py +++ b/meraki/aio/api/devices.py @@ -62,6 +62,12 @@ def updateDevice(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDevice: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def blinkDeviceLeds(self, serial: str, **kwargs): @@ -91,6 +97,12 @@ def blinkDeviceLeds(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"blinkDeviceLeds: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceCellularSims(self, serial: str): @@ -137,6 +149,12 @@ def updateDeviceCellularSims(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceCellularSims: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def getDeviceClients(self, serial: str, **kwargs): @@ -164,6 +182,12 @@ def getDeviceClients(self, serial: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceClients: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def createDeviceLiveToolsArpTable(self, serial: str, **kwargs): @@ -189,6 +213,12 @@ def createDeviceLiveToolsArpTable(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsArpTable: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsArpTable(self, serial: str, arpTableId: str): @@ -235,6 +265,12 @@ def createDeviceLiveToolsCableTest(self, serial: str, ports: list, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsCableTest: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsCableTest(self, serial: str, id: str): @@ -281,6 +317,12 @@ def createDeviceLiveToolsLedsBlink(self, serial: str, duration: int, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsLedsBlink: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsLedsBlink(self, serial: str, ledsBlinkId: str): @@ -325,6 +367,12 @@ def createDeviceLiveToolsMacTable(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsMacTable: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsMacTable(self, serial: str, macTableId: str): @@ -369,6 +417,14 @@ def createDeviceLiveToolsMulticastRouting(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createDeviceLiveToolsMulticastRouting: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsMulticastRouting(self, serial: str, multicastRoutingId: str): @@ -417,6 +473,12 @@ def createDeviceLiveToolsPing(self, serial: str, target: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsPing: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsPing(self, serial: str, id: str): @@ -463,6 +525,12 @@ def createDeviceLiveToolsPingDevice(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsPingDevice: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsPingDevice(self, serial: str, id: str): @@ -509,6 +577,12 @@ def createDeviceLiveToolsPortsCycle(self, serial: str, ports: list, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsPortsCycle: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsPortsCycle(self, serial: str, id: str): @@ -553,6 +627,12 @@ def createDeviceLiveToolsThroughputTest(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsThroughputTest: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsThroughputTest(self, serial: str, throughputTestId: str): @@ -601,6 +681,12 @@ def createDeviceLiveToolsWakeOnLan(self, serial: str, vlanId: int, mac: str, **k ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"createDeviceLiveToolsWakeOnLan: ignoring unrecognized kwargs: {invalid}") + return self._session.post(metadata, resource, payload) def getDeviceLiveToolsWakeOnLan(self, serial: str, wakeOnLanId: str): @@ -678,6 +764,12 @@ def getDeviceLossAndLatencyHistory(self, serial: str, ip: str, **kwargs): ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"getDeviceLossAndLatencyHistory: ignoring unrecognized kwargs: {invalid}") + return self._session.get(metadata, resource, params) def getDeviceManagementInterface(self, serial: str): @@ -722,6 +814,12 @@ def updateDeviceManagementInterface(self, serial: str, **kwargs): ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning(f"updateDeviceManagementInterface: ignoring unrecognized kwargs: {invalid}") + return self._session.put(metadata, resource, payload) def rebootDevice(self, serial: str): diff --git a/meraki/aio/api/insight.py b/meraki/aio/api/insight.py index 1c786c04..98345d24 100644 --- a/meraki/aio/api/insight.py +++ b/meraki/aio/api/insight.py @@ -37,6 +37,14 @@ def getNetworkInsightApplicationHealthByTime(self, networkId: str, applicationId ] params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params} + if self._session._validate_kwargs: + all_params = query_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getNetworkInsightApplicationHealthByTime: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getOrganizationInsightApplications(self, organizationId: str): @@ -100,6 +108,14 @@ def createOrganizationInsightMonitoredMediaServer(self, organizationId: str, nam ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"createOrganizationInsightMonitoredMediaServer: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.post(metadata, resource, payload) def getOrganizationInsightMonitoredMediaServer(self, organizationId: str, monitoredMediaServerId: str): @@ -150,6 +166,14 @@ def updateOrganizationInsightMonitoredMediaServer(self, organizationId: str, mon ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + if self._session._validate_kwargs: + all_params = [] + body_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"updateOrganizationInsightMonitoredMediaServer: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.put(metadata, resource, payload) def deleteOrganizationInsightMonitoredMediaServer(self, organizationId: str, monitoredMediaServerId: str): diff --git a/meraki/aio/api/licensing.py b/meraki/aio/api/licensing.py index 3856062b..962e7654 100644 --- a/meraki/aio/api/licensing.py +++ b/meraki/aio/api/licensing.py @@ -35,6 +35,14 @@ def getAdministeredLicensingSubscriptionEntitlements(self, **kwargs): params[f"{k.strip()}[]"] = kwargs[f"{k}"] params.pop(k.strip()) + if self._session._validate_kwargs: + all_params = query_params + array_params + invalid = [k for k in kwargs if k.strip() not in all_params and k != "self"] + if invalid and self._session._logger: + self._session._logger.warning( + f"getAdministeredLicensingSubscriptionEntitlements: ignoring unrecognized kwargs: {invalid}" + ) + return self._session.get(metadata, resource, params) def getAdministeredLicensingSubscriptionSubscriptions( @@ -51,12 +59,12 @@ def getAdministeredLicensingSubscriptionSubscriptions( - 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. - 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. - subscriptionIds (array): List of subscription ids to fetch - - startDate (string): Filter subscriptions by start date, ISO 8601 format. To filter with a range of dates, use 'startDate[