gcloud topic filters 小記
在使用 gcloud 指令的時候, 如果列出的輸出太多, 有時候就需要過濾出自己想要的資訊
但是在過濾的時候, 過濾的語法方式之前覺得不是很直觀
所以就紀錄一下, 以免自己忘記
大部分自已過濾的方式都是用關鍵字或是正規化表示式來過濾
所以要研究如何套用
要套用相關過濾方式, 要先參考 gcloud topic resource-keys
首先要觀察相關資訊, 這邊以 gcloud compute images list 為例
# gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS
centos-6-v20200521 centos-cloud centos-6 READY
centos-7-v20200521 centos-cloud centos-7 READY
centos-8-v20200521 centos-cloud centos-8 READY
coreos-alpha-2514-0-0-v20200520 coreos-cloud coreos-alpha READY
預設會列出 standard images , 但是輸出的量比較多, 有將近 80 個 images
按照官方文件的方式, 先調整輸出的格式
# gcloud compute images list --format=flattened
---
archiveSizeBytes: 20676277248
creationTimestamp: 2020-05-21T14:53:32.931-07:00
description: CentOS, CentOS, 6, x86_64 built on 20200521
diskSizeGb: 20
family: centos-6
id: 856342087848380083
kind: compute#image
labelFingerprint: 42WmSpB8rSM=
licenseCodes[0]: 1000206
licenses[0]: https://www.googleapis.com/compute/v1/projects/centos-cloud/global/licenses/centos-6
name: centos-6-v20200521
rawDisk.containerType: TAR
rawDisk.source:
selfLink: https://www.googleapis.com/compute/v1/projects/centos-cloud/global/images/centos-6-v20200521
sourceType: RAW
status: READY
storageLocations[0]: asia
storageLocations[1]: eu
- 這樣就可以很清楚的觀察相關資訊
- 左邊是 key, 右邊是 value
所以我如果要列出 SLES 相關 images 該如何呢?
# gcloud compute images list --filter "name ~ sles"
NAME PROJECT FAMILY DEPRECATED STATUS
sles-12-sp5-v20200227 suse-cloud sles-12 READY
sles-15-sp1-v20200415 suse-cloud sles-15 READY
sles-12-sp2-sap-v20191127 suse-sap-cloud sles-12-sp2-sap READY
sles-12-sp3-sap-v20191113 suse-sap-cloud sles-12-sp3-sap READY
sles-12-sp4-sap-v20191113 suse-sap-cloud sles-12-sp4-sap READY
sles-12-sp5-sap-v20200227 suse-sap-cloud sles-12-sp5-sap READY
sles-15-sap-v20191116 suse-sap-cloud sles-15-sap READY
sles-15-sp1-sap-v20200415 suse-sap-cloud sles-15-sp1-sap READY
- name 是key
- ~ 代表後面要用正規表示式
- sles 是要過濾的 value
另外也可以使用 --format 來決定要輸出的欄位, 如果只想列出 NAME, FAMILY, STATUS
# gcloud compute images list --filter "name ~ sles" --format "table(NAME,FAMILY,STATUS)"
NAME FAMILY STATUS
sles-12-sp5-v20200227 sles-12 READY
sles-15-sp1-v20200415 sles-15 READY
sles-12-sp2-sap-v20191127 sles-12-sp2-sap READY
sles-12-sp3-sap-v20191113 sles-12-sp3-sap READY
sles-12-sp4-sap-v20191113 sles-12-sp4-sap READY
sles-12-sp5-sap-v20200227 sles-12-sp5-sap READY
sles-15-sap-v20191116 sles-15-sap READY
sles-15-sp1-sap-v20200415 sles-15-sp1-sap READY
- 這樣格式輸入的方式在 GCE 也很好用, 例如只要列出 GCE 名稱, 還有內部與外部 IP
寫了這一篇, 以後過濾 GCP 的訊息輸出就更方便了
~ enjoy it
Reference
沒有留言:
張貼留言