Compute API 버전

Jmnote (토론 | 기여)님의 2024년 7월 1일 (월) 21:31 판

1 개요

Versions
버전

https://docs.openstack.org/api-guide/compute/versions.html


OpenStack Compute API는 URI와 MIME 타입 버전 스킴을 모두 사용합니다. URI 스킴에서는 경로의 첫 번째 요소가 대상 버전 식별자를 포함합니다 (예: https://servers.api.openstack.org/v2.1/…). MIME 타입 버전 스킴에서는 HTTP 콘텐츠 협상을 사용하여 Accept 또는 Content-Type 헤더에 버전을 식별하는 MIME 타입이 포함됩니다 (application/vnd.openstack.compute.v2.1+json). 버전 MIME 타입은 항상 application/json과 같은 기본 MIME 타입에 링크됩니다. HTTP 헤더와 URI 모두에서 충돌하는 버전이 지정된 경우, URI가 우선합니다.

예시: MIME 타입 버전으로 요청
GET /214412/images HTTP/1.1
Host: servers.api.openstack.org
Accept: application/vnd.openstack.compute.v2.1+json
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
예시: URI 버전으로 요청
GET /v2.1/214412/images HTTP/1.1
Host: servers.api.openstack.org
Accept: application/json
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb

2 영구 링크

MIME 타입 버전 접근방식은 버전 스킴이 URI 경로에 명시되지 않기 때문에, 영구 링크 생성을 허용합니다: https://api.servers.openstack.org/224532/servers/123

URI나 HTTP 헤더에 버전을 명시하지 않고 요청을 하는 경우, 사용가능한 버전의 링크와 MIME 타입을 제공하는 다중 선택 응답(300)을 받게 됩니다.

예시: 다중 선택: JSON 응답
{
  "choices": [
      {
          "id": "v2.0",
          "links": [
              {
                  "href": "http://servers.api.openstack.org/v2/7f5b2214547e4e71970e329ccf0b257c/servers/detail",
                  "rel": "self"
              }
          ],
          "media-types": [
              {
                  "base": "application/json",
                  "type": "application/vnd.openstack.compute+json;version=2"
              }
          ],
          "status": "SUPPORTED"
      },
      {
          "id": "v2.1",
          "links": [
              {
                  "href": "http://servers.api.openstack.org/v2.1/7f5b2214547e4e71970e329ccf0b257c/servers/detail",
                  "rel": "self"
              }
          ],
          "media-types": [
              {
                  "base": "application/json",
                  "type": "application/vnd.openstack.compute+json;version=2.1"
              }
          ],
          "status": "CURRENT"
      }
  ]
}

CURRENT(현재) 상태의 API는 최신 API이며, Nova 프로젝트에 의해 지속적으로 개선되고 있습니다. SUPPORTED(지원) 상태의 API는 새 기능이 추가되지 않는 구 버전 API입니다. DEPRECATED(지원중단) 상태의 API는 가까운 미래에 제거될 예정인 API입니다. 제공자들은 개발자 및 파트너와 협력하여 지원중단된 버전이 제거되기 전에 새 버전으로 마이그레이션할 충분한 시간이 있도록 해야 합니다. 아직 릴리스되지 않은 개발 중인 API의 상태는 EXPERIMENTAL(실험적)입니다.

애플리케이션은 인증 시스템에서 반환된 루트 URL(버전 및 그 뒤의 모든 것이 생략된 상태)에서 GET 요청을 수행하여 사용가능한 API 버전을 프로그래밍 방식으로 확인할 수 있습니다.

또한, 기본 버전 URL(예: https://servers.api.openstack.org/v2.1/)에서 GET 요청을 수행하여 특정 버전에 대한 추가 정보를 얻을 수 있습니다. 버전 요청 URL은 항상 슬래시(/)로 끝나야 합니다. 슬래시를 생략하면 서버가 302 리디렉션 요청으로 응답할 수 있습니다.

버전 목록과 버전 세부정보 요청과 응답 예시는 API 버전을 참조하십시오.

상세 버전 응답에는 API 서비스의 인간이 읽을 수 있는(human-readable)과 기계가 처리할 수 있는(machine-processable) 설명 모두에 대한 포인터가 포함되어 있습니다.

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}