Ich bin mir nicht sicher, ob ich das richtig formuliere, aber ich hatte gehofft, ich könnte ein Beispiel für die Filterung bekommen, indem ich auf Kornschlüssel passe und dann filtere Werte (oder Unterschlüssel: Werte). Meine Sorge ist, dass ein weiteres Korn irgendwann in der Zukunft hinzugefügt werden könnte und von filter_by falsch aufgenommen werden könnte. Beispiel unten ...SaltStack - grains.filter_by, Kornschlüssel angeben und nach Subtaste filtern
Beispiel Liste der Körner:
Host1
role:
webserver
secondary:
none
Host2
role:
appserver1
secondary:
appserver2
Host3
role:
appserver1
appserver2
secondary:
none
Beispiel Kartendatei:
{% set java = salt['grains.filter_by']({
'default': {
'target': '/some/default/file/path',
},
'appserver1': {
'target': '/app/server1/path',
},
'appserver2': {
'target': '/app/server2/path',
},
},
default='default'
)%}
In diesem Beispiel vorstellen Sekundär war das zusätzliche Korn, das zu einem späteren Zeitpunkt hinzugefügt wurde. Was würde die Mapfile für Host2 aufnehmen, nachdem dieses sekundäre Korn hinzugefügt wurde? Ich weiß, dass dies nicht das beste Beispiel ist, aber dies kam beim Code-Review einiger Staaten, die ich geschrieben habe, und ich hatte keine gute Antwort darauf, wie wir Kornschlüssel ansprechen können. In diesem Fall möchte ich die Kornrolle bestimmen und die Werte innerhalb dieses Korns filtern. Wie würde ich das tun?