在我的剧本中,使用include_vars
模块包含了一个 JSON 文件。JSON 文件的内容如下:
{
"Component1": {
"parameter1" : "value1",
"parameter2" : "value2"
},
"Component2": {
"parameter1" : "{{ NET_SEG_VLAN }}",
"parameter2": "value2"
}
}
Run Code Online (Sandbox Code Playgroud)
将 JSON 文件包含在剧本中后,我正在使用uri
模块发送 http 请求,如下所示:
- name: Configure Component2 variables using REST API
uri:
url: "http://0.0.0.0:5000/vse/api/v1.0/config/working/Component2/configvars/"
method: POST
return_content: yes
HEADER_x-auth-token: "{{ login_resp.json.token }}"
HEADER_Content-Type: "application/json"
body: "{{ Component2 }}"
body_format: json
Run Code Online (Sandbox Code Playgroud)
可以看出,http 请求的正文与 JSON 数据一起发送Component2
。但是,Jinja2 尝试替换{{ NET_SEG_VLAN }}
JSON 文件中的 并抛出undefined
错误。目的不是使用 Jinja2 替换 JSON 文件中的任何内容,而是像在 …