http
Kind: Standard (with optional locking)
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.
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.
Example Usage
terraform { backend "http" { address = "http://myrest.api.com/foo" lock_address = "http://myrest.api.com/foo" unlock_address = "http://myrest.api.com/foo" } }
Example Referencing
data "terraform_remote_state" "foo" { backend = "http" config { address = "http://my.rest.api.com" } }
Configuration variables
The following configuration options are supported:
-
address
- (Required) The address of the REST endpoint -
update_method
- (Optional) HTTP method to use when updating state. Defaults toPOST
. -
lock_address
- (Optional) The address of the lock REST endpoint. Defaults to disabled. -
lock_method
- (Optional) The HTTP method to use when locking. Defaults toLOCK
. -
unlock_address
- (Optional) The address of the unlock REST endpoint. Defaults to disabled. -
unlock_method
- (Optional) The HTTP method to use when unlocking. Defaults toUNLOCK
. -
username
- (Optional) The username for HTTP basic authentication -
password
- (Optional) The password for HTTP basic authentication -
skip_cert_verification
- (Optional) Whether to skip TLS verification. Defaults tofalse
.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/backends/types/http.html