Python 在值中使用hasicorp vault循环逻辑中断ansible k/v变量
有人能帮我找出是否有可能用循环逻辑的值来分解ansible变量吗? 假设我在组_vars yaml内的值中有hashicorp vault的循环逻辑变量,如下所示:Python 在值中使用hasicorp vault循环逻辑中断ansible k/v变量,python,ansible,yaml,Python,Ansible,Yaml,有人能帮我找出是否有可能用循环逻辑的值来分解ansible变量吗? 假设我在组_vars yaml内的值中有hashicorp vault的循环逻辑变量,如下所示: some_value: "{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=userpass username=myuser password=mypas url=http://myvault:8200') | default(‘somethin
some_value: "{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=userpass username=myuser password=mypas url=http://myvault:8200') | default(‘something’, true)}}"
some_value: >- "{{ lookup('hashi_vault',
'secret=secret/hello:value
auth_method=userpass
username=myuser password=mypas
url=http://myvault:8200') | default(‘something’, true)}}"
我试着让它看起来更具可读性,比如:
some_value: "{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=userpass username=myuser password=mypas url=http://myvault:8200') | default(‘something’, true)}}"
some_value: >- "{{ lookup('hashi_vault',
'secret=secret/hello:value
auth_method=userpass
username=myuser password=mypas
url=http://myvault:8200') | default(‘something’, true)}}"
使用>和|选项打断循环线。但这种方法将所有循环查询转换为字符串,并作为句子粘贴到调试中
你知道如何在不中断逻辑的情况下中断行吗?有关详细信息,请参阅下面的文档 >是yaml折叠标量块标记。它需要一个以缩进的下一行开始的字符串。行尾的单个新行将转换为空间。空行将保留为新行字符 -是标量块的末尾无新行chomping指示符 将表达式转换为折叠块的可能方式有:
some_value: >-
{{
lookup('hashi_vault',
'secret=secret/hello:value
auth_method=userpass
username=myuser
password=mypas
url=http://myvault:8200')
| default(‘something’)
}}
有许多可能的变化
同时,为了使它更具可读性,我将它分为两个不同的变量
hv_params: >-
secret=secret/hello:value
auth_method=userpass
username=myuser
password=mypas
url=http://myvault:8200
some_value: "{{ lookup('hashi_vault', hv_params) | default('something') }}"
参考文献:
您是否使用原始查找定义获得了预期值?以上是这句话的准确翻译,除非我眼前有什么我看不到的东西…我的错。忘记了默认值的标志true。