Ansible yaml重排导致错误

时间:2015-06-05 19:56:11

标签: yaml ansible ansible-playbook

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'变量,但我没有看到任何标签被使用。

为什么重新排列会导致此错误?

1 个答案:

答案 0 :(得分:2)

Hey Wait, A YAML gotcha中记录了这一点:

  

YAML语法要求如果您使用{{foo}}启动值   引用整行,因为它想要确定你没有尝试   启动YAML词典。

所以你应该这样写:

my_tags: "{{ my_tags | default('') }}, sbc_type:{{ direction }},"