了解 Terraform 提供程序和插件
Understanding terraform provider and plugin
有没有更简单的方法来理解它们?当我在代码中使用提供程序并执行 terraform init
- 它会下载提供程序或插件吗?
第 3 方插件在哪里?什么是第 3 方插件?与第 3 方提供商一样吗?
插件是您开发供应商的方式。例如,AWS
提供程序在 go
编程语言中实现为 terraform 中的插件。
AWS
提供程序插件的源代码是 here:
The Terraform AWS provider is a plugin for Terraform that allows for the full lifecycle management of AWS resources.
因此,作为 end-user 您正在使用 AWS
提供商。但是,如果您想为提供者做出贡献,并实施或修复其中的错误,您将在 go
语言的插件上下文中执行此操作。
When I use a provider in my code and do a terraform init - does it download a provider or plugin ?
从技术上讲,它会下载一个提供 AWS
(示例)提供程序功能的插件。它将存储在您的项目目录中 plugins 文件夹:
.terraform/plugins/linux_amd64/terraform-provider-aws_v3.2.0_x5
3rd party provider
这是一个提供商不由 HashiCorp 分发。那些 third-party providers/plugins 是“手动”安装在插件文件夹中,而 HashiCorp 的那些是使用 terraform init
.
安装的
有没有更简单的方法来理解它们?当我在代码中使用提供程序并执行 terraform init
- 它会下载提供程序或插件吗?
第 3 方插件在哪里?什么是第 3 方插件?与第 3 方提供商一样吗?
插件是您开发供应商的方式。例如,AWS
提供程序在 go
编程语言中实现为 terraform 中的插件。
AWS
提供程序插件的源代码是 here:
The Terraform AWS provider is a plugin for Terraform that allows for the full lifecycle management of AWS resources.
因此,作为 end-user 您正在使用 AWS
提供商。但是,如果您想为提供者做出贡献,并实施或修复其中的错误,您将在 go
语言的插件上下文中执行此操作。
When I use a provider in my code and do a terraform init - does it download a provider or plugin ?
从技术上讲,它会下载一个提供 AWS
(示例)提供程序功能的插件。它将存储在您的项目目录中 plugins 文件夹:
.terraform/plugins/linux_amd64/terraform-provider-aws_v3.2.0_x5
3rd party provider
这是一个提供商不由 HashiCorp 分发。那些 third-party providers/plugins 是“手动”安装在插件文件夹中,而 HashiCorp 的那些是使用 terraform init
.