terraform required_providers 版本中的“~>”是什么意思?

Hon*_*iao 2 terraform

我试图了解 Terraform 中的版本是如何工作的。

例如Terraform 文档中的这个演示:

terraform {
  required_providers {
    mycloud = {
      source  = "mycorp/mycloud"
      version = "~> 1.0"
      configuration_aliases = [ mycloud.alternate ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我没有在与版本相关的官方 Terraform 文档中找到任何相关内容,尤其是此~>. 我错过了吗?

~>terraform required_providers 版本中的含义是什么?有文件吗?谢谢

tja*_*rbo 9

这称为“依赖项固定”或“版本约束”,并定义您希望使用依赖项的已定义版本的严格程度以及如何处理可用更新。

以下是来自Terraform官方文档的引用:

~>:仅允许最右边的版本组件递增。例如,要允许在特定次要版本中发布新补丁,请使用完整版本号:~> 1.0.4 将允许安装 1.0.5 和 1.0.10,但不允许安装 1.1.0。这通常称为悲观约束算子。

如果您想了解有关“主要”、“次要”等版本的更多信息,请查看语义版本控制规范。

其他可用的运算符有!=, =, >, >=,<<=

更多信息: