2017-04-04 97 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/