Ansible YAML의 템플릿 기반 dict 키

Ansible YAML의 템플릿 기반 dict 키

다음과 같이 정의된 Ansible 작업에서 dict를 사용하려고 합니다.

파일 에 vars/main.yml:

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

이는 Ansible 2.9에서는 작동하지 않습니다. Ansible은 다음 값을 보간하지 않는 것 같습니다."{{ username }}"

IIRC는 Ansible 2.5에서 잘 작동했습니다.

무엇이 바뀌었나요? 지금 내 역할과 플레이북을 어떻게 다시 작성해야 합니까?

답변1

연극

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

다음을 제공합니다:

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

이것이 당신이 찾고 있는 것인가요?

관련 정보