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-10-17 | Library v4.7.0 | API 1.75.1


No Python keyword parameter conflicts detected.


## 2026-10-07 | Library v4.6.0 | API 1.75.0


Expand Down
2 changes: 1 addition & 1 deletion meraki/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
from meraki._version import __version__ # noqa: F401
from datetime import datetime

__api_version__ = "1.75.0"
__api_version__ = "1.75.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.6.0"
__version__ = "4.7.0"
138 changes: 138 additions & 0 deletions meraki/aio/api/appliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -1636,6 +1636,41 @@ def getNetworkApplianceSecurityEvents(self, networkId: str, total_pages=1, direc

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def updateNetworkApplianceSecurityHttpsInspection(self, networkId: str, enabled: bool, **kwargs):
"""
**Update HTTPS inspection configuration for a network.**
https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-security-https-inspection

- networkId (string): Network ID
- enabled (boolean): Whether HTTPS inspection is enabled.
- allowLists (object): Allow lists for HTTPS inspection exclusions.
"""

kwargs.update(locals())

metadata = {
"tags": ["appliance", "configure", "security", "httpsInspection"],
"operation": "updateNetworkApplianceSecurityHttpsInspection",
}
networkId = urllib.parse.quote(str(networkId), safe="")
resource = f"/networks/{networkId}/appliance/security/httpsInspection"

body_params = [
"enabled",
"allowLists",
]
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"updateNetworkApplianceSecurityHttpsInspection: ignoring unrecognized kwargs: {invalid}"
)

return self._session.put(metadata, resource, payload)

def getNetworkApplianceSecurityIntrusion(self, networkId: str):
"""
**Returns all supported intrusion settings for an MX network**
Expand Down Expand Up @@ -4338,6 +4373,109 @@ def getOrganizationApplianceSecurityEvents(self, organizationId: str, total_page

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def getOrganizationApplianceSecurityHttpsInspectionByNetwork(
self, organizationId: str, total_pages=1, direction="next", **kwargs
):
"""
**List HTTPS inspection status and configuration for appliances in the organization.**
https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-security-https-inspection-by-network

- 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 - 1000. 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.
- networkIds (array): A list of network IDs. The returned list will be filtered to only include these networks.
"""

kwargs.update(locals())

metadata = {
"tags": ["appliance", "configure", "security", "httpsInspection", "byNetwork"],
"operation": "getOrganizationApplianceSecurityHttpsInspectionByNetwork",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsInspection/byNetwork"

query_params = [
"perPage",
"startingAfter",
"endingBefore",
"networkIds",
]
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}

array_params = [
"networkIds",
]
for k, v in kwargs.items():
if k.strip() in array_params:
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"getOrganizationApplianceSecurityHttpsInspectionByNetwork: ignoring unrecognized kwargs: {invalid}"
)

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def httpsiOrganizationApplianceSecurity(self, organizationId: str):
"""
**Retrieve the HTTPS Inspection state for all security appliances in an organization.**
https://developer.cisco.com/meraki/api-v1/#!httpsi-organization-appliance-security

- organizationId (string): Organization ID
"""

metadata = {
"tags": ["appliance", "configure", "security"],
"operation": "httpsiOrganizationApplianceSecurity",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsi"

return self._session.get(metadata, resource)

def certificatesOrganizationApplianceSecurityHttpsi(self, organizationId: str, contents: str, serials: list, **kwargs):
"""
**Upload an HTTPS Inspection certificate to MX devices in the same organization**
https://developer.cisco.com/meraki/api-v1/#!certificates-organization-appliance-security-httpsi

- organizationId (string): Organization ID
- contents (string): The private key and certificate used to inspect HTTPS traffic. The certificate must be in .pem format.
- serials (array): Serial numbers of the security appliances that will receive the new HTTPS certificate for HTTPS Inspection
"""

kwargs = locals()

metadata = {
"tags": ["appliance", "configure", "security", "httpsi"],
"operation": "certificatesOrganizationApplianceSecurityHttpsi",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsi/certificates"

body_params = [
"contents",
"serials",
]
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"certificatesOrganizationApplianceSecurityHttpsi: ignoring unrecognized kwargs: {invalid}"
)

return self._session.post(metadata, resource, payload)

def getOrganizationApplianceSecurityIntrusion(self, organizationId: str):
"""
**Returns all supported intrusion settings for an organization**
Expand Down
4 changes: 4 additions & 0 deletions meraki/aio/api/organizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -6477,6 +6477,7 @@ def createOrganizationPoliciesGlobalFirewallRulesetsRule(
- enabled (boolean): Whether the rule is enabled
- priority (integer): Rule priority (lower numbers = higher priority)
- description (string): Description of the firewall rule
- logging (object): Logging settings for the rule
"""

kwargs.update(locals())
Expand All @@ -6501,6 +6502,7 @@ def createOrganizationPoliciesGlobalFirewallRulesetsRule(
"enabled",
"priority",
"description",
"logging",
"sources",
"destinations",
]
Expand Down Expand Up @@ -6602,6 +6604,7 @@ def updateOrganizationPoliciesGlobalFirewallRulesetsRule(self, organizationId: s
- enabled (boolean): Whether the rule is enabled
- priority (integer): Rule priority (lower numbers = higher priority)
- description (string): Description of the firewall rule
- logging (object): Logging settings for the rule
- sources (object): Source traffic criteria. Each source or destination bloc is capped separately per rule at 100 total segment values. The count is segments_values_count: the sum of all values across every segment type in that bloc. Ports use a separate cap of 100.
- destinations (object): Destination traffic criteria. Each source or destination bloc is capped separately per rule at 100 total segment values. The count is segments_values_count: the sum of all values across every segment type in that bloc. Ports use a separate cap of 100.
"""
Expand Down Expand Up @@ -6629,6 +6632,7 @@ def updateOrganizationPoliciesGlobalFirewallRulesetsRule(self, organizationId: s
"enabled",
"priority",
"description",
"logging",
"sources",
"destinations",
]
Expand Down
4 changes: 2 additions & 2 deletions meraki/aio/api/wireless.py
Original file line number Diff line number Diff line change
Expand Up @@ -2355,7 +2355,7 @@ def updateNetworkWirelessSsid(self, networkId: str, number: str, **kwargs):
- radiusProxyEnabled (boolean): If true, Meraki devices will proxy RADIUS messages through the Meraki cloud to the configured RADIUS auth and accounting servers.
- radiusTestingEnabled (boolean): If true, Meraki devices will periodically send Access-Request messages to configured RADIUS servers using identity 'meraki_8021x_test' to ensure that the RADIUS servers are reachable.
- radiusCalledStationId (string): The template of the called station identifier to be used for RADIUS (ex. $NODE_MAC$:$VAP_NUM$).
- radiusAuthenticationNasId (string): The template of the NAS identifier to be used for RADIUS authentication (ex. $NODE_MAC$:$VAP_NUM$).
- radiusAuthenticationNasId (string): The NAS identifier to use for RADIUS authentication. With 802.11r enabled or adaptive, custom text is available only to organizations enabled for this feature; otherwise, use only $NODE_MAC$, $VAP_NUM$, and $VAP_NAME$. When this feature is enabled, the complete rendered NAS identifier must be 1–48 bytes.
- radiusServerTimeout (integer): The amount of time for which a RADIUS client waits for a reply from the RADIUS server (must be between 1-10 seconds).
- radiusServerAttemptsLimit (integer): The maximum number of transmit attempts after which a RADIUS server is failed over (must be between 1-5).
- radiusFallbackEnabled (boolean): Whether or not higher priority RADIUS servers should be retried after 60 seconds.
Expand Down Expand Up @@ -4257,7 +4257,7 @@ def getOrganizationWirelessDevicesChannelUtilizationHistoryByNetworkByInterval(

def getOrganizationWirelessDevicesEthernetStatuses(self, organizationId: str, total_pages=1, direction="next", **kwargs):
"""
**List the most recent Ethernet link speed, duplex, aggregation and power mode and status information for wireless devices.**
**List the most recent Ethernet link speed, duplex, aggregation and power mode and status information for wireless devices**
https://developer.cisco.com/meraki/api-v1/#!get-organization-wireless-devices-ethernet-statuses

- organizationId (string): Organization ID
Expand Down
138 changes: 138 additions & 0 deletions meraki/api/appliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -1636,6 +1636,41 @@ def getNetworkApplianceSecurityEvents(self, networkId: str, total_pages=1, direc

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def updateNetworkApplianceSecurityHttpsInspection(self, networkId: str, enabled: bool, **kwargs):
"""
**Update HTTPS inspection configuration for a network.**
https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-security-https-inspection

- networkId (string): Network ID
- enabled (boolean): Whether HTTPS inspection is enabled.
- allowLists (object): Allow lists for HTTPS inspection exclusions.
"""

kwargs.update(locals())

metadata = {
"tags": ["appliance", "configure", "security", "httpsInspection"],
"operation": "updateNetworkApplianceSecurityHttpsInspection",
}
networkId = urllib.parse.quote(str(networkId), safe="")
resource = f"/networks/{networkId}/appliance/security/httpsInspection"

body_params = [
"enabled",
"allowLists",
]
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"updateNetworkApplianceSecurityHttpsInspection: ignoring unrecognized kwargs: {invalid}"
)

return self._session.put(metadata, resource, payload)

def getNetworkApplianceSecurityIntrusion(self, networkId: str):
"""
**Returns all supported intrusion settings for an MX network**
Expand Down Expand Up @@ -4338,6 +4373,109 @@ def getOrganizationApplianceSecurityEvents(self, organizationId: str, total_page

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def getOrganizationApplianceSecurityHttpsInspectionByNetwork(
self, organizationId: str, total_pages=1, direction="next", **kwargs
):
"""
**List HTTPS inspection status and configuration for appliances in the organization.**
https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-security-https-inspection-by-network

- 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 - 1000. 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.
- networkIds (array): A list of network IDs. The returned list will be filtered to only include these networks.
"""

kwargs.update(locals())

metadata = {
"tags": ["appliance", "configure", "security", "httpsInspection", "byNetwork"],
"operation": "getOrganizationApplianceSecurityHttpsInspectionByNetwork",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsInspection/byNetwork"

query_params = [
"perPage",
"startingAfter",
"endingBefore",
"networkIds",
]
params = {k.strip(): v for k, v in kwargs.items() if k.strip() in query_params}

array_params = [
"networkIds",
]
for k, v in kwargs.items():
if k.strip() in array_params:
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"getOrganizationApplianceSecurityHttpsInspectionByNetwork: ignoring unrecognized kwargs: {invalid}"
)

return self._session.get_pages(metadata, resource, params, total_pages, direction)

def httpsiOrganizationApplianceSecurity(self, organizationId: str):
"""
**Retrieve the HTTPS Inspection state for all security appliances in an organization.**
https://developer.cisco.com/meraki/api-v1/#!httpsi-organization-appliance-security

- organizationId (string): Organization ID
"""

metadata = {
"tags": ["appliance", "configure", "security"],
"operation": "httpsiOrganizationApplianceSecurity",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsi"

return self._session.get(metadata, resource)

def certificatesOrganizationApplianceSecurityHttpsi(self, organizationId: str, contents: str, serials: list, **kwargs):
"""
**Upload an HTTPS Inspection certificate to MX devices in the same organization**
https://developer.cisco.com/meraki/api-v1/#!certificates-organization-appliance-security-httpsi

- organizationId (string): Organization ID
- contents (string): The private key and certificate used to inspect HTTPS traffic. The certificate must be in .pem format.
- serials (array): Serial numbers of the security appliances that will receive the new HTTPS certificate for HTTPS Inspection
"""

kwargs = locals()

metadata = {
"tags": ["appliance", "configure", "security", "httpsi"],
"operation": "certificatesOrganizationApplianceSecurityHttpsi",
}
organizationId = urllib.parse.quote(str(organizationId), safe="")
resource = f"/organizations/{organizationId}/appliance/security/httpsi/certificates"

body_params = [
"contents",
"serials",
]
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"certificatesOrganizationApplianceSecurityHttpsi: ignoring unrecognized kwargs: {invalid}"
)

return self._session.post(metadata, resource, payload)

def getOrganizationApplianceSecurityIntrusion(self, organizationId: str):
"""
**Returns all supported intrusion settings for an organization**
Expand Down
Loading
Loading