每次使用以下任务创建新服务器时,我都需要向服务组添加服务器。
任务
- name: Create a service group
a10_service_group_v3:
validate_certs: no
host: "{{ item.0.a10_host }}"
state: "{{ item.1.service_state }}"
username: "{{ item.0.user }}"
password: "{{ item.0.pass }}"
service_group: "{{ item.1.group_name }}"
reset_on_server_selection_fail: yes
servers:
- name: "{{ item.1.server_name1 }}"
port: "{{ item.1.server_port1 }}"
overwrite: yes
write_config: yes
ignore_errors: yes
with_nested:
- "{{ a10 }}"
- "{{ service_group }}"
变量:
service_group:
- group_name: bif_sg
service_state: present
server_name1: bif01
server_port1: 80
我需要帮助传递server_name和server_port的变量,假设如果我有3个服务器要添加到任务中的服务组,我需要添加3次server_name1,server_port1 server_name2,server_port2 ...... 每次我添加服务器时我都需要在任务中更新:(
有没有办法在任务中多次传递具有单个定义值的sever_name和serer_port。
答案 0 :(得分:2)
我希望server_group有一个列表的服务器,重构你的变量以获得一个服务器列表,而不是一堆独立的子项:
service_group:
- group_name: bif_sg
service_state: present
servers:
- name: bif01
port: 80
- name: bif02
port: 8080
在你的任务中:
...
servers: "{{ item.1.servers }}"
...