我确定我做了一些愚蠢的事情,但我无法找到stdlib keys() function的正确语法,并且无法在互联网上找到任何示例。
以下是我尝试的内容:
file { ["/tmp/file1", "/tmp/file2"]: # <-- this works as expected
ensure => present,
}
$hash = {"/tmp/file1" => 1, "/tmp/file2" => 2}
file { keys($hash): # <-- syntax error occurs here
ensure => present,
}
导致此错误:
错误:无法从远程服务器检索目录:错误400开启 SERVER:&#39;语法错误:&#39 ;;预期&#39;}&#39;在 节点slonymaster上的/etc/puppet/modules/slony/manifests/master.pp:113
我错过了什么?我使用Puppet 3.6.2和stdlib 4.3.2。
答案 0 :(得分:1)
你只是在夸大你的表情。这个想法很合理,但你必须采取中间步骤。
$filenames = keys($hash)
file { $filenames: ensure => present }
Puppet只接受文字数组值或变量作为资源标题。