Aufruf Marionette definierte Ressource mit mehreren Parametern mehrere Male

Habe ich eine einfache Marionette definierte Ressource, die wie folgt aussieht:

define mything($number, $device, $otherthing) {
    file{"/place/${number}":
        ensure => directory
    }
    mount { "/place/${number}":
        device => $device,
        ensure => mounted,
        require => File["/place/${number}"]
    }
    file {"/place/${number}/${otherthing}":
        ensure => directory,
        require => Mount['/place/${number}']
    }
}

Muss ich anrufen diese Ressource eine Anzahl von Zeiten mit verschiedenen Parametern, kann aber nicht herausfinden, wie dies zu tun, ohne explizit aufrufen mything() wiederholt.

Idealerweise würde ich alle Parameter für die gespeicherte in eine Art von array, und dann rufen Sie mything($array), ein bisschen wie diese:

$array = [
    {number => 3, something => 'yes', otherthing => 'whatever'},
    {number => 17, something => 'ooo', otherthing => 'text'},
    {number => 4, something => 'no', otherthing => 'random'},
]

mything($array)

Aber das scheint nicht zu funktionieren. Ich bin mir ziemlich sicher, dass dies funktionieren würde, wenn meine Ressource brauchte nur einen einzigen parameter, und ich hatte nur ein flaches array von Werte, aber kann ich das gleiche tun mit mehrere benannte Parameter?

  • Ich habe gezeichnet, es ein bisschen - ich hatte gehofft, die details waren nicht wichtig und, dass es eine sinnvolle generische Art und Weise, dies zu tun.
  • Ja. Check meine Antwort...
InformationsquelleAutor growse | 2013-09-26
Schreibe einen Kommentar