1. Packages
  2. Azure Classic
  3. API Docs
  4. network
  5. TrafficManagerProfile

We recommend using Azure Native.

Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi

azure.network.TrafficManagerProfile

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi

    Manages a Traffic Manager Profile to which multiple endpoints can be attached.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    import * as random from "@pulumi/random";
    
    const server = new random.RandomId("server", {
        keepers: {
            azi_id: "1",
        },
        byteLength: 8,
    });
    const example = new azure.core.ResourceGroup("example", {
        name: "trafficmanagerProfile",
        location: "West Europe",
    });
    const exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile("example", {
        name: server.hex,
        resourceGroupName: example.name,
        trafficRoutingMethod: "Weighted",
        dnsConfig: {
            relativeName: server.hex,
            ttl: 100,
        },
        monitorConfig: {
            protocol: "HTTP",
            port: 80,
            path: "/",
            intervalInSeconds: 30,
            timeoutInSeconds: 9,
            toleratedNumberOfFailures: 3,
        },
        tags: {
            environment: "Production",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    import pulumi_random as random
    
    server = random.RandomId("server",
        keepers={
            "azi_id": "1",
        },
        byte_length=8)
    example = azure.core.ResourceGroup("example",
        name="trafficmanagerProfile",
        location="West Europe")
    example_traffic_manager_profile = azure.network.TrafficManagerProfile("example",
        name=server.hex,
        resource_group_name=example.name,
        traffic_routing_method="Weighted",
        dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(
            relative_name=server.hex,
            ttl=100,
        ),
        monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(
            protocol="HTTP",
            port=80,
            path="/",
            interval_in_seconds=30,
            timeout_in_seconds=9,
            tolerated_number_of_failures=3,
        ),
        tags={
            "environment": "Production",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		server, err := random.NewRandomId(ctx, "server", &random.RandomIdArgs{
    			Keepers: pulumi.StringMap{
    				"azi_id": pulumi.String("1"),
    			},
    			ByteLength: pulumi.Int(8),
    		})
    		if err != nil {
    			return err
    		}
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("trafficmanagerProfile"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewTrafficManagerProfile(ctx, "example", &network.TrafficManagerProfileArgs{
    			Name:                 server.Hex,
    			ResourceGroupName:    example.Name,
    			TrafficRoutingMethod: pulumi.String("Weighted"),
    			DnsConfig: &network.TrafficManagerProfileDnsConfigArgs{
    				RelativeName: server.Hex,
    				Ttl:          pulumi.Int(100),
    			},
    			MonitorConfig: &network.TrafficManagerProfileMonitorConfigArgs{
    				Protocol:                  pulumi.String("HTTP"),
    				Port:                      pulumi.Int(80),
    				Path:                      pulumi.String("/"),
    				IntervalInSeconds:         pulumi.Int(30),
    				TimeoutInSeconds:          pulumi.Int(9),
    				ToleratedNumberOfFailures: pulumi.Int(3),
    			},
    			Tags: pulumi.StringMap{
    				"environment": pulumi.String("Production"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var server = new Random.RandomId("server", new()
        {
            Keepers = 
            {
                { "azi_id", "1" },
            },
            ByteLength = 8,
        });
    
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "trafficmanagerProfile",
            Location = "West Europe",
        });
    
        var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile("example", new()
        {
            Name = server.Hex,
            ResourceGroupName = example.Name,
            TrafficRoutingMethod = "Weighted",
            DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs
            {
                RelativeName = server.Hex,
                Ttl = 100,
            },
            MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs
            {
                Protocol = "HTTP",
                Port = 80,
                Path = "/",
                IntervalInSeconds = 30,
                TimeoutInSeconds = 9,
                ToleratedNumberOfFailures = 3,
            },
            Tags = 
            {
                { "environment", "Production" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.random.RandomId;
    import com.pulumi.random.RandomIdArgs;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.TrafficManagerProfile;
    import com.pulumi.azure.network.TrafficManagerProfileArgs;
    import com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;
    import com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var server = new RandomId("server", RandomIdArgs.builder()        
                .keepers(Map.of("azi_id", 1))
                .byteLength(8)
                .build());
    
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("trafficmanagerProfile")
                .location("West Europe")
                .build());
    
            var exampleTrafficManagerProfile = new TrafficManagerProfile("exampleTrafficManagerProfile", TrafficManagerProfileArgs.builder()        
                .name(server.hex())
                .resourceGroupName(example.name())
                .trafficRoutingMethod("Weighted")
                .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()
                    .relativeName(server.hex())
                    .ttl(100)
                    .build())
                .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()
                    .protocol("HTTP")
                    .port(80)
                    .path("/")
                    .intervalInSeconds(30)
                    .timeoutInSeconds(9)
                    .toleratedNumberOfFailures(3)
                    .build())
                .tags(Map.of("environment", "Production"))
                .build());
    
        }
    }
    
    resources:
      server:
        type: random:RandomId
        properties:
          keepers:
            azi_id: 1
          byteLength: 8
      example:
        type: azure:core:ResourceGroup
        properties:
          name: trafficmanagerProfile
          location: West Europe
      exampleTrafficManagerProfile:
        type: azure:network:TrafficManagerProfile
        name: example
        properties:
          name: ${server.hex}
          resourceGroupName: ${example.name}
          trafficRoutingMethod: Weighted
          dnsConfig:
            relativeName: ${server.hex}
            ttl: 100
          monitorConfig:
            protocol: HTTP
            port: 80
            path: /
            intervalInSeconds: 30
            timeoutInSeconds: 9
            toleratedNumberOfFailures: 3
          tags:
            environment: Production
    

    Create TrafficManagerProfile Resource

    new TrafficManagerProfile(name: string, args: TrafficManagerProfileArgs, opts?: CustomResourceOptions);
    @overload
    def TrafficManagerProfile(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              dns_config: Optional[TrafficManagerProfileDnsConfigArgs] = None,
                              max_return: Optional[int] = None,
                              monitor_config: Optional[TrafficManagerProfileMonitorConfigArgs] = None,
                              name: Optional[str] = None,
                              profile_status: Optional[str] = None,
                              resource_group_name: Optional[str] = None,
                              tags: Optional[Mapping[str, str]] = None,
                              traffic_routing_method: Optional[str] = None,
                              traffic_view_enabled: Optional[bool] = None)
    @overload
    def TrafficManagerProfile(resource_name: str,
                              args: TrafficManagerProfileArgs,
                              opts: Optional[ResourceOptions] = None)
    func NewTrafficManagerProfile(ctx *Context, name string, args TrafficManagerProfileArgs, opts ...ResourceOption) (*TrafficManagerProfile, error)
    public TrafficManagerProfile(string name, TrafficManagerProfileArgs args, CustomResourceOptions? opts = null)
    public TrafficManagerProfile(String name, TrafficManagerProfileArgs args)
    public TrafficManagerProfile(String name, TrafficManagerProfileArgs args, CustomResourceOptions options)
    
    type: azure:network:TrafficManagerProfile
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args TrafficManagerProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args TrafficManagerProfileArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args TrafficManagerProfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TrafficManagerProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TrafficManagerProfileArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    TrafficManagerProfile Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The TrafficManagerProfile resource accepts the following input properties:

    DnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    MonitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    ResourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    TrafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    MaxReturn int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    Name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    ProfileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    DnsConfig TrafficManagerProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    MonitorConfig TrafficManagerProfileMonitorConfigArgs
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    ResourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    TrafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    MaxReturn int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    Name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    ProfileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    resourceGroupName String
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    trafficRoutingMethod String
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    maxReturn Integer

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    name String
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus String
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    resourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    trafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    maxReturn number

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    trafficViewEnabled boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dns_config TrafficManagerProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitor_config TrafficManagerProfileMonitorConfigArgs
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    resource_group_name str
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    traffic_routing_method str
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    max_return int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    name str
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profile_status str
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    traffic_view_enabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig Property Map
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitorConfig Property Map
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    resourceGroupName String
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    trafficRoutingMethod String
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    maxReturn Number

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    name String
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus String
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    tags Map<String>
    A mapping of tags to assign to the resource.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the TrafficManagerProfile resource produces the following output properties:

    Fqdn string
    The FQDN of the created Profile.
    Id string
    The provider-assigned unique ID for this managed resource.
    Fqdn string
    The FQDN of the created Profile.
    Id string
    The provider-assigned unique ID for this managed resource.
    fqdn String
    The FQDN of the created Profile.
    id String
    The provider-assigned unique ID for this managed resource.
    fqdn string
    The FQDN of the created Profile.
    id string
    The provider-assigned unique ID for this managed resource.
    fqdn str
    The FQDN of the created Profile.
    id str
    The provider-assigned unique ID for this managed resource.
    fqdn String
    The FQDN of the created Profile.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing TrafficManagerProfile Resource

    Get an existing TrafficManagerProfile resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: TrafficManagerProfileState, opts?: CustomResourceOptions): TrafficManagerProfile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            dns_config: Optional[TrafficManagerProfileDnsConfigArgs] = None,
            fqdn: Optional[str] = None,
            max_return: Optional[int] = None,
            monitor_config: Optional[TrafficManagerProfileMonitorConfigArgs] = None,
            name: Optional[str] = None,
            profile_status: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            traffic_routing_method: Optional[str] = None,
            traffic_view_enabled: Optional[bool] = None) -> TrafficManagerProfile
    func GetTrafficManagerProfile(ctx *Context, name string, id IDInput, state *TrafficManagerProfileState, opts ...ResourceOption) (*TrafficManagerProfile, error)
    public static TrafficManagerProfile Get(string name, Input<string> id, TrafficManagerProfileState? state, CustomResourceOptions? opts = null)
    public static TrafficManagerProfile get(String name, Output<String> id, TrafficManagerProfileState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    DnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    Fqdn string
    The FQDN of the created Profile.
    MaxReturn int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    MonitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    Name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    ProfileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    ResourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TrafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    DnsConfig TrafficManagerProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    Fqdn string
    The FQDN of the created Profile.
    MaxReturn int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    MonitorConfig TrafficManagerProfileMonitorConfigArgs
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    Name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    ProfileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    ResourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TrafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    fqdn String
    The FQDN of the created Profile.
    maxReturn Integer

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    monitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    name String
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus String
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    resourceGroupName String
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    trafficRoutingMethod String
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig TrafficManagerProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    fqdn string
    The FQDN of the created Profile.
    maxReturn number

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    monitorConfig TrafficManagerProfileMonitorConfig
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    name string
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus string
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    resourceGroupName string
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    trafficRoutingMethod string
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    trafficViewEnabled boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dns_config TrafficManagerProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    fqdn str
    The FQDN of the created Profile.
    max_return int

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    monitor_config TrafficManagerProfileMonitorConfigArgs
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    name str
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profile_status str
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    resource_group_name str
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    traffic_routing_method str
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    traffic_view_enabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig Property Map
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    fqdn String
    The FQDN of the created Profile.
    maxReturn Number

    The amount of endpoints to return for DNS queries to this Profile. Possible values range from 1 to 8.

    NOTE: max_return must be set when the traffic_routing_method is MultiValue.

    monitorConfig Property Map
    This block specifies the Endpoint monitoring configuration for the Profile. One monitor_config block as defined below.
    name String
    The name of the Traffic Manager profile. Changing this forces a new resource to be created.
    profileStatus String
    The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
    resourceGroupName String
    The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.
    trafficRoutingMethod String
    Specifies the algorithm used to route traffic. Possible values are Geographic, Weighted, Performance, Priority, Subnet and MultiValue.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.

    Supporting Types

    TrafficManagerProfileDnsConfig, TrafficManagerProfileDnsConfigArgs

    RelativeName string
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    Ttl int
    The TTL value of the Profile used by Local DNS resolvers and clients.
    RelativeName string
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    Ttl int
    The TTL value of the Profile used by Local DNS resolvers and clients.
    relativeName String
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    ttl Integer
    The TTL value of the Profile used by Local DNS resolvers and clients.
    relativeName string
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    ttl number
    The TTL value of the Profile used by Local DNS resolvers and clients.
    relative_name str
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    ttl int
    The TTL value of the Profile used by Local DNS resolvers and clients.
    relativeName String
    The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.
    ttl Number
    The TTL value of the Profile used by Local DNS resolvers and clients.

    TrafficManagerProfileMonitorConfig, TrafficManagerProfileMonitorConfigArgs

    Port int
    The port number used by the monitoring checks.
    Protocol string
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    CustomHeaders List<TrafficManagerProfileMonitorConfigCustomHeader>
    One or more custom_header blocks as defined below.
    ExpectedStatusCodeRanges List<string>
    A list of status code ranges in the format of 100-101.
    IntervalInSeconds int
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    Path string
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    TimeoutInSeconds int
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    ToleratedNumberOfFailures int
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3
    Port int
    The port number used by the monitoring checks.
    Protocol string
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    CustomHeaders []TrafficManagerProfileMonitorConfigCustomHeader
    One or more custom_header blocks as defined below.
    ExpectedStatusCodeRanges []string
    A list of status code ranges in the format of 100-101.
    IntervalInSeconds int
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    Path string
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    TimeoutInSeconds int
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    ToleratedNumberOfFailures int
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3
    port Integer
    The port number used by the monitoring checks.
    protocol String
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    customHeaders List<TrafficManagerProfileMonitorConfigCustomHeader>
    One or more custom_header blocks as defined below.
    expectedStatusCodeRanges List<String>
    A list of status code ranges in the format of 100-101.
    intervalInSeconds Integer
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    path String
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    timeoutInSeconds Integer
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    toleratedNumberOfFailures Integer
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3
    port number
    The port number used by the monitoring checks.
    protocol string
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    customHeaders TrafficManagerProfileMonitorConfigCustomHeader[]
    One or more custom_header blocks as defined below.
    expectedStatusCodeRanges string[]
    A list of status code ranges in the format of 100-101.
    intervalInSeconds number
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    path string
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    timeoutInSeconds number
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    toleratedNumberOfFailures number
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3
    port int
    The port number used by the monitoring checks.
    protocol str
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    custom_headers Sequence[TrafficManagerProfileMonitorConfigCustomHeader]
    One or more custom_header blocks as defined below.
    expected_status_code_ranges Sequence[str]
    A list of status code ranges in the format of 100-101.
    interval_in_seconds int
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    path str
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    timeout_in_seconds int
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    tolerated_number_of_failures int
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3
    port Number
    The port number used by the monitoring checks.
    protocol String
    The protocol used by the monitoring checks, supported values are HTTP, HTTPS and TCP.
    customHeaders List<Property Map>
    One or more custom_header blocks as defined below.
    expectedStatusCodeRanges List<String>
    A list of status code ranges in the format of 100-101.
    intervalInSeconds Number
    The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: 30 (normal probing) and 10 (fast probing). The default value is 30.
    path String
    The path used by the monitoring checks. Required when protocol is set to HTTP or HTTPS - cannot be set when protocol is set to TCP.
    timeoutInSeconds Number
    The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If interval_in_seconds is set to 30, then timeout_in_seconds can be between 5 and 10. The default value is 10. If interval_in_seconds is set to 10, then valid values are between 5 and 9 and timeout_in_seconds is required.
    toleratedNumberOfFailures Number
    The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between 0 and 9. The default value is 3

    TrafficManagerProfileMonitorConfigCustomHeader, TrafficManagerProfileMonitorConfigCustomHeaderArgs

    Name string
    The name of the custom header.
    Value string
    The value of custom header. Applicable for HTTP and HTTPS protocol.
    Name string
    The name of the custom header.
    Value string
    The value of custom header. Applicable for HTTP and HTTPS protocol.
    name String
    The name of the custom header.
    value String
    The value of custom header. Applicable for HTTP and HTTPS protocol.
    name string
    The name of the custom header.
    value string
    The value of custom header. Applicable for HTTP and HTTPS protocol.
    name str
    The name of the custom header.
    value str
    The value of custom header. Applicable for HTTP and HTTPS protocol.
    name String
    The name of the custom header.
    value String
    The value of custom header. Applicable for HTTP and HTTPS protocol.

    Import

    Traffic Manager Profiles can be imported using the resource id, e.g.

    $ pulumi import azure:network/trafficManagerProfile:TrafficManagerProfile exampleProfile /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/trafficManagerProfiles/mytrafficmanagerprofile1
    

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi