如何在ansible中将dict格式化为字符串
我想在ansible中格式化一个dict,就像这样 从 到 必须将其设置为块中的环境变量,就像这样如何在ansible中将dict格式化为字符串,ansible,jinja2,Ansible,Jinja2,我想在ansible中格式化一个dict,就像这样 从 到 必须将其设置为块中的环境变量,就像这样 vars: test_env: a: 1 b: 2 c: 3 - block: # tasks environment: SOME_ENV: 'a=1,b=2,c=3' 在这里,我想将test\u envdict转换为'a=1,b=2,c=3' 我无法将事实设置为修改dict,然后将其设置为SOME_ENV,因为environment是一个不同的
vars:
test_env:
a: 1
b: 2
c: 3
- block:
# tasks
environment:
SOME_ENV: 'a=1,b=2,c=3'
在这里,我想将test\u env
dict转换为'a=1,b=2,c=3'
我无法将事实设置为修改dict,然后将其设置为SOME_ENV
,因为environment
是一个不同的子句,我可以在vars
子句中修改dict,但是否有其他解决方案
干杯,将字典分解为键和值列表。然后压缩列表并加入项目。比如说,
-块:
-命令:echo$SOME_ENV
寄存器:结果
环境:
一些_ENV:“{{test_ENV.keys()|
zip(测试环境值())|
映射('join','='))|
连接(',')}”
-调试:
var:result.stdout
给予
ok:[localhost]=>{
“result.stdout”:“a=1,b=2,c=3”
}
将字典分解为键和值列表。然后压缩列表并加入项目。比如说,
-块:
-命令:echo$SOME_ENV
寄存器:结果
环境:
一些_ENV:“{{test_ENV.keys()|
zip(测试环境值())|
映射('join','='))|
连接(',')}”
-调试:
var:result.stdout
给予
ok:[localhost]=>{
“result.stdout”:“a=1,b=2,c=3”
}
你能澄清一下你所说的“…我不能将事实设置为修改dict,然后将其设置为SOME_ENV,因为环境是一个不同的子句…”是什么意思吗?你能澄清一下你所说的“…我不能将事实设置为修改dict,然后将其设置为SOME_ENV,因为环境是一个不同的子句…”吗?
'a=1,b=2,c=3'
vars:
test_env:
a: 1
b: 2
c: 3
- block:
# tasks
environment:
SOME_ENV: 'a=1,b=2,c=3'