Module trafficmanager
This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.
Resources
Functions
Others
- EndpointArgs
- EndpointState
- GetGeographicalLocationArgs
- GetGeographicalLocationResult
- ProfileArgs
- ProfileState
Resources
Resource Endpoint
class Endpoint extends CustomResourceManages a Traffic Manager Endpoint.
#### Example Usage
```typescript
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 exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile("exampleTrafficManagerProfile", {
resourceGroupName: exampleResourceGroup.name,
trafficRoutingMethod: "Weighted",
dns_config: {
relativeName: server.hex,
ttl: 100,
},
monitor_config: {
protocol: "http",
port: 80,
path: "/",
intervalInSeconds: 30,
timeoutInSeconds: 9,
toleratedNumberOfFailures: 3,
},
tags: {
environment: "Production",
},
});
const exampleTrafficManagerEndpoint = new azure.network.TrafficManagerEndpoint("exampleTrafficManagerEndpoint", {
resourceGroupName: exampleResourceGroup.name,
profileName: exampleTrafficManagerProfile.name,
type: "externalEndpoints",
weight: 100,
});
```constructor
new Endpoint(name: string, args: EndpointArgs, opts?: pulumi.CustomResourceOptions)method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EndpointState, opts?: pulumi.CustomResourceOptions): EndpointGet an existing Endpoint resource's state with the given name, ID, and optional extra
properties used to qualify the lookup.method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is EndpointReturns true if the given object is an instance of Endpoint. This is designed to work even
when multiple copies of the Pulumi SDK have been loaded into the same process.property customHeaders
public customHeaders: pulumi.Output<EndpointCustomHeader[] | undefined>;One or more `customHeader` blocks as defined belowproperty endpointLocation
public endpointLocation: pulumi.Output<string>;Specifies the Azure location of the Endpoint,
this must be specified for Profiles using the `Performance` routing method
if the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.
For Endpoints of type `azureEndpoints` the value will be taken from the
location of the Azure target resource.property endpointMonitorStatus
public endpointMonitorStatus: pulumi.Output<string>;property endpointStatus
public endpointStatus: pulumi.Output<string>;The status of the Endpoint, can be set to
either `Enabled` or `Disabled`. Defaults to `Enabled`.property geoMappings
public geoMappings: pulumi.Output<string[] | undefined>;A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during
deployments and may be missing (undefined) during planning phases.property minChildEndpoints
public minChildEndpoints: pulumi.Output<number | undefined>;This argument specifies the minimum number
of endpoints that must be ‘online’ in the child profile in order for the
parent profile to direct traffic to any of the endpoints in that child
profile. This argument only applies to Endpoints of type `nestedEndpoints`
and defaults to `1`.property name
public name: pulumi.Output<string>;The name of the Traffic Manager endpoint. Changing this forces a
new resource to be created.property priority
public priority: pulumi.Output<number>;Specifies the priority of this Endpoint, this must be
specified for Profiles using the `Priority` traffic routing method. Supports
values between 1 and 1000, with no Endpoints sharing the same value. If
omitted the value will be computed in order of creation.property profileName
public profileName: pulumi.Output<string>;The name of the Traffic Manager Profile to attach
create the Traffic Manager endpoint.property resourceGroupName
public resourceGroupName: pulumi.Output<string>;The name of the resource group where the Traffic Manager Profile exists.property subnets
public subnets: pulumi.Output<EndpointSubnet[] | undefined>;One or more `subnet` blocks as defined belowproperty target
public target: pulumi.Output<string>;The FQDN DNS name of the target. This argument must be
provided for an endpoint of type `externalEndpoints`, for other types it
will be computed.property targetResourceId
public targetResourceId: pulumi.Output<string | undefined>;The resource id of an Azure resource to
target. This argument must be provided for an endpoint of type
`azureEndpoints` or `nestedEndpoints`.property type
public type: pulumi.Output<string>;The Endpoint type, must be one of:
- `azureEndpoints`
- `externalEndpoints`
- `nestedEndpoints`property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after
deployments.property weight
public weight: pulumi.Output<number>;Specifies how much traffic should be distributed to this
endpoint, this must be specified for Profiles using the `Weighted` traffic
routing method. Supports values between 1 and 1000.Resource Profile
class Profile extends CustomResourceManages a Traffic Manager Profile to which multiple endpoints can be attached.
#### Example Usage
```typescript
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 exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile("exampleTrafficManagerProfile", {
resourceGroupName: exampleResourceGroup.name,
trafficRoutingMethod: "Weighted",
dns_config: {
relativeName: server.hex,
ttl: 100,
},
monitor_config: {
protocol: "http",
port: 80,
path: "/",
intervalInSeconds: 30,
timeoutInSeconds: 9,
toleratedNumberOfFailures: 3,
},
tags: {
environment: "Production",
},
});
```constructor
new Profile(name: string, args: ProfileArgs, opts?: pulumi.CustomResourceOptions)method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProfileState, opts?: pulumi.CustomResourceOptions): ProfileGet an existing Profile resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProfileReturns true if the given object is an instance of Profile. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property dnsConfig
public dnsConfig: pulumi.Output<ProfileDnsConfig>;This block specifies the DNS configuration of the Profile, it supports the fields documented below.
property fqdn
public fqdn: pulumi.Output<string>;The FQDN of the created Profile.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property monitorConfig
public monitorConfig: pulumi.Output<ProfileMonitorConfig>;This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented below.
property name
public name: pulumi.Output<string>;The name of the Traffic Manager profile. Changing this forces a new resource to be created.
property profileStatus
public profileStatus: pulumi.Output<string>;The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
property resourceGroupName
public resourceGroupName: pulumi.Output<string>;The name of the resource group in which to create the Traffic Manager profile.
property tags
public tags: pulumi.Output<{[key: string]: string} | undefined>;A mapping of tags to assign to the resource.
property trafficRoutingMethod
public trafficRoutingMethod: pulumi.Output<string>;Specifies the algorithm used to route traffic, possible values are:
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Functions
Function getGeographicalLocation
getGeographicalLocation(args: GetGeographicalLocationArgs, opts?: pulumi.InvokeOptions): Promise<GetGeographicalLocationResult>Others
interface EndpointArgs
interface EndpointArgsThe set of arguments for constructing a Endpoint resource.
property customHeaders
customHeaders?: pulumi.Input<pulumi.Input<EndpointCustomHeader>[]>;One or more customHeader blocks as defined below
property endpointLocation
endpointLocation?: pulumi.Input<string>;Specifies the Azure location of the Endpoint,
this must be specified for Profiles using the Performance routing method
if the Endpoint is of either type nestedEndpoints or externalEndpoints.
For Endpoints of type azureEndpoints the value will be taken from the
location of the Azure target resource.
property endpointStatus
endpointStatus?: pulumi.Input<string>;The status of the Endpoint, can be set to
either Enabled or Disabled. Defaults to Enabled.
property geoMappings
geoMappings?: pulumi.Input<pulumi.Input<string>[]>;A list of Geographic Regions used to distribute traffic, such as WORLD, UK or DE. The same location can’t be specified in two endpoints. See the Geographic Hierarchies documentation for more information.
property minChildEndpoints
minChildEndpoints?: pulumi.Input<number>;This argument specifies the minimum number
of endpoints that must be ‘online’ in the child profile in order for the
parent profile to direct traffic to any of the endpoints in that child
profile. This argument only applies to Endpoints of type nestedEndpoints
and defaults to 1.
property name
name?: pulumi.Input<string>;The name of the Traffic Manager endpoint. Changing this forces a new resource to be created.
property priority
priority?: pulumi.Input<number>;Specifies the priority of this Endpoint, this must be
specified for Profiles using the Priority traffic routing method. Supports
values between 1 and 1000, with no Endpoints sharing the same value. If
omitted the value will be computed in order of creation.
property profileName
profileName: pulumi.Input<string>;The name of the Traffic Manager Profile to attach create the Traffic Manager endpoint.
property resourceGroupName
resourceGroupName: pulumi.Input<string>;The name of the resource group where the Traffic Manager Profile exists.
property subnets
subnets?: pulumi.Input<pulumi.Input<EndpointSubnet>[]>;One or more subnet blocks as defined below
property target
target?: pulumi.Input<string>;The FQDN DNS name of the target. This argument must be
provided for an endpoint of type externalEndpoints, for other types it
will be computed.
property targetResourceId
targetResourceId?: pulumi.Input<string>;The resource id of an Azure resource to
target. This argument must be provided for an endpoint of type
azureEndpoints or nestedEndpoints.
property type
type: pulumi.Input<string>;The Endpoint type, must be one of:
- azureEndpoints
- externalEndpoints
- nestedEndpoints
property weight
weight?: pulumi.Input<number>;Specifies how much traffic should be distributed to this
endpoint, this must be specified for Profiles using the Weighted traffic
routing method. Supports values between 1 and 1000.
interface EndpointState
interface EndpointStateInput properties used for looking up and filtering Endpoint resources.
property customHeaders
customHeaders?: pulumi.Input<pulumi.Input<EndpointCustomHeader>[]>;One or more customHeader blocks as defined below
property endpointLocation
endpointLocation?: pulumi.Input<string>;Specifies the Azure location of the Endpoint,
this must be specified for Profiles using the Performance routing method
if the Endpoint is of either type nestedEndpoints or externalEndpoints.
For Endpoints of type azureEndpoints the value will be taken from the
location of the Azure target resource.
property endpointMonitorStatus
endpointMonitorStatus?: pulumi.Input<string>;property endpointStatus
endpointStatus?: pulumi.Input<string>;The status of the Endpoint, can be set to
either Enabled or Disabled. Defaults to Enabled.
property geoMappings
geoMappings?: pulumi.Input<pulumi.Input<string>[]>;A list of Geographic Regions used to distribute traffic, such as WORLD, UK or DE. The same location can’t be specified in two endpoints. See the Geographic Hierarchies documentation for more information.
property minChildEndpoints
minChildEndpoints?: pulumi.Input<number>;This argument specifies the minimum number
of endpoints that must be ‘online’ in the child profile in order for the
parent profile to direct traffic to any of the endpoints in that child
profile. This argument only applies to Endpoints of type nestedEndpoints
and defaults to 1.
property name
name?: pulumi.Input<string>;The name of the Traffic Manager endpoint. Changing this forces a new resource to be created.
property priority
priority?: pulumi.Input<number>;Specifies the priority of this Endpoint, this must be
specified for Profiles using the Priority traffic routing method. Supports
values between 1 and 1000, with no Endpoints sharing the same value. If
omitted the value will be computed in order of creation.
property profileName
profileName?: pulumi.Input<string>;The name of the Traffic Manager Profile to attach create the Traffic Manager endpoint.
property resourceGroupName
resourceGroupName?: pulumi.Input<string>;The name of the resource group where the Traffic Manager Profile exists.
property subnets
subnets?: pulumi.Input<pulumi.Input<EndpointSubnet>[]>;One or more subnet blocks as defined below
property target
target?: pulumi.Input<string>;The FQDN DNS name of the target. This argument must be
provided for an endpoint of type externalEndpoints, for other types it
will be computed.
property targetResourceId
targetResourceId?: pulumi.Input<string>;The resource id of an Azure resource to
target. This argument must be provided for an endpoint of type
azureEndpoints or nestedEndpoints.
property type
type?: pulumi.Input<string>;The Endpoint type, must be one of:
- azureEndpoints
- externalEndpoints
- nestedEndpoints
property weight
weight?: pulumi.Input<number>;Specifies how much traffic should be distributed to this
endpoint, this must be specified for Profiles using the Weighted traffic
routing method. Supports values between 1 and 1000.
interface GetGeographicalLocationArgs
interface GetGeographicalLocationArgsA collection of arguments for invoking getGeographicalLocation.
property name
name: string;Specifies the name of the Location, for example World, Europe or Germany.
interface GetGeographicalLocationResult
interface GetGeographicalLocationResultA collection of values returned by getGeographicalLocation.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface ProfileArgs
interface ProfileArgsThe set of arguments for constructing a Profile resource.
property dnsConfig
dnsConfig: pulumi.Input<ProfileDnsConfig>;This block specifies the DNS configuration of the Profile, it supports the fields documented below.
property monitorConfig
monitorConfig: pulumi.Input<ProfileMonitorConfig>;This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented below.
property name
name?: pulumi.Input<string>;The name of the Traffic Manager profile. Changing this forces a new resource to be created.
property profileStatus
profileStatus?: pulumi.Input<string>;The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
property resourceGroupName
resourceGroupName: pulumi.Input<string>;The name of the resource group in which to create the Traffic Manager profile.
property tags
tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A mapping of tags to assign to the resource.
property trafficRoutingMethod
trafficRoutingMethod: pulumi.Input<string>;Specifies the algorithm used to route traffic, possible values are:
interface ProfileState
interface ProfileStateInput properties used for looking up and filtering Profile resources.
property dnsConfig
dnsConfig?: pulumi.Input<ProfileDnsConfig>;This block specifies the DNS configuration of the Profile, it supports the fields documented below.
property fqdn
fqdn?: pulumi.Input<string>;The FQDN of the created Profile.
property monitorConfig
monitorConfig?: pulumi.Input<ProfileMonitorConfig>;This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented below.
property name
name?: pulumi.Input<string>;The name of the Traffic Manager profile. Changing this forces a new resource to be created.
property profileStatus
profileStatus?: pulumi.Input<string>;The status of the profile, can be set to either Enabled or Disabled. Defaults to Enabled.
property resourceGroupName
resourceGroupName?: pulumi.Input<string>;The name of the resource group in which to create the Traffic Manager profile.
property tags
tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A mapping of tags to assign to the resource.
property trafficRoutingMethod
trafficRoutingMethod?: pulumi.Input<string>;Specifies the algorithm used to route traffic, possible values are: