Microsoft.Network trafficmanagerprofiles 2018-08-01

Bicep resource definition

The trafficmanagerprofiles 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.Network/trafficmanagerprofiles resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Network/trafficmanagerprofiles@2018-08-01' = {
  location: 'string'
  name: 'string'
  properties: {
    allowedEndpointRecordTypes: [
      'string'
    ]
    dnsConfig: {
      relativeName: 'string'
      ttl: int
    }
    endpoints: [
      {
        id: 'string'
        name: 'string'
        properties: {
          customHeaders: [
            {
              name: 'string'
              value: 'string'
            }
          ]
          endpointLocation: 'string'
          endpointMonitorStatus: 'string'
          endpointStatus: 'string'
          geoMapping: [
            'string'
          ]
          minChildEndpoints: int
          minChildEndpointsIPv4: int
          minChildEndpointsIPv6: int
          priority: int
          subnets: [
            {
              first: 'string'
              last: 'string'
              scope: int
            }
          ]
          target: 'string'
          targetResourceId: 'string'
          weight: int
        }
        type: 'string'
      }
    ]
    maxReturn: int
    monitorConfig: {
      customHeaders: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      expectedStatusCodeRanges: [
        {
          max: int
          min: int
        }
      ]
      intervalInSeconds: int
      path: 'string'
      port: int
      profileMonitorStatus: 'string'
      protocol: 'string'
      timeoutInSeconds: int
      toleratedNumberOfFailures: int
    }
    profileStatus: 'string'
    trafficRoutingMethod: 'string'
    trafficViewEnrollmentStatus: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

DnsConfig

Name Description Value
relativeName The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. string
ttl The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS responses provided by this Traffic Manager profile. int

Endpoint

Name Description Value
id Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} string
name The name of the resource string
properties The properties of the Traffic Manager endpoint. EndpointProperties
type The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles. string

EndpointProperties

Name Description Value
customHeaders List of custom headers. EndpointPropertiesCustomHeadersItem[]
endpointLocation Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method. string
endpointMonitorStatus The monitoring status of the endpoint. 'CheckingEndpoint'
'Degraded'
'Disabled'
'Inactive'
'Online'
'Stopped'
endpointStatus The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. 'Disabled'
'Enabled'
geoMapping The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values. string[]
minChildEndpoints The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv4 The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv6 The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
priority The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value. int
subnets The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints. EndpointPropertiesSubnetsItem[]
target The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. string
targetResourceId The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. string
weight The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. int

EndpointPropertiesCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

EndpointPropertiesSubnetsItem

Name Description Value
first First address in the subnet. string
last Last address in the subnet. string
scope Block size (number of leading bits in the subnet mask). int

Microsoft.Network/trafficmanagerprofiles

Name Description Value
location The Azure Region where the resource lives string
name The resource name string (required)
properties The properties of the Traffic Manager profile. ProfileProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

MonitorConfig

Name Description Value
customHeaders List of custom headers. MonitorConfigCustomHeadersItem[]
expectedStatusCodeRanges List of expected status code ranges. MonitorConfigExpectedStatusCodeRangesItem[]
intervalInSeconds The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager will check the health of each endpoint in this profile. int
path The path relative to the endpoint domain name used to probe for endpoint health. string
port The TCP port used to probe for endpoint health. int
profileMonitorStatus The profile-level monitoring status of the Traffic Manager profile. 'CheckingEndpoints'
'Degraded'
'Disabled'
'Inactive'
'Online'
protocol The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. 'HTTP'
'HTTPS'
'TCP'
timeoutInSeconds The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows endpoints in this profile to response to the health check. int
toleratedNumberOfFailures The number of consecutive failed health check that Traffic Manager tolerates before declaring an endpoint in this profile Degraded after the next failed health check. int

MonitorConfigCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

MonitorConfigExpectedStatusCodeRangesItem

Name Description Value
max Max status code. int
min Min status code. int

ProfileProperties

Name Description Value
allowedEndpointRecordTypes The list of allowed endpoint record types. String array containing any of:
'Any'
'DomainName'
'IPv4Address'
'IPv6Address'
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
maxReturn Maximum number of endpoints to be returned for MultiValue routing type. int
monitorConfig The endpoint monitoring settings of the Traffic Manager profile. MonitorConfig
profileStatus The status of the Traffic Manager profile. 'Disabled'
'Enabled'
trafficRoutingMethod The traffic routing method of the Traffic Manager profile. 'Geographic'
'MultiValue'
'Performance'
'Priority'
'Subnet'
'Weighted'
trafficViewEnrollmentStatus Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile. 'Disabled'
'Enabled'

TrackedResourceTags

Name Description Value

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Azure Traffic Manager external endpoint example This template shows how to create an Azure Traffic Manager profile using external endpoints.
Azure Traffic Manager VM example This template shows how to create an Azure Traffic Manager profile load-balancing across multiple virtual machines.
Azure Traffic Manager web app example This template shows how to create an Azure Traffic Manager profile for an App Service.

ARM template resource definition

The trafficmanagerprofiles 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.Network/trafficmanagerprofiles resource, add the following JSON to your template.

{
  "type": "Microsoft.Network/trafficmanagerprofiles",
  "apiVersion": "2018-08-01",
  "name": "string",
  "location": "string",
  "properties": {
    "allowedEndpointRecordTypes": [ "string" ],
    "dnsConfig": {
      "relativeName": "string",
      "ttl": "int"
    },
    "endpoints": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "customHeaders": [
            {
              "name": "string",
              "value": "string"
            }
          ],
          "endpointLocation": "string",
          "endpointMonitorStatus": "string",
          "endpointStatus": "string",
          "geoMapping": [ "string" ],
          "minChildEndpoints": "int",
          "minChildEndpointsIPv4": "int",
          "minChildEndpointsIPv6": "int",
          "priority": "int",
          "subnets": [
            {
              "first": "string",
              "last": "string",
              "scope": "int"
            }
          ],
          "target": "string",
          "targetResourceId": "string",
          "weight": "int"
        },
        "type": "string"
      }
    ],
    "maxReturn": "int",
    "monitorConfig": {
      "customHeaders": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "expectedStatusCodeRanges": [
        {
          "max": "int",
          "min": "int"
        }
      ],
      "intervalInSeconds": "int",
      "path": "string",
      "port": "int",
      "profileMonitorStatus": "string",
      "protocol": "string",
      "timeoutInSeconds": "int",
      "toleratedNumberOfFailures": "int"
    },
    "profileStatus": "string",
    "trafficRoutingMethod": "string",
    "trafficViewEnrollmentStatus": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

DnsConfig

Name Description Value
relativeName The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. string
ttl The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS responses provided by this Traffic Manager profile. int

Endpoint

Name Description Value
id Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} string
name The name of the resource string
properties The properties of the Traffic Manager endpoint. EndpointProperties
type The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles. string

EndpointProperties

Name Description Value
customHeaders List of custom headers. EndpointPropertiesCustomHeadersItem[]
endpointLocation Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method. string
endpointMonitorStatus The monitoring status of the endpoint. 'CheckingEndpoint'
'Degraded'
'Disabled'
'Inactive'
'Online'
'Stopped'
endpointStatus The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. 'Disabled'
'Enabled'
geoMapping The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values. string[]
minChildEndpoints The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv4 The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv6 The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
priority The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value. int
subnets The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints. EndpointPropertiesSubnetsItem[]
target The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. string
targetResourceId The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. string
weight The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. int

EndpointPropertiesCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

EndpointPropertiesSubnetsItem

Name Description Value
first First address in the subnet. string
last Last address in the subnet. string
scope Block size (number of leading bits in the subnet mask). int

Microsoft.Network/trafficmanagerprofiles

