Exemplo n.º 1
0
 def add_arguments(self, parser: CommandParser) -> None:
     subparsers = parser.add_subparsers(dest="sub")
     new_parser = subparsers.add_parser("new", help="Create role")
     new_parser.add_argument("name")
     remove_parser = subparsers.add_parser("remove", help="Remove role")
     remove_parser.add_argument("name", help="Role name")
     update_parser = subparsers.add_parser("update", help="Update role")
     update_parser.add_argument("name")
     subparsers.add_parser("list", help="List roles")
     subparsers.add_parser("drop", help="Drop roles")
Exemplo n.º 2
0
 def add_arguments(self, parser: CommandParser):
     parser.add_argument('bot', help="The name of the bot to post as")
     parser.add_argument('--force', action='store_true', dest='force',
                         help="Forces saucerbot to send a reminder on non-mondays")
     subparsers = parser.add_subparsers(dest='subcommand', title='subcommands')
     subparsers.required = True
     subparsers.add_parser('like-if',
                           help="Remind everyone to come to saucer.")
     subparsers.add_parser('whos-coming',
                           help="Let everyone know who's coming.")
Exemplo n.º 3
0
 def add_arguments(self, parser: CommandParser) -> None:
     subparsers = parser.add_subparsers(dest="sub")
     new_parser = subparsers.add_parser("new", help="Create user")
     new_parser.add_argument("email")
     remove_parser = subparsers.add_parser("remove", help="Remove user")
     remove_parser.add_argument("email", help="User email")
     update_parser = subparsers.add_parser("update", help="Update user")
     update_parser.add_argument("email")
     subparsers.add_parser("list", help="List users")
     subparsers.add_parser("drop", help="Drop users")
Exemplo n.º 4
0
 def add_arguments(self, parser: CommandParser) -> None:
     subparsers = parser.add_subparsers(dest="sub")
     new_parser = subparsers.add_parser("new", help="Create permission")
     new_parser.add_argument("name")
     remove_parser = subparsers.add_parser("remove",
                                           help="Remove permission")
     remove_parser.add_argument("name", help="Permission name")
     update_parser = subparsers.add_parser("update",
                                           help="Update permission")
     update_parser.add_argument("name")
     subparsers.add_parser("list", help="List permissions")
     subparsers.add_parser("drop", help="Drop permissions")
    def add_arguments(self, parser: CommandParser):
        parser.add_argument(
            '--dir', '-d',
            type=str,
            required=False,
            default=None,
            help='The directory in which the configuration and key files are stored.',
        )
        subparsers = parser.add_subparsers(dest='command')

        subparsers.add_parser('edit', help='Open the credentials file in your editor for altering.')
        subparsers.add_parser('init', help='Initialize the credentials and master key files.')
        subparsers.add_parser('show', help='Decrypt and print the credentials file to the terminal.')
Exemplo n.º 6
0
    def add_arguments(self, parser: CommandParser) -> None:
        class SubCommandParser(CommandParser):
            def __init__(self, **kwargs: Any) -> None:
                super().__init__(**kwargs)

        subparsers = parser.add_subparsers(
            dest='scmd',
            title="subcommands",
            parser_class=SubCommandParser
        )  # type: _SubParsersAction

        create_sp = subparsers.add_parser("create", help="Create OAuth2 clients")
        _add_publishing_args(create_sp)
        create_gr = create_sp.add_argument_group("Create options")
        create_gr.add_argument("--skip-authorization", dest="skip_authorization", default=False, action="store_true",
                               help="Skip user authorization screen when connecting this application. Only use this "
                                    "for internal applications and when you know what you're doing!")
        create_gr.add_argument("--redirect-uri", dest="redirect_uris", default=[], action="append",
                               help="Valid redirect URIs for this OAuth2 client. Can be specified multiple times.")
        create_gr.add_argument("--client-type", dest="client_type", default="confidential",
                               choices=["public", "confidential"],
                               help="Choose the OAuth2 client type between 'public' and 'confidential'")
        create_gr.add_argument("--grant-type", dest="grant_type", default=appmodel.GRANT_AUTHORIZATION_CODE,
                               choices=[appmodel.GRANT_AUTHORIZATION_CODE, appmodel.GRANT_IMPLICIT,
                                        appmodel.GRANT_CLIENT_CREDENTIALS, appmodel.GRANT_PASSWORD],
                               help="Choose the OAuth2 grant type for this client.")
        create_gr.add_argument("client_name",
                               help="A human-readable name for the OAuth2 client that can be used to rerieve the same "
                                    "credentials later using this command.")

        list_sp = subparsers.add_parser("list", help="List OAuth2 clients")
        list_sp.add_argument("--search-client-id", dest="search_client_id", default=None,
                             help="Find the name matching the client id")
        list_sp.add_argument("--search-client-name", dest="search_client_name", default=None,
                             help="Find the client id matching the name")

        publish_sp = subparsers.add_parser("publish", help="Publish OAuth2 clients to consul")
        _add_publishing_args(publish_sp)

        remove_sp = subparsers.add_parser("remove", help="Delete OAuth2 clients")
        remove_sp.add_argument("client_id_or_name", nargs="?",
                               help="The OAuth2 client name or id to remove")
Exemplo n.º 7
0
    def add_arguments(self, parser: CommandParser):
        parser.add_argument("-d",
                            "--dry-run",
                            help="print experiments to be deleted",
                            action="store_true")
        parser.add_argument("--all",
                            help="Delete all data",
                            action="store_true")

        subparsers = parser.add_subparsers(dest="command")

        parser_analysis = subparsers.add_parser(
            'analysis', help="remove data by analysis ID")
        parser_analysis.add_argument("analysis_id",
                                     nargs='+',
                                     help="analysis IDs to remove",
                                     type=int)

        parser_meta = subparsers.add_parser(
            'metadata', help="remove data by metadata fields")
        parser_meta.add_argument("key", help="metadata key")
        parser_meta.add_argument("value", help="metadata value")
Exemplo n.º 8
0
    def add_arguments(self, parser: CommandParser) -> None:
        class SubCommandParser(CommandParser):
            def __init__(self, **kwargs: Any) -> None:
                super().__init__(**kwargs)

        subparsers = parser.add_subparsers(
            dest='type', title="subcommands",
            parser_class=SubCommandParser)  # type: _SubParsersAction

        registry_parser = subparsers.add_parser(
            "registry", help="Manage Docker registries")
        repo_parser = subparsers.add_parser(
            "repo",
            help="Manage Docker repositories in a registry (unimplemented)")

        reg_subparser = registry_parser.add_subparsers(
            title="Registry management",
            parser_class=SubCommandParser,
            dest="subcommand")  # type: _SubParsersAction
        reg_add_parser = reg_subparser.add_parser("create",
                                                  help="Add a Docker Registry")

        reg_add_parser.add_argument(
            "--client-id",
            dest="client_id",
            required=True,
            help="The client_id/service id to set (docker config value: "
            "REGISTRY_AUTH_TOKEN_SERVICE)")
        reg_add_parser.add_argument(
            "--name",
            dest="name",
            required=True,
            help="Human-readable name for the Docker registry.")
        reg_add_parser.add_argument(
            "--domain",
            dest="domain",
            required=True,
            help=
            "Specify the domain name to connect this registry to for JWT handling"
        )
        reg_add_parser.add_argument(
            "--domain-exact-match",
            dest="domain_exact_match",
            action="store_true",
            default=False,
            help=
            "'--domain' must match an exact domain (parent domains that have the flag for "
            "signing JWTs for subdomains set are ignored). By default this command will "
            "attach the registry to a parent domain if it is allowed to sign JWTs for "
            "its subdomains.")
        reg_add_parser.add_argument("--allow-unauthenticated-pull",
                                    dest="unauthenticated_pull",
                                    action="store_true",
                                    default=False)
        reg_add_parser.add_argument("--allow-unauthenticated-push",
                                    dest="unauthenticated_push",
                                    action="store_true",
                                    default=False)

        reg_remove_parser = reg_subparser.add_parser(
            "remove", help="Remove a Docker registry")
        reg_remove_parser.add_argument(
            "--name",
            dest="name",
            default=None,
            help="Delete the registry with this name.")
        reg_remove_parser.add_argument(
            "--client-id",
            dest="client_id",
            default=None,
            help="Delete the registry with this client_id.")
        reg_remove_parser.add_argument("--force",
                                       dest="force",
                                       action="store_true",
                                       default=False,
                                       help="Do not ask for confirmation.")

        reg_list_parser = reg_subparser.add_parser(
            "list", help="List Docker registries")
        reg_show_parser = reg_subparser.add_parser(
            "show", help="Show details for a Docker registry.")
        reg_show_parser.add_argument(
            "--name",
            dest="name",
            default=None,
            help="Human-readable name for the Docker registry.")
        reg_show_parser.add_argument(
            "--client-id",
            dest="client_id",
            default=None,
            help="The client_id/service id to set (docker config value: "
            "REGISTRY_AUTH_TOKEN_SERVICE)")
        reg_show_parser.add_argument(
            "--allow-partial",
            dest="allow_partial",
            action="store_true",
            default=False,
            help=
            "Allow partial matches for name or client id as long as the match is "
            "unambiguous.")
        reg_show_parser.add_argument("--case-insensitive",
                                     dest="case_insensitive",
                                     action="store_true",
                                     default=False,
                                     help="Allow case insensitive matching.")
        reg_show_parser.add_argument(
            "--allow-multiple",
            dest="allow_multiple",
            action="store_true",
            default=False,
            help="Allow (and output) more than a single match.")
        reg_show_parser.add_argument(
            "--output-private-key",
            dest="output_private_key",
            action="store_true",
            default=False,
            help=
            "When set, the registry's private key will be written to stdout as well."
        )
        self._add_permission_subparsers(reg_subparser, SubCommandParser)