Microsoft.ApiManagement service/backends 2023-09-01-preview

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-09-01-preview' = {
  name: 'string'
  parent: resourceSymbolicName
  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

service/backends

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)

Character limit: 1-80

Valid characters:
Alphanumerics and hyphens.

Start with letter and end with alphanumeric.
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

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. '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 = 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. string (required)

Constraints:
Min length = 1
Max length = 2000

BackendCircuitBreaker

Name Description Value
rules The rules for tripping the backend. CircuitBreakerRule[]

Constraints:
Max length = 15

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

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 = 10
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[]

Constraints:
Max length = 10

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

BackendCredentialsContract

Name Description Value
authorization Authorization header authentication BackendAuthorizationHeaderCredentials
certificate List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. string[]

Constraints:
Max length = 32
certificateIds List of Client Certificate Ids. string[]

Constraints:
Max length = 32
header Header Parameter description. BackendCredentialsContractHeader
query Query Parameter description. BackendCredentialsContractQuery

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string (required)

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

Constraints:
Min length = 1
Max length = 100

BackendCredentialsContractHeader

Name Description Value
{customized property} string[]

BackendCredentialsContractQuery

Name Description Value
{customized property} string[]

BackendBaseParametersPool

Name Description Value
services The list of backend entities belonging to a pool. BackendPoolItem[]

Constraints:
Min length = 1

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

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[]

X509CertificateName

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

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 (required)

Constraints:
Min length = 1
Max length = 2000
username Username to connect to the WebProxy server string

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

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-09-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

service/backends

Name Description Value
type The resource type 'Microsoft.ApiManagement/service/backends'
apiVersion The resource api version '2023-09-01-preview'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)

Character limit: 1-80

Valid characters:
Alphanumerics and hyphens.

Start with letter and end with alphanumeric.
properties Backend entity contract properties. BackendContractProperties

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. '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 = 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. string (required)

Constraints:
Min length = 1
Max length = 2000

BackendCircuitBreaker

Name Description Value
rules The rules for tripping the backend. CircuitBreakerRule[]

Constraints:
Max length = 15

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

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 = 10
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[]

Constraints:
Max length = 10

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

BackendCredentialsContract

Name Description Value
authorization Authorization header authentication BackendAuthorizationHeaderCredentials
certificate List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. string[]

Constraints:
Max length = 32
certificateIds List of Client Certificate Ids. string[]

Constraints:
Max length = 32
header Header Parameter description. BackendCredentialsContractHeader
query Query Parameter description. BackendCredentialsContractQuery

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string (required)

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

Constraints:
Min length = 1
Max length = 100

BackendCredentialsContractHeader

Name Description Value
{customized property} string[]

BackendCredentialsContractQuery

Name Description Value
{customized property} string[]

BackendBaseParametersPool

Name Description Value
services The list of backend entities belonging to a pool. BackendPoolItem[]

Constraints:
Min length = 1

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

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[]

X509CertificateName

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

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 (required)

Constraints:
Min length = 1
Max length = 2000
username Username to connect to the WebProxy server string

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

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@2023-09-01-preview"
  name = "string"
  parent_id = "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

service/backends

Name Description Value
type The resource type "Microsoft.ApiManagement/service/backends@2023-09-01-preview"
name The resource name string (required)

Character limit: 1-80

Valid characters:
Alphanumerics and hyphens.

Start with letter and end with alphanumeric.
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

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. "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 = 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. string (required)

Constraints:
Min length = 1
Max length = 2000

BackendCircuitBreaker

Name Description Value
rules The rules for tripping the backend. CircuitBreakerRule[]

Constraints:
Max length = 15

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

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 = 10
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[]

Constraints:
Max length = 10

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

BackendCredentialsContract

Name Description Value
authorization Authorization header authentication BackendAuthorizationHeaderCredentials
certificate List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. string[]

Constraints:
Max length = 32
certificateIds List of Client Certificate Ids. string[]

Constraints:
Max length = 32
header Header Parameter description. BackendCredentialsContractHeader
query Query Parameter description. BackendCredentialsContractQuery

BackendAuthorizationHeaderCredentials

Name Description Value
parameter Authentication Parameter value. string (required)

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

Constraints:
Min length = 1
Max length = 100

BackendCredentialsContractHeader

Name Description Value
{customized property} string[]

BackendCredentialsContractQuery

Name Description Value
{customized property} string[]

BackendBaseParametersPool

Name Description Value
services The list of backend entities belonging to a pool. BackendPoolItem[]

Constraints:
Min length = 1

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

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[]

X509CertificateName

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

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 (required)

Constraints:
Min length = 1
Max length = 2000
username Username to connect to the WebProxy server string

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