forked from uncloud/uncloud
38 lines
1 KiB
Python
38 lines
1 KiB
Python
import requests
|
|
|
|
from uncloud.cli.helper import make_request
|
|
from uncloud.common.parser import BaseParser
|
|
|
|
|
|
class ImageParser(BaseParser):
|
|
def __init__(self):
|
|
super().__init__('image')
|
|
|
|
def create(self, **kwargs):
|
|
p = self.subparser.add_parser('create', **kwargs)
|
|
p.add_argument('--name', required=True)
|
|
p.add_argument('--uuid', required=True)
|
|
p.add_argument('--image-store-name', default='image_store')
|
|
|
|
def list(self, **kwargs):
|
|
self.subparser.add_parser('list', add_help=False, **kwargs)
|
|
|
|
|
|
parser = ImageParser()
|
|
arg_parser = parser.arg_parser
|
|
|
|
|
|
def main(**kwargs):
|
|
subcommand = kwargs.pop('image_subcommand')
|
|
if not subcommand:
|
|
arg_parser.print_help()
|
|
else:
|
|
data = None
|
|
request_method = requests.post
|
|
if subcommand == 'list':
|
|
subcommand = 'list-public'
|
|
request_method = requests.get
|
|
elif subcommand == 'create':
|
|
data = kwargs
|
|
|
|
make_request('image', subcommand, data=data, request_method=request_method)
|