Ansible YAML のテンプレート化された dict キー

Ansible YAML のテンプレート化された dict キー

次のように定義されている Ansible タスクで dict を使用しようとしています。

ファイル内vars/main.yml:

username: user1
userpass: pass1
users:
  "{{ username }}":
    pass: "{{ userpass }}"

これはAnsible 2.9では動作しません。Ansibleは値を補間しないようです。"{{ username }}"

私の記憶が正しければ、これはAnsible 2.5あたりで問題なく動作しました

何が変わったのでしょうか? 今後、役割とプレイブックをどのように書き直せばいいのでしょうか?

答え1

遊び

- hosts: localhost
  vars:
    username: user1
    userpass: pass1
    users: "{{ {username: {'pass': userpass}} }}"
  tasks:
    - debug:
        var: users

与える:

"users": {
    "user1": {
        "pass": "pass1"
    }
}

これがあなたが探しているものですか?

関連情報