루프 또는 변수가 있는 VM 목록을 삭제하는 방법 - ANSIBLE 및 VMWare

루프 또는 변수가 있는 VM 목록을 삭제하는 방법 - ANSIBLE 및 VMWare

ANSIBLE을 사용하여 VMWare에서 일부 VM을 삭제하려면 플레이북이 필요합니다.

내 플레이북은 다음과 유사합니다.

  - 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개의 GROUP이 있고 이 작업을 수행하기 위해 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

관련 정보