| |
@@ -8,7 +8,7 @@
|
| |
|
| |
import argparse
|
| |
from lib389.idm.group import Group, Groups, MUST_ATTRIBUTES
|
| |
- from lib389.cli_base import populate_attr_arguments
|
| |
+ from lib389.cli_base import populate_attr_arguments, _generic_modify
|
| |
from lib389.cli_idm import (
|
| |
_generic_list,
|
| |
_generic_get,
|
| |
@@ -48,6 +48,10 @@
|
| |
_warn(dn, msg="Deleting %s %s" % (SINGULAR.__name__, dn))
|
| |
_generic_delete(inst, basedn, log.getChild('_generic_delete'), SINGULAR, dn, args)
|
| |
|
| |
+ def modify(inst, basedn, log, args, warn=True):
|
| |
+ rdn = _get_arg( args.selector, msg="Enter %s to retrieve" % RDN)
|
| |
+ _generic_modify(inst, basedn, log.getChild('_generic_modify'), MANY, rdn, args)
|
| |
+
|
| |
def members(inst, basedn, log, args):
|
| |
cn = _get_arg( args.cn, msg="Enter %s of group" % RDN)
|
| |
groups = MANY(inst, basedn)
|
| |
@@ -100,6 +104,11 @@
|
| |
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>")
|
| |
+
|
| |
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")
|
| |
Bug Description: Extend dsidm to support modifying more types of
entries.
Fix Description: Can now modify groups, posixgroup, ou and others
from the cli without an ldifmodify
https://pagure.io/389-ds-base/issue/50619
Author: William Brown william@blackhats.net.au
Review by: ???