이 가이드는 API 명세를 기반으로 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud API 표준 규격을 적용한 API입니다.
레코드를 일괄 생성합니다. 한 번에 최대 500건까지 처리할 수 있으며, 초과 시 400 InvalidParameter 로 응답합니다. 요청 항목이 하나라도 실패하면 전체가 처리되지 않으며, 실패한 항목만 failures 에 요청 인덱스로 지목해 400 으로 응답합니다. 생성된 레코드는 적용 대기 상태이며 POST /domains/{domainNo}/records/apply 를 호출해야 네임서버에 반영됩니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| POST | /domains/{domainNo}/records/batch-create |
요청 헤더
Global DNS API에서 공통으로 사용하는 헤더에 대한 정보는 Global DNS 요청 헤더를 참조해 주십시오.
요청 경로 파라미터
요청 경로 파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainNo |
Integer (int64) | Required | 도메인 번호
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
records |
List<RecordSpec> | Required | 생성할 레코드 목록
|
RecordSpec
레코드 요청 본문 (생성·전체 교체 공용). 생성과 단건 수정이 같은 필드 구성을 사용하므로 한 스키마로 둡니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
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 POST 'https://globaldns.apigw.gov-ntruss.com/dns/v2/domains/120/records/batch-create' \
--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 '{
"records": [
{
"type": "A",
"content": "10.0.0.1",
"ttl": 300
}
]
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
results |
Map<RecordResponse> | - | 요청 인덱스별 생성/수정된 레코드 자원 맵
|
RecordResponse
레코드 상세
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
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 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 201 | - | - | Created |
응답 예시
응답 예시는 다음과 같습니다.
{
"results": {
"0": {
"domainNo": 120,
"domainName": "example.com",
"recordNo": 5001,
"host": "www",
"name": "www.example.com",
"type": "A",
"content": "10.0.0.1",
"ttl": 300,
"aliasNo": null,
"pendingDeletion": false,
"createdTimestamp": 1568111263000,
"updatedTimestamp": 1568111263000,
"applied": true,
"defaultRecord": false,
"loadBalancerNo": null,
"loadBalancerRegionCode": null
},
"1": {
"domainNo": 120,
"domainName": "example.com",
"recordNo": 5002,
"host": "api",
"name": "api.example.com",
"type": "A",
"content": "10.0.0.2",
"ttl": 300,
"aliasNo": null,
"pendingDeletion": false,
"createdTimestamp": 1568111263000,
"updatedTimestamp": 1568111263000,
"applied": true,
"defaultRecord": false,
"loadBalancerNo": null,
"loadBalancerRegionCode": null
}
}
}