Repository URL to install this package:
Version:
4.0.107 ▾
|
from cliff import show, lister
from osc_lib import utils as osc_utils
from workloadmgrclient.openstack.common import strutils
from workloadmgrclient.v1 import WorkloadmgrCommand
class TrustCommand(WorkloadmgrCommand):
resource = "trusts"
class CreateTrust(TrustCommand, show.ShowOne):
"""Creates a trust."""
@staticmethod
def _add_arguments(parser):
parser.add_argument(
"role_name",
metavar="<role_name>",
help="name of the role that user what to delete to triliovault service.",
)
parser.add_argument(
"--is_cloud_trust",
metavar="{True,False}",
type=strutils.bool_from_string,
help="Set to true if creating cloud admin trust,"
" While creating cloud trust use same user and tenant"
" which used to configure TVault and keep the role admin.",
default=False,
)
def take_action(self, parsed_args):
client = self.get_client()
res = client.create(parsed_args.role_name, parsed_args.is_cloud_trust) or []
d = {}
columns = "Name"
for v in res:
if type(v) is dict:
for k, v1 in list(v.items()):
d.setdefault(k, str(v1))
columns = list(d.keys())
data = osc_utils.get_dict_properties(d, columns)
return columns, data
"""
info = {key: str(value) for key, value in trust_obj.items()
for trust_obj in res if isinstance(trust_obj, dict)}
columns = list(info.keys())
data = osc_utils.get_dict_properties(info, columns)
return columns, data
"""
class ListTrust(TrustCommand, lister.Lister):
"""List all the trusts."""
def take_action(self, parsed_args):
client = self.get_client()
result = client.list() or []
columns = ["name", "value", "status", "created_at"]
headers = ["TrustID", "Value", "Status", "CreatedAt"]
return (
headers,
(osc_utils.get_dict_properties(obj, columns) for obj in result),
)
class ShowTrust(TrustCommand, show.ShowOne):
"""Show details of the trust."""
@staticmethod
def _add_arguments(parser):
parser.add_argument("trust_id", metavar="<trust_id>", help="trust ID.")
def take_action(self, parsed_args):
client = self.get_client()
trust_obj = client.get(parsed_args.trust_id) or {}
columns = list(trust_obj.keys())
data = osc_utils.get_dict_properties(trust_obj, columns)
return columns, data
class DeleteTrust(TrustCommand):
"""Delete the trust."""
@staticmethod
def _add_arguments(parser):
parser.add_argument(
"trust_id", metavar="<trust_id>", help="ID of trust to delete."
)
def take_action(self, parsed_args):
client = self.get_client()
client.delete(parsed_args.trust_id)
class SchedulerTrustValidation(TrustCommand):
"""Validate scheduler trust for a given workload."""
@staticmethod
def _add_arguments(parser):
parser.add_argument("workload_id", metavar="<workload_id>", help="workload ID.")
def take_action(self, parsed_args):
client = self.get_client()
result = client.validate_scheduler_trust(parsed_args.workload_id)
print(result)