# Copyright (C) 2020-2024 Soleta Networks # # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the # Free Software Foundation; either version 3 of the License, or # (at your option) any later version. import argparse from cli.utils import * class OgServer(): @staticmethod def list_servers(rest): r = rest.get('/server') print_json(r.text) @staticmethod def add_server(rest, args): parser = argparse.ArgumentParser(prog='ogcli add server') parser.add_argument('--address', nargs='?', required=True, help='valid ogserver ip address') parsed_args = parser.parse_args(args) if not check_address(parsed_args.address): print(f'Invalid IP address: {parsed_args.address}') return payload = {'address': parsed_args.address} rest.post('/server', payload=payload) @staticmethod def delete_server(rest, args): parser = argparse.ArgumentParser(prog='ogcli delete server') parser.add_argument('--id', type=int, nargs='?', required=True, help='server id in the database') parsed_args = parser.parse_args(args) payload = {'id': parsed_args.id} rest.delete('/server', payload=payload)