hashi_vault将变量/参数传递给查找查询

您知道我是否能够将变量传递给查找查询吗?

password: "{{ lookup('hashi_vault','secret=secret/data/my_secret:data')['{{ myvar }}']}}"

其中myvar设置为mypass

vault kv put secret/my_secret mypass=abcd123

我遇到以下错误。

  

{“ msg”:“该任务包括带有未定义变量的选项。错误是:'dict object'没有属性'{{myvar}}'\ n \ n错误似乎出在'... /ansible/roles/joetests/tasks/main.yml':第23行,第7列,但根据确切的语法问题,可能\ n不在文件的其他位置。\ n \ n出现问题的行似乎是:\ n \ n \ n-调试:\ n ^这里\ n“}

我尝试了不同的报价,但似乎不起作用

password: "{{ lookup('hashi_vault','secret=secret/data/my_secret:data')['"{{ myvar }}"']}}"
password: "{{ lookup('hashi_vault','secret=secret/data/my_secret:data')["'{{ myvar }}'"]}}"

如果我使用以下命令,它将成功返回密码。

password: "{{ lookup('hashi_vault','secret=secret/data/my_secret:data')['mypass']}}"

我正在测试一本非常简单的剧本

---
- debug:
    msg:
      - "{{ item }} => {{ password }}"
    with_items:
      - "{{ myvar }}"

其中

myvar:
  - user1
  - user2
  - user3
yuzisheng 回答:hashi_vault将变量/参数传递给查找查询

花括号({{ }})中的每个变量都将被插值,因此这里的技巧是实际上完全删除引号。尝试以下方法:

password: "{{ lookup('hashi_vault','secret=secret/data/my_secret:data')[myvar] }}"
本文链接:https://www.f2er.com/3069894.html

大家都在问