Назад | Перейти на главную страницу

Puppet: как создать динамическую цепочку зависимостей

Сначала я получаю такой массив:

$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},
]

и я хочу создать динамическую цепочку заказов в зависимости от $myarray как это:

define_type1{'resource_1':
}

define_type2{'resource_2':
  require => Define_type1['resource1']
}

define_type1{'resource_3':
  require => Define_type2['resource2']
}

я использую create_resources создать все ресурсы, но require => $instance['require'] просто возьми require => resource_1, какая кукла нужна 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 потому что может быть несколько ресурсов одного типа.

Есть ли способ сделать это?