이 가이드는 API 명세를 기반으로 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud API 표준 규격을 적용한 API입니다.
레코드 한 건을 전체 교체합니다. 요청에서 생략된 비필수 필드(aliasNo, loadBalancerNo, loadBalancerRegionCode 등)는 기존 값이 유지되지 않고 null 로 초기화되므로, 클라이언트는 원하는 전체 표현을 그대로 전송해야 합니다. 대상 식별자는 path 의 recordNo 이며 본문에는 포함하지 않습니다. 수정된 내용은 적용 대기 상태이며 POST /domains/{domainNo}/records/apply 를 호출해야 네임서버에 반영됩니다. 전체 교체이므로 동시 수정 시 나중 요청이 앞선 변경을 덮어쓸 수 있습니다. 조회에서 받은 ETag 를 If-Match 로 함께 보내면 그 사이 변경된 경우 412 PreconditionFailed 로 거부됩니다. defaultRecord 가 true 인 시스템 관리 레코드는 수정할 수 없습니다. apex SOA·DS 레코드는 모든 필드를 수정할 수 없고, apex NS 레코드는 ttl 만 수정할 수 있어 그 밖의 필드를 바꾸려 하면 400 InvalidOperation 으로 거부됩니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| PUT | /domains/{domainNo}/records/{recordNo} |
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
If-Match |
Optional | 직전 조회에서 받은 ETag
|
Global DNS API에서 공통으로 사용하는 헤더에 대한 정보는 Global DNS 요청 헤더를 참조해 주십시오.
요청 경로 파라미터
요청 경로 파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainNo |
Integer (int64) | Required | 도메인 번호
|
recordNo |
Integer (int64) | Required | 레코드 번호
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
host |
String | Optional | 레코드 호스트 (도메인 기준 상대 이름)
|
type |
String | Required | 레코드 타입
|
content |
String | Required | 레코드 값 (형식은 type 에 따라 다름)
|
ttl |
Integer (int64) | Required | TTL (초)
|
aliasNo |
Integer (int64) | null | Optional | 연결할 별칭 번호
|
loadBalancerNo |
Integer (int64) | null | Optional | 연결할 로드밸런서 번호
|
loadBalancerRegionCode |
LoadBalancerRegionCode | Null | Optional | 연결할 로드밸런서의 리전 코드
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request PUT 'https://globaldns.apigw.gov-ntruss.com/dns/v2/domains/120/records/5001' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"type": "A",
"content": "10.0.0.1",
"ttl": 300
}'
응답
응답 형식을 설명합니다.
응답 헤더
응답 헤더에 대한 설명은 다음과 같습니다.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
ETag |
Optional | 자원의 현재 버전 식별자
|
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainNo |
Integer (int64) | - | 레코드가 속한 도메인의 번호
|
domainName |
String | - | 도메인 이름
|
recordNo |
Integer (int64) | - | 레코드 번호
|
host |
String | - | 레코드 호스트 (도메인 기준 상대 이름)
|
name |
String | - | 레코드 이름 (FQDN)
|
type |
String | - | 레코드 타입
|
content |
String | - | 레코드 값(content)
|
ttl |
Integer (int64) | - | TTL (초)
|
aliasNo |
Integer (int64) | null | - | 별칭 번호 (별칭 레코드가 아니면 null)
|
pendingDeletion |
Boolean | - | 레코드 삭제 대기 여부
|
createdTimestamp |
Integer (int64) | - | 생성 시각 (Unix epoch 밀리초)
|
updatedTimestamp |
Integer (int64) | - | 수정 시각 (Unix epoch 밀리초)
|
applied |
Boolean | - | 네임서버 적용 여부
|
defaultRecord |
Boolean | - | 기본 레코드 여부
|
loadBalancerNo |
Integer (int64) | null | - | 로드밸런서 번호 (로드밸런서 레코드가 아니면 null)
|
loadBalancerRegionCode |
LoadBalancerRegionCode | Null | - | 로드밸런서 리전 코드 (로드밸런서 레코드가 아니면 null)
|
응답 상태 코드
Global DNS API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Global DNS 응답 상태 코드를 참조해 주십시오.
이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 200 | - | - | OK |
| 400 | InvalidOperation | The specified operation is invalid. | defaultRecord 가 true 인 시스템 관리 레코드를 수정하려 한 경우(apex SOA·DS 는 수정 불가, apex NS 는 ttl 외 수정 불가). 일괄 수정에서는 해당 항목의 요청 인덱스가 failures 에 지목됨. 수정 가능한 필드만 변경하거나 해당 항목을 제외하고 다시 요청 |
| 404 | ResourceNotFound | The specified resource could not be found. | 요청한 레코드 번호나 작업 ID가 존재하지 않는 경우(완료 후 30일 보관 기간이 지나 삭제된 작업 포함). 일괄 수정·삭제에서는 실패 원인이 미존재뿐일 때 반환하며 해당 항목의 요청 인덱스가 failures 에 지목됨. 목록을 조회해 번호·ID를 확인한 뒤 다시 요청 |
| 412 | PreconditionFailed | The precondition in one or more of the request fields evaluated to false | If-Match 로 보낸 ETag 가 현재 자원과 달라 교체를 거부한 경우. 자원을 다시 조회해 새 ETag 로 재시도 |
응답 예시
응답 예시는 다음과 같습니다.
{
"domainNo": 120,
"domainName": "example.com",
"recordNo": 5001,
"host": "www",
"name": "www.example.com",
"type": "A",
"content": "10.0.0.1",
"ttl": 300,
"aliasNo": 700,
"pendingDeletion": false,
"createdTimestamp": 1568111263000,
"updatedTimestamp": 1568111263000,
"applied": true,
"defaultRecord": false,
"loadBalancerNo": 900,
"loadBalancerRegionCode": "KR"
}