如何过滤EC2实例状态为运行中,解决多实例匹配报错问题?
解决Terraform查询EC2实例多匹配问题
你只需在原有的aws_instance数据源中添加实例状态过滤条件,即可仅获取运行状态的目标实例。修改后的代码如下:
data "aws_instance" "ec2" { filter { name = "tag:Name" values = ["dev-us-west-2-myinstance"] } filter { name = "instance-state-name" values = ["running"] } }
说明
- 保留原有的
tag:Name过滤规则,确保匹配指定名称的实例 - 新增
instance-state-name过滤项,将结果限定为运行中(running)的实例,以此排除同名但不同状态的实例,保证仅返回唯一符合条件的实例,解决多匹配报错问题。
内容的提问来源于stack exchange,提问作者LP13
相关产品推荐
相关产品推荐

