From 050eeb74d9248ea1b6edf52bc2d6b463d999c114 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 8 Jul 2026 14:53:51 +0000 Subject: [PATCH] Auto-generated library v3.3.0b1 for API v1.72.0-beta.1. --- docs/generation-report.md | 6 ++++ meraki/__init__.py | 2 +- meraki/_version.py | 2 +- meraki/aio/api/devices.py | 4 +++ meraki/aio/api/organizations.py | 50 ++++++++++++++++++++++++++++--- meraki/api/batch/organizations.py | 33 ++++++++++++++++++-- meraki/api/devices.py | 4 +++ meraki/api/organizations.py | 50 ++++++++++++++++++++++++++++--- pyproject.toml | 2 +- uv.lock | 2 +- 10 files changed, 141 insertions(+), 14 deletions(-) diff --git a/docs/generation-report.md b/docs/generation-report.md index 6f79003..7ddfb0c 100644 --- a/docs/generation-report.md +++ b/docs/generation-report.md @@ -1,5 +1,11 @@ # Generation Report +## 2026-07-08 | Library v3.3.0b1 | API 1.72.0-beta.1 + + +No Python keyword parameter conflicts detected. + + ## 2026-07-01 | Library v3.3.0b0 | API 1.72.0-beta.0 diff --git a/meraki/__init__.py b/meraki/__init__.py index 638c5be..fc6ca71 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.72.0-beta.0" +__api_version__ = "1.72.0-beta.1" __all__ = [ "APIError", diff --git a/meraki/_version.py b/meraki/_version.py index 17196fd..df5a0b7 100644 --- a/meraki/_version.py +++ b/meraki/_version.py @@ -1 +1 @@ -__version__ = "3.3.0b0" +__version__ = "3.3.0b1" diff --git a/meraki/aio/api/devices.py b/meraki/aio/api/devices.py index b89a815..3e24199 100644 --- a/meraki/aio/api/devices.py +++ b/meraki/aio/api/devices.py @@ -594,6 +594,7 @@ def createDeviceLiveToolsMacTable(self, serial: str, **kwargs): https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-mac-table - serial (string): Serial + - mac (string): Optional parameter to filter MAC table entries by MAC address. Must be a colon-delimited six-octet MAC address, for example '00:11:22:a0:b1:c2'. Matching is case-insensitive. - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret """ @@ -607,6 +608,7 @@ def createDeviceLiveToolsMacTable(self, serial: str, **kwargs): resource = f"/devices/{serial}/liveTools/macTable" body_params = [ + "mac", "callback", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -1054,6 +1056,7 @@ def createDeviceLiveToolsRoutingTable(self, serial: str, **kwargs): https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-routing-table - serial (string): Serial + - destination (object): Optional destination filter used to return routes containing the supplied destination. - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret """ @@ -1067,6 +1070,7 @@ def createDeviceLiveToolsRoutingTable(self, serial: str, **kwargs): resource = f"/devices/{serial}/liveTools/routingTable" body_params = [ + "destination", "callback", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} diff --git a/meraki/aio/api/organizations.py b/meraki/aio/api/organizations.py index 037fd5a..178a9e7 100644 --- a/meraki/aio/api/organizations.py +++ b/meraki/aio/api/organizations.py @@ -7616,7 +7616,7 @@ def getOrganizationDevicesTopologyL2Links(self, organizationId: str, total_pages - organizationId (string): Organization ID - 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 - - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 500. Default is 500. + - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000. - 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. """ @@ -7655,7 +7655,7 @@ def getOrganizationDevicesTopologyNodesDiscovered(self, organizationId: str, tot - organizationId (string): Organization ID - 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 - - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 500. Default is 500. + - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000. - 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. """ @@ -9934,6 +9934,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot - direction (string): direction to paginate, either "next" (default) or "prev" page - rulesetIds (array): Filter rulesets by IDs - name (string): Filter rulesets by name (partial match, case-insensitive). If multiple instances are provided, only the last one is used. + - excludedPolicyIds (array): Filter out rulesets that are associated with the specified policy IDs - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 100. Default is 100. - 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. @@ -9951,6 +9952,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot query_params = [ "rulesetIds", "name", + "excludedPolicyIds", "perPage", "startingAfter", "endingBefore", @@ -9959,6 +9961,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot array_params = [ "rulesetIds", + "excludedPolicyIds", ] for k, v in kwargs.items(): if k.strip() in array_params: @@ -10479,6 +10482,7 @@ def getOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( - rulesetIds (array): Filter assignments by ruleset IDs - policyIds (array): Filter assignments by policy IDs - assignmentIds (array): Filter assignments by assignment IDs + - staged (boolean): Filter assignments by whether or not they are staged - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 100. Default is 100. - 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. @@ -10497,6 +10501,7 @@ def getOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( "rulesetIds", "policyIds", "assignmentIds", + "staged", "perPage", "startingAfter", "endingBefore", @@ -10534,6 +10539,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( - rulesetId (string): ID of the ruleset to assign - policyId (string): ID of the policy to assign the ruleset to - priority (integer): Priority of the ruleset assignment (lower numbers = higher priority) + - staged (boolean): Stage an assignment without applying it immediately to the policy """ kwargs.update(locals()) @@ -10549,6 +10555,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( "rulesetId", "policyId", "priority", + "staged", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -10562,6 +10569,41 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( return self._session.post(metadata, resource, payload) + def commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( + self, organizationId: str, policy: dict, **kwargs + ): + """ + **Commit staged Organization-Wide Policy Ruleset Assignments** + https://developer.cisco.com/meraki/api-v1/#!commit-organization-policies-global-group-policies-firewall-rulesets-assignments + + - organizationId (string): Organization ID + - policy (object): Policy in which all staged rulesets will be committed + """ + + kwargs = locals() + + metadata = { + "tags": ["organizations", "configure", "policies", "global", "group", "firewall", "rulesets", "assignments"], + "operation": "commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments", + } + organizationId = urllib.parse.quote(str(organizationId), safe="") + resource = f"/organizations/{organizationId}/policies/global/group/policies/firewall/rulesets/assignments/commit" + + body_params = [ + "policy", + ] + 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"commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments: ignoring unrecognized kwargs: {invalid}" + ) + + return self._session.post(metadata, resource, payload) + def updateOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( self, organizationId: str, assignmentId: str, **kwargs ): @@ -11705,7 +11747,7 @@ def getOrganizationSaseSites(self, organizationId: str, total_pages=1, direction return self._session.get_pages(metadata, resource, params, total_pages, direction) - def attachOrganizationSaseSites(self, organizationId: str, **kwargs): + def attachOrganizationSaseSites(self, organizationId: str, items: list, **kwargs): """ **Attach sites in this organization to Secure Access** https://developer.cisco.com/meraki/api-v1/#!attach-organization-sase-sites @@ -11714,7 +11756,7 @@ def attachOrganizationSaseSites(self, organizationId: str, **kwargs): - items (array): List of Meraki SD-WAN sites with the associated regions to be attached. """ - kwargs.update(locals()) + kwargs = locals() metadata = { "tags": ["organizations", "configure", "sase", "sites"], diff --git a/meraki/api/batch/organizations.py b/meraki/api/batch/organizations.py index e3ec14e..425b112 100644 --- a/meraki/api/batch/organizations.py +++ b/meraki/api/batch/organizations.py @@ -2471,6 +2471,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( - rulesetId (string): ID of the ruleset to assign - policyId (string): ID of the policy to assign the ruleset to - priority (integer): Priority of the ruleset assignment (lower numbers = higher priority) + - staged (boolean): Stage an assignment without applying it immediately to the policy """ kwargs.update(locals()) @@ -2482,6 +2483,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( "rulesetId", "policyId", "priority", + "staged", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} action = { @@ -2491,6 +2493,33 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( } return action + def commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( + self, organizationId: str, policy: dict, **kwargs + ): + """ + **Commit staged Organization-Wide Policy Ruleset Assignments** + https://developer.cisco.com/meraki/api-v1/#!commit-organization-policies-global-group-policies-firewall-rulesets-assignments + + - organizationId (string): Organization ID + - policy (object): Policy in which all staged rulesets will be committed + """ + + kwargs = locals() + + organizationId = urllib.parse.quote(organizationId, safe="") + resource = f"/organizations/{organizationId}/policies/global/group/policies/firewall/rulesets/assignments/commit" + + body_params = [ + "policy", + ] + payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} + action = { + "resource": resource, + "operation": "commit", + "body": payload, + } + return action + def updateOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( self, organizationId: str, assignmentId: str, **kwargs ): @@ -3006,7 +3035,7 @@ def deleteOrganizationSaseIntegration(self, organizationId: str, integrationId: } return action - def attachOrganizationSaseSites(self, organizationId: str, **kwargs): + def attachOrganizationSaseSites(self, organizationId: str, items: list, **kwargs): """ **Attach sites in this organization to Secure Access. For an organization, a maximum of 2500 sites can be attached if they are in spoke mode or a maximum of 10 sites can be attached in hub mode.** https://developer.cisco.com/meraki/api-v1/#!attach-organization-sase-sites @@ -3015,7 +3044,7 @@ def attachOrganizationSaseSites(self, organizationId: str, **kwargs): - items (array): List of Meraki SD-WAN sites with the associated regions to be attached. """ - kwargs.update(locals()) + kwargs = locals() organizationId = urllib.parse.quote(organizationId, safe="") resource = f"/organizations/{organizationId}/sase/sites/attach" diff --git a/meraki/api/devices.py b/meraki/api/devices.py index 5a6e075..8a43605 100644 --- a/meraki/api/devices.py +++ b/meraki/api/devices.py @@ -594,6 +594,7 @@ def createDeviceLiveToolsMacTable(self, serial: str, **kwargs): https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-mac-table - serial (string): Serial + - mac (string): Optional parameter to filter MAC table entries by MAC address. Must be a colon-delimited six-octet MAC address, for example '00:11:22:a0:b1:c2'. Matching is case-insensitive. - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret """ @@ -607,6 +608,7 @@ def createDeviceLiveToolsMacTable(self, serial: str, **kwargs): resource = f"/devices/{serial}/liveTools/macTable" body_params = [ + "mac", "callback", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -1054,6 +1056,7 @@ def createDeviceLiveToolsRoutingTable(self, serial: str, **kwargs): https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-routing-table - serial (string): Serial + - destination (object): Optional destination filter used to return routes containing the supplied destination. - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret """ @@ -1067,6 +1070,7 @@ def createDeviceLiveToolsRoutingTable(self, serial: str, **kwargs): resource = f"/devices/{serial}/liveTools/routingTable" body_params = [ + "destination", "callback", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} diff --git a/meraki/api/organizations.py b/meraki/api/organizations.py index f1cfa53..3122924 100644 --- a/meraki/api/organizations.py +++ b/meraki/api/organizations.py @@ -7616,7 +7616,7 @@ def getOrganizationDevicesTopologyL2Links(self, organizationId: str, total_pages - organizationId (string): Organization ID - 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 - - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 500. Default is 500. + - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000. - 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. """ @@ -7655,7 +7655,7 @@ def getOrganizationDevicesTopologyNodesDiscovered(self, organizationId: str, tot - organizationId (string): Organization ID - 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 - - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 500. Default is 500. + - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000. - 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. """ @@ -9934,6 +9934,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot - direction (string): direction to paginate, either "next" (default) or "prev" page - rulesetIds (array): Filter rulesets by IDs - name (string): Filter rulesets by name (partial match, case-insensitive). If multiple instances are provided, only the last one is used. + - excludedPolicyIds (array): Filter out rulesets that are associated with the specified policy IDs - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 100. Default is 100. - 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. @@ -9951,6 +9952,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot query_params = [ "rulesetIds", "name", + "excludedPolicyIds", "perPage", "startingAfter", "endingBefore", @@ -9959,6 +9961,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot array_params = [ "rulesetIds", + "excludedPolicyIds", ] for k, v in kwargs.items(): if k.strip() in array_params: @@ -10479,6 +10482,7 @@ def getOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( - rulesetIds (array): Filter assignments by ruleset IDs - policyIds (array): Filter assignments by policy IDs - assignmentIds (array): Filter assignments by assignment IDs + - staged (boolean): Filter assignments by whether or not they are staged - perPage (integer): The number of entries per page returned. Acceptable range is 3 - 100. Default is 100. - 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. @@ -10497,6 +10501,7 @@ def getOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( "rulesetIds", "policyIds", "assignmentIds", + "staged", "perPage", "startingAfter", "endingBefore", @@ -10534,6 +10539,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( - rulesetId (string): ID of the ruleset to assign - policyId (string): ID of the policy to assign the ruleset to - priority (integer): Priority of the ruleset assignment (lower numbers = higher priority) + - staged (boolean): Stage an assignment without applying it immediately to the policy """ kwargs.update(locals()) @@ -10549,6 +10555,7 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( "rulesetId", "policyId", "priority", + "staged", ] payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params} @@ -10562,6 +10569,41 @@ def createOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( return self._session.post(metadata, resource, payload) + def commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments( + self, organizationId: str, policy: dict, **kwargs + ): + """ + **Commit staged Organization-Wide Policy Ruleset Assignments** + https://developer.cisco.com/meraki/api-v1/#!commit-organization-policies-global-group-policies-firewall-rulesets-assignments + + - organizationId (string): Organization ID + - policy (object): Policy in which all staged rulesets will be committed + """ + + kwargs = locals() + + metadata = { + "tags": ["organizations", "configure", "policies", "global", "group", "firewall", "rulesets", "assignments"], + "operation": "commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments", + } + organizationId = urllib.parse.quote(str(organizationId), safe="") + resource = f"/organizations/{organizationId}/policies/global/group/policies/firewall/rulesets/assignments/commit" + + body_params = [ + "policy", + ] + 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"commitOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments: ignoring unrecognized kwargs: {invalid}" + ) + + return self._session.post(metadata, resource, payload) + def updateOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment( self, organizationId: str, assignmentId: str, **kwargs ): @@ -11705,7 +11747,7 @@ def getOrganizationSaseSites(self, organizationId: str, total_pages=1, direction return self._session.get_pages(metadata, resource, params, total_pages, direction) - def attachOrganizationSaseSites(self, organizationId: str, **kwargs): + def attachOrganizationSaseSites(self, organizationId: str, items: list, **kwargs): """ **Attach sites in this organization to Secure Access** https://developer.cisco.com/meraki/api-v1/#!attach-organization-sase-sites @@ -11714,7 +11756,7 @@ def attachOrganizationSaseSites(self, organizationId: str, **kwargs): - items (array): List of Meraki SD-WAN sites with the associated regions to be attached. """ - kwargs.update(locals()) + kwargs = locals() metadata = { "tags": ["organizations", "configure", "sase", "sites"], diff --git a/pyproject.toml b/pyproject.toml index 86edde7..368e010 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "meraki" -version = "3.3.0b0" +version = "3.3.0b1" description = "Cisco Meraki Dashboard API library" authors = [ {name = "Cisco Meraki", email = "api-feedback@meraki.net"} diff --git a/uv.lock b/uv.lock index 9f95c9e..31ef1b7 100644 --- a/uv.lock +++ b/uv.lock @@ -549,7 +549,7 @@ wheels = [ [[package]] name = "meraki" -version = "3.3.0b0" +version = "3.3.0b1" source = { editable = "." } dependencies = [ { name = "aiohttp" },