diff options
author | Jan Cholasta <jcholast@redhat.com> | 2016-06-30 15:51:29 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2016-07-01 09:40:04 +0200 |
commit | 2cf7c7b4ac2a71457d026d6312cf4fd57b55062b (patch) | |
tree | 577732b8c373e377dd66517b9f0c7f72654ed7c8 /ipaclient/remote_plugins/2_164/join.py | |
parent | cf713ac28362c40e6414e9bf9701e58e36c07deb (diff) | |
download | freeipa-2cf7c7b4ac2a71457d026d6312cf4fd57b55062b.tar.gz freeipa-2cf7c7b4ac2a71457d026d6312cf4fd57b55062b.tar.xz freeipa-2cf7c7b4ac2a71457d026d6312cf4fd57b55062b.zip |
client: add support for pre-schema servers
Bundle remote plugin interface definitions for servers which lack API
schema support. These server API versions are included:
* 2.49: IPA 3.1.0 on RHEL/CentOS 6.5+,
* 2.114: IPA 4.1.4 on Fedora 22,
* 2.156: IPA 4.2.0 on RHEL/CentOS 7.2 and IPA 4.2.4 on Fedora 23,
* 2.164: IPA 4.3.1 on Fedora 23.
For servers with other API versions, the closest lower API version is used.
https://fedorahosted.org/freeipa/ticket/4739
Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipaclient/remote_plugins/2_164/join.py')
-rw-r--r-- | ipaclient/remote_plugins/2_164/join.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/ipaclient/remote_plugins/2_164/join.py b/ipaclient/remote_plugins/2_164/join.py new file mode 100644 index 000000000..07403510b --- /dev/null +++ b/ipaclient/remote_plugins/2_164/join.py @@ -0,0 +1,62 @@ +# +# Copyright (C) 2016 FreeIPA Contributors see COPYING for license +# + +# pylint: disable=unused-import +import six + +from . import Command, Method, Object +from ipalib import api, parameters, output +from ipalib.parameters import DefaultFrom +from ipalib.plugable import Registry +from ipalib.text import _ +from ipapython.dn import DN +from ipapython.dnsutil import DNSName + +if six.PY3: + unicode = str + +__doc__ = _(""" +Joining an IPA domain +""") + +register = Registry() + + +@register() +class join(Command): + __doc__ = _("Join an IPA domain") + + takes_args = ( + parameters.Str( + 'cn', + cli_name='hostname', + doc=_(u'The hostname to register as'), + default_from=DefaultFrom(lambda : None), + # FIXME: + # lambda: unicode(installutils.get_fqdn()) + autofill=True, + ), + ) + takes_options = ( + parameters.Str( + 'realm', + doc=_(u'The IPA realm'), + default_from=DefaultFrom(lambda: api.env.realm), + autofill=True, + ), + parameters.Str( + 'nshardwareplatform', + required=False, + cli_name='platform', + doc=_(u'Hardware platform of the host (e.g. Lenovo T61)'), + ), + parameters.Str( + 'nsosversion', + required=False, + cli_name='os', + doc=_(u'Operating System and version of the host (e.g. Fedora 9)'), + ), + ) + has_output = ( + ) |