Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在值中使用hasicorp vault循环逻辑中断ansible k/v变量_Python_Ansible_Yaml - Fatal编程技术网

Python 在值中使用hasicorp vault循环逻辑中断ansible k/v变量

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

有人能帮我找出是否有可能用循环逻辑的值来分解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(‘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。