Microsoft.CustomProviders resourceProviders
Bicep resource definition
The resourceProviders resource type can be deployed to:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.CustomProviders/resourceProviders resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.CustomProviders/resourceProviders@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'
}
]
}
}
Property values
resourceProviders
Name | Description | Value |
---|---|---|
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 |
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[] |
CustomRPActionRouteDefinition
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' |
CustomRPResourceTypeRouteDefinition
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' |
CustomRPValidations
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' |
Quickstart templates
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. |
ARM template resource definition
The resourceProviders resource type can be deployed to:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
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"
}
]
}
}
Property values
resourceProviders
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 |
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[] |
CustomRPActionRouteDefinition
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' |
CustomRPResourceTypeRouteDefinition
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' |
CustomRPValidations
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' |
Quickstart templates
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. |
Terraform (AzAPI provider) resource definition
The resourceProviders resource type can be deployed to:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.CustomProviders/resourceProviders resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.CustomProviders/resourceProviders@2018-09-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
actions = [
{
endpoint = "string"
name = "string"
routingType = "Proxy"
}
]
resourceTypes = [
{
endpoint = "string"
name = "string"
routingType = "string"
}
]
validations = [
{
specification = "string"
validationType = "Swagger"
}
]
}
})
}
Property values
resourceProviders
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.CustomProviders/resourceProviders@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) |
parent_id | To deploy to a resource group, use the ID of that resource group. | string (required) |
tags | Resource tags | Dictionary of tag names and values. |
properties | The manifest for the custom resource provider | CustomRPManifestProperties |
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[] |
CustomRPActionRouteDefinition
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" |
CustomRPResourceTypeRouteDefinition
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" |
CustomRPValidations
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" |