ソルトスタックの柱からのデータのプロパティ(計算された属性)が欲しいのですが:
システムは次のように構成されています。
systems:
- customer: foo
project: bar
stage: p
...
- customer: foo
project: bar
stage: q
...
次のような変数「system.name」を計算したいと思います:"{customer}_{project}_{stage}"
。
上記の例から、次の2つの計算値を取得します。
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
。