繁体   English   中英

如何使用 terraform 获取默认的 vpc id

[英]How to get the default vpc id with terraform

我正在尝试使用terraform在我的aws帐户中获取default vpc 的vpc_id

这是我尝试过的,但它给出了一个错误

错误:数据源无效

这是我尝试过的:

data "aws_default_vpc" "default" {

}


# vpc
resource "aws_vpc" "kubernetes-vpc" {
  cidr_block = "${var.vpc_cidr_block}"
  enable_dns_hostnames = true

  tags = {
    Name = "kubernetes-vpc"
  }
}

aws_default_vpc确实不是有效的数据源。 但是aws_vpc数据源确实有一个布尔default ,您可以使用它来选择默认 vpc:

data "aws_vpc" "default" {
  default = true
} 

为了完整起见,我将添加一个aws_default_vpc资源,该资源还管理默认 VPC 并实施资源生命周期,而无需真正创建 VPC*,但会更改资源,例如更改标签(包括其名称)。

* 除非你强行销毁默认 VPC

从文档:

这是一种高级资源,在使用它时需要注意一些特殊的注意事项。 在使用此资源之前,请完整阅读本文档。

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_vpc

这个

resource "aws_default_vpc" "default" {
}

会做。

我认为这对于管理整个 AWS 账户的 terraform 项目很方便,但我建议不要在单个组织账户中部署多个 terraform 项目时使用它。 在这种情况下,您最好继续使用@blokje5 的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM