我想将一些值传递给Ansible角色,但我无法在文档中找到任何显示如何传入一个字典变量的示例。
以下是我要传入的内容,但我的YAML语法已关闭:
roles:
- { role: postgresql,
postgresql_users:
- name: dev_user
pass: dev_pass
encrypted: no,
- name: test_user
pass: test_pass
encrypted: no
postgresql_databases: ['dev', 'test'],
postgresql_user_privileges:
- name: dev_user
db: dev
priv: "ALL"
- name: test_user
db: test
priv: "ALL"
tags: ['postgres']
}
传递具有字典值的变量的正确YAML语法是什么?
答案 0 :(得分:3)
我认为应该更接近这一点:
roles:
- { role: postgresql,
postgresql_users: [
{ name: "dev_user",
pass: "dev_pass",
encrypted: "no" },
{ name: "test_user",
pass: "test_pass",
encrypted: "no" }
],
postgresql_databases: ['dev', 'test'],
postgresql_user_privileges:[
{ name: "dev_user",
db: "dev",
priv: "ALL" },
{ name: "test_user",
db: "test",
priv: "ALL"}
],
tags: ['postgres']
}
请注意,我假设“dev_user”等。是字符串。如果您需要变量,则需要name: "{{ dev_user }}"