如何从yaml文件中的变量读取到盐状态sls文件盐堆栈中?

问题描述

我有一个config.yaml文件,其中定义了一些变量:

#config/product1/config.yaml
var_one: "url_1"
var_two: "url_2"

如何读取download.sls文件中的文件,以便可以使用存储在/local/downloaded_files/中的URL将文件下载到config.yaml

我经历过salt-states document,但是在带有代码的实现示例中却非常缺乏。

解决方法

可以使用import_yaml通过以下方式完成

# File: download.sls
#
# import your yaml data ...
{% import_yaml "config/product1/config.yaml" as config %}

# now you can use it ...
{{ config.var_one }}

请注意,如果您想使用load_yaml内联在状态文件本身内来定义数据,也可以使用yaml

{% load_yaml as config %}
var_one: "url_1"
var_two: "url_2"
{% endload %}

{{ config.var_one }}