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.
Creating custom type providers with custom backends
Stay organized with collections
Save and categorize content based on your preferences.
This page describes creating custom types for Google Cloud Deployment Manager that are backed
by custom backends.
The Actions feature is an alpha
feature that expands the range of API methods that Deployment Manager can
call. Because this feature is unsupported, we recommend that you
migrate your existing usage
of Actions to supported alternatives. Some Actions, such as
storage.buckets.setIamPolicy, correspond to existing Deployment Manager
resource types, which you
can use to replace them.
If your deployment requires the use of Actions that can't be replaced by
existing
supported Deployment Manager resource types,
follow this guide to create a custom type with a custom backend to replace your
usage of these Actions.
One way to reduce the development effort of creating a custom backend is to use
Cloud Run functions. If you already use other serverless solutions
as a part of your development process, it might be more efficient to use those
instead. For an overview of using Cloud Run functions as the backend for a custom
type provider, visit the
Custom Type Provider
example implementation.
[[["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 details the process of creating custom types in Google Cloud Deployment Manager, backed by custom backends, to replace unsupported Actions.\u003c/p\u003e\n"],["\u003cp\u003eCustom backends can be implemented by building a RESTful service or leveraging serverless solutions like Cloud Run functions, Cloud Run, or App Engine.\u003c/p\u003e\n"],["\u003cp\u003eTo integrate a third-party API, you must first create a custom type provider.\u003c/p\u003e\n"],["\u003cp\u003eThe actions feature is now unsupported, which means that existing Actions need to be replaced with supported alternatives or by creating a custom type with a custom backend.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing Cloud Run functions can streamline the development of a custom backend for a custom type provider.\u003c/p\u003e\n"]]],[],null,["# Creating custom type providers with custom backends\n\nThis page describes creating custom types for Google Cloud Deployment Manager that are backed\nby custom backends.\n\nThe [Actions feature](/deployment-manager/docs/migrations/actions) is an alpha\nfeature that expands the range of API methods that Deployment Manager can\ncall. Because this feature is unsupported, we recommend that you\n[migrate your existing usage](/deployment-manager/docs/migrations/actions#migrating)\nof Actions to supported alternatives. Some Actions, such as\n`storage.buckets.setIamPolicy`, correspond to existing Deployment Manager\nresource types, which you\n[can use to replace them](/deployment-manager/docs/migrations/storage-buckets-setiampolicy).\nIf your deployment requires the use of Actions that can't be replaced by\nexisting\n[supported Deployment Manager resource types](/deployment-manager/docs/configuration/supported-resource-types),\nfollow this guide to create a custom type with a custom backend to replace your\nusage of these Actions.\n\nCreating your custom type provider\n==================================\n\nFor a high-level overview of integrating a third-party API with\nDeployment Manager, visit\n[Integrating with Deployment Manager](/deployment-manager/docs/configuration/type-providers/process-adding-api).\n\nFor instructions on adding an API as a type provider, visit\n[Adding an API as a type provider](/deployment-manager/docs/configuration/type-providers/creating-type-provider).\n\nFor advanced configuration options, such as input mappings, visit\n[Setting advanced API options](/deployment-manager/docs/configuration/type-providers/advanced-configuration-options).\n\nFor the requirements to add an API to Deployment Manager, visit\n[API requirements for integrating an API](/deployment-manager/docs/configuration/type-providers/api-requirements).\n\nCreating your custom backend\n============================\n\nYou must create a custom backend to expose the API to your custom type provider.\nTo create a custom backend, you can use one of the following methods:\n\n- Building and hosting a RESTful service on a platform of your choice. Refer\n to the\n [requirements for integrating an API](/deployment-manager/docs/configuration/type-providers/api-requirements).\n\n- Using one of the following serverless solutions to implement your custom\n backend:\n\n - [Cloud Run functions](/functions)\n\n - [Cloud Run](/run)\n\n - [App Engine](/appengine), in\n [standard or flexible mode](/appengine/docs/the-appengine-environments)\n\nOne way to reduce the development effort of creating a custom backend is to use\n[Cloud Run functions](/functions). If you already use other serverless solutions\nas a part of your development process, it might be more efficient to use those\ninstead. For an overview of using Cloud Run functions as the backend for a custom\ntype provider, visit the\n[Custom Type Provider](https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/fa69cee7cf6cb09e9fc1d6c353c7d438d85ea554/google/resource-snippets/functions-backed-type/readme.md#high-level-approach)\nexample implementation."]]