Вы можете использовать функцию query
с together
, чтобы получить в той же итерации цикла 1-й элемент из каждого массива.
, когда синтаксис должен быть:
when: LICENSE_TYPE == "evaluation"
пожалуйста, проверьте следующее задание (с модулем debug
, чтобы просто продемонстрировать данные query
, поступающие в цикл):
---
- hosts: localhost
connection: local
gather_facts: false
vars:
tasks:
- name: Set facts
set_fact:
SERIAL_NUMBER: ['2342', '4455', '5643']
PASSWORD: ['xxx', 'yyy', 'zzz']
EXP_DATE: ['06-10-18', '07-01-19', '06-01-18']
LICENSE_TYPE: "evaluation"
- name: Execute the script to apply evaluation license
debug:
msg: "SERIAL_NUMBER: {{ item[0] }}, PASSWORD: {{ item[1] }}, EXP_DATE: {{ item[2] }}"
when: LICENSE_TYPE == "evaluation"
loop: "{{ query('together', SERIAL_NUMBER, PASSWORD, EXP_DATE) }}"
вывод:
PLAY [localhost] ****************************************************************************************************************************************************************************************************
TASK [Set facts] ****************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [Execute the script to apply evaluation license] ***************************************************************************************************************************************************************
ok: [localhost] => (item=None) => {
"msg": "SERIAL_NUMBER: 2342, PASSWORD: xxx, EXP_DATE: 06-10-18"
}
ok: [localhost] => (item=None) => {
"msg": "SERIAL_NUMBER: 4455, PASSWORD: yyy, EXP_DATE: 07-01-19"
}
ok: [localhost] => (item=None) => {
"msg": "SERIAL_NUMBER: 5643, PASSWORD: zzz, EXP_DATE: 06-01-18"
}
PLAY RECAP **********************************************************************************************************************************************************************************************************
localhost
надеюсь, что это поможет