diff --git a/ipaclient/plugins/dns.py b/ipaclient/plugins/dns.py index 2d3c5e238..f67189757 100644 --- a/ipaclient/plugins/dns.py +++ b/ipaclient/plugins/dns.py @@ -73,6 +73,10 @@ def prompt_parts(rrtype, cmd, mod_dnsvalue=None): return user_options for part_id, part in enumerate(rrobj.params()): + name = part_name_format % (rrtype.lower(), part.name) + if name not in cmd.params: + continue + if mod_parts: default = mod_parts[part_id] else: @@ -92,6 +96,8 @@ def prompt_missing_parts(rrtype, cmd, kw, prompt_optional=False): for part in rrobj.params(): name = part_name_format % (rrtype.lower(), part.name) + if name not in cmd.params: + continue if name in kw: continue diff --git a/ipaserver/plugins/dns.py b/ipaserver/plugins/dns.py index 40c9b5124..7007928f3 100644 --- a/ipaserver/plugins/dns.py +++ b/ipaserver/plugins/dns.py @@ -3531,7 +3531,7 @@ for param in _dns_records: 'dns{}record'.format(param.rrtype.lower()), (Object,), dict( - takes_params=(param.parts or ()) + (param.extra or ()), + takes_params=param.parts or (), ) ) )