4

json クエリ フィルター内で ansible 変数を使用したいと考えています。これは私のコードです:

プレイブックの実行:

ansible-playbook debug.yml -e "project_environment=live"
- debug:
    msg: "{{ project_environment }}"

- debug:
    msg: "{{ check_objects | json_query('`{{project_environment}}`.current') }}"

これは私の辞書です:

check_objects:
  live:
    current:
    - example.com
    next:
    - next.example.com

これは私が得たものです:

TASK [debug : debug] 
ok: [sample-hostname] => {
    "msg": "live"
}

TASK [debug  : debug]
ok: [sample-hostname] => {
    "msg": ""
}

期待値を使用して変数を置き換えると、出力は正常に機能しています。

- debug:
    msg: "{{ check_objects | json_query('live.current') }}"
TASK [typo3-deployment/check : debug] 
ok: [sbk-test-ntly01] => {
    "msg": [
        "example.com"
    ]
}

変数を補間しているときに問題が発生すると思います。

私はこの解決策を試しましたが、うまくいきません: Ansible : 変数を json_query フィルターに渡します

4

2 に答える 2