Есть ли способ создать требуемый параметр с помощью hiera? Возможно, поиск возможен, но я новичок в кукольном деле и не знаю всех возможностей.
Я использую модуль oneview-puppet для создания ресурсов из приложения puppet.
Ресурсы были созданы hiera, определенными как один файл конфигурации (YAML). Там я объединяю несколько ресурсов из модуля выше. Эти ресурсы имеют сложные зависимости. Обзор можно найти здесь (стр. 29).
Поэтому для каждого ресурса я должен требовать зависимости, хотя они могут быть «найдены» в моем файле конфигурации. На самом деле он работает только тогда, когда ресурсы, созданные его последовательностью, находятся в файле site/manifest/init.pp.
Я пытался добавить параметр require в hiera, но там он будет интерпретироваться как строка.
пример site/oneviewconf/manifest/init.pp:
class oneviewconf (
Hash $oneview_ethernet_networks = {},
Hash $oneview_logical_interconnect_groups = {}
)
{
$oneview_ethernet_networks.each | $k,$v | {
oneview_ethernet_network { $k: # -> oneview-puppet resource
* => $v,
}
}
$oneview_logical_interconnect_groups.each | $k,$v | {
oneview_logical_interconnect_group { $k: # -> oneview-puppet resource
require => Oneview_ethernet_network['VLAN0001']
* => $v,
}
}
}
Пример Иеры:
---
oneviewconf::oneview_ethernet_networks:
VLAN0001:
ensure: present
data:
name: 'VLAN0001'
vlanId: 0001
oneviewconf::oneview_logical_interconnect_groups:
LIG_A:
ensure: present
data:
name: 'LIG_A'
networkUris: ['VLAN0001']
networkUris
, вы можете сделать:require => Oneview_ethernet_network["${v['data']['networkUris']}"]
. Это та логика, которую вы пытаетесь закодировать здесь? - person Matt Schuchard   schedule 26.09.2019require => Oneview_fc_network['SAN_A']
. Я думал о более общем методе поиска в моих данных, если существует ресурс из networkUris. - person rico_nem   schedule 26.09.2019