resource "cloudru_evolution_postgresql_cluster" "resource_cluster" {# Поле name является неизменяемым. При изменении значения ресурс будет пересоздан.name = "awesome-postgres-cluster"# Поле description является неизменяемым. При изменении значения ресурс будет пересоздан.description = "Production PostgreSQL cluster"# Поле project_id является неизменяемым. При изменении значения ресурс будет пересоздан.project_id = "00000000-0000-0000-0000-000000000000"# Поле version является неизменяемым. При изменении значения ресурс будет пересоздан.version = 17instances = 2subnet_ids = ["00000000-0000-0000-0000-000000000000", "11111111-1111-1111-1111-111111111111"]specification_id = "00000000-0000-0000-0000-000000000000"storage = {pg_data_gb = 100pg_wal_gb = 40}pooler_config = {enabled = truepool_mode = "TRANSACTION"parameters = {"max_client_conn" = 100}}backup = {schedule = "0 3 * * 0"retention_policy_days = 14}# Поле logging является неизменяемым. При изменении значения ресурс будет пересоздан.logging = {enabled = truelog_group_id = "00000000-0000-0000-0000-000000000000"}initial_database = "myapp_db"initial_database_lc_collate = "C"initial_database_lc_ctype = "C"recovery_spec = {cluster_id = "00000000-0000-0000-0000-000000000000"pitr = "Thu, 01 Jan 2026 12:00:00 UTC"backup_id = "00000000-0000-0000-0000-000000000000"}# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.timeouts {create = "60m"update = "30m"delete = "20m"}# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментироватьlifecycle {ignore_changes = [timeouts]}}
initial_database (String) Название базы данных, которая будет создана в экземпляре сервиса по умолчанию.
name (String) Название кластера.
project_id (String) Идентификатор проекта.
specification_id (String) Идентификатор спецификации кластера. Ресурсы кластера типа standard нельзя изменить после создания.
storage (Attributes) Размеры дисков кластера. (see below for nested schema)
version (String) Версия продукта.
backup (Attributes) Параметры автоматического резервного копирования. (see below for nested schema)
description (String) Описание кластера.
initial_database_lc_collate (String) Локаль сортировки базы данных, созданной по умолчанию. Нельзя изменить после создания кластера. Значение по умолчанию — C.
initial_database_lc_ctype (String) Локаль набора символов базы данных, созданной по умолчанию. Нельзя изменить после создания кластера. Значение по умолчанию — C.
instances (Number) Количество узлов кластера. Допустимые значения зависят от режима развертывания кластера: 1-2 узла для standard, 1-3 узла для business. Если в subnet_ids указано несколько подсетей, кластер считается мультизональным, и количество узлов должно совпадать с количеством подсетей.
logging (Attributes) Параметры интеграции с сервисом Клиентского логирования. (see below for nested schema)
pooler_config (Attributes) Конфигурация пулера соединений PgBouncer. (see below for nested schema)
primary_standby_mode (Boolean, Deprecated) Устарело. Используйте поле instances.
recovery_spec (Attributes) Параметры восстановления кластера. (see below for nested schema)
subnet_id (String, Deprecated) Устарело. Используйте поле subnet_ids.
subnet_ids (List of String) Идентификаторы подсетей. Подсети определяют зоны доступности кластера. Если указано несколько подсетей, кластер считается мультизональным. Мультизональный режим доступен только для кластеров типа business. В этом случае количество подсетей должно совпадать с количеством узлов instances, а каждая подсеть должна находиться в отдельной зоне доступности. Список подсетей и их описание можно получить через API сервиса виртуальных машин в разделе Subnets.
sync_replication_enabled (Boolean, Deprecated) Не имеет эффекта.
timeouts (Block, Optional) (see below for nested schema)
connection_string (String) Строка подключения.
created_at (String) Время создания кластера.
created_by (String) Идентификатор пользователя, создавшего кластер.
health (String) Состояние кластера.
id (String) Идентификатор кластера.
status (String) Статус кластера.
Required:
pg_data_gb (Number) Размер основного диска с данными в гигабайтах.
Optional:
pg_wal_gb (Number) Размер диска с WAL-журналом предзаписи в гигабайтах. При указании WAL-журнал будет размещен на отдельном диске. Размер должен составлять не менее 20% от основного диска. Значение является опциональным. Кластер типа Standart не поддерживает этот параметр.
Optional:
retention_policy_days (Number) Срок хранения автоматически созданных резервных копий. Максимальное значение — 30 дней.
schedule (String) Расписание автоматического резервного копирования в формате CRON-выражения. Например, выражение „15 14 ? * *“ будет запускать задачу каждый день в 14:15. Краткий формат вида «@midnight» или «@every 1h30m» не поддерживается. Автоматическое резервное копирование может происходить не чаще, чем раз в 6 часов. По умолчанию запускается каждое воскресенье в 03:00, резервные копии хранятся в течение 14 дней.
Optional:
enabled (Boolean) Признак отправки логов кластера. По умолчанию false — логи не отправляются.
log_group_id (String) Идентификатор лог-группы, в которую отправляются логи. Если значение не задано, будет использоваться лог-группа проекта по умолчанию — default.
Optional:
enabled (Boolean) Включить пулер соединений. По умолчанию false — пулер выключен. Нельзя изменить после создания кластера.
parameters (Map of String) Дополнительные параметры конфигурации PgBouncer. Список поддерживаемых параметров и их описание доступны в разделе документации Пулер соединений. Параметр pool_mode задается отдельно через поле pool_mode.
pool_mode (String) Режим работы пулера соединений. По умолчанию SESSION. Подробнее.
Required:
cluster_id (String) ClusterID - идентификатор кластера, которому требуется восстановление.
Optional:
backup_id (String) BackupID — идентификатор резервной копии, из которой необходимо восстановить кластер.
pitr (String) PITR — восстановление на момент времени (point-in-time-recovery). Введите время восстановления в формате временной метки.
Optional:
create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).
delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).