我该运行什么命令来确定我一直在使用哪个 Azure Terraform 提供程序版本?

我该运行什么命令来确定我一直在使用哪个 Azure Terraform 提供程序版本?

如何确定我一直在使用哪个版本的 Azure Terraform 提供程序?我想保持相同的提供程序版本。Azure 和 AWS 的提供程序之间有什么区别?我的理解是每次使用 init 命令下载提供程序。此外,(version = "=1.34.0") 和 (version = "1.16") 之间有什么区别?版本 1.34.0 的引号内的等号有什么作用?还注意到您可以指定 > 或 < 某些版本,...这样做的原因是什么?,...这只是为了远离未经测试的新版本吗?

如果出现错误,并且您想在运行 terrform 后恢复到以前的配置。有没有简单的方法可以从最近的 terraform 更改之前开始?有没有办法恢复到 terraform 更改的某些日期?...有没有办法查看在哪些 terraform 应用或销毁日期进行了哪些更改?

答案1

有很多问题,所以我会尽力回答所有问题。

  1. 我使用的是哪个提供商版本?

从您为给定配置初始化的文件夹运行terraform version。它将显示 Terraform 版本和任何提供程序版本。

  1. AWS 和 Azure 提供商之间是否存在差异?

当然。版本号彼此无关。请查看提供商存储库https://github.com/terraform-providers

  1. 这是什么version="=1.16.0"意思?

这很深奥,但基本原则是,您可以为提供程序锁定一个版本以保持一致性。您永远不知道新版本何时会发生重大变化。关于等号,version=是设置提供程序的版本属性。当它是时,"=1.16.0"它表示版本应始终等于 1.16.0。还有其他选项,例如"~>1.16.0"">1.16.0"等等。请阅读此处了解更多信息 -https://www.terraform.io/docs/configuration/providers.html

  1. 恢复更改

您应该使用类似 git 的东西来存储您的基础架构更改。您可能还想使用像 Azure Dev Ops 这样的系统,将发布锁定到 git 提交版本。本质上,如果您部署的更改破坏了某些内容,您可以将代码回滚到之前的提交并再次运行它以将其改回。没有“撤消”选项。

希望这可以帮助!!

相关内容