Тип серверной части: http
Хранит состояние с помощью простого клиента REST.
Состояние будет получаться с помощью GET, обновляться с помощью POST и удаляться с помощью DELETE. Используемый для обновления метод можно настроить.
Эта серверная часть дополнительно поддерживает блокировку состояния. При включенной поддержке блокировки будут использоваться запросы LOCK и UNLOCK, передающие сведения о блокировке в теле запроса. Если блокировка уже установлена, конечная точка должна возвращать код 423: Locked или 409: Conflict со сведениями об установленной блокировке, а в случае успеха — 200: OK. Любой другой статус будет считаться ошибкой. Идентификатор сведений об установленной блокировке будет добавлен в качестве параметра запроса при обновлении состояния.
Пример использования
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 -
headers— (Необязательный) Набор дополнительных заголовков, добавляемых к 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— (Необязательный) Сертификат в формате PEM, используемый сервером для проверки клиента при взаимной TLS-аутентификации (mTLS). -
client_private_key_pem/TF_HTTP_CLIENT_PRIVATE_KEY_PEM— (Необязательный) Закрытый ключ в формате PEM, обязательный, если указан client_certificate_pem. -
client_ca_certificate_pem/TF_HTTP_CLIENT_CA_CERTIFICATE_PEM— (Необязательный) Цепочка сертификатов УЦ в формате PEM, используемая клиентом для проверки сертификатов сервера при TLS-аутентификации.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.9/language/settings/backends/http/