From 480d0fb4390de27b225722e72cb95686f5c42ff8 Mon Sep 17 00:00:00 2001 From: WuKong Date: Wed, 23 Sep 2015 11:58:00 +0200 Subject: review moonclient Change-Id: I0969fe42fd756c025d549d0cffe07943cddd2d15 Signed-off-by: WuKong --- moonclient/moonclient/action_assignments.py | 75 ++++++++------- moonclient/moonclient/action_categories.py | 29 +++--- moonclient/moonclient/action_category_scope.py | 122 ----------------------- moonclient/moonclient/action_scopes.py | 123 ++++++++++++++++++++++++ moonclient/moonclient/actions.py | 19 ++-- moonclient/moonclient/configuration.py | 2 +- moonclient/moonclient/intraextension.py | 11 +-- moonclient/moonclient/logs.py | 2 +- moonclient/moonclient/metarules.py | 81 +++++++++------- moonclient/moonclient/object_assignments.py | 75 ++++++++------- moonclient/moonclient/object_categories.py | 27 +++--- moonclient/moonclient/object_category_scope.py | 122 ----------------------- moonclient/moonclient/object_scopes.py | 123 ++++++++++++++++++++++++ moonclient/moonclient/objects.py | 23 +++-- moonclient/moonclient/rules.py | 6 +- moonclient/moonclient/shell.py | 2 + moonclient/moonclient/subject_assignments.py | 75 ++++++++------- moonclient/moonclient/subject_categories.py | 29 +++--- moonclient/moonclient/subject_category_scope.py | 121 ----------------------- moonclient/moonclient/subject_scopes.py | 123 ++++++++++++++++++++++++ moonclient/moonclient/subjects.py | 27 ++++-- moonclient/moonclient/tenants.py | 28 +++--- moonclient/setup.py | 44 ++++----- 23 files changed, 656 insertions(+), 633 deletions(-) delete mode 100644 moonclient/moonclient/action_category_scope.py create mode 100644 moonclient/moonclient/action_scopes.py delete mode 100644 moonclient/moonclient/object_category_scope.py create mode 100644 moonclient/moonclient/object_scopes.py delete mode 100644 moonclient/moonclient/subject_category_scope.py create mode 100644 moonclient/moonclient/subject_scopes.py (limited to 'moonclient') diff --git a/moonclient/moonclient/action_assignments.py b/moonclient/moonclient/action_assignments.py index 2301abc1..be2a66da 100644 --- a/moonclient/moonclient/action_assignments.py +++ b/moonclient/moonclient/action_assignments.py @@ -10,7 +10,7 @@ from cliff.command import Command class ActionAssignmentsList(Lister): - """List all Intra_Extensions.""" + """List all action assignments.""" log = logging.getLogger(__name__) @@ -22,9 +22,9 @@ class ActionAssignmentsList(Lister): help='Action UUID', ) parser.add_argument( - 'category_id', - metavar='', - help='Category UUID', + 'action_category_id', + metavar='', + help='Action category UUID', ) parser.add_argument( '--intraextension', @@ -33,27 +33,29 @@ class ActionAssignmentsList(Lister): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, action_category_id, action_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, action_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if action_scope_id in data: + return data[action_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_assignments/{}/{}".format( - parsed_args.intraextension, parsed_args.action_id, parsed_args.category_id), + parsed_args.intraextension, parsed_args.action_id, parsed_args.action_category_id), authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.action_category_id, + _id)['name']) for _id in data) ) class ActionAssignmentsAdd(Command): - """List all Intra_Extensions.""" + """Add a new action assignment.""" log = logging.getLogger(__name__) @@ -65,14 +67,14 @@ class ActionAssignmentsAdd(Command): help='Action UUID', ) parser.add_argument( - 'action_category', - metavar='', - help='Action Category', + 'action_category_id', + metavar='', + help='Action category UUID', ) parser.add_argument( - 'action_category_scope', - metavar='', - help='Action Category Scope', + 'action_scope_id', + metavar='', + help='Action scope UUID', ) parser.add_argument( '--intraextension', @@ -81,12 +83,12 @@ class ActionAssignmentsAdd(Command): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, action_category_id, action_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, action_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if action_scope_id in data: + return data[action_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: @@ -94,18 +96,19 @@ class ActionAssignmentsAdd(Command): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_assignments".format(parsed_args.intraextension), post_data={ "action_id": parsed_args.action_id, - "action_category_id": parsed_args.action_category, - "action_scope_id": parsed_args.action_category_scope - }, + "action_category_id": parsed_args.action_category_id, + "action_scope_id": parsed_args.action_scope_id}, authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.action_category_id, + _id)['name']) for _id in data) ) class ActionAssignmentsDelete(Command): - """List all Intra_Extensions.""" + """Delete an action assignment.""" log = logging.getLogger(__name__) @@ -117,14 +120,14 @@ class ActionAssignmentsDelete(Command): help='Action UUID', ) parser.add_argument( - 'action_category', - metavar='', - help='Action Category', + 'action_category_id', + metavar='', + help='Action category UUID', ) parser.add_argument( - 'action_category_scope', - metavar='', - help='Action Category Scope', + 'action_scope_id', + metavar='', + help='Action scope UUID', ) parser.add_argument( '--intraextension', @@ -139,8 +142,8 @@ class ActionAssignmentsDelete(Command): self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_assignments/{}/{}/{}".format( parsed_args.intraextension, parsed_args.action_id, - parsed_args.action_category, - parsed_args.action_category_scope - ), + parsed_args.action_category_id, + parsed_args.action_scope_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/action_categories.py b/moonclient/moonclient/action_categories.py index 44818760..f4400c79 100644 --- a/moonclient/moonclient/action_categories.py +++ b/moonclient/moonclient/action_categories.py @@ -10,7 +10,7 @@ from cliff.command import Command class ActionCategoriesList(Lister): - """List all Intra_Extensions.""" + """List all action categories.""" log = logging.getLogger(__name__) @@ -35,16 +35,16 @@ class ActionCategoriesList(Lister): class ActionCategoriesAdd(Command): - """List all Intra_Extensions.""" + """Add a new action category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ActionCategoriesAdd, self).get_parser(prog_name) parser.add_argument( - 'action_category', - metavar='', - help='Action UUID', + 'action_category_name', + metavar='', + help='Action category name', ) parser.add_argument( '--intraextension', @@ -54,7 +54,7 @@ class ActionCategoriesAdd(Command): parser.add_argument( '--description', metavar='', - help='Category description', + help='Action category description', ) return parser @@ -63,9 +63,8 @@ class ActionCategoriesAdd(Command): parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_categories".format(parsed_args.intraextension), post_data={ - "action_category_name": parsed_args.action_category, - "action_category_description": parsed_args.description, - }, + "action_category_name": parsed_args.action_category_name, + "action_category_description": parsed_args.description}, authtoken=True) return ( ("id", "name", "description"), @@ -74,16 +73,16 @@ class ActionCategoriesAdd(Command): class ActionCategoriesDelete(Command): - """List all Intra_Extensions.""" + """Delete an action category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ActionCategoriesDelete, self).get_parser(prog_name) parser.add_argument( - 'action_category', + 'action_category_id', metavar='', - help='Action UUID', + help='Action category UUID', ) parser.add_argument( '--intraextension', @@ -97,7 +96,7 @@ class ActionCategoriesDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_categories/{}".format( parsed_args.intraextension, - parsed_args.action_category - ), + parsed_args.action_category_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/action_category_scope.py b/moonclient/moonclient/action_category_scope.py deleted file mode 100644 index b07c21aa..00000000 --- a/moonclient/moonclient/action_category_scope.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors -# This software is distributed under the terms and conditions of the 'Apache-2.0' -# license which can be found in the file 'LICENSE' in this package distribution -# or at 'http://www.apache.org/licenses/LICENSE-2.0'. - -import logging - -from cliff.lister import Lister -from cliff.command import Command - - -class ActionCategoryScopeList(Lister): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ActionCategoryScopeList, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - authtoken=True) - self.log.debug(data) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class ActionCategoryScopeAdd(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ActionCategoryScopeAdd, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_name', - metavar='', - help='Scope Name', - ) - parser.add_argument( - '--description', - metavar='', - help='Description', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - post_data={ - "action_scope_name": parsed_args.scope_name, - "action_scope_description": parsed_args.description, - }, - authtoken=True) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class ActionCategoryScopeDelete(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ActionCategoryScopeDelete, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_id', - metavar='', - help='Scope UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}/{}".format( - parsed_args.intraextension, - parsed_args.category, - parsed_args.scope_id - ), - method="DELETE", - authtoken=True) \ No newline at end of file diff --git a/moonclient/moonclient/action_scopes.py b/moonclient/moonclient/action_scopes.py new file mode 100644 index 00000000..53ed2604 --- /dev/null +++ b/moonclient/moonclient/action_scopes.py @@ -0,0 +1,123 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. + +import logging + +from cliff.lister import Lister +from cliff.command import Command + + +class ActionScopesList(Lister): + """List all action scopes.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ActionScopesList, self).get_parser(prog_name) + parser.add_argument( + 'action_category_id', + metavar='', + help='Action category UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( + parsed_args.intraextension, parsed_args.action_category_id), + authtoken=True) + self.log.debug(data) + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class ActionScopesAdd(Command): + """Add a new action scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ActionScopesAdd, self).get_parser(prog_name) + parser.add_argument( + 'action_category_id', + metavar='', + help='Action category UUID', + ) + parser.add_argument( + 'action_scope_name', + metavar='', + help='Action scope name', + ) + parser.add_argument( + '--description', + metavar='', + help='Description', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}".format( + parsed_args.intraextension, parsed_args.action_category_id), + post_data={ + "action_scope_name": parsed_args.action_scope_name, + "action_scope_description": parsed_args.description, + }, + authtoken=True) + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class ActionScopesDelete(Command): + """Delete an action scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ActionScopesDelete, self).get_parser(prog_name) + parser.add_argument( + 'action_category_id', + metavar='', + help='Action category UUID', + ) + parser.add_argument( + 'action_scope_id', + metavar='', + help='Action scope UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_scopes/{}/{}".format( + parsed_args.intraextension, + parsed_args.action_category_id, + parsed_args.action_scope_id + ), + method="DELETE", + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/actions.py b/moonclient/moonclient/actions.py index f5947b32..f2550579 100644 --- a/moonclient/moonclient/actions.py +++ b/moonclient/moonclient/actions.py @@ -10,7 +10,7 @@ from cliff.command import Command class ActionsList(Lister): - """List all Intra_Extensions.""" + """List all actions.""" log = logging.getLogger(__name__) @@ -35,7 +35,7 @@ class ActionsList(Lister): class ActionsAdd(Command): - """List all Intra_Extensions.""" + """Add a new action.""" log = logging.getLogger(__name__) @@ -61,11 +61,10 @@ class ActionsAdd(Command): def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/actions".format(parsed_args.intraextension), + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/actions".format(parsed_args.intraextension), # TODO: check method POST? post_data={ "action_name": parsed_args.action_name, - "action_description": parsed_args.description, - }, + "action_description": parsed_args.description}, authtoken=True) return ( ("id", "name", "description"), @@ -74,14 +73,14 @@ class ActionsAdd(Command): class ActionsDelete(Command): - """List all Intra_Extensions.""" + """Delete an action.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ActionsDelete, self).get_parser(prog_name) parser.add_argument( - 'action', + 'action_id', metavar='', help='Action UUID', ) @@ -97,7 +96,7 @@ class ActionsDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/actions/{}".format( parsed_args.intraextension, - parsed_args.action - ), + parsed_args.action_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/configuration.py b/moonclient/moonclient/configuration.py index 09f241d7..3a77723c 100644 --- a/moonclient/moonclient/configuration.py +++ b/moonclient/moonclient/configuration.py @@ -45,7 +45,7 @@ class AggregationAlgorithmsList(Lister): class SubMetaRuleAlgorithmsList(Lister): - """List all aggregation algorithms.""" + """List all sub meta rule algorithms.""" log = logging.getLogger(__name__) diff --git a/moonclient/moonclient/intraextension.py b/moonclient/moonclient/intraextension.py index eba6e614..569a99ff 100644 --- a/moonclient/moonclient/intraextension.py +++ b/moonclient/moonclient/intraextension.py @@ -12,7 +12,7 @@ import os class IntraExtensionSelect(Command): - """Select a Intra_Extension to work with.""" + """Select an Intra_Extension to work with.""" log = logging.getLogger(__name__) @@ -84,8 +84,6 @@ class IntraExtensionList(Lister): def take_action(self, parsed_args): ie = self.app.get_url("/v3/OS-MOON/intra_extensions", authtoken=True) - # if "intra_extensions" not in ie: - # raise Exception("Error in command {}".format(ie)) return ( ("id", "name", "model"), ((_id, ie[_id]["name"], ie[_id]["model"]) for _id in ie.keys()) @@ -107,10 +105,9 @@ class IntraExtensionDelete(Command): return parser def take_action(self, parsed_args): - ie = self.app.get_url("/v3/OS-MOON/intra_extensions/{}".format(parsed_args.uuid), - method="DELETE", - authtoken=True) - return + self.app.get_url("/v3/OS-MOON/intra_extensions/{}".format(parsed_args.uuid), + method="DELETE", + authtoken=True) class IntraExtensionShow(ShowOne): diff --git a/moonclient/moonclient/logs.py b/moonclient/moonclient/logs.py index 03c16128..6a1501e9 100644 --- a/moonclient/moonclient/logs.py +++ b/moonclient/moonclient/logs.py @@ -11,7 +11,7 @@ from cliff.show import ShowOne class LogsList(Lister): - """List all aggregation algorithms.""" + """List all logs.""" log = logging.getLogger(__name__) diff --git a/moonclient/moonclient/metarules.py b/moonclient/moonclient/metarules.py index 51f6a97f..a29ab45f 100644 --- a/moonclient/moonclient/metarules.py +++ b/moonclient/moonclient/metarules.py @@ -57,8 +57,8 @@ class AggregationAlgorithmSet(Command): def get_parser(self, prog_name): parser = super(AggregationAlgorithmSet, self).get_parser(prog_name) parser.add_argument( - 'aggregation_algorithm', - metavar='', + 'aggregation_algorithm_id', + metavar='', help='Aggregation algorithm UUID', ) parser.add_argument( @@ -66,6 +66,11 @@ class AggregationAlgorithmSet(Command): metavar='', help='IntraExtension UUID', ) + parser.add_argument( + '--description', + metavar='', + help='Action description', + ) return parser def take_action(self, parsed_args): @@ -73,7 +78,9 @@ class AggregationAlgorithmSet(Command): parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/aggregation_algorithm".format( parsed_args.intraextension), - post_data={"aggregation_algorithm_id": parsed_args.aggregation_algorithm}, + post_data={ + "aggregation_algorithm_id": parsed_args.aggregation_algorithm_id, + "aggregation_algorithm_description": parsed_args.description}, authtoken=True) algorithm = self.__get_aggregation_algorithm_from_id(data['content']) return ( @@ -96,23 +103,23 @@ class SubMetaRuleShow(Lister): ) return parser - def __get_subject_category_name(self, intraextension, category_id): + def __get_subject_category_name(self, intraextension, subject_category_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_categories".format(intraextension), authtoken=True) - if category_id in data: - return data[category_id]["name"] + if subject_category_id in data: + return data[subject_category_id]["name"] - def __get_object_category_name(self, intraextension, category_id): + def __get_object_category_name(self, intraextension, object_category_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_categories".format(intraextension), authtoken=True) - if category_id in data: - return data[category_id]["name"] + if object_category_id in data: + return data[object_category_id]["name"] - def __get_action_category_name(self, intraextension, category_id): + def __get_action_category_name(self, intraextension, action_category_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/action_categories".format(intraextension), authtoken=True) - if category_id in data: - return data[category_id]["name"] + if action_category_id in data: + return data[action_category_id]["name"] def take_action(self, parsed_args): if not parsed_args.intraextension: @@ -140,7 +147,7 @@ class SubMetaRuleSet(Command): def get_parser(self, prog_name): parser = super(SubMetaRuleSet, self).get_parser(prog_name) parser.add_argument( - 'id', + 'submetarule_id', metavar='', help='Sub Meta Rule UUID (example: "12346")', ) @@ -155,19 +162,19 @@ class SubMetaRuleSet(Command): help='name to set (example: "my new sub meta rule")', ) parser.add_argument( - '--subject_categories', - metavar='', - help='subject_categories UUID (example: "12346,")', + '--subject_category_id', + metavar='', + help='subject category UUID (example: "12346,")', ) parser.add_argument( - '--action_categories', - metavar='', - help='action_categories UUID (example: "12346,0987654")', + '--object_category_id', + metavar='', + help='object category UUID (example: "12346")', ) parser.add_argument( - '--object_categories', - metavar='', - help='object_categories UUID (example: "12346")', + '--action_category_id', + metavar='', + help='action category UUID (example: "12346,0987654")', ) parser.add_argument( '--intraextension', @@ -179,25 +186,25 @@ class SubMetaRuleSet(Command): def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension - subject_categories = parsed_args.subject_categories - if not subject_categories: - subject_categories = "" - object_categories = parsed_args.object_categories - if not object_categories: - object_categories = "" - action_categories = parsed_args.action_categories - if not action_categories: - action_categories = "" - subject_categories = map(lambda x: x.strip(), subject_categories.split(',')) - action_categories = map(lambda x: x.strip(), action_categories.split(',')) - object_categories = map(lambda x: x.strip(), object_categories.split(',')) + subject_category_id = parsed_args.subject_category_id + if not subject_category_id: + subject_category_id = "" + object_category_id = parsed_args.object_category_id + if not object_category_id: + object_category_id = "" + action_category_id = parsed_args.action_category_id + if not action_category_id: + action_category_id = "" + subject_category_id = map(lambda x: x.strip(), subject_category_id.split(',')) + action_category_id = map(lambda x: x.strip(), action_category_id.split(',')) + object_category_id = map(lambda x: x.strip(), object_category_id.split(',')) sub_meta_rule_id = parsed_args.id post_data = dict() post_data["sub_meta_rule_name"] = parsed_args.name post_data["sub_meta_rule_algorithm"] = parsed_args.algorithm - post_data["sub_meta_rule_subject_categories"] = filter(lambda x: x, subject_categories) - post_data["sub_meta_rule_object_categories"] = filter(lambda x: x, object_categories) - post_data["sub_meta_rule_action_categories"] = filter(lambda x: x, action_categories) + post_data["sub_meta_rule_subject_categories"] = filter(lambda x: x, subject_category_id) # TODO: check for multiple categories + post_data["sub_meta_rule_object_categories"] = filter(lambda x: x, object_category_id) + post_data["sub_meta_rule_action_categories"] = filter(lambda x: x, action_category_id) self.app.get_url("/v3/OS-MOON/intra_extensions/{}/sub_meta_rules/{}".format(parsed_args.intraextension, sub_meta_rule_id), post_data=post_data, method="POST", diff --git a/moonclient/moonclient/object_assignments.py b/moonclient/moonclient/object_assignments.py index 611fdb13..b5f89002 100644 --- a/moonclient/moonclient/object_assignments.py +++ b/moonclient/moonclient/object_assignments.py @@ -10,7 +10,7 @@ from cliff.command import Command class ObjectAssignmentsList(Lister): - """List all Intra_Extensions.""" + """List all object assignments.""" log = logging.getLogger(__name__) @@ -22,9 +22,9 @@ class ObjectAssignmentsList(Lister): help='Object UUID', ) parser.add_argument( - 'category_id', - metavar='', - help='Category UUID', + 'object_category_id', + metavar='', + help='Object category UUID', ) parser.add_argument( '--intraextension', @@ -33,27 +33,29 @@ class ObjectAssignmentsList(Lister): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, object_category_id, object_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, object_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if object_scope_id in data: + return data[object_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_assignments/{}/{}".format( - parsed_args.intraextension, parsed_args.object_id, parsed_args.category_id), + parsed_args.intraextension, parsed_args.object_id, parsed_args.object_category_id), authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.object_category_id, + _id)['name']) for _id in data) ) class ObjectAssignmentsAdd(Command): - """List all Intra_Extensions.""" + """Add a new object assignment.""" log = logging.getLogger(__name__) @@ -65,14 +67,14 @@ class ObjectAssignmentsAdd(Command): help='Object UUID', ) parser.add_argument( - 'object_category', - metavar='', - help='Object Category', + 'object_category_id', + metavar='', + help='Object category UUID', ) parser.add_argument( - 'object_category_scope', - metavar='', - help='Object Category Scope', + 'object_scope_id', + metavar='', + help='Object scope UUID', ) parser.add_argument( '--intraextension', @@ -81,12 +83,12 @@ class ObjectAssignmentsAdd(Command): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, object_category_id, object_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, object_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if object_scope_id in data: + return data[object_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: @@ -94,18 +96,19 @@ class ObjectAssignmentsAdd(Command): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_assignments".format(parsed_args.intraextension), post_data={ "object_id": parsed_args.object_id, - "object_category_id": parsed_args.object_category, - "object_scope_id": parsed_args.object_category_scope - }, + "object_category_id": parsed_args.object_category_id, + "object_scope_id": parsed_args.object_scope_id}, authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.object_category_id, + _id)['name']) for _id in data) ) class ObjectAssignmentsDelete(Command): - """List all Intra_Extensions.""" + """Delete an object assignment.""" log = logging.getLogger(__name__) @@ -117,14 +120,14 @@ class ObjectAssignmentsDelete(Command): help='Object UUID', ) parser.add_argument( - 'object_category', - metavar='', - help='Object Category', + 'object_category_id', + metavar='', + help='Object category UUID', ) parser.add_argument( - 'object_category_scope', - metavar='', - help='Object Category Scope', + 'object_scope_id', + metavar='', + help='Object scope UUID', ) parser.add_argument( '--intraextension', @@ -139,8 +142,8 @@ class ObjectAssignmentsDelete(Command): self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_assignments/{}/{}/{}".format( parsed_args.intraextension, parsed_args.object_id, - parsed_args.object_category, - parsed_args.object_category_scope - ), + parsed_args.object_category_id, + parsed_args.object_scope_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/object_categories.py b/moonclient/moonclient/object_categories.py index 6c0076ff..c86586f3 100644 --- a/moonclient/moonclient/object_categories.py +++ b/moonclient/moonclient/object_categories.py @@ -35,16 +35,16 @@ class ObjectCategoriesList(Lister): class ObjectCategoriesAdd(Command): - """List all Intra_Extensions.""" + """Add a new object category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ObjectCategoriesAdd, self).get_parser(prog_name) parser.add_argument( - 'object_category', - metavar='', - help='Object UUID', + 'object_category_name', + metavar='', + help='Object category name', ) parser.add_argument( '--intraextension', @@ -54,7 +54,7 @@ class ObjectCategoriesAdd(Command): parser.add_argument( '--description', metavar='', - help='Category description', + help='Object category description', ) return parser @@ -63,9 +63,8 @@ class ObjectCategoriesAdd(Command): parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_categories".format(parsed_args.intraextension), post_data={ - "object_category_name": parsed_args.object_category, - "object_category_description": parsed_args.description, - }, + "object_category_name": parsed_args.object_category_name, + "object_category_description": parsed_args.description}, authtoken=True) return ( ("id", "name", "description"), @@ -74,16 +73,16 @@ class ObjectCategoriesAdd(Command): class ObjectCategoriesDelete(Command): - """List all Intra_Extensions.""" + """Delete an object category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ObjectCategoriesDelete, self).get_parser(prog_name) parser.add_argument( - 'object_category', + 'object_category_id', metavar='', - help='Object UUID', + help='Object category UUID', ) parser.add_argument( '--intraextension', @@ -97,7 +96,7 @@ class ObjectCategoriesDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_categories/{}".format( parsed_args.intraextension, - parsed_args.object_category - ), + parsed_args.object_category_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/object_category_scope.py b/moonclient/moonclient/object_category_scope.py deleted file mode 100644 index 3bd10b58..00000000 --- a/moonclient/moonclient/object_category_scope.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors -# This software is distributed under the terms and conditions of the 'Apache-2.0' -# license which can be found in the file 'LICENSE' in this package distribution -# or at 'http://www.apache.org/licenses/LICENSE-2.0'. - -import logging - -from cliff.lister import Lister -from cliff.command import Command - - -class ObjectCategoryScopeList(Lister): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ObjectCategoryScopeList, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - authtoken=True) - self.log.debug(data) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class ObjectCategoryScopeAdd(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ObjectCategoryScopeAdd, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_name', - metavar='', - help='Scope Name', - ) - parser.add_argument( - '--description', - metavar='', - help='Description', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - post_data={ - "object_scope_name": parsed_args.scope_name, - "object_scope_description": parsed_args.description, - }, - authtoken=True) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class ObjectCategoryScopeDelete(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(ObjectCategoryScopeDelete, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_id', - metavar='', - help='Scope UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}/{}".format( - parsed_args.intraextension, - parsed_args.category, - parsed_args.scope_id - ), - method="DELETE", - authtoken=True) \ No newline at end of file diff --git a/moonclient/moonclient/object_scopes.py b/moonclient/moonclient/object_scopes.py new file mode 100644 index 00000000..0fbd757d --- /dev/null +++ b/moonclient/moonclient/object_scopes.py @@ -0,0 +1,123 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. + +import logging + +from cliff.lister import Lister +from cliff.command import Command + + +class ObjectScopesList(Lister): + """List all object scopes.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ObjectScopesList, self).get_parser(prog_name) + parser.add_argument( + 'object_category_id', + metavar='', + help='Object category UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( + parsed_args.intraextension, parsed_args.object_category_id), + authtoken=True) + self.log.debug(data) # TODO: why log here? + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class ObjectScopesAdd(Command): + """Add a new object scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ObjectScopesAdd, self).get_parser(prog_name) + parser.add_argument( + 'object_category_id', + metavar='', + help='Object category UUID', + ) + parser.add_argument( + 'object_scope_name', + metavar='', + help='Object scope name', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + parser.add_argument( + '--description', + metavar='', + help='Description', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}".format( + parsed_args.intraextension, parsed_args.object_category_id), + post_data={ + "object_scope_name": parsed_args.object_scope_name, + "object_scope_description": parsed_args.description, + }, + authtoken=True) + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class ObjectScopesDelete(Command): + """Delete an object scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(ObjectScopesDelete, self).get_parser(prog_name) + parser.add_argument( + 'object_category_id', + metavar='', + help='Object category UUID', + ) + parser.add_argument( + 'object_scope_id', + metavar='', + help='Object scope UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + self.app.get_url("/v3/OS-MOON/intra_extensions/{}/object_scopes/{}/{}".format( + parsed_args.intraextension, + parsed_args.object_category_id, + parsed_args.object_scope_id + ), + method="DELETE", + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/objects.py b/moonclient/moonclient/objects.py index f4166fd0..0f6fef06 100644 --- a/moonclient/moonclient/objects.py +++ b/moonclient/moonclient/objects.py @@ -10,7 +10,7 @@ from cliff.command import Command class ObjectsList(Lister): - """List all Intra_Extensions.""" + """List all objects.""" log = logging.getLogger(__name__) @@ -35,16 +35,16 @@ class ObjectsList(Lister): class ObjectsAdd(Command): - """List all Intra_Extensions.""" + """Add a new object.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(ObjectsAdd, self).get_parser(prog_name) parser.add_argument( - 'object_id', - metavar='', - help='Object UUID', + 'object_name', + metavar='', + help='Object name', ) parser.add_argument( '--intraextension', @@ -63,9 +63,8 @@ class ObjectsAdd(Command): parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/objects".format(parsed_args.intraextension), post_data={ - "object_name": parsed_args.object_id, - "object_description": parsed_args.description, - }, + "object_name": parsed_args.object_name, + "object_description": parsed_args.description}, authtoken=True) return ( ("id", "name", "description"), @@ -81,7 +80,7 @@ class ObjectsDelete(Command): def get_parser(self, prog_name): parser = super(ObjectsDelete, self).get_parser(prog_name) parser.add_argument( - 'object', + 'object_id', metavar='', help='Object UUID', ) @@ -97,7 +96,7 @@ class ObjectsDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/objects/{}".format( parsed_args.intraextension, - parsed_args.object - ), + parsed_args.object_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/rules.py b/moonclient/moonclient/rules.py index 6b4be6f8..dcf1a8f0 100644 --- a/moonclient/moonclient/rules.py +++ b/moonclient/moonclient/rules.py @@ -11,7 +11,7 @@ from cliff.show import ShowOne class RulesList(Lister): - """List all aggregation algorithms.""" + """List all rules.""" log = logging.getLogger(__name__) @@ -120,7 +120,7 @@ class RulesList(Lister): class RuleAdd(Command): - """List the current aggregation algorithm.""" + """Add a new rule.""" log = logging.getLogger(__name__) @@ -228,7 +228,7 @@ class RuleAdd(Command): class RuleDelete(Command): - """Set the current aggregation algorithm.""" + """Delete a new rule.""" log = logging.getLogger(__name__) diff --git a/moonclient/moonclient/shell.py b/moonclient/moonclient/shell.py index 5efef032..60a5355f 100644 --- a/moonclient/moonclient/shell.py +++ b/moonclient/moonclient/shell.py @@ -84,6 +84,7 @@ class MoonClient(App): if not self._tenant_id: self._tenant_id = self.get_url("/v3/projects?name={}".format(self._tenant_name), authtoken=True)["projects"][0]["id"] + # TODO: change '/v3/projects?name={}' return self._tenant_id @property @@ -101,6 +102,7 @@ class MoonClient(App): def get_tenant_uuid(self, tenant_name): return self.get_url("/v3/projects?name={}".format(tenant_name), authtoken=True)["projects"][0]["id"] + # TODO: change '/v3/projects?name={}' def get_url(self, url, post_data=None, delete_data=None, method="GET", authtoken=None): if post_data: diff --git a/moonclient/moonclient/subject_assignments.py b/moonclient/moonclient/subject_assignments.py index 8978def5..5ca31291 100644 --- a/moonclient/moonclient/subject_assignments.py +++ b/moonclient/moonclient/subject_assignments.py @@ -10,7 +10,7 @@ from cliff.command import Command class SubjectAssignmentsList(Lister): - """List all Intra_Extensions.""" + """List all subject assignments.""" log = logging.getLogger(__name__) @@ -22,9 +22,9 @@ class SubjectAssignmentsList(Lister): help='Subject UUID', ) parser.add_argument( - 'category_id', - metavar='', - help='Category UUID', + 'subject_category_id', + metavar='', + help='Subject category UUID', ) parser.add_argument( '--intraextension', @@ -33,27 +33,29 @@ class SubjectAssignmentsList(Lister): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, subject_category_id, subject_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, subject_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if subject_scope_id in data: + return data[subject_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_assignments/{}/{}".format( - parsed_args.intraextension, parsed_args.subject_id, parsed_args.category_id), + parsed_args.intraextension, parsed_args.subject_id, parsed_args.subject_category_id), authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.subject_category_id, + _id)['name']) for _id in data) ) class SubjectAssignmentsAdd(Command): - """List all Intra_Extensions.""" + """Add a new subject assignment.""" log = logging.getLogger(__name__) @@ -65,14 +67,14 @@ class SubjectAssignmentsAdd(Command): help='Subject UUID', ) parser.add_argument( - 'subject_category', - metavar='', - help='Subject Category', + 'subject_category_id', + metavar='', + help='Subject category id', ) parser.add_argument( - 'subject_category_scope', - metavar='', - help='Subject Category Scope', + 'subject_scope_id', + metavar='', + help='Subject scope UUID', ) parser.add_argument( '--intraextension', @@ -81,12 +83,12 @@ class SubjectAssignmentsAdd(Command): ) return parser - def __get_scope_from_id(self, intraextension_id, category_id, scope_id): + def __get_scope_from_id(self, intraextension_id, subject_category_id, subject_scope_id): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( - intraextension_id, category_id), + intraextension_id, subject_category_id), authtoken=True) - if scope_id in data: - return data[scope_id] + if subject_scope_id in data: + return data[subject_scope_id] def take_action(self, parsed_args): if not parsed_args.intraextension: @@ -94,18 +96,19 @@ class SubjectAssignmentsAdd(Command): data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_assignments".format(parsed_args.intraextension), post_data={ "subject_id": parsed_args.subject_id, - "subject_category_id": parsed_args.subject_category, - "subject_scope_id": parsed_args.subject_category_scope - }, + "subject_category_id": parsed_args.subject_category_id, + "subject_scope_id": parsed_args.subject_scope_id}, authtoken=True) return ( ("id", "name"), - ((_id, self.__get_scope_from_id(parsed_args.intraextension, parsed_args.category_id, _id)['name']) for _id in data) + ((_id, self.__get_scope_from_id(parsed_args.intraextension, + parsed_args.subject_category_id, + _id)['name']) for _id in data) ) class SubjectAssignmentsDelete(Command): - """List all Intra_Extensions.""" + """Delete a subject assignment.""" log = logging.getLogger(__name__) @@ -117,14 +120,14 @@ class SubjectAssignmentsDelete(Command): help='Subject UUID', ) parser.add_argument( - 'subject_category', - metavar='', - help='Subject Category', + 'subject_category_id', + metavar='', + help='Subject category UUID', ) parser.add_argument( - 'subject_category_scope', - metavar='', - help='Subject Category Scope', + 'subject_scope_id', + metavar='', + help='Subject scope UUID', ) parser.add_argument( '--intraextension', @@ -139,8 +142,8 @@ class SubjectAssignmentsDelete(Command): self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_assignments/{}/{}/{}".format( parsed_args.intraextension, parsed_args.subject_id, - parsed_args.subject_category, - parsed_args.subject_category_scope - ), + parsed_args.subject_category_id, + parsed_args.subject_scope_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/subject_categories.py b/moonclient/moonclient/subject_categories.py index 274ab211..e7ecfe6a 100644 --- a/moonclient/moonclient/subject_categories.py +++ b/moonclient/moonclient/subject_categories.py @@ -10,7 +10,7 @@ from cliff.command import Command class SubjectCategoriesList(Lister): - """List all Intra_Extensions.""" + """List all subject categories.""" log = logging.getLogger(__name__) @@ -35,16 +35,16 @@ class SubjectCategoriesList(Lister): class SubjectCategoriesAdd(Command): - """List all Intra_Extensions.""" + """Add a new subject category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(SubjectCategoriesAdd, self).get_parser(prog_name) parser.add_argument( - 'subject_category', - metavar='', - help='Subject UUID', + 'subject_category_name', + metavar='', + help='Subject category name', ) parser.add_argument( '--intraextension', @@ -54,7 +54,7 @@ class SubjectCategoriesAdd(Command): parser.add_argument( '--description', metavar='', - help='Category description', + help='Subject category description', ) return parser @@ -63,9 +63,8 @@ class SubjectCategoriesAdd(Command): parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_categories".format(parsed_args.intraextension), post_data={ - "subject_category_name": parsed_args.subject_category, - "subject_category_description": parsed_args.description, - }, + "subject_category_name": parsed_args.subject_category_name, + "subject_category_description": parsed_args.description}, authtoken=True) return ( ("id", "name", "description"), @@ -74,16 +73,16 @@ class SubjectCategoriesAdd(Command): class SubjectCategoriesDelete(Command): - """List all Intra_Extensions.""" + """Delete a subject category.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(SubjectCategoriesDelete, self).get_parser(prog_name) parser.add_argument( - 'subject_category', + 'subject_category_id', metavar='', - help='Subject UUID', + help='Subject category UUID', ) parser.add_argument( '--intraextension', @@ -97,7 +96,7 @@ class SubjectCategoriesDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_categories/{}".format( parsed_args.intraextension, - parsed_args.subject_category - ), + parsed_args.subject_category_id), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/subject_category_scope.py b/moonclient/moonclient/subject_category_scope.py deleted file mode 100644 index e6329c25..00000000 --- a/moonclient/moonclient/subject_category_scope.py +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors -# This software is distributed under the terms and conditions of the 'Apache-2.0' -# license which can be found in the file 'LICENSE' in this package distribution -# or at 'http://www.apache.org/licenses/LICENSE-2.0'. - -import logging - -from cliff.lister import Lister -from cliff.command import Command - - -class SubjectCategoryScopeList(Lister): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(SubjectCategoryScopeList, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - authtoken=True) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class SubjectCategoryScopeAdd(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(SubjectCategoryScopeAdd, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_name', - metavar='', - help='Scope Name', - ) - parser.add_argument( - '--description', - metavar='', - help='Description', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( - parsed_args.intraextension, parsed_args.category), - post_data={ - "subject_scope_name": parsed_args.scope_name, - "subject_scope_description": parsed_args.description, - }, - authtoken=True) - return ( - ("id", "name", "description"), - ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) - ) - - -class SubjectCategoryScopeDelete(Command): - """List all Intra_Extensions.""" - - log = logging.getLogger(__name__) - - def get_parser(self, prog_name): - parser = super(SubjectCategoryScopeDelete, self).get_parser(prog_name) - parser.add_argument( - 'category', - metavar='', - help='Category UUID', - ) - parser.add_argument( - 'scope_id', - metavar='', - help='Scope UUID', - ) - parser.add_argument( - '--intraextension', - metavar='', - help='IntraExtension UUID', - ) - return parser - - def take_action(self, parsed_args): - if not parsed_args.intraextension: - parsed_args.intraextension = self.app.intraextension - self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}/{}".format( - parsed_args.intraextension, - parsed_args.category, - parsed_args.scope_id - ), - method="DELETE", - authtoken=True) \ No newline at end of file diff --git a/moonclient/moonclient/subject_scopes.py b/moonclient/moonclient/subject_scopes.py new file mode 100644 index 00000000..f960a1d0 --- /dev/null +++ b/moonclient/moonclient/subject_scopes.py @@ -0,0 +1,123 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. + +import logging + +from cliff.lister import Lister +from cliff.command import Command + + +class SubjectScopesList(Lister): + """List all subject scopes.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(SubjectScopesList, self).get_parser(prog_name) + parser.add_argument( + 'subject_category_id', + metavar='', + help='Subject category UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( + parsed_args.intraextension, + parsed_args.subject_category_id), + authtoken=True) + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class SubjectScopesAdd(Command): + """Add a new subject scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(SubjectScopesAdd, self).get_parser(prog_name) + parser.add_argument( + 'subject_category_id', + metavar='', + help='Subject category UUID', + ) + parser.add_argument( + 'subject_scope_name', + metavar='', + help='Subject scope Name', + ) + parser.add_argument( + '--description', + metavar='', + help='Description', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}".format( + parsed_args.intraextension, parsed_args.subject_category_id), + post_data={ + "subject_scope_name": parsed_args.subject_scope_name, + "subject_scope_description": parsed_args.description, + }, + authtoken=True) + return ( + ("id", "name", "description"), + ((_id, data[_id]["name"], data[_id]["description"]) for _id in data) + ) + + +class SubjectScopesDelete(Command): + """Delete a subject scope.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(SubjectScopesDelete, self).get_parser(prog_name) + parser.add_argument( + 'subject_category_id', + metavar='', + help='Subject category UUID', + ) + parser.add_argument( + 'subject_scope_id', + metavar='', + help='Subject scope UUID', + ) + parser.add_argument( + '--intraextension', + metavar='', + help='IntraExtension UUID', + ) + return parser + + def take_action(self, parsed_args): + if not parsed_args.intraextension: + parsed_args.intraextension = self.app.intraextension + self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subject_scopes/{}/{}".format( + parsed_args.intraextension, + parsed_args.subject_category_id, + parsed_args.subject_scope_id + ), + method="DELETE", + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/subjects.py b/moonclient/moonclient/subjects.py index 69286343..6eebcfb8 100644 --- a/moonclient/moonclient/subjects.py +++ b/moonclient/moonclient/subjects.py @@ -10,7 +10,7 @@ from cliff.command import Command class SubjectsList(Lister): - """List all Intra_Extensions.""" + """List all subjects.""" log = logging.getLogger(__name__) @@ -35,14 +35,14 @@ class SubjectsList(Lister): class SubjectsAdd(Command): - """List all Intra_Extensions.""" + """add a new subject.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(SubjectsAdd, self).get_parser(prog_name) parser.add_argument( - 'subject', + 'subject_name', metavar='', help='Subject name', ) @@ -51,13 +51,21 @@ class SubjectsAdd(Command): metavar='', help='IntraExtension UUID', ) + parser.add_argument( + '--description', + metavar='', + help='Subject description', + ) return parser def take_action(self, parsed_args): if not parsed_args.intraextension: parsed_args.intraextension = self.app.intraextension data = self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subjects".format(parsed_args.intraextension), - post_data={"subject_name": parsed_args.subject}, + post_data={ + "subject_name": parsed_args.subject_name, + "subject_description": parsed_args.description + }, authtoken=True) return ( ("id", "name", "Keystone ID"), @@ -66,14 +74,14 @@ class SubjectsAdd(Command): class SubjectsDelete(Command): - """List all Intra_Extensions.""" + """Delete a subject.""" log = logging.getLogger(__name__) def get_parser(self, prog_name): parser = super(SubjectsDelete, self).get_parser(prog_name) parser.add_argument( - 'subject', + 'subject_id', metavar='', help='Subject UUID', ) @@ -89,7 +97,8 @@ class SubjectsDelete(Command): parsed_args.intraextension = self.app.intraextension self.app.get_url("/v3/OS-MOON/intra_extensions/{}/subjects/{}".format( parsed_args.intraextension, - parsed_args.subject - ), + parsed_args.subject_id + ), method="DELETE", - authtoken=True) \ No newline at end of file + authtoken=True + ) \ No newline at end of file diff --git a/moonclient/moonclient/tenants.py b/moonclient/moonclient/tenants.py index cc7c1de0..c1f99af6 100644 --- a/moonclient/moonclient/tenants.py +++ b/moonclient/moonclient/tenants.py @@ -29,8 +29,8 @@ class TenantList(Lister): tenants[tenant_id]["description"], tenants[tenant_id]["intra_authz_extension_id"], tenants[tenant_id]["intra_admin_extension_id"], - ) - for tenant_id in tenants) + ) + for tenant_id in tenants) ) @@ -73,8 +73,8 @@ class TenantAdd(Command): if parsed_args.desc: post_data["tenant_description"] = parsed_args.desc tenants = self.app.get_url("/v3/OS-MOON/tenants", - post_data=post_data, - authtoken=True) + post_data=post_data, + authtoken=True) return ( ("id", "name", "description", "intra_authz_extension_id", "intra_admin_extension_id"), (( @@ -83,13 +83,13 @@ class TenantAdd(Command): tenants[tenant_id]["description"], tenants[tenant_id]["intra_authz_extension_id"], tenants[tenant_id]["intra_admin_extension_id"], - ) + ) for tenant_id in tenants) ) class TenantShow(Command): - """Show information about a tenant.""" + """Show information of one tenant.""" log = logging.getLogger(__name__) @@ -104,7 +104,7 @@ class TenantShow(Command): def take_action(self, parsed_args): tenants = self.app.get_url("/v3/OS-MOON/tenants/{}".format(parsed_args.tenant_name), - authtoken=True) + authtoken=True) return ( ("id", "name", "description", "intra_authz_extension_id", "intra_admin_extension_id"), (( @@ -113,7 +113,7 @@ class TenantShow(Command): tenants[tenant_id]["description"], tenants[tenant_id]["intra_authz_extension_id"], tenants[tenant_id]["intra_admin_extension_id"], - ) + ) for tenant_id in tenants) ) @@ -164,8 +164,8 @@ class TenantSet(Command): if parsed_args.desc is not None: post_data["tenant_description"] = parsed_args.desc tenants = self.app.get_url("/v3/OS-MOON/tenants/{}".format(post_data["tenant_id"]), - post_data=post_data, - authtoken=True) + post_data=post_data, + authtoken=True) return ( ("id", "name", "description", "authz", "admin"), (( @@ -174,13 +174,13 @@ class TenantSet(Command): tenants[tenant_id]["description"], tenants[tenant_id]["intra_authz_extension_id"], tenants[tenant_id]["intra_admin_extension_id"], - ) + ) for tenant_id in tenants) ) class TenantDelete(Command): - """Modify a tenant.""" + """Delete a tenant.""" log = logging.getLogger(__name__) @@ -195,5 +195,5 @@ class TenantDelete(Command): def take_action(self, parsed_args): self.app.get_url("/v3/OS-MOON/tenants/{}".format(parsed_args.tenant_id), - method="DELETE", - authtoken=True) + method="DELETE", + authtoken=True) diff --git a/moonclient/setup.py b/moonclient/setup.py index b2bf612b..5e090529 100644 --- a/moonclient/setup.py +++ b/moonclient/setup.py @@ -58,9 +58,9 @@ setup( 'moon = moonclient.shell:main' ], 'moon.client': [ - 'templates_list = moonclient.configuration:TemplatesList', - 'aggregation_algorithms_list = moonclient.configuration:AggregationAlgorithmsList', - 'submetarule_algorithms_list = moonclient.configuration:SubMetaRuleAlgorithmsList', + 'template_list = moonclient.configuration:TemplatesList', + 'aggregation_algorithm_list = moonclient.configuration:AggregationAlgorithmsList', + 'submetarule_algorithm_list = moonclient.configuration:SubMetaRuleAlgorithmsList', 'tenant_add = moonclient.tenants:TenantAdd', 'tenant_set = moonclient.tenants:TenantSet', @@ -83,15 +83,6 @@ setup( 'action_list = moonclient.actions:ActionsList', 'action_add = moonclient.actions:ActionsAdd', 'action_delete = moonclient.actions:ActionsDelete', - 'action_assignment_list = moonclient.action_assignments:ActionAssignmentsList', - 'action_assignment_add = moonclient.action_assignments:ActionAssignmentsAdd', - 'action_assignment_delete = moonclient.action_assignments:ActionAssignmentsDelete', - 'object_assignment_list = moonclient.object_assignments:ObjectAssignmentsList', - 'object_assignment_add = moonclient.object_assignments:ObjectAssignmentsAdd', - 'object_assignment_delete = moonclient.object_assignments:ObjectAssignmentsDelete', - 'subject_assignment_list = moonclient.subject_assignments:SubjectAssignmentsList', - 'subject_assignment_add = moonclient.subject_assignments:SubjectAssignmentsAdd', - 'subject_assignment_delete = moonclient.subject_assignments:SubjectAssignmentsDelete', 'subject_category_list = moonclient.subject_categories:SubjectCategoriesList', 'subject_category_add = moonclient.subject_categories:SubjectCategoriesAdd', 'subject_category_delete = moonclient.subject_categories:SubjectCategoriesDelete', @@ -101,15 +92,24 @@ setup( 'action_category_list = moonclient.action_categories:ActionCategoriesList', 'action_category_add = moonclient.action_categories:ActionCategoriesAdd', 'action_category_delete = moonclient.action_categories:ActionCategoriesDelete', - 'subject_scope_list = moonclient.subject_category_scope:SubjectCategoryScopeList', - 'subject_scope_add = moonclient.subject_category_scope:SubjectCategoryScopeAdd', - 'subject_scope_delete = moonclient.subject_category_scope:SubjectCategoryScopeDelete', - 'object_scope_list = moonclient.object_category_scope:ObjectCategoryScopeList', - 'object_scope_add = moonclient.object_category_scope:ObjectCategoryScopeAdd', - 'object_scope_delete = moonclient.object_category_scope:ObjectCategoryScopeDelete', - 'action_scope_list = moonclient.action_category_scope:ActionCategoryScopeList', - 'action_scope_add = moonclient.action_category_scope:ActionCategoryScopeAdd', - 'action_scope_delete = moonclient.action_category_scope:ActionCategoryScopeDelete', + 'subject_scope_list = moonclient.subject_scope:SubjectScopesList', + 'subject_scope_add = moonclient.subject_scope:SubjectScopesAdd', + 'subject_scope_delete = moonclient.subject_scope:SubjectScopesDelete', + 'object_scope_list = moonclient.object_scope:ObjectScopesList', + 'object_scope_add = moonclient.object_scope:ObjectScopesAdd', + 'object_scope_delete = moonclient.object_scope:ObjectScopesDelete', + 'action_scope_list = moonclient.action_scope:ActionScopesList', + 'action_scope_add = moonclient.action_scope:ActionScopesAdd', + 'action_scope_delete = moonclient.action_scope:ActionScopesDelete', + 'subject_assignment_list = moonclient.subject_assignments:SubjectAssignmentsList', + 'subject_assignment_add = moonclient.subject_assignments:SubjectAssignmentsAdd', + 'subject_assignment_delete = moonclient.subject_assignments:SubjectAssignmentsDelete', + 'object_assignment_list = moonclient.object_assignments:ObjectAssignmentsList', + 'object_assignment_add = moonclient.object_assignments:ObjectAssignmentsAdd', + 'object_assignment_delete = moonclient.object_assignments:ObjectAssignmentsDelete', + 'action_assignment_list = moonclient.action_assignments:ActionAssignmentsList', + 'action_assignment_add = moonclient.action_assignments:ActionAssignmentsAdd', + 'action_assignment_delete = moonclient.action_assignments:ActionAssignmentsDelete', 'aggregation_algorithm_show = moonclient.metarules:AggregationAlgorithmsList', 'aggregation_algorithm_set = moonclient.metarules:AggregationAlgorithmSet', @@ -124,7 +124,7 @@ setup( 'log = moonclient.logs:LogsList', - 'tests = moonclient.tests:TestsLaunch', + 'test = moonclient.tests:TestsLaunch', ], }, -- cgit 1.2.3-korg