我需要使用API获取特定于标记的所有资源。 AWS Config控制台中提供了类似的选项,但我无法在API中找到,其中我们可以在资源清单页面中指定标记并获取特定于该标记的所有资源。
答案 0 :(得分:0)
没有一个命令可以获取所有资源。
每个服务都有自己的方式按标签列出资源。某些服务(例如EC2)支持基于标记值列出所有资源。
例如,将describe-tags
与标记过滤器一起使用:
aws ec2 describe-tags --region us-east-1 \
--filters Name=tag:Name,Values=Test
但结果仅限于EC2资源。
其他服务(例如RDS)不支持基于标记值列出资源。相反,您需要检索所有资源,然后检索这些资源的标记,然后自己过滤。
aws rds describe-db-instances --region us-east-1 \
--query 'DBInstances[*].DBInstanceIdentifier'
然后对于每个资源,您需要调用list-tags-for-resource
来获取标记:
aws rds list-tags-for-resource --region us-east-1 \
--resource-name arn:aws:rds:us-east-1:<account number>:db:<db instance id>
最后,你需要:
示例:
* us-east-1
* EC2
* describe-tags
* RDS
* describe-db-instances
* list-tags-for-resource
* describe-db-snapshots
* list-tags-for-resource
* us-west-1
* EC2
* describe-tags
* RDS
* describe-db-instances
* list-tags-for-resource
* describe-db-snapshots
* list-tags-for-resource
......等等。