def do_cmd(gargs, args, _): """ Add a new Project """ request = {"desc": args.desc, "owner": args.owner} if args.ssid: request["wifi_props"] = { "bssid_type": args.ssid_type, "ssid": args.ssid } if args.plmnid: plmnid = PLMNID(args.plmnid) request["lte_props"] = {"plmnid": plmnid.to_str()} headers = command.get_headers(gargs) url = '/api/v1/projects' response, _ = command.connect(gargs, ('POST', url), 201, request, headers=headers) location = response.headers['Location'] tokens = location.split("/") project_id = tokens[-1] print(project_id)
def do_cmd(gargs, args, _): """Create/update LTE slice. """ headers = command.get_headers(gargs) request = { "version": "1.0", "slice_id": args.slice_id, "properties": { 'rbgs': args.rbgs, 'ue_scheduler': 0 } } url = '/api/v1/projects/%s/lte_slices' % args.project_id command.connect(gargs, ('POST', url), 201, request, headers=headers) url = '/api/v1/projects/%s/lte_slices/%u' % \ (args.project_id, args.slice_id) _, slc = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("slice_id ") accum.append(str(slc['slice_id'])) for k, val in slc['properties'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_cmd(gargs, args, leftovers): """Set worker parameters.""" request = {"version": "1.0", "params": command.get_params(leftovers)} headers = command.get_headers(gargs) url = '/api/v1/workers/%s' % args.uuid command.connect(gargs, ('PUT', url), 204, request, headers=headers) url = '/api/v1/workers/%s' % args.uuid _, data = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("worker_id ") accum.append(data['service_id']) accum.append("\n name ") accum.append(data['name']) accum.append("\n params:") for k, val in data['params'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_cmd(gargs, args, leftovers): """Load an application. """ request = { "version": "1.0", "name": args.name, "params": command.get_params(leftovers) } headers = command.get_headers(gargs) url = '/api/v1/projects/%s/apps' % args.project_id response, _ = command.connect(gargs, ('POST', url), 201, request, headers=headers) location = response.headers['Location'] tokens = location.split("/") app_id = tokens[-1] url = '/api/v1/projects/%s/apps/%s' % (args.project_id, app_id) _, data = command.connect(gargs, ('GET', url), 200, headers=headers) print(data['service_id'])
def do_cmd(gargs, args, _): """Update a lgtw.""" request = {"version": "1.0"} if args.name: request["name"] = args.name if args.desc: request["desc"] = args.desc if args.owner: request["owner"] = args.owner headers = command.get_headers(gargs) url = '/api/v1/lns/lgtws/%s' % args.lgtw_euid response, _ = command.connect(gargs, ('PUT', url), 201, request, headers=headers) location = response.headers['Location'] tokens = location.split("/") euid = tokens[-1] print(euid, " lGTW updated to LNS Database")
def do_cmd(gargs, args, _): """Add a new lenddevs.""" headers = command.get_headers(gargs) url = '/api/v1/lns/lenddevs/' if args.json_file: with open(args.json_file, 'r') as file: lenddevs = json.load(file) for lenddev in lenddevs: dev_eui = lenddev.get("devEUI") if not dev_eui: print("devEUI missing, cannot add device") return request = dict(version="1.0") for key, value in KEYS.items(): if value in lenddev: request[key] = lenddev[value] # url = '/api/v1/lns/lenddevs/%s' % devEUI try: response, _ = command.connect(gargs, ('POST', url + dev_eui), 201, request, headers=headers, exit_on_err=False) except Exception as err: print(err) else: location = response.headers['Location'] tokens = location.split("/") dev_eui = tokens[-1] print("lEndDev (%s) added to LNS Database" % dev_eui) print() else: request = {} url += args.devEUI try: response, _ = command.connect(gargs, ('POST', url), 201, request, headers=headers, exit_on_err=False) except Exception as err: print(err) else: location = response.headers['Location'] tokens = location.split("/") dev_eui = tokens[-1] print("lEndDev (%s) added to LNS Database" % dev_eui) print()
def do_cmd(gargs, *_): """Unload all workers. """ headers = command.get_headers(gargs) url = '/api/v1/workers' _, data = command.connect(gargs, ('GET', url), 200, headers=headers) for entry in data.values(): worker_id = entry['service_id'] url = '/api/v1/workers/%s' % worker_id command.connect(gargs, ('DELETE', url), 204, headers=headers) print(worker_id)
def do_cmd(gargs, args, _): """Unload all applications. """ headers = command.get_headers(gargs) url = '/api/v1/projects/%s/apps' % args.project_id _, data = command.connect(gargs, ('GET', url), 200, headers=headers) for entry in data.values(): app_id = entry['service_id'] url = '/api/v1/projects/%s/apps/%s' % (args.project_id, app_id) command.connect(gargs, ('DELETE', url), 204, headers=headers) print(app_id)
def do_cmd(gargs, args, _): """Set worker callback.""" request = { "version": "1.0", "name": args.name, "callback_type": CALLBACK_REST, "callback": args.callback } headers = command.get_headers(gargs) url = '/api/v1/workers/%s/callbacks' % args.uuid command.connect(gargs, ('POST', url), 201, request, headers=headers) url = '/api/v1/workers/%s/callbacks/%s' % (args.uuid, args.name) _, data = command.connect(gargs, ('GET', url), 200, headers=headers) print(data)