Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates Ansible-在模板中呈现嵌套变量_Templates_Variables_Ansible - Fatal编程技术网

Templates Ansible-在模板中呈现嵌套变量

Templates Ansible-在模板中呈现嵌套变量,templates,variables,ansible,Templates,Variables,Ansible,我正在尝试使用ansible中的模板将一些嵌套变量呈现到文件中 管理剧本如下所示: --- - hosts: tag_Cluster_restore vars: pg_password: qa: blah staging: blahblah production: blahblahblah roles: - role: psql_helper 为简单起见,我的角色的tasks/main.yml如下所示: --- - debug: m

我正在尝试使用ansible中的模板将一些嵌套变量呈现到文件中

管理剧本如下所示:

---

- hosts: tag_Cluster_restore
  vars:
    pg_password:
      qa: blah
      staging: blahblah
      production: blahblahblah
  roles:
    - role: psql_helper
为简单起见,我的角色的tasks/main.yml如下所示:

---
- debug: msg="Password is {{ pg_password.[env] }}"
ansible-playbook playbook.yml -e "env=qa"
我想在命令行上指定
env
变量,如下所示:

---
- debug: msg="Password is {{ pg_password.[env] }}"
ansible-playbook playbook.yml -e "env=qa"
…并让它提供qa密码。然而,目前我得到了
fatal:[1.1.1.1]:失败!=>{“failed”:true,“msg”:“错误!模板字符串时模板错误:预期名称或编号”}

很明显,我的语法有错误,或者我指定的东西不正确。有人能帮忙吗

请注意,我不想循环使用
pg_password
变量-我搜索过的大多数内容都指出了如何实现这一点,我想“深入”到我需要的嵌套变量,如果这实际上是可能的


谢谢

您的调试任务在调用时不应具有

- debug: msg="Password is {{ pg_password[env] }}"

这仅仅意味着您正在从字典
pg_password
获取密钥
env
,您的调试任务在调用时不应具有

- debug: msg="Password is {{ pg_password[env] }}"
这仅仅意味着您正在从字典
pg_password