![带参数的 Puppet 类](https://linux22.com/image/1474478/%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%20Puppet%20%E7%B1%BB.png)
我正在尝试获取一个带有参数的木偶类,以下是我尝试过的
class testing ( String $file = 'testing' ) {
file { "/tmp/$file":
ensure => present,
mode => 0777,
content => "Testing123"
}
}
当我运行这个时我收到错误:
Could not parse for environment production: Syntax error at 'String'; expected ')'
答案1
听起来你正在使用 4.0 之前的 puppet 版本,并且没有使用“future”解析器。数据类型是使用新版本的 puppet 语言添加的。
您有 3 个选择:
- 删除
String
。即使在允许声明数据类型的配置中,它也是可选的。在类内部,您可以使用函数来验证参数是否为字符串。 - 启用未来解析器。这在你的 puppet 配置文件中完成,你可能会发现你的其他代码不兼容。
- 升级到 puppet 4.x 版本。这也可能会导致与您环境的其余部分不兼容。
如果是我的话,我会做#1。