Я хотел бы иметь свойства (вычисляемые атрибуты) для данных из столбов солончаков:
Мы структурируем наши системы следующим образом:
systems:
- customer: foo
project: bar
stage: p
...
- customer: foo
project: bar
stage: q
...
Я хотел бы вычислить переменную "system.name" следующим образом: "{customer}_{project}_{stage}"
.
Из приведенного выше примера я бы получил эти два вычисленных значения:
Я смогу получить доступ system.name
как system.customer
или system.project
.
Как это сделать?
Я не думаю, что вы можете определять свойства так, как хотели бы.
Однако вы можете вычислить это значение внутри вашего файла состояния или вашего шаблона с помощью команд jinja. Например:
{% for system in salt['pillar.get']('systems', []) %}
{% do system.update({'name': system.customer + '_' + system.project + '_' + system.stage}) %}
test_state_for_{{ system.name }}:
test.configurable_test_state:
- result: False
- comment: {{ system }}
{% endfor %}
В этом примере system
dict обновлен (объединен) с name
вычисленное значение: system.customer + '_' + system.project + '_' + system.stage
.