4.6 KiB
4.6 KiB
Resource nubes_postgres
Service ID: 90
Service Name: PostgreSQL
Manual | Create params | Modify params | Output params | Operations | Example
Create params
Параметры сгруппированы в JSON-блоки. Каждый блок — это jsonencode({...}) в манифесте.
startup_configuration — платформа развёртывания
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
resourceRealm |
string | да | Платформа/K8s-кластер. Примеры: k8s-3-sandbox-nubes-ru, iot-naeel, naeel-test-3 |
cluster_configuration — размер кластера
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
cpu |
string | да | Квота CPU в милликорах (1000 = 1 vCPU) |
memory |
string | да | Квота памяти в MB |
replicas |
string | да | Количество нод (1 = без реплики, 2 = master + slave) |
disk |
string | да | Размер диска в GB |
access_configuration — сетевой доступ
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
masterIpSpace |
string | да | ipSpace для внешнего IP master. "no-needed" если не нужен |
masterAccessList |
array | да | Список IP/сетей для доступа к master. [] если не ограничен |
slaveIpSpace |
string | да | ipSpace для внешнего IP slave |
slaveAccessList |
array | да | Список IP/сетей для доступа к slave |
postgres_configuration — параметры PostgreSQL
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
version |
string | да | Версия PostgreSQL: "16", "17" |
sslRequired |
boolean | да | Требовать SSL-подключения |
poolerMaster |
boolean | да | Включить PgBouncer для master |
poolerSlave |
boolean | да | Включить PgBouncer для slave |
postgres_conf — дополнительные параметры (опционально)
Массив объектов [{paramName, paramValue}]. Пример:
[{"paramName": "log_connections", "paramValue": "''"}]
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
paramName |
string | да | Имя параметра postgresql.conf |
paramValue |
string | да | Значение параметра |
backup_configuration — резервное копирование
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
s3Uid |
string | да | UUID существующего S3 Object Storage |
retain |
string | да | Количество сохраняемых бэкапов |
schedule |
string | да | Cron-расписание бэкапов. "0 0 * * *" = ежедневно в полночь |
autoscale_configuration — автоскейлинг
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
enabled |
boolean | да | Включить автоскейлинг |
schedule |
string | да | Tech window |
percent |
string | да | Процент увеличения при скейлинге |
quota |
string | да | Максимальный размер диска в GB |
Параметры поведения (кратко)
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.