Microsoft.Network trafficmanagerprofiles 2017-03-01
Bicep resource definition
The trafficmanagerprofiles resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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@2017-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
dnsConfig: {
fqdn: 'string'
relativeName: 'string'
ttl: int
}
endpoints: [
{
id: 'string'
name: 'string'
properties: {
endpointLocation: 'string'
endpointMonitorStatus: 'string'
endpointStatus: 'string'
geoMapping: [
'string'
]
minChildEndpoints: int
priority: int
target: 'string'
targetResourceId: 'string'
weight: int
}
type: 'string'
}
]
monitorConfig: {
path: 'string'
port: int
profileMonitorStatus: 'string'
protocol: 'string'
}
profileStatus: 'string'
trafficRoutingMethod: '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 | Resource location | string |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
properties | Class representing the Traffic Manager profile properties. | ProfileProperties |
ProfileProperties
Name | Description | Value |
---|---|---|
dnsConfig | Gets or sets the DNS settings of the Traffic Manager profile. | DnsConfig |
endpoints | Gets or sets the list of endpoints in the Traffic Manager profile. | Endpoint[] |
monitorConfig | Gets or sets the endpoint monitoring settings of the Traffic Manager profile. | MonitorConfig |
profileStatus | Gets or sets the status of the Traffic Manager profile. Possible values are 'Enabled' and 'Disabled'. | string |
trafficRoutingMethod | Gets or sets the traffic routing method of the Traffic Manager profile. Possible values are 'Performance', 'Weighted', 'Priority' or 'Geographic'. | string |
DnsConfig
Name | Description | Value |
---|---|---|
fqdn | Gets or sets the fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of the RelativeName with the DNS domain used by Azure Traffic Manager. | string |
relativeName | Gets or sets 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 | Gets or sets 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 | Gets or sets the ID of the Traffic Manager endpoint. | string |
name | Gets or sets the name of the Traffic Manager endpoint. | string |
properties | Class representing a Traffic Manager endpoint properties. | EndpointProperties |
type | Gets or sets the endpoint type of the Traffic Manager endpoint. | string |
EndpointProperties
Name | Description | Value |
---|---|---|
endpointLocation | Specifies the location of the external or nested endpoints when using the ‘Performance’ traffic routing method. | string |
endpointMonitorStatus | Gets or sets the monitoring status of the endpoint. | string |
endpointStatus | Gets or sets the status of the endpoint.. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. Possible values are 'Enabled' and 'Disabled'. | string |
geoMapping | Gets or sets 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 | Gets or sets 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 | Gets or sets 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 | Gets or sets the fully-qualified DNS name of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. | string |
targetResourceId | Gets or sets the Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. | string |
weight | Gets or sets the weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. | int |
MonitorConfig
Name | Description | Value |
---|---|---|
path | Gets or sets the path relative to the endpoint domain name used to probe for endpoint health. | string |
port | Gets or sets the TCP port used to probe for endpoint health. | int |
profileMonitorStatus | Gets or sets the profile-level monitoring status of the Traffic Manager profile. | string |
protocol | Gets or sets the protocol (HTTP or HTTPS) used to probe for endpoint health. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Multi tier traffic manager, L4 ILB, L7 AppGateway |
This template deploys a Virtual Network, segregates the network through subnets, deploys VMs and configures load balancing |
Azure Traffic Manager + Application Gateways Demo Setup |
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 |
This template allows you to quickly deploy Azure Traffic Manager demo to test traffic distribution between different regions. |
Azure Traffic Manager external endpoint example |
This template shows how to create an Azure Traffic Manager profile using external endpoints. |
Azure Traffic Manager multi-value routing |
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 |
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 |
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 |
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:
- Resource groups - See resource group deployment commands
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": "2017-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"dnsConfig": {
"fqdn": "string",
"relativeName": "string",
"ttl": "int"
},
"endpoints": [
{
"id": "string",
"name": "string",
"properties": {
"endpointLocation": "string",
"endpointMonitorStatus": "string",
"endpointStatus": "string",
"geoMapping": [ "string" ],
"minChildEndpoints": "int",
"priority": "int",
"target": "string",
"targetResourceId": "string",
"weight": "int"
},
"type": "string"
}
],
"monitorConfig": {
"path": "string",
"port": "int",
"profileMonitorStatus": "string",
"protocol": "string"
},
"profileStatus": "string",
"trafficRoutingMethod": "string"
}
}
Property values
trafficmanagerprofiles
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.Network/trafficmanagerprofiles' |
apiVersion | The resource api version | '2017-03-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 | Resource location | string |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
properties | Class representing the Traffic Manager profile properties. | ProfileProperties |
ProfileProperties
Name | Description | Value |
---|---|---|
dnsConfig | Gets or sets the DNS settings of the Traffic Manager profile. | DnsConfig |
endpoints | Gets or sets the list of endpoints in the Traffic Manager profile. | Endpoint[] |
monitorConfig | Gets or sets the endpoint monitoring settings of the Traffic Manager profile. | MonitorConfig |
profileStatus | Gets or sets the status of the Traffic Manager profile. Possible values are 'Enabled' and 'Disabled'. | string |
trafficRoutingMethod | Gets or sets the traffic routing method of the Traffic Manager profile. Possible values are 'Performance', 'Weighted', 'Priority' or 'Geographic'. | string |
DnsConfig
Name | Description | Value |
---|---|---|
fqdn | Gets or sets the fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of the RelativeName with the DNS domain used by Azure Traffic Manager. | string |
relativeName | Gets or sets 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 | Gets or sets 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 | Gets or sets the ID of the Traffic Manager endpoint. | string |
name | Gets or sets the name of the Traffic Manager endpoint. | string |
properties | Class representing a Traffic Manager endpoint properties. | EndpointProperties |
type | Gets or sets the endpoint type of the Traffic Manager endpoint. | string |
EndpointProperties
Name | Description | Value |
---|---|---|
endpointLocation | Specifies the location of the external or nested endpoints when using the ‘Performance’ traffic routing method. | string |
endpointMonitorStatus | Gets or sets the monitoring status of the endpoint. | string |
endpointStatus | Gets or sets the status of the endpoint.. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. Possible values are 'Enabled' and 'Disabled'. | string |
geoMapping | Gets or sets 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 | Gets or sets 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 | Gets or sets 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 | Gets or sets the fully-qualified DNS name of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. | string |
targetResourceId | Gets or sets the Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. | string |
weight | Gets or sets the weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. | int |
MonitorConfig
Name | Description | Value |
---|---|---|
path | Gets or sets the path relative to the endpoint domain name used to probe for endpoint health. | string |
port | Gets or sets the TCP port used to probe for endpoint health. | int |
profileMonitorStatus | Gets or sets the profile-level monitoring status of the Traffic Manager profile. | string |
protocol | Gets or sets the protocol (HTTP or HTTPS) used to probe for endpoint health. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Multi tier traffic manager, L4 ILB, L7 AppGateway |
This template deploys a Virtual Network, segregates the network through subnets, deploys VMs and configures load balancing |
Azure Traffic Manager + Application Gateways Demo Setup |
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 |
This template allows you to quickly deploy Azure Traffic Manager demo to test traffic distribution between different regions. |
Azure Traffic Manager external endpoint example |
This template shows how to create an Azure Traffic Manager profile using external endpoints. |
Azure Traffic Manager multi-value routing |
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 |
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 |
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 |
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@2017-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
dnsConfig = {
fqdn = "string"
relativeName = "string"
ttl = int
}
endpoints = [
{
id = "string"
name = "string"
properties = {
endpointLocation = "string"
endpointMonitorStatus = "string"
endpointStatus = "string"
geoMapping = [
"string"
]
minChildEndpoints = int
priority = int
target = "string"
targetResourceId = "string"
weight = int
}
type = "string"
}
]
monitorConfig = {
path = "string"
port = int
profileMonitorStatus = "string"
protocol = "string"
}
profileStatus = "string"
trafficRoutingMethod = "string"
}
})
}
Property values
trafficmanagerprofiles
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.Network/trafficmanagerprofiles@2017-03-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 | Resource location | 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 | Class representing the Traffic Manager profile properties. | ProfileProperties |
ProfileProperties
Name | Description | Value |
---|---|---|
dnsConfig | Gets or sets the DNS settings of the Traffic Manager profile. | DnsConfig |
endpoints | Gets or sets the list of endpoints in the Traffic Manager profile. | Endpoint[] |
monitorConfig | Gets or sets the endpoint monitoring settings of the Traffic Manager profile. | MonitorConfig |
profileStatus | Gets or sets the status of the Traffic Manager profile. Possible values are 'Enabled' and 'Disabled'. | string |
trafficRoutingMethod | Gets or sets the traffic routing method of the Traffic Manager profile. Possible values are 'Performance', 'Weighted', 'Priority' or 'Geographic'. | string |
DnsConfig
Name | Description | Value |
---|---|---|
fqdn | Gets or sets the fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of the RelativeName with the DNS domain used by Azure Traffic Manager. | string |
relativeName | Gets or sets 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 | Gets or sets 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 | Gets or sets the ID of the Traffic Manager endpoint. | string |
name | Gets or sets the name of the Traffic Manager endpoint. | string |
properties | Class representing a Traffic Manager endpoint properties. | EndpointProperties |
type | Gets or sets the endpoint type of the Traffic Manager endpoint. | string |
EndpointProperties
Name | Description | Value |
---|---|---|
endpointLocation | Specifies the location of the external or nested endpoints when using the ‘Performance’ traffic routing method. | string |
endpointMonitorStatus | Gets or sets the monitoring status of the endpoint. | string |
endpointStatus | Gets or sets the status of the endpoint.. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. Possible values are 'Enabled' and 'Disabled'. | string |
geoMapping | Gets or sets 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 | Gets or sets 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 | Gets or sets 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 | Gets or sets the fully-qualified DNS name of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint. | string |
targetResourceId | Gets or sets the Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'. | string |
weight | Gets or sets the weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000. | int |
MonitorConfig
Name | Description | Value |
---|---|---|
path | Gets or sets the path relative to the endpoint domain name used to probe for endpoint health. | string |
port | Gets or sets the TCP port used to probe for endpoint health. | int |
profileMonitorStatus | Gets or sets the profile-level monitoring status of the Traffic Manager profile. | string |
protocol | Gets or sets the protocol (HTTP or HTTPS) used to probe for endpoint health. | string |