diff --git a/changelogs/fragments/114-puppet-commandline-construction.yml b/changelogs/fragments/114-puppet-commandline-construction.yml new file mode 100644 index 0000000000..2c48170a59 --- /dev/null +++ b/changelogs/fragments/114-puppet-commandline-construction.yml @@ -0,0 +1,2 @@ +bugfixes: +- "puppet - fix command line construction for check mode and ``manifest:``" diff --git a/plugins/modules/system/puppet.py b/plugins/modules/system/puppet.py index 8efe2c85d7..c73a21a9fa 100644 --- a/plugins/modules/system/puppet.py +++ b/plugins/modules/system/puppet.py @@ -255,16 +255,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': @@ -289,7 +289,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']: