相关疑难解决方法(0)

Ansible/Jinja2 - 在列表中映射嵌套键

在嵌套变量列表中映射属性时,我无法检索其键。

我想从以下强调的文本变量中检索“tls_cert_file”的密钥:

vault_config_listener:
  - tcp:
    - address: "0.0.0.0:8200"
    - tls_cert_file: "/etc/ssl/wildcard.crt"
    - tls_key_file: "/etc/ssl/private/wildcard.key"
    - tls_require_and_verify_client_cert: "false"
  - tcp:
    - address: "127.0.0.1:8200"
    - tls_disable: true
Run Code Online (Sandbox Code Playgroud)

调试任务:

- debug:
    msg: "{{ (vault_config_listener | selectattr('tcp', 'defined') | map(attribute='tcp')) | selectattr('tls_cert_file','defined') | map(attribute='tls_cert_file') | join('') | dirname }}"
Run Code Online (Sandbox Code Playgroud)

输出:

ok: [test] => {
    "msg": ""
}
Run Code Online (Sandbox Code Playgroud)

我让地图在“tcp”之前工作,但没有进一步......逻辑上有什么问题?

yaml filter jinja2 ansible

0
推荐指数
1
解决办法
5584
查看次数

标签 统计

ansible ×1

filter ×1

jinja2 ×1

yaml ×1