7.4.7. 작업
대부분의 리소스에는 표준 HTTP 메서드를 통해 얻을 수 없는 기능을 제공하는 작업 링크 목록이 포함됩니다.
<resource> ... <actions> <link rel="start" href="/ovirt-engine/api/collection/resource_id/start"/> <link rel="stop" href="/ovirt-engine/api/collection/resource_id/stop"/> ... </actions> ... </resource>
API는 제공된 URI에 대한
POST
요청으로 작업을 호출합니다. POST
의 본문에는 공통 및 작업별 매개 변수를 캡슐화하는 작업 표시가 필요합니다.
요소 | 설명 |
---|---|
async | 서버가 202 수락 됨으로 즉시 응답하고 작업 표시에 완료를 위해 폴링할 href 링크가 포함되어 있는 경우 True 입니다. |
grace_period | 유예 기간(밀리초)은 작업이 시작되기 전에 만료되어야 합니다. |
개별 작업 및 해당 매개변수는 개별 리소스 유형의 문서에 설명되어 있습니다. 일부 매개변수는 특정 동작에 대해 필수 사항이며, 해당 매개 변수는
오류
응답이 표시됩니다.
또한 작업에는
POST
요청이 본문 콘텐츠에 XML 표현이 필요하기 때문에 Content-Type: application/xml
헤더가 필요합니다.
작업이 비동기적으로 시작되면 즉각적인
202 수락
응답에서 작업 상태를 모니터링할 수 있는 링크를 제공합니다.
POST /ovirt-engine/api/collection/resource_id/action HTTP/1.1 Content-Type: application/xml Accept: application/xml <action> <async>true</async> </action> HTTP/1.1 202 Accepted Content-Type: application/xml <action id="action_id" href="/ovirt-engine/api/collection/resource_id/action/action_id"> <async>true</async> ... </action>
작업 URI의 후속
GET
은 비동기 작업의 상태를 나타냅니다.
상태 | 설명 |
---|---|
보류 | 작업이 아직 시작되지 않았습니다. |
in_progress | 작업이 작동 중입니다. |
Complete | 작업이 성공적으로 완료되었습니다. |
failed | 작업이 실패했습니다. 반환된 작업 표현에는 오류를 설명하는 결함이 포함되어 있습니다. |
작업이 완료되면 결정되지 않은 기간 동안 작업이 유지됩니다. 이 값이 만료되면 이후
GET
s는 301 Moved Permanently
다시 대상 리소스로 리디렉션됩니다.
GET /ovirt-engine/api/collection/resource_id/action/action_id HTTP/1.1 Accept: application/xml HTTP/1.1 200 OK Content-Type: application/xml <action id="action_id" href="/ovirt-engine/api/collection/resource_id/action/action_id"> <status> <state>pending</state> </status> <link rel="parent" /ovirt-engine/api/collection/resource_id"/> <link rel="replay" href="/ovirt-engine/api/collection/resource_id/action"/> </action>
작업 표현에는
rel
특성으로 식별되는 일부 링크도 포함됩니다.
유형 | 설명 |
---|---|
상위 | 이 작업의 리소스로 다시 연결됩니다. |
Replay | 원래 작업 URI로 다시 연결됩니다. 이 URI에 게시하면 작업이 다시 시작됩니다. |