首先我得到这样一个数组:
$myarray = [ {name => resource_1, type => define_type1}, {name => resource_2, type => define_type2, require => resource_1}, {name => resource_3, type => define_type1, require => resource_2}, ]
我想要生成一个dynamic的订单链依赖于$myarray
像这样:
define_type1{'resource_1': } define_type2{'resource_2': require => Define_type1['resource1'] } define_type1{'resource_3': require => Define_type2['resource2'] }
我使用create_resources
来创build所有资源,但是require => $instance['require']
只require => resource_1
,puppet需要的是require => Define_type1['resource1']
。
each($myarray) { |$instance| if $instance['require']{ $params = { "$instance" => { require => $instance['require'] } } create_resources($instance['type'], $params) } else{ $params = { "$instance" => { } } create_resources($instance['type'], $params) } }
我只能使用define type
因为可能有多个相同types的资源。
有没有办法做到这一点?