summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAna Krivokapic <akrivoka@redhat.com>2013-04-08 11:04:17 -0400
committerMartin Kosek <mkosek@redhat.com>2013-04-11 15:57:45 +0200
commitff52c25ae299abba8bed653fe324951979a41293 (patch)
treec205ce7f2e425d3419a7929a2b6beac895781825
parentb25080bbca1d30c80ab8db4b8cca42cd85146a82 (diff)
downloadfreeipa.git-ff52c25ae299abba8bed653fe324951979a41293.tar.gz
freeipa.git-ff52c25ae299abba8bed653fe324951979a41293.tar.xz
freeipa.git-ff52c25ae299abba8bed653fe324951979a41293.zip
Fix output for some CLI commands
Fix output of dnsrecord_del: it now uses output.standard_delete and excludes --all and --raw flags. Fix output of sudorule_{add,remove}_option: they now use output.standard_entry and include --all and --raw flags. https://fedorahosted.org/freeipa/ticket/3503
-rw-r--r--API.txt22
-rw-r--r--VERSION2
-rw-r--r--ipalib/plugins/dns.py2
-rw-r--r--ipalib/plugins/sudorule.py6
-rw-r--r--tests/test_cmdline/test_cli.py8
5 files changed, 21 insertions, 19 deletions
diff --git a/API.txt b/API.txt
index 87db8d67..13cb380e 100644
--- a/API.txt
+++ b/API.txt
@@ -806,13 +806,12 @@ output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDA
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
output: Output('value', <type 'unicode'>, None)
command: dnsrecord_del
-args: 2,41,3
+args: 2,39,3
arg: Str('dnszoneidnsname', cli_name='dnszone', query=True, required=True)
arg: Str('idnsname', attribute=True, cli_name='name', multivalue=False, primary_key=True, query=True, required=True)
option: A6Record('a6record', attribute=True, autofill=False, cli_name='a6_rec', csv=True, multivalue=True, option_group=None, required=False)
option: AAAARecord('aaaarecord', attribute=True, autofill=False, cli_name='aaaa_rec', csv=True, multivalue=True, option_group=None, required=False)
option: AFSDBRecord('afsdbrecord', attribute=True, autofill=False, cli_name='afsdb_rec', csv=True, multivalue=True, option_group=None, required=False)
-option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
option: APLRecord('aplrecord', attribute=True, autofill=False, cli_name='apl_rec', csv=True, multivalue=True, option_group=None, required=False)
option: ARecord('arecord', attribute=True, autofill=False, cli_name='a_rec', csv=True, multivalue=True, option_group=None, required=False)
option: CERTRecord('certrecord', attribute=True, autofill=False, cli_name='cert_rec', csv=True, multivalue=True, option_group=None, required=False)
@@ -837,7 +836,6 @@ option: NSEC3Record('nsec3record', attribute=True, autofill=False, cli_name='nse
option: NSECRecord('nsecrecord', attribute=True, autofill=False, cli_name='nsec_rec', csv=True, multivalue=True, option_group=None, required=False)
option: NSRecord('nsrecord', attribute=True, autofill=False, cli_name='ns_rec', csv=True, multivalue=True, option_group=None, required=False)
option: PTRRecord('ptrrecord', attribute=True, autofill=False, cli_name='ptr_rec', csv=True, multivalue=True, option_group=None, required=False)
-option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
option: RPRecord('rprecord', attribute=True, autofill=False, cli_name='rp_rec', csv=True, multivalue=True, option_group=None, required=False)
option: RRSIGRecord('rrsigrecord', attribute=True, autofill=False, cli_name='rrsig_rec', csv=True, multivalue=True, option_group=None, required=False)
option: SIGRecord('sigrecord', attribute=True, autofill=False, cli_name='sig_rec', csv=True, multivalue=True, option_group=None, required=False)
@@ -850,7 +848,7 @@ option: TKEYRecord('tkeyrecord', attribute=True, autofill=False, cli_name='tkey_
option: TSIGRecord('tsigrecord', attribute=True, autofill=False, cli_name='tsig_rec', csv=True, multivalue=True, option_group=None, required=False)
option: TXTRecord('txtrecord', attribute=True, autofill=False, cli_name='txt_rec', csv=True, multivalue=True, option_group=None, required=False)
option: Str('version?', exclude='webui')
-output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
+output: Output('result', <type 'dict'>, None)
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
output: Output('value', <type 'unicode'>, None)
command: dnsrecord_delentry
@@ -3137,11 +3135,15 @@ output: Output('completed', <type 'int'>, None)
output: Output('failed', <type 'dict'>, None)
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
command: sudorule_add_option
-args: 1,2,1
+args: 1,4,3
arg: Str('cn', attribute=True, cli_name='sudorule_name', multivalue=False, primary_key=True, query=True, required=True)
+option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
option: Str('ipasudoopt', cli_name='sudooption')
+option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
option: Str('version?', exclude='webui')
-output: Output('result', None, None)
+output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
+output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
+output: Output('value', <type 'unicode'>, None)
command: sudorule_add_runasgroup
args: 1,4,3
arg: Str('cn', attribute=True, cli_name='sudorule_name', multivalue=False, primary_key=True, query=True, required=True)
@@ -3277,11 +3279,15 @@ output: Output('completed', <type 'int'>, None)
output: Output('failed', <type 'dict'>, None)
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
command: sudorule_remove_option
-args: 1,2,1
+args: 1,4,3
arg: Str('cn', attribute=True, cli_name='sudorule_name', multivalue=False, primary_key=True, query=True, required=True)
+option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
option: Str('ipasudoopt', cli_name='sudooption')
+option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
option: Str('version?', exclude='webui')
-output: Output('result', None, None)
+output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
+output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
+output: Output('value', <type 'unicode'>, None)
command: sudorule_remove_runasgroup
args: 1,4,3
arg: Str('cn', attribute=True, cli_name='sudorule_name', multivalue=False, primary_key=True, query=True, required=True)
diff --git a/VERSION b/VERSION
index 884f80fa..5eda9ca3 100644
--- a/VERSION
+++ b/VERSION
@@ -89,4 +89,4 @@ IPA_DATA_VERSION=20100614120000
# #
########################################################
IPA_API_VERSION_MAJOR=2
-IPA_API_VERSION_MINOR=55
+IPA_API_VERSION_MINOR=56
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py
index 3e6ed835..f40360f8 100644
--- a/ipalib/plugins/dns.py
+++ b/ipalib/plugins/dns.py
@@ -2679,6 +2679,8 @@ api.register(dnsrecord_delentry)
class dnsrecord_del(LDAPUpdate):
__doc__ = _('Delete DNS resource record.')
+ has_output = output.standard_delete
+
no_option_msg = _('Neither --del-all nor options to delete a specific record provided.\n'\
"Command help may be consulted for all supported record types.")
diff --git a/ipalib/plugins/sudorule.py b/ipalib/plugins/sudorule.py
index 3c89b7a0..a89941cb 100644
--- a/ipalib/plugins/sudorule.py
+++ b/ipalib/plugins/sudorule.py
@@ -605,6 +605,7 @@ api.register(sudorule_remove_runasgroup)
class sudorule_add_option(LDAPQuery):
__doc__ = _('Add an option to the Sudo Rule.')
+ has_output = output.standard_entry
takes_options = (
Str('ipasudoopt',
cli_name='sudooption',
@@ -642,7 +643,7 @@ class sudorule_add_option(LDAPQuery):
entry_attrs = entry_to_dict(entry_attrs, **options)
- return dict(result=entry_attrs)
+ return dict(result=entry_attrs, value=cn)
def output_for_cli(self, textui, result, cn, **options):
textui.print_dashed(_('Added option "%(option)s" to Sudo Rule "%(rule)s"') % \
@@ -657,6 +658,7 @@ api.register(sudorule_add_option)
class sudorule_remove_option(LDAPQuery):
__doc__ = _('Remove an option from Sudo Rule.')
+ has_output = output.standard_entry
takes_options = (
Str('ipasudoopt',
cli_name='sudooption',
@@ -697,7 +699,7 @@ class sudorule_remove_option(LDAPQuery):
entry_attrs = entry_to_dict(entry_attrs, **options)
- return dict(result=entry_attrs)
+ return dict(result=entry_attrs, value=cn)
def output_for_cli(self, textui, result, cn, **options):
textui.print_dashed(_('Removed option "%(option)s" from Sudo Rule "%(rule)s"') % \
diff --git a/tests/test_cmdline/test_cli.py b/tests/test_cmdline/test_cli.py
index 75d1608e..f66906c6 100644
--- a/tests/test_cmdline/test_cli.py
+++ b/tests/test_cmdline/test_cli.py
@@ -147,8 +147,6 @@ class TestCLIParsing(object):
idnsname=u'ns',
del_all=True,
structured=False,
- raw=False,
- all=False,
version=API_VERSION)
with self.fake_stdin('YeS\n'):
self.check_command('dnsrecord_del test-example.com ns',
@@ -157,8 +155,6 @@ class TestCLIParsing(object):
idnsname=u'ns',
del_all=True,
structured=False,
- raw=False,
- all=False,
version=API_VERSION)
finally:
self.run_command('dnszone_del', idnsname=u'test-example.com')
@@ -184,8 +180,6 @@ class TestCLIParsing(object):
del_all=False,
sshfprecord=records,
structured=False,
- raw=False,
- all=False,
version=API_VERSION)
finally:
self.run_command('dnszone_del', idnsname=u'test-example.com')
@@ -261,8 +255,6 @@ class TestCLIParsing(object):
del_all=False,
txtrecord=[u'"A pretty little problem," said Holmes.'],
structured=False,
- raw=False,
- all=False,
version=API_VERSION)
finally:
self.run_command('dnszone_del', idnsname=u'test-example.com')