我们正在使用木偶3.8(遗憾的是还不能移动到木偶4)
我在hiera中有一个哈希,看起来像这样:
hash_data: 物品1: field1:‘一些数据’ array_data: - data1…
问题从这里开始,在哪里 processor::process_array 给出非唯一数据作为其名称:
processor::process_array
define processor::hash_entry ($field1, $array_data) { processor::process_array { ${array_data}: # ...
什么时候 processor::hash_entry 被称为两次重叠/相同 array_data ,这会产生:
processor::hash_entry
array_data
Processor::Process_array[data1] Processor::Process_array[data2] Processor::Process_array[data3] Processor::Process_array[data2]
我猜是你报告的重复资源。
如果您在前面添加唯一数据,即“item1”/“item2”名称 processor::hash_entry 资源(或适当的field1)然后它们将是唯一的。
使用 stdlib前缀() function,使用hash_entry名称为所有data *条目添加前缀:
define processor::hash_entry ($field1, $array_data) { $prefixed_array_data = prefix($array_data, "${title}-") processor::process_array { ${prefixed_array_data}: # ...
这将产生:
Processor::Process_array[item1-data1] Processor::Process_array[item1-data2] Processor::Process_array[item2-data3] Processor::Process_array[item2-data2]
如果你需要访问 data2 里面的价值 process_array 没有前缀,那么你可以随时 分裂 该 $title 把数据拿回来
data2
process_array
$title
define processor::process_array($element, $datavar) { $split_title = split($title, '-') $data = $split_title[1] # do something }