summaryrefslogtreecommitdiffstats
path: root/ipaclient
diff options
context:
space:
mode:
Diffstat (limited to 'ipaclient')
-rw-r--r--ipaclient/remote_plugins/schema.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/ipaclient/remote_plugins/schema.py b/ipaclient/remote_plugins/schema.py
index 0ad2d25c6..25a2a7ec5 100644
--- a/ipaclient/remote_plugins/schema.py
+++ b/ipaclient/remote_plugins/schema.py
@@ -286,11 +286,8 @@ def _create_output(schema):
def _create_command(schema):
- name = str(schema['name'])
- params = {m['name']: _create_param(m) for m in schema['params']}
-
command = {}
- command['name'] = name
+ command['name'] = str(schema['name'])
if 'doc' in schema:
command['doc'] = ConcatenatedLazyText(schema['doc'])
if 'topic_topic' in schema:
@@ -304,9 +301,11 @@ def _create_command(schema):
if 'no_cli' in schema:
command['NO_CLI'] = schema['no_cli']
command['takes_args'] = tuple(
- params[n] for n in schema.get('args_param', []))
+ _create_param(s) for s in schema['params']
+ if s.get('positional', s.get('required', True)))
command['takes_options'] = tuple(
- params[n] for n in schema.get('options_param', []))
+ _create_param(s) for s in schema['params']
+ if not s.get('positional', s.get('required', True)))
command['has_output'] = tuple(
_create_output(m) for m in schema['output'])