我正在编写一个python脚本来检索未正确标记的实例列表。我需要通过过滤来检查名称中是否存在特定的字符串。
最好的方法是什么?
我打算使用describe_instances并使用标签过滤器(键为“名称”),但是该过滤器要求我提供标签的完整值(即实例名称),但我需要能够进行搜索使用名称的子集。
可以使用客户端吗?
答案 0 :(得分:0)
最简单的方法是在不使用过滤器的情况下调用describe_instances()
,然后循环遍历结果并在Python中执行自己的过滤和修复逻辑。
一般逻辑是:
Create EC2 client
Call describe_instances
Loop through results['Reservations']['Instances']:
Loop through instance['Tags']:
if Key == 'Name' and "bad-string" in Value:
Fix tag
如果实例数超过1000,则必须用describe-instances()
重新调用NextToken
。
答案 1 :(得分:0)
对于正在阅读本文的人,您可以执行John Rotenstein在其答案中建议的操作,或者,也可以在标签名称中使用通配符'*',这样您的过滤器将类似于:
filters = [{'Name':'tag:Name', 'Values':['string*']}]