我无法解释为什么当我运行terraform init -upgrade时,提供者GoogleV3.90.1总是出现在这里。
查看我的后端文件,它没有指定任何提供程序。
terraform {
}我有这个规格
provider "google" {
project = var.project
region = var.region
scopes = [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
]
}或者模块中类似的东西
module "scc-build-docker" {
source = "terraform-google-modules/project-factory/google"
version = "~> 10.1"
(...)
}
> gcloud version
Google Cloud SDK 404.0.0
alpha 2022.09.23
beta 2022.09.23
> terrafom -v
terraform v0.14.11
+ provider registry.terraform.io/hashicorp/archive v2.2.0
+ provider registry.terraform.io/hashicorp/google v3.90.1
+ provider registry.terraform.io/hashicorp/google-beta v3.90.1
+ provider registry.terraform.io/hashicorp/null v3.1.1
+ provider registry.terraform.io/hashicorp/random v3.4.3
+ provider registry.terraform.io/hashicorp/template v2.2.0
+ provider registry.terraform.io/hashicorp/time v0.8.0我怎样才能将google提供商升级到最后一个呢?
谢谢。
在指定内部versions.tf之后
terraform {
required_version = "~> 0.14.0"
required_providers {
google = "= 4.38.0"
google-beta = "= 4.38.0"
}
}问题仍然存在
Initializing provider plugins...
- Finding hashicorp/null versions matching ">= 2.1.0"...
- Finding latest version of hashicorp/time...
- Finding latest version of hashicorp/archive...
- Finding latest version of hashicorp/template...
- Finding hashicorp/google versions matching ">= 2.12.0, >= 3.43.0, ~> 3.45, >= 3.50.0, >= 3.53.0, ~> 3.53, < 4.0.0, 4.38.0, < 5.0.0"...
- Finding hashicorp/google-beta versions matching ">= 3.1.0, >= 3.43.0, ~> 3.45, >= 3.50.0, < 4.0.0, 4.38.0, < 5.0.0"...
- Finding hashicorp/random versions matching ">= 2.2.0"...
- Installing hashicorp/null v3.1.1...
- Installed hashicorp/null v3.1.1 (signed by HashiCorp)
- Installing hashicorp/time v0.8.0...
- Installed hashicorp/time v0.8.0 (signed by HashiCorp)
- Installing hashicorp/archive v2.2.0...
- Installed hashicorp/archive v2.2.0 (signed by HashiCorp)
- Installing hashicorp/template v2.2.0...
- Installed hashicorp/template v2.2.0 (signed by HashiCorp)
- Installing hashicorp/random v3.4.3...
- Installed hashicorp/random v3.4.3 (signed by HashiCorp)
Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider
hashicorp/google: no available releases match the given constraints >= 2.12.0,
>= 3.43.0, ~> 3.45, >= 3.50.0, >= 3.53.0, ~> 3.53, < 4.0.0, 4.38.0, < 5.0.0
Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider
hashicorp/google-beta: no available releases match the given constraints >=
3.1.0, >= 3.43.0, ~> 3.45, >= 3.50.0, < 4.0.0, 4.38.0, < 5.0.0当我删除main.tf文件时,一切看起来都很好。然后,我尝试激活/禁用块,看看哪一个触发了这个问题。因此,实际上,这个块是插件提供程序无法安装的原因。
module "shared" {
providers = {
google = google.impersonated
google-beta = google-beta.impersonated
}
source = "./modules/shared"
depends_on = [module.projects]
# Read created projects. Produced map : key is environment key, value is project resource
target_projects = { for k, v in local.projects : k => merge(v, module.projects[k].project) }
docker_repositories = local.docker_repositories
terraform_sa_email = data.google_service_account.terraform_sa.email
region = var.region
organization_id = data.google_project.factory_project.org_id
billing_account = var.billing_account
parent_folder = module.folders.shared_folder.id
team = "scc"
creator = data.google_service_account.terraform_sa.account_id
controlling_group_name = local.controlling_group_name
controlling_group_fullname = local.controlling_group_fullname
}..。
好的决定..。我必须为模块设置所有最新版本。(如terraform-google-模块/网络/google为例)
发布于 2022-09-30 21:29:35
我认为您可以使用versions.tf文件声明提供程序的版本,并在需要时对其进行升级。
versions.tf文件与Google和Google beta提供程序以及4.38.0版本的示例:
terraform {
required_version = ">= 0.13.2"
required_providers {
google = "= 4.38.0"
google-beta = "= 4.38.0"
}
}https://stackoverflow.com/questions/73910024
复制相似问题