Terraform HTTP Provider

验证:未记录
适用版本
未记录
验证范围
尚未登记验证记录。
本文缩写(英文全称与中文含义)
缩写 英文全称/名称 中文含义
API Application Programming Interface 应用程序编程接口
HTTP Hypertext Transfer Protocol 超文本传输协议
HTTPS Hypertext Transfer Protocol Secure 使用 TLS 加密的 HTTP

用途#

使用 data "http" 读取 HTTP 接口,获取配置或元数据。它是查询工具,不管理远程 API 对象的生命周期。

示例#

读取 HashiCorp 的版本查询接口。Terraform 执行端需要能够访问该地址。

terraform {
  required_version = ">= 1.2.0"
  required_providers {
    http = {
      source  = "hashicorp/http"
      version = "~> 3.0"
    }
  }
}

data "http" "terraform_version" {
  url                = "https://checkpoint-api.hashicorp.com/v1/check/terraform"
  request_timeout_ms = 5000

  request_headers = {
    Accept = "application/json"
  }

  lifecycle {
    postcondition {
      condition     = self.status_code == 200
      error_message = "Version API must return HTTP 200."
    }
  }
}

output "latest_terraform_version" {
  value = jsondecode(data.http.terraform_version.response_body).current_version
}

注意事项#

  • 参数已知时,查询通常发生在 plan / refresh 阶段,接口可用性会影响规划。
  • 支持 GET、HEAD、POST;POST 也应仅用于搜索等只读操作。
  • HTTP 200 不保证业务数据有效,解析时仍需确认响应格式和字段。
  • 请求头和响应可能进入 state;不要把它当作不留痕的密钥读取通道。
  • 保持 HTTPS 证书校验;不要通过 insecure = true 绕过证书问题。

参考#

搜索文档

输入关键词,搜索所有文档。

↑ ↓ 选择 · Enter 打开 · Esc 关闭