PUT /api/v1/dns/zone/{zoneName}/record — изменить DNS-запись
Изменяет существующую DNS-запись по совокупности параметров: имя узла, тип записи и текущее значение.
Операция идемпотентна: если новое значение совпадает с текущим, изменения не применяются, возвращается статус 200 OK без записи в LDAP.
Запрос
curl -k --negotiate -u : -X PUT \
"https://<server>:<port>/api/v1/dns/zone/example.com/record" \
-H "Content-Type: application/json" \
-d '{
"name": "www",
"type": "A",
"rdata": "192.168.1.10",
"newRdata": "192.168.1.20",
"ttl": 7200
}'
Параметры запроса
| Параметр | Тип | Обязательный | Описание и значения |
|---|---|---|---|
|
string |
✅ |
Имя зоны (FQDN) |
|
string |
– |
Партиция, в которой находится зона: |
|
string |
– |
Имя пользовательской партиции (обязательно при |
Поля тела запроса
| Поле | Тип | Обязательное | Описание и значения |
|---|---|---|---|
|
string |
✅ |
Имя узла (без домена). Например: |
|
string |
✅ |
Тип записи: |
|
string |
✅ |
Текущее значение записи (для идентификации) |
|
string |
✅ |
Новое значение записи в формате, соответствующем типу |
|
uint32 |
– |
Новое время жизни записи в секундах (если не указано, сохраняется текущее) |
Примеры запросов
Обновление A-записи:
curl -k --negotiate -u : -X PUT \
"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",
"newRdata": "10.10.1.20",
"ttl": 7200
}'
Обновление MX-записи с сохранением TTL:
curl -k --negotiate -u : -X PUT \
"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.",
"newRdata": "5 mail2.example.com."
}'
Ответ "200 OK"
{
"name": "www",
"nameUnicode": "www",
"type": "A",
"ttl": 7200,
"rdata": "192.168.1.20"
}
SOA-специфика
При обновлении SOA-записи:
-
newRdataдолжен содержать увеличенный serial (в противном случае —400); -
если
newRdataидентичен текущему, возвращается200 OKбез записи в LDAP.
Ошибки
| Код | Причина |
|---|---|
|
SOA serial не увеличен; неверный формат |
|
Отсутствует или невалиден билет Kerberos |
|
Запись не найдена в зоне |
|
Зона существует в нескольких партициях — требуется явное указание |
|
Внутренняя ошибка сервера при обновлении записи |
Обновлено: