nubes_dnsrecord — DNS запись¶
DNS-запись внутри существующей зоны (nubes_zones_v2). Сервис создаёт запись
заданного типа (A, CNAME, MX, TXT и др.) и отдаёт итоговый FQDN и адреса NS-серверов.
Инструкция по сервису Отдельная страница: руководство по сервису.
Специфика Nubes:
destroyдля этого ресурса удаляет записьterraform destroyудаляет запись из облака и из Terraform-state. Усыпление (suspend) у этого сервиса не поддерживается. Подробности — в разделе «Жизненный цикл» и в общем руководстве «Как работает провайдер».
Пример использования¶
resource "nubes_zones_v2" "zone" {
resource_name = "my-zone"
zone_name = "example.com"
records = jsonencode([])
}
resource "nubes_dnsrecord" "www" {
resource_name = "my-www-record"
# ⚠️ обязателен: UUID существующей DNS-зоны (сервис 109)
zone_uid = nubes_zones_v2.zone.id
record_name = "www"
record_type = "A"
record_input = "10.0.0.1"
record_ttl = 3600 # 30…604800
}
⚠️
zone_uidв схеме помечен как необязательный, однако без него создание не запускается — указывайте UUID существующей DNS-зоны.
Argument Reference¶
| Имя | Тип | Обязательный | По умолчанию | Описание | Ограничения |
|---|---|---|---|---|---|
resource_name |
string | да | — | Имя инстанса | — |
record_type |
string | да | — | Тип DNS-записи | A, AAAA, CNAME, MX, PTR, SOA, SRV, TXT, LUA, NS, SSHFP |
record_name |
string | да | — | Имя записи; имя зоны добавляется автоматически | — |
record_input |
string | да | — | Значение записи (формат зависит от типа) | валидируется по типу записи |
zone_uid |
string (uuid) | нет (фактически да) | — | UUID экземпляра DNS-зоны (сервис 109) | ссылка на nubes_zones_v2 |
record_ttl |
integer | нет | 3600 |
Time-to-live записи (сек) | 30…604800 |
Общие атрибуты (есть у всех ресурсов):
| Имя | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
operation_timeout |
string | нет | — | Максимальное время ожидания операции (напр. 5m) |
log_level |
string | нет | none |
Логирование стадий операции: none, info, debug |
keep_on_destroy |
bool | нет | false |
При destroy — ничего не делать в облаке (state_only) |
adopt_existing_on_create |
bool | нет | false |
Авто-подхват существующего инстанса при apply (=import) |
Attribute Reference¶
Вычисляемые атрибуты (только чтение):
| Имя | Тип | Описание |
|---|---|---|
id |
string | UUID инстанса |
state_out.record |
string | Итоговый FQDN записи: <record_name>.<zone_name> |
state_out.dnsServers |
string (json) | Адреса NS-серверов зоны |
state_out.instanceUid |
string | UUID инстанса |
state_params.recordName / recordType / recordInput / recordTTL |
map | Параметры, отправленные в API |
vault_secrets |
map (sensitive) | Секреты из Vault (обычно пусто) |
vault_fields |
list | [] |
output "www_fqdn" { value = nubes_dnsrecord.www.state_out_flat["record"] }
Жизненный цикл ¶
terraform destroy удаляет запись из облака и из Terraform-state. Усыпление (suspend)
у этого сервиса не поддерживается — атрибута suspend_on_destroy нет.
| Флаг | Дефолт | Поведение при destroy |
|---|---|---|
keep_on_destroy |
false |
Если true — запись остаётся в облаке (state_only); удаление в облаке не выполняется |
- Инстанс в статусе «not created» (после упавшего create) блокирует имя и не удаляется через API — чистится вручную в Личном кабинете.
reconcileзапускается из Terraform ресурсомnubes_service_operation(operation = "reconcile", уникальныйrun_id).
Operations¶
| Операция | Доступно из Terraform | Комментарий |
|---|---|---|
create |
✅ apply |
Создание записи |
modify |
✅ apply |
Изменяется только record_input |
delete |
✅ destroy |
Удаление записи |
reconcile |
✅ через nubes_service_operation |
Синхронизация состояния (универсальная операция) |