Шаблонные ключи словаря в ansible YAML

Шаблонные ключи словаря в ansible YAML

Я пытаюсь использовать словарь в задаче Ansible, который определяется следующим образом:

в 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"
    }
}

Это то, что вы ищете?

Связанный контент