我有下面的vars文件和Ansible任务,它允许防火墙上特定源IP的某些端口。
但是由于某种原因,每当我运行任务时,我都会收到此错误:
FAILED! => {"msg": "The task includes an option with an undefined variable.
即使我能够使用 Ansible 模块回显出这些变量debug
所以基本上我无法在此任务中专门使用这些变量。
Ansible 任务:
---
- name:
firewalld:
permanent: yes
port: "{{ item.0 }}"
state: enabled
zone: public
source: "{{ item.1 }}"
with_nested:
- "{{ ports }}"
- "{{ ips }}"
变量文件:
ports:
- "8000/tcp"
- "9997/tcp"
- "8181/tcp"
- "8080/tcp"
- "8191/tcp"
- "8088/tcp"
- "8065/tcp"
ips:
- "192.168.210.30/32"
- "192.168.210.35/32"
- "192.168.210.40/32"
- "192.168.210.31/32"
- "192.168.210.36/32"
- "192.168.210.41/32"
- "192.168.210.42/32"
- "192.168.210.37/32"
with_nested
的缩进是错误的。正确的语法是
- name:
firewalld:
permanent: yes
port: "{{ item.0 }}"
state: enabled
zone: public
source: "{{ item.1 }}"
with_nested:
- "{{ ports }}"
- "{{ ips }}"