- OpenTofu 语言
- 提供程序
提供程序
OpenTofu 依靠称为提供程序的插件来与云提供商、SaaS 提供商和其他 API 交互。
OpenTofu 配置必须声明它们需要哪些提供程序,以便 OpenTofu 可以安装和使用它们。此外,某些提供程序在使用前需要配置(例如端点 URL 或云区域)。
提供程序的功能
每个提供程序都添加了一组 OpenTofu 可以管理的 资源类型 和/或 数据源。
每个资源类型都由一个提供程序实现;如果没有提供程序,OpenTofu 就无法管理任何类型的基础设施。
大多数提供程序配置特定的基础设施平台(云或自托管)。提供程序还可以提供本地实用程序,用于执行诸如为唯一资源名称生成随机数之类的任务。
提供程序的来源
提供程序与 OpenTofu 本身分开分发,并且每个提供程序都有自己的发布节奏和版本号。
该 公共 OpenTofu 注册表 是公开提供程序的主要目录,并托管大多数主要基础设施平台的提供程序。
提供程序文档
每个提供程序都有自己的文档,描述其资源类型及其参数。此文档可以在提供程序的 github 存储库中找到。
提供程序文档是版本化的,请确保您正在引用正确的标签/版本。
如何使用提供程序
提供程序与 OpenTofu 本身分开发布,并具有自己的版本号。在生产环境中,我们建议在配置的提供程序需求块中限制可接受的提供程序版本,以确保 tofu init
不安装与配置不兼容的较新版本的提供程序。
要使用给定提供程序的资源,您需要在配置中包含一些有关它的信息。有关详细信息,请参阅以下页面
-
提供程序需求 说明如何声明提供程序,以便 OpenTofu 可以安装它们。
-
提供程序配置 说明如何配置提供程序的设置。
-
依赖项锁定文件 文档说明可以与配置一起包含的其他 HCL 文件,该文件告诉 OpenTofu 始终使用特定的一组提供程序版本。
提供程序安装
-
TACOS (TF 自动化和协作软件) 在每次运行时都安装提供程序。
-
OpenTofu CLI 在 初始化工作目录 时查找并安装提供程序。它可以从提供程序注册表自动下载提供程序,或从本地镜像或缓存加载它们。如果您使用的是持久性工作目录,则必须在每次更改配置的提供程序时重新初始化。
为了节省时间和带宽,OpenTofu CLI 支持可选的插件缓存。您可以使用 CLI 配置文件 中的
plugin_cache_dir
设置启用缓存。
为了确保 OpenTofu 始终为给定配置安装相同的提供程序版本,您可以使用 OpenTofu CLI 创建 依赖项锁定文件 并将其与您的配置一起提交到版本控制中。如果存在锁定文件,则 OpenTofu CLI 和 TACOS (TF 自动化和协作软件) 在安装提供程序时都将遵守它。
如何查找提供程序
要查找您使用的基础设施平台的提供程序,请浏览 公共 OpenTofu 注册表。
注册表上的一些提供程序由 HashiCorp 开发和发布,一些由平台维护者发布,一些由用户和志愿者发布。
如何开发提供程序
提供程序使用 Terraform 插件 SDK 以 Go 编写。有关开发提供程序的更多信息,请参阅 插件开发 文档。
使用 OpenTofu CLI 运行验收测试
使用 OpenTofu 进行测试时,需要执行其他步骤才能针对 OpenTofu CLI 运行验收测试。在运行验收测试之前,请设置以下环境变量
TF_ACC_TERRAFORM_PATH="/path/to/opentofu"
TF_ACC_PROVIDER_NAMESPACE="hashicorp"
TF_ACC_PROVIDER_HOST="registry.opentofu.org"