我是 Ansible 的新手,正在尝试使用fortinet.fortios模块自动化 Fortigate 配置。
我遇到了一个fortios_firewall_addrgrp
不支持将防火墙地址附加到组的问题。
我在我的变量中有这个设置:
addresses:
host_0:
subnet: 192.168.1.10/24
group: group_0
host_1:
subnet: 192.168.1.11/24
group: group_0
host_2:
subnet: 192.168.10.10/24
group: group_1
host_3:
subnet: 192.168.10.11/24
group: group_1
我正在运行这个任务来生成一个地址组。
- name: Configure IPv4 address groups.
fortios_firewall_addrgrp:
vdom: '{{ vdom }}'
state: present
firewall_addrgrp:
name: '{{ item.value.group }}'
member:
- name: '{{ item.key }}'
loop: '{{ addresses | dict2items }}'
它遍历每个主机并生成一个地址组,但它会导致 2 个组仅包含列表中的最后一个主机名。
理想情况下,该模块应该支持将主机名附加到现有组,但它不支持,因此我正在尝试解决它以使以下情况发生:
member:
- name: host_0
- name: host_1
上面的示例可以工作,但我无法提前知道变量中的组和主机名。
我可以将输入变量生成或过滤到主机和组的字典中,并将其提供给成员。尽管如此,我还是不明白如何动态地循环它。