Ho una risorsa definita semplice fantoccio che assomiglia a questo:Calling fantoccio risorsa definita con più parametri, più volte
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}']
}
}
ho bisogno di chiamare questa risorsa un certo numero di volte con parametri diversi, ma può 'capire come fare questo senza chiamare esplicitamente mything()
ripetutamente.
Idealmente, avrei tutti i parametri per la stored in una sorta di array, quindi basta chiamare mything($array)
, un po 'come questo:
$array = [
{number => 3, something => 'yes', otherthing => 'whatever'},
{number => 17, something => 'ooo', otherthing => 'text'},
{number => 4, something => 'no', otherthing => 'random'},
]
mything($array)
Ma questo non sembra funzionare. Sono abbastanza sicuro che ciò funzionerebbe se la mia risorsa avesse solo un singolo parametro e io avessi solo una serie di valori flat, ma posso fare la stessa cosa con più parametri con nome?
ho polpa fuori un un po '- avevo sperato che i dettagli non fossero importanti e che esistesse un modo generico ragionevole per farlo. – growse
Sì. Controlla la mia risposta ... – iamauser