Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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>")
Ejemplo n.º 4
0
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)')
Ejemplo n.º 5
0
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"
    )
Ejemplo n.º 6
0
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")
Ejemplo n.º 7
0
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')
Ejemplo n.º 8
0
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")
Ejemplo n.º 9
0
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)')
Ejemplo n.º 10
0
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")
Ejemplo n.º 11
0
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')
Ejemplo n.º 12
0
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)')