1. Packages
  2. Azure Classic
  3. API Docs
  4. trafficmanager
  5. Profile

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

azure.trafficmanager.Profile

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi
    Deprecated: azure.trafficmanager.Profile has been deprecated in favor of azure.network.TrafficManagerProfile

    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={
            "relative_name": server.hex,
            "ttl": 100,
        },
        monitor_config={
            "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/v6/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v6/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 Profile Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Profile(name: string, args: ProfileArgs, opts?: CustomResourceOptions);
    @overload
    def Profile(resource_name: str,
                args: ProfileArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Profile(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                dns_config: Optional[ProfileDnsConfigArgs] = None,
                max_return: Optional[int] = None,
                monitor_config: Optional[ProfileMonitorConfigArgs] = 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)
    func NewProfile(ctx *Context, name string, args ProfileArgs, opts ...ResourceOption) (*Profile, error)
    public Profile(string name, ProfileArgs args, CustomResourceOptions? opts = null)
    public Profile(String name, ProfileArgs args)
    public Profile(String name, ProfileArgs args, CustomResourceOptions options)
    
    type: azure:trafficmanager:Profile
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ProfileArgs
    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 ProfileArgs
    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 ProfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProfileArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Profile Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Profile resource accepts the following input properties:

    DnsConfig ProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    MonitorConfig ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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 ProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    MonitorConfig ProfileMonitorConfigArgs
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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 ProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitorConfig ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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 ProfileDnsConfig
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitorConfig ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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 ProfileDnsConfigArgs
    This block specifies the DNS configuration of the Profile. One dns_config block as defined below.
    monitor_config ProfileMonitorConfigArgs
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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 Profile 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 Profile Resource

    Get an existing Profile 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?: ProfileState, opts?: CustomResourceOptions): Profile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            dns_config: Optional[ProfileDnsConfigArgs] = None,
            fqdn: Optional[str] = None,
            max_return: Optional[int] = None,
            monitor_config: Optional[ProfileMonitorConfigArgs] = 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) -> Profile
    func GetProfile(ctx *Context, name string, id IDInput, state *ProfileState, opts ...ResourceOption) (*Profile, error)
    public static Profile Get(string name, Input<string> id, ProfileState? state, CustomResourceOptions? opts = null)
    public static Profile get(String name, Output<String> id, ProfileState 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 ProfileDnsConfig
    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 ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    DnsConfig ProfileDnsConfigArgs
    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 ProfileMonitorConfigArgs
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    TrafficViewEnabled bool
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig ProfileDnsConfig
    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 ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dnsConfig ProfileDnsConfig
    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 ProfileMonitorConfig
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    trafficViewEnabled boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.
    dns_config ProfileDnsConfigArgs
    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 ProfileMonitorConfigArgs
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    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.

    • Geographic - Traffic is routed based on Geographic regions specified in the Endpoint.
    • MultiValue - All healthy Endpoints are returned. MultiValue routing method works only if all the endpoints of type External and are specified as IPv4 or IPv6 addresses.
    • Performance - Traffic is routed via the User's closest Endpoint
    • Priority - Traffic is routed to the Endpoint with the lowest priority value.
    • Subnet - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.
    • Weighted - Traffic is spread across Endpoints proportional to their weight value.
    trafficViewEnabled Boolean
    Indicates whether Traffic View is enabled for the Traffic Manager profile.

    Supporting Types

    ProfileDnsConfig, ProfileDnsConfigArgs

    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.

    ProfileMonitorConfig, ProfileMonitorConfigArgs

    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<ProfileMonitorConfigCustomHeader>
    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 []ProfileMonitorConfigCustomHeader
    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<ProfileMonitorConfigCustomHeader>
    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 ProfileMonitorConfigCustomHeader[]
    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[ProfileMonitorConfigCustomHeader]
    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

    ProfileMonitorConfigCustomHeader, ProfileMonitorConfigCustomHeaderArgs

    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:trafficmanager/profile:Profile exampleProfile /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/trafficManagerProfiles/mytrafficmanagerprofile1
    

    To learn more about importing existing cloud resources, see Importing resources.

    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 v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi