メインコンテンツへスキップ

バックエンドタイプ: 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"
}
}

構成変数

次の構成オプション/環境変数がサポートされています

  • 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認証の場合、次の3つのオプションを設定できます

  • client_certificate_pem / TF_HTTP_CLIENT_CERTIFICATE_PEM - (オプション) 相互TLS(mTLS)認証中にサーバーがクライアントを検証するために使用するPEMエンコードされた証明書。
  • client_private_key_pem /TF_HTTP_CLIENT_PRIVATE_KEY_PEM - (オプション) client_certificate_pemが指定されている場合に必須となるPEMエンコードされた秘密鍵。
  • client_ca_certificate_pem / TF_HTTP_CLIENT_CA_CERTIFICATE_PEM - (オプション) TLS認証中にサーバー証明書を検証するためにクライアントが使用するPEMエンコードされたCA証明書チェーン。