Microsoft.ApiManagement service/backends

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@2024-06-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    circuitBreaker: {
      rules: [
        {
          acceptRetryAfter: bool
          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'
          priority: int
          weight: int
        }
      ]
    }
    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

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string

Constraints:
Min length = 1
Max length = 1 (required)
scheme Authentication Scheme name. string

Constraints:
Min length = 1
Max length = 1 (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 = 1
pool BackendBaseParametersPool
properties Backend Properties contract BackendProperties
protocol Backend communication protocol. 'http'
'soap' (required)
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 = 1
title Backend Title. string

Constraints:
Min length = 1
Max length = 1
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. string

Constraints:
Min length = 1
Max length = 1 (required)

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)
priority The priority of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100
weight The weight of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100

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 = 1 (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 = []
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
acceptRetryAfter flag to accept Retry-After header from the backend. bool
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

Microsoft.ApiManagement/service/backends

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 1 (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

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": "2024-06-01-preview",
  "name": "string",
  "properties": {
    "circuitBreaker": {
      "rules": [
        {
          "acceptRetryAfter": "bool",
          "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",
          "priority": "int",
          "weight": "int"
        }
      ]
    },
    "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

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string

Constraints:
Min length = 1
Max length = 1 (required)
scheme Authentication Scheme name. string

Constraints:
Min length = 1
Max length = 1 (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 = 1
pool BackendBaseParametersPool
properties Backend Properties contract BackendProperties
protocol Backend communication protocol. 'http'
'soap' (required)
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 = 1
title Backend Title. string

Constraints:
Min length = 1
Max length = 1
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. string

Constraints:
Min length = 1
Max length = 1 (required)

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)
priority The priority of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100
weight The weight of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100

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 = 1 (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 = []
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
acceptRetryAfter flag to accept Retry-After header from the backend. bool
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

Microsoft.ApiManagement/service/backends

Name Description Value
apiVersion The api version '2024-06-01-preview'
name The resource name string

Constraints:
Min length = 1
Max length = 1 (required)
properties Backend entity contract properties. BackendContractProperties
type The resource type 'Microsoft.ApiManagement/service/backends'

X509CertificateName

Name Description Value
issuerCertificateThumbprint Thumbprint for the Issuer of the Certificate. string
name Common Name of the Certificate. string

Terraform (AzAPI provider) resource definition

The service/backends 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.ApiManagement/service/backends resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service/backends@2024-06-01-preview"
  name = "string"
  body = jsonencode({
    properties = {
      circuitBreaker = {
        rules = [
          {
            acceptRetryAfter = bool
            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"
            priority = int
            weight = int
          }
        ]
      }
      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

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string

Constraints:
Min length = 1
Max length = 1 (required)
scheme Authentication Scheme name. string

Constraints:
Min length = 1
Max length = 1 (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 = 1
pool BackendBaseParametersPool
properties Backend Properties contract BackendProperties
protocol Backend communication protocol. 'http'
'soap' (required)
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 = 1
title Backend Title. string

Constraints:
Min length = 1
Max length = 1
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. string

Constraints:
Min length = 1
Max length = 1 (required)

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)
priority The priority of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100
weight The weight of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the value not specified. int

Constraints:
Min value = 0
Max value = 100

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 = 1 (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 = []
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
acceptRetryAfter flag to accept Retry-After header from the backend. bool
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

Microsoft.ApiManagement/service/backends

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 1 (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@2024-06-01-preview"

X509CertificateName

Name Description Value
issuerCertificateThumbprint Thumbprint for the Issuer of the Certificate. string
name Common Name of the Certificate. string