Назад | Перейти на главную страницу

Соль: свойства данных столба?

Я хотел бы иметь свойства (вычисляемые атрибуты) для данных из столбов солончаков:

Мы структурируем наши системы следующим образом:

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.