노드 페어 생성

새로운 노드 페어을 등록합니다.

필요 권한

마스터 이상의 계정으로 이용할 수 있습니다.

HTTP 요청

POST /api/sonar/node-pairs
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d type="control" \
     -d name="primary-control" \
     -d nid="control-a" \
     -d host="192.0.2.10" \
     -d port=8443 \
     -d user="admin" \
     -d password="changeme" \
     -d secure=true \
     -d check_cert=true \
     -X POST \
     https://HOSTNAME/api/sonar/node-pairs
요청 매개변수
필수타입설명비고
guidX문자열노드 페어 GUID미지정 시 자동 생성, 36자
typeO문자열노드 유형control 또는 data
nameO문자열노드 페어 이름
descriptionX문자열노드 페어 설명
vip_hostX문자열대표 주소 (VIP)
vip_portX32비트 정수대표 웹 포트 (VIP)
nidO문자열노드 A 식별자
hostO문자열노드 A 호스트 주소
portO32비트 정수노드 A 웹 포트
userO문자열노드 A 접속 계정
passwordO문자열노드 A 접속 암호
secureX불리언노드 A HTTPS 사용 여부기본값: false
check_certX불리언노드 A 서버 인증서 검증 여부기본값: true
connect_timeoutX32비트 정수노드 A 접속 타임아웃단위 밀리초, 기본값: 10000
read_timeoutX32비트 정수노드 A 읽기 타임아웃단위 밀리초, 기본값: 10000
nid2X문자열노드 B 식별자대기 노드를 등록할 때 지정
host2X문자열노드 B 호스트 주소nid2 지정 시 필수
port2O32비트 정수노드 B 웹 포트nid2 지정 시 필수
user2X문자열노드 B 접속 계정nid2 지정 시 필수
password2X문자열노드 B 접속 암호nid2 지정 시 필수
secure2X불리언노드 B HTTPS 사용 여부노드 A와 동일하게 적용
check_cert2X불리언노드 B 서버 인증서 검증 여부노드 A와 동일하게 적용
connect_timeout2X32비트 정수노드 B 접속 타임아웃노드 A와 동일하게 적용
read_timeout2X32비트 정수노드 B 읽기 타임아웃노드 A와 동일하게 적용

정상 응답

{
  "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
  • guid (문자열): 생성된 노드 페어의 GUID (36자)

오류 응답

필수 매개변수가 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "name should be not null"
}
노드 유형이 잘못된 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "No enum constant com.logpresso.sonar.api.node.NodeType.invalid"
}
동일한 이름의 노드 페어이 이미 존재하는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "duplicated node pair name: primary-control"
}
동일한 식별자의 노드가 이미 존재하는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "duplicated node name: control-a"
}
권한이 없는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}