Name Description Value
apiVersion The api version '2018-08-01'
location The Azure Region where the resource lives string
name The resource name string (required)
properties The properties of the Traffic Manager profile. ProfileProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Network/trafficmanagerprofiles'

MonitorConfig

Name Description Value
customHeaders List of custom headers. MonitorConfigCustomHeadersItem[]
expectedStatusCodeRanges List of expected status code ranges. MonitorConfigExpectedStatusCodeRangesItem[]
intervalInSeconds The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager will check the health of each endpoint in this profile. int
path The path relative to the endpoint domain name used to probe for endpoint health. string
port The TCP port used to probe for endpoint health. int
profileMonitorStatus The profile-level monitoring status of the Traffic Manager profile. 'CheckingEndpoints'
'Degraded'
'Disabled'
'Inactive'
'Online'
protocol The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. 'HTTP'
'HTTPS'
'TCP'
timeoutInSeconds The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows endpoints in this profile to response to the health check. int
toleratedNumberOfFailures The number of consecutive failed health check that Traffic Manager tolerates before declaring an endpoint in this profile Degraded after the next failed health check. int

MonitorConfigCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

MonitorConfigExpectedStatusCodeRangesItem

Name Description Value
max Max status code. int
min Min status code. int

ProfileProperties

Name Description Value
allowedEndpointRecordTypes The list of allowed endpoint record types. String array containing any of:
'Any'
'DomainName'
'IPv4Address'
'IPv6Address'
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
maxReturn Maximum number of endpoints to be returned for MultiValue routing type. int
monitorConfig The endpoint monitoring settings of the Traffic Manager profile. MonitorConfig
profileStatus The status of the Traffic Manager profile. 'Disabled'
'Enabled'
trafficRoutingMethod The traffic routing method of the Traffic Manager profile. 'Geographic'
'MultiValue'
'Performance'
'Priority'
'Subnet'
'Weighted'
trafficViewEnrollmentStatus Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile. 'Disabled'
'Enabled'

TrackedResourceTags

Name Description Value

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Azure Traffic Manager + Application Gateways Demo Setup

Deploy to Azure
This template allows you to quickly deploy Azure Traffic Manager on top of Application Gateways demo to test traffic distribution between different regions.
Azure Traffic Manager Demo Setup

Deploy to Azure
This template allows you to quickly deploy Azure Traffic Manager demo to test traffic distribution between different regions.
Azure Traffic Manager external endpoint example

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile using external endpoints.
Azure Traffic Manager multi-value routing

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile using nested endpoints with min-child and multi-value routing.
Azure Traffic Manager VM example

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile load-balancing across multiple virtual machines.
Azure Traffic Manager VM example with Availability Zones

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile load-balancing across multiple virtual machines placed in Availability Zones.
Azure Traffic Manager web app example

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile for an App Service.
Multi tier traffic manager, L4 ILB, L7 AppGateway

Deploy to Azure
This template deploys a Virtual Network, segregates the network through subnets, deploys VMs and configures load balancing

Terraform (AzAPI provider) resource definition

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/trafficmanagerprofiles@2018-08-01"
  name = "string"
  location = "string"
  body = jsonencode({
    properties = {
      allowedEndpointRecordTypes = [
        "string"
      ]
      dnsConfig = {
        relativeName = "string"
        ttl = int
      }
      endpoints = [
        {
          id = "string"
          name = "string"
          properties = {
            customHeaders = [
              {
                name = "string"
                value = "string"
              }
            ]
            endpointLocation = "string"
            endpointMonitorStatus = "string"
            endpointStatus = "string"
            geoMapping = [
              "string"
            ]
            minChildEndpoints = int
            minChildEndpointsIPv4 = int
            minChildEndpointsIPv6 = int
            priority = int
            subnets = [
              {
                first = "string"
                last = "string"
                scope = int
              }
            ]
            target = "string"
            targetResourceId = "string"
            weight = int
          }
          type = "string"
        }
      ]
      maxReturn = int
      monitorConfig = {
        customHeaders = [
          {
            name = "string"
            value = "string"
          }
        ]
        expectedStatusCodeRanges = [
          {
            max = int
            min = int
          }
        ]
        intervalInSeconds = int
        path = "string"
        port = int
        profileMonitorStatus = "string"
        protocol = "string"
        timeoutInSeconds = int
        toleratedNumberOfFailures = int
      }
      profileStatus = "string"
      trafficRoutingMethod = "string"
      trafficViewEnrollmentStatus = "string"
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Property values

DnsConfig

Name Description Value
relativeName The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. string
ttl The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS responses provided by this Traffic Manager profile. int

Endpoint

Name Description Value
id Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} string
name The name of the resource string
properties The properties of the Traffic Manager endpoint. EndpointProperties
type The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles. string

EndpointProperties

Name Description Value
customHeaders List of custom headers. EndpointPropertiesCustomHeadersItem[]
endpointLocation Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method. string
endpointMonitorStatus The monitoring status of the endpoint. 'CheckingEndpoint'
'Degraded'
'Disabled'
'Inactive'
'Online'
'Stopped'
endpointStatus The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. 'Disabled'
'Enabled'
geoMapping The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values. string[]
minChildEndpoints The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv4 The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
minChildEndpointsIPv6 The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. int
priority The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value. int
subnets The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints. EndpointPropertiesSubnetsItem[]
target The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. string
targetResourceId The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. string
weight The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. int

EndpointPropertiesCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

EndpointPropertiesSubnetsItem

Name Description Value
first First address in the subnet. string
last Last address in the subnet. string
scope Block size (number of leading bits in the subnet mask). int

Microsoft.Network/trafficmanagerprofiles

Name Description Value
location The Azure Region where the resource lives string
name The resource name string (required)
properties The properties of the Traffic Manager profile. ProfileProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Network/trafficmanagerprofiles@2018-08-01"

MonitorConfig

Name Description Value
customHeaders List of custom headers. MonitorConfigCustomHeadersItem[]
expectedStatusCodeRanges List of expected status code ranges. MonitorConfigExpectedStatusCodeRangesItem[]
intervalInSeconds The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager will check the health of each endpoint in this profile. int
path The path relative to the endpoint domain name used to probe for endpoint health. string
port The TCP port used to probe for endpoint health. int
profileMonitorStatus The profile-level monitoring status of the Traffic Manager profile. 'CheckingEndpoints'
'Degraded'
'Disabled'
'Inactive'
'Online'
protocol The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. 'HTTP'
'HTTPS'
'TCP'
timeoutInSeconds The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows endpoints in this profile to response to the health check. int
toleratedNumberOfFailures The number of consecutive failed health check that Traffic Manager tolerates before declaring an endpoint in this profile Degraded after the next failed health check. int

MonitorConfigCustomHeadersItem

Name Description Value
name Header name. string
value Header value. string

MonitorConfigExpectedStatusCodeRangesItem

Name Description Value
max Max status code. int
min Min status code. int

ProfileProperties

Name Description Value
allowedEndpointRecordTypes The list of allowed endpoint record types. String array containing any of:
'Any'
'DomainName'
'IPv4Address'
'IPv6Address'
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
maxReturn Maximum number of endpoints to be returned for MultiValue routing type. int
monitorConfig The endpoint monitoring settings of the Traffic Manager profile. MonitorConfig
profileStatus The status of the Traffic Manager profile. 'Disabled'
'Enabled'
trafficRoutingMethod The traffic routing method of the Traffic Manager profile. 'Geographic'
'MultiValue'
'Performance'
'Priority'
'Subnet'
'Weighted'
trafficViewEnrollmentStatus Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile. 'Disabled'
'Enabled'

TrackedResourceTags

Name Description Value