Ansible。组变量中变量的链接

Ansible。组变量中变量的链接,ansible,Ansible,我在我的组变量文件中复制了变量。他们需要扮演不同的角色。 例如: games: - name: game1 host: game1.com mongodb_user: - {db: "mydb", user: "user1", pass: "pass1" } - name: game2 host: game2.com mongodb_user: - {db: "mydb", user: "user2", pass: "pass2"

我在我的组变量文件中复制了变量。他们需要扮演不同的角色。 例如:

games:
  - name: game1
    host: game1.com
    mongodb_user:
      - {db: "mydb", user: "user1", pass: "pass1" }
  - name: game2
    host: game2.com
    mongodb_user:
      - {db: "mydb", user: "user2", pass: "pass2" }

mongodb_users:
  - {db: "mydb", user: "user1", pass: "pass1" }
  - {db: "mydb", user: "user2", pass: "pass2" }

我可以使用类似链接的方式来声明mongodb_用户吗?

您可以将变量的值分配给其他变量。 所以你应该能写下这样的东西:

mongodb_users:
  - "{{ games[0].mongodb_user }}"
  - "{{ games[1].mongodb_user }}"

因为这是YAML,所以可以使用YAML和节点


您可以看到如何解析别名。

我可以用类似循环的东西,将其写入一个字符串吗?请阅读上的YAML文档)和
mongodb_users:
  - &user1 {db: "mydb", user: "user1", pass: "pass1" }
  - &user2 {db: "mydb", user: "user2", pass: "pass2" }

games:
  - name: game1
    host: game1.com
    mongodb_user:
      - *user1
  - name: game2
    host: game2.com
    mongodb_user:
      - *user2