Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何用terraform删除并替换默认的GCP vpc?_Google Cloud Platform_Terraform_Vpc_Terraform Provider Gcp - Fatal编程技术网

Google cloud platform 如何用terraform删除并替换默认的GCP vpc?

Google cloud platform 如何用terraform删除并替换默认的GCP vpc?,google-cloud-platform,terraform,vpc,terraform-provider-gcp,Google Cloud Platform,Terraform,Vpc,Terraform Provider Gcp,谷歌建议删除并创建自己的prod专有网络 此资源管理默认VPC: 但是我想将另一个VPC设置为默认值,并删除自动创建的VPC 这是怎么可能的?在Terraform中,您描述了所需的配置状态,因此不可能向Terraform未管理的资源隐式发送销毁请求 但是,您可以先尝试,然后它将由Terraform管理,并且由于您没有将其包含在*.tf文件中,因此应在Terraform应用步骤中删除默认子网。由于在Terraform中,您描述了所需的配置状态,因此无法隐式地向未由Terraform管理的资源发送销

谷歌建议删除并创建自己的prod专有网络

此资源管理默认VPC:

但是我想将另一个VPC设置为默认值,并删除自动创建的VPC


这是怎么可能的?

在Terraform中,您描述了所需的配置状态,因此不可能向Terraform未管理的资源隐式发送销毁请求


但是,您可以先尝试,然后它将由Terraform管理,并且由于您没有将其包含在*.tf文件中,因此应在Terraform应用步骤中删除默认子网。

由于在Terraform中,您描述了所需的配置状态,因此无法隐式地向未由Terraform管理的资源发送销毁请求地形

但是,您可以先尝试,然后由Terraform管理,并且由于您没有将其包含在*.tf文件中,因此应在Terraform应用步骤中删除默认子网。

默认网络没有任何使其成为默认网络的特定配置。它只是一个始终与新项目一起创建的网络,并且每当未指定网络时(例如,在部署GAE flex应用程序时),使用的网络将是名为default的网络。使用Terraform创建项目时,可以指定auto_network_creation=false

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

您可以尝试使用Terraform创建项目。 下一个代码段是教程的一部分,我在其中包括了在项目创建时删除默认网络的行

变量项目名称{} 可变账单_账户{} 变量org_id{} 可变区{} 提供商谷歌{ region=${var.region} } 资源随机id{ 字节长度=4 前缀=${var.project_name}- } 资源google_项目{ name=${var.project_name} project_id=${random_id.id.hex} 账单账户=${var.billing\u账户} org\u id=${var.org\u id} auto_create_network=false//这应该在项目创建时删除默认网络 } 资源google\u项目\u服务项目{ project=${google_project.project.project_id} 服务=[ compute.googleapis.com ] } 输出项目\u id{ value=${google_project.project.project_id} } 尽管如此,我自己也尝试过,默认网络仍然存在

默认网络没有使其成为默认网络的任何特定配置。它只是一个始终与新项目一起创建的网络,并且每当未指定网络时(例如,在部署GAE flex应用程序时),使用的网络将是名为default的网络。使用Terraform创建项目时,可以指定auto_network_creation=false

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

您可以尝试使用Terraform创建项目。 下一个代码段是教程的一部分,我在其中包括了在项目创建时删除默认网络的行

变量项目名称{} 可变账单_账户{} 变量org_id{} 可变区{} 提供商谷歌{ region=${var.region} } 资源随机id{ 字节长度=4 前缀=${var.project_name}- } 资源google_项目{ name=${var.project_name} project_id=${random_id.id.hex} 账单账户=${var.billing\u账户} org\u id=${var.org\u id} auto_create_network=false//这应该在项目创建时删除默认网络 } 资源google\u项目\u服务项目{ project=${google_project.project.project_id} 服务=[ compute.googleapis.com ] } 输出项目\u id{ value=${google_project.project.project_id} }
尽管如此,我自己也尝试过,默认网络仍然存在

通过设置组织策略约束,可以避免/跳过默认网络创建


和中的更多详细信息通过设置组织策略约束,可以避免/跳过默认网络创建


中的更多详细信息设置属性auto_create_network=false并在创建GCP项目(如以下代码段所示)时提及计费帐户ID,可确保删除默认网络

resource "google_project" "project" {
    name            = "test"
    project_id      = "test-523"
    billing_account = "xxxxx"
    auto_create_network = "false"
}

设置属性auto_create_network=false和 在创建GCP项目(如下面的代码片段所示)时,输入计费帐户ID可确保删除默认网络

resource "google_project" "project" {
    name            = "test"
    project_id      = "test-523"
    billing_account = "xxxxx"
    auto_create_network = "false"
}

Terraform无法处理默认VPC的删除,只能使用该资源管理现有的默认VPC。您需要使用AWS CLI或其他方式来删除默认VPC。gcp我说的是gcpI不相信这在Terraform中是可能的。您不能删除默认VPC,您只能创建一个新的VPC并替换它。是的,我知道,我特别询问如何使用terrafromTerraform来实现这一点。TerraForm无法处理默认VPC的删除,只能通过使用该资源来管理现有的默认VPC。您需要使用AWS CLI或其他方式来删除默认VPC。gcp我说的是gcpI不相信这在Terraform中是可能的。您不能删除默认VPC,您只能创建一个新的VPC并替换它。是的,我知道,我特别询问如何使用TerraFrom进行此操作。如果未明确指定网络,则使用默认网络。如何将新网络设置为默认网络?如上所述,将使用默认名称下的网络。也就是说,如果删除原始默认网络并创建自己的网络,如果为其命名为default,则无论何时未指定网络,都将使用该网络。如果未明确指定网络,将使用默认网络。如何将新网络设置为默认网络?如上所述,将使用默认名称下的网络。也就是说,如果您删除原始默认网络并创建自己的网络,如果您将其命名为默认网络,则无论何时未指定网络,都将使用该网络。