Microsoft.CustomProviders resourceProviders
Bicep resource definition
The resourceProviders resource type can be deployed with operations that target:
- 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' = {
location: 'string'
name: 'string'
properties: {
actions: [
{
endpoint: 'string'
name: 'string'
routingType: 'string'
}
]
resourceTypes: [
{
endpoint: 'string'
name: 'string'
routingType: 'string'
}
]
validations: [
{
specification: 'string'
validationType: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
Property values
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 Constraints: Pattern = ^https://.+ (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' |
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[] |
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 Constraints: Pattern = ^https://.+ (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 Constraints: Pattern = ^https://raw.githubusercontent.com/.+ (required) |
validationType | The type of validation to run against a matching request. | 'Swagger' |
Microsoft.CustomProviders/resourceProviders
Name | Description | Value |
---|---|---|
location | Resource location | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 3 (required) |
properties | The manifest for the custom resource provider | CustomRPManifestProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
ResourceTags
Name | Description | Value |
---|
ARM template resource definition
The resourceProviders resource type can be deployed with operations that target:
- 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",
"properties": {
"actions": [
{
"endpoint": "string",
"name": "string",
"routingType": "string"
}
],
"resourceTypes": [
{
"endpoint": "string",
"name": "string",
"routingType": "string"
}
],
"validations": [
{
"specification": "string",
"validationType": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
}
Property values
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 Constraints: Pattern = ^https://.+ (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' |
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[] |
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 Constraints: Pattern = ^https://.+ (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 Constraints: Pattern = ^https://raw.githubusercontent.com/.+ (required) |
validationType | The type of validation to run against a matching request. | 'Swagger' |
Microsoft.CustomProviders/resourceProviders
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2018-09-01-preview' |
location | Resource location | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 3 (required) |
properties | The manifest for the custom resource provider | CustomRPManifestProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.CustomProviders/resourceProviders' |
ResourceTags
Name | Description | Value |
---|
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
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. |
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. |
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. |
Terraform (AzAPI provider) resource definition
The resourceProviders resource type can be deployed with operations that target:
- 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"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
actions = [
{
endpoint = "string"
name = "string"
routingType = "string"
}
]
resourceTypes = [
{
endpoint = "string"
name = "string"
routingType = "string"
}
]
validations = [
{
specification = "string"
validationType = "string"
}
]
}
})
}
Property values
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 Constraints: Pattern = ^https://.+ (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' |
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[] |
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 Constraints: Pattern = ^https://.+ (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 Constraints: Pattern = ^https://raw.githubusercontent.com/.+ (required) |
validationType | The type of validation to run against a matching request. | 'Swagger' |
Microsoft.CustomProviders/resourceProviders
Name | Description | Value |
---|---|---|
location | Resource location | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 3 (required) |
properties | The manifest for the custom resource provider | CustomRPManifestProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.CustomProviders/resourceProviders@2018-09-01-preview" |
ResourceTags
Name | Description | Value |
---|