AWS-CLI:过滤AutoscalingGroups,ecs集群/服务

时间:2017-04-04 16:56:05

标签: amazon-web-services aws-cli

我正在尝试提供一个脚本,根据某种类型的配置文件自动设置所需的AutoScalingGroups数量,例如,SHUTDOWN配置文件应将所有内容设置为零。
我们在单一帐户下有很多应用程序。因此,当在命令下运行时,它会提供所有资源。

aws ecs list-clusters

有没有办法通过标签或任何其他方式过滤这些?显然--filter不是aws ecsaws autoscaling命令的有效选项。

我现在正在使用grep命令。

aws ecs list-clusters | grep string1 | grep string2

1 个答案:

答案 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 表正确解析),但你明白了......

jq 教程:https://stedolan.github.io/jq/tutorial/