[英]AWS-CLI: Filtering the AutoscalingGroups, ecs clusters/services
我試圖提出一個腳本,以基於某種配置文件自動設置所需的AutoScalingGroups數量,例如SHUTDOWN配置文件應將所有內容設置為零。
單一帳戶本身有很多應用程序。 因此,當在命令下運行時,它將提供所有資源。
aws ecs list-clusters
有沒有一種方法可以通過標簽或任何其他方式過濾這些標簽? 顯然--filter對於aws ecs
或aws autoscaling
命令不是有效的選項。
我現在正在使用grep命令。
aws ecs list-clusters | grep string1 | grep string2
不確定是否正是您要的內容,但是如果您想使用這些命令的JSON輸出(或通常對所有JSON字符串進行過濾/轉換),沒有比jq更好的工具了。 需要花費一些時間,但此工具可能會成為您最好的朋友。
安裝后,您可以發出以下命令:
aws ecs describe-clusters|jq -r '.clusters[]|{clusterName, status}'
通過信息創建集群名稱/狀態列表。
aws ecs describe-clusters|jq -r '.clusters[]|if .status == "INACTIVE" then .clusterArn else null end'
列出所有不活動的群集。
以這種方式添加刪除命令以刪除所有不活動的集群(不要運行它!):
aws ecs describe-clusters|jq -r '.clusters[]|if .status == "INACTIVE" then .clusterArn else null end'|xargs aws ecs delete-clusters --clusters
我只有一個集群可供使用,我沒有測試這些命令是否仍然適用於許多集群(正確解析了JSON表),但是您明白了...
jq教程: https : //stedolan.github.io/jq/tutorial/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.