POST /api/v1/dns/zone/{zoneName}/record — создать DNS-запись

Создает DNS-запись в указанном узле. Узел автоматически создается, если он не существует.

Запрос

curl -k --negotiate -u : -X POST \
  "https://<server>:<port>/api/v1/dns/zone/example.com/record" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "www",
  "type": "A",
  "ttl": 3600,
  "rdata": "192.168.1.10",
  "aging": false,
  "openAcl": false
  }'

Параметры запроса

Параметр Тип Обязательный Описание и значения

zoneName

string

✅

Имя зоны (FQDN)

partition

string

–

Партиция, в которой находится зона: domain, forest, legacy, custom

partitionName

string

–

Имя пользовательской партиции (обязательно при partition=custom)

Поля тела запроса

Поле Тип Обязательное Описание и значения

name

string

✅

Имя узла (без домена). Например: www, @ (для корня), mail

type

string

✅

Тип записи: A, AAAA, CNAME, MX, NS, PTR, SRV, TXT

ttl

uint32

–

Время жизни записи в секундах (по умолчанию: 3600)

rdata

string

✅

Значение записи в формате, соответствующем типу (см. таблицу ниже)

aging

bool

–

Включить старение записи (требует включенного aging в зоне)

openAcl

bool

–

Разрешить запись без ACL (только для TXT, SRV, NS)

Примеры значений поля "rdata" по типам записей

Тип Пример rdata

A

"192.168.1.10"

AAAA

"2001:db8::1"

CNAME

"target.example.com."

MX

"10 mail.example.com."

NS

"ns1.example.com."

PTR

"host.example.com."

SRV

"10 20 443 sip.example.com."

TXT

"v=spf1 -all"

SOA

"ns1. admin. 1 900 600 86400 3600"

DHCID

⚠️ Не поддерживается (см. «Особенности работы с DHCID-записями (тип 49, RFC 4701)»)

Примеры запросов

Создание A-записи:

curl -k --negotiate -u : -X POST \
  "https://api-host.example.com:9443/api/v1/dns/zone/example.com/record" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "www",
    "type": "A",
    "rdata": "10.10.1.10",
    "ttl": 3600
  }'

Создание MX-записи:

curl -k --negotiate -u : -X POST \
  "https://api-host.example.com:9443/api/v1/dns/zone/example.com/record" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "@",
    "type": "MX",
    "rdata": "10 mail.example.com.",
    "ttl": 7200
  }'

Ответ "201 Created"

{
  "name": "www",
  "nameUnicode": "www",
  "type": "A",
  "ttl": 3600,
  "rdata": "192.168.1.10",
  "aging": false,
  "openAcl": false
}

Ошибки

cols="1,4",options=header,width=100%]

Код

Причина

400

Некорректный тип записи, неверный формат rdata, попытка создать SOA, ttl вне диапазона или поле name пустое

401

Отсутствует или невалиден билет Kerberos (SPNEGO)

404

Зона не найдена в указанной партиции

409

Запись уже существует в узле

500

Внутренняя ошибка сервера при создании записи

Обновлено: