我正在尝试提供一个脚本,根据某种类型的配置文件自动设置所需的AutoScalingGroups数量,例如,SHUTDOWN配置文件应将所有内容设置为零。
我们在单一帐户下有很多应用程序。因此,当在命令下运行时,它会提供所有资源。
aws ecs list-clusters
有没有办法通过标签或任何其他方式过滤这些?显然--filter不是aws ecs
或aws autoscaling
命令的有效选项。
我现在正在使用grep命令。
aws ecs list-clusters | grep string1 | grep string2
答案 0 :(得分:2)
不确定这正是您所要求的,但是如果您想要使用这些命令的 JSON 输出(或过滤/转换任何 JSON < / em>字符串一般而言),没有比 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 表正确解析),但你明白了......