/** * 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.cdn; import com.microsoft.azure.PagedList; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.cdn.implementation.CdnManager; import com.microsoft.azure.management.cdn.implementation.ProfilesInner; 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.rest.ServiceCallback; import com.microsoft.rest.ServiceFuture; import rx.Observable; import java.util.List; /** * Entry point for CDN profile management API. */ @Fluent public interface CdnProfiles extends SupportsCreating<CdnProfile.DefinitionStages.Blank>, SupportsListing<CdnProfile>, SupportsListingByResourceGroup<CdnProfile>, SupportsGettingByResourceGroup<CdnProfile>, SupportsGettingById<CdnProfile>, SupportsDeletingById, SupportsDeletingByResourceGroup, SupportsBatchCreation<CdnProfile>, SupportsBatchDeletion, HasManager<CdnManager>, HasInner<ProfilesInner> { /** * Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. * Supplemental portal is used to configure advanced feature capabilities that are not * yet available in the Azure portal, such as core reports in a standard profile; * rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. * The SSO URI changes approximately every 10 minutes. * * @param resourceGroupName name of the resource group within the Azure subscription. * @param profileName name of the CDN profile which is unique within the resource group. * @return the Sso Uri string if successful. */ String generateSsoUri(String resourceGroupName, String profileName); /** * Checks the availability of a endpoint name without creating the CDN endpoint. * * @param name The endpoint resource name to validate. * @return the CheckNameAvailabilityResult object if successful. */ CheckNameAvailabilityResult checkEndpointNameAvailability(String name); /** * Checks the availability of a endpoint name without creating the CDN endpoint asynchronously. * * @param name the endpoint resource name to validate. * @return the Observable to CheckNameAvailabilityResult object if successful. */ @Beta Observable<CheckNameAvailabilityResult> checkEndpointNameAvailabilityAsync(String name); /** * Checks the availability of a endpoint name without creating the CDN endpoint asynchronously. * * @param name the endpoint resource name to validate. * @param callback the callback to call on success or failure * @return a representation of the deferred computation of this call */ @Beta ServiceFuture<CheckNameAvailabilityResult> checkEndpointNameAvailabilityAsync(String name, ServiceCallback<CheckNameAvailabilityResult> callback); /** * Lists all of the available CDN REST API operations. * * @return list of available CDN REST operations. */ PagedList<Operation> listOperations(); /** * Check the quota and actual usage of the CDN profiles under the current subscription. * * @return quotas and actual usages of the CDN profiles under the current subscription. */ PagedList<ResourceUsage> listResourceUsage(); /** * Lists all the edge nodes of a CDN service. * * @return list of all the edge nodes of a CDN service. */ PagedList<EdgeNode> listEdgeNodes(); /** * Starts an existing stopped CDN endpoint. * * @param resourceGroupName name of the resource group within the Azure subscription. * @param profileName name of the CDN profile which is unique within the resource group. * @param endpointName name of the endpoint under the profile which is unique globally. */ void startEndpoint(String resourceGroupName, String profileName, String endpointName); /** * Stops an existing running CDN endpoint. * * @param resourceGroupName name of the resource group within the Azure subscription. * @param profileName name of the CDN profile which is unique within the resource group. * @param endpointName name of the endpoint under the profile which is unique globally. */ void stopEndpoint(String resourceGroupName, String profileName, String endpointName); /** * Forcibly purges CDN endpoint content. * * @param resourceGroupName name of the resource group within the Azure subscription. * @param profileName name of the CDN profile which is unique within the resource group. * @param endpointName name of the endpoint under the profile which is unique globally. * @param contentPaths the path to the content to be purged. Can describe a file path or a wild card directory. */ void purgeEndpointContent(String resourceGroupName, String profileName, String endpointName, List<String> contentPaths); /** * Forcibly pre-loads CDN endpoint content. Available for Verizon profiles. * * @param resourceGroupName name of the resource group within the Azure subscription. * @param profileName name of the CDN profile which is unique within the resource group. * @param endpointName name of the endpoint under the profile which is unique globally. * @param contentPaths the path to the content to be loaded. Should describe a file path. */ void loadEndpointContent(String resourceGroupName, String profileName, String endpointName, List<String> contentPaths); }