Hello my Meraki friends,
This is probably a noob question. I am trying to programmatically edit a VLAN by using the rest API with Python, however I ran into some troubles.
While sending the following json using using requests.put: https://nxxx.meraki.com/api/v0/devices/XXXX-XXXX-XXXX/switchPorts/[portnumber]
Name Value Type
| 'accessPolicyNumber' | None | NoneType |
| 'allowedVlans' | 'all' | str |
| 'enabled' | True | bool |
| 'isolationEnabled' | False | bool |
| 'linkNegotiation' | 'Auto negotiate' | str |
| 'macWhitelist' | None | NoneType |
| 'name' | None | NoneType |
| 'number' | 10 | int |
| 'poeEnabled' | True | bool |
| 'portScheduleId' | None | NoneType |
| 'rstpEnabled' | True | bool |
| 'stickyMacWhitelist' | None | NoneType |
| 'stickyMacWhitelistLimit' | 0 | int |
| 'stpGuard' | 'disabled' | str |
| 'tags' | None | NoneType |
| 'type' | 'trunk' | str |
| 'udld' | 'Alert only' | str |
| 'vlan' | 2 | int |
| 'voiceVlan' | None | NoneType |
| __len__ | 19 | int |
I get the following response:
'errors': ['Cannot set whitelist on a trunk port', 'Invalid MAC whitelist. To disable MAC whitelist, set accessPolicyNumber to null.']
If you take a look at the first entry of the table above, 'accessPolicyNumber' is indeed filled with a NoneType thing, which is the python equivalent to a null character (right?). Setting 'stickyMacWhitelistLimit' to None is also not an option, since it has to be an integer, while strangely enough if i use get, 'stickyMacWhitelistLimit' is filled with a null character. (which was my motivation to put 0 there in the first place, leading to this).
API command documentation I used is this.
Thanks for your time!