說我想用從Ansible星系FlatKey.firewalld劇本,它有THEI設立防火牆端口規則在Ansible中,如何設置帶有列表的字典?
- name: set firewalld port rules
firewalld:
port={{item.value.port}}/{{item.value.protocol|default('tcp')}
permanent={{item.value.permanent|default('true')}
immediate={{item.value.immediate|default('true')}
state={{item.value.state|default('enabled')}
zone={{item.value.zone|default('public')}}
with_dict: "{{firewalld_port_rules|default({})}}"
我有一個默認/ main.yml文件設置了這樣的任務
firewalld_port_rules:
key:
port: 123456
protocol: tcp
state: enabled
zone: public
permanent: true
immediate: true
如何將這個用於多個端口,無需重複代碼? IOW我真的想要這樣的東西,但語法當然不起作用。希望你明白這個主意。
firewalld_port_rules:
key:
port: [123456, 45678, 45679]
protocol: tcp
state: enabled
zone: public
permanent: true
immediate: true
這工作時相同,除了一列(在問題'port'),但解決方案的所有數據不靈活。例如:如果你需要123永久tcp和234 udp非永久。 –