我想要从saltstack支柱的数据属性(计算属性):
我们像这样构build我们的系统:
systems: - customer: foo project: bar stage: p ... - customer: foo project: bar stage: q ...
我想计算一个像这样的variables“system.name”: "{customer}_{project}_{stage}" 。
从上面的例子我会得到这两个计算值:
我可以像system.customer或system.project一样访问system.name 。
如何做到这一点?
我不认为你可以定义你喜欢的属性。
但是,您可以使用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字典用name计算值更新(合并): system.customer + '_' + system.project + '_' + system.stage 。