我正在尝试在我的Ansible剧本中使用“ set_fact”创建键/值的有效JSON列表。
基本上我希望我的自定义事实看起来像这样:
{
"containerports": [
"10502" : "two",
"11502" : "two",
"10503" : "five",
"11503" : "five",
],
"numconnections": "2"
}
我不知道 1.如何创建动态变量名称(此示例中为端口号),以及2.如何将此变量添加到我的列表“ connectorports”
当前,我的事实文件中有此文件:
{
"containerports": [
"10502 : two",
"11502 : two",
"10503 : five",
"11503 : five",
],
}
我不知道如何获取JSON键:值映射,以便可以对文件执行选择。每次添加新端口时,我都希望能够附加到列表中。我的test.yml文件看起来像这样:
- name: Adding container ports to facts
tags:
- setup
set_fact:
containerports: "{{ containerports | default([]) }} + [ '{{ container_port }} {{ ':' }} {{ container_name }}' ]"
cacheable: true
答案 0 :(得分:0)
几乎:)
containerports: "{{ containerports | default([]) }} + [ { container_port: container_name } ]"
以同样的方式将'[]'扩展为列表,内部的'{}'也扩展为字典。