如何在Terraform中通过ID获取已有AWS VPC对象(不纳入状态)
解决方法
你完全不需要用import块,因为它会把VPC资源纳入当前Terraform状态,这和你不想管理该VPC的需求冲突。正确的做法是直接在data "aws_vpc"块中指定VPC ID来引用外部管理的VPC:
# 移除import块,因为它会将VPC加入本地状态 data "aws_vpc" "my_vpc" { id = "vpc-xyz1234" # 在这里传入你的VPC ID } module "my_module" { vpc = data.aws_vpc.my_vpc }
这样配置后,Terraform会通过AWS API查询到这个VPC的完整信息(比如CIDR块、子网关联等),并将其作为对象传递给你的自定义模块,同时不会把该VPC纳入当前的Terraform状态,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Cribber
相关产品推荐
相关产品推荐

