Я не уверен, правильно ли я формулирую это, но я надеялся, что смогу получить пример фильтрации, сопоставляя по зернистым клавишам, а затем фильтруя значения (или вспомогательный ключ: значения). Моя забота заключается в том, что еще одно зерно может быть добавлено некоторое время в будущем и будет неправильно выбрано filter_by. Пример ниже ...SaltStack - grains.filter_by, укажите ключ зерна и фильтр под ключ
Примера список зерен:
Host1
role:
webserver
secondary:
none
Host2
role:
appserver1
secondary:
appserver2
Host3
role:
appserver1
appserver2
secondary:
none
Пример файл карта:
{% set java = salt['grains.filter_by']({
'default': {
'target': '/some/default/file/path',
},
'appserver1': {
'target': '/app/server1/path',
},
'appserver2': {
'target': '/app/server2/path',
},
},
default='default'
)%}
В этом примере, представьте вторичное было дополнительное зерно, которое было добавлено в будущем. Что будет отображать файл карты для Host2 после добавления этого вторичного зерна? Я знаю, что это не лучший пример, но это произошло, когда код просматривал некоторые состояния, которые я написал, и у меня не было хорошего ответа о том, как мы можем ориентировать зерновые ключи. В этом случае я хотел бы нацелиться на роль зерна и фильтровать значения внутри этого зерна. Как мне это сделать?