Create or update a Traffic Manager profile.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}?api-version=2022-04-01
URI Parameters
Name |
In |
Required |
Type |
Description |
profileName
|
path |
True
|
string
|
The name of the Traffic Manager profile.
|
resourceGroupName
|
path |
True
|
string
|
The name of the resource group. The name is case insensitive.
|
subscriptionId
|
path |
True
|
string
|
Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
|
api-version
|
query |
True
|
string
|
Client Api Version.
|
Request Body
Name |
Type |
Description |
id
|
string
|
Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
|
location
|
string
|
The Azure Region where the resource lives
|
name
|
string
|
The name of the resource
|
properties.allowedEndpointRecordTypes
|
AllowedEndpointRecordType[]
|
The list of allowed endpoint record types.
|
properties.dnsConfig
|
DnsConfig
|
The DNS settings of the Traffic Manager profile.
|
properties.endpoints
|
Endpoint[]
|
The list of endpoints in the Traffic Manager profile.
|
properties.maxReturn
|
integer
|
Maximum number of endpoints to be returned for MultiValue routing type.
|
properties.monitorConfig
|
MonitorConfig
|
The endpoint monitoring settings of the Traffic Manager profile.
|
properties.profileStatus
|
ProfileStatus
|
The status of the Traffic Manager profile.
|
properties.trafficRoutingMethod
|
TrafficRoutingMethod
|
The traffic routing method of the Traffic Manager profile.
|
properties.trafficViewEnrollmentStatus
|
TrafficViewEnrollmentStatus
|
Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile.
|
tags
|
object
|
Resource tags.
|
type
|
string
|
The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
|
Responses
Name |
Type |
Description |
200 OK
|
Profile
|
The created or updated Traffic Manager profile.
|
201 Created
|
Profile
|
The created or updated Traffic Manager profile.
|
Other Status Codes
|
CloudError
|
Default response. It will be deserialized as per the Error definition.
|
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
impersonate your user account
|
Examples
Profile-PUT-MultiValue
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficmanagerprofiles/azsmnet6386?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "MultiValue",
"dnsConfig": {
"relativeName": "azsmnet6386",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx"
},
"trafficViewEnrollmentStatus": "Disabled",
"maxReturn": 2
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
import com.azure.resourcemanager.trafficmanager.models.TrafficViewEnrollmentStatus;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-MultiValue
* .json
*/
/**
* Sample code: Profile-PUT-MultiValue.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTMultiValue(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles().createOrUpdateWithResponse(
"azuresdkfornetautoresttrafficmanager1421", "azsmnet6386",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.MULTI_VALUE)
.withDnsConfig(new DnsConfig().withRelativeName("azsmnet6386").withTtl(35L))
.withMonitorConfig(
new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L).withPath("/testpath.aspx"))
.withTrafficViewEnrollmentStatus(TrafficViewEnrollmentStatus.DISABLED).withMaxReturn(2L),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_multi_value.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="azuresdkfornetautoresttrafficmanager1421",
profile_name="azsmnet6386",
parameters={
"location": "global",
"properties": {
"dnsConfig": {"relativeName": "azsmnet6386", "ttl": 35},
"maxReturn": 2,
"monitorConfig": {"path": "/testpath.aspx", "port": 80, "protocol": "HTTP"},
"profileStatus": "Enabled",
"trafficRoutingMethod": "MultiValue",
"trafficViewEnrollmentStatus": "Disabled",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-MultiValue.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-MultiValue.json
func ExampleProfilesClient_CreateOrUpdate_profilePutMultiValue() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "azuresdkfornetautoresttrafficmanager1421", "azsmnet6386", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("azsmnet6386"),
TTL: to.Ptr[int64](35),
},
MaxReturn: to.Ptr[int64](2),
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
Port: to.Ptr[int64](80),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodMultiValue),
TrafficViewEnrollmentStatus: to.Ptr(armtrafficmanager.TrafficViewEnrollmentStatusDisabled),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("azsmnet6386"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("azsmnet6386.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("azsmnet6386"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// },
// MaxReturn: to.Ptr[int64](2),
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// IntervalInSeconds: to.Ptr[int64](30),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusInactive),
// TimeoutInSeconds: to.Ptr[int64](10),
// ToleratedNumberOfFailures: to.Ptr[int64](3),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodMultiValue),
// TrafficViewEnrollmentStatus: to.Ptr(armtrafficmanager.TrafficViewEnrollmentStatusDisabled),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-MultiValue.json
*/
async function profilePutMultiValue() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName =
process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "azuresdkfornetautoresttrafficmanager1421";
const profileName = "azsmnet6386";
const parameters = {
dnsConfig: { relativeName: "azsmnet6386", ttl: 35 },
location: "global",
maxReturn: 2,
monitorConfig: { path: "/testpath.aspx", port: 80, protocol: "HTTP" },
profileStatus: "Enabled",
trafficRoutingMethod: "MultiValue",
trafficViewEnrollmentStatus: "Disabled",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-MultiValue.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "azuresdkfornetautoresttrafficmanager1421";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "azsmnet6386";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.MultiValue,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "azsmnet6386",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
},
TrafficViewEnrollmentStatus = TrafficViewEnrollmentStatus.Disabled,
MaxReturn = 2,
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386",
"name": "azsmnet6386",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "MultiValue",
"dnsConfig": {
"relativeName": "azsmnet6386",
"fqdn": "azsmnet6386.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "Inactive",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 30,
"toleratedNumberOfFailures": 3,
"timeoutInSeconds": 10
},
"trafficViewEnrollmentStatus": "Disabled",
"maxReturn": 2,
"endpoints": []
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386",
"name": "azsmnet6386",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "MultiValue",
"dnsConfig": {
"relativeName": "azsmnet6386",
"fqdn": "azsmnet6386.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "Inactive",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 30,
"toleratedNumberOfFailures": 3,
"timeoutInSeconds": 10
},
"trafficViewEnrollmentStatus": "Disabled",
"maxReturn": 2,
"endpoints": []
}
}
Profile-PUT-NoEndpoints
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficmanagerprofiles/azsmnet6386?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azsmnet6386",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx"
}
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-
* NoEndpoints.json
*/
/**
* Sample code: Profile-PUT-NoEndpoints.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTNoEndpoints(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles().createOrUpdateWithResponse(
"azuresdkfornetautoresttrafficmanager1421", "azsmnet6386",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.PERFORMANCE)
.withDnsConfig(new DnsConfig().withRelativeName("azsmnet6386").withTtl(35L)).withMonitorConfig(
new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L).withPath("/testpath.aspx")),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_no_endpoints.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="azuresdkfornetautoresttrafficmanager1421",
profile_name="azsmnet6386",
parameters={
"location": "global",
"properties": {
"dnsConfig": {"relativeName": "azsmnet6386", "ttl": 35},
"monitorConfig": {"path": "/testpath.aspx", "port": 80, "protocol": "HTTP"},
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-NoEndpoints.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-NoEndpoints.json
func ExampleProfilesClient_CreateOrUpdate_profilePutNoEndpoints() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "azuresdkfornetautoresttrafficmanager1421", "azsmnet6386", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("azsmnet6386"),
TTL: to.Ptr[int64](35),
},
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
Port: to.Ptr[int64](80),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("azsmnet6386"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("azsmnet6386.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("azsmnet6386"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// },
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// IntervalInSeconds: to.Ptr[int64](30),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusInactive),
// TimeoutInSeconds: to.Ptr[int64](10),
// ToleratedNumberOfFailures: to.Ptr[int64](3),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-NoEndpoints.json
*/
async function profilePutNoEndpoints() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName =
process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "azuresdkfornetautoresttrafficmanager1421";
const profileName = "azsmnet6386";
const parameters = {
dnsConfig: { relativeName: "azsmnet6386", ttl: 35 },
location: "global",
monitorConfig: { path: "/testpath.aspx", port: 80, protocol: "HTTP" },
profileStatus: "Enabled",
trafficRoutingMethod: "Performance",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-NoEndpoints.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "azuresdkfornetautoresttrafficmanager1421";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "azsmnet6386";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.Performance,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "azsmnet6386",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
},
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386",
"name": "azsmnet6386",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azsmnet6386",
"fqdn": "azsmnet6386.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "Inactive",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 30,
"toleratedNumberOfFailures": 3,
"timeoutInSeconds": 10
},
"endpoints": []
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager1421/providers/Microsoft.Network/trafficManagerProfiles/azsmnet6386",
"name": "azsmnet6386",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azsmnet6386",
"fqdn": "azsmnet6386.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "Inactive",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 30,
"toleratedNumberOfFailures": 3,
"timeoutInSeconds": 10
},
"endpoints": []
}
}
Profile-PUT-WithAliasing
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficmanagerprofiles/azuresdkfornetautoresttrafficmanager6192?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2
},
"allowedEndpointRecordTypes": [
"DomainName"
],
"endpoints": [
{
"name": "My external endpoint",
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
"properties": {
"target": "foobar.contoso.com",
"endpointStatus": "Enabled",
"endpointLocation": "North Europe"
}
}
]
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.EndpointInner;
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.AllowedEndpointRecordType;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.EndpointStatus;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
import java.util.Arrays;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-
* WithAliasing.json
*/
/**
* Sample code: Profile-PUT-WithAliasing.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTWithAliasing(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles().createOrUpdateWithResponse(
"azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.PERFORMANCE)
.withDnsConfig(
new DnsConfig().withRelativeName("azuresdkfornetautoresttrafficmanager6192").withTtl(35L))
.withMonitorConfig(
new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L).withPath("/testpath.aspx")
.withIntervalInSeconds(10L).withTimeoutInSeconds(5L).withToleratedNumberOfFailures(2L))
.withEndpoints(Arrays.asList(new EndpointInner().withName("My external endpoint")
.withType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
.withTarget("foobar.contoso.com").withEndpointStatus(EndpointStatus.ENABLED)
.withEndpointLocation("North Europe")))
.withAllowedEndpointRecordTypes(Arrays.asList(AllowedEndpointRecordType.DOMAIN_NAME)),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_with_aliasing.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="azuresdkfornetautoresttrafficmanager2583",
profile_name="azuresdkfornetautoresttrafficmanager6192",
parameters={
"location": "global",
"properties": {
"allowedEndpointRecordTypes": ["DomainName"],
"dnsConfig": {"relativeName": "azuresdkfornetautoresttrafficmanager6192", "ttl": 35},
"endpoints": [
{
"name": "My external endpoint",
"properties": {
"endpointLocation": "North Europe",
"endpointStatus": "Enabled",
"target": "foobar.contoso.com",
},
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
}
],
"monitorConfig": {
"intervalInSeconds": 10,
"path": "/testpath.aspx",
"port": 80,
"protocol": "HTTP",
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2,
},
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithAliasing.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithAliasing.json
func ExampleProfilesClient_CreateOrUpdate_profilePutWithAliasing() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
AllowedEndpointRecordTypes: []*armtrafficmanager.AllowedEndpointRecordType{
to.Ptr(armtrafficmanager.AllowedEndpointRecordTypeDomainName)},
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
TTL: to.Ptr[int64](35),
},
Endpoints: []*armtrafficmanager.Endpoint{
{
Name: to.Ptr("My external endpoint"),
Type: to.Ptr("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
Properties: &armtrafficmanager.EndpointProperties{
EndpointLocation: to.Ptr("North Europe"),
EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
Target: to.Ptr("foobar.contoso.com"),
},
}},
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
IntervalInSeconds: to.Ptr[int64](10),
Port: to.Ptr[int64](80),
TimeoutInSeconds: to.Ptr[int64](5),
ToleratedNumberOfFailures: to.Ptr[int64](2),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// AllowedEndpointRecordTypes: []*armtrafficmanager.AllowedEndpointRecordType{
// to.Ptr(armtrafficmanager.AllowedEndpointRecordTypeDomainName)},
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// {
// Name: to.Ptr("My external endpoint"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/externalEndpoints"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint"),
// Properties: &armtrafficmanager.EndpointProperties{
// CustomHeaders: []*armtrafficmanager.EndpointPropertiesCustomHeadersItem{
// {
// Name: to.Ptr("header-2"),
// Value: to.Ptr("value-2-overridden"),
// }},
// EndpointLocation: to.Ptr("North Europe"),
// EndpointMonitorStatus: to.Ptr(armtrafficmanager.EndpointMonitorStatusCheckingEndpoint),
// EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
// Priority: to.Ptr[int64](1),
// Target: to.Ptr("foobar.contoso.com"),
// Weight: to.Ptr[int64](1),
// },
// }},
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// CustomHeaders: []*armtrafficmanager.MonitorConfigCustomHeadersItem{
// {
// Name: to.Ptr("header-1"),
// Value: to.Ptr("value-1"),
// },
// {
// Name: to.Ptr("header-2"),
// Value: to.Ptr("value-2"),
// }},
// IntervalInSeconds: to.Ptr[int64](10),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusCheckingEndpoints),
// TimeoutInSeconds: to.Ptr[int64](5),
// ToleratedNumberOfFailures: to.Ptr[int64](2),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithAliasing.json
*/
async function profilePutWithAliasing() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName =
process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "azuresdkfornetautoresttrafficmanager2583";
const profileName = "azuresdkfornetautoresttrafficmanager6192";
const parameters = {
allowedEndpointRecordTypes: ["DomainName"],
dnsConfig: {
relativeName: "azuresdkfornetautoresttrafficmanager6192",
ttl: 35,
},
endpoints: [
{
name: "My external endpoint",
type: "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
endpointLocation: "North Europe",
endpointStatus: "Enabled",
target: "foobar.contoso.com",
},
],
location: "global",
monitorConfig: {
path: "/testpath.aspx",
intervalInSeconds: 10,
port: 80,
timeoutInSeconds: 5,
toleratedNumberOfFailures: 2,
protocol: "HTTP",
},
profileStatus: "Enabled",
trafficRoutingMethod: "Performance",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithAliasing.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "azuresdkfornetautoresttrafficmanager2583";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "azuresdkfornetautoresttrafficmanager6192";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.Performance,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "azuresdkfornetautoresttrafficmanager6192",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
IntervalInSeconds = 10,
TimeoutInSeconds = 5,
ToleratedNumberOfFailures = 2,
},
Endpoints =
{
new TrafficManagerEndpointData()
{
Target = "foobar.contoso.com",
EndpointStatus = TrafficManagerEndpointStatus.Enabled,
EndpointLocation = "North Europe",
Name = "My external endpoint",
ResourceType = new ResourceType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
}
},
AllowedEndpointRecordTypes =
{
AllowedEndpointRecordType.DomainName
},
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5,
"customHeaders": [
{
"name": "header-1",
"value": "value-1"
},
{
"name": "header-2",
"value": "value-2"
}
]
},
"allowedEndpointRecordTypes": [
"DomainName"
],
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe",
"customHeaders": [
{
"name": "header-2",
"value": "value-2-overridden"
}
]
}
}
]
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5,
"customHeaders": [
{
"name": "header-1",
"value": "value-1"
},
{
"name": "header-2",
"value": "value-2"
}
]
},
"allowedEndpointRecordTypes": [
"DomainName"
],
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe",
"customHeaders": [
{
"name": "header-2",
"value": "value-2-overridden"
}
]
}
}
]
}
}
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficmanagerprofiles/azuresdkfornetautoresttrafficmanager6192?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2,
"customHeaders": [
{
"name": "header-1",
"value": "value-1"
},
{
"name": "header-2",
"value": "value-2"
}
],
"expectedStatusCodeRanges": [
{
"min": 200,
"max": 205
},
{
"min": 400,
"max": 410
}
]
},
"trafficViewEnrollmentStatus": "Disabled",
"endpoints": [
{
"name": "My external endpoint",
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
"properties": {
"target": "foobar.contoso.com",
"endpointStatus": "Enabled",
"endpointLocation": "North Europe",
"customHeaders": [
{
"name": "header-2",
"value": "value-2-overridden"
}
]
}
}
]
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.EndpointInner;
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.EndpointPropertiesCustomHeadersItem;
import com.azure.resourcemanager.trafficmanager.models.EndpointStatus;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfigCustomHeadersItem;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfigExpectedStatusCodeRangesItem;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
import com.azure.resourcemanager.trafficmanager.models.TrafficViewEnrollmentStatus;
import java.util.Arrays;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-
* WithCustomHeaders.json
*/
/**
* Sample code: Profile-PUT-WithCustomHeaders.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTWithCustomHeaders(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles().createOrUpdateWithResponse(
"azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.PERFORMANCE)
.withDnsConfig(
new DnsConfig().withRelativeName("azuresdkfornetautoresttrafficmanager6192").withTtl(35L))
.withMonitorConfig(
new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L).withPath("/testpath.aspx")
.withIntervalInSeconds(10L).withTimeoutInSeconds(5L).withToleratedNumberOfFailures(2L)
.withCustomHeaders(Arrays.asList(
new MonitorConfigCustomHeadersItem().withName("header-1").withValue("value-1"),
new MonitorConfigCustomHeadersItem().withName("header-2").withValue("value-2")))
.withExpectedStatusCodeRanges(
Arrays.asList(new MonitorConfigExpectedStatusCodeRangesItem().withMin(200).withMax(205),
new MonitorConfigExpectedStatusCodeRangesItem().withMin(400).withMax(410))))
.withEndpoints(Arrays.asList(new EndpointInner().withName("My external endpoint")
.withType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
.withTarget("foobar.contoso.com").withEndpointStatus(EndpointStatus.ENABLED)
.withEndpointLocation("North Europe")
.withCustomHeaders(Arrays.asList(new EndpointPropertiesCustomHeadersItem().withName("header-2")
.withValue("value-2-overridden")))))
.withTrafficViewEnrollmentStatus(TrafficViewEnrollmentStatus.DISABLED),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_with_custom_headers.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="azuresdkfornetautoresttrafficmanager2583",
profile_name="azuresdkfornetautoresttrafficmanager6192",
parameters={
"location": "global",
"properties": {
"dnsConfig": {"relativeName": "azuresdkfornetautoresttrafficmanager6192", "ttl": 35},
"endpoints": [
{
"name": "My external endpoint",
"properties": {
"customHeaders": [{"name": "header-2", "value": "value-2-overridden"}],
"endpointLocation": "North Europe",
"endpointStatus": "Enabled",
"target": "foobar.contoso.com",
},
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
}
],
"monitorConfig": {
"customHeaders": [
{"name": "header-1", "value": "value-1"},
{"name": "header-2", "value": "value-2"},
],
"expectedStatusCodeRanges": [{"max": 205, "min": 200}, {"max": 410, "min": 400}],
"intervalInSeconds": 10,
"path": "/testpath.aspx",
"port": 80,
"protocol": "HTTP",
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2,
},
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"trafficViewEnrollmentStatus": "Disabled",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithCustomHeaders.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithCustomHeaders.json
func ExampleProfilesClient_CreateOrUpdate_profilePutWithCustomHeaders() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
TTL: to.Ptr[int64](35),
},
Endpoints: []*armtrafficmanager.Endpoint{
{
Name: to.Ptr("My external endpoint"),
Type: to.Ptr("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
Properties: &armtrafficmanager.EndpointProperties{
CustomHeaders: []*armtrafficmanager.EndpointPropertiesCustomHeadersItem{
{
Name: to.Ptr("header-2"),
Value: to.Ptr("value-2-overridden"),
}},
EndpointLocation: to.Ptr("North Europe"),
EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
Target: to.Ptr("foobar.contoso.com"),
},
}},
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
CustomHeaders: []*armtrafficmanager.MonitorConfigCustomHeadersItem{
{
Name: to.Ptr("header-1"),
Value: to.Ptr("value-1"),
},
{
Name: to.Ptr("header-2"),
Value: to.Ptr("value-2"),
}},
ExpectedStatusCodeRanges: []*armtrafficmanager.MonitorConfigExpectedStatusCodeRangesItem{
{
Max: to.Ptr[int32](205),
Min: to.Ptr[int32](200),
},
{
Max: to.Ptr[int32](410),
Min: to.Ptr[int32](400),
}},
IntervalInSeconds: to.Ptr[int64](10),
Port: to.Ptr[int64](80),
TimeoutInSeconds: to.Ptr[int64](5),
ToleratedNumberOfFailures: to.Ptr[int64](2),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
TrafficViewEnrollmentStatus: to.Ptr(armtrafficmanager.TrafficViewEnrollmentStatusDisabled),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// {
// Name: to.Ptr("My external endpoint"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/externalEndpoints"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint"),
// Properties: &armtrafficmanager.EndpointProperties{
// CustomHeaders: []*armtrafficmanager.EndpointPropertiesCustomHeadersItem{
// {
// Name: to.Ptr("header-2"),
// Value: to.Ptr("value-2-overridden"),
// }},
// EndpointLocation: to.Ptr("North Europe"),
// EndpointMonitorStatus: to.Ptr(armtrafficmanager.EndpointMonitorStatusCheckingEndpoint),
// EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
// Priority: to.Ptr[int64](1),
// Target: to.Ptr("foobar.contoso.com"),
// Weight: to.Ptr[int64](1),
// },
// }},
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// CustomHeaders: []*armtrafficmanager.MonitorConfigCustomHeadersItem{
// {
// Name: to.Ptr("header-1"),
// Value: to.Ptr("value-1"),
// },
// {
// Name: to.Ptr("header-2"),
// Value: to.Ptr("value-2"),
// }},
// IntervalInSeconds: to.Ptr[int64](10),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusCheckingEndpoints),
// TimeoutInSeconds: to.Ptr[int64](5),
// ToleratedNumberOfFailures: to.Ptr[int64](2),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
// TrafficViewEnrollmentStatus: to.Ptr(armtrafficmanager.TrafficViewEnrollmentStatusDisabled),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithCustomHeaders.json
*/
async function profilePutWithCustomHeaders() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName =
process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "azuresdkfornetautoresttrafficmanager2583";
const profileName = "azuresdkfornetautoresttrafficmanager6192";
const parameters = {
dnsConfig: {
relativeName: "azuresdkfornetautoresttrafficmanager6192",
ttl: 35,
},
endpoints: [
{
name: "My external endpoint",
type: "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
customHeaders: [{ name: "header-2", value: "value-2-overridden" }],
endpointLocation: "North Europe",
endpointStatus: "Enabled",
target: "foobar.contoso.com",
},
],
location: "global",
monitorConfig: {
path: "/testpath.aspx",
customHeaders: [
{ name: "header-1", value: "value-1" },
{ name: "header-2", value: "value-2" },
],
expectedStatusCodeRanges: [
{ max: 205, min: 200 },
{ max: 410, min: 400 },
],
intervalInSeconds: 10,
port: 80,
timeoutInSeconds: 5,
toleratedNumberOfFailures: 2,
protocol: "HTTP",
},
profileStatus: "Enabled",
trafficRoutingMethod: "Performance",
trafficViewEnrollmentStatus: "Disabled",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithCustomHeaders.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "azuresdkfornetautoresttrafficmanager2583";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "azuresdkfornetautoresttrafficmanager6192";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.Performance,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "azuresdkfornetautoresttrafficmanager6192",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
IntervalInSeconds = 10,
TimeoutInSeconds = 5,
ToleratedNumberOfFailures = 2,
CustomHeaders =
{
new TrafficManagerMonitorConfigCustomHeaderInfo()
{
Name = "header-1",
Value = "value-1",
},new TrafficManagerMonitorConfigCustomHeaderInfo()
{
Name = "header-2",
Value = "value-2",
}
},
ExpectedStatusCodeRanges =
{
new ExpectedStatusCodeRangeInfo()
{
Min = 200,
Max = 205,
},new ExpectedStatusCodeRangeInfo()
{
Min = 400,
Max = 410,
}
},
},
Endpoints =
{
new TrafficManagerEndpointData()
{
Target = "foobar.contoso.com",
EndpointStatus = TrafficManagerEndpointStatus.Enabled,
EndpointLocation = "North Europe",
CustomHeaders =
{
new TrafficManagerEndpointCustomHeaderInfo()
{
Name = "header-2",
Value = "value-2-overridden",
}
},
Name = "My external endpoint",
ResourceType = new ResourceType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
}
},
TrafficViewEnrollmentStatus = TrafficViewEnrollmentStatus.Disabled,
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5,
"customHeaders": [
{
"name": "header-1",
"value": "value-1"
},
{
"name": "header-2",
"value": "value-2"
}
]
},
"trafficViewEnrollmentStatus": "Disabled",
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe",
"customHeaders": [
{
"name": "header-2",
"value": "value-2-overridden"
}
]
}
}
]
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5,
"customHeaders": [
{
"name": "header-1",
"value": "value-1"
},
{
"name": "header-2",
"value": "value-2"
}
]
},
"trafficViewEnrollmentStatus": "Disabled",
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe",
"customHeaders": [
{
"name": "header-2",
"value": "value-2-overridden"
}
]
}
}
]
}
}
Profile-PUT-WithEndpoints
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficmanagerprofiles/azuresdkfornetautoresttrafficmanager6192?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2
},
"endpoints": [
{
"name": "My external endpoint",
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
"properties": {
"target": "foobar.contoso.com",
"endpointStatus": "Enabled",
"endpointLocation": "North Europe"
}
}
]
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.EndpointInner;
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.EndpointStatus;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
import java.util.Arrays;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-
* WithEndpoints.json
*/
/**
* Sample code: Profile-PUT-WithEndpoints.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTWithEndpoints(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles().createOrUpdateWithResponse(
"azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.PERFORMANCE)
.withDnsConfig(
new DnsConfig().withRelativeName("azuresdkfornetautoresttrafficmanager6192").withTtl(35L))
.withMonitorConfig(
new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L).withPath("/testpath.aspx")
.withIntervalInSeconds(10L).withTimeoutInSeconds(5L).withToleratedNumberOfFailures(2L))
.withEndpoints(Arrays.asList(new EndpointInner().withName("My external endpoint")
.withType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints")
.withTarget("foobar.contoso.com").withEndpointStatus(EndpointStatus.ENABLED)
.withEndpointLocation("North Europe"))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_with_endpoints.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="azuresdkfornetautoresttrafficmanager2583",
profile_name="azuresdkfornetautoresttrafficmanager6192",
parameters={
"location": "global",
"properties": {
"dnsConfig": {"relativeName": "azuresdkfornetautoresttrafficmanager6192", "ttl": 35},
"endpoints": [
{
"name": "My external endpoint",
"properties": {
"endpointLocation": "North Europe",
"endpointStatus": "Enabled",
"target": "foobar.contoso.com",
},
"type": "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
}
],
"monitorConfig": {
"intervalInSeconds": 10,
"path": "/testpath.aspx",
"port": 80,
"protocol": "HTTP",
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2,
},
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithEndpoints.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithEndpoints.json
func ExampleProfilesClient_CreateOrUpdate_profilePutWithEndpoints() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "azuresdkfornetautoresttrafficmanager2583", "azuresdkfornetautoresttrafficmanager6192", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
TTL: to.Ptr[int64](35),
},
Endpoints: []*armtrafficmanager.Endpoint{
{
Name: to.Ptr("My external endpoint"),
Type: to.Ptr("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
Properties: &armtrafficmanager.EndpointProperties{
EndpointLocation: to.Ptr("North Europe"),
EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
Target: to.Ptr("foobar.contoso.com"),
},
}},
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
IntervalInSeconds: to.Ptr[int64](10),
Port: to.Ptr[int64](80),
TimeoutInSeconds: to.Ptr[int64](5),
ToleratedNumberOfFailures: to.Ptr[int64](2),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("azuresdkfornetautoresttrafficmanager6192"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// {
// Name: to.Ptr("My external endpoint"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/externalEndpoints"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint"),
// Properties: &armtrafficmanager.EndpointProperties{
// EndpointLocation: to.Ptr("North Europe"),
// EndpointMonitorStatus: to.Ptr(armtrafficmanager.EndpointMonitorStatusCheckingEndpoint),
// EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
// Priority: to.Ptr[int64](1),
// Target: to.Ptr("foobar.contoso.com"),
// Weight: to.Ptr[int64](1),
// },
// }},
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// IntervalInSeconds: to.Ptr[int64](10),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusCheckingEndpoints),
// TimeoutInSeconds: to.Ptr[int64](5),
// ToleratedNumberOfFailures: to.Ptr[int64](2),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPerformance),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithEndpoints.json
*/
async function profilePutWithEndpoints() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName =
process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "azuresdkfornetautoresttrafficmanager2583";
const profileName = "azuresdkfornetautoresttrafficmanager6192";
const parameters = {
dnsConfig: {
relativeName: "azuresdkfornetautoresttrafficmanager6192",
ttl: 35,
},
endpoints: [
{
name: "My external endpoint",
type: "Microsoft.network/TrafficManagerProfiles/ExternalEndpoints",
endpointLocation: "North Europe",
endpointStatus: "Enabled",
target: "foobar.contoso.com",
},
],
location: "global",
monitorConfig: {
path: "/testpath.aspx",
intervalInSeconds: 10,
port: 80,
timeoutInSeconds: 5,
toleratedNumberOfFailures: 2,
protocol: "HTTP",
},
profileStatus: "Enabled",
trafficRoutingMethod: "Performance",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithEndpoints.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "azuresdkfornetautoresttrafficmanager2583";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "azuresdkfornetautoresttrafficmanager6192";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.Performance,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "azuresdkfornetautoresttrafficmanager6192",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
IntervalInSeconds = 10,
TimeoutInSeconds = 5,
ToleratedNumberOfFailures = 2,
},
Endpoints =
{
new TrafficManagerEndpointData()
{
Target = "foobar.contoso.com",
EndpointStatus = TrafficManagerEndpointStatus.Enabled,
EndpointLocation = "North Europe",
Name = "My external endpoint",
ResourceType = new ResourceType("Microsoft.network/TrafficManagerProfiles/ExternalEndpoints"),
}
},
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5
},
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe"
}
}
]
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192",
"name": "azuresdkfornetautoresttrafficmanager6192",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "azuresdkfornetautoresttrafficmanager6192",
"fqdn": "azuresdkfornetautoresttrafficmanager6192.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5
},
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/azuresdkfornetautoresttrafficmanager2583/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager6192/externalEndpoints/My external endpoint",
"name": "My external endpoint",
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "foobar.contoso.com",
"weight": 1,
"priority": 1,
"endpointLocation": "North Europe"
}
}
]
}
}
Profile-PUT-WithNestedEndpoints
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficmanagerprofiles/parentprofile?api-version=2022-04-01
{
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Priority",
"dnsConfig": {
"relativeName": "parentprofile",
"ttl": 35
},
"monitorConfig": {
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2
},
"endpoints": [
{
"name": "MyFirstNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"target": "firstnestedprofile.tmpreview.watmtest.azure-test.net",
"endpointStatus": "Enabled",
"weight": 1,
"priority": 1,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 1,
"minChildEndpointsIPv6": 2
}
},
{
"name": "MySecondNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"target": "secondnestedprofile.tmpreview.watmtest.azure-test.net",
"endpointStatus": "Enabled",
"weight": 1,
"priority": 2,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 2,
"minChildEndpointsIPv6": 1
}
}
]
},
"location": "global"
}
import com.azure.resourcemanager.trafficmanager.fluent.models.EndpointInner;
import com.azure.resourcemanager.trafficmanager.fluent.models.ProfileInner;
import com.azure.resourcemanager.trafficmanager.models.DnsConfig;
import com.azure.resourcemanager.trafficmanager.models.EndpointStatus;
import com.azure.resourcemanager.trafficmanager.models.MonitorConfig;
import com.azure.resourcemanager.trafficmanager.models.MonitorProtocol;
import com.azure.resourcemanager.trafficmanager.models.ProfileStatus;
import com.azure.resourcemanager.trafficmanager.models.TrafficRoutingMethod;
import java.util.Arrays;
/**
* Samples for Profiles CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-
* WithNestedEndpoints.json
*/
/**
* Sample code: Profile-PUT-WithNestedEndpoints.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void profilePUTWithNestedEndpoints(com.azure.resourcemanager.AzureResourceManager azure) {
azure.trafficManagerProfiles().manager().serviceClient().getProfiles()
.createOrUpdateWithResponse("myresourcegroup", "parentprofile",
new ProfileInner().withLocation("global").withProfileStatus(ProfileStatus.ENABLED)
.withTrafficRoutingMethod(TrafficRoutingMethod.PRIORITY)
.withDnsConfig(
new DnsConfig().withRelativeName("parentprofile").withTtl(35L))
.withMonitorConfig(new MonitorConfig().withProtocol(MonitorProtocol.HTTP).withPort(80L)
.withPath("/testpath.aspx").withIntervalInSeconds(
10L)
.withTimeoutInSeconds(5L).withToleratedNumberOfFailures(2L))
.withEndpoints(Arrays.asList(
new EndpointInner().withName("MyFirstNestedEndpoint")
.withType("Microsoft.Network/trafficManagerProfiles/nestedEndpoints")
.withTarget("firstnestedprofile.tmpreview.watmtest.azure-test.net")
.withEndpointStatus(EndpointStatus.ENABLED).withWeight(1L).withPriority(1L)
.withMinChildEndpoints(2L).withMinChildEndpointsIPv4(1L).withMinChildEndpointsIPv6(2L),
new EndpointInner().withName("MySecondNestedEndpoint")
.withType("Microsoft.Network/trafficManagerProfiles/nestedEndpoints")
.withTarget("secondnestedprofile.tmpreview.watmtest.azure-test.net")
.withEndpointStatus(EndpointStatus.ENABLED).withWeight(1L).withPriority(2L)
.withMinChildEndpoints(2L).withMinChildEndpointsIPv4(2L).withMinChildEndpointsIPv6(1L))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-trafficmanager
# USAGE
python profile_put_with_nested_endpoints.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = TrafficManagerManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.profiles.create_or_update(
resource_group_name="myresourcegroup",
profile_name="parentprofile",
parameters={
"location": "global",
"properties": {
"dnsConfig": {"relativeName": "parentprofile", "ttl": 35},
"endpoints": [
{
"name": "MyFirstNestedEndpoint",
"properties": {
"endpointStatus": "Enabled",
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 1,
"minChildEndpointsIPv6": 2,
"priority": 1,
"target": "firstnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
},
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
},
{
"name": "MySecondNestedEndpoint",
"properties": {
"endpointStatus": "Enabled",
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 2,
"minChildEndpointsIPv6": 1,
"priority": 2,
"target": "secondnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
},
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
},
],
"monitorConfig": {
"intervalInSeconds": 10,
"path": "/testpath.aspx",
"port": 80,
"protocol": "HTTP",
"timeoutInSeconds": 5,
"toleratedNumberOfFailures": 2,
},
"profileStatus": "Enabled",
"trafficRoutingMethod": "Priority",
},
},
)
print(response)
# x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithNestedEndpoints.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armtrafficmanager_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0d41e635294dce73dfa99b07f3da4b68a9c9e29c/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithNestedEndpoints.json
func ExampleProfilesClient_CreateOrUpdate_profilePutWithNestedEndpoints() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armtrafficmanager.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProfilesClient().CreateOrUpdate(ctx, "myresourcegroup", "parentprofile", armtrafficmanager.Profile{
Location: to.Ptr("global"),
Properties: &armtrafficmanager.ProfileProperties{
DNSConfig: &armtrafficmanager.DNSConfig{
RelativeName: to.Ptr("parentprofile"),
TTL: to.Ptr[int64](35),
},
Endpoints: []*armtrafficmanager.Endpoint{
{
Name: to.Ptr("MyFirstNestedEndpoint"),
Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
Properties: &armtrafficmanager.EndpointProperties{
EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
MinChildEndpoints: to.Ptr[int64](2),
MinChildEndpointsIPv4: to.Ptr[int64](1),
MinChildEndpointsIPv6: to.Ptr[int64](2),
Priority: to.Ptr[int64](1),
Target: to.Ptr("firstnestedprofile.tmpreview.watmtest.azure-test.net"),
Weight: to.Ptr[int64](1),
},
},
{
Name: to.Ptr("MySecondNestedEndpoint"),
Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
Properties: &armtrafficmanager.EndpointProperties{
EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
MinChildEndpoints: to.Ptr[int64](2),
MinChildEndpointsIPv4: to.Ptr[int64](2),
MinChildEndpointsIPv6: to.Ptr[int64](1),
Priority: to.Ptr[int64](2),
Target: to.Ptr("secondnestedprofile.tmpreview.watmtest.azure-test.net"),
Weight: to.Ptr[int64](1),
},
}},
MonitorConfig: &armtrafficmanager.MonitorConfig{
Path: to.Ptr("/testpath.aspx"),
IntervalInSeconds: to.Ptr[int64](10),
Port: to.Ptr[int64](80),
TimeoutInSeconds: to.Ptr[int64](5),
ToleratedNumberOfFailures: to.Ptr[int64](2),
Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
},
ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPriority),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Profile = armtrafficmanager.Profile{
// Name: to.Ptr("parentprofile"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile"),
// Location: to.Ptr("global"),
// Properties: &armtrafficmanager.ProfileProperties{
// DNSConfig: &armtrafficmanager.DNSConfig{
// Fqdn: to.Ptr("parentprofile.tmpreview.watmtest.azure-test.net"),
// RelativeName: to.Ptr("parentprofile"),
// TTL: to.Ptr[int64](35),
// },
// Endpoints: []*armtrafficmanager.Endpoint{
// {
// Name: to.Ptr("MyFirstNestedEndpoint"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MyFirstNestedEndpoint"),
// Properties: &armtrafficmanager.EndpointProperties{
// EndpointMonitorStatus: to.Ptr(armtrafficmanager.EndpointMonitorStatusCheckingEndpoint),
// EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
// MinChildEndpoints: to.Ptr[int64](2),
// MinChildEndpointsIPv4: to.Ptr[int64](1),
// MinChildEndpointsIPv6: to.Ptr[int64](2),
// Priority: to.Ptr[int64](1),
// Target: to.Ptr("firstnestedprofile.tmpreview.watmtest.azure-test.net"),
// Weight: to.Ptr[int64](1),
// },
// },
// {
// Name: to.Ptr("MySecondNestedEndpoint"),
// Type: to.Ptr("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MySecondNestedEndpoint"),
// Properties: &armtrafficmanager.EndpointProperties{
// EndpointMonitorStatus: to.Ptr(armtrafficmanager.EndpointMonitorStatusCheckingEndpoint),
// EndpointStatus: to.Ptr(armtrafficmanager.EndpointStatusEnabled),
// MinChildEndpoints: to.Ptr[int64](2),
// MinChildEndpointsIPv4: to.Ptr[int64](2),
// MinChildEndpointsIPv6: to.Ptr[int64](1),
// Priority: to.Ptr[int64](1),
// Target: to.Ptr("secondnestedprofile.tmpreview.watmtest.azure-test.net"),
// Weight: to.Ptr[int64](1),
// },
// }},
// MonitorConfig: &armtrafficmanager.MonitorConfig{
// Path: to.Ptr("/testpath.aspx"),
// IntervalInSeconds: to.Ptr[int64](10),
// Port: to.Ptr[int64](80),
// ProfileMonitorStatus: to.Ptr(armtrafficmanager.ProfileMonitorStatusCheckingEndpoints),
// TimeoutInSeconds: to.Ptr[int64](5),
// ToleratedNumberOfFailures: to.Ptr[int64](2),
// Protocol: to.Ptr(armtrafficmanager.MonitorProtocolHTTP),
// },
// ProfileStatus: to.Ptr(armtrafficmanager.ProfileStatusEnabled),
// TrafficRoutingMethod: to.Ptr(armtrafficmanager.TrafficRoutingMethodPriority),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { TrafficManagerManagementClient } = require("@azure/arm-trafficmanager");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create or update a Traffic Manager profile.
*
* @summary Create or update a Traffic Manager profile.
* x-ms-original-file: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithNestedEndpoints.json
*/
async function profilePutWithNestedEndpoints() {
const subscriptionId = process.env["TRAFFICMANAGER_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["TRAFFICMANAGER_RESOURCE_GROUP"] || "myresourcegroup";
const profileName = "parentprofile";
const parameters = {
dnsConfig: { relativeName: "parentprofile", ttl: 35 },
endpoints: [
{
name: "MyFirstNestedEndpoint",
type: "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
endpointStatus: "Enabled",
minChildEndpoints: 2,
minChildEndpointsIPv4: 1,
minChildEndpointsIPv6: 2,
priority: 1,
target: "firstnestedprofile.tmpreview.watmtest.azure-test.net",
weight: 1,
},
{
name: "MySecondNestedEndpoint",
type: "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
endpointStatus: "Enabled",
minChildEndpoints: 2,
minChildEndpointsIPv4: 2,
minChildEndpointsIPv6: 1,
priority: 2,
target: "secondnestedprofile.tmpreview.watmtest.azure-test.net",
weight: 1,
},
],
location: "global",
monitorConfig: {
path: "/testpath.aspx",
intervalInSeconds: 10,
port: 80,
timeoutInSeconds: 5,
toleratedNumberOfFailures: 2,
protocol: "HTTP",
},
profileStatus: "Enabled",
trafficRoutingMethod: "Priority",
};
const credential = new DefaultAzureCredential();
const client = new TrafficManagerManagementClient(credential, subscriptionId);
const result = await client.profiles.createOrUpdate(resourceGroupName, profileName, parameters);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TrafficManager.Models;
using Azure.ResourceManager.TrafficManager;
// Generated from example definition: specification/trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/examples/Profile-PUT-WithNestedEndpoints.json
// this example is just showing the usage of "Profiles_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "myresourcegroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this TrafficManagerProfileResource
TrafficManagerProfileCollection collection = resourceGroupResource.GetTrafficManagerProfiles();
// invoke the operation
string profileName = "parentprofile";
TrafficManagerProfileData data = new TrafficManagerProfileData()
{
ProfileStatus = TrafficManagerProfileStatus.Enabled,
TrafficRoutingMethod = TrafficRoutingMethod.Priority,
DnsConfig = new TrafficManagerDnsConfig()
{
RelativeName = "parentprofile",
Ttl = 35,
},
MonitorConfig = new TrafficManagerMonitorConfig()
{
Protocol = TrafficManagerMonitorProtocol.Http,
Port = 80,
Path = "/testpath.aspx",
IntervalInSeconds = 10,
TimeoutInSeconds = 5,
ToleratedNumberOfFailures = 2,
},
Endpoints =
{
new TrafficManagerEndpointData()
{
Target = "firstnestedprofile.tmpreview.watmtest.azure-test.net",
EndpointStatus = TrafficManagerEndpointStatus.Enabled,
Weight = 1,
Priority = 1,
MinChildEndpoints = 2,
MinChildEndpointsIPv4 = 1,
MinChildEndpointsIPv6 = 2,
Name = "MyFirstNestedEndpoint",
ResourceType = new ResourceType("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
},new TrafficManagerEndpointData()
{
Target = "secondnestedprofile.tmpreview.watmtest.azure-test.net",
EndpointStatus = TrafficManagerEndpointStatus.Enabled,
Weight = 1,
Priority = 2,
MinChildEndpoints = 2,
MinChildEndpointsIPv4 = 2,
MinChildEndpointsIPv6 = 1,
Name = "MySecondNestedEndpoint",
ResourceType = new ResourceType("Microsoft.Network/trafficManagerProfiles/nestedEndpoints"),
}
},
Location = new AzureLocation("global"),
};
ArmOperation<TrafficManagerProfileResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, profileName, data);
TrafficManagerProfileResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
TrafficManagerProfileData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile",
"name": "parentprofile",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Priority",
"dnsConfig": {
"relativeName": "parentprofile",
"fqdn": "parentprofile.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5
},
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MyFirstNestedEndpoint",
"name": "MyFirstNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "firstnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
"priority": 1,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 1,
"minChildEndpointsIPv6": 2
}
},
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MySecondNestedEndpoint",
"name": "MySecondNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "secondnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
"priority": 1,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 2,
"minChildEndpointsIPv6": 1
}
}
]
}
}
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile",
"name": "parentprofile",
"type": "Microsoft.Network/trafficManagerProfiles",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Priority",
"dnsConfig": {
"relativeName": "parentprofile",
"fqdn": "parentprofile.tmpreview.watmtest.azure-test.net",
"ttl": 35
},
"monitorConfig": {
"profileMonitorStatus": "CheckingEndpoints",
"protocol": "HTTP",
"port": 80,
"path": "/testpath.aspx",
"intervalInSeconds": 10,
"toleratedNumberOfFailures": 2,
"timeoutInSeconds": 5
},
"endpoints": [
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MyFirstNestedEndpoint",
"name": "MyFirstNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "firstnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
"priority": 1,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 1,
"minChildEndpointsIPv6": 2
}
},
{
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Network/trafficManagerProfiles/parentprofile/nestedEndpoints/MySecondNestedEndpoint",
"name": "MySecondNestedEndpoint",
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
"properties": {
"endpointStatus": "Enabled",
"endpointMonitorStatus": "CheckingEndpoint",
"target": "secondnestedprofile.tmpreview.watmtest.azure-test.net",
"weight": 1,
"priority": 1,
"minChildEndpoints": 2,
"minChildEndpointsIPv4": 2,
"minChildEndpointsIPv6": 1
}
}
]
}
}
Definitions
Name |
Description |
AllowedEndpointRecordType
|
The allowed type DNS record types for this profile.
|
AlwaysServe
|
If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
|
CloudError
|
An error returned by the Azure Resource Manager
|
CloudErrorBody
|
The content of an error returned by the Azure Resource Manager
|
CustomHeaders
|
List of custom headers.
|
DnsConfig
|
Class containing DNS settings in a Traffic Manager profile.
|
Endpoint
|
Class representing a Traffic Manager endpoint.
|
EndpointMonitorStatus
|
The monitoring status of the endpoint.
|
EndpointStatus
|
The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
|
ExpectedStatusCodeRanges
|
List of expected status code ranges.
|
MonitorConfig
|
Class containing endpoint monitoring settings in a Traffic Manager profile.
|
MonitorProtocol
|
The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.
|
Profile
|
Class representing a Traffic Manager profile.
|
ProfileMonitorStatus
|
The profile-level monitoring status of the Traffic Manager profile.
|
ProfileStatus
|
The status of the Traffic Manager profile.
|
Subnets
|
The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints.
|
TrafficRoutingMethod
|
The traffic routing method of the Traffic Manager profile.
|
TrafficViewEnrollmentStatus
|
Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile.
|
AllowedEndpointRecordType
The allowed type DNS record types for this profile.
Name |
Type |
Description |
Any
|
string
|
|
DomainName
|
string
|
|
IPv4Address
|
string
|
|
IPv6Address
|
string
|
|
AlwaysServe
If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
Name |
Type |
Description |
Disabled
|
string
|
|
Enabled
|
string
|
|
CloudError
An error returned by the Azure Resource Manager
CloudErrorBody
The content of an error returned by the Azure Resource Manager
Name |
Type |
Description |
code
|
string
|
Error code
|
details
|
CloudErrorBody[]
|
Error details
|
message
|
string
|
Error message
|
target
|
string
|
Error target
|
List of custom headers.
Name |
Type |
Description |
name
|
string
|
Header name.
|
value
|
string
|
Header value.
|
DnsConfig
Class containing DNS settings in a Traffic Manager profile.
Name |
Type |
Description |
fqdn
|
string
|
The fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of the RelativeName with the DNS domain used by Azure Traffic Manager.
|
relativeName
|
string
|
The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile.
|
ttl
|
integer
|
The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS responses provided by this Traffic Manager profile.
|
Endpoint
Class representing a Traffic Manager endpoint.
Name |
Type |
Description |
id
|
string
|
Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
|
name
|
string
|
The name of the resource
|
properties.alwaysServe
|
AlwaysServe
|
If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method.
|
properties.customHeaders
|
CustomHeaders[]
|
List of custom headers.
|
properties.endpointLocation
|
string
|
Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method.
|
properties.endpointMonitorStatus
|
EndpointMonitorStatus
|
The monitoring status of the endpoint.
|
properties.endpointStatus
|
EndpointStatus
|
The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
|
properties.geoMapping
|
string[]
|
The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values.
|
properties.minChildEndpoints
|
integer
|
The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
|
properties.minChildEndpointsIPv4
|
integer
|
The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
|
properties.minChildEndpointsIPv6
|
integer
|
The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'.
|
properties.priority
|
integer
|
The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value.
|
properties.subnets
|
Subnets[]
|
The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints.
|
properties.target
|
string
|
The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint.
|
properties.targetResourceId
|
string
|
The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'.
|
properties.weight
|
integer
|
The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000.
|
type
|
string
|
The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
|
EndpointMonitorStatus
The monitoring status of the endpoint.
Name |
Type |
Description |
CheckingEndpoint
|
string
|
|
Degraded
|
string
|
|
Disabled
|
string
|
|
Inactive
|
string
|
|
Online
|
string
|
|
Stopped
|
string
|
|
Unmonitored
|
string
|
|
EndpointStatus
The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method.
Name |
Type |
Description |
Disabled
|
string
|
|
Enabled
|
string
|
|
ExpectedStatusCodeRanges
List of expected status code ranges.
Name |
Type |
Description |
max
|
integer
|
Max status code.
|
min
|
integer
|
Min status code.
|
MonitorConfig
Class containing endpoint monitoring settings in a Traffic Manager profile.
Name |
Type |
Description |
customHeaders
|
CustomHeaders[]
|
List of custom headers.
|
expectedStatusCodeRanges
|
ExpectedStatusCodeRanges[]
|
List of expected status code ranges.
|
intervalInSeconds
|
integer
|
The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager will check the health of each endpoint in this profile.
|
path
|
string
|
The path relative to the endpoint domain name used to probe for endpoint health.
|
port
|
integer
|
The TCP port used to probe for endpoint health.
|
profileMonitorStatus
|
ProfileMonitorStatus
|
The profile-level monitoring status of the Traffic Manager profile.
|
protocol
|
MonitorProtocol
|
The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.
|
timeoutInSeconds
|
integer
|
The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows endpoints in this profile to response to the health check.
|
toleratedNumberOfFailures
|
integer
|
The number of consecutive failed health check that Traffic Manager tolerates before declaring an endpoint in this profile Degraded after the next failed health check.
|
MonitorProtocol
The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.
Name |
Type |
Description |
HTTP
|
string
|
|
HTTPS
|
string
|
|
TCP
|
string
|
|
Profile
Class representing a Traffic Manager profile.
Name |
Type |
Description |
id
|
string
|
Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
|
location
|
string
|
The Azure Region where the resource lives
|
name
|
string
|
The name of the resource
|
properties.allowedEndpointRecordTypes
|
AllowedEndpointRecordType[]
|
The list of allowed endpoint record types.
|
properties.dnsConfig
|
DnsConfig
|
The DNS settings of the Traffic Manager profile.
|
properties.endpoints
|
Endpoint[]
|
The list of endpoints in the Traffic Manager profile.
|
properties.maxReturn
|
integer
|
Maximum number of endpoints to be returned for MultiValue routing type.
|
properties.monitorConfig
|
MonitorConfig
|
The endpoint monitoring settings of the Traffic Manager profile.
|
properties.profileStatus
|
ProfileStatus
|
The status of the Traffic Manager profile.
|
properties.trafficRoutingMethod
|
TrafficRoutingMethod
|
The traffic routing method of the Traffic Manager profile.
|
properties.trafficViewEnrollmentStatus
|
TrafficViewEnrollmentStatus
|
Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile.
|
tags
|
object
|
Resource tags.
|
type
|
string
|
The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
|
ProfileMonitorStatus
The profile-level monitoring status of the Traffic Manager profile.
Name |
Type |
Description |
CheckingEndpoints
|
string
|
|
Degraded
|
string
|
|
Disabled
|
string
|
|
Inactive
|
string
|
|
Online
|
string
|
|
ProfileStatus
The status of the Traffic Manager profile.
Name |
Type |
Description |
Disabled
|
string
|
|
Enabled
|
string
|
|
Subnets
The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints.
Name |
Type |
Description |
first
|
string
|
First address in the subnet.
|
last
|
string
|
Last address in the subnet.
|
scope
|
integer
|
Block size (number of leading bits in the subnet mask).
|
TrafficRoutingMethod
The traffic routing method of the Traffic Manager profile.
Name |
Type |
Description |
Geographic
|
string
|
|
MultiValue
|
string
|
|
Performance
|
string
|
|
Priority
|
string
|
|
Subnet
|
string
|
|
Weighted
|
string
|
|
TrafficViewEnrollmentStatus
Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile.
Name |
Type |
Description |
Disabled
|
string
|
|
Enabled
|
string
|
|