Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.appservice.inputs.ServicePlanState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.appservice.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ServicePlanState extends com.pulumi.resources.ResourceArgs {
public static final ServicePlanState Empty = new ServicePlanState();
/**
* The ID of the App Service Environment to create this Service Plan in.
*
* > **NOTE:** Requires an Isolated SKU. Use one of `I1`, `I2`, `I3` for `azurerm_app_service_environment`, or `I1v2`, `I2v2`, `I3v2` for `azure.appservice.EnvironmentV3`
*
*/
@Import(name="appServiceEnvironmentId")
private @Nullable Output appServiceEnvironmentId;
/**
* @return The ID of the App Service Environment to create this Service Plan in.
*
* > **NOTE:** Requires an Isolated SKU. Use one of `I1`, `I2`, `I3` for `azurerm_app_service_environment`, or `I1v2`, `I2v2`, `I3v2` for `azure.appservice.EnvironmentV3`
*
*/
public Optional> appServiceEnvironmentId() {
return Optional.ofNullable(this.appServiceEnvironmentId);
}
/**
* A string representing the Kind of Service Plan.
*
*/
@Import(name="kind")
private @Nullable Output kind;
/**
* @return A string representing the Kind of Service Plan.
*
*/
public Optional> kind() {
return Optional.ofNullable(this.kind);
}
/**
* The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* The maximum number of workers to use in an Elastic SKU Plan. Cannot be set unless using an Elastic SKU.
*
*/
@Import(name="maximumElasticWorkerCount")
private @Nullable Output maximumElasticWorkerCount;
/**
* @return The maximum number of workers to use in an Elastic SKU Plan. Cannot be set unless using an Elastic SKU.
*
*/
public Optional> maximumElasticWorkerCount() {
return Optional.ofNullable(this.maximumElasticWorkerCount);
}
/**
* The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.
*
*/
@Import(name="osType")
private @Nullable Output osType;
/**
* @return The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.
*
*/
public Optional> osType() {
return Optional.ofNullable(this.osType);
}
/**
* Should Per Site Scaling be enabled. Defaults to `false`.
*
*/
@Import(name="perSiteScalingEnabled")
private @Nullable Output perSiteScalingEnabled;
/**
* @return Should Per Site Scaling be enabled. Defaults to `false`.
*
*/
public Optional> perSiteScalingEnabled() {
return Optional.ofNullable(this.perSiteScalingEnabled);
}
/**
* Whether this is a reserved Service Plan Type. `true` if `os_type` is `Linux`, otherwise `false`.
*
*/
@Import(name="reserved")
private @Nullable Output reserved;
/**
* @return Whether this is a reserved Service Plan Type. `true` if `os_type` is `Linux`, otherwise `false`.
*
*/
public Optional> reserved() {
return Optional.ofNullable(this.reserved);
}
/**
* The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
*/
@Import(name="resourceGroupName")
private @Nullable Output resourceGroupName;
/**
* @return The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
*/
public Optional> resourceGroupName() {
return Optional.ofNullable(this.resourceGroupName);
}
/**
* The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I2v2`, `I3v2`, `I4v2`, `I5v2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.
*
* > **NOTE:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I2v2`, and `I3v2`) can only be used with App Service Environments
*
* > **NOTE:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.
*
*/
@Import(name="skuName")
private @Nullable Output skuName;
/**
* @return The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I2v2`, `I3v2`, `I4v2`, `I5v2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.
*
* > **NOTE:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I2v2`, and `I3v2`) can only be used with App Service Environments
*
* > **NOTE:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.
*
*/
public Optional> skuName() {
return Optional.ofNullable(this.skuName);
}
/**
* A mapping of tags which should be assigned to the AppService.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags which should be assigned to the AppService.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The number of Workers (instances) to be allocated.
*
*/
@Import(name="workerCount")
private @Nullable Output workerCount;
/**
* @return The number of Workers (instances) to be allocated.
*
*/
public Optional> workerCount() {
return Optional.ofNullable(this.workerCount);
}
/**
* Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
*
* > **NOTE:** If this setting is set to `true` and the `worker_count` value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.
*
*/
@Import(name="zoneBalancingEnabled")
private @Nullable Output zoneBalancingEnabled;
/**
* @return Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
*
* > **NOTE:** If this setting is set to `true` and the `worker_count` value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.
*
*/
public Optional> zoneBalancingEnabled() {
return Optional.ofNullable(this.zoneBalancingEnabled);
}
private ServicePlanState() {}
private ServicePlanState(ServicePlanState $) {
this.appServiceEnvironmentId = $.appServiceEnvironmentId;
this.kind = $.kind;
this.location = $.location;
this.maximumElasticWorkerCount = $.maximumElasticWorkerCount;
this.name = $.name;
this.osType = $.osType;
this.perSiteScalingEnabled = $.perSiteScalingEnabled;
this.reserved = $.reserved;
this.resourceGroupName = $.resourceGroupName;
this.skuName = $.skuName;
this.tags = $.tags;
this.workerCount = $.workerCount;
this.zoneBalancingEnabled = $.zoneBalancingEnabled;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ServicePlanState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ServicePlanState $;
public Builder() {
$ = new ServicePlanState();
}
public Builder(ServicePlanState defaults) {
$ = new ServicePlanState(Objects.requireNonNull(defaults));
}
/**
* @param appServiceEnvironmentId The ID of the App Service Environment to create this Service Plan in.
*
* > **NOTE:** Requires an Isolated SKU. Use one of `I1`, `I2`, `I3` for `azurerm_app_service_environment`, or `I1v2`, `I2v2`, `I3v2` for `azure.appservice.EnvironmentV3`
*
* @return builder
*
*/
public Builder appServiceEnvironmentId(@Nullable Output appServiceEnvironmentId) {
$.appServiceEnvironmentId = appServiceEnvironmentId;
return this;
}
/**
* @param appServiceEnvironmentId The ID of the App Service Environment to create this Service Plan in.
*
* > **NOTE:** Requires an Isolated SKU. Use one of `I1`, `I2`, `I3` for `azurerm_app_service_environment`, or `I1v2`, `I2v2`, `I3v2` for `azure.appservice.EnvironmentV3`
*
* @return builder
*
*/
public Builder appServiceEnvironmentId(String appServiceEnvironmentId) {
return appServiceEnvironmentId(Output.of(appServiceEnvironmentId));
}
/**
* @param kind A string representing the Kind of Service Plan.
*
* @return builder
*
*/
public Builder kind(@Nullable Output kind) {
$.kind = kind;
return this;
}
/**
* @param kind A string representing the Kind of Service Plan.
*
* @return builder
*
*/
public Builder kind(String kind) {
return kind(Output.of(kind));
}
/**
* @param location The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param maximumElasticWorkerCount The maximum number of workers to use in an Elastic SKU Plan. Cannot be set unless using an Elastic SKU.
*
* @return builder
*
*/
public Builder maximumElasticWorkerCount(@Nullable Output maximumElasticWorkerCount) {
$.maximumElasticWorkerCount = maximumElasticWorkerCount;
return this;
}
/**
* @param maximumElasticWorkerCount The maximum number of workers to use in an Elastic SKU Plan. Cannot be set unless using an Elastic SKU.
*
* @return builder
*
*/
public Builder maximumElasticWorkerCount(Integer maximumElasticWorkerCount) {
return maximumElasticWorkerCount(Output.of(maximumElasticWorkerCount));
}
/**
* @param name The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param osType The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder osType(@Nullable Output osType) {
$.osType = osType;
return this;
}
/**
* @param osType The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder osType(String osType) {
return osType(Output.of(osType));
}
/**
* @param perSiteScalingEnabled Should Per Site Scaling be enabled. Defaults to `false`.
*
* @return builder
*
*/
public Builder perSiteScalingEnabled(@Nullable Output perSiteScalingEnabled) {
$.perSiteScalingEnabled = perSiteScalingEnabled;
return this;
}
/**
* @param perSiteScalingEnabled Should Per Site Scaling be enabled. Defaults to `false`.
*
* @return builder
*
*/
public Builder perSiteScalingEnabled(Boolean perSiteScalingEnabled) {
return perSiteScalingEnabled(Output.of(perSiteScalingEnabled));
}
/**
* @param reserved Whether this is a reserved Service Plan Type. `true` if `os_type` is `Linux`, otherwise `false`.
*
* @return builder
*
*/
public Builder reserved(@Nullable Output reserved) {
$.reserved = reserved;
return this;
}
/**
* @param reserved Whether this is a reserved Service Plan Type. `true` if `os_type` is `Linux`, otherwise `false`.
*
* @return builder
*
*/
public Builder reserved(Boolean reserved) {
return reserved(Output.of(reserved));
}
/**
* @param resourceGroupName The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(@Nullable Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param skuName The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I2v2`, `I3v2`, `I4v2`, `I5v2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.
*
* > **NOTE:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I2v2`, and `I3v2`) can only be used with App Service Environments
*
* > **NOTE:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.
*
* @return builder
*
*/
public Builder skuName(@Nullable Output skuName) {
$.skuName = skuName;
return this;
}
/**
* @param skuName The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I2v2`, `I3v2`, `I4v2`, `I5v2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.
*
* > **NOTE:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I2v2`, and `I3v2`) can only be used with App Service Environments
*
* > **NOTE:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.
*
* @return builder
*
*/
public Builder skuName(String skuName) {
return skuName(Output.of(skuName));
}
/**
* @param tags A mapping of tags which should be assigned to the AppService.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags which should be assigned to the AppService.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param workerCount The number of Workers (instances) to be allocated.
*
* @return builder
*
*/
public Builder workerCount(@Nullable Output workerCount) {
$.workerCount = workerCount;
return this;
}
/**
* @param workerCount The number of Workers (instances) to be allocated.
*
* @return builder
*
*/
public Builder workerCount(Integer workerCount) {
return workerCount(Output.of(workerCount));
}
/**
* @param zoneBalancingEnabled Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
*
* > **NOTE:** If this setting is set to `true` and the `worker_count` value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.
*
* @return builder
*
*/
public Builder zoneBalancingEnabled(@Nullable Output zoneBalancingEnabled) {
$.zoneBalancingEnabled = zoneBalancingEnabled;
return this;
}
/**
* @param zoneBalancingEnabled Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
*
* > **NOTE:** If this setting is set to `true` and the `worker_count` value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.
*
* @return builder
*
*/
public Builder zoneBalancingEnabled(Boolean zoneBalancingEnabled) {
return zoneBalancingEnabled(Output.of(zoneBalancingEnabled));
}
public ServicePlanState build() {
return $;
}
}
}