Exemplo n.º 1
0
    def __init__(self, context):
        PulpCliSection.__init__(self, 'role', 'manage user roles')

        self.context = context
        self.prompt = context.prompt # for easier access

        # Common Options
        id_option = PulpCliOption('--role-id', 'uniquely identifies the role; only alphanumeric, -, and _ allowed', required=True, validate_func=validators.id_validator)

        # Create command
        create_command = PulpCliCommand('create', 'creates a role', self.create)
        create_command.add_option(id_option)
        create_command.add_option(PulpCliOption('--display-name', 'user-friendly name for the role', required=False))
        create_command.add_option(PulpCliOption('--description', 'user-friendly text describing the role', required=False))
        self.add_command(create_command)

        # Update command
        update_command = PulpCliCommand('update', 'updates a role', self.update)
        update_command.add_option(PulpCliOption('--role-id', 'identifies the role to be updated', required=True))
        update_command.add_option(PulpCliOption('--display-name', 'user-friendly name for the role', required=False))
        update_command.add_option(PulpCliOption('--description', 'user-friendly text describing the role', required=False))
        self.add_command(update_command)

        # Delete Command
        delete_command = PulpCliCommand('delete', 'deletes a role', self.delete)
        delete_command.add_option(PulpCliOption('--role-id', 'identifies the role to be deleted', required=True))
        self.add_command(delete_command)

        # List Command
        list_command = PulpCliCommand('list', 'lists summary of roles on the Pulp server', self.list)
        list_command.add_option(PulpCliFlag('--details', 'if specified, all the role information is displayed'))
        list_command.add_option(PulpCliOption('--fields', 'comma-separated list of role fields; if specified, only the given fields will displayed', required=False))
        self.add_command(list_command)
Exemplo n.º 2
0
Arquivo: auth.py Projeto: omps/pulp
    def __init__(self, context):
        PulpCliSection.__init__(self, 'user',
                                _('add/remove user from the role'))

        self.context = context
        self.prompt = context.prompt  # for easier access

        # Common Options
        id_option = PulpCliOption('--role-id',
                                  'identifies the role',
                                  required=True)
        login_option = PulpCliOption('--login',
                                     'identifies the user',
                                     required=True)

        # AddUser command
        add_user_command = PulpCliCommand('add', 'adds user to a role',
                                          self.add_user)
        add_user_command.add_option(id_option)
        add_user_command.add_option(login_option)
        self.add_command(add_user_command)

        # RemoveUser command
        remove_user_command = PulpCliCommand('remove',
                                             'removes user from a role',
                                             self.remove_user)
        remove_user_command.add_option(id_option)
        remove_user_command.add_option(login_option)
        self.add_command(remove_user_command)
Exemplo n.º 3
0
    def __init__(self, context):
        PulpCliSection.__init__(self, 'permission', 'manage granting, revoking and listing permissions for resources')

        self.context = context
        self.prompt = context.prompt # for easier access

        # List Command
        list_command = PulpCliCommand('list', 'lists permissions for a particular resource', self.list)
        list_command.add_option(PulpCliOption('--resource', 'uniquely identifies a resource', required=True))
        self.add_command(list_command)

        # Grant Command
        usage_description = 'you can specify either login or role-id in this command; both cannot be specified at the same time'
        grant_command = PulpCliCommand('grant', 'grants resource permissions to given user or given role', self.grant, usage_description=usage_description)
        grant_command.add_option(PulpCliOption('--resource', 'resource REST API path whose permissions are being manipulated', required=True))
        grant_command.add_option(PulpCliOption('--login', 'login of the user to which access to given resource is being granted', required=False))
        grant_command.add_option(PulpCliOption('--role-id', 'id of the role to which access to given resource is being granted', required=False))
        grant_command.add_option(PulpCliOption('-o', 'type of permissions being granted, valid permissions: create, read, update, delete, execute', required=True, allow_multiple=True))
        self.add_command(grant_command)

        # Revoke Command
        revoke_command = PulpCliCommand('revoke', 'revokes resource permissions from given user or given role', self.revoke, usage_description=usage_description)
        revoke_command.add_option(PulpCliOption('--resource', 'resource REST API path whose permissions are being manipulated', required=True))
        revoke_command.add_option(PulpCliOption('--login', 'login of the user from which access to given resource is being revoked', required=False))
        revoke_command.add_option(PulpCliOption('--role-id', 'id of the role from which access to given resource is being revoked', required=False))
        revoke_command.add_option(PulpCliOption('-o', 'type of permissions being revoked, valid permissions: create, read, update, delete, execute', required=True, allow_multiple=True))
        self.add_command(revoke_command)
Exemplo n.º 4
0
Arquivo: event.py Projeto: omps/pulp
    def __init__(self, context):
        """
        @param context:
        @type  context: pulp.client.extensions.core.ClientContext
        """
        super(EmailSection, self).__init__(context, 'email',
                                           _('manage email listeners'))

        m = _("text of the email's subject")
        subject_option = PulpCliOption('--subject', m, required=True)

        m = _('this is a comma separated list of email addresses that should '
              'receive these notifications. Do not include spaces.')
        addresses_option = PulpCliOption('--addresses',
                                         m,
                                         required=True,
                                         parse_func=parsers.csv)

        create_command = PulpCliCommand('create', _('create a listener'),
                                        self.create)
        create_command.add_option(self.event_types_option)
        create_command.add_option(subject_option)
        create_command.add_option(addresses_option)
        self.add_command(create_command)

        m = _('update an event listener')
        update_command = PulpCliCommand('update', m, self.update)
        update_command.add_option(self.id_option)
        update_command.add_option(self._copy_flip_required(subject_option))
        update_command.add_option(self._copy_flip_required(addresses_option))
        update_command.add_option(
            self._copy_flip_required(self.event_types_option))
        self.add_command(update_command)
Exemplo n.º 5
0
    def __init__(self, context):
        PulpCliSection.__init__(self, 'server',
                                _('display info about the server'))
        self.context = context

        self.add_command(
            PulpCliCommand('types',
                           'lists content types installed on the server',
                           self.types))
        self.add_command(
            PulpCliCommand('importers',
                           'lists importers installed on the server',
                           self.importers))
        self.add_command(
            PulpCliCommand('distributors',
                           'lists distributors installed on the server',
                           self.distributors))
Exemplo n.º 6
0
Arquivo: event.py Projeto: omps/pulp
    def __init__(self, context):
        """
        @param context:
        @type  context: pulp.client.extensions.core.ClientContext
        """
        super(ListenerSection,
              self).__init__(context, 'listener',
                             _('manage server-side event listeners'))
        self.add_subsection(EmailSection(context))
        self.add_subsection(RestApiSection(context))
        self.add_subsection(AMQPSection(context))

        m = _('list all of the event listeners in the system')
        self.add_command(PulpCliCommand('list', m, self.list))

        m = _('delete an event listener')
        delete_command = PulpCliCommand('delete', m, self.delete)
        delete_command.add_option(self.id_option)
        self.add_command(delete_command)
Exemplo n.º 7
0
    def __init__(self, context):
        """
        @param context:
        @type  context: pulp.client.extensions.core.ClientContext
        """
        super(RestApiSection, self).__init__(context, 'http',
                                             _('manage http listeners'))

        m = _('full URL to invoke to send the event info')
        url_option = PulpCliOption('--url', m, required=True)

        m = _('optional username to be passed as basic auth credentials when '
              'the HTTP call is invoked.')
        username_option = PulpCliOption('--username', m, required=False)

        m = _('optional password to be passed as basic auth credentials when '
              'the HTTP call is invoked.')
        password_option = PulpCliOption('--password', m, required=False)

        m = _('optional CA file used instead of the system CA when '
              'the HTTP call is invoked.')
        ca_option = PulpCliOption('--ca-path', m, required=False)

        create_command = PulpCliCommand('create', _('create a listener'),
                                        self.create)
        create_command.add_option(self.event_types_option)
        create_command.add_option(url_option)
        create_command.add_option(username_option)
        create_command.add_option(password_option)
        create_command.add_option(ca_option)
        self.add_command(create_command)

        update_command = PulpCliCommand('update', _('update a listener'),
                                        self.update)
        update_command.add_option(self.id_option)
        update_command.add_option(
            self._copy_flip_required(self.event_types_option))
        update_command.add_option(self._copy_flip_required(url_option))
        update_command.add_option(username_option)
        update_command.add_option(password_option)
        update_command.add_option(ca_option)
        self.add_command(update_command)
Exemplo n.º 8
0
Arquivo: event.py Projeto: omps/pulp
    def __init__(self, context):
        super(AMQPSection, self).__init__(context, 'amqp',
                                          _('manage amqp listeners'))

        m = _('optional name of an exchange that overrides the setting from '
              'server.conf')
        self.exchange_option = PulpCliOption('--exchange', m, required=False)

        create_command = PulpCliCommand('create', _('create a listener'),
                                        self.create)
        create_command.add_option(self.event_types_option)
        create_command.add_option(self.exchange_option)
        self.add_command(create_command)

        m = _('update an event listener')
        update_command = PulpCliCommand('update', m, self.update)
        update_command.add_option(self.id_option)
        update_command.add_option(
            self._copy_flip_required(self.event_types_option))
        update_command.add_option(self.exchange_option)
        self.add_command(update_command)
Exemplo n.º 9
0
    def __init__(self, context):
        PulpCliSection.__init__(self, 'user', 'manage users')

        self.context = context
        self.prompt = context.prompt # for easier access

        # Common Options
        login_option = PulpCliOption('--login', 'uniquely identifies the user; only alphanumeric, -, ., and _ allowed',
                                     required=True, validate_func=validators.id_validator_allow_dots)
        name_option = PulpCliOption('--name', 'user-readable full name of the user', required=False)

        # Create command
        create_command = PulpCliCommand('create', 'creates a user', self.create)
        create_command.add_option(login_option)
        create_command.add_option(PulpCliOption('--password', 'password for the new user, if you do not want to be prompted for one', required=False))
        create_command.add_option(name_option)
        self.add_command(create_command)

        # Update Command
        update_command = PulpCliCommand('update', 'changes metadata of an existing user', self.update)
        update_command.add_option(PulpCliOption('--login', 'identifies the user to be updated', required=True))
        update_command.add_option(name_option)
        update_command.add_option(PulpCliOption('--password', 'new password for the user, use -p if you want to be prompted for the password', required=False))
        update_command.add_option(PulpCliFlag('-p', 'if specified, you will be prompted to enter new password for the user'))
        self.add_command(update_command)

        # Delete Command
        delete_command = PulpCliCommand('delete', 'deletes a user', self.delete)
        delete_command.add_option(PulpCliOption('--login', 'identifies the user to be deleted', required=True))
        self.add_command(delete_command)

        # List Command
        list_command = PulpCliCommand('list', 'lists summary of users registered to the Pulp server', self.list)
        list_command.add_option(PulpCliFlag('--details', 'if specified, all the user information is displayed'))
        list_command.add_option(PulpCliOption('--fields', 'comma-separated list of user fields; if specified, only the given fields will displayed', required=False))
        self.add_command(list_command)

        # Search Command
        self.add_command(CriteriaCommand(self.search, include_search=True))