Deployment Manager 可接受第三方 API 註冊 Deployment Manager 服務。透過 Deployment Manager 將 API 註冊為類型提供者後,您就能使用 Deployment Manager 將 API 資源做為設定中的類型進行部署。
這份單頁指南說明第三方 API 與 Deployment Manager 的整合程序。此頁面不包含程序中每個步驟的完整說明,但提供整體總覽和額外連結供您進一步瞭解詳情。您可以藉由本頁說明從高階觀點瞭解 API 的新增程序;如需逐步的操作說明,請參閱其他詳細的說明文件。
判斷 API 是否符合資格與 Deployment Manager 進行整合
Deployment Manager 對任何嘗試整合的 API 都有一定的期望條件。具體情況如下:
- Deployment Manager 會預期 RESTful API。也就是說,API 具有類似 REST 的介面,以及建立、讀取、更新和刪除 (CRUD) 方法。
- 所有路徑和查詢參數都能成功解析。API 的所有路徑和查詢參數必須做為資源主體的一部分存在,或者存在於 API 的所有方法中,以便 Deployment Manager 可以在使用者提供參數時進行比對。
- API 的描述元文件端點必須可供存取。Deployment Manager 是透過提交 HTTP 要求來取得 API 描述元文件,因此該份文件必須託管於 Deployment Manager 可以存取的位置。此外,文件也必須可公開提供使用,或是受到基本驗證功能的保護。
- 與上一項相關的條件在於,API 必須具備基本驗證功能,或者,如果 API 是在 Google Kubernetes Engine 或 Google Cloud 端點上執行,則 API 需要使用專案服務帳戶的存取憑證,以便支援 OAuth 2.0 驗證。如需詳情,請參閱驗證。
- 如果您的 API 較為複雜,則可能需要設定其他選項,以便向 Deployment Manager 說明如何處理較不明顯的 API 行為。
如需更多資訊,請參閱 API 需求條件說明文件。
將 API 新增至 Deployment Manager
確定您的 API 符合上述要求後,請將 API 新增為類型提供者資源。您必須提供 API 描述元文件,並選擇性地提供使用進階選項的其他 API 選項。將 API 新增為類型提供者可以向 Deployment Manager 公開 API 的所有資源,並允許使用者透過 Deployment Manager 建立、更新或刪除這些資源。
如果 API 具有可能不易識別的細微 API 模式,則您還需要向 Deployment Manager 提供輸入對應,以正確處理 API 要求。如需詳情,請參閱進階 API 選項一文。
在設定檔案中呼叫類型提供者
向 Deployment Manager 註冊 API 後,您就可以將 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
...