2017-04-04 96 views
0

我想要一個腳本來自動設置基於某種配置文件的AutoScalingGroups的所需數量,例如,SHUTDOWN配置文件應該將所有內容設置爲零。
我們在單一帳戶下有很多應用程序。所以當在命令下運行時,它會提供所有資源。AWS-CLI:過濾AutoscalingGroups,ecs集羣/服務

aws ecs list-clusters 

有沒有辦法通過任何標籤或其它任何手段來過濾這些?顯然 - 過濾器不是aws ecsaws autoscaling命令的有效選項。

我現在正在使用grep命令。

aws ecs list-clusters | grep string1 | grep string2 

回答

1

不知道這正是你在問什麼,但如果你想與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/