import requests import json def main(): print("I am main function") cdp = input("Enter p for Production account or i for Internal account\n") if cdp == "i": base_url = "https://internal-apigw.central.arubanetworks.com" print("The URL used is {}".format(base_url)) elif cdp == "p": base_url = "https://app1-apigw.central.arubanetworks.com" print("The URL used is {}".format(base_url)) else: print("Wrong Input. p or i are valid inputs") atoken = input("Enter access token:\n") OK = "L" while (OK != "E"): OK = input("\n====\nMENU\n====\nType..\n L: to list all current group\n C: to create a new group\n D: to delete a group, & E to exit:\n----\n") if (OK == "L"): getgroups(atoken, base_url) elif (OK == "C"): creategroups(atoken, base_url) elif (OK == "D"): delgroups(atoken, base_url) elif (OK == "E"): print("Good Bye!") return return def getgroups(atoken, base_url): url1 = "/configuration/v1/groups" url3 = base_url + url1 params = {"access_token": atoken, "offset": "0", "limit": "20"} print("Contacting URL:", url3) resp = requests.get(url3, params=params) if resp.status_code != 200: print("Something went bad {} {}".format(resp.status_code, resp.text)) else: print("Server Responded") jsonobj = resp.json() jsongrpobj = jsonobj['data'] jsongrpname = jsongrpobj[0] print(type(jsonobj)) print(type(jsongrpobj)) print(jsonobj) print(jsongrpobj[0]) print("\n\nGot all groups data and printing it now\n------------------------------") for x in jsongrpobj: print(x['group']) print("\n------------------------------") return def creategroups(atoken, base_url): gname = input("Enter group name:\n") gpwd = input("Enter group password:\n") g = input("Is it a template group? Enter Y or N:\n") if (g == "Y"): T = True else: T = False url1 = "/configuration/v1/groups" url3 = base_url + url1 print("Contacting URL:", url3) params = {"access_token": atoken} data = { "group": gname, "group_attributes": { "group_password": gpwd, "template_group": T } } data = json.dumps(data) print("Sending..", type(data), data) headers = {'content-type': 'application/json'} resp = requests.post(url3, params=params, data=data, headers=headers) if (resp.status_code == 200) or (resp.status_code == 201): print("Success! The code is: {}".format(resp.status_code)) else: print("Failure! The code is: {}".format(resp.status_code)) return def delgroups(atoken, base_url): url1 = "/configuration/v1/groups" url3 = base_url + url1 g = input("Enter the group name to delete:\n") url1 = "/configuration/v1/groups/" url3 = base_url + url1 + g print("Contacting URL:", url3) params = {"access_token": atoken, "group": g} resp = requests.delete(url3, params=params) print(resp.status_code) return if __name__ == '__main__': main()