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>
25 lines
585 B
Python
25 lines
585 B
Python
#
|
|
# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
|
|
#
|
|
|
|
from . import compat
|
|
from . import schema
|
|
from ipaclient.plugins.rpcclient import rpcclient
|
|
|
|
|
|
def get_package(api):
|
|
if api.env.in_tree:
|
|
from ipaserver import plugins
|
|
else:
|
|
client = rpcclient(api)
|
|
client.finalize()
|
|
try:
|
|
plugins = schema.get_package(api, client)
|
|
except schema.NotAvailable:
|
|
plugins = compat.get_package(api, client)
|
|
finally:
|
|
if client.isconnected():
|
|
client.disconnect()
|
|
|
|
return plugins
|