我正在努力找出适当的语法来改变这段代码:
vm_cidr: '10.10.0.0/24'
vm_network: FOO
vm_gateway: '10.10.0.1'
networks:
"{{ vm_cidr }}":
network: "{{ vm_network }}"
gateway: "{{ vm_gateway }}"
vm_cidr
的替换永远不会发生。我已经阅读了this帖子,但我还在苦苦挣扎。任何想法如何正确变化?
答案 0 :(得分:1)
在这里哟:
networks: '{{ {vm_cidr:{"network":vm_network,"gateway":vm_gateway} } }}'
注意dict末尾的空格,以防止双重不必要的双括号。
答案 1 :(得分:0)
你不能只假设标量" vm_cidr
" (背面和正面没有空格)与" vm_cidr
"相同在{{
和}}
内。
你应该尝试:
vm_cidr: '10.10.0.0/24'
vm_network: FOO
vm_gateway: '10.10.0.1'
networks:
"{{vm_cidr}}":
network: "{{vm_network}}"
gateway: "{{vm_gateway}}"
答案 2 :(得分:0)
您可以使用|
字符创建多行标量
vm_cidr: '10.10.0.0/24'
vm_network: FOO
vm_gateway: '10.10.0.1'
networks: |
{
"{{vm_cidr}}": {
network: "{{vm_network}}"
gateway: "{{vm_gateway}}"
}
}