Puppet - erfordern eine definierte Ressource mit Parametern
Ich bin ganz neu Marionette, und kann nicht scheinen, um herauszufinden, die Antwort auf diese Frage. Ich habe eine definierte Marionette Ressource, das dauert ein paar Argumente:
class xy::xy {
include apache:regular_apache
define setup($pkg_name, $xy_version, $pas_ver) {
file { '/etc/xy':
ensure => present,
notify => Service['apache'],
}
}
Ich versuche dies zu verlangen benutzerdefinierte Ressource für eine andere Ressource in einer anderen Datei.
class soft::buy {
include xy::xy
$xt_requires = [Xy::Xy::Setup["{'xt_buy': pkg_name => 'xt_buy_v01',
xy_version => '1.0.1',
pas_version => '2.1.4'}"]]
package { 'buy.xt':
ensure => $::buy_xt_version,
provider => 'xt',
require => $xt_requires,
}
}
Den Fehler, den ich bekomme, ist diese: Syntax error at 'require'; expected '}'
Aus der Lektüre der Puppe docs, wie es scheint, fehlt mir ein Komma oder einen Doppelpunkt irgendwo, aber ich habe versucht eine Vielzahl von Dingen. Ich Frage mich, wie um zu erzwingen, dass eine benutzerdefinierte Ressource mit Parametern für eine andere Ressource? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den syntax-Fehler kann behoben werden, indem Sie den folgenden code-snippet.
[EDIT: Den original-code definiert $xt_requires, nicht $verlangt]
Definieren Sie die parameter
require
(die definiert die Ressource, die verarbeitet werden muss erste).Diese unterscheidet sich von der Sprache-Anweisung
require
(das ist auch ein Klasse und hinzufügen einer Abhängigkeit von der Klasse erforderlich).Jedoch in der require-Parameter Sie können die Parameter für die Forderung, nur dessen Anwesenheit. Ganz korrekt wäre: