The resourceProviders resource type can be deployed to:
For a list of changed properties in each API version, see change log.
To create a Microsoft.CustomProviders/resourceProviders resource, add the following JSON to your template.
{
"type": "Microsoft.CustomProviders/resourceProviders",
"apiVersion": "2018-09-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"actions": [
{
"endpoint": "string",
"name": "string",
"routingType": "Proxy"
}
],
"resourceTypes": [
{
"endpoint": "string",
"name": "string",
"routingType": "string"
}
],
"validations": [
{
"specification": "string",
"validationType": "Swagger"
}
]
}
}
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.CustomProviders/resourceProviders' |
apiVersion | The resource api version | '2018-09-01-preview' |
name | The resource name | string (required) Character limit: 3-64 Valid characters: Can't use: %&\\?/ or control charactersCan't end with period or space. |
location | Resource location | string (required) |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
properties | The manifest for the custom resource provider | CustomRPManifestProperties |
Name | Description | Value |
---|---|---|
actions | A list of actions that the custom resource provider implements. | CustomRPActionRouteDefinition[] |
resourceTypes | A list of resource types that the custom resource provider implements. | CustomRPResourceTypeRouteDefinition[] |
validations | A list of validations to run on the custom resource provider's requests. | CustomRPValidations[] |
Name | Description | Value |
---|---|---|
endpoint | The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') | string (required) |
name | The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') | string (required) |
routingType | The routing types that are supported for action requests. | 'Proxy' |
Name | Description | Value |
---|---|---|
endpoint | The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') | string (required) |
name | The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') | string (required) |
routingType | The routing types that are supported for resource requests. | 'Proxy' 'Proxy,Cache' |
Name | Description | Value |
---|---|---|
specification | A link to the validation specification. The specification must be hosted on raw.githubusercontent.com. | string (required) |
validationType | The type of validation to run against a matching request. | 'Swagger' |
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Extend Existing Azure Resources with Custom Providers |
This sample will go into detail on how to extend existing Azure resources and Resource Manager templates to add in custom workloads. |
Create a function app and call it using a Custom Resource |
This template creates function app used as the workload for a custom resource provider in a template deployment. |
Create a Custom Resource for templates with Custom Providers |
This sample shows how to add custom resources to Resource Manager Templates using custom providers and logic apps. |