从puppet清单中的yaml获取变量
我正在为puppet做一个项目,但目前只停留在一个逻辑上 所以,我们想知道我们可以从puppet清单文件中的.yaml、.json或纯文本文件中获取变量吗 比如说,, 我的puppet清单想要创建用户,但变量存在于.yaml或任何配置文件中,因此需要从外部文件获取变量。如果.yaml文件中存在多个用户,puppet清单也可以执行循环从puppet清单中的yaml获取变量,yaml,puppet,manifest,puppet-enterprise,Yaml,Puppet,Manifest,Puppet Enterprise,我正在为puppet做一个项目,但目前只停留在一个逻辑上 所以,我们想知道我们可以从puppet清单文件中的.yaml、.json或纯文本文件中获取变量吗 比如说,, 我的puppet清单想要创建用户,但变量存在于.yaml或任何配置文件中,因此需要从外部文件获取变量。如果.yaml文件中存在多个用户,puppet清单也可以执行循环 我读过关于hiera的文章,但假设我们不使用hiera,有没有任何可能的方法。可以使用内置和函数的组合来实现这一点,至少对于YAML和JSON是这样 使用内置函数
我读过关于hiera的文章,但假设我们不使用hiera,有没有任何可能的方法。可以使用内置和函数的组合来实现这一点,至少对于YAML和JSON是这样
- 使用内置函数和
或parseyaml
stdlib函数:parsejson
▶ cat files/myfile.yaml
---
foo: bar
然后在清单中将其读入字符串并进行解析:
$myhash = parseyaml(file('mymodule/myfile.yaml'))
notice($myhash)
这将产生:
Notice: Scope(Class[mymodule]): {foo => bar}
- 或者,使用
或loadyaml
stdlib函数:loadjson
$myhash = loadyaml('/etc/puppet/data/myfile.yaml')
notice($myhash)