- OpenTofu 语言
- OpenTofu 设置
- 后端
- http
后端类型:http
使用简单的 REST 客户端存储状态。
状态将通过 GET 获取,通过 POST 更新,并通过 DELETE 清除。用于更新的方法是可配置的。
此后端可以选择性地支持 状态锁定。当启用锁定支持时,它将使用 LOCK 和 UNLOCK 请求在主体中提供锁定信息。当锁定已被占用时,端点应返回 423: Locked 或 409: Conflict 以及持有锁定的信息,成功时返回 200: OK。任何其他状态都将被视为错误。持有锁定的信息的 ID 将作为查询参数添加到状态更新请求中。
使用示例
terraform {
backend "http" {
address = "http://myrest.api.com/foo"
lock_address = "http://myrest.api.com/foo"
unlock_address = "http://myrest.api.com/foo"
}
}
数据源配置
data "terraform_remote_state" "foo" {
backend = "http"
config = {
address = "http://my.rest.api.com"
}
}
配置变量
警告
我们建议使用环境变量来提供凭据和其他敏感数据。如果您使用 -backend-config
或在您的配置中直接硬编码这些值,OpenTofu 将在 .terraform
子目录和计划文件中包含这些值。有关详细信息,请参阅 凭据和敏感数据。
支持以下配置选项/环境变量
address
/TF_HTTP_ADDRESS
- (必填) REST 端点的地址update_method
/TF_HTTP_UPDATE_METHOD
- (可选) 更新状态时使用的 HTTP 方法。默认为POST
。lock_address
/TF_HTTP_LOCK_ADDRESS
- (可选) 锁定 REST 端点的地址。默认为禁用。lock_method
/TF_HTTP_LOCK_METHOD
- (可选) 锁定时使用的 HTTP 方法。默认为LOCK
。unlock_address
/TF_HTTP_UNLOCK_ADDRESS
- (可选) 解锁 REST 端点的地址。默认为禁用。unlock_method
/TF_HTTP_UNLOCK_METHOD
- (可选) 解锁时使用的 HTTP 方法。默认为UNLOCK
。username
/TF_HTTP_USERNAME
- (可选) HTTP 基本身份验证的用户名password
/TF_HTTP_PASSWORD
- (可选) HTTP 基本身份验证的密码skip_cert_verification
- (可选) 是否跳过 TLS 验证。默认为false
。retry_max
/TF_HTTP_RETRY_MAX
– (可选) HTTP 请求重试次数。默认为2
。retry_wait_min
/TF_HTTP_RETRY_WAIT_MIN
– (可选) HTTP 请求尝试之间等待的最小时间(秒)。默认为1
。retry_wait_max
/TF_HTTP_RETRY_WAIT_MAX
– (可选) HTTP 请求尝试之间等待的最大时间(秒)。默认为30
。
对于 mTLS 身份验证,可以设置以下三个选项
client_certificate_pem
/TF_HTTP_CLIENT_CERTIFICATE_PEM
- (可选) 服务器在双向 TLS (mTLS) 身份验证期间用于验证客户端的 PEM 编码证书。client_private_key_pem
/TF_HTTP_CLIENT_PRIVATE_KEY_PEM
- (可选) PEM 编码私钥,如果指定了 client_certificate_pem,则需要此私钥。client_ca_certificate_pem
/TF_HTTP_CLIENT_CA_CERTIFICATE_PEM
- (可选) 客户端在 TLS 身份验证期间用于验证服务器证书的 PEM 编码 CA 证书链。