VMware는 vSphere 6.0 릴리즈와 함께 REST API를 발표했다. 이후 vSphere에 새로운 REST API를 도입하여 API 적용범위를 확대했다. 6.0에서 6.7까지의 모든 REST API는 /rest로 제공되며, 이전 REST API로 지칭된다. vSphere 7부터는 /api에서 REST API가 제공되며 새로운 REST API라고 합니다.

VMware는 vSphere 7 업데이트 2를 출시하면서 기존 REST API의 사용 중단을 발표했다. 이제 새 REST/api로 교체됩니다.

영향

즉각적인 영향은 없다. 그러나 고객과 파트너가 오래된 REST API를 새로운 REST API로 교체하기를 권장한다. 다음은 이러한 변경의 범위를 이해하는 데 도움이 되는 몇 가지 세부 정보다.

  • 기존 REST API 교체
    기존의 REST API를 모두 개편하여 새로운 REST API로 대체하였다. 새로운 REST API는 /rest가 아닌 /api로 제공된다. 이전 REST API는 여전히 새로운 REST API와 함께 사용할 수 있으며, 예상대로 계속 작동한다.
  • 즉각적인 영향 없음
    이전 REST API는 계속 작동하므로 이러한 변경으로 인한 즉각적인 영향은 없다. 오래된 REST API나 지원을 제거하지 않는다. 2개의 주요 vSphere 릴리스 후에만 이 제품을 제거할 계획이며, 고객의 피드백도 따른다.
  • vSphere Automation SDK 및 CLI에 미치는 영향 없음
    vSphere Automation SDK 및 CLI는 영향을 받지 않는다.

사용되지 않는 API

vSphere 7.0 업데이트 2부터는 vCenter UI를 통해 사용되지 않는 API 목록을 얻을 수 있다. 개발자 센터에 가서 각 API에 대해 사용되지 않는 레이블을 확인할 수 있다. 새 API 레이블과 사용되지 않는 API 레이블 사이를 전환하여 각 API 정보를 가져올 수 있다.

또는 https://developer.vmware.com/docs/vsphere-automation/latest/을 방문하여 사용되지 않는 API 및 해당 대체 기능을 확인하기 바란다.

새로운 API 보유의 이점

새로운 REST API는 REST API의 사용적합성 측면을 개선한다. 방법을 살펴봅시다.

단순 JSON 표현

새로운 REST API는 지도를 단순한 JSON 객체로 렌더링한다. 새로운 REST API의 응답은 RFC 8259에 도움이 되며 이전 API에 필요한 값 래퍼 없이 의미론적으로 중요한 JSON 페이로드만 제공한다.

이는 문자열 리터럴 식별자(예: “vm-42”)를 반환하는 리소스 생성 API에서 특히 중요하다. 현재 사용되지 않는 버전은 RFC 7159에 따라 JSON 개체를 반환해야 했다(예: ‘{“value’: “vm-42”}).

예를 들어, 이전 버전과 비교하여 새로운 REST API에서 수신한 응답은 다음과 같다.

Spec Wrapper 없음

새로운 REST API는 불필요한 수준의 간접 없이 깨끗한 JSON 요청 본문 구문을 제공합니다. 구체적으로는, 기존의 많은 REST API에서 볼 수 있는 여분의 “spec” 객체가 제거되었다.

일관성 있는 오류 표현

REST API를 사용하는 동안 코어 인프라 또는 API 실행 엔진에서 오류가 발생할 수 있다. 과거에는 응답 스키마가 오류 원인에 따라 달라지기 때문에 오류 응답을 처리하기 어려웠다.

새 REST API를 사용하면 오류 소스에 관계없이 단일 오류 스키마를 얻을 수 있습니다.

URL 개선 사항

새로운 REST API를 사용하면 쿼리 매개변수는 단순한 비계층적 이름이며 어레이 매개변수에 대한 인덱스를 제공할 필요가 없다.

New REST API URL

GET /api/vcenter/namespace-management/stats/time-series
&clusters=obj-103
&clusters=obj-104
&pod_name=string
&namespace=obj-103
&obj_type=CLUSTER

Old REST API URL

GET /rest/vcenter/namespace-management/stats/time-series
&spec.clusters.1=obj-103
&spec.clusters.2=obj-104
&spec.pod.pod_name=string
&spec.pod.namespace=obj-103
&spec.obj_type=CLUSTER

맺음말

새로운 REST API는 스키마가 단순화되고 프레젠테이션 레이어가 개선되어 개발자 경험을 향상시킨다. 자동화 워크플로우를 검토하고 기존 REST API를 사용자 속도에 맞게 새것으로 교체하는 것이 좋다. 이 변경 사항으로 인해 이전 REST API가 여전히 사용 가능하고 최소 2개의 주요 vSphere 릴리스에 지원되므로 즉각적인 영향은 없다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like

vSphere CPU 스케줄러 선택

vSphere 6.7 Update 2의 릴리스에는 새로운 vSphere CPU 스케줄러 옵션인 Side-Channel Aware Scheduler v2(SCAv2) 또는 “Sibling Scheduler”가 포함되었다.…