Wie man über ein Array in Puppet iteriert
Möchte ich für die Iteration über ein array gespeichert ist, als Facter Tatsache, und für jedes element des Arrays erstellen Sie eine neue system-Benutzer und ein Verzeichnis, und endlich API-Aufrufe von AWS.
Beispiel für die Tatsache : my_env => [shared1,shared2,shared3]
Meine Frage ist, wie die Iteration über ein array in puppet ?
Dann habe ich versucht die Ruby-DSL, aber nicht geglückt ist, die noch zu bekommen, es funktioniert... Danke !
InformationsquelleAutor der Frage PapelPincel | 2012-10-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies könnte funktionieren, je nachdem, was Sie tun
Es funktionieren wird, wenn Ihre Anforderungen einfach sind, wenn nicht, Marionette macht dies sehr schwer zu tun. Die Puppet-Entwickler haben irrationale Vorurteile gegen iteration basiert auf einem Missverständnis darüber, wie deklarative Sprachen arbeiten.
Wenn diese Art von Ressource, die nicht für Sie arbeiten, könnten Sie vielleicht eine bessere Vorstellung davon, welche Ressource Eigenschaften, die Sie versuchen, aus Ihrem Feld?
EDIT:
Mit Marionetten-4, dieser beklagenswerten Fehler wurde endlich behoben. Aktuellen Stand der Dinge dokumentiert hier. Wie die Dokumentation sagt, Sie finden beispielsweise die oben genannte Lösung in einer Menge von alten code.
InformationsquelleAutor der Antwort itsbruce
Als der puppet 3.2 dies ist möglich mit der "Zukunft" parser wie folgt:
Siehe auch: http://docs.puppetlabs.com/puppet/3/reference/lang_experimental_3_2.html#background-the-puppet-future-parser
InformationsquelleAutor der Antwort ChrisRut
Puppet 3.7 veröffentlicht Anfang dieses Monats haben die neuen DSL -, die eine Funktion der iteration, überprüfen Sie die folgende URL https://docs.puppetlabs.com/puppet/latest/reference/experiments_lambdas.html#enabling-lambdas-and-iteration
diese neuen Funktionen können aktiviert werden :
Einstellung parser = Zukunft in Ihrer Marionette.conf-Datei
oder hinzufügen der Befehlszeilenoption --parser=Zukunft
hoffe, das hilft
InformationsquelleAutor der Antwort Walid
itsbruce die Antwort ist wahrscheinlich das beste für jetzt, aber es ist ein iteration Vorschlag gehen durch puppetlabs' Armaturen-Prozess für eine mögliche Umsetzung in Zukunft.
InformationsquelleAutor der Antwort Philip Potter
Gibt es eine "create_resources ()" - Funktion in puppet. das wird sehr hilfreich sein, während der Iteration über die Liste von itmes
InformationsquelleAutor der Antwort vinodh kumar Basavani