前言
因為公司政策,
要把label全部統一,之前有些已經命名過一次的但名稱不對,
一個一個改又好麻煩,
來寫command吧
正文
指令演化順序
Step 1.
先用指令撈出 GCE的全部列表
gcloud compute instances --project=project list --format='table(name,status,labels.list())'
Step 2.
找出label只有特定字元的列表
gcloud compute instances --project=project list --format='table(name,status,labels.list())' | grep product=abc
問題來了,如果我只要取name出來,作為變數的話,
要怎麼做?
我也一下子想不出來,就先跑去看一下gcloud文件了。
Step 3.
gcloud compute instances --project=project list --filter="labels.product:abc" --format="table(name)"
改用 filter去篩選,這樣就能只顯示名稱了。
Step 4.
加上for迴圈,將label.product改成 zzz
for name in $(gcloud compute instances --project=project list --filter="labels.product:abc" --format="table(name)"); do
gcloud compute instances update "$name" --update-labels product=zzz
done
附註:
刪除label的指令
product 為 key值
gcloud compute instances update beta-api01 --remove-labels product
ref.
0 意見:
張貼留言