Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/generation-report.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Generation Report

## 2026-07-08 | Library v4.3.0b1 | API 1.72.0-beta.1


No Python keyword parameter conflicts detected.


## 2026-07-01 | Library v4.3.0b0 | API 1.72.0-beta.0


Expand Down
2 changes: 1 addition & 1 deletion meraki/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,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",
Expand Down
2 changes: 1 addition & 1 deletion meraki/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "4.3.0b0"
__version__ = "4.3.0b1"
4 changes: 4 additions & 0 deletions meraki/aio/api/devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
"""

Expand All @@ -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}
Expand Down Expand Up @@ -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
"""

Expand All @@ -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}
Expand Down
50 changes: 46 additions & 4 deletions meraki/aio/api/organizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""
Expand Down Expand Up @@ -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.
"""
Expand Down Expand Up @@ -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.
Expand All @@ -9951,6 +9952,7 @@ def getOrganizationPoliciesGlobalFirewallRulesets(self, organizationId: str, tot
query_params = [
"rulesetIds",
"name",
"excludedPolicyIds",
"perPage",
"startingAfter",
"endingBefore",
Expand All @@ -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:
Expand Down Expand Up @@ -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.
Expand All @@ -10497,6 +10501,7 @@ def getOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignments(
"rulesetIds",
"policyIds",
"assignmentIds",
"staged",
"perPage",
"startingAfter",
"endingBefore",
Expand Down Expand Up @@ -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())
Expand All @@ -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}

Expand All @@ -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
):
Expand Down Expand Up @@ -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
Expand All @@ -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"],
Expand Down
33 changes: 31 additions & 2 deletions meraki/api/batch/organizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand All @@ -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 = {
Expand All @@ -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(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}
action = {
"resource": resource,
"operation": "commit",
"body": payload,
}
return action

def updateOrganizationPoliciesGlobalGroupPoliciesFirewallRulesetsAssignment(
self, organizationId: str, assignmentId: str, **kwargs
):
Expand Down Expand Up @@ -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
Expand All @@ -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(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/sase/sites/attach"
Expand Down
4 changes: 4 additions & 0 deletions meraki/api/devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
"""

Expand All @@ -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}
Expand Down Expand Up @@ -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
"""

Expand All @@ -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}
Expand Down
Loading
Loading