aboutsummaryrefslogtreecommitdiffstats
path: root/old/python_moonclient/python_moonclient/cli/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'old/python_moonclient/python_moonclient/cli/parser.py')
-rw-r--r--old/python_moonclient/python_moonclient/cli/parser.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/old/python_moonclient/python_moonclient/cli/parser.py b/old/python_moonclient/python_moonclient/cli/parser.py
new file mode 100644
index 00000000..e71cd6c9
--- /dev/null
+++ b/old/python_moonclient/python_moonclient/cli/parser.py
@@ -0,0 +1,98 @@
+class Parser:
+
+ @staticmethod
+ def add_common_options(parser):
+ parser.add_argument('--consul-host',
+ help='Set the name of the consul server (default: 127.0.0.1)',
+ default="127.0.0.1")
+ parser.add_argument('--consul-port',
+ help='Set the port of the consult server (default: 30005)',
+ default="30005")
+ parser.add_argument("--verbose", "-v", action='store_true', help="verbose mode")
+ parser.add_argument("--debug", "-d", action='store_true', help="debug mode")
+
+ @staticmethod
+ def add_filename_argument(parser):
+ parser.add_argument('filename', help='configuration filename in json format')
+
+ @staticmethod
+ def add_name_argument(parser):
+ Parser._add_name_argument(parser)
+
+ @staticmethod
+ def add_policy_argument(parser):
+ group = parser.add_mutually_exclusive_group(required=True)
+ group.add_argument('--policy-name', help='name of the policy')
+ group.add_argument('--policy-id', help='id of the policy')
+
+ @staticmethod
+ def add_category_argument(parser):
+ group = parser.add_mutually_exclusive_group(required=True)
+ group.add_argument('--category-name', help='name of the category')
+ group.add_argument('--category-id', help='id of the category')
+
+ @staticmethod
+ def add_id_or_name_argument(parser):
+ group = parser.add_mutually_exclusive_group(required=True)
+ Parser._add_id_argument(group)
+ Parser._add_name_argument(group)
+
+ @staticmethod
+ def _add_id_argument(parser):
+ parser.add_argument('--id', help='id of the element')
+
+ @staticmethod
+ def _add_name_argument(parser):
+ parser.add_argument('--name', help='name of the element')
+
+ @staticmethod
+ def add_id_or_name_pdp_argument(parser):
+ group = parser.add_mutually_exclusive_group(required=True)
+ Parser._add_id_pdp_argument(group)
+ Parser._add_name_pdp_argument(group)
+
+ @staticmethod
+ def _add_id_pdp_argument(parser):
+ parser.add_argument('--id-pdp', help='id of the pdp')
+
+ @staticmethod
+ def _add_name_pdp_argument(parser):
+ parser.add_argument('--name-pdp', help='name of the pdp')
+
+ @staticmethod
+ def add_id_or_name_project_argument(parser):
+ group = parser.add_mutually_exclusive_group(required=True)
+ Parser._add_id_project_argument(group)
+ Parser._add_name_project_argument(group)
+
+ @staticmethod
+ def _add_id_project_argument(parser):
+ parser.add_argument('--id-project', help='id of the project')
+
+ @staticmethod
+ def _add_name_project_argument(parser):
+ parser.add_argument('--name-project', help='name of the project')
+
+ @staticmethod
+ def add_authz_arguments(parser):
+ parser.add_argument("--dry-run", "-n", action='store_true',
+ help="Dry run", dest="dry_run")
+ parser.add_argument("--destination",
+ help="Set the type of output needed "
+ "(default: wrapper, other possible type: "
+ "interface).",
+ default="wrapper")
+ parser.add_argument("--authz-host",
+ help="Set the name of the authz server to test"
+ "(default: 127.0.0.1).",
+ default="127.0.0.1")
+ parser.add_argument("--authz-port",
+ help="Set the port of the authz server to test"
+ "(default: 31002).",
+ default="31002")
+ parser.add_argument("--stress-test", "-s", action='store_true',
+ dest='stress_test',
+ help="Execute stressing tests (warning delta measures "
+ "will be false, implies -t)")
+ parser.add_argument("--write", "-w", help="Write test data to a JSON file",
+ default="/tmp/data.json")