Ich arbeite eine Struktur für meine Web-Servern auf den Aufbau. Ich habe meine Einstellung in Hiera, aber ich kann nicht scheinen, Marionette zu bekommen, um die richtigen Typen zurückzugeben.Iterate über einen tief verschachtelten hiera Hash in puppet manifest
In common.yaml
vhosts:
hostname:
sitename:
app_url: value
app_type: value
habe ich mehrere Websites pro vhost und mehrere vhosts. In meinem Manifest werde ich die Ordnerstruktur und andere Setup-Aufgaben erstellen, aber für jetzt kann ich nicht einmal über die Websites iterieren.
Aktuelle Manifest:
define application($app_name, $app_url) {
notice("App Type: ${app_type}")
notice("App Url: ${app_url}")
}
$vhosts = hiera('vhosts')
$vhosts.each |$vhost| {
create_resources(application, $vhost)
}
Der Fehler, den ich bekommen ist, dass create_resources
einen Hash erfordert. Allerdings, wenn ich Cast $vhost
eingeben, bekomme ich, dass es kein Hash, sondern ein Tupel ist.
Wie bin ich einen Tuple aus meinem yaml Hash? Gibt es einen besseren Weg, um über diesen Datensatz zu iterieren, um zu bekommen, was ich brauche?