Repository URL to install this package:
|
Version:
6.0.24 ▾
|
# Copyright (c) 2014 TrilioData, Inc.
# All Rights Reserved.
import abc
import logging
import six
from cliff import _argparse
from cliff import command
from cliff import lister
from cliff import show
from workloadmgrclient.v1.client import Client # noqa
logger = logging.getLogger(__name__)
# cliff.command.Command is abstract class so that metaclass of
# subclass must be subclass of metaclass of all its base.
# otherwise metaclass conflict exception is raised.
class WorkloadmgrCommandMeta(abc.ABCMeta):
def __new__(cls, name, bases, cls_dict):
if "log" not in cls_dict:
cls_dict["log"] = logging.getLogger(cls_dict["__module__"] + "." + name)
return super(WorkloadmgrCommandMeta, cls).__new__(cls, name, bases, cls_dict)
@six.add_metaclass(WorkloadmgrCommandMeta)
class WorkloadmgrCommand(command.Command):
values_specs = []
json_indent = None
resource = "workloads"
shadow_resource = None
parent_id = None
def run(self, parsed_args):
logger.debug("run(%s)", parsed_args)
return super(WorkloadmgrCommand, self).run(parsed_args)
@property
def cmd_resource(self):
if self.shadow_resource:
return self.shadow_resource
return self.resource
def get_client(self):
return getattr(self.app.client_manager.workloadmgr, self.cmd_resource)
def get_parser(self, prog_name):
parser = super(WorkloadmgrCommand, self).get_parser(prog_name)
self._add_arguments(parser)
return parser
@staticmethod
def _add_arguments(parser):
pass
def add_known_arguments(self, parser):
pass
def set_extra_attrs(self, parsed_args):
pass
def args2body(self, parsed_args):
return {}