def create_parser(subparsers): backend_parser = subparsers.add_parser( 'backend', help="Manage database suffixes and backends") subcommands = backend_parser.add_subparsers(help="action") list_parser = subcommands.add_parser( 'list', help="List current active backends and suffixes") list_parser.set_defaults(func=backend_list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=backend_get) get_parser.add_argument('selector', nargs='?', help='The backend to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=backend_get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The backend dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=backend_create) populate_attr_arguments(create_parser, Backend._must_attributes) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=backend_delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete')
def create_parser(subparsers): ou_parser = subparsers.add_parser('organizationalunit', help='Manage organizational units') subcommands = ou_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, MUST_ATTRIBUTES) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete')
def create_parser(subparsers): posixgroup_parser = subparsers.add_parser('posixgroup', help='Manage posix groups') subcommands = posixgroup_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, MUST_ATTRIBUTES) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') modify_parser = subcommands.add_parser('modify', help='modify <add|delete|replace>:<attribute>:<value> ...') modify_parser.set_defaults(func=modify) modify_parser.add_argument('selector', nargs=1, help='The %s to modify' % RDN) modify_parser.add_argument('changes', nargs='+', help="A list of changes to apply in format: <add|delete|replace>:<attribute>:<value>")
def create_parser(subparsers): sasl_parser = subparsers.add_parser( 'sasl', help='Query and manipulate SASL mappings') subcommands = sasl_parser.add_subparsers(help='sasl') list_mappings_parser = subcommands.add_parser( 'list', help='List available SASL mappings') list_mappings_parser.set_defaults(func=sasl_map_list) list_mappings_parser.add_argument('--details', action='store_true', default=False, help="Get each SASL Mapping in detail.") get_mech_parser = subcommands.add_parser( 'get-mechs', help='List available SASL mechanisms') get_mech_parser.set_defaults(func=sasl_get_supported) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=sasl_map_get) get_parser.add_argument('selector', nargs='?', help='SASL mapping name to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=sasl_map_create) populate_attr_arguments(create_parser, SaslMapping._must_attributes) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=sasl_map_delete) delete_parser.add_argument('map_name', help='The SASL Mapping name ("cn" value)')
def create_parser(subparsers): ou_parser = subparsers.add_parser('organizationalunit', help='Manage organizational units') subcommands = ou_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, MUST_ATTRIBUTES) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') modify_parser = subcommands.add_parser( 'modify', help='modify <add|delete|replace>:<attribute>:<value> ...') modify_parser.set_defaults(func=modify) modify_parser.add_argument('selector', nargs=1, help='The %s to modify' % RDN) modify_parser.add_argument( 'changes', nargs='+', help= "A list of changes to apply in format: <add|delete|replace>:<attribute>:<value>" ) rename_parser = subcommands.add_parser('rename', help='rename the object') rename_parser.set_defaults(func=rename) rename_parser.add_argument('selector', help='The %s to rename' % RDN) rename_parser.add_argument('new_name', help='A new organizational unit name') rename_parser.add_argument( '--keep-old-rdn', action='store_true', help= "Specify whether the old RDN (i.e. 'ou: old_ou') should be kept as an attribute of the entry or not" )
def create_parser(subparsers): group_parser = subparsers.add_parser('group', help='Manage groups') subcommands = group_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, MUST_ATTRIBUTES) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') members_parser = subcommands.add_parser('members', help="List member dns of a group") members_parser.set_defaults(func=members) members_parser.add_argument('cn', nargs='?', help="cn of group to list members of") add_member_parser = subcommands.add_parser('add_member', help="Add a member to a group") add_member_parser.set_defaults(func=add_member) add_member_parser.add_argument('cn', nargs='?', help="cn of group to add member to") add_member_parser.add_argument( 'dn', nargs='?', help="dn of object to add to group as member") remove_member_parser = subcommands.add_parser( 'remove_member', help="Remove a member from a group") remove_member_parser.set_defaults(func=remove_member) remove_member_parser.add_argument('cn', nargs='?', help="cn of group to remove member from") remove_member_parser.add_argument( 'dn', nargs='?', help="dn of object to remove from group as member")
def create_parser(subparsers): user_parser = subparsers.add_parser('user', help='Manage posix users') subcommands = user_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, SINGULAR._must_attributes) modify_parser = subcommands.add_parser( 'modify', help='modify <add|delete|replace>:<attribute>:<value> ...') modify_parser.set_defaults(func=modify) modify_parser.add_argument('selector', nargs=1, help='The uid to modify') modify_parser.add_argument( 'changes', nargs='+', help= "A list of changes to apply in format: <add|delete|replace>:<attribute>:<value>" ) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') lock_parser = subcommands.add_parser('lock', help='lock') lock_parser.set_defaults(func=lock) lock_parser.add_argument('uid', nargs='?', help='The uid to lock') status_parser = subcommands.add_parser('status', help='status') status_parser.set_defaults(func=status) status_parser.add_argument('uid', nargs='?', help='The uid to check') unlock_parser = subcommands.add_parser('unlock', help='unlock') unlock_parser.set_defaults(func=unlock) unlock_parser.add_argument('uid', nargs='?', help='The uid to unlock')
def create_parser(subparsers): group_parser = subparsers.add_parser('group', help='Manage groups') subcommands = group_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, MUST_ATTRIBUTES) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') modify_parser = subcommands.add_parser('modify', help='modify <add|delete|replace>:<attribute>:<value> ...') modify_parser.set_defaults(func=modify) modify_parser.add_argument('selector', nargs=1, help='The %s to modify' % RDN) modify_parser.add_argument('changes', nargs='+', help="A list of changes to apply in format: <add|delete|replace>:<attribute>:<value>") rename_parser = subcommands.add_parser('rename', help='rename the object') rename_parser.set_defaults(func=rename) rename_parser.add_argument('selector', help='The %s to rename' % RDN) rename_parser.add_argument('new_name', help='A new group name') rename_parser.add_argument('--keep-old-rdn', action='store_true', help="Specify whether the old RDN (i.e. 'cn: old_group') should be kept as an attribute of the entry or not") members_parser = subcommands.add_parser('members', help="List member dns of a group") members_parser.set_defaults(func=members) members_parser.add_argument('cn', nargs='?', help="cn of group to list members of") add_member_parser = subcommands.add_parser('add_member', help="Add a member to a group") add_member_parser.set_defaults(func=add_member) add_member_parser.add_argument('cn', nargs='?', help="cn of group to add member to") add_member_parser.add_argument('dn', nargs='?', help="dn of object to add to group as member") remove_member_parser = subcommands.add_parser('remove_member', help="Remove a member from a group") remove_member_parser.set_defaults(func=remove_member) remove_member_parser.add_argument('cn', nargs='?', help="cn of group to remove member from") remove_member_parser.add_argument('dn', nargs='?', help="dn of object to remove from group as member")
def create_parser(subparsers): sasl_parser = subparsers.add_parser('sasl', help='Manage SASL mappings') subcommands = sasl_parser.add_subparsers(help='sasl') list_mappings_parser = subcommands.add_parser( 'list', help='Display available SASL mappings') list_mappings_parser.set_defaults(func=sasl_map_list) list_mappings_parser.add_argument( '--details', action='store_true', default=False, help="Displays each SASL mapping in detail") get_mech_parser = subcommands.add_parser( 'get-mechs', help='Display the SASL mechanisms that the server will accept') get_mech_parser.set_defaults(func=sasl_get_supported) get_mech_parser = subcommands.add_parser( 'get-available-mechs', help='Display the SASL mechanisms that are available to the server') get_mech_parser.set_defaults(func=sasl_get_available) get_parser = subcommands.add_parser('get', help='Displays SASL mappings') get_parser.set_defaults(func=sasl_map_get) get_parser.add_argument('selector', nargs='?', help='The SASL mapping name to display') create_parser = subcommands.add_parser('create', help='Create a SASL mapping ') create_parser.set_defaults(func=sasl_map_create) populate_attr_arguments(create_parser, SaslMapping._must_attributes) delete_parser = subcommands.add_parser('delete', help='Deletes the SASL object') delete_parser.set_defaults(func=sasl_map_delete) delete_parser.add_argument('map_name', help='The SASL mapping name ("cn" value)')
def create_parser(subparsers): role_parser = subparsers.add_parser('role', help='''Manage roles.''') subcommands = role_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list roles that could login to the directory') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get-by-dn', help='get-by-dn <dn>') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get and display') create_managed_parser = subcommands.add_parser('create-managed', help='create') create_managed_parser.set_defaults(func=create_managed) populate_attr_arguments(create_managed_parser, MUST_ATTRIBUTES) create_filtered_parser = subcommands.add_parser('create-filtered', help='create') create_filtered_parser.set_defaults(func=create_filtered) populate_attr_arguments(create_filtered_parser, MUST_ATTRIBUTES) create_nested_parser = subcommands.add_parser('create-nested', help='create') create_nested_parser.set_defaults(func=create_nested) populate_attr_arguments(create_nested_parser, MUST_ATTRIBUTES_NESTED) modify_dn_parser = subcommands.add_parser('modify-by-dn', help='modify-by-dn <dn> <add|delete|replace>:<attribute>:<value> ...') modify_dn_parser.set_defaults(func=modify) modify_dn_parser.add_argument('dn', nargs=1, help='The dn to modify') modify_dn_parser.add_argument('changes', nargs='+', help="A list of changes to apply in format: <add|delete|replace>:<attribute>:<value>") rename_dn_parser = subcommands.add_parser('rename-by-dn', help='rename the object') rename_dn_parser.set_defaults(func=rename) rename_dn_parser.add_argument('dn', help='The dn to rename') rename_dn_parser.add_argument('new_dn', help='A new account dn') rename_dn_parser.add_argument('--keep-old-rdn', action='store_true', help="Specify whether the old RDN (i.e. 'cn: old_account') should be kept as an attribute of the entry or not") delete_parser = subcommands.add_parser('delete', help='deletes the role') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn of the role to delete') lock_parser = subcommands.add_parser('lock', help='lock') lock_parser.set_defaults(func=lock) lock_parser.add_argument('dn', nargs='?', help='The dn to lock') unlock_parser = subcommands.add_parser('unlock', help='unlock') unlock_parser.set_defaults(func=unlock) unlock_parser.add_argument('dn', nargs='?', help='The dn to unlock') status_parser = subcommands.add_parser('entry-status', help='status of a single entry') status_parser.set_defaults(func=entry_status) status_parser.add_argument('dn', nargs='?', help='The single entry dn to check') status_parser = subcommands.add_parser('subtree-status', help='status of a subtree') status_parser.set_defaults(func=subtree_status) status_parser.add_argument('basedn', help="Search base for finding entries") status_parser.add_argument('-f', '--filter', help="Search filter for finding entries") status_parser.add_argument('-s', '--scope', choices=['base', 'one', 'sub'], help="Search scope (base, one, sub - default is sub")
def create_parser(subparsers): user_parser = subparsers.add_parser('user', help='Manage posix users') subcommands = user_parser.add_subparsers(help='action') list_parser = subcommands.add_parser('list', help='list') list_parser.set_defaults(func=list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=get) get_parser.add_argument('selector', nargs='?', help='The term to search for') get_dn_parser = subcommands.add_parser('get_dn', help='get_dn') get_dn_parser.set_defaults(func=get_dn) get_dn_parser.add_argument('dn', nargs='?', help='The dn to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=create) populate_attr_arguments(create_parser, SINGULAR._must_attributes) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=delete) delete_parser.add_argument('dn', nargs='?', help='The dn to delete') lock_parser = subcommands.add_parser('lock', help='lock') lock_parser.set_defaults(func=lock) lock_parser.add_argument('uid', nargs='?', help='The uid to lock') status_parser = subcommands.add_parser('status', help='status') status_parser.set_defaults(func=status) status_parser.add_argument('uid', nargs='?', help='The uid to check') unlock_parser = subcommands.add_parser('unlock', help='unlock') unlock_parser.set_defaults(func=unlock) unlock_parser.add_argument('uid', nargs='?', help='The uid to unlock')
def create_parser(subparsers): sasl_parser = subparsers.add_parser( 'sasl', help='Query and manipulate sasl mappings') subcommands = sasl_parser.add_subparsers(help='sasl') list_mappings_parser = subcommands.add_parser( 'list', help='List avaliable SASL mappings') list_mappings_parser.set_defaults(func=sasl_map_list) get_parser = subcommands.add_parser('get', help='get') get_parser.set_defaults(func=sasl_map_get) get_parser.add_argument('selector', nargs='?', help='SASL mapping name to get') create_parser = subcommands.add_parser('create', help='create') create_parser.set_defaults(func=sasl_map_create) populate_attr_arguments(create_parser, SaslMapping._must_attributes) delete_parser = subcommands.add_parser('delete', help='deletes the object') delete_parser.set_defaults(func=sasl_map_delete) delete_parser.add_argument('map_name', help='The SASL Mapping name ("cn" value)')