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-09-23 | Library v4.5.0b3 | API 1.74.0-beta.3


No Python keyword parameter conflicts detected.


## 2026-09-16 | Library v4.5.0b2 | API 1.74.0-beta.2


Expand Down
2 changes: 1 addition & 1 deletion meraki/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
from meraki.exceptions import APIError, APIKeyError, APIResponseError, AsyncAPIError
from meraki.rest_session import RestSession

__api_version__ = "1.74.0-beta.2"
__api_version__ = "1.74.0-beta.3"

__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.5.0b2"
__version__ = "4.5.0b3"
6 changes: 3 additions & 3 deletions meraki/aio/api/appliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -2442,7 +2442,7 @@ def deleteNetworkApplianceTrafficShapingCustomPerformanceClass(self, networkId:

def updateNetworkApplianceTrafficShapingRules(self, networkId: str, **kwargs):
"""
**Update the traffic shaping settings rules for an MX network**
**Update the traffic shaping settings rules for a Security Appliance or Secure Router network**
https://developer.cisco.com/meraki/api-v1/#!update-network-appliance-traffic-shaping-rules

- networkId (string): Network ID
Expand Down Expand Up @@ -2480,7 +2480,7 @@ def updateNetworkApplianceTrafficShapingRules(self, networkId: str, **kwargs):

def getNetworkApplianceTrafficShapingRules(self, networkId: str):
"""
**Display the traffic shaping settings rules for an MX network**
**Display the traffic shaping settings rules for a Security Appliance or Secure Router network**
https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-traffic-shaping-rules

- networkId (string): Network ID
Expand Down Expand Up @@ -5704,7 +5704,7 @@ def getOrganizationApplianceUmbrellaPoliciesByNetwork(

def getOrganizationApplianceUplinkStatuses(self, organizationId: str, total_pages=1, direction="next", **kwargs):
"""
**List the uplink status of every Meraki MX appliance, Z series appliance, and Secure Router in the organization**
**List the uplink status of every Meraki MX and Z series appliances in the organization**
https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-uplink-statuses

- organizationId (string): Organization ID
Expand Down
8 changes: 4 additions & 4 deletions meraki/aio/api/networks.py
Original file line number Diff line number Diff line change
Expand Up @@ -3326,7 +3326,7 @@ def createNetworkVlanProfile(self, networkId: str, name: str, vlanNames: list, v
- vlanNames (array): An array of named VLANs
- vlanGroups (array): An array of VLAN groups
- iname (string): IName of the profile
- allowedVlans (string): The VLANs allowed on the VLAN profile. Only applicable to trunk ports. The given range must be inclusive of all named VLANs.
- activeVlans (string): The active VLANs for the VLAN profile. Only applicable to trunk ports. The given range must be inclusive of all named VLANs.
"""

kwargs.update(locals())
Expand All @@ -3340,7 +3340,7 @@ def createNetworkVlanProfile(self, networkId: str, name: str, vlanNames: list, v

body_params = [
"name",
"allowedVlans",
"activeVlans",
"vlanNames",
"vlanGroups",
"iname",
Expand Down Expand Up @@ -3476,7 +3476,7 @@ def updateNetworkVlanProfile(self, networkId: str, iname: str, name: str, vlanNa
- name (string): Name of the profile, string length must be from 1 to 255 characters
- vlanNames (array): An array of named VLANs
- vlanGroups (array): An array of VLAN groups
- allowedVlans (string): The VLANs allowed on the VLAN profile. Only applicable to trunk ports. The given range must be inclusive of all named VLANs.
- activeVlans (string): The active VLANs for the VLAN profile. Only applicable to trunk ports. The given range must be inclusive of all named VLANs.
"""

kwargs.update(locals())
Expand All @@ -3491,7 +3491,7 @@ def updateNetworkVlanProfile(self, networkId: str, iname: str, name: str, vlanNa

body_params = [
"name",
"allowedVlans",
"activeVlans",
"vlanNames",
"vlanGroups",
]
Expand Down
10 changes: 6 additions & 4 deletions meraki/aio/api/organizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -4523,15 +4523,15 @@ def importOrganizationCertificates(self, organizationId: str, managedBy: str, co
https://developer.cisco.com/meraki/api-v1/#!import-organization-certificates

- organizationId (string): Organization ID
- managedBy (string): Certificate managed by type [system_manager, mr, mx, encrypted_syslog, grpc_dial_out]
- managedBy (string): Certificate managed by type [system_manager, mr, encrypted_syslog, grpc_dial_out]
- contents (string): Certificate content in valid PEM format
- description (string): Certificate description
"""

kwargs = locals()

if "managedBy" in kwargs:
options = ["encrypted_syslog", "grpc_dial_out", "mr", "mx", "system_manager"]
options = ["encrypted_syslog", "grpc_dial_out", "mr", "system_manager"]
assert kwargs["managedBy"] in options, (
f'''"managedBy" cannot be "{kwargs["managedBy"]}", & must be set to one of: {options}'''
)
Expand Down Expand Up @@ -11894,6 +11894,7 @@ def getOrganizationNetworksGroups(self, organizationId: str, total_pages=1, dire
- 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
- groupIds (array): Optional parameter to filter network groups by ID
- search (string): Optional parameter to filter network groups by a case-insensitive partial group name match
- 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.
Expand All @@ -11910,6 +11911,7 @@ def getOrganizationNetworksGroups(self, organizationId: str, total_pages=1, dire

query_params = [
"groupIds",
"search",
"perPage",
"startingAfter",
"endingBefore",
Expand Down Expand Up @@ -14486,7 +14488,7 @@ def updateOrganizationSnmp(self, organizationId: str, **kwargs):
- 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'.
- v3AuthMode (string): The SNMP version 3 authentication mode. Can be one of 'SHA', 'MD5', 'SHA256', 'SHA384', or 'SHA512'. MD5 is not supported in the Cisco Meraki US Government Region.
- 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.
Expand All @@ -14496,7 +14498,7 @@ def updateOrganizationSnmp(self, organizationId: str, **kwargs):
kwargs.update(locals())

if "v3AuthMode" in kwargs:
options = ["MD5", "SHA"]
options = ["MD5", "SHA", "SHA256", "SHA384", "SHA512"]
assert kwargs["v3AuthMode"] in options, (
f'''"v3AuthMode" cannot be "{kwargs["v3AuthMode"]}", & must be set to one of: {options}'''
)
Expand Down
16 changes: 16 additions & 0 deletions meraki/aio/api/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ def createDeviceSwitchRoutingInterface(self, serial: str, name: str, **kwargs):
- ipv6 (object): The IPv6 settings of the interface.
- vrf (object): The VRF settings of the interface. Requires IOS XE 17.18 or higher
- loopback (object): The loopback settings of the interface.
- bidirectionalForwardingDetection (object): BFD configuration for the L3 interface.
"""

kwargs.update(locals())
Expand Down Expand Up @@ -415,6 +416,7 @@ def createDeviceSwitchRoutingInterface(self, serial: str, name: str, **kwargs):
"ipv6",
"vrf",
"loopback",
"bidirectionalForwardingDetection",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down Expand Up @@ -471,6 +473,7 @@ def updateDeviceSwitchRoutingInterface(self, serial: str, interfaceId: str, **kw
- ipv6 (object): The IPv6 settings of the interface.
- vrf (object): The VRF settings of the interface. Requires IOS XE 17.18 or higher
- loopback (object): The loopback settings of the interface.
- bidirectionalForwardingDetection (object): BFD configuration for the L3 interface.
"""

kwargs.update(locals())
Expand Down Expand Up @@ -509,6 +512,7 @@ def updateDeviceSwitchRoutingInterface(self, serial: str, interfaceId: str, **kw
"ipv6",
"vrf",
"loopback",
"bidirectionalForwardingDetection",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down Expand Up @@ -581,6 +585,8 @@ def updateDeviceSwitchRoutingInterfaceDhcp(self, serial: str, interfaceId: str,
- dhcpOptions (array): Array of DHCP options consisting of code, type and value for the DHCP server running on the switch interface
- reservedIpRanges (array): Array of DHCP reserved IP assignments for the DHCP server running on the switch interface
- fixedIpAssignments (array): Array of DHCP fixed IP assignments for the DHCP server running on the switch interface
- dhcpDefaultRouterIps (string): The DHCP default router IPs for the DHCP server running on the switch interface
- dhcpDomainName (string): The DHCP domain name for the DHCP server running on the switch interface
"""

kwargs.update(locals())
Expand Down Expand Up @@ -621,6 +627,8 @@ def updateDeviceSwitchRoutingInterfaceDhcp(self, serial: str, interfaceId: str,
"dhcpOptions",
"reservedIpRanges",
"fixedIpAssignments",
"dhcpDefaultRouterIps",
"dhcpDomainName",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down Expand Up @@ -2875,6 +2883,7 @@ def createNetworkSwitchStackRoutingInterface(self, networkId: str, switchStackId
- ipv6 (object): The IPv6 settings of the interface.
- vrf (object): The VRF settings of the interface. Requires IOS XE 17.18 or higher
- loopback (object): The loopback settings of the interface.
- bidirectionalForwardingDetection (object): BFD configuration for the L3 interface.
"""

kwargs.update(locals())
Expand Down Expand Up @@ -2917,6 +2926,7 @@ def createNetworkSwitchStackRoutingInterface(self, networkId: str, switchStackId
"ipv6",
"vrf",
"loopback",
"bidirectionalForwardingDetection",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down Expand Up @@ -2978,6 +2988,7 @@ def updateNetworkSwitchStackRoutingInterface(self, networkId: str, switchStackId
- ipv6 (object): The IPv6 settings of the interface.
- vrf (object): The VRF settings of the interface. Requires IOS XE 17.18 or higher
- loopback (object): The loopback settings of the interface.
- bidirectionalForwardingDetection (object): BFD configuration for the L3 interface.
"""

kwargs.update(locals())
Expand Down Expand Up @@ -3017,6 +3028,7 @@ def updateNetworkSwitchStackRoutingInterface(self, networkId: str, switchStackId
"ipv6",
"vrf",
"loopback",
"bidirectionalForwardingDetection",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down Expand Up @@ -3097,6 +3109,8 @@ def updateNetworkSwitchStackRoutingInterfaceDhcp(self, networkId: str, switchSta
switch stack interface
- reservedIpRanges (array): Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
- fixedIpAssignments (array): Array of DHCP fixed IP assignments for the DHCP server running on the switch stack interface
- dhcpDefaultRouterIps (string): The DHCP default router IPs for the DHCP server running on the switch stack interface
- dhcpDomainName (string): The DHCP domain name for the DHCP server running on the switch stack interface
"""

kwargs.update(locals())
Expand Down Expand Up @@ -3138,6 +3152,8 @@ def updateNetworkSwitchStackRoutingInterfaceDhcp(self, networkId: str, switchSta
"dhcpOptions",
"reservedIpRanges",
"fixedIpAssignments",
"dhcpDefaultRouterIps",
"dhcpDomainName",
]
payload = {k.strip(): v for k, v in kwargs.items() if k.strip() in body_params}

Expand Down
Loading
Loading