如何删除和替换terraform默认GCP VPC?

问题描述 投票:0回答:2

谷歌建议删除并督促创建自己的VPC

此资源管理默认VPC:https://www.terraform.io/docs/providers/aws/r/default_vpc.html

但我想设置一个不同的VPC是默认和删除自动创建一个。

这怎么可能?

google-cloud-platform terraform vpc terraform-provider-gcp
2个回答
0
投票

default网络没有任何特定的配置,使得它成为默认的网络。这仅仅是一个始终以一个新项目一起创建了一个网络,每当未指定网络(例如,部署GAE Flex应用程序时),使用的网络将是一个名为default。当你创建一个Terraform项目,你可以指定auto_network_creation = "false"

但是,这不会阻止默认网络的建立,将直接删除它完全创建项目之前。这意味着,在Terraform创建过程中,这是不可能创建一个名为default另一个网络。在创建原始默认网络后必须完成的,因此,该项目创建之后。

您可以尝试使用this tutorial与Terraform创建项目。接下来的片段是教程,其中包括我要删除的项目创建的默认网络线的一部分。

variable "project_name" {}
variable "billing_account" {}
variable "org_id" {}
variable "region" {}

provider "google" {
 region = "${var.region}"
}

resource "random_id" "id" {
 byte_length = 4
 prefix      = "${var.project_name}-"
}

resource "google_project" "project" {
 name            = "${var.project_name}"
 project_id      = "${random_id.id.hex}"
 billing_account = "${var.billing_account}"
 org_id          = "${var.org_id}"
 auto_create_network = "false" //This is supposed to delete default network on project creation
}

resource "google_project_services" "project" {
 project = "${google_project.project.project_id}"
 services = [
   "compute.googleapis.com"
 ]
}

output "project_id" {
 value = "${google_project.project.project_id}"
}

尽管如此,我已经尝试过了自己和默认的网络仍然存在。


0
投票

作为Terraform你描述所需配置的状态时,它是不可能的隐式发送“销毁请求”给没有被Terraform管理的资源。

然而,你可以尝试importing它首先那么它将被Terraform进行管理,当你不包括在您的* .tf文件的默认子网掩码应在terraform apply一步被删除。

© www.soinside.com 2019 - 2024. All rights reserved.