In einem bestimmten Projekt habe ich eine Menge Marionette exec
Ressourcen mit Rohren. Das scheint gut zu funktionieren.Wie stelle ich sicher, dass eine Puppet-Exec-Ressource immer 'set -o pipefail' enthält?
exec { 'foobar':
command => 'foo | bar',
}
Es gibt jedoch Fälle, in denen foo
fehlschlägt. Standardmäßig wird der Beendigungscode nur für den letzten Befehl in der Pipeline gemeldet. Ich kann das manuell beheben.
exec { 'foobar':
command => 'set -o pipefail; foo | bar',
provider => shell,
}
Aber ich möchte sicherstellen, dass dies in all diesen Fällen automatisch geschieht. Ich möchte manuelle Suche vermeiden/ersetzen und alle Verwendungen von exec
überprüfen.
- Fehle ich ein nützliches Attribut?
- Gibt es eine Verpackung, die ich verwenden kann?
- Betrachte ich leider eine benutzerdefinierte Ressource?
Wahrscheinlich nicht: selbst einen Makro würde hier nicht helfen. Ich weiß es nicht. Wahrscheinlich ja, wenn Sie mit einer benutzerdefinierten Ressource benutzerdefinierte Parserfunktion und/oder benutzerdefinierten Typ meinen; Eine benutzerdefinierte Definition würde Ihnen hier sehr wahrscheinlich nicht helfen. –