From 82dafe0ff8db780e26aa7ddbbf72ca99b9e3c8a8 Mon Sep 17 00:00:00 2001 From: Brendan Moore Date: Sun, 30 Dec 2018 10:23:06 -0500 Subject: [PATCH] Added support for Enable/Disbale MX VLAN --- meraki.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/meraki.py b/meraki.py index 9ad26fd1..49bdd641 100644 --- a/meraki.py +++ b/meraki.py @@ -21,6 +21,7 @@ import warnings + base_url = 'https://api.meraki.com/api/v0' tzlist = ['Africa/Abidjan', @@ -3649,6 +3650,28 @@ def addvlan(apikey, networkid, vlanid, name, subnet, mxip, suppressprint=False): return result +# Enables VLAN on the Meraki MX +# https://dashboard.meraki.com/api_docs#enable/disable-vlans-for-the-given-network +def enablevlan(apikey, networkid, enable=True, suppressprint=False): + calltype = 'VLAN' + posturl = '{0}/networks/{1}/vlansEnableState'.format(str(base_url), str(networkid)) + headers = { + 'x-cisco-meraki-api-key': format(str(apikey)), + 'Content-Type': 'application/json' + } + + putdata = { + 'enabled': enable + } + putdata = json.dumps(putdata) + dashboard = requests.put(posturl, data=putdata, headers=headers) + # + # Call return handler function to parse Dashboard response + # + result = __returnhandler(dashboard.status_code, dashboard.text, calltype, suppressprint) + return result + + # Delete a VLAN from a network # https://api.meraki.com/api_docs#delete-a-vlan-from-a-network def delvlan(apikey, networkid, vlanid, suppressprint=False):