Terraform社区提供者是否被视为第三方?

时间:2020-05-27 16:17:32

标签: terraform

我正在为Terraform Associate Certification考试做准备。我已经完成了有关Udemy的实践考试,并且对自动安装社区提供程序存在疑问。但是,基于实际的terraform行为,我质疑考试(或Terraform的文档)是否不正确。也许我的问题应该针对练习考试的作者,但我认为我会在此处发布,以免澄清可能对其他人有所帮助。

考试题是:

对还是错? terraform init无法自动下载社区提供商。

我的回答是 false ,根据考试的解释是错误的,并带有以下解释:

说明

任何人都可以开发和分发自己的Terraform提供程序。 (有关提供程序开发的更多信息,请参见编写自定义提供程序。)这些第三方提供程序必须手动安装,因为terraform init无法自动下载它们。

https://www.terraform.io/docs/configuration/providers.html#third-party-plugins

Terraform的init文档对此进行了确认(请注意不要引用社区插件):

请注意,terraform init不能自动下载不是由HashiCorp分发的提供程序。有关安装说明,请参见下面的Third-party Plugins

但是如果您在配置中添加社区提供程序并运行terraform init社区插件 do 自动安装:

provider "auth0" {
  version = "> 0.8"
}
$ terraform init

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...
- Downloading plugin for provider "auth0" (terraform-providers/auth0) 0.10.2...
...

所以我只能假设基于实际的地形功能Community Providers不被视为第三方插件?

1 个答案:

答案 0 :(得分:4)

文档和实践考试均基于过时的信息。以前,该答案和文档都是正确的,因此您不得不手动安装自定义提供程序。文档中描述的方法和过程是完全准确的。

但是,在2020年1月15日,Terraform注册中心得到了扩展,除了提供社区模块外,还为社区提供程序提供了功能。可以从here查看Hashicorp的官方公告。现在,您描述的方法(也适用于第三方模块)有效。您还可以查看provider registry,以实现此目的。请注意,Terraform Cloud和Terraform Enterprise都还为私有注册表提供了此功能。

更新说明:实际上,Terraform Cloud的私有注册表目前仅限于模块,包括与VCS连接的提供商。但是,TF Cloud Registry界面暗示该功能将最终出现。另外,社区提供商的支持将通过Terraform 0.13 release notes进一步扩展。

顺便说一句,我目前不信任Hashicorp认证的任何第三方学习指南的完整性。考试直到最近才退出Beta版。我正在努力寻找公告(无论是在官方博客文章中还是在合作伙伴的电子邮件中),但这是在2020年4月中旬之后。当我获得Terraform(2019年1月下旬)和Vault(2020年4月上旬)的认证时,两者都仍处于测试阶段,这可以通过考试中有趣的事件来证明,例如一些问题逐字重复。目前,我对Hashicorp官方学习指南的信任比什么都重要。