Terraform中provider版本约束弃用警告含义解析咨询
Terraform版本约束弃用警告解析
警告原文
警告:provider配置块内的版本约束已被弃用
│
│ 位于revision.tf第5行,provider "aws"块中:
│ 5: version = ">=2.10,<=2.30"
│
│ Terraform 0.13及更早版本允许在provider配置块内设置版本约束,但该方式现已被弃用,将在未来版本中移除。如需消除此警告,请将provider版本约束移至required_providers块中。
具体含义拆解
- 核心问题:你当前在
provider "aws"配置块内直接用version参数指定版本范围的写法,已经被Terraform官方弃用,后续版本会彻底删除该功能支持。 - 历史背景:Terraform 0.13及更早版本允许这种写法,但从新版本开始,官方统一了provider版本约束的声明规范。
- 修复方式:把版本约束从
provider块迁移到terraform块下的required_providers块中。
代码示例对比
原弃用写法
provider "aws" { region = "us-east-1" version = ">=2.10,<=2.30" # 此处的version声明已弃用 }
正确写法
terraform { required_providers { aws = { source = "hashicorp/aws" # 建议同时指定provider源,避免歧义 version = ">=2.10,<=2.30" # 版本约束的正确声明位置 } } } provider "aws" { region = "us-east-1" }
内容的提问来源于stack exchange,提问作者Bicky Shaw
相关产品推荐
相关产品推荐

