Interface HttpBackendConfig

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
DataTerraformRemoteStateHttpConfig
All Known Implementing Classes:
DataTerraformRemoteStateHttpConfig.Jsii$Proxy, HttpBackendConfig.Jsii$Proxy

@Generated(value="jsii-pacmak/1.93.0 (build 1706ca5)", date="2024-01-15T15:38:01.025Z") @Stability(Experimental) public interface HttpBackendConfig extends software.amazon.jsii.JsiiSerializable
(experimental) Stores the state using a simple REST client.

State will be fetched via GET, updated via POST, and purged with DELETE. The method used for updating is configurable.

This backend optionally supports state locking. When locking support is enabled it will use LOCK and UNLOCK requests providing the lock info in the body. The endpoint should return a 423: Locked or 409: Conflict with the holding lock info when it's already taken, 200: OK for success. Any other status will be considered an error. The ID of the holding lock info will be added as a query parameter to state updates requests.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/http

  • Method Details

    • getAddress

      @Stability(Experimental) @NotNull String getAddress()
      (experimental) (Required) The address of the REST endpoint.
    • getClientCaCertificatePem

      @Stability(Experimental) @Nullable default String getClientCaCertificatePem()
      (experimental) (Optional) A PEM-encoded CA certificate chain used by the client to verify server certificates during TLS authentication.
    • getClientCertificatePem

      @Stability(Experimental) @Nullable default String getClientCertificatePem()
      (experimental) (Optional) A PEM-encoded certificate used by the server to verify the client during mutual TLS (mTLS) authentication.
    • getClientPrivateKeyPem

      @Stability(Experimental) @Nullable default String getClientPrivateKeyPem()
      (experimental) (Optional) A PEM-encoded private key, required if client_certificate_pem is specified.
    • getLockAddress

      @Stability(Experimental) @Nullable default String getLockAddress()
      (experimental) (Optional) The address of the lock REST endpoint.

      Defaults to disabled.

    • getLockMethod

      @Stability(Experimental) @Nullable default String getLockMethod()
      (experimental) (Optional) The HTTP method to use when locking.

      Defaults to LOCK.

    • getPassword

      @Stability(Experimental) @Nullable default String getPassword()
      (experimental) (Optional) The password for HTTP basic authentication.
    • getRetryMax

      @Stability(Experimental) @Nullable default Number getRetryMax()
      (experimental) (Optional) The number of HTTP request retries.

      Defaults to 2.

    • getRetryWaitMax

      @Stability(Experimental) @Nullable default Number getRetryWaitMax()
      (experimental) (Optional) The maximum time in seconds to wait between HTTP request attempts.

      Defaults to 30.

    • getRetryWaitMin

      @Stability(Experimental) @Nullable default Number getRetryWaitMin()
      (experimental) (Optional) The minimum time in seconds to wait between HTTP request attempts.

      Defaults to 1.

    • getSkipCertVerification

      @Stability(Experimental) @Nullable default Boolean getSkipCertVerification()
      (experimental) (Optional) Whether to skip TLS verification.

      Defaults to false.

    • getUnlockAddress

      @Stability(Experimental) @Nullable default String getUnlockAddress()
      (experimental) (Optional) The address of the unlock REST endpoint.

      Defaults to disabled.

    • getUnlockMethod

      @Stability(Experimental) @Nullable default String getUnlockMethod()
      (experimental) (Optional) The HTTP method to use when unlocking.

      Defaults to UNLOCK.

    • getUpdateMethod

      @Stability(Experimental) @Nullable default String getUpdateMethod()
      (experimental) (Optional) HTTP method to use when updating state.

      Defaults to POST.

    • getUsername

      @Stability(Experimental) @Nullable default String getUsername()
      (experimental) (Optional) The username for HTTP basic authentication.
    • builder

      @Stability(Experimental) static HttpBackendConfig.Builder builder()
      Returns:
      a HttpBackendConfig.Builder of HttpBackendConfig