Deployment Manager와 통합

Deployment Manager는 Deployment Manager 서비스에 타사 API를 등록하는 기능을 제공합니다. Deployment Manager에 API를 유형 공급자로 등록한 후에는 Deployment Manager를 사용하여 구성에서 API의 리소스를 유형으로 배포할 수 있습니다.

이 문서는 Deployment Manager에 제3자 API를 통합하는 프로세스를 설명하는 1페이지 가이드입니다. 이 페이지는 프로세스의 각 단계에 대한 자세한 설명을 포함하지 않지만, 개요와 함께 자세한 정보를 위한 추가 링크를 제공합니다. 이 페이지를 통해 API 추가 프로세스를 간략히 살펴보고, 단계별 안내는 세부 문서를 참조하세요.

API가 Deployment Manager에 통합하기에 적합한지 확인

Deployment Manager에는 통합하려는 API에 대한 일정 기준이 있습니다. 구체적으로는 다음과 같습니다.

  • Deployment Manager에는 RESTful API가 필요합니다. 즉, API가 CRUD(만들기, 읽기, 업데이트, 삭제) 메소드가 포함된 REST와 비슷한 인터페이스를 노출해야 합니다.
  • 모든 경로 및 쿼리 매개변수가 성공적으로 확인되어야 합니다. API의 모든 경로 및 쿼리 매개변수가 리소스 본문의 일부로 존재하거나 API의 모든 메서드에 존재해야 합니다. 그러면 사용자가 매개변수를 제공할 때 Deployment Manager가 이를 일치시킬 수 있습니다.
  • API 설명자 문서 엔드포인트에 액세스할 수 있어야 합니다. Deployment Manager는 API 설명자 문서를 가져오기 위해 HTTP 요청을 수행합니다. 따라서 Deployment Manager가 액세스할 수 있는 위치에서 문서를 호스팅해야 합니다. 문서는 공개적으로 제공되거나 기본 인증으로 보호되어야 합니다.
  • 위 항목과 관련해서 API에 기본 인증이 포함되어야 합니다. 또는 API가 Google Kubernetes Engine 또는 Google Cloud Endpoints에서 실행되는 경우, API가 프로젝트 서비스 계정의 액세스 토큰을 사용하여 OAuth 2.0 인증을 지원해야 합니다. 인증에 대해 자세히 알아보세요.
  • API가 복잡한 경우, 덜 분명한 API 동작을 처리하는 방법을 Deployment Manager에 설명하기 위한 추가 옵션을 구성해야 할 수 있습니다.

자세한 내용은 API 요구사항 문서를 참조하세요.

Deployment Manager에 API 추가

API가 위에 표시된 요구사항과 일치하는지 확인한 후에는 API를 유형 공급자 리소스로 추가합니다. API 설명자 문서를 제공해야 하며, 선택적으로 고급 옵션을 사용하여 모든 추가 API 옵션을 제공합니다. API를 유형 공급자로 추가하면 해당 API의 모든 리소스가 Deployment Manager에 노출되고, 사용자가 Deployment Manager를 사용하여 이러한 리소스를 생성, 업데이트 또는 삭제할 수 있습니다.

API에 쉽게 인식하기 어려운 API 패턴이 포함된 경우, API 요청을 올바르게 처리할 수 있도록 Deployment Manager에 입력 매핑을 제공해야 합니다. 자세한 내용은 고급 API 옵션을 참조하세요.

구성 파일에서 유형 공급자 호출

API가 Deployment Manager에 등록되면 구성에서 API 리소스를 유형으로 호출하여 API 리소스를 만들 수 있습니다.

예를 들어 유형 공급자 이름을 example-directory-api로 지정하고 person이라는 API 리소스를 만들려면 다음과 같이 구성에서 유형을 지정할 수 있습니다.

resources:
- name: Jane
  type: my-project/example-directory-api:person
  properties:
  - name: Jane
    website: www.example.com
    ...

비교하자면, 이는 Google API를 호출하고 API 리소스를 만드는 프로세스와 동일합니다.

resource:
- name: example-instance
  type: compute.v1.instance
  properties:
  - machineType: n1-standard-1
    ...

다음 단계