diff options
Diffstat (limited to 'python_moonclient/python_moonclient/cli/policies.py')
-rw-r--r-- | python_moonclient/python_moonclient/cli/policies.py | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/python_moonclient/python_moonclient/cli/policies.py b/python_moonclient/python_moonclient/cli/policies.py deleted file mode 100644 index af8e959b..00000000 --- a/python_moonclient/python_moonclient/cli/policies.py +++ /dev/null @@ -1,264 +0,0 @@ -import logging -from cliff.command import Command -from cliff.lister import Lister - -from python_moonclient.cli.parser import Parser - -from python_moonclient.core import models, policies, pdp - -LOGGER = logging.getLogger("moonclient.cli.pdps") - - -class PoliciesUtils: - def __init__(self): - pass - - @staticmethod - def get_policy_id(policies, parsed_id, parsed_name): - _policies = policies.check_policy() - for _policy_key, _policy_value in _policies["policies"].items(): - if _policy_key == parsed_id or _policy_value['name'] == parsed_name: - # logger.info("Found {}".format(_policy_key)) - return _policy_key - return None - - @staticmethod - def get_policy_name(policies, parsed_id, parsed_name): - _policies = policies.check_policy() - for _policy_key, _policy_value in _policies["policies"].items(): - if _policy_key == parsed_id or _policy_value['name'] == parsed_name: - # logger.info("Found {}".format(_policy_key)) - return _policy_value['name'] - return None - - -class Policies(Lister): - """show the list of existing policies""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - _policies = policies.check_policy() - - return (('Key', 'Name'), - ((_policy_key, _policy_value['name']) for _policy_key, _policy_value in - _policies["policies"].items()) - ) - - -class Subjects(Lister): - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_id_or_name_argument(parser) - Parser.add_policy_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - _policies = policies.check_subject(parsed_args.id, parsed_args.policy_id) - - return (('Key', 'Name'), - ((_policy_key, _policy_value['name']) for _policy_key, _policy_value in - _policies["policies"].items()) - ) - - -class DeletePolicy(Command): - """delete an existing policy""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_id_or_name_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - policy_id = PoliciesUtils.get_policy_id(policies, parsed_args.id, parsed_args.name) - policy_name = PoliciesUtils.get_policy_name(policies, parsed_args.id, parsed_args.name) - - LOGGER.info("Deleting: {}".format(policy_name)) - pdp.delete_pdp(policy_id) - - _policies = policies.check_policy() - # logger.info("Listing all Policies:") - for _policy_key, _policy_value in _policies["policies"].items(): - # print(" {} {}".format(_policy_key, _policy_value['name'])) - if _policy_key == policy_id: - LOGGER.error("Error in deleting {}".format(policy_id)) - - return (('Key', 'Value'), - ((_policy_key, _policy_value) for _policy_key, _policy_value in - _policies["policies"].items()) - ) - - -class SubjectDatas(Lister): - """list the subject data """ - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_policy_argument(parser) - Parser.add_category_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - subject_data = policies.check_subject_data(parsed_args.policy_id, None, - parsed_args.category_id) - if len(subject_data["subject_data"]) == 0: - return (('Key', 'Name'), ()) - - return (('Key', 'Name'), - ((_subject_key, subject_data["subject_data"][0]["data"][_subject_key]['name']) for - _subject_key in subject_data["subject_data"][0]["data"].keys()) - ) - - -class ObjectDatas(Lister): - """list the object data""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_policy_argument(parser) - Parser.add_category_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - object_datas = policies.check_object_data(parsed_args.policy_id, None, - parsed_args.category_id) - - if len(object_datas["object_data"]) == 0: - return (('Key', 'Name'), ()) - object_data = object_datas["object_data"][0]["data"] - res = (('Key', 'Name'), - ((_object_key, object_data[_object_key]["value"]['name']) for _object_key in - list(object_data)) - ) - return res - - -class ActionDatas(Lister): - """list the action data""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_policy_argument(parser) - Parser.add_category_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - action_datas = policies.check_action_data(parsed_args.policy_id, None, - parsed_args.category_id) - - if len(action_datas["action_data"]) == 0: - return (('Key', 'Name'), ()) - action_data = action_datas["action_data"][0]["data"] - res = (('Key', 'Name'), - ((_action_key, action_data[_action_key]["value"]['name']) for _action_key in - list(action_data)) - ) - return res - - -class MetaRules(Lister): - """list the meta rules""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - metarule_datas = policies.check_meta_rule() - - if len(metarule_datas["meta_rules"]) == 0: - return (('Key', 'Name'), ()) - - metarule_data = metarule_datas["meta_rules"] - res = (('Key', 'Name'), - ((_key, metarule_data[_key]['name']) for _key in list(metarule_data)) - ) - return res - - -class CreateSubjectData(Command): - """create a subject data according to a policy and a category""" - - def get_parser(self, prog_name): - parser = super().get_parser(prog_name) - Parser.add_common_options(parser) - Parser.add_policy_argument(parser) - Parser.add_category_argument(parser) - Parser.add_name_argument(parser) - return parser - - def take_action(self, parsed_args): - consul_host = parsed_args.consul_host - consul_port = parsed_args.consul_port - - models.init(consul_host, consul_port) - policies.init(consul_host, consul_port) - pdp.init(consul_host, consul_port) - - subject_data_id = policies.add_subject_data(parsed_args.policy_id, parsed_args.category_id, - parsed_args.name) - if subject_data_id is not None: - print("Subject category created with id {}".format(subject_data_id)) - else: - print("Error while creating subject category") - subject_data = policies.check_subject_data(parsed_args.policy_id, None, - parsed_args.category_id) - # subject_categories = models.check_subject_category(subject_category_id) |