diff --git a/changelogs/fragments/114_puppet_quote.yml b/changelogs/fragments/114_puppet_quote.yml new file mode 100644 index 00000000000..4f2ebaae069 --- /dev/null +++ b/changelogs/fragments/114_puppet_quote.yml @@ -0,0 +1,2 @@ +bugfixes: +- "puppet - fix command line construction for check mode and ``manifest:`` (https://github.com/ansible/ansible/issues/60576)." diff --git a/lib/ansible/modules/system/puppet.py b/lib/ansible/modules/system/puppet.py index d8261a2b36b..12fb29bbd42 100644 --- a/lib/ansible/modules/system/puppet.py +++ b/lib/ansible/modules/system/puppet.py @@ -266,16 +266,16 @@ def main(): cmd += " --certname='%s'" % p['certname'] if module.check_mode: cmd += " --noop" - if p['use_srv_records'] is not None: - if not p['use_srv_records']: - cmd += " --no-use_srv_records" - else: - cmd += " --use_srv_records" elif 'noop' in p: if p['noop']: cmd += " --noop" else: cmd += " --no-noop" + if p['use_srv_records'] is not None: + if not p['use_srv_records']: + cmd += " --no-use_srv_records" + else: + cmd += " --use_srv_records" else: cmd = "%s apply --detailed-exitcodes " % base_cmd if p['logdest'] == 'syslog': @@ -300,7 +300,7 @@ def main(): if p['execute']: cmd += " --execute '%s'" % p['execute'] else: - cmd += shlex_quote(p['manifest']) + cmd += " %s" % shlex_quote(p['manifest']) if p['summarize']: cmd += " --summarize" if p['debug']: