Cloud Deployment Manager will reach end of support on December 31, 2025. If you currently use Deployment Manager, please migrate to Infrastructure Manager or an alternative deployment technology by December 31, 2025 to ensure your services continue without interruption.
Stay organized with collections
Save and categorize content based on your preferences.
Deployment Manager offers the ability to register a third-party API with the
Deployment Manager service. After registering an API as a
type provider
with Deployment Manager, you can use Deployment Manager to deploy resources from
the API as types in your configuration.
This document is a one-page guide that describes the process of integrating a
third-party API with Deployment Manager. This page does not contain
comprehensive instructions for each step of the process but provides an
overview and additional links for more information. Use this page to
gain a high-level view of the process for adding an API but refer to the
detailed documentation for step-by-step instructions.
Determining if an API is eligible for integrating with Deployment Manager
Deployment Manager has certain expectations of any API that attempts to
integrate with it. Specifically:
Deployment Manager expects a RESTful API. That is, the API exposes a
REST-like interface with Create, Read, Update, and Delete (CRUD) methods.
All path and query parameters resolve successfully. All path and query
parameters of the API must exist as part of the resource body or exist on all
methods of the API, so that Deployment Manager can match the parameter when
a user supplies it.
The API's descriptor document endpoint must be accessible. Deployment Manager
makes an HTTP request to get an API's descriptor document so the document
must be hosted somewhere accessible by Deployment Manager. The document
must be publicly available or protected by basic authentication.
Related to the previous point, the API has either basic authentication, or,
if the API is running on Google Kubernetes Engine or Google Cloud Endpoints,
the API supports OAuth 2.0 authentication using an access token from the
project's service account. Read more about authentication.
If your API is complex, you might need to configure additional options to
explain to Deployment Manager how to handle less obvious API behavior.
After determining that your API matches the requirements above,
add the API as a Type Provider
resource. You must provide an API descriptor document and optionally, any
additional API options using
advanced options.
Adding an API as a type provider exposes all resources of that API to Deployment
Manager and allows users to create, update, or delete those resources with
Deployment Manager.
If your API has subtle API patterns that might not be easily recognizable, you
will need to also provide input mappings to Deployment Manager so it can
properly handle API requests. For information, read
Advanced API Options.
Calling a type provider in configuration files
Once an API is registered with Deployment Manager, you can create API resources
by calling that API resource as a type in your configuration.
For example, if you named your type provider example-directory-api and you
want to create an API resource known as person, you can specify the type
in your configurations like so:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis guide provides an overview of integrating third-party APIs with Deployment Manager, enabling users to deploy resources from those APIs as types in their configurations.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager requires that integrated APIs be RESTful, have resolvable parameters, and provide an accessible descriptor document, among other requirements.\u003c/p\u003e\n"],["\u003cp\u003eTo integrate an API, users must add it as a Type Provider, supplying a descriptor document and any necessary advanced options to handle complex API behaviors.\u003c/p\u003e\n"],["\u003cp\u003eOnce registered as a Type Provider, an API's resources can be called as types within Deployment Manager configuration files, similar to calling Google API resources.\u003c/p\u003e\n"],["\u003cp\u003eThis feature is currently in Beta, meaning it is subject to the Pre-GA Offerings Terms and has the possibility of having limited support.\u003c/p\u003e\n"]]],[],null,["# Integrating with Deployment Manager\n\n| **Beta**\n|\n|\n| This product or feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA products and features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nDeployment Manager offers the ability to register a third-party API with the\nDeployment Manager service. After registering an API as a\n[type provider](/deployment-manager/docs/configuration/type-providers/creating-type-provider)\nwith Deployment Manager, you can use Deployment Manager to deploy resources from\nthe API as types in your configuration.\n\nThis document is a one-page guide that describes the process of integrating a\nthird-party API with Deployment Manager. This page does not contain\ncomprehensive instructions for each step of the process but provides an\noverview and additional links for more information. Use this page to\ngain a high-level view of the process for adding an API but refer to the\ndetailed documentation for step-by-step instructions.\n\nDetermining if an API is eligible for integrating with Deployment Manager\n-------------------------------------------------------------------------\n\nDeployment Manager has certain expectations of any API that attempts to\nintegrate with it. Specifically:\n\n- Deployment Manager expects a RESTful API. That is, the API exposes a REST-like interface with Create, Read, Update, and Delete (CRUD) methods.\n- All path and query parameters resolve successfully. All path and query parameters of the API must exist as part of the resource body or exist on all methods of the API, so that Deployment Manager can match the parameter when a user supplies it.\n- The API's descriptor document endpoint must be accessible. Deployment Manager makes an HTTP request to get an API's descriptor document so the document must be hosted somewhere accessible by Deployment Manager. The document must be publicly available or protected by basic authentication.\n- Related to the previous point, the API has either basic authentication, or, if the API is running on Google Kubernetes Engine or Google Cloud Endpoints, the API supports OAuth 2.0 authentication using an access token from the project's service account. Read more about [authentication](/deployment-manager/docs/configuration/type-providers/creating-type-provider#authentication).\n- If your API is complex, you might need to configure additional options to explain to Deployment Manager how to handle less obvious API behavior.\n\nFor more information, read the\n[API Requirements](/deployment-manager/docs/configuration/type-providers/api-requirements)\ndocumentation.\n\nAdding your API to Deployment Manager\n-------------------------------------\n\nAfter determining that your API matches the requirements above,\n[add the API as a Type Provider](/deployment-manager/docs/configuration/type-providers/creating-type-provider)\nresource. You must provide an API descriptor document and optionally, any\nadditional API options using\n[advanced options](/deployment-manager/docs/configuration/type-providers/advanced-configuration-options).\nAdding an API as a type provider exposes all resources of that API to Deployment\nManager and allows users to create, update, or delete those resources with\nDeployment Manager.\n\nIf your API has subtle API patterns that might not be easily recognizable, you\nwill need to also provide input mappings to Deployment Manager so it can\nproperly handle API requests. For information, read\n[Advanced API Options](/deployment-manager/docs/configuration/type-providers/advanced-configuration-options).\n\nCalling a type provider in configuration files\n----------------------------------------------\n\nOnce an API is registered with Deployment Manager, you can create API resources\nby calling that API resource as a type in your configuration.\n\nFor example, if you named your type provider `example-directory-api` and you\nwant to create an API resource known as `person`, you can specify the type\nin your configurations like so: \n\n resources:\n - name: Jane\n type: my-project/example-directory-api:person\n properties:\n - name: Jane\n website: www.example.com\n ...\n\nTo compare, this is the same process as calling a Google API and\ncreating an API resource: \n\n resource:\n - name: example-instance\n type: compute.v1.instance\n properties:\n - machineType: n1-standard-1\n ...\n\nWhat's next\n-----------\n\n- Read about the [API requirements](/deployment-manager/docs/configuration/type-providers/api-requirements) for adding an API to Deployment Manager\n- Follow the instructions to [add an API](/deployment-manager/docs/configuration/type-providers/creating-type-provider).\n- Learn more about [advanced API options](/deployment-manager/docs/configuration/type-providers/advanced-configuration-options).\n- Learn more about [types](/deployment-manager/docs/fundamentals#types).\n- Read about [creating a configuration](/deployment-manager/docs/configuration).\n- [Create a deployment](/deployment-manager/docs/deployments)."]]