summaryrefslogtreecommitdiffstats
path: root/ipaclient/remote_plugins/__init__.py
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2016-06-02 10:12:26 +0200
committerJan Cholasta <jcholast@redhat.com>2016-06-03 09:00:34 +0200
commitec841e5d7ab29d08de294b3fa863a631cd50e30a (patch)
tree4242a4ad1a668074abd64298f580339a0712035c /ipaclient/remote_plugins/__init__.py
parentf5fd2b87506366f29ffca88b4a03e27143c79eae (diff)
downloadfreeipa-ec841e5d7ab29d08de294b3fa863a631cd50e30a.tar.gz
freeipa-ec841e5d7ab29d08de294b3fa863a631cd50e30a.tar.xz
freeipa-ec841e5d7ab29d08de294b3fa863a631cd50e30a.zip
ipaclient: implement thin client
Dynamically create plugin package for the remote server with modules and commands based on the API schema when client API is finalizes. For in-tree API instances, use ipalib.plugins directly. https://fedorahosted.org/freeipa/ticket/4739 Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipaclient/remote_plugins/__init__.py')
-rw-r--r--ipaclient/remote_plugins/__init__.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/ipaclient/remote_plugins/__init__.py b/ipaclient/remote_plugins/__init__.py
new file mode 100644
index 000000000..c59de0ca7
--- /dev/null
+++ b/ipaclient/remote_plugins/__init__.py
@@ -0,0 +1,14 @@
+#
+# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
+#
+
+from . import schema
+
+
+def get_package(api):
+ if api.env.in_tree:
+ from ipalib import plugins
+ else:
+ plugins = schema.get_package(api)
+
+ return plugins