
我需要一個劇本來使用 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