POST
리소스 생성
CREATE로 시작하는 API에서 사용되는 메서드
PUT
리소스 전체 갱신(교체)
이미 생성된 리소스 변경 시 사용되며, UPDATE로 시작하는 API에서 사용되는 메서드이다.
DELETE
리소스 삭제
생성된 리소스를 터미네이션(종료)할 때 사용하며, DELETE로 시작하는 API에서 사용되는 메서드이다.
GET
리소스 조회
LIST로 시작하는 API에서 사용하는 메서드
PATCH
리소스의 부분 업데이트(일부 업데이트)
※ Xplenty에서는 사용되지 않는다.
Xplenty에서는 위의 메소드와 리소스를 조합하여 데이터 전송을 명령어 라인 또는 통합 운영 관리 소프트웨어에서 기존 운영 환경에 쉽게 통합할 수 있다.
Rest API를 통한 운영 예시
여기서는 Xplenty의 Rest API를 활용한 작업 실행 작업을 설명한다. 보통은 Xplenty의 UI에서 수행하는 작업이지만, Rest API를 통해서도 동일한 작업이 가능합니다.
전제 조건으로 작업에 사용되는 패키지가 UI에서 이미 생성되어 있다고 가정한다.
작업
참조 문서
- 클러스터 생성 Create Cluster
- 클러스터 초기화 확인 List Clusters
- 작업 실행 Run Job
- 작업 초기화 및 완료 확인 List Jobs
- 클러스터 종료 Terminate Cluster
- 클러스터 종료 확인 List Clusters
1. 클러스터 생성
패키지를 실행하기 위해서는 그 실행 환경인 클러스터가 필요하다. 첫 단계에서는 클러스터가 없다고 가정하고 클러스터를 생성한다.- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
-H “Content-Type: application/json”
-d ’{ “nodes”:4, “type”:“production”, “name”:“New Cluster”, “description”:“New Cluster Description” }’
- 응답 예시
2. 클러스터 초기화 확인
클러스터 생성 및 초기화를 확인한다. 클러스터의 상태(status)가 available이 될 때까지 기다려야 하므로 이 API를 반복적으로 실행한다.- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
- 응답 예시
3. 작업 실행
실행하고자 하는 패키지의 package_id와 클러스터 생성 시 획득한 cluster_id를 이용하여 작업을 실행한다.- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
-H “Content-Type: application/json”
-d ’{ “cluster_id”:167, “package_id”:103, “dynamic_variables”:{ “current_time”:“CurrentTime()”, “MY_CURRENT_TIME”:“$CURRENT_TIME_VAR”, “MY_STRING_VAR”:“‘some string’” }, “variables”: { “MY_STATIC_VAR”:“some static variable” } }’
- 응답 예시
4. 작업 초기화 및 완료 확인
실행한 작업의id를 이용하여 해당 작업의 상태(status) 전환을 모니터링하여 completed 또는 failed가 될 때까지 이 API를 반복적으로 실행한다.
작업의 상태에 대해서는 잡 문서의 status 속성을 참고한다.
- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
- 응답 예시
5. 다음 작업들을 반복적으로 실행
cluster_id와 package_id를 적절히 바꾸면서 3-4단계를 반복한다.6. 클러스터 종료
실행할 작업이 없어지면 지정된 클러스터를 종료한다.- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
- 응답 예시
7. 클러스터 종료 확인
해당 클러스터의 상태(status)가 terminated가 될 때까지 반복적으로 실행한다.- 호출 예(curl call)
-H “Accept: application/vnd.xplenty+json; version=2”
- 응답 예시