/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.trafficmanager; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsBatchDeletion; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsDeletingByResourceGroup; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingByResourceGroup; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingById; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsListingByResourceGroup; import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsBatchCreation; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsCreating; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsDeletingById; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsListing; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.azure.management.trafficmanager.implementation.ProfilesInner; import com.microsoft.azure.management.trafficmanager.implementation.TrafficManager; import com.microsoft.rest.ServiceCallback; import com.microsoft.rest.ServiceFuture; import rx.Observable; /** * Entry point to traffic manager profile management API in Azure. */ @Fluent public interface TrafficManagerProfiles extends SupportsCreating<TrafficManagerProfile.DefinitionStages.Blank>, SupportsListing<TrafficManagerProfile>, SupportsListingByResourceGroup<TrafficManagerProfile>, SupportsGettingByResourceGroup<TrafficManagerProfile>, SupportsGettingById<TrafficManagerProfile>, SupportsDeletingById, SupportsDeletingByResourceGroup, SupportsBatchCreation<TrafficManagerProfile>, SupportsBatchDeletion, HasManager<TrafficManager>, HasInner<ProfilesInner> { /** * Checks that the DNS name is valid for traffic manager profile and is not in use. * * @param dnsNameLabel the DNS name to check * @return whether the DNS is available to be used for a traffic manager profile and other info if not */ CheckProfileDnsNameAvailabilityResult checkDnsNameAvailability(String dnsNameLabel); /** * Asynchronously checks that the DNS name is valid for traffic manager profile and is not in use. * * @param dnsNameLabel the DNS name to check * @return observable to response containing whether the DNS is available to be used for a traffic manager profile * and other info if not */ @Beta Observable<CheckProfileDnsNameAvailabilityResult> checkDnsNameAvailabilityAsync(String dnsNameLabel); /** * Asynchronously checks that the DNS name is valid for traffic manager profile and is not in use. * * @param dnsNameLabel the DNS name to check * @param callback the callback to call on success or failure, on success with the result whether the DNS is available * to be used for a traffic manager profile and other info if not * * @return a handle to cancel the request */ ServiceFuture<CheckProfileDnsNameAvailabilityResult> checkDnsNameAvailabilityAsync(String dnsNameLabel, ServiceCallback<CheckProfileDnsNameAvailabilityResult> callback); }