Как импортировать данные в один файл столба из другого?

Ситуация: у нас есть несколько солевых формул с определенными параметрами, которые в нашей среде идентичны. Например, они используют один и тот же URL-адрес для вышестоящей службы. Мы хотели бы избежать дублирования этих значений в нескольких местоположениях столбцов (нам нужна единая точка истины), но мы не хотим писать формулы таким образом, чтобы они имели общие ключи столбцов (ортогональность полезна для души).

Мне кажется, что правильный способ сделать это - иметь один файл столбцов с «общими» значениями и импортировать их оттуда в соответствующие места в файлах столбцов для конкретных формул. Например:

# pillar/shared.sls
upstream: https://example.com/youarehere

# pillar/formula1.sls
{%- from shared import upstream %}
formula1:
  upstream_uri: {{ upstream }}

# pillar/formula2.sls
{%- from shared import upstream %}
formula2:
  upstream_url: {{ upstream }}

# and so on...

Конечно, это не работает, как написано. Как правильно это сделать?


person Andrew    schedule 23.09.2015    source источник


Ответы (1)


Попробуй это:

колонна/shared.sls

upstream: https://example.com/youarehere

колонна/formula1.sls

{% import_yaml "shared.sls" as defaults %}
formula1:
  upstream_uri: {{ defaults.upstream }}

колонна/formula2.sls

{% import_yaml "shared.sls" as defaults %}
formula2:
  upstream_url: {{ defaults.upstream }}
person mafrosis    schedule 24.09.2015