Terraform指定目标资源执行apply报错求助
解决Terraform apply -target针对模块内带count的资源报错问题
错误原因
你执行的命令中,目标地址module.compute_engine_lb.google_compute_instance.lb_backup没有指定count索引。由于该资源通过count = var.count_lb_backup创建了多个实例,Terraform无法识别你要操作的具体实例集合,因此抛出错误。
解决方案
根据你的需求选择对应的命令:
- 操作所有由count生成的lb_backup实例
用通配符[*]匹配全部实例:
terraform apply -auto-approve -target=module.compute_engine_lb.google_compute_instance.lb_backup[*]
- 操作单个特定实例
指定具体索引(索引从0开始),比如操作第一个实例:
terraform apply -auto-approve -target=module.compute_engine_lb.google_compute_instance.lb_backup[0]
注意事项
- 当资源使用
count或for_each参数时,Terraform会将其视为资源集合,目标地址必须包含索引(count用数字、for_each用对应键值)才能准确定位。 - 尽量少用
-target参数,它会绕过Terraform的依赖关系校验,仅适合临时调试或紧急场景使用。
内容的提问来源于stack exchange,提问作者Bernardo Rebelo
相关产品推荐
相关产品推荐

