我试图使用两个提供程序版本和in terraform,虽然我得到了以下错误
Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider hashicorp/aws:
no available releases match the given constraints >= 3.71.0, 3.71.0, 4.6.0这就是我想要做的。我有一个terraform文件,它使用多个模块。在一个模块中,我需要使用aws提供者版本4.6.0。在其他模块上,我需要坚持当前应用的提供程序版本,即3.71.0
Terraform版本: 0.13.6
Im在terraform文件中定义一个约束,因此"hashicorp/aws“可以是3.71.0以上的任何内容。定义如下:
"aws": {
"version": ">= 3.71.0",
"assume_role": {
"role_arn": "....",
"session_name": "..."
},terraform文件调用超过10个模块,模块0到9个提供程序配置为
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "= 3.71.0"
}
}
}第十个模块提供程序配置是
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "= 4.6.0"
}
}
}我遗漏了什么吗?
注意:我已经提到了这个后Multiple provider versions with Terraform,虽然不确定它在技术上是否不可能,而且我做错了什么。
发布于 2022-04-14 03:19:13
我们为每个区域使用一个单独的提供者块,这是我们处理它的方式:
provider "aws" {
region = "us-west-2"
}
provider "aws" {
alias = "east-2-provider"
region = "us-east-2"
version = "~> 4.0"
}
provider "aws" {
alias = "east-1-provider"
region = "us-east-1"
version = "~> 3.74"
}当我们使用一个模块时,我们使用它如下:
module "example-1" {
source = "./example"
providers = {
aws = east-1-provider
}
}
module "example-2" {
source = "./example"
providers = {
aws = east-2-provider
}
}https://stackoverflow.com/questions/71865964
复制相似问题