Microsoft.Network trafficmanagerprofiles 2018-02-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-02-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    dnsConfig: {
      relativeName: 'string'
      ttl: int
    }
    endpoints: [
      {
        properties: {
          endpointLocation: 'string'
          endpointMonitorStatus: 'string'
          endpointStatus: 'string'
          geoMapping: [
            'string'
          ]
          minChildEndpoints: int
          priority: int
          target: 'string'
          targetResourceId: 'string'
          weight: int
        }
      }
    ]
    monitorConfig: {
      intervalInSeconds: int
      path: 'string'
      port: int
      profileMonitorStatus: 'string'
      protocol: 'string'
      timeoutInSeconds: int
      toleratedNumberOfFailures: int
    }
    profileStatus: 'string'
    trafficRoutingMethod: 'string'
    trafficViewEnrollmentStatus: 'string'
  }
}

Property values

trafficmanagerprofiles

Name Description Value
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics, hyphens, and periods.

Start and end with alphanumeric.

Resource name must be unique across Azure.
location The Azure Region where the resource lives string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties The properties of the Traffic Manager profile. ProfileProperties

ProfileProperties

Name Description Value
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
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'
'Performance'
'Priority'
'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'

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
properties The properties of the Traffic Manager endpoint. EndpointProperties

EndpointProperties

Name Description Value
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
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
target The fully-qualified DNS name 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

MonitorConfig

Name Description Value
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

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
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
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.

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-02-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "dnsConfig": {
      "relativeName": "string",
      "ttl": "int"
    },
    "endpoints": [
      {
        "properties": {
          "endpointLocation": "string",
          "endpointMonitorStatus": "string",
          "endpointStatus": "string",
          "geoMapping": [ "string" ],
          "minChildEndpoints": "int",
          "priority": "int",
          "target": "string",
          "targetResourceId": "string",
          "weight": "int"
        }
      }
    ],
    "monitorConfig": {
      "intervalInSeconds": "int",
      "path": "string",
      "port": "int",
      "profileMonitorStatus": "string",
      "protocol": "string",
      "timeoutInSeconds": "int",
      "toleratedNumberOfFailures": "int"
    },
    "profileStatus": "string",
    "trafficRoutingMethod": "string",
    "trafficViewEnrollmentStatus": "string"
  }
}

Property values

trafficmanagerprofiles

Name Description Value
type The resource type 'Microsoft.Network/trafficmanagerprofiles'
apiVersion The resource api version '2018-02-01'
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics, hyphens, and periods.

Start and end with alphanumeric.

Resource name must be unique across Azure.
location The Azure Region where the resource lives string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties The properties of the Traffic Manager profile. ProfileProperties

ProfileProperties

Name Description Value
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
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'
'Performance'
'Priority'
'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'

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
properties The properties of the Traffic Manager endpoint. EndpointProperties

EndpointProperties

Name Description Value
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
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
target The fully-qualified DNS name 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

MonitorConfig

Name Description Value
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

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
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
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.

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-02-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      dnsConfig = {
        relativeName = "string"
        ttl = int
      }
      endpoints = [
        {
          properties = {
            endpointLocation = "string"
            endpointMonitorStatus = "string"
            endpointStatus = "string"
            geoMapping = [
              "string"
            ]
            minChildEndpoints = int
            priority = int
            target = "string"
            targetResourceId = "string"
            weight = int
          }
        }
      ]
      monitorConfig = {
        intervalInSeconds = int
        path = "string"
        port = int
        profileMonitorStatus = "string"
        protocol = "string"
        timeoutInSeconds = int
        toleratedNumberOfFailures = int
      }
      profileStatus = "string"
      trafficRoutingMethod = "string"
      trafficViewEnrollmentStatus = "string"
    }
  })
}

Property values

trafficmanagerprofiles

Name Description Value
type The resource type "Microsoft.Network/trafficmanagerprofiles@2018-02-01"
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics, hyphens, and periods.

Start and end with alphanumeric.

Resource name must be unique across Azure.
location The Azure Region where the resource lives string
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
properties The properties of the Traffic Manager profile. ProfileProperties

ProfileProperties

Name Description Value
dnsConfig The DNS settings of the Traffic Manager profile. DnsConfig
endpoints The list of endpoints in the Traffic Manager profile. Endpoint[]
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"
"Performance"
"Priority"
"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"

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
properties The properties of the Traffic Manager endpoint. EndpointProperties

EndpointProperties

Name Description Value
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
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
target The fully-qualified DNS name 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

MonitorConfig

Name Description Value
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