Wil*_*ich 2 python json ansible ansible-2.x
我在 Ansible 变量 ( my_var) 中有一个 json 对象,其中包含类似于以下内容的值:
{
"Enabled": "true"
"SomeOtherVariable": "value"
}
Run Code Online (Sandbox Code Playgroud)
我想修改Enabledin的值my_var并尝试了以下操作:
set_fact:
my_var.Enabled: false
Run Code Online (Sandbox Code Playgroud)
和
set_fact:
my_var['Enabled']: false
Run Code Online (Sandbox Code Playgroud)
这两者都会给出类似于以下内容的错误:
“变量名 'my_var.Enabled' 无效。变量必须以字母或下划线字符开头,并且只能包含字母、数字和下划线。”
这可以通过 set_fact 完成还是有其他方法可以实现?
这是我的解决方案 - 可能不是最有说服力的:
- set_fact:
my_temp_enabled_var: '{ "Enabled": "false" }'
- set_fact:
my_temp_enabled_var: "{{ my_temp_enabled_var | from_json }}"
- set_fact:
my_var: "{{ my_var | combine(my_temp_enabled_var) }}"
Run Code Online (Sandbox Code Playgroud)