def __init__(self, context): PulpCliSection.__init__(self, 'user', 'user lifecycle (list, create, update, etc.) commands') 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) 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) 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)
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))
def __init__(self, context): PulpCliSection.__init__(self, 'permission', 'permission lifecycle (list, grant, revoke, etc.) commands') 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 grant_command = PulpCliCommand('grant', 'grants resource permissions to given user or given role', self.grant) 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) 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)
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)
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)
def __init__(self, context, name, description): PulpCliSection.__init__(self, name, description) strategy = RepoSyncSchedulingStrategy(context) repo_id_option = PulpCliOption('--%s' % REPO_ID_ARG, _('identifies the repository'), required=True) list_command = ListScheduleCommand(context, strategy, 'list', _('list scheduled sync operations')) list_command.add_option(repo_id_option) create_command = CreateScheduleCommand(context, strategy, 'create', _('adds a new scheduled sync operation')) create_command.add_option(repo_id_option) delete_command = DeleteScheduleCommand(context, strategy, 'delete', _('delete a sync schedule')) delete_command.add_option(repo_id_option) update_command = UpdateScheduleCommand(context, strategy, 'update', _('updates an existing schedule')) update_command.add_option(repo_id_option) next_run_command = NextRunCommand(context, strategy, 'next', _('displays the next scheduled sync run for a repository')) next_run_command.add_option(repo_id_option) self.add_command(list_command) self.add_command(create_command) self.add_command(delete_command) self.add_command(update_command) self.add_command(next_run_command)
def __init__(self, context): PulpCliSection.__init__(self, 'group', _('consumer group commands')) self.context = context self.prompt = context.prompt # for easier access self.add_subsection(ConsumerGroupMemberSection(context)) # Common Options id_option = PulpCliOption('--consumer-group-id', _('uniquely identifies the consumer group; only alphanumeric, -, and _ allowed'), required=True, validate_func=validators.id_validator) name_option = PulpCliOption('--display-name', _('user-readable display name for the consumer group'), required=False) description_option = PulpCliOption('--description', _('user-readable description for the consumer group'), required=False) note_desc = 'adds/updates/deletes notes to programmatically identify the resource; ' note_desc += 'key-value pairs must be separated by an equal sign (e.g. key=value); multiple notes can ' note_desc += 'be changed by specifying this option multiple times; notes are deleted by ' note_desc += 'specifying "" as the value' note_option = PulpCliOption('--note', _(note_desc), required=False, allow_multiple=True) # Create Command create_command = PulpCliCommand('create', _('creates a new consumer group'), self.create) create_command.add_option(id_option) create_command.add_option(name_option) create_command.add_option(description_option) create_command.add_option(note_option) self.add_command(create_command) # Update Command update_command = PulpCliCommand('update', _('changes metadata on an existing consumer group'), self.update) update_command.add_option(id_option) update_command.add_option(name_option) update_command.add_option(description_option) update_command.add_option(note_option) self.add_command(update_command) # Delete Command delete_command = PulpCliCommand('delete', _('deletes a consumer group'), self.delete) delete_command.add_option(id_option) self.add_command(delete_command) # List Command list_command = PulpCliCommand('list', _('lists summary of consumer groups registered to the Pulp server'), self.list) list_command.add_option(PulpCliFlag('--details', _('if specified, all the consumer group information is displayed'))) list_command.add_option(PulpCliOption('--fields', _('comma-separated list of consumer group 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)) # Bind Command bind_command = PulpCliCommand('bind', _('binds each consumer in a consumer group to a repository ' 'distributor for consuming published content'), self.bind) bind_command.add_option(id_option) bind_command.add_option(PulpCliOption('--repo-id', 'repository id', required=True)) bind_command.add_option(PulpCliOption('--distributor-id', 'distributor id', required=True)) self.add_command(bind_command)
def __init__(self, context): PulpCliSection.__init__(self, "user", "user lifecycle (list, create, update, etc.) commands") 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 ) 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))
def __init__(self, context): PulpCliSection.__init__(self, 'sync', _('run, schedule, or view the status of sync operations')) self.context = context self.prompt = context.prompt # Run an Immediate Sync run_command = PulpCliCommand('run', _('triggers an immediate sync of a specific repository'), self.run) run_command.add_option(PulpCliOption('--id', _('identifies the repository to sync'), required=True)) self.add_command(run_command)
def __init__(self, context): """ :type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'bindings', _('search consumer bindings')) self.context = context # search self.add_command(Search(context)) # unconfirmed actions self.add_command(SearchUnconfirmed(context))
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; ' 'Example: "login,name". If specified, ' 'only the given fields will be ' 'displayed.', required=False)) self.add_command(list_command) # Search Command self.add_command(CriteriaCommand(self.search, include_search=True))
def __init__(self, context): PulpCliSection.__init__(self, 'importer', _('manage importers for existing repositories')) self.context = context self.prompt = context.prompt # Add Importer Command required_options = [ ('--id', _('identifies the repository')), ('--type_id', _('identifies the type of importer being added')), ] add_parser = UnknownArgsParser(self.prompt, 'repo add', required_options) self.add_command(PulpCliCommand('add', _('adds an importer to a repository'), self.add_importer, parser=add_parser))
def __init__(self, context): """ @param context: @type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'repo', _('repository lifecycle (create, delete, configure, etc.) commands')) self.context = context self.prompt = context.prompt # for easier access # Common Options id_option = PulpCliOption('--repo-id', _('uniquely identifies the repository; only alphanumeric, -, and _ allowed'), required=True) name_option = PulpCliOption('--display-name', _('user-readable display name for the repository'), required=False) description_option = PulpCliOption('--description', _('user-readable description for the repository'), required=False) # Create Command create_command = PulpCliCommand('create', _('creates a new repository'), self.create) create_command.add_option(id_option) create_command.add_option(name_option) create_command.add_option(description_option) create_command.add_option(note_option) self.add_command(create_command) # Update Command update_command = PulpCliCommand('update', _('changes metadata on an existing repository'), self.update) update_command.add_option(id_option) update_command.add_option(name_option) update_command.add_option(description_option) update_command.add_option(note_option) self.add_command(update_command) # Delete Command delete_command = PulpCliCommand('delete', _('deletes a repository'), self.delete) delete_command.add_option(id_option) self.add_command(delete_command) # List Command list_command = PulpCliCommand('list', _('lists repositories on the Pulp server'), self.list) list_command.add_option(PulpCliFlag('--summary', _('if specified, only a minimal amount of repository information is displayed'))) list_command.add_option(PulpCliOption('--fields', _('comma-separated list of repository fields; if specified, only the given fields will displayed'), required=False)) list_command.add_option(PulpCliFlag('--importers', _('if specified, importer configuration is displayed'))) list_command.add_option(PulpCliFlag('--distributors', _('if specified, the list of distributors and their configuration is displayed'))) self.add_command(list_command) # Search Command self.add_command(SearchCommand(self.search)) # Subsections self.add_subsection(ImporterSection(context)) self.add_subsection(SyncSection(context)) self.add_subsection(RepoGroupSection(context)) self.create_subsection('units', _('list/search for RPM-related content in a repository'))
def __init__(self, context): PulpCliSection.__init__(self, 'group', _('repository group commands')) self.context = context self.prompt = context.prompt # for easier access self.add_subsection(RepoGroupMemberSection(context)) self.add_command(group_commands.CreateRepositoryGroupCommand(context)) self.add_command(group_commands.UpdateRepositoryGroupCommand(context)) self.add_command(group_commands.DeleteRepositoryGroupCommand(context)) self.add_command(group_commands.ListRepositoryGroupsCommand(context)) self.add_command(group_commands.SearchRepositoryGroupsCommand(context))
def __init__(self, context): """ @param context: @type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'repo', _('list repositories and manage repo groups')) self.context = context self.prompt = context.prompt # for easier access self.add_command(repo_commands.ListRepositoriesCommand(context, include_all_flag=False)) # Subsections self.add_subsection(RepoGroupSection(context))
def __init__(self, context): """ @param context: @type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'repo', _('general repository commands')) self.context = context self.prompt = context.prompt # for easier access self.add_command(repo_commands.ListRepositoriesCommand(context)) # Subsections self.add_subsection(RepoGroupSection(context))
def __init__(self, context, name, description): PulpCliSection.__init__(self, name, description) self.context = context # Store the command instances as instance variables so the subclasses # can manipulate them if necessary self.list_command = self.create_command('list', _('lists tasks queued or running in the server'), self.list) self.cancel_command = self.create_command('cancel', _('cancel one or more tasks'), self.cancel) self.cancel_command.create_option('--task-id', _('identifies the task to cancel'), required=True) self.details_command = self.create_command('details', _('displays more detailed information about a specific task'), self.details) self.details_command.create_option('--task-id', _('identifies the task'), required=True)
def __init__(self, context): """ @param context: pre-populated context that is given to the extensions by loader @type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'auth', _('manage users, roles and permissions')) self.context = context self.prompt = context.prompt # for easier access # Subsections self.add_subsection(UserSection(context)) role_section = RoleSection(context) role_section.add_subsection(RoleUserSection(context)) self.add_subsection(role_section) self.add_subsection(PermissionSection(context))
def __init__(self, context, name, description): PulpCliSection.__init__(self, name, description) self.context = context # Store the command instances as instance variables so the subclasses # can manipulate them if necessary self.list_command = self.create_command( "list", _("lists tasks queued (waiting) or running on the server"), self.list ) self.cancel_command = self.create_command("cancel", _("cancel one or more tasks"), self.cancel) self.cancel_command.create_option("--task-id", _("identifies the task to cancel"), required=True) self.details_command = self.create_command( "details", _("displays more detailed information about a specific task"), self.details ) self.details_command.create_option("--task-id", _("identifies the task"), required=True)
def __init__(self, context): PulpCliSection.__init__( self, 'package', _('package installation management')) for Command in (Install, Update, Uninstall): command = Command(context) command.create_option( '--consumer-id', _('identifies the consumer'), required=True) command.create_flag( '--no-commit', _('transaction not committed')) command.create_flag( '--reboot', _('reboot after successful transaction')) self.add_command(command)
def __init__(self, context): PulpCliSection.__init__(self, 'group', _('repository group commands')) self.context = context self.prompt = context.prompt # for easier access self.add_subsection(RepoGroupMemberSection(context)) # Common Options id_option = PulpCliOption('--group-id', _('uniquely identifies the repo group; only alphanumeric, -, and _ allowed'), required=True) name_option = PulpCliOption('--display-name', _('user-readable display name for the repo group'), required=False) description_option = PulpCliOption('--description', _('user-readable description for the repo group'), required=False) # Create Command create_command = PulpCliCommand('create', _('creates a new repository group'), self.create) create_command.add_option(id_option) create_command.add_option(name_option) create_command.add_option(description_option) create_command.add_option(note_option) self.add_command(create_command) # Update Command update_command = PulpCliCommand('update', _('changes metadata on an existing repo group'), self.update) update_command.add_option(id_option) update_command.add_option(name_option) update_command.add_option(description_option) update_command.add_option(note_option) self.add_command(update_command) # Delete Command delete_command = PulpCliCommand('delete', _('deletes a repository group'), self.delete) delete_command.add_option(id_option) self.add_command(delete_command) # List Command list_command = PulpCliCommand('list', _('lists summary of repo groups registered to the Pulp server'), self.list) list_command.add_option(PulpCliFlag('--details', _('if specified, all the repo group information is displayed'))) list_command.add_option(PulpCliOption('--fields', _('comma-separated list of repo group fields; if specified, only the given fields will displayed'), required=False)) self.add_command(list_command) # Search Command self.add_command(SearchCommand(self.search))
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)
def __init__(self, context): PulpCliSection.__init__(self, 'content', _('content unit installation management')) for Command in (InstallContent, UpdateContent, UninstallContent): command = Command(context) command.create_option( '--consumer-id', _('identifies the consumer'), required=True) command.create_option( '--type', _('content unit type ID'), required=True) command.create_option( '--name', _('content unit key (name)'), required=True, allow_multiple=True, aliases=['-n']) command.create_flag( '--no-commit', _('transaction not committed')) self.add_command(command)
def __init__(self, context): """ @param context: @type context: pulp.client.extensions.core.ClientContext """ PulpCliSection.__init__(self, 'repo', _('repository lifecycle (create, delete, configure, etc.) commands')) self.context = context self.prompt = context.prompt # for easier access self.add_command(repo_commands.CreateRepositoryCommand(context)) self.add_command(repo_commands.DeleteRepositoryCommand(context)) self.add_command(repo_commands.UpdateRepositoryCommand(context)) self.add_command(repo_commands.ListRepositoriesCommand(context)) # Search Command self.add_command(CriteriaCommand(self.search, include_search=True)) # Subsections self.add_subsection(ImporterSection(context)) self.add_subsection(SyncSection(context)) self.add_subsection(RepoGroupSection(context)) self.create_subsection('units', _('list/search for RPM-related content in a repository'))
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)
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; ' 'Example: "login,name". If specified, ' 'only the given fields will be ' 'displayed.', required=False)) self.add_command(list_command) # Search Command self.add_command(CriteriaCommand(self.search, include_search=True))
def initialize(context): section = PulpCliSection('section-1', 'Section 1') context.cli.add_section(section)
def __init__(self, context): PulpCliSection.__init__(self, 'consumer', 'consumer lifecycle (list, update, etc.) commands') self.context = context self.prompt = context.prompt # for easier access # Common Options consumer_id_option = PulpCliOption('--consumer-id', 'uniquely identifies the consumer; only alphanumeric, -, and _ allowed', required=True) name_option = PulpCliOption('--display-name', 'user-readable display name for the consumer', required=False) description_option = PulpCliOption('--description', 'user-readable description for the consumer', required=False) # Update Command update_command = PulpCliCommand('update', 'changes metadata on an existing consumer', self.update) update_command.add_option(consumer_id_option) update_command.add_option(name_option) update_command.add_option(description_option) d = 'adds/updates/deletes notes to programmatically identify the consumer; ' d += 'key-value pairs must be separated by an equal sign (e.g. key=value); multiple notes can ' d += 'be changed by specifying this option multiple times; notes are deleted by ' d += 'specifying "" as the value' update_command.add_option(PulpCliOption('--note', d, required=False, allow_multiple=True)) self.add_command(update_command) # Unregister Command unregister_command = PulpCliCommand('unregister', 'unregisters a consumer', self.unregister) unregister_command.add_option(PulpCliOption('--consumer-id', 'identifies the consumer to be unregistered', required=True)) self.add_command(unregister_command) # List Command list_command = PulpCliCommand('list', 'lists summary of consumers registered to the Pulp server', self.list) list_command.add_option(PulpCliFlag('--details', 'if specified, all the consumer information is displayed')) list_command.add_option(PulpCliFlag('--bindings', 'if specified, the bindings information is displayed')) list_command.add_option(PulpCliOption('--fields', 'comma-separated list of consumer fields; if specified, only the given fields will displayed', required=False)) self.add_command(list_command) # Search Command self.add_command(CriteriaCommand(self.search)) # Bind Command bind_command = PulpCliCommand('bind', 'binds a consumer to a repository distributor for consuming published content', self.bind) bind_command.add_option(PulpCliOption('--consumer-id', 'consumer id', required=True)) bind_command.add_option(PulpCliOption('--repo-id', 'repository id', required=True)) bind_command.add_option(PulpCliOption('--distributor-id', 'distributor id', required=True)) self.add_command(bind_command) # Unbind Command unbind_command = PulpCliCommand('unbind', 'unbinds a consumer from a repository distributor', self.unbind) unbind_command.add_option(PulpCliOption('--consumer-id', 'consumer id', required=True)) unbind_command.add_option(PulpCliOption('--repo-id', 'repository id', required=True)) unbind_command.add_option(PulpCliOption('--distributor-id', 'distributor id', required=True)) self.add_command(unbind_command) # History Retrieval Command history_command = PulpCliCommand('history', 'lists history of a consumer', self.history) history_command.add_option(PulpCliOption('--consumer-id', 'consumer id', required=True)) d = 'limits displayed history entries to the given type;' d += 'supported types: ("consumer_registered", "consumer_unregistered", "repo_bound", "repo_unbound",' d += '"content_unit_installed", "content_unit_uninstalled", "unit_profile_changed", "added_to_group",' d += '"removed_from_group")' history_command.add_option(PulpCliOption('--event-type', d, required=False)) history_command.add_option(PulpCliOption('--limit', 'limits displayed history entries to the given amount (must be greater than zero)', required=False)) history_command.add_option(PulpCliOption('--sort', 'indicates the sort direction ("ascending" or "descending") based on the entry\'s timestamp', required=False)) history_command.add_option(PulpCliOption('--start-date', 'only return entries that occur on or after the given date in iso8601 format (yyyy-mm-ddThh:mm:ssZ)', required=False)) history_command.add_option(PulpCliOption('--end-date', 'only return entries that occur on or before the given date in iso8601 format (yyyy-mm-ddThh:mm:ssZ)', required=False)) self.add_command(history_command)
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; ' 'Example: "id,users". If specified, only ' 'the given fields will be displayed.', required=False)) self.add_command(list_command)