gpt4 book ai didi

terraform - 如何在同一个 `main.tf` 中多次重复使用一个模块?

转载 作者:行者123 更新时间:2023-12-05 07:18:06 28 4
gpt4 key购买 nike

我为可重复使用的基础设施创建了一个模块。该模块是一个项目,所以每次我们想要创建一个新项目和相关的基础设施项目时,我们都可以使用这个模块:

module "project1" {
source = ".modules/project_module"
project_id = "project1"
...
}

module "project2" {
source = ".modules/project_module"
project_id = "project2"
...
}

该模块使用 google provider 在 GCP 上创建资源。

不幸的是,这并没有像希望的那样工作。首先,每个新项目都需要调用 terraform init,其次,不可能删除项目,因为从 main.tf 文件中删除模块时,Terraform 会提示没有谷歌提供者,它无法破坏资源。例如:

module.project1.google_storage_bucket_iam_member.some-bucket: 
configuration for module.project1.provider.google is not present; a provider configuration block is required for all operations

有没有办法在同一个main.tf中多次使用同一个模块?我意识到理想情况下我应该编写一个提供程序,但我现在想避免这种情况。

最佳答案

原来是状态不一致。烧完了,从头开始重新创建项目,同时将 Google 提供程序保留在模块之外,它成功了。

关于terraform - 如何在同一个 `main.tf` 中多次重复使用一个模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58491145/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com