#salt-stack
#солевой стек
Вопрос:
Я хочу встраивать данные словаря из файла YAML в файл состояния, поскольку у меня есть доступ к выполнению только файлов состояния.
Ниже приведены данные словаря в файле YAML.
---
var1:
values:
val1: "string1"
val2: "string2"
Ниже приведен файл состояния, в который я записал данные словаря YAML, как показано ниже.
{%- load_yaml as var %}
var1:
values:
val1: "string1"
val2: "string2"
{%- endload %}
Я не уверен, правильно ли это, кто-нибудь может мне помочь.
Ответ №1:
Я получил ответ, файл yaml можно указать в файле состояния, как показано ниже.
{% load_yaml as values %}
var1: 'string1'
var2: 'string2'
{% endload %}
Ответ №2:
Я думаю, вы ищете import_yaml
функциональность.
Файл YAML var.yml
с некоторыми переменными:
---
var1:
values:
val1: "string1"
val2: "string2"
Файл example.sls
состояния:
{% import_yaml 'path/to/var.yml' as var_data %}
show-imported-variables:
module.run:
- name: test.echo
- text: {{ var_data['var1']['values'] }}
Теперь, когда файл YAML был импортирован, var_data
мы можем получить доступ к values
нему внутри словаря.
При запуске файла состояния:
----------
ret:
----------
val1:
string1
val2:
string2
Комментарии:
1. У меня нет доступа к другим файлам, нужно встраивать код только в файл состояния. Необходимо использовать данные словаря внутри файла состояния и получить доступ к переменным
2. Итак, где этот файл YAML, в котором есть данные словаря (согласно вашему вопросу)? Вы пытаетесь использовать его повторно или спрашиваете, как создать переменную с данными словаря в файле состояния?
3. Я упомянул в вопросе файл YAML с данными словаря. Создайте переменную с данными словаря и используйте ее в файле состояния
4. Когда вы говорите » данные словаря в файле YAML » и «у вас нет доступа к другим файлам «, это звучит противоречиво.