Ansible 使用另一个dict变量创建变量

Ansible 使用另一个dict变量创建变量,ansible,Ansible,在角色的“/vars/main.yml”文件中,我尝试创建另一个dict var值的变量,如下所示: livrables_list_files: - file: "myfile.zip" dest: "/tmp/mynewfile.zip" zip_app: "{{ livrables_list_files.dest }}" 但是我的playbook结果返回的错误是:“列表对象”没有属性“dest” 我想要一个变量,如: zip_app: "/tmp/mynewfile.zip"

在角色的“/vars/main.yml”文件中,我尝试创建另一个dict var值的变量,如下所示:

livrables_list_files:
  - file: "myfile.zip"
    dest: "/tmp/mynewfile.zip"

zip_app: "{{ livrables_list_files.dest }}"
但是我的playbook结果返回的错误是:“列表对象”没有属性“dest”

我想要一个变量,如:

zip_app: "/tmp/mynewfile.zip"
是否可以访问此var?在我的例子中,即使使用json语法也可以

谢谢

问题:“错误是:'列表对象'没有属性'dest。是否可以访问此变量?”

A:是的。这是可能的。问题是第一个项目前面的破折号使变量
livarables\u list\u文件
a列表。要引用列表中第一项的属性
dest
,需要索引。比如说

zip_app: "{{ livrables_list_files.0.dest }}"
如果你拆下破折号

livrables_list_files:
  file: "myfile.zip"
  dest: "/tmp/mynewfile.zip"
可以引用词典的属性
dest
livarables\u list\u文件

zip_app: "{{ livrables_list_files.dest }}"

谢谢你的帮助!