Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* 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.appservice;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasName;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import com.microsoft.azure.management.appservice.implementation.AppServiceManager;
import com.microsoft.azure.management.appservice.implementation.AppServicePlanInner;
An immutable client-side representation of an Azure App service plan.
/**
* An immutable client-side representation of an Azure App service plan.
*/
@Fluent(ContainerName = "/Microsoft.Azure.Management.AppService.Fluent")
@Beta
public interface AppServicePlan extends
GroupableResource<AppServiceManager, AppServicePlanInner>,
HasName,
Refreshable<AppServicePlan>,
Updatable<AppServicePlan.Update> {
Returns: maximum number of instances that can be assigned
/**
* @return maximum number of instances that can be assigned
*/
int maxInstances();
Returns: maximum number of instances that can be assigned
/**
* @return maximum number of instances that can be assigned
*/
int capacity();
Returns: if apps assigned to this App Service Plan can be scaled independently
/**
* @return if apps assigned to this App Service Plan can be scaled independently
*/
boolean perSiteScaling();
Returns: number of web apps assigned to this App Service Plan
/**
* @return number of web apps assigned to this App Service Plan
*/
int numberOfWebApps();
Returns: the pricing tier information of the App Service Plan
/**
* @return the pricing tier information of the App Service Plan
*/
PricingTier pricingTier();
Returns: the operating system the web app is running on
/**
* @return the operating system the web app is running on
*/
OperatingSystem operatingSystem();
/**************************************************************
* Fluent interfaces to provision a App service plan
**************************************************************/
Container interface for all the definitions that need to be implemented.
/**
* Container interface for all the definitions that need to be implemented.
*/
interface Definition extends
DefinitionStages.Blank,
DefinitionStages.WithGroup,
DefinitionStages.WithPricingTier,
DefinitionStages.WithOperatingSystem,
DefinitionStages.WithCreate {
}
Grouping of all the site definition stages.
/**
* Grouping of all the site definition stages.
*/
interface DefinitionStages {
The first stage of the app service plan definition.
/**
* The first stage of the app service plan definition.
*/
interface Blank extends DefinitionWithRegion<WithGroup> {
}
An app service plan definition allowing resource group to be set.
/**
* An app service plan definition allowing resource group to be set.
*/
interface WithGroup extends GroupableResource.DefinitionStages.WithGroup<WithPricingTier> {
}
An app service plan definition allowing pricing tier to be set.
/**
* An app service plan definition allowing pricing tier to be set.
*/
interface WithPricingTier {
Specifies free pricing tier for the app service plan.
Returns: the next stage of the definition
/**
* Specifies free pricing tier for the app service plan.
*
* @return the next stage of the definition
*/
WithCreate withFreePricingTier();
Specifies shared pricing tier for the app service plan.
Returns: the next stage of the definition
/**
* Specifies shared pricing tier for the app service plan.
*
* @return the next stage of the definition
*/
WithCreate withSharedPricingTier();
Specifies the pricing tier for the app service plan.
Params: - pricingTier – the pricing tier enum
Returns: the next stage of the definition
/**
* Specifies the pricing tier for the app service plan.
*
* @param pricingTier the pricing tier enum
* @return the next stage of the definition
*/
WithOperatingSystem withPricingTier(PricingTier pricingTier);
}
An app service plan definition allowing the operating system to be set.
/**
* An app service plan definition allowing the operating system to be set.
*/
interface WithOperatingSystem {
Specifies the operating system of the app service plan.
Params: - operatingSystem – the operating system
Returns: the next stage of the definition
/**
* Specifies the operating system of the app service plan.
*
* @param operatingSystem the operating system
* @return the next stage of the definition
*/
WithCreate withOperatingSystem(OperatingSystem operatingSystem);
}
An app service plan definition allowing per site scaling configuration to be set.
/**
* An app service plan definition allowing per site scaling configuration to be set.
*/
interface WithPerSiteScaling {
Specifies whether per-site scaling will be turned on.
Params: - perSiteScaling – if each site can be scaled individually
Returns: the next stage of the definition
/**
* Specifies whether per-site scaling will be turned on.
*
* @param perSiteScaling if each site can be scaled individually
* @return the next stage of the definition
*/
WithCreate withPerSiteScaling(boolean perSiteScaling);
}
An app service plan definition allowing instance capacity to be set.
/**
* An app service plan definition allowing instance capacity to be set.
*/
interface WithCapacity {
Specifies the maximum number of instances running for this app service plan.
Params: - capacity – the maximum number of instances
Returns: the next stage of an app service plan definition
/**
* Specifies the maximum number of instances running for this app service plan.
*
* @param capacity the maximum number of instances
* @return the next stage of an app service plan definition
*/
WithCreate withCapacity(int capacity);
}
An app service plan definition with sufficient inputs to create a new
website in the cloud, but exposing additional optional inputs to
specify.
/**
* An app service plan definition with sufficient inputs to create a new
* website in the cloud, but exposing additional optional inputs to
* specify.
*/
interface WithCreate extends
WithPerSiteScaling,
WithCapacity,
Creatable<AppServicePlan>,
GroupableResource.DefinitionWithTags<WithCreate> {
}
}
Grouping of all the site update stages.
/**
* Grouping of all the site update stages.
*/
interface UpdateStages {
An app service plan definition allowing pricing tier to be set.
/**
* An app service plan definition allowing pricing tier to be set.
*/
interface WithPricingTier {
Specifies the pricing tier for the app service plan.
Params: - pricingTier – the pricing tier enum
Returns: the next stage of the app service plan update
/**
* Specifies the pricing tier for the app service plan.
*
* @param pricingTier the pricing tier enum
* @return the next stage of the app service plan update
*/
Update withPricingTier(PricingTier pricingTier);
}
An app service plan update allowing per site scaling configuration to be set.
/**
* An app service plan update allowing per site scaling configuration to be set.
*/
interface WithPerSiteScaling {
Specifies whether per-site scaling will be turned on.
Params: - perSiteScaling – if each site can be scaled individually
Returns: the next stage of the app service plan update
/**
* Specifies whether per-site scaling will be turned on.
*
* @param perSiteScaling if each site can be scaled individually
* @return the next stage of the app service plan update
*/
Update withPerSiteScaling(boolean perSiteScaling);
}
An app service plan definition allowing instance capacity to be set.
/**
* An app service plan definition allowing instance capacity to be set.
*/
interface WithCapacity {
Specifies the maximum number of instances running for this app service plan.
Params: - capacity – the maximum number of instances
Returns: the next stage of an app service plan update
/**
* Specifies the maximum number of instances running for this app service plan.
*
* @param capacity the maximum number of instances
* @return the next stage of an app service plan update
*/
Update withCapacity(int capacity);
}
}
The template for a site update operation, containing all the settings that can be modified.
/**
* The template for a site update operation, containing all the settings that can be modified.
*/
interface Update extends
Appliable<AppServicePlan>,
UpdateStages.WithCapacity,
UpdateStages.WithPerSiteScaling,
UpdateStages.WithPricingTier,
GroupableResource.UpdateWithTags<Update> {
}
}