7.4.5. 하위 관계
하위 수집 관계를 통해 리소스와 하위 수집 간의 계층적 링크를 정의합니다. 하위 수집이 있거나 상위 리소스의 컨텍스트에서 약간의 의미가 있습니다. 예를 들어 가상 머신에는 네트워크 인터페이스가 포함되어 있습니다. 즉, API가 가상 머신 리소스와 네트워크 인터페이스 하위 수집 간의 관계를 매핑합니다.
하위 수집은 다음과 같은 관계 유형을 모델링하는 데 사용됩니다.
- 하나의 상위 리소스에 여러 하위 리소스가 포함될 수 있으며 그 반대의 경우도 마찬가지입니다. 예를 들어 가상 머신에는 여러 개의 디스크가 포함될 수 있으며 일부 디스크는 여러 가상 머신에서 공유됩니다.
- 매핑된 리소스는 상위 리소스에 따라 달라 집니다. 상위 리소스가 없으면 종속 리소스가 존재할 수 없습니다. 예를 들어 가상 머신과 스냅샷 간의 링크입니다.
- 매핑된 리소스가 상위 리소스와 독립적으로 존재하지만 데이터는 여전히 관계에 연결되어 있습니다. 예를 들어 클러스터와 네트워크 간의 링크입니다.
API는
링크 rel=
특성을 사용하여 리소스와 하위 수집 간의 관계를 정의합니다.
GET /ovirt-engine/api/collection/resource_id HTTP/1.1 Accept: application/xml HTTP/1.1 200 OK Content-Type: application/xml <resource id="resource_id" href="/ovirt-engine/api/collection/resource_id"> ... <link rel="subcollection" href="/ovirt-engine/api/collection/resource_id/subcollection"/> ... </resource>
API 사용자가 하위 수집을 쿼리합니다.
GET /ovirt-engine/api/collection/resource_id/subcollection HTTP/1.1 Accept: application/xml HTTP/1.1 200 OK Content-Type: application/xml <subcollection> <subresource id="subresource_id" href="/ovirt-engine/api/collection/resource_id/subcollection/subresource_id"> ... </subresource> ... </subcollection>