def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project-id>', help='Filter results by project (name or ID) (admin only)') identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--user', metavar='<user-id>', help='Filter results by user (name or ID) (admin only)') identity_common.add_user_domain_option_to_parser(parser) parser.add_argument( '--name', metavar='<name>', help='Filter results by volume name', ) parser.add_argument( '--status', metavar='<status>', help='Filter results by status', ) parser.add_argument( '--all-projects', action='store_true', default=False, help='Include all projects (admin only)', ) parser.add_argument( '--long', action='store_true', default=False, help='List additional fields in output', ) return parser
def get_parser(self, prog_name): parser = super().get_parser(prog_name) user_group = parser.add_mutually_exclusive_group() user_group.add_argument( '--user', metavar='<user>', help=_('Show keypairs for another user (admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_user_domain_option_to_parser(parser) user_group.add_argument( '--project', metavar='<project>', help=_('Show keypairs for all users associated with project ' '(admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--marker', help=_('The last keypair ID of the previous page'), ) parser.add_argument( '--limit', type=int, help=_('Maximum number of keypairs to display'), ) return parser
def _add_identity_and_resource_options_to_parser(parser): domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', metavar='<domain>', help='Include <domain> (name or ID)', ) domain_or_project.add_argument( '--project', metavar='<project>', help='Include <project> (name or ID)', ) user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument( '--user', metavar='<user>', help='Include <user> (name or ID)', ) user_or_group.add_argument( '--group', metavar='<group>', help='Include <group> (name or ID)', ) common.add_group_domain_option_to_parser(parser) common.add_project_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser)
def _add_identity_and_resource_options_to_parser(parser): domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', metavar='<domain>', help='Include <domain> (name or ID)', ) domain_or_project.add_argument( '--project', metavar='<project>', help='Include `<project>` (name or ID)', ) user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument( '--user', metavar='<user>', help='Include <user> (name or ID)', ) user_or_group.add_argument( '--group', metavar='<group>', help='Include <group> (name or ID)', ) common.add_group_domain_option_to_parser(parser) common.add_project_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser)
def get_parser(self, prog_name): parser = super(CreateKeypair, self).get_parser(prog_name) parser.add_argument('name', metavar='<name>', help=_("New public or private key name")) key_group = parser.add_mutually_exclusive_group() key_group.add_argument( '--public-key', metavar='<file>', help=_("Filename for public key to add. If not used, " "creates a private key.")) key_group.add_argument( '--private-key', metavar='<file>', help=_("Filename for private key to save. If not used, " "print private key in console.")) parser.add_argument( '--type', metavar='<type>', choices=['ssh', 'x509'], help=_("Keypair type. Can be ssh or x509. " "(Supported by API versions '2.2' - '2.latest')"), ) parser.add_argument( '--user', metavar='<user>', help=_('The owner of the keypair. (admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListRoleAssignment, self).get_parser(prog_name) parser.add_argument( '--effective', action="store_true", default=False, help=_('Returns only effective role assignments'), ) parser.add_argument( '--role', metavar='<role>', help=_('Role to filter (name or ID)'), ) common.add_role_domain_option_to_parser(parser) parser.add_argument( '--names', action="store_true", help=_('Display names instead of IDs'), ) user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument( '--user', metavar='<user>', help=_('User to filter (name or ID)'), ) common.add_user_domain_option_to_parser(parser) user_or_group.add_argument( '--group', metavar='<group>', help=_('Group to filter (name or ID)'), ) common.add_group_domain_option_to_parser(parser) domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', metavar='<domain>', help=_('Domain to filter (name or ID)'), ) domain_or_project.add_argument( '--project', metavar='<project>', help=_('Project to filter (name or ID)'), ) common.add_project_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser) parser.add_argument( '--auth-user', action="store_true", dest='authuser', help='Only list assignments for the authenticated user', ) parser.add_argument( '--auth-project', action="store_true", dest='authproject', help='Only list assignments for the project to which the ' 'authenticated user\'s token is scoped', ) return parser
def get_parser(self, prog_name): parser = super(ListRoleAssignment, self).get_parser(prog_name) parser.add_argument( '--effective', action="store_true", default=False, help=_('Returns only effective role assignments'), ) parser.add_argument( '--role', metavar='<role>', help=_('Role to filter (name or ID)'), ) common.add_role_domain_option_to_parser(parser) parser.add_argument( '--names', action="store_true", help=_('Display names instead of IDs'), ) user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument( '--user', metavar='<user>', help=_('User to filter (name or ID)'), ) common.add_user_domain_option_to_parser(parser) user_or_group.add_argument( '--group', metavar='<group>', help=_('Group to filter (name or ID)'), ) common.add_group_domain_option_to_parser(parser) domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', metavar='<domain>', help=_('Domain to filter (name or ID)'), ) domain_or_project.add_argument( '--project', metavar='<project>', help=_('Project to filter (name or ID)'), ) common.add_project_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser) parser.add_argument( '--auth-user', action="store_true", dest='authuser', help='Only list assignments for the authenticated user', ) parser.add_argument( '--auth-project', action="store_true", dest='authproject', help='Only list assignments for the project to which the ' 'authenticated user\'s token is scoped', ) return parser
def get_parser(self, prog_name): parser = super(ListApplicationCredential, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('User whose application credentials to list (name or ID)'), ) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListApplicationCredential, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('User whose application credentials to list (name or ID)'), ) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListAccessRule, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('User whose access rules to list (name or ID)'), ) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListEC2Creds, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('Filter list by user (name or ID)'), ) common.add_user_domain_option_to_parser(parser) return parser
def _add_identity_and_resource_options_to_parser(parser): domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument("--domain", metavar="<domain>", help="Include <domain> (name or ID)") domain_or_project.add_argument("--project", metavar="<project>", help="Include <project> (name or ID)") user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument("--user", metavar="<user>", help="Include <user> (name or ID)") user_or_group.add_argument("--group", metavar="<group>", help="Include <group> (name or ID)") common.add_group_domain_option_to_parser(parser) common.add_project_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser)
def get_parser(self, prog_name): parser = super(ListServer, self).get_parser(prog_name) parser.add_argument( "--reservation-id", metavar="<reservation-id>", help=_("Only return instances that match the reservation") ) parser.add_argument("--ip", metavar="<ip-address-regex>", help=_("Regular expression to match IP addresses")) parser.add_argument("--ip6", metavar="<ip-address-regex>", help=_("Regular expression to match IPv6 addresses")) parser.add_argument("--name", metavar="<name-regex>", help=_("Regular expression to match names")) parser.add_argument( "--instance-name", metavar="<server-name>", help=_("Regular expression to match instance name (admin only)") ) parser.add_argument( "--status", metavar="<status>", # FIXME(dhellmann): Add choices? help=_("Search by server status"), ) parser.add_argument("--flavor", metavar="<flavor>", help=_("Search by flavor (name or ID)")) parser.add_argument("--image", metavar="<image>", help=_("Search by image (name or ID)")) parser.add_argument("--host", metavar="<hostname>", help=_("Search by hostname")) parser.add_argument( "--all-projects", action="store_true", default=bool(int(os.environ.get("ALL_PROJECTS", 0))), help=_("Include all projects (admin only)"), ) parser.add_argument("--project", metavar="<project>", help="Search by project (admin only) (name or ID)") identity_common.add_project_domain_option_to_parser(parser) parser.add_argument("--user", metavar="<user>", help=_("Search by user (admin only) (name or ID)")) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument("--long", action="store_true", default=False, help=_("List additional fields in output")) parser.add_argument( "--marker", metavar="<marker>", default=None, help=( "The last server (name or ID) of the previous page. Display" " list of servers after marker. Display all servers if not" " specified." ), ) parser.add_argument( "--limit", metavar="<limit>", type=int, default=None, help=( "Maximum number of servers to display. If limit equals -1," " all servers will be displayed. If limit is greater than" " 'osapi_max_limit' option of Nova API," " 'osapi_max_limit' will be used instead." ), ) return parser
def get_parser(self, prog_name): parser = super(DeleteKeypair, self).get_parser(prog_name) parser.add_argument('name', metavar='<key>', nargs='+', help=_("Name of key(s) to delete (name only)")) parser.add_argument( '--user', metavar='<user>', help=_('The owner of the keypair. (admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListCredential, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('Filter credentials by <user> (name or ID)'), ) common.add_user_domain_option_to_parser(parser) parser.add_argument( '--type', metavar='<type>', help=_('Filter credentials by type: cert, ec2, totp and so on'), ) return parser
def get_parser(self, prog_name): parser = super(ShowEC2Creds, self).get_parser(prog_name) parser.add_argument( 'access_key', metavar='<access-key>', help=_('Credentials access key'), ) parser.add_argument( '--user', metavar='<user>', help=_('Show credentials for user (name or ID)'), ) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListCredential, self).get_parser(prog_name) parser.add_argument( '--user', metavar='<user>', help=_('Filter credentials by <user> (name or ID)'), ) common.add_user_domain_option_to_parser(parser) parser.add_argument( '--type', metavar='<type>', help=_('Filter credentials by type: cert, ec2, totp and so on'), ) return parser
def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project>', help=_('Filter results by project (name or ID) (admin only)') ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--user', metavar='<user>', help=_('Filter results by user (name or ID) (admin only)') ) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument( '--name', metavar='<name>', help=_('Filter results by volume name'), ) parser.add_argument( '--status', metavar='<status>', help=_('Filter results by status'), ) parser.add_argument( '--all-projects', action='store_true', default=False, help=_('Include all projects (admin only)'), ) parser.add_argument( '--long', action='store_true', default=False, help=_('List additional fields in output'), ) parser.add_argument( '--marker', metavar='<volume>', help=_('The last volume ID of the previous page'), ) parser.add_argument( '--limit', type=int, action=parseractions.NonNegativeAction, metavar='<num-volumes>', help=_('Maximum number of volumes to display'), ) return parser
def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project>', help=_('Filter results by project (name or ID) (admin only)') ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--user', metavar='<user>', help=_('Filter results by user (name or ID) (admin only)') ) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument( '--name', metavar='<name>', help=_('Filter results by volume name'), ) parser.add_argument( '--status', metavar='<status>', help=_('Filter results by status'), ) parser.add_argument( '--all-projects', action='store_true', default=False, help=_('Include all projects (admin only)'), ) parser.add_argument( '--long', action='store_true', default=False, help=_('List additional fields in output'), ) parser.add_argument( '--marker', metavar='<volume>', help=_('The last volume ID of the previous page'), ) parser.add_argument( '--limit', type=int, action=parseractions.NonNegativeAction, metavar='<num-volumes>', help=_('Maximum number of volumes to display'), ) return parser
def get_parser(self, prog_name): parser = super(AddUserToGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help=_('Group to contain <user> (name or ID)'), ) parser.add_argument( 'user', metavar='<user>', help=_('User to add to <group> (name or ID)'), ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( "--project", metavar="<project>", help="Filter results by project (name or ID) (admin only)" ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument("--user", metavar="<user>", help="Filter results by user (name or ID) (admin only)") identity_common.add_user_domain_option_to_parser(parser) parser.add_argument("--name", metavar="<name>", help="Filter results by volume name") parser.add_argument("--status", metavar="<status>", help="Filter results by status") parser.add_argument( "--all-projects", action="store_true", default=False, help="Include all projects (admin only)" ) parser.add_argument("--long", action="store_true", default=False, help="List additional fields in output") return parser
def get_parser(self, prog_name): parser = super(RemoveUserFromGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help='Group containing <user> (name or ID)', ) parser.add_argument( 'user', metavar='<user>', help='User to remove from <group> (name or ID)', ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(CheckUserInGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help='Group to check (name or ID)', ) parser.add_argument( 'user', metavar='<user>', help='User to check (name or ID)', ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(AddUserToGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help=_('Group to contain <user> (name or ID)'), ) parser.add_argument( 'user', metavar='<user>', help=_('User to add to <group> (name or ID)'), ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(RemoveUserFromGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help=_('Group containing <user> (name or ID)'), ) parser.add_argument( 'user', metavar='<user>', nargs='+', help=_('User(s) to remove from <group> (name or ID) ' '(repeat option to remove multiple users)'), ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(CreateEC2Creds, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project>', help=_('Create credentials in project ' '(name or ID; default: current authenticated project)'), ) parser.add_argument( '--user', metavar='<user>', help=_('Create credentials for user ' '(name or ID; default: current authenticated user)'), ) common.add_user_domain_option_to_parser(parser) common.add_project_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(CreateEC2Creds, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project>', help=_('Create credentials in project ' '(name or ID; default: current authenticated project)'), ) parser.add_argument( '--user', metavar='<user>', help=_('Create credentials for user ' '(name or ID; default: current authenticated user)'), ) common.add_user_domain_option_to_parser(parser) common.add_project_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(RemoveUserFromGroup, self).get_parser(prog_name) parser.add_argument( 'group', metavar='<group>', help=_('Group containing <user> (name or ID)'), ) parser.add_argument( 'user', metavar='<user>', nargs='+', help=_('User(s) to remove from <group> (name or ID) ' '(repeat option to remove multiple users)'), ) common.add_group_domain_option_to_parser(parser) common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListRoleAssignment, self).get_parser(prog_name) parser.add_argument( '--effective', action="store_true", default=False, help='Returns only effective role assignments', ) parser.add_argument( '--role', metavar='<role>', help='Role to filter (name or ID)', ) parser.add_argument( '--names', action="store_true", help='Display names instead of IDs', ) user_or_group = parser.add_mutually_exclusive_group() user_or_group.add_argument( '--user', metavar='<user>', help='User to filter (name or ID)', ) common.add_user_domain_option_to_parser(parser) user_or_group.add_argument( '--group', metavar='<group>', help='Group to filter (name or ID)', ) common.add_group_domain_option_to_parser(parser) domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', metavar='<domain>', help='Domain to filter (name or ID)', ) domain_or_project.add_argument( '--project', metavar='<project>', help='Project to filter (name or ID)', ) common.add_project_domain_option_to_parser(parser) common.add_inherited_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super().get_parser(prog_name) user_group = parser.add_mutually_exclusive_group() user_group.add_argument( '--user', metavar='<user>', help=_('Show keypairs for another user (admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_user_domain_option_to_parser(parser) user_group.add_argument( '--project', metavar='<project>', help=_('Show keypairs for all users associated with project ' '(admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_project_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ShowKeypair, self).get_parser(prog_name) parser.add_argument( 'name', metavar='<key>', help=_("Public or private key to display (name only)")) parser.add_argument( '--public-key', action='store_true', default=False, help=_("Show only bare public key paired with the generated key")) parser.add_argument( '--user', metavar='<user>', help=_('The owner of the keypair. (admin only) (name or ID). ' 'Requires ``--os-compute-api-version`` 2.10 or greater.'), ) identity_common.add_user_domain_option_to_parser(parser) return parser
def get_parser(self, prog_name): parser = super(ListGroup, self).get_parser(prog_name) parser.add_argument( '--domain', metavar='<domain>', help='Filter group list by <domain> (name or ID)', ) parser.add_argument( '--user', metavar='<user>', help='Filter group list by <user> (name or ID)', ) common.add_user_domain_option_to_parser(parser) parser.add_argument( '--long', action='store_true', default=False, help='List additional fields in output', ) return parser
def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( "--project", metavar="<project>", help=_("Filter results by project (name or ID) (admin only)") ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument("--user", metavar="<user>", help=_("Filter results by user (name or ID) (admin only)")) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument("--name", metavar="<name>", help=_("Filter results by volume name")) parser.add_argument("--status", metavar="<status>", help=_("Filter results by status")) parser.add_argument( "--all-projects", action="store_true", default=False, help=_("Include all projects (admin only)") ) parser.add_argument("--long", action="store_true", default=False, help=_("List additional fields in output")) parser.add_argument("--marker", metavar="<marker>", help=_("The last volume ID of the previous page")) parser.add_argument( "--limit", type=int, action=parseractions.NonNegativeAction, metavar="<limit>", help=_("Maximum number of volumes to display"), ) return parser
def get_parser(self, prog_name): parser = super(ListVolume, self).get_parser(prog_name) parser.add_argument( '--project', metavar='<project>', help=_('Filter results by project (name or ID) (admin only)') ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--user', metavar='<user>', help=_('Filter results by user (name or ID) (admin only)') ) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument( '--name', metavar='<name>', help=_('Filter results by volume name'), ) parser.add_argument( '--status', metavar='<status>', help=_('Filter results by status'), ) parser.add_argument( '--all-projects', action='store_true', default=False, help=_('Include all projects (admin only)'), ) parser.add_argument( '--long', action='store_true', default=False, help=_('List additional fields in output'), ) return parser
def get_parser(self, prog_name): parser = super(ListShare, self).get_parser(prog_name) parser.add_argument('--name', metavar="<share-name>", help=_('Filter shares by share name')) parser.add_argument('--status', metavar="<share-status>", help=_('Filter shares by status')) parser.add_argument( '--snapshot', metavar='<share-network-id>', help=_('Filter shares by snapshot name or id.'), ) parser.add_argument( '--public', action='store_true', default=False, help=_('Include public shares'), ) parser.add_argument( '--share-network', metavar='<share-network-name-or-id>', help=_('Filter shares exported on a given share network'), ) parser.add_argument( '--share-type', metavar='<share-type-name-or-id>', help=_('Filter shares of a given share type'), ) parser.add_argument( '--share-group', metavar='<share-group-name-or-id>', help=_('Filter shares belonging to a given share group'), ) parser.add_argument( '--host', metavar='<share-host>', help=_('Filter shares belonging to a given host (admin only)'), ) parser.add_argument( '--share-server', metavar='<share-server-id>', help=_('Filter shares exported via a given share server ' '(admin only)'), ) parser.add_argument( '--project', metavar='<project>', help=_('Filter shares by project (name or ID) (admin only)')) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--user', metavar='<user>', help=_('Filter results by user (name or ID) (admin only)')) identity_common.add_user_domain_option_to_parser(parser) parser.add_argument( '--all-projects', action='store_true', default=False, help=_('Include all projects (admin only)'), ) parser.add_argument( '--property', metavar='<key=value>', action=parseractions.KeyValueAction, help=_('Filter shares having a given metadata key=value property ' '(repeat option to filter by multiple properties)'), ) parser.add_argument( '--extra-spec', metavar='<key=value>', action=parseractions.KeyValueAction, help=_('Filter shares with extra specs (key=value) of the share ' 'type that they belong to. ' '(repeat option to filter by multiple extra specs)'), ) parser.add_argument( '--long', action='store_true', default=False, help=_('List additional fields in output'), ) parser.add_argument( '--sort', metavar="<key>[:<direction>]", default='name:asc', help=_("Sort output by selected keys and directions(asc or desc) " "(default: name:asc), multiple keys and directions can be " "specified separated by comma"), ) parser.add_argument( '--limit', metavar="<num-shares>", type=int, action=parseractions.NonNegativeAction, help=_('Maximum number of shares to display'), ) parser.add_argument( '--marker', metavar="<share>", help=_('The last share ID of the previous page'), ) return parser