Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
- Latest
- 2024-10-01-preview
- 2024-06-01-preview
- 2024-05-01
- 2023-09-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2022-09-01-preview
- 2022-08-01
- 2022-04-01-preview
- 2021-12-01-preview
- 2021-08-01
- 2021-04-01-preview
- 2021-01-01-preview
- 2020-12-01
- 2020-06-01-preview
- 2019-12-01
- 2019-12-01-preview
- 2019-01-01
- 2018-06-01-preview
- 2018-01-01
- 2017-03-01
- 2016-10-10
- 2016-07-07
Bicep resource definition
The service/backends resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/backends resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ApiManagement/service/backends@2023-05-01-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
circuitBreaker: {
rules: [
{
failureCondition: {
count: int
errorReasons: [
'string'
]
interval: 'string'
percentage: int
statusCodeRanges: [
{
max: int
min: int
}
]
}
name: 'string'
tripDuration: 'string'
}
]
}
credentials: {
authorization: {
parameter: 'string'
scheme: 'string'
}
certificate: [
'string'
]
certificateIds: [
'string'
]
header: {
{customized property}: [
'string'
]
}
query: {
{customized property}: [
'string'
]
}
}
description: 'string'
pool: {
services: [
{
id: 'string'
}
]
}
properties: {
serviceFabricCluster: {
clientCertificateId: 'string'
clientCertificatethumbprint: 'string'
managementEndpoints: [
'string'
]
maxPartitionResolutionRetries: int
serverCertificateThumbprints: [
'string'
]
serverX509Names: [
{
issuerCertificateThumbprint: 'string'
name: 'string'
}
]
}
}
protocol: 'string'
proxy: {
password: 'string'
url: 'string'
username: 'string'
}
resourceId: 'string'
title: 'string'
tls: {
validateCertificateChain: bool
validateCertificateName: bool
}
type: 'string'
url: 'string'
}
}
Property Values
Microsoft.ApiManagement/service/backends
| Name | Description | Value |
|---|---|---|
| name | The resource name | string Constraints: Min length = 1 Max length = 80 (required) |
| parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: service |
| properties | Backend entity contract properties. | BackendContractProperties |
BackendAuthorizationHeaderCredentials
| Name | Description | Value |
|---|---|---|
| parameter | Authentication Parameter value. | string Constraints: Min length = 1 Max length = 300 (required) |
| scheme | Authentication Scheme name. | string Constraints: Min length = 1 Max length = 100 (required) |
BackendBaseParametersPool
| Name | Description | Value |
|---|---|---|
| services | The list of backend entities belonging to a pool. | BackendPoolItem[] |
BackendCircuitBreaker
| Name | Description | Value |
|---|---|---|
| rules | The rules for tripping the backend. | CircuitBreakerRule[] |
BackendContractProperties
| Name | Description | Value |
|---|---|---|
| circuitBreaker | Backend Circuit Breaker Configuration | BackendCircuitBreaker |
| credentials | Backend Credentials Contract Properties | BackendCredentialsContract |
| description | Backend Description. | string Constraints: Min length = 1 Max length = 2000 |
| pool | BackendBaseParametersPool | |
| properties | Backend Properties contract | BackendProperties |
| protocol | Backend communication protocol. Required when backend type is 'Single'. | 'http' 'soap' |
| proxy | Backend gateway Contract Properties | BackendProxyContract |
| resourceId | Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, Function Apps or API Apps. | string Constraints: Min length = 1 Max length = 2000 |
| title | Backend Title. | string Constraints: Min length = 1 Max length = 300 |
| tls | Backend TLS Properties | BackendTlsProperties |
| type | Type of the backend. A backend can be either Single or Pool. | 'Pool' 'Single' |
| url | Runtime Url of the Backend. Required when backend type is 'Single'. | string Constraints: Min length = 1 Max length = 2000 |
BackendCredentialsContract
| Name | Description | Value |
|---|---|---|
| authorization | Authorization header authentication | BackendAuthorizationHeaderCredentials |
| certificate | List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. | string[] |
| certificateIds | List of Client Certificate Ids. | string[] |
| header | Header Parameter description. | BackendCredentialsContractHeader |
| query | Query Parameter description. | BackendCredentialsContractQuery |
BackendCredentialsContractHeader
| Name | Description | Value |
|---|
BackendCredentialsContractQuery
| Name | Description | Value |
|---|
BackendPoolItem
| Name | Description | Value |
|---|---|---|
| id | The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity. | string (required) |
BackendProperties
| Name | Description | Value |
|---|---|---|
| serviceFabricCluster | Backend Service Fabric Cluster Properties | BackendServiceFabricClusterProperties |
BackendProxyContract
| Name | Description | Value |
|---|---|---|
| password | Password to connect to the WebProxy Server | string |
| url | WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. | string Constraints: Min length = 1 Max length = 2000 (required) |
| username | Username to connect to the WebProxy server | string |
BackendServiceFabricClusterProperties
| Name | Description | Value |
|---|---|---|
| clientCertificateId | The client certificate id for the management endpoint. | string |
| clientCertificatethumbprint | The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided | string |
| managementEndpoints | The cluster management endpoint. | string[] (required) |
| maxPartitionResolutionRetries | Maximum number of retries while attempting resolve the partition. | int |
| serverCertificateThumbprints | Thumbprints of certificates cluster management service uses for tls communication | string[] |
| serverX509Names | Server X509 Certificate Names Collection | X509CertificateName[] |
BackendTlsProperties
| Name | Description | Value |
|---|---|---|
| validateCertificateChain | Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. | bool |
| validateCertificateName | Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. | bool |
CircuitBreakerFailureCondition
| Name | Description | Value |
|---|---|---|
| count | The threshold for opening the circuit. | int |
| errorReasons | The error reasons which are considered as failure. | string Constraints: Max length = 200[] |
| interval | The interval during which the failures are counted. | string |
| percentage | The threshold for opening the circuit. | int |
| statusCodeRanges | The status code ranges which are considered as failure. | FailureStatusCodeRange[] |
CircuitBreakerRule
| Name | Description | Value |
|---|---|---|
| failureCondition | The conditions for tripping the circuit breaker. | CircuitBreakerFailureCondition |
| name | The rule name. | string |
| tripDuration | The duration for which the circuit will be tripped. | string |
FailureStatusCodeRange
| Name | Description | Value |
|---|---|---|
| max | The maximum http status code. | int Constraints: Min value = 200 Max value = 599 |
| min | The minimum http status code. | int Constraints: Min value = 200 Max value = 599 |
X509CertificateName
| Name | Description | Value |
|---|---|---|
| issuerCertificateThumbprint | Thumbprint for the Issuer of the Certificate. | string |
| name | Common Name of the Certificate. | string |
ARM template resource definition
The service/backends resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/backends resource, add the following JSON to your template.
{
"type": "Microsoft.ApiManagement/service/backends",
"apiVersion": "2023-05-01-preview",
"name": "string",
"properties": {
"circuitBreaker": {
"rules": [
{
"failureCondition": {
"count": "int",
"errorReasons": [ "string" ],
"interval": "string",
"percentage": "int",
"statusCodeRanges": [
{
"max": "int",
"min": "int"
}
]
},
"name": "string",
"tripDuration": "string"
}
]
},
"credentials": {
"authorization": {
"parameter": "string",
"scheme": "string"
},
"certificate": [ "string" ],
"certificateIds": [ "string" ],
"header": {
"{customized property}": [ "string" ]
},
"query": {
"{customized property}": [ "string" ]
}
},
"description": "string",
"pool": {
"services": [
{
"id": "string"
}
]
},
"properties": {
"serviceFabricCluster": {
"clientCertificateId": "string",
"clientCertificatethumbprint": "string",
"managementEndpoints": [ "string" ],
"maxPartitionResolutionRetries": "int",
"serverCertificateThumbprints": [ "string" ],
"serverX509Names": [
{
"issuerCertificateThumbprint": "string",
"name": "string"
}
]
}
},
"protocol": "string",
"proxy": {
"password": "string",
"url": "string",
"username": "string"
},
"resourceId": "string",
"title": "string",
"tls": {
"validateCertificateChain": "bool",
"validateCertificateName": "bool"
},
"type": "string",
"url": "string"
}
}
Property Values
Microsoft.ApiManagement/service/backends
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2023-05-01-preview' |
| name | The resource name | string Constraints: Min length = 1 Max length = 80 (required) |
| properties | Backend entity contract properties. | BackendContractProperties |
| type | The resource type | 'Microsoft.ApiManagement/service/backends' |
BackendAuthorizationHeaderCredentials
| Name | Description | Value |
|---|---|---|
| parameter | Authentication Parameter value. | string Constraints: Min length = 1 Max length = 300 (required) |
| scheme | Authentication Scheme name. | string Constraints: Min length = 1 Max length = 100 (required) |
BackendBaseParametersPool
| Name | Description | Value |
|---|---|---|
| services | The list of backend entities belonging to a pool. | BackendPoolItem[] |
BackendCircuitBreaker
| Name | Description | Value |
|---|---|---|
| rules | The rules for tripping the backend. | CircuitBreakerRule[] |
BackendContractProperties
| Name | Description | Value |
|---|---|---|
| circuitBreaker | Backend Circuit Breaker Configuration | BackendCircuitBreaker |
| credentials | Backend Credentials Contract Properties | BackendCredentialsContract |
| description | Backend Description. | string Constraints: Min length = 1 Max length = 2000 |
| pool | BackendBaseParametersPool | |
| properties | Backend Properties contract | BackendProperties |
| protocol | Backend communication protocol. Required when backend type is 'Single'. | 'http' 'soap' |
| proxy | Backend gateway Contract Properties | BackendProxyContract |
| resourceId | Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, Function Apps or API Apps. | string Constraints: Min length = 1 Max length = 2000 |
| title | Backend Title. | string Constraints: Min length = 1 Max length = 300 |
| tls | Backend TLS Properties | BackendTlsProperties |
| type | Type of the backend. A backend can be either Single or Pool. | 'Pool' 'Single' |
| url | Runtime Url of the Backend. Required when backend type is 'Single'. | string Constraints: Min length = 1 Max length = 2000 |
BackendCredentialsContract
| Name | Description | Value |
|---|---|---|
| authorization | Authorization header authentication | BackendAuthorizationHeaderCredentials |
| certificate | List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. | string[] |
| certificateIds | List of Client Certificate Ids. | string[] |
| header | Header Parameter description. | BackendCredentialsContractHeader |
| query | Query Parameter description. | BackendCredentialsContractQuery |
BackendCredentialsContractHeader
| Name | Description | Value |
|---|
BackendCredentialsContractQuery
| Name | Description | Value |
|---|
BackendPoolItem
| Name | Description | Value |
|---|---|---|
| id | The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity. | string (required) |
BackendProperties
| Name | Description | Value |
|---|---|---|
| serviceFabricCluster | Backend Service Fabric Cluster Properties | BackendServiceFabricClusterProperties |
BackendProxyContract
| Name | Description | Value |
|---|---|---|
| password | Password to connect to the WebProxy Server | string |
| url | WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. | string Constraints: Min length = 1 Max length = 2000 (required) |
| username | Username to connect to the WebProxy server | string |
BackendServiceFabricClusterProperties
| Name | Description | Value |
|---|---|---|
| clientCertificateId | The client certificate id for the management endpoint. | string |
| clientCertificatethumbprint | The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided | string |
| managementEndpoints | The cluster management endpoint. | string[] (required) |
| maxPartitionResolutionRetries | Maximum number of retries while attempting resolve the partition. | int |
| serverCertificateThumbprints | Thumbprints of certificates cluster management service uses for tls communication | string[] |
| serverX509Names | Server X509 Certificate Names Collection | X509CertificateName[] |
BackendTlsProperties
| Name | Description | Value |
|---|---|---|
| validateCertificateChain | Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. | bool |
| validateCertificateName | Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. | bool |
CircuitBreakerFailureCondition
| Name | Description | Value |
|---|---|---|
| count | The threshold for opening the circuit. | int |
| errorReasons | The error reasons which are considered as failure. | string Constraints: Max length = 200[] |
| interval | The interval during which the failures are counted. | string |
| percentage | The threshold for opening the circuit. | int |
| statusCodeRanges | The status code ranges which are considered as failure. | FailureStatusCodeRange[] |
CircuitBreakerRule
| Name | Description | Value |
|---|---|---|
| failureCondition | The conditions for tripping the circuit breaker. | CircuitBreakerFailureCondition |
| name | The rule name. | string |
| tripDuration | The duration for which the circuit will be tripped. | string |
FailureStatusCodeRange
| Name | Description | Value |
|---|---|---|
| max | The maximum http status code. | int Constraints: Min value = 200 Max value = 599 |
| min | The minimum http status code. | int Constraints: Min value = 200 Max value = 599 |
X509CertificateName
| Name | Description | Value |
|---|---|---|
| issuerCertificateThumbprint | Thumbprint for the Issuer of the Certificate. | string |
| name | Common Name of the Certificate. | string |
Usage Examples
Terraform (AzAPI provider) resource definition
The service/backends resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/backends resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service/backends@2023-05-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
circuitBreaker = {
rules = [
{
failureCondition = {
count = int
errorReasons = [
"string"
]
interval = "string"
percentage = int
statusCodeRanges = [
{
max = int
min = int
}
]
}
name = "string"
tripDuration = "string"
}
]
}
credentials = {
authorization = {
parameter = "string"
scheme = "string"
}
certificate = [
"string"
]
certificateIds = [
"string"
]
header = {
{customized property} = [
"string"
]
}
query = {
{customized property} = [
"string"
]
}
}
description = "string"
pool = {
services = [
{
id = "string"
}
]
}
properties = {
serviceFabricCluster = {
clientCertificateId = "string"
clientCertificatethumbprint = "string"
managementEndpoints = [
"string"
]
maxPartitionResolutionRetries = int
serverCertificateThumbprints = [
"string"
]
serverX509Names = [
{
issuerCertificateThumbprint = "string"
name = "string"
}
]
}
}
protocol = "string"
proxy = {
password = "string"
url = "string"
username = "string"
}
resourceId = "string"
title = "string"
tls = {
validateCertificateChain = bool
validateCertificateName = bool
}
type = "string"
url = "string"
}
}
}
Property Values
Microsoft.ApiManagement/service/backends
| Name | Description | Value |
|---|---|---|
| name | The resource name | string Constraints: Min length = 1 Max length = 80 (required) |
| parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: service |
| properties | Backend entity contract properties. | BackendContractProperties |
| type | The resource type | "Microsoft.ApiManagement/service/backends@2023-05-01-preview" |
BackendAuthorizationHeaderCredentials
| Name | Description | Value |
|---|---|---|
| parameter | Authentication Parameter value. | string Constraints: Min length = 1 Max length = 300 (required) |
| scheme | Authentication Scheme name. | string Constraints: Min length = 1 Max length = 100 (required) |
BackendBaseParametersPool
| Name | Description | Value |
|---|---|---|
| services | The list of backend entities belonging to a pool. | BackendPoolItem[] |
BackendCircuitBreaker
| Name | Description | Value |
|---|---|---|
| rules | The rules for tripping the backend. | CircuitBreakerRule[] |
BackendContractProperties
| Name | Description | Value |
|---|---|---|
| circuitBreaker | Backend Circuit Breaker Configuration | BackendCircuitBreaker |
| credentials | Backend Credentials Contract Properties | BackendCredentialsContract |
| description | Backend Description. | string Constraints: Min length = 1 Max length = 2000 |
| pool | BackendBaseParametersPool | |
| properties | Backend Properties contract | BackendProperties |
| protocol | Backend communication protocol. Required when backend type is 'Single'. | 'http' 'soap' |
| proxy | Backend gateway Contract Properties | BackendProxyContract |
| resourceId | Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, Function Apps or API Apps. | string Constraints: Min length = 1 Max length = 2000 |
| title | Backend Title. | string Constraints: Min length = 1 Max length = 300 |
| tls | Backend TLS Properties | BackendTlsProperties |
| type | Type of the backend. A backend can be either Single or Pool. | 'Pool' 'Single' |
| url | Runtime Url of the Backend. Required when backend type is 'Single'. | string Constraints: Min length = 1 Max length = 2000 |
BackendCredentialsContract
| Name | Description | Value |
|---|---|---|
| authorization | Authorization header authentication | BackendAuthorizationHeaderCredentials |
| certificate | List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. | string[] |
| certificateIds | List of Client Certificate Ids. | string[] |
| header | Header Parameter description. | BackendCredentialsContractHeader |
| query | Query Parameter description. | BackendCredentialsContractQuery |
BackendCredentialsContractHeader
| Name | Description | Value |
|---|
BackendCredentialsContractQuery
| Name | Description | Value |
|---|
BackendPoolItem
| Name | Description | Value |
|---|---|---|
| id | The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity. | string (required) |
BackendProperties
| Name | Description | Value |
|---|---|---|
| serviceFabricCluster | Backend Service Fabric Cluster Properties | BackendServiceFabricClusterProperties |
BackendProxyContract
| Name | Description | Value |
|---|---|---|
| password | Password to connect to the WebProxy Server | string |
| url | WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. | string Constraints: Min length = 1 Max length = 2000 (required) |
| username | Username to connect to the WebProxy server | string |
BackendServiceFabricClusterProperties
| Name | Description | Value |
|---|---|---|
| clientCertificateId | The client certificate id for the management endpoint. | string |
| clientCertificatethumbprint | The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided | string |
| managementEndpoints | The cluster management endpoint. | string[] (required) |
| maxPartitionResolutionRetries | Maximum number of retries while attempting resolve the partition. | int |
| serverCertificateThumbprints | Thumbprints of certificates cluster management service uses for tls communication | string[] |
| serverX509Names | Server X509 Certificate Names Collection | X509CertificateName[] |
BackendTlsProperties
| Name | Description | Value |
|---|---|---|
| validateCertificateChain | Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. | bool |
| validateCertificateName | Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. | bool |
CircuitBreakerFailureCondition
| Name | Description | Value |
|---|---|---|
| count | The threshold for opening the circuit. | int |
| errorReasons | The error reasons which are considered as failure. | string Constraints: Max length = 200[] |
| interval | The interval during which the failures are counted. | string |
| percentage | The threshold for opening the circuit. | int |
| statusCodeRanges | The status code ranges which are considered as failure. | FailureStatusCodeRange[] |
CircuitBreakerRule
| Name | Description | Value |
|---|---|---|
| failureCondition | The conditions for tripping the circuit breaker. | CircuitBreakerFailureCondition |
| name | The rule name. | string |
| tripDuration | The duration for which the circuit will be tripped. | string |
FailureStatusCodeRange
| Name | Description | Value |
|---|---|---|
| max | The maximum http status code. | int Constraints: Min value = 200 Max value = 599 |
| min | The minimum http status code. | int Constraints: Min value = 200 Max value = 599 |
X509CertificateName
| Name | Description | Value |
|---|---|---|
| issuerCertificateThumbprint | Thumbprint for the Issuer of the Certificate. | string |
| name | Common Name of the Certificate. | string |
Usage Examples
Terraform Samples
A basic example of deploying backend within an API Management Service.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "service" {
type = "Microsoft.ApiManagement/service@2021-08-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
certificates = [
]
customProperties = {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30" = "false"
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10" = "false"
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11" = "false"
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10" = "false"
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11" = "false"
}
disableGateway = false
publicNetworkAccess = "Enabled"
publisherEmail = "pub1@email.com"
publisherName = "pub1"
virtualNetworkType = "None"
}
sku = {
capacity = 0
name = "Consumption"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "backend" {
type = "Microsoft.ApiManagement/service/backends@2021-08-01"
parent_id = azapi_resource.service.id
name = var.resource_name
body = {
properties = {
protocol = "http"
url = "https://acctest"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}