diff options
author | francois.cellier <francois.cellier@orange.com> | 2018-02-27 13:51:25 +0100 |
---|---|---|
committer | francois.cellier <francois.cellier@orange.com> | 2018-03-08 14:30:45 +0100 |
commit | 7343cf25ad890e18b2f5b8d35c6acfc821dfd5ec (patch) | |
tree | 635e01c4a17326a05c4ec40b3df48d2d33a0de59 /python_moonclient/python_moonclient/cli/import.py | |
parent | c5104c3308f7aa6cb44a678a25c553c027c249be (diff) |
Add import and export pdps
Change-Id: I2c9b1f2b86af862887df4b890cd8b11db7c308ee
Diffstat (limited to 'python_moonclient/python_moonclient/cli/import.py')
-rw-r--r-- | python_moonclient/python_moonclient/cli/import.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/python_moonclient/python_moonclient/cli/import.py b/python_moonclient/python_moonclient/cli/import.py new file mode 100644 index 00000000..c6c43439 --- /dev/null +++ b/python_moonclient/python_moonclient/cli/import.py @@ -0,0 +1,29 @@ + +from python_moonclient.core import models, policies, pdp, json_import +from python_moonclient.cli.parser import Parser +from python_moonclient.cli.projects import ProjectsUtils + +from cliff.command import Command + + +class Import(Command): + """import a json file describing pdps """ + def get_parser(self, prog_name): + parser = super().get_parser(prog_name) + Parser.add_common_options(parser) + Parser.add_filename_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) + json_import.init(consul_host, consul_port) + res = json_import.import_json(parsed_args.filename) + if "message" in res: + return res["message"] + return res + |