"alg": "SIP", "enabled": args["enable_alg"] }) # update the rules log.info("-- updating alg entry") r = cgx.put.element_extensions(element["site_id"], element["id"], alg["id"], alg) if not r: jd_detailed(r) raise ValueError("cant update alg extension") if __name__ == "__main__": # init cloudgenix object and get command line arguments cgx, args = cgxinit.go() #init logging logging.basicConfig(level=logging.INFO) log = logging.getLogger("cgxSIPalg") #build site dist sites = {} for site in cgx.get.sites().cgx_content["items"]: # we only care about spoke sites as hub sites don't do NAT if site["element_cluster_role"] == "SPOKE": sites[site["id"]] = site["name"] if args["list"]: listALG(cgx, args, sites) else: updateSIPalg(cgx, args, sites)
#!/usr/bin/env python3 import cgxinit from cloudgenix import jd import sys if __name__ == "__main__": sdk, args = cgxinit.go() # read lines from file prefixes = [prefix.strip() for prefix in args["list"].readlines()] # find the prefix prefix = None natprefixes = sdk.get.natglobalprefixes().cgx_content["items"] for natprefix in natprefixes: if natprefix['name'] == args['prefix']: prefix = natprefix if not prefix: print("Prefix wasn't found") sys.exit() # add to the existing ipv4 list prefix['ipv4_prefixes'].extend(prefixes) # make sure all the entries are unique prefix['ipv4_prefixes'] = list(set(prefix['ipv4_prefixes'])) resp = sdk.put.natglobalprefixes(prefix['id'], prefix) if not resp: print("Error. Couldn't update the global prefix list") jd(resp)