Microsoft.Network trafficmanagerprofiles template reference

Template format

To create a Microsoft.Network/trafficmanagerprofiles resource, add the following JSON to the resources section of your template.

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

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Network/trafficmanagerprofiles object

Name Type Required Value
name string Yes The name of the Traffic Manager profile.
type enum Yes Microsoft.Network/trafficmanagerprofiles
apiVersion enum Yes 2018-04-01
tags object No Resource tags.
location string No The Azure Region where the resource lives
properties object Yes The properties of the Traffic Manager profile. - ProfileProperties object

ProfileProperties object

Name Type Required Value
profileStatus enum No The status of the Traffic Manager profile. - Enabled or Disabled
trafficRoutingMethod enum No The traffic routing method of the Traffic Manager profile. - Performance, Priority, Weighted, Geographic, MultiValue, Subnet
dnsConfig object No The DNS settings of the Traffic Manager profile. - DnsConfig object
monitorConfig object No The endpoint monitoring settings of the Traffic Manager profile. - MonitorConfig object
endpoints array No The list of endpoints in the Traffic Manager profile. - Endpoint object
trafficViewEnrollmentStatus enum No 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. - Enabled or Disabled
maxReturn integer No Maximum number of endpoints to be returned for MultiValue routing type.

DnsConfig object

Name Type Required Value
relativeName string No 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.
ttl integer No 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.

MonitorConfig object

Name Type Required Value
profileMonitorStatus enum No The profile-level monitoring status of the Traffic Manager profile. - CheckingEndpoints, Online, Degraded, Disabled, Inactive
protocol enum No The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. - HTTP, HTTPS, TCP
port integer No The TCP port used to probe for endpoint health.
path string No The path relative to the endpoint domain name used to probe for endpoint health.
intervalInSeconds integer No 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.
timeoutInSeconds integer No 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.
toleratedNumberOfFailures integer No 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.
customHeaders array No List of custom headers. - MonitorConfigCustomHeadersItem object
expectedStatusCodeRanges array No List of expected status code ranges. - MonitorConfigExpectedStatusCodeRangesItem object

Endpoint object

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

MonitorConfigCustomHeadersItem object

Name Type Required Value
name string No Header name.
value string No Header value.

MonitorConfigExpectedStatusCodeRangesItem object

Name Type Required Value
min integer No Min status code.
max integer No Max status code.

EndpointProperties object

Name Type Required Value
targetResourceId string No The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'.
target string No 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.
endpointStatus enum No The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. - Enabled or Disabled
weight integer No The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000.
priority integer No 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.
endpointLocation string No Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method.
endpointMonitorStatus enum No The monitoring status of the endpoint. - CheckingEndpoint, Online, Degraded, Disabled, Inactive, Stopped
minChildEndpoints integer No 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'.
geoMapping array No 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
subnets array No 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 object
customHeaders array No List of custom headers. - EndpointPropertiesCustomHeadersItem object

EndpointPropertiesSubnetsItem object

Name Type Required Value
first string No First address in the subnet.
last string No Last address in the subnet.
scope integer No Block size (number of leading bits in the subnet mask).

EndpointPropertiesCustomHeadersItem object

Name Type Required Value
name string No Header name.
value string No Header value.

Quickstart templates

The following quickstart templates deploy this resource type.

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