>我正在研究用于构建极光的terraform rds集群,有人可以帮助我如何将aws提供商版本固定到2.0吗?
这是一种正确的方法吗?
provider "aws" {
region = "us-east-1"
version = "<= 2.0"
}
此外,我的模块早些时候使用了 2.46 版本,我应该在尝试降级时遵循任何步骤吗?
使用地形 0.12.6 版本
对于任何在搜索引擎上找到这个的人,Nathan 的答案在 2020 年是正确的,但现在不推荐在提供程序块中设置版本约束。
新的推荐方法是在全局配置terraform
块中设置required_providers
。
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "= 2.0"
}
}
}
如果要固定到主要版本并允许次要版本递增,请使用~>
运算符,该运算符仅允许指定的最右侧版本递增。 例如~> 3.0
允许升级3.x
空间中的任何版本。有关详细信息,请参阅版本约束文档。
有关详细信息,请参阅有关提供商要求的官方文档。
您只需使用等于运算符=
而不是<=
,这意味着"小于或等于版本 2.0"。
如果希望它仅使用版本 2.0:
provider "aws" {
region = "us-east-1"
version = "= 2.0"
}
另请参阅 https://www.terraform.io/docs/configuration/terraform.html#specifying-required-provider-versions