ループまたは変数を持つ仮想マシンのリストを削除する方法 - ANSIBLEおよびVMWare

ループまたは変数を持つ仮想マシンのリストを削除する方法 - ANSIBLEおよびVMWare

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

おすすめ記事