有没有办法列出帐户下的可用AutoScalingGroups并根据某些标签过滤它?
我正在寻找像aws ecs list-clusters
这样的东西,它给出了ecs簇的列表。
是。您可以使用JMESPath语法将aws autoscaling describe-auto-scaling-groups
命令的结果过滤到仅匹配某个标记的键/值对的组。这使用--query
参数,该参数可用于在大多数AWS CLI命令上进行过滤。
通过单个标记查询的示例:
下面的示例根据Key ='Environment'和Value ='Dev'的标记过滤结果。
aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[? Tags[? (Key=='Environment') && Value=='Dev']]".AutoScalingGroupName
通过多个标签查询的示例:
下面的示例根据标签过滤结果,其中Key ='Environment'和Value ='Dev',Key ='Name'和Value ='MyValue'。这使用管道在第一个标记的查询的结果自动缩放组上查询第二个标记。
aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[? Tags[? (Key=='Environment') && Value=='Dev']] | [? Tags[? Key=='Name' && Value =='MyValue']]".AutoScalingGroupName
以下AWS CLI命令为Auto Scaling Group提供了标签,其中包含Key
== Product
和Value
== test
,用于account1的配置文件
aws --profile account1 autoscaling describe-auto-scaling-groups \
--query 'AutoScalingGroups[?contains(Tags[?Key==`Product`].Value, `test`)].[AutoScalingGroupName]' --region eu-west-1 --output table