Bicep Module Documentation

← Back to Overview

Module traffic-manager

trafficManager

Property Value Description
general (required) general
dnsConfig dnsConfig The DNS settings of the Traffic Manager profile.
azureEndpoints trafficManagerEndpoint[] The list of endpoints in the Traffic Manager profile. Specific to Azure Endpoints
nestedEndpoints trafficManagerEndpoint[] The list of endpoints in the Traffic Manager profile. Specific to Nested Endpoints
externalEndpoints trafficManagerEndpoint[] The list of endpoints in the Traffic Manager profile. Specific to External Endpoints
maxReturn int Maximum number of endpoints to be returned for MultiValue routing type. (default: 0)
monitorConfig monitorConfig The endpoint monitoring settings of the Traffic Manager profile.
profileStatus 'Disabled'
'Enabled'
The status of the Traffic Manager profile.
trafficRoutingMethod (required) 'Geographic'
'MultiValue'
'Performance'
'Priority'
'Subnet'
'Weighted'
The traffic routing method of the Traffic Manager profile.
trafficViewEnrollmentStatus 'Disabled'
'Enabled'
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. (default: disabled)

dnsConfig

Property Value Description
relativeName (required) string 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. (default: resourcename)
ttl (required) int 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. (default: 60)

monitorConfig

Property Value Description
customHeaders trafficManagerEndpointPropertiesCustomHeader[] List of custom headers.
expectedStatusCodeRanges trafficManagerEndpointMonitorConfigExpectedStatusCodeRanges[] List of expected status code ranges.
intervalInSeconds '10'
'30'
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. (default: 30)
path string The path relative to the endpoint domain name used to probe for endpoint health. (default: /)
port int The TCP port used to probe for endpoint health. (default: 80)
protocol 'HTTP'
'HTTPS'
'TCP'
The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. (default: HTTP)
timeoutInSeconds int 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. (default: 5)
toleratedNumberOfFailures int 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. (default: 3)

trafficManagerEndpoint

Property Value Description
name (required) string The name of the resource
properties (required) properties The properties of the Traffic Manager endpoint.

properties

Property Value Description
alwaysServe 'Disabled'
'Enabled'
If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
customHeaders trafficManagerEndpointPropertiesCustomHeader[] List of custom headers.
endpointLocation string Specifies the location of the external or nested endpoints when using the Performance traffic routing method.
endpointStatus 'Disabled'
'Enabled'
The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
geoMapping string[] 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.
minChildEndpoints int 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.
minChildEndpointsIPv4 int 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.
minChildEndpointsIPv6 int 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.
subnets trafficManagerEndpointPropertiesSubnet[] 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.
target string 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.
targetResourceId string The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type ExternalEndpoints.
priority int 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. (default: 1)
weight int The weight of this endpoint when using the Weighted traffic routing method. Possible values are from 1 to 1000. (default: 1)

trafficManagerEndpointPropertiesCustomHeader

Property Value Description
name (required) string Header name.
value (required) string Header value.

trafficManagerEndpointPropertiesSubnet

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

trafficManagerEndpointMonitorConfigExpectedStatusCodeRanges

Property Value Description
max (required) int Max status code.
min (required) int Min status code.

naming

Property Value Description
forceFunctionAsFullName bool Use the function value as the full name of the resource
abbreviation string Override the abbreviation of this resource with this parameter
environment string The resource environment (for example: dev, tst, acc, prd)
location string The resource location (for example: weu, we, westeurope)
customer string The name of the customer
delimiter string The delimiter between resources (default: -)
nameFormat Array containing any of:
'abbreviation'
'customer'
'environment'
'function'
'location'
'param1'
'param2'
'param3'
'useCaseName'
The order of the array defines the order of elements in the naming scheme
param1 string Extra parameter self defined
param2 string Extra parameter self defined
param3 string Extra parameter self defined
function (required) string Function of the resource [can be app, db, security,...]
useCaseName string Name of the use case [can be hub, spoke,...]
suffix string Suffix for the resource, if empty non will be appended, otherwise will be added to the end [can be index, ...]
forceDefaultNaming bool Force the CAF naming instead of default company naming

resourceLock

Property Value Description
name string Character limit: 1-90. Valid characters: Alphanumerics, periods, underscores, hyphens, and parenthesis. Can't end in period.
level (required) 'CanNotDelete'
'ReadOnly'
The level of the lock. Possible values are: CanNotDelete and ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it. Read-Only locks must be commented to be able to deploy again
notes string Notes about the lock. Maximum of 512 characters.
owners resourceLockOwner[] The owners of the lock

resourceLockOwner

Property Value Description
applicationId (required) string The application ID of the lock owner.

roleAssignment

Property Value Description
principalId (required) string The principal ID
roleDefinitionId (required) string The role definition ID, data file can be used for this
condition string Condition on the role assignment
conditionVersion string Version of the condition. Currently the only accepted value is "2.0"
delegatedManagedIdentityResourceId string Id of the delegated managed identity resource
description string Description of role assignment

general

Property Value Description
tags object Tags of the resource [hashtable]
location (required) string Location of the resource
naming (required) naming Naming module of the resource
resourceGroupName (required) string Name of the resource group where the resource should be located
sharedNaming (required) naming Reference to the default naming
roleAssignments roleAssignment[] Role assignments on the resource
resourceLocks resourceLock[] Resource Locks on the resource

Changelog

1.1.2 (2025-09-24)

Bug Fixes

  • remove deployment name + cleanup

1.1.1 (2025-04-11)

Bug Fixes

  • naming connected resources when forceFunctionAsFullName or forceDefaultNaming is true

1.1.0 (2025-03-26)

Features

  • add resourceName output