Pages - Menu

2022年4月11日 星期一

[GCP]gcloud compute instance format 筆記

前言

因為公司政策,
要把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.

沒有留言:

張貼留言