# 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): res = rest.get('/server') if not res: return 1 print_json(res.text) return 0 @staticmethod def add_server(rest, args): parser = argparse.ArgumentParser(prog='ogcli add server') parser.add_argument('--ip', nargs='?', required=True, help='valid ogserver ip address') parsed_args = parser.parse_args(args) if not check_address(parsed_args.ip): print(f'Invalid IP address: {parsed_args.ip}') return 1 payload = {'address': parsed_args.ip} res = rest.post('/server', payload=payload) if not res: return 1 return 0 @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} res = rest.delete('/server', payload=payload) if not res: return 1 return 0