Terraform required_providers中~>版本符号的含义及相关文档咨询
Terraform版本约束中
~>符号的含义及官方说明 ~> 是Terraform里的近似版本约束符,作用是限定依赖项(比如Provider)只能升级到特定版本系列内的最新兼容版本,不会跨大版本更新。
以你示例里的 ~> 1.0 为例:
- 允许的版本范围是 1.0 ≤ 版本 < 2.0,比如1.0.0、1.1.3、1.9.9这些都符合要求
- 会自动排除2.0.0及以上的版本,避免大版本迭代带来的破坏性变更
关于这个符号的官方说明,其实在Terraform配置语言文档的「Provider版本约束」章节有明确提及,Terraform的版本约束规则基于Go模块的版本规范,除了~>,还支持精确版本、范围区间(比如>=1.0, <2.0)等多种约束方式。
你的示例配置里,required_providers块用~> 1.0约束mycloud Provider,就是为了确保Terraform只会下载1.x系列的Provider版本,不会因为自动升级到2.x导致配置不兼容。
内容的提问来源于stack exchange,提问作者Hongbo Miao
相关产品推荐
相关产品推荐

