Ansible yaml字典对同级元素的引用

Ansible yaml字典对同级元素的引用,yaml,ansible,Yaml,Ansible,我正在尝试组织ansible剧本的变量定义 例如: a_b: "a b" a_c: "{{a_b}} c" 很好 试着把这变成一句格言: a: b: "a b" c: "{{a.b}} c" 遗憾的是,这会导致a.b未定义的错误 从技术上讲,可以引用dict中的同级元素吗?在“初始化”变量阶段,不能引用变量。您可以使用set_fact引用{{a.b}这对您的具体情况没有帮助,但是如果您只是尝试重用同级变量的值,您可以尝试使用YAML锚定/别名链接到您先前定义的字典元素的值: a:

我正在尝试组织ansible剧本的变量定义

例如:

a_b: "a b"
a_c: "{{a_b}} c"
很好

试着把这变成一句格言:

a:
  b: "a b"
  c: "{{a.b}} c"
遗憾的是,这会导致
a.b
未定义的错误


从技术上讲,可以引用dict中的同级元素吗?

在“初始化”变量阶段,不能引用变量。您可以使用
set_fact
引用
{{a.b}

这对您的具体情况没有帮助,但是如果您只是尝试重用同级变量的值,您可以尝试使用YAML锚定/别名链接到您先前定义的字典元素的值:

a:
  b: &anchor_b "a b"
  c: *anchor_b
这将导致:

a:
  b: "a b"
  c: "a b"
下面是一个示例,我重复使用我的标记字典将标记添加到ec2实例中,并将其作为唯一性计数器来创建具有特定标记集的确切数量的ec2实例:

create_ec2_instance:
  tags: &tags
    env: "prod"
    role: "database"
    cluster: "backend-db"
    owner: "me"
  count_tag: *tags

参考文献的主题有什么变化吗?是否可以使用它们来连接所需的OP值?我也有同样的问题,这个引用技巧非常好,但是我确实需要使用引用作为更大值的一个组成部分。在过去的两年里,在这个领域做过什么事情吗?这应该是更可取的方法。文档:我现在也有同样的问题。你能描述一下你是如何解决你的案子的吗?(如果可以的话)