cli: add center.py

command to add center, specifying name and optionally a description
ogcli add center --name <name> [--comment <name>]

For example, to add a center with name "foocenter" and comment "foocenter description" type

$ ogcli add center --name foocenter --comment "foocenter description"
master
Javier Hernandez 2023-10-17 13:29:25 +02:00 committed by Jose M. Guisado
parent e7c2ad0ee1
commit 8be21d4ac5
2 changed files with 24 additions and 1 deletions

View File

@ -15,6 +15,7 @@ from cli.objects.poweroff import OgPoweroff
from cli.objects.reboot import OgReboot from cli.objects.reboot import OgReboot
from cli.objects.repo import OgRepo from cli.objects.repo import OgRepo
from cli.objects.server import OgServer from cli.objects.server import OgServer
from cli.objects.center import OgCenter
import argparse import argparse
import requests import requests
import sys import sys
@ -209,7 +210,7 @@ class OgCLI():
OgServer.delete_server(self.rest, args[1:]) OgServer.delete_server(self.rest, args[1:])
def add(self, args): def add(self, args):
choices = ['server', 'repo'] choices = ['server', 'repo', 'center']
parser = argparse.ArgumentParser(prog='ogcli add') parser = argparse.ArgumentParser(prog='ogcli add')
parser.add_argument('add_obj', choices=choices) parser.add_argument('add_obj', choices=choices)
@ -223,3 +224,5 @@ class OgCLI():
OgServer.add_server(self.rest, args[1:]) OgServer.add_server(self.rest, args[1:])
elif parsed_args.add_obj == 'repo': elif parsed_args.add_obj == 'repo':
OgRepo.add_repo(self.rest, args[1:]) OgRepo.add_repo(self.rest, args[1:])
elif parsed_args.add_obj == 'center':
OgCenter.add_center(self.rest, args[1:])

View File

@ -0,0 +1,20 @@
import argparse
class OgCenter():
@staticmethod
def add_center(rest, args):
parser = argparse.ArgumentParser(prog='ogcli add center')
parser.add_argument('--name',
nargs='?',
required=True,
help='Name of the center')
parser.add_argument('--comment',
nargs='?',
required=False,
help='(Optional) Provide a more detailed description of the center')
parsed_args = parser.parse_args(args)
payload = {'name': parsed_args.name}
if parsed_args.comment:
payload['comment'] = parsed_args.comment
rest.post('/center/add', payload=payload)