如何从YAML键/值对列表项访问值?

时间:2017-12-16 03:15:49

标签: ansible yaml jinja2

如果我有以下YAML列表项(我认为它被称为它的名称),它表示为键/值对,我该如何读取该值?我一直在浏览YAML文档,并没有看到这种情况的讨论。

---
apache_vhosts:
  - servername: localhost
    documentroot: "/var/www/html"

我想做类似的事情并将install_path设置为" / var / www / html":

...
# This doesn't work
install_path: "{{ apache_vhosts.servername[documentroot] }}"

1 个答案:

答案 0 :(得分:0)

apache_vhosts是映射列表。您正尝试从此列表中访问密钥servername,但列表没有密钥。 另外,我不知道你想用.servername[documentroot]实现什么。

我的猜测是你需要的: apache_vhosts[0].documentroot(apache_vhosts的第一个元素 - >关键文档)

请查看Jinja2 Template Docs。 编辑:可能更适合您的情况:Ansible Templating