用另一个字典变量创建变量

时间:2020-03-24 18:15:37

标签: ansible

将“ /vars/main.yml”文件添加到角色中,我试图创建一个具有另一个dict var值的变量,如下所示:

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

zip_app: "{{ livrables_list_files.dest }}"

但是我的剧本结果返回The error was: 'list object' has no attribute 'dest'

我想要一个像这样的变量:

zip_app: "/tmp/mynewfile.zip"

是否可以访问此var?就我而言,即使使用json语法也可以。

谢谢。

1 个答案:

答案 0 :(得分:1)

Q:“错误是:“列表对象”没有属性“目的地”。是否可以访问此变量?”

A:是的。这是可能的。问题是第一项前面的破折号使变量livrables_list_files成为列表。要引用列表中第一项的属性dest,需要一个索引。例如

zip_app: "{{ livrables_list_files.0.dest }}"

如果您删除破折号

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

可以引用词典的属性dest livrables_list_files

zip_app: "{{ livrables_list_files.dest }}"
相关问题