如何在木偶清单中格式化巧克力的参数

时间:2018-01-17 18:07:44

标签: puppet chocolatey

以下choco install命令可以正常工作:

choco Install 'InstallTest' -y --source 'C:\installtest' --params="'/serverinstance:MyServer /buildtype:OTP'"

我现在在Puppet清单中有以下内容:

package { 'InstallTest':
  ensure            => installed,
  install_options   => ['-params','"', /serverinstance:MyServer, /buildtype:OTP, '"'],
  source            => 'c:\installtest',
}

我认为我用逗号等正确覆盖空格,但是木偶解析器会抛出以下错误:

puppet : [1;31mError: Could not parse for environment production: invalid byte sequence in UTF-8[0m

没有install_options行,它编译得很好。

正确的语法应该是什么?

1 个答案:

答案 0 :(得分:0)

问题在于:

  install_options   => ['-params','"', /serverinstance:MyServer, /buildtype:OTP, '"'],

虽然Puppet可以接受bare words as strings,但这些字符串的内容存在限制。这里的相关内容是他们必须

  

以小写字母开头,仅包含字母,数字,连字符(-)和下划线(_)。

因此,您正在寻找这个:

  install_options   => ['-params', '"', '/serverinstance:MyServer', '/buildtype:OTP', '"'],

总体而言,无论是否需要,它都能更好地引用所有字符串。那更清楚了,它会让你免于麻烦。