2017-06-06 5 views
0

Ich versuche zu lernen, Marionettenmodule auf eine gute Weise zu schreiben, also habe ich angefangen, mich nach Tutorials und Howto umzusehen.Klassenparameter Syntaxfehler

Ich habe gesehen, dass Benutzer vorschlagen, die Hauptklasse auf die folgende Weise zu schreiben, aber es ist tatsächlich für mich fehlgeschlagen. Ich bin ehrlich gesagt ein wenig verwirrt, wie die 2 Blöcke in den Klammern tatsächlich verbunden sind, und so sehe ich möglicherweise keinen offensichtlichen Fehler oder wirklich fehlendes Komma.

Ich bin mit Puppet 3.8 durch die Art und Weise

class icinga2 { 
    $version = 'present' 
    $enable = true 
    $start = true 
} { 
    class{'icinga2::install': } -> 
    class{'icinga2::config': } ~> 
    class{'icinga2::service': } -> 
    Class["icinga2"] 
} 

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Syntax error at '{'; expected '}' at /etc/puppet/modules/icinga2/manifests/init.pp:5

+0

Ich mag die Tatsache hinzufügen, dass die drei Variablen vor Komma getrennt wurden und es war auf jeden von ihnen – thenandnow

Antwort

2

Ihr Problem hier ist, dass Sie Ihre Parameter müssen durch() umgeben sein, nicht {}. Außerdem sollten sie Kommas getrennt sein.

class icinga2 (
    $version = 'present', 
    $enable = true, 
    $start = true, 
) { 
    class{'icinga2::install': } -> 
    class{'icinga2::config': } ~> 
    class{'icinga2::service': } -> 
    Class["icinga2"] 
} 
+0

des gleichen Problem beschweren Tat müde Augen und ich während der ganzen Zeit geschweiften Klammern sah. Vielen Dank und Entschuldigung für den dummen Fehler und Thread – thenandnow