From 6567c79448a65b774dedf4de4b421ca4e1f83e88 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 17 Jun 2026 15:13:07 +0000 Subject: [PATCH] Auto-generated library v3.2.0b2 for API v1.71.0-beta.2. --- docs/generation-report.md | 6 +++ meraki/__init__.py | 2 +- meraki/_version.py | 2 +- meraki/aio/api/appliance.py | 2 +- meraki/aio/api/wireless.py | 56 ++++++++++++++++++++++ meraki/api/appliance.py | 2 +- meraki/api/batch/organizations.py | 79 +++++++++++++++++++++++++++++++ meraki/api/batch/wireless.py | 4 ++ meraki/api/wireless.py | 56 ++++++++++++++++++++++ pyproject.toml | 2 +- uv.lock | 2 +- 11 files changed, 207 insertions(+), 6 deletions(-) diff --git a/docs/generation-report.md b/docs/generation-report.md index 27290d0..1c4bcb1 100644 --- a/docs/generation-report.md +++ b/docs/generation-report.md @@ -1,5 +1,11 @@ # Generation Report +## 2026-06-17 | Library v3.2.0b2 | API 1.71.0-beta.2 + + +No Python keyword parameter conflicts detected. + + ## 2026-06-10 | Library v3.2.0b1 | API 1.71.0-beta.1 diff --git a/meraki/__init__.py b/meraki/__init__.py index a3484af..ef645ec 100644 --- a/meraki/__init__.py +++ b/meraki/__init__.py @@ -52,7 +52,7 @@ from meraki._version import __version__ # noqa: F401 from datetime import datetime -__api_version__ = "1.71.0-beta.1" +__api_version__ = "1.71.0-beta.2" __all__ = [ "APIError", diff --git a/meraki/_version.py b/meraki/_version.py index 724a186..5360bbc 100644 --- a/meraki/_version.py +++ b/meraki/_version.py @@ -1 +1 @@ -__version__ = "3.2.0b1" +__version__ = "3.2.0b2" diff --git a/meraki/aio/api/appliance.py b/meraki/aio/api/appliance.py index 6212717..a7099f2 100644 --- a/meraki/aio/api/appliance.py +++ b/meraki/aio/api/appliance.py @@ -131,7 +131,7 @@ def updateDeviceApplianceInterfacesPort(self, serial: str, number: str, **kwargs def getDeviceAppliancePerformance(self, serial: str, **kwargs): """ - **Return the performance score for a single MX** + **Return the performance score for a single Secure Appliance or Secure Router** https://developer.cisco.com/meraki/api-v1/#!get-device-appliance-performance - serial (string): Serial diff --git a/meraki/aio/api/wireless.py b/meraki/aio/api/wireless.py index 2f79637..1e10213 100644 --- a/meraki/aio/api/wireless.py +++ b/meraki/aio/api/wireless.py @@ -2344,6 +2344,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -2378,6 +2379,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -2409,6 +2411,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -2446,6 +2449,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -5472,6 +5476,49 @@ def getOrganizationAssuranceWirelessExperienceMostImpactedNetworks(self, organiz return self._session.get(metadata, resource, params) + def getOrganizationAssuranceWirelessExperienceMostImpactedXMs(self, organizationId: str, **kwargs): + """ + **Returns the most impacted wireless experience metrics and the top failure contributor for each metric/network pair.** + https://developer.cisco.com/meraki/api-v1/#!get-organization-assurance-wireless-experience-most-impacted-x-ms + + - organizationId (string): Organization ID + - t0 (string): The beginning of the timespan for the data. The maximum lookback period is 14 days from today. + - t1 (string): The end of the timespan for the data. t1 can be a maximum of 14 days after t0. + - timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 15 minutes and be less than or equal to 14 days. The default is 2 hours. + - limit (integer): Number of most impacted XMs to return. Default is 5. Maximum is 10. + """ + + kwargs.update(locals()) + + if "limit" in kwargs: + options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + assert kwargs["limit"] in options, f'''"limit" cannot be "{kwargs["limit"]}", & must be set to one of: {options}''' + + metadata = { + "tags": ["wireless", "configure", "experience", "mostImpactedXMs"], + "operation": "getOrganizationAssuranceWirelessExperienceMostImpactedXMs", + } + organizationId = urllib.parse.quote(str(organizationId), safe="") + resource = f"/organizations/{organizationId}/assurance/wireless/experience/mostImpactedXMs" + + query_params = [ + "t0", + "t1", + "timespan", + "limit", + ] + 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"getOrganizationAssuranceWirelessExperienceMostImpactedXMs: ignoring unrecognized kwargs: {invalid}" + ) + + return self._session.get(metadata, resource, params) + def getOrganizationAssuranceWirelessExperienceSuccessfulConnectsByNetwork( self, organizationId: str, total_pages=1, direction="next", **kwargs ): @@ -6762,6 +6809,8 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( - ssidNumbers (array): Filter results by SSID number. - bands (array): Filter results by band. - contributor (string): Contributor for which to retrieve insights. If not specified, returns overall insights. + - subContributor (string): Sub-contributor for which to retrieve insights. If not specified, returns all sub contributor insights. + - insights (string): Insights version to use. - t0 (string): The beginning of the timespan for the data. The maximum lookback period is 14 days from today. - t1 (string): The end of the timespan for the data. t1 can be a maximum of 14 days after t0. - timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 15 minutes and be less than or equal to 14 days. The default is 2 hours. @@ -6777,6 +6826,11 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( assert kwargs["contributor"] in options, ( f'''"contributor" cannot be "{kwargs["contributor"]}", & must be set to one of: {options}''' ) + if "insights" in kwargs: + options = ["1", "2"] + assert kwargs["insights"] in options, ( + f'''"insights" cannot be "{kwargs["insights"]}", & must be set to one of: {options}''' + ) metadata = { "tags": ["wireless", "configure", "experience", "timeToConnect", "insights", "byNetwork"], @@ -6791,6 +6845,8 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( "ssidNumbers", "bands", "contributor", + "subContributor", + "insights", "t0", "t1", "timespan", diff --git a/meraki/api/appliance.py b/meraki/api/appliance.py index 15bca41..2886703 100644 --- a/meraki/api/appliance.py +++ b/meraki/api/appliance.py @@ -131,7 +131,7 @@ def updateDeviceApplianceInterfacesPort(self, serial: str, number: str, **kwargs def getDeviceAppliancePerformance(self, serial: str, **kwargs): """ - **Return the performance score for a single MX** + **Return the performance score for a single Secure Appliance or Secure Router** https://developer.cisco.com/meraki/api-v1/#!get-device-appliance-performance - serial (string): Serial diff --git a/meraki/api/batch/organizations.py b/meraki/api/batch/organizations.py index a59b6c3..23f140a 100644 --- a/meraki/api/batch/organizations.py +++ b/meraki/api/batch/organizations.py @@ -5,6 +5,37 @@ class ActionBatchOrganizations(object): def __init__(self): super(ActionBatchOrganizations, self).__init__() + def updateOrganization(self, organizationId: str, **kwargs): + """ + **Update an organization** + https://developer.cisco.com/meraki/api-v1/#!update-organization + + - organizationId (string): Organization ID + - name (string): The name of the organization + - management (object): Information about the organization's management system + - api (object): API-specific settings + - privacy (object): Privacy-related settings for the organization. + """ + + kwargs.update(locals()) + + organizationId = urllib.parse.quote(organizationId, safe="") + resource = f"/organizations/{organizationId}" + + body_params = [ + "name", + "management", + "api", + "privacy", + ] + payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + action = { + "resource": resource, + "operation": "update", + "body": payload, + } + return action + def createOrganizationAdaptivePolicyAcl(self, organizationId: str, name: str, rules: list, ipVersion: str, **kwargs): """ **Creates new adaptive policy ACL** @@ -2999,6 +3030,54 @@ def updateOrganizationSaseSite(self, organizationId: str, siteId: str, **kwargs) } return action + def updateOrganizationSnmp(self, organizationId: str, **kwargs): + """ + **Update the SNMP settings for an organization** + https://developer.cisco.com/meraki/api-v1/#!update-organization-snmp + + - organizationId (string): Organization ID + - v2cEnabled (boolean): Boolean indicating whether SNMP version 2c is enabled for the organization. + - v3Enabled (boolean): Boolean indicating whether SNMP version 3 is enabled for the organization. + - v3AuthMode (string): The SNMP version 3 authentication mode. Can be either 'MD5' or 'SHA'. + - v3AuthPass (string): The SNMP version 3 authentication password. Must be at least 8 characters if specified. + - v3PrivMode (string): The SNMP version 3 privacy mode. Can be either 'DES' or 'AES128'. + - v3PrivPass (string): The SNMP version 3 privacy password. Must be at least 8 characters if specified. + - peerIps (array): The list of IPv4 addresses that are allowed to access the SNMP server. + """ + + kwargs.update(locals()) + + if "v3AuthMode" in kwargs: + options = ["MD5", "SHA"] + assert kwargs["v3AuthMode"] in options, ( + f'''"v3AuthMode" cannot be "{kwargs["v3AuthMode"]}", & must be set to one of: {options}''' + ) + if "v3PrivMode" in kwargs: + options = ["AES128", "DES"] + assert kwargs["v3PrivMode"] in options, ( + f'''"v3PrivMode" cannot be "{kwargs["v3PrivMode"]}", & must be set to one of: {options}''' + ) + + organizationId = urllib.parse.quote(organizationId, safe="") + resource = f"/organizations/{organizationId}/snmp" + + body_params = [ + "v2cEnabled", + "v3Enabled", + "v3AuthMode", + "v3AuthPass", + "v3PrivMode", + "v3PrivPass", + "peerIps", + ] + payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + action = { + "resource": resource, + "operation": "update", + "body": payload, + } + return action + def deleteOrganizationSplashAsset(self, organizationId: str, id: str): """ **Delete a Splash Theme Asset** diff --git a/meraki/api/batch/wireless.py b/meraki/api/batch/wireless.py index cfd2acc..df63b44 100644 --- a/meraki/api/batch/wireless.py +++ b/meraki/api/batch/wireless.py @@ -672,6 +672,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -702,6 +703,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} action = { @@ -731,6 +733,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -764,6 +767,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} action = { diff --git a/meraki/api/wireless.py b/meraki/api/wireless.py index fba8a5d..79d1bdd 100644 --- a/meraki/api/wireless.py +++ b/meraki/api/wireless.py @@ -2344,6 +2344,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -2378,6 +2379,7 @@ def createNetworkWirelessRfProfile(self, networkId: str, name: str, bandSelectio "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -2409,6 +2411,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa - transmission (object): Settings related to radio transmission. - perSsidSettings (object): Per-SSID radio settings by number. - flexRadios (object): Flex radio settings. + - dot11be (object): 802.11be settings """ kwargs.update(locals()) @@ -2446,6 +2449,7 @@ def updateNetworkWirelessRfProfile(self, networkId: str, rfProfileId: str, **kwa "transmission", "perSsidSettings", "flexRadios", + "dot11be", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -5472,6 +5476,49 @@ def getOrganizationAssuranceWirelessExperienceMostImpactedNetworks(self, organiz return self._session.get(metadata, resource, params) + def getOrganizationAssuranceWirelessExperienceMostImpactedXMs(self, organizationId: str, **kwargs): + """ + **Returns the most impacted wireless experience metrics and the top failure contributor for each metric/network pair.** + https://developer.cisco.com/meraki/api-v1/#!get-organization-assurance-wireless-experience-most-impacted-x-ms + + - organizationId (string): Organization ID + - t0 (string): The beginning of the timespan for the data. The maximum lookback period is 14 days from today. + - t1 (string): The end of the timespan for the data. t1 can be a maximum of 14 days after t0. + - timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 15 minutes and be less than or equal to 14 days. The default is 2 hours. + - limit (integer): Number of most impacted XMs to return. Default is 5. Maximum is 10. + """ + + kwargs.update(locals()) + + if "limit" in kwargs: + options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + assert kwargs["limit"] in options, f'''"limit" cannot be "{kwargs["limit"]}", & must be set to one of: {options}''' + + metadata = { + "tags": ["wireless", "configure", "experience", "mostImpactedXMs"], + "operation": "getOrganizationAssuranceWirelessExperienceMostImpactedXMs", + } + organizationId = urllib.parse.quote(str(organizationId), safe="") + resource = f"/organizations/{organizationId}/assurance/wireless/experience/mostImpactedXMs" + + query_params = [ + "t0", + "t1", + "timespan", + "limit", + ] + 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"getOrganizationAssuranceWirelessExperienceMostImpactedXMs: ignoring unrecognized kwargs: {invalid}" + ) + + return self._session.get(metadata, resource, params) + def getOrganizationAssuranceWirelessExperienceSuccessfulConnectsByNetwork( self, organizationId: str, total_pages=1, direction="next", **kwargs ): @@ -6762,6 +6809,8 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( - ssidNumbers (array): Filter results by SSID number. - bands (array): Filter results by band. - contributor (string): Contributor for which to retrieve insights. If not specified, returns overall insights. + - subContributor (string): Sub-contributor for which to retrieve insights. If not specified, returns all sub contributor insights. + - insights (string): Insights version to use. - t0 (string): The beginning of the timespan for the data. The maximum lookback period is 14 days from today. - t1 (string): The end of the timespan for the data. t1 can be a maximum of 14 days after t0. - timespan (number): The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 15 minutes and be less than or equal to 14 days. The default is 2 hours. @@ -6777,6 +6826,11 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( assert kwargs["contributor"] in options, ( f'''"contributor" cannot be "{kwargs["contributor"]}", & must be set to one of: {options}''' ) + if "insights" in kwargs: + options = ["1", "2"] + assert kwargs["insights"] in options, ( + f'''"insights" cannot be "{kwargs["insights"]}", & must be set to one of: {options}''' + ) metadata = { "tags": ["wireless", "configure", "experience", "timeToConnect", "insights", "byNetwork"], @@ -6791,6 +6845,8 @@ def getOrganizationAssuranceWirelessExperienceTimeToConnectInsightsByNetwork( "ssidNumbers", "bands", "contributor", + "subContributor", + "insights", "t0", "t1", "timespan", diff --git a/pyproject.toml b/pyproject.toml index 8229647..208afb5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "meraki" -version = "3.2.0b1" +version = "3.2.0b2" description = "Cisco Meraki Dashboard API library" authors = [ {name = "Cisco Meraki", email = "api-feedback@meraki.net"} diff --git a/uv.lock b/uv.lock index 334b0f0..5b9f66c 100644 --- a/uv.lock +++ b/uv.lock @@ -549,7 +549,7 @@ wheels = [ [[package]] name = "meraki" -version = "3.2.0b1" +version = "3.2.0b2" source = { editable = "." } dependencies = [ { name = "aiohttp" },