【发布时间】:2020-07-04 08:41:36
【问题描述】:
如何使用迭代(未定义的资源)在 Puppet 5 中迭代以下层次
编辑了更多信息
我想创建一个文件,其中包含配置文本作为传递给模板的内容
这是我的工作。
希拉
appname::app_config:
"/tmp/application.properties":
config_text:
- "# First Line"
- "Second Line"
- ""
- "So forth"
"/tmp/database.properties":
config_text:
- "Test Line"
- "Another Test Line"
该层次的 Puppet 迭代配置
$appname_config.each | $config_file, Hash $config_text| {
file { "$config_file" :
ensure => present,
content => template('modulename/generic_config.epp'),
}
}
模板
<% @config_text.each do |key, value| -%>
<% value.each do |key,value| -%>
<%= key %>
<% end %>
<% end -%>
但我需要使用以下格式层次
appname::app_config:
file: "/tmp/dummy.config"
config_text:
- "Application Properties"
- "TimePeriod = 1"
file: "/tmp/second.txt"
config_text:
- "Application Properties"
- "TimePeriod = 1"
提前致谢
【问题讨论】:
-
您能否提供更多关于您希望如何使用这些数据以及您尝试了什么的信息?这个问题非常笼统:事实上,我只能说“使用
each()”。 -
“sorta required”是什么意思?希望这意味着与“必需”不同的东西,因为您不能拥有带有重复键的散列。至少,没有用处。但是您可以使用类似于您显示的 Hiera 格式,其中值是一个数组或散列而不是单个散列。