Seite wählen

Puppet: Iteration um Defined Resources anzulegen

von | Jan 3, 2014 | DevOps, Puppet, Development

Was wohl jeder schon einmal mit Puppet getan hat, mehrere Resources oder auch Defined Resources mit einer Iteration über ein Array anzulegen, ist eine relativ leichte Übung:

define foo::bar($arg1, ..., $argN) {
   ...
}
foo::bar { ['one', 'two', 'three']:
   arg1 => value1,
   ...
   argN => valueN,
}

Ein nicht unerheblicher Nachteil ist hier natürlich, dass die Parameter arg1, …, argN für die anzulegenden Defined Resources gleich sind. Möchte man unterschiedliche Parameter verwenden, ist dies unter Zuhilfenahme der Funktion create_resources realisierbar.
Als Parameter erwartet die Funktion den Typ foo::bar und einen Hash of Hashes $hash, der jeweils den Titel der Defined Resource enthält und die jeweilige Parameterzuweisung.

define foo::bar($arg1, ..., $argN) {
   ...
}
$hash = {
   'one' => { arg1 => value1, ..., argN => valueN, },
   'two' => { arg1 => valueN+1, ..., argN => valueN+N, },
   ...
}
create_resources( foo::bar, $hash )
Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema DevOps | Puppet | Development

Kritischer Fehler in Puppet Version 7.29.0 und 8.5.0

Eine Warnung an alle Nutzer von Puppet, aber auch Foreman oder dem Icinga-Installer, die Version 7.29.0 und 8.5.0 von Puppet enthält einen kritischen Fehler, der die Erstellung eines Katalogs und somit die Anwendung der Konfiguration verhindert. Daher stellt bitte...

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...