Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import six
from cliff import show, lister
from osc_lib import utils as osc_utils

from workloadmgrclient import utils
from workloadmgrclient.v1.workload import WorkloadCommand


class WorkloadTypesCommand(WorkloadCommand):
    resource = "workload_types"


class ListWorkloadType(WorkloadTypesCommand, lister.Lister):
    """List all the workload types of current project."""

    def take_action(self, parsed_args):
        client = self.get_client()
        workload_type_objs = client.list() or []
        headers = ["ID", "Name"]
        columns = ["id", "name"]
        return (
            headers,
            (osc_utils.get_item_properties(s, columns) for s in workload_type_objs),
        )


class ShowWorkloadType(WorkloadTypesCommand, show.ShowOne):
    """Show details about a workload_type."""

    @staticmethod
    def _add_arguments(parser):
        parser.add_argument(
            "workload_type_id",
            metavar="<workload_type_id>",
            help="ID of the workload_type.",
        )

    def take_action(self, parsed_args):
        """Show details about a workload_type."""
        client = self.get_client()
        workload_type_obj = utils.find_resource(client, parsed_args.workload_type_id)
        info = {}
        info.update(workload_type_obj._info)
        info.pop("links", None)
        return zip(*sorted(six.iteritems(info)))