summaryrefslogtreecommitdiffstats
path: root/ipaserver/plugins/service.py
diff options
context:
space:
mode:
authorMartin Babinsky <mbabinsk@redhat.com>2016-06-23 19:14:53 +0200
committerMartin Basti <mbasti@redhat.com>2016-07-01 09:37:25 +0200
commit750a392fe22aa8ddcb21077e8c24b96d36ecf20c (patch)
tree54dd24acf6563c9c714a8333d55b7b36b37672b9 /ipaserver/plugins/service.py
parent7e803aa4625869ef6a8e78a09cd99270c4cc77e5 (diff)
downloadfreeipa-750a392fe22aa8ddcb21077e8c24b96d36ecf20c.tar.gz
freeipa-750a392fe22aa8ddcb21077e8c24b96d36ecf20c.tar.xz
freeipa-750a392fe22aa8ddcb21077e8c24b96d36ecf20c.zip
Allow for commands that use positional parameters to add/remove attributes
Commands that modify a single multivalued attribute of an entry should use positional parameters to specify both the primary key and the values to add/remove. Named options are redundant in this case. The `--certificate option` of `*-add/remove-cert` commands was turned mandatory to avoid EmptyModlist when it is omitted. https://fedorahosted.org/freeipa/ticket/3961 https://fedorahosted.org/freeipa/ticket/5413 Reviewed-By: David Kupka <dkupka@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver/plugins/service.py')
-rw-r--r--ipaserver/plugins/service.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/ipaserver/plugins/service.py b/ipaserver/plugins/service.py
index 70bf31fd4..ec0bc5fbe 100644
--- a/ipaserver/plugins/service.py
+++ b/ipaserver/plugins/service.py
@@ -39,7 +39,9 @@ from .baseldap import (
LDAPRemoveMember,
LDAPQuery,
LDAPAddAttribute,
- LDAPRemoveAttribute)
+ LDAPRemoveAttribute,
+ LDAPAddAttributeViaOption,
+ LDAPRemoveAttributeViaOption)
from ipalib import x509
from ipalib import _, ngettext
from ipalib import util
@@ -881,14 +883,14 @@ class service_disable(LDAPQuery):
@register()
-class service_add_cert(LDAPAddAttribute):
+class service_add_cert(LDAPAddAttributeViaOption):
__doc__ = _('Add new certificates to a service')
msg_summary = _('Added certificates to service principal "%(value)s"')
attribute = 'usercertificate'
@register()
-class service_remove_cert(LDAPRemoveAttribute):
+class service_remove_cert(LDAPRemoveAttributeViaOption):
__doc__ = _('Remove certificates from a service')
msg_summary = _('Removed certificates from service principal "%(value)s"')
attribute = 'usercertificate'