如何在木偶清单中使用工头查询

时间:2018-08-01 11:59:25

标签: puppet foreman

我有领班查询,它从领班主机组获取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

我了解问题出在我的工头查询变量中。

如何更改清单文件中“多节点”部分中要使用的领班查询?

谢谢!

0 个答案:

没有答案