ANSIBLE을 사용하여 VMWare에서 일부 가상 머신을 제거하려면 플레이북이 필요합니다.
내 스크립트는 다음과 같습니다
- name: Delete VMs from VMware
vmware_guest:
hostname: "{{secret.vcenter}}"
username: "{{secret.username}}"
password: "{{secret.password}}"
validate_certs: False
datacenter: DC
state: absent
name: "{{ item.name }}"
with_items:
- { name: VM_NAME_01_GROUP01 }
- { name: VM_NAME_02_GROUP01 }
- { name: VM_NAME_03_GROUP01 }
- { name: VM_NAME_04_GROUP01 }
잘 작동합니다. 문제는 18개의 그룹이 있는데 이 작업을 위해 4x18=78 줄을 쓰고 싶지 않다는 것입니다.
다른 기계 이름:
[...]
VM_NAME_01_GROUP04
VM_NAME_02_GROUP04
VM_NAME_03_GROUP04
VM_NAME_04_GROUP04
[...]
VM_NAME_01_GROUP18
VM_NAME_02_GROUP18
VM_NAME_03_GROUP18
VM_NAME_04_GROUP18
루프 왕이 필요해...
조언 해주셔서 감사합니다.
답변1
Bash에서 비슷한 것을 찾고 있습니까?
for ((group = 1; group < 19; ++group)); do
for ((name = 1; name < 5; ++name)); do
printf "VM_NAME_%02d_GROUP%02d\n" "${name}" "${group}"
done
done
출력은 다음과 같습니다
VM_NAME_01_GROUP01
VM_NAME_02_GROUP01
VM_NAME_03_GROUP01
VM_NAME_04_GROUP01
VM_NAME_01_GROUP02
...
VM_NAME_04_GROUP18