diff --git a/cli/__main__.py b/cli/__main__.py index 9785dfe..406175c 100644 --- a/cli/__main__.py +++ b/cli/__main__.py @@ -7,6 +7,7 @@ from core.controllers.ClientVersionController import ClientVersionController from core.controllers.ConfigurationController import ConfigurationController from core.controllers.InvoiceController import InvoiceController from core.controllers.LocationController import LocationController +from core.controllers.PrivilegePolicyController import PrivilegePolicyController from core.controllers.ProfileController import ProfileController from core.controllers.SubscriptionController import SubscriptionController from core.controllers.SubscriptionPlanController import SubscriptionPlanController @@ -157,6 +158,17 @@ if __name__ == '__main__': application_uninstall_parser = application_subparsers.add_parser('uninstall', parents=[application_base_parser]) + policy_parser = main_subparsers.add_parser('policy') + policy_subparsers = policy_parser.add_subparsers(title='subcommands', dest='subcommand') + + policy_base_parser = argparse.ArgumentParser(add_help=False) + policy_base_parser.add_argument('--policy', '-p', choices=['privilege'], required=True) + + policy_preview_parser = policy_subparsers.add_parser('preview', parents=[policy_base_parser]) + policy_instate_parser = policy_subparsers.add_parser('instate', parents=[policy_base_parser]) + policy_inspect_parser = policy_subparsers.add_parser('inspect', parents=[policy_base_parser]) + policy_revoke_parser = policy_subparsers.add_parser('revoke', parents=[policy_base_parser]) + get_parser = main_subparsers.add_parser('get') get_subparsers = get_parser.add_subparsers(title='subcommands', dest='subcommand') @@ -388,6 +400,29 @@ if __name__ == '__main__': else: main_parser.error('the following argument should be a valid reference: --application/-a') + elif arguments.command == 'policy': + + if arguments.subcommand is None: + policy_parser.print_help() + + elif arguments.policy == 'privilege': + + if arguments.subcommand == 'preview': + print(PrivilegePolicyController.preview()) + + elif arguments.subcommand == 'instate': + PrivilegePolicyController.instate() + + elif arguments.subcommand == 'inspect': + + if PrivilegePolicyController.is_instated(): + pprint.pp({'status': 'Active'}) + else: + pprint.pp({'status': 'Inactive'}) + + elif arguments.subcommand == 'revoke': + PrivilegePolicyController.revoke() + elif arguments.command == 'get': if arguments.subcommand is None: