my_tags
事实分配正在第二项任务中进行。列出的第一个分配导致失败,但这只是一个简单的重新排列。是的,当我运行它时,我正确评论/取消注释。
以下是代码:
- name: Set optional tag
when: machine_type.find('substr') != -1
set_fact:
# vvv some quoting error? vvv
my_tags: {{ my_tags | default('') }}, sbc_type:{{ direction }},
# vvv works just fine vvv
#my_tags: sbc_type:{{ direction }}, {{ my_tags | default('') }}
这是错误:
my_tags: {{ my_tags | default('') }}, sbc_type:{{ direction }},
^
We could be wrong, but this one looks like it might be an issue with
missing quotes.
当我从终端复制粘贴到此处时,如果有任何线索,则克拉(^)指向'direction'变量,但我没有看到任何标签被使用。
为什么重新排列会导致此错误?
答案 0 :(得分:2)
Hey Wait, A YAML gotcha中记录了这一点:
YAML语法要求如果您使用{{foo}}启动值 引用整行,因为它想要确定你没有尝试 启动YAML词典。
所以你应该这样写:
my_tags: "{{ my_tags | default('') }}, sbc_type:{{ direction }},"