diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-08-26 14:56:29 +0200 |
---|---|---|
committer | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-09-02 14:30:15 +0200 |
commit | 28ec68df42879a847eab6d314bfbf3a0157d9f45 (patch) | |
tree | b38c92ef39bdf0e809e50ddcc88be6d1245490c7 /cli/objects | |
parent | faebdd5a0daa5fa3dd4b75ac1b341e79d26c83d8 (diff) |
repo: sync repo with new API
Add repo update.
Example command:
update repo --id 20 --address 192.168.1.189 192.168.1.191 --name test --center 1
Use addr instead of ip to pass a list of addresses.
Diffstat (limited to 'cli/objects')
-rw-r--r-- | cli/objects/repo.py | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/cli/objects/repo.py b/cli/objects/repo.py index a85f7a3..4e20edd 100644 --- a/cli/objects/repo.py +++ b/cli/objects/repo.py @@ -20,28 +20,59 @@ class OgRepo(): def add_repo(rest, args): parser = argparse.ArgumentParser(prog='ogcli add repo') parser.add_argument('--address', - nargs='?', + nargs='+', required=True, - help='valid ip address') + help='IP list separated by spaces') parser.add_argument('--name', nargs='?', required=True, - help='valid ip address') + help='name of the repository') parser.add_argument('--center', nargs='?', type=int, help='(Optional, Legacy) Center id serving this repository') parsed_args = parser.parse_args(args) payload = { - 'ip': parsed_args.address, + 'addr': parsed_args.address, 'name': parsed_args.name, } if parsed_args.center: - payload['center']: center + payload['center']: parsed_args.center rest.post('/repository/add', payload=payload) @staticmethod + def update_repo(rest, args): + parser = argparse.ArgumentParser(prog='ogcli add repo') + parser.add_argument('--id', + type=int, + nargs='?', + required=True, + help='repo id (list repos using "ogcli list repos")') + parser.add_argument('--address', + nargs='+', + required=True, + help='IP list separated by spaces') + parser.add_argument('--name', + nargs='?', + required=True, + help='name of the repository') + parser.add_argument('--center', + nargs='?', + type=int, + help='(Optional, Legacy) Center id serving this repository') + parsed_args = parser.parse_args(args) + payload = { + 'id': parsed_args.id, + 'addr': parsed_args.address, + 'name': parsed_args.name, + } + if parsed_args.center: + payload['center']: parsed_args.center + + rest.post('/repository/update', payload=payload) + + @staticmethod def delete_repo(rest, args): parser = argparse.ArgumentParser(prog='ogcli delete repo') parser.add_argument('--id', |