我有领班查询,它从领班主机组获取get节点。 我想在节点部分的人偶清单中使用此查询的输出。
我的领班查询:
$query = foreman({foreman_user => 'admin',
foreman_pass => 'pass',
item => 'hosts',
search => 'hostgroup_fullname ~ web servers',
filter_result => ['certname'],
})
我想在节点类中使用“ $ {_ query}”变量
类似这样的东西:
node "${_query}" {
file { '/tmp/testdir':
ensure => 'directory',
}
file { '/tmp/testdir/testfile2':
ensure => present,
content => 'this is test file in directory',
owner => 'root',
group => 'root'
}
}
在正常的人偶清单中,我必须使用以下多个节点为sintax:
node 'www1.example.com', 'www2.example.com', 'www3.example.com' {
file { '/tmp/testdir':
ensure => 'directory',
}
file { '/tmp/testdir/testfile2':
ensure => present,
content => 'this is test file in directory',
owner => 'root',
group => 'root'
}
}
当我用工头查询执行清单时,出现此错误:
Server Error: Could not parse for environment production: An interpolated expression is not allowed in a hostname of a node
我了解问题出在我的工头查询变量中。
如何更改清单文件中“多节点”部分中要使用的领班查询?
谢谢!