与 Deployment Manager 集成

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 使用创建、读取、更新和删除 (CRUD) 方法公开一个类似于 REST 的接口。
  • 所有路径和查询参数都成功解析。API 的所有路径和查询参数必须作为资源正文的一部分存在,或者存在于 API 的所有方法中,以便 Deployment Manager 可以在用户提供参数时进行匹配。
  • API 描述符文档端点必须可以访问。Deployment Manager 发出 HTTP 请求以获取 API 的描述符文档,因此文档必须托管在 Deployment Manager 可访问的某个位置。该文档必须可以公开访问或受基本身份验证保护。
  • 与上一点相关,API 具备基本身份验证,或者如果 API 在 Google Kubernetes Engine 或 Google Cloud Endpoints 上运行,则 API 使用项目服务账号中的访问令牌支持 OAuth 2.0 身份验证。详细阅读身份验证
  • 如果 API 很复杂,您可能需要配置其他选项以向 Deployment Manager 说明如何处理不太常见的 API 行为。

如需了解详情,请阅读 API 要求文档。

将 API 添加到 Deployment Manager

确定 API 符合上述要求后,请将 API 添加为类型提供程序资源。您必须提供 API 描述符文档,还可以选择性地通过高级选项提供任何其他 API 选项。添加 API 作为类型提供程序会将该 API 的所有资源公开给 Deployment Manager,并允许用户使用 Deployment Manager 创建、更新或删除这些资源。

如果您的 API 具有不易识别的细微 API 模式,您还需要向 Deployment Manager 提供输入映射,以便它正确处理 API 请求。如需了解相关信息,请阅读高级 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
    ...

后续步骤