/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
*/
package com.microsoft.azure.management.appservice.implementation;
import com.microsoft.azure.management.appservice.ProvisioningState;
import com.microsoft.azure.management.appservice.HostingEnvironmentStatus;
import com.microsoft.azure.management.appservice.VirtualNetworkProfile;
import com.microsoft.azure.management.appservice.InternalLoadBalancingMode;
import java.util.List;
import com.microsoft.azure.management.appservice.WorkerPool;
import com.microsoft.azure.management.appservice.VirtualIPMapping;
import com.microsoft.azure.management.appservice.NetworkAccessControlEntry;
import com.microsoft.azure.management.appservice.NameValuePair;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Description of an App Service Environment.
*/
public class AppServiceEnvironmentInner {
/**
* Name of the App Service Environment.
*/
@JsonProperty(value = "name", required = true)
private String name;
/**
* Location of the App Service Environment, e.g. "West US".
*/
@JsonProperty(value = "location", required = true)
private String location;
/**
* Provisioning state of the App Service Environment. Possible values
* include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting'.
*/
@JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
private ProvisioningState provisioningState;
/**
* Current status of the App Service Environment. Possible values include:
* 'Preparing', 'Ready', 'Scaling', 'Deleting'.
*/
@JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
private HostingEnvironmentStatus status;
/**
* Name of the Virtual Network for the App Service Environment.
*/
@JsonProperty(value = "vnetName")
private String vnetName;
/**
* Resource group of the Virtual Network.
*/
@JsonProperty(value = "vnetResourceGroupName")
private String vnetResourceGroupName;
/**
* Subnet of the Virtual Network.
*/
@JsonProperty(value = "vnetSubnetName")
private String vnetSubnetName;
/**
* Description of the Virtual Network.
*/
@JsonProperty(value = "virtualNetwork", required = true)
private VirtualNetworkProfile virtualNetwork;
/**
* Specifies which endpoints to serve internally in the Virtual Network for
* the App Service Environment. Possible values include: 'None', 'Web',
* 'Publishing'.
*/
@JsonProperty(value = "internalLoadBalancingMode")
private InternalLoadBalancingMode internalLoadBalancingMode;
/**
* Front-end VM size, e.g. "Medium", "Large".
*/
@JsonProperty(value = "multiSize")
private String multiSize;
/**
* Number of front-end instances.
*/
@JsonProperty(value = "multiRoleCount")
private Integer multiRoleCount;
/**
* Description of worker pools with worker size IDs, VM sizes, and number
* of workers in each pool.
*/
@JsonProperty(value = "workerPools", required = true)
private List<WorkerPool> workerPools;
/**
* Number of IP SSL addresses reserved for the App Service Environment.
*/
@JsonProperty(value = "ipsslAddressCount")
private Integer ipsslAddressCount;
/**
* Edition of the metadata database for the App Service Environment, e.g.
* "Standard".
*/
@JsonProperty(value = "databaseEdition", access = JsonProperty.Access.WRITE_ONLY)
private String databaseEdition;
/**
* Service objective of the metadata database for the App Service
* Environment, e.g. "S0".
*/
@JsonProperty(value = "databaseServiceObjective", access = JsonProperty.Access.WRITE_ONLY)
private String databaseServiceObjective;
/**
* Number of upgrade domains of the App Service Environment.
*/
@JsonProperty(value = "upgradeDomains", access = JsonProperty.Access.WRITE_ONLY)
private Integer upgradeDomains;
/**
* Subscription of the App Service Environment.
*/
@JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY)
private String subscriptionId;
/**
* DNS suffix of the App Service Environment.
*/
@JsonProperty(value = "dnsSuffix")
private String dnsSuffix;
/**
* Last deployment action on the App Service Environment.
*/
@JsonProperty(value = "lastAction", access = JsonProperty.Access.WRITE_ONLY)
private String lastAction;
/**
* Result of the last deployment action on the App Service Environment.
*/
@JsonProperty(value = "lastActionResult", access = JsonProperty.Access.WRITE_ONLY)
private String lastActionResult;
/**
* List of comma separated strings describing which VM sizes are allowed
* for front-ends.
*/
@JsonProperty(value = "allowedMultiSizes", access = JsonProperty.Access.WRITE_ONLY)
private String allowedMultiSizes;
/**
* List of comma separated strings describing which VM sizes are allowed
* for workers.
*/
@JsonProperty(value = "allowedWorkerSizes", access = JsonProperty.Access.WRITE_ONLY)
private String allowedWorkerSizes;
/**
* Maximum number of VMs in the App Service Environment.
*/
@JsonProperty(value = "maximumNumberOfMachines", access = JsonProperty.Access.WRITE_ONLY)
private Integer maximumNumberOfMachines;
/**
* Description of IP SSL mapping for the App Service Environment.
*/
@JsonProperty(value = "vipMappings", access = JsonProperty.Access.WRITE_ONLY)
private List<VirtualIPMapping> vipMappings;
/**
* Current total, used, and available worker capacities.
*/
@JsonProperty(value = "environmentCapacities", access = JsonProperty.Access.WRITE_ONLY)
private List<StampCapacityInner> environmentCapacities;
/**
* Access control list for controlling traffic to the App Service
* Environment.
*/
@JsonProperty(value = "networkAccessControlList")
private List<NetworkAccessControlEntry> networkAccessControlList;
/**
* True/false indicating whether the App Service Environment is healthy.
*/
@JsonProperty(value = "environmentIsHealthy", access = JsonProperty.Access.WRITE_ONLY)
private Boolean environmentIsHealthy;
/**
* Detailed message about with results of the last check of the App Service
* Environment.
*/
@JsonProperty(value = "environmentStatus", access = JsonProperty.Access.WRITE_ONLY)
private String environmentStatus;
/**
* Kind of the app service environment.
*/
@JsonProperty(value = "kind")
private String kind;
/**
* Resource group of the App Service Environment.
*/
@JsonProperty(value = "resourceGroup", access = JsonProperty.Access.WRITE_ONLY)
private String resourceGroup;
/**
* Scale factor for front-ends.
*/
@JsonProperty(value = "frontEndScaleFactor")
private Integer frontEndScaleFactor;
/**
* Default Scale Factor for FrontEnds.
*/
@JsonProperty(value = "defaultFrontEndScaleFactor", access = JsonProperty.Access.WRITE_ONLY)
private Integer defaultFrontEndScaleFactor;
/**
* API Management Account associated with the App Service Environment.
*/
@JsonProperty(value = "apiManagementAccountId")
private String apiManagementAccountId;
/**
* <code>true</code> if the App Service Environment is
* suspended; otherwise, <code>false</code>. The environment
* can be suspended, e.g. when the management endpoint is no longer
* available
* (most likely because NSG blocked the incoming traffic).
*/
@JsonProperty(value = "suspended")
private Boolean suspended;
/**
* True/false indicating whether the App Service Environment is suspended.
* The environment can be suspended e.g. when the management endpoint is no
* longer available
* (most likely because NSG blocked the incoming traffic).
*/
@JsonProperty(value = "dynamicCacheEnabled")
private Boolean dynamicCacheEnabled;
/**
* Custom settings for changing the behavior of the App Service
* Environment.
*/
@JsonProperty(value = "clusterSettings")
private List<NameValuePair> clusterSettings;
/**
* Get the name value.
*
* @return the name value
*/
public String name() {
return this.name;
}
/**
* Set the name value.
*
* @param name the name value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withName(String name) {
this.name = name;
return this;
}
/**
* Get the location value.
*
* @return the location value
*/
public String location() {
return this.location;
}
/**
* Set the location value.
*
* @param location the location value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withLocation(String location) {
this.location = location;
return this;
}
/**
* Get the provisioningState value.
*
* @return the provisioningState value
*/
public ProvisioningState provisioningState() {
return this.provisioningState;
}
/**
* Get the status value.
*
* @return the status value
*/
public HostingEnvironmentStatus status() {
return this.status;
}
/**
* Get the vnetName value.
*
* @return the vnetName value
*/
public String vnetName() {
return this.vnetName;
}
/**
* Set the vnetName value.
*
* @param vnetName the vnetName value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withVnetName(String vnetName) {
this.vnetName = vnetName;
return this;
}
/**
* Get the vnetResourceGroupName value.
*
* @return the vnetResourceGroupName value
*/
public String vnetResourceGroupName() {
return this.vnetResourceGroupName;
}
/**
* Set the vnetResourceGroupName value.
*
* @param vnetResourceGroupName the vnetResourceGroupName value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withVnetResourceGroupName(String vnetResourceGroupName) {
this.vnetResourceGroupName = vnetResourceGroupName;
return this;
}
/**
* Get the vnetSubnetName value.
*
* @return the vnetSubnetName value
*/
public String vnetSubnetName() {
return this.vnetSubnetName;
}
/**
* Set the vnetSubnetName value.
*
* @param vnetSubnetName the vnetSubnetName value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withVnetSubnetName(String vnetSubnetName) {
this.vnetSubnetName = vnetSubnetName;
return this;
}
/**
* Get the virtualNetwork value.
*
* @return the virtualNetwork value
*/
public VirtualNetworkProfile virtualNetwork() {
return this.virtualNetwork;
}
/**
* Set the virtualNetwork value.
*
* @param virtualNetwork the virtualNetwork value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withVirtualNetwork(VirtualNetworkProfile virtualNetwork) {
this.virtualNetwork = virtualNetwork;
return this;
}
/**
* Get the internalLoadBalancingMode value.
*
* @return the internalLoadBalancingMode value
*/
public InternalLoadBalancingMode internalLoadBalancingMode() {
return this.internalLoadBalancingMode;
}
/**
* Set the internalLoadBalancingMode value.
*
* @param internalLoadBalancingMode the internalLoadBalancingMode value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withInternalLoadBalancingMode(InternalLoadBalancingMode internalLoadBalancingMode) {
this.internalLoadBalancingMode = internalLoadBalancingMode;
return this;
}
/**
* Get the multiSize value.
*
* @return the multiSize value
*/
public String multiSize() {
return this.multiSize;
}
/**
* Set the multiSize value.
*
* @param multiSize the multiSize value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withMultiSize(String multiSize) {
this.multiSize = multiSize;
return this;
}
/**
* Get the multiRoleCount value.
*
* @return the multiRoleCount value
*/
public Integer multiRoleCount() {
return this.multiRoleCount;
}
/**
* Set the multiRoleCount value.
*
* @param multiRoleCount the multiRoleCount value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withMultiRoleCount(Integer multiRoleCount) {
this.multiRoleCount = multiRoleCount;
return this;
}
/**
* Get the workerPools value.
*
* @return the workerPools value
*/
public List<WorkerPool> workerPools() {
return this.workerPools;
}
/**
* Set the workerPools value.
*
* @param workerPools the workerPools value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withWorkerPools(List<WorkerPool> workerPools) {
this.workerPools = workerPools;
return this;
}
/**
* Get the ipsslAddressCount value.
*
* @return the ipsslAddressCount value
*/
public Integer ipsslAddressCount() {
return this.ipsslAddressCount;
}
/**
* Set the ipsslAddressCount value.
*
* @param ipsslAddressCount the ipsslAddressCount value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withIpsslAddressCount(Integer ipsslAddressCount) {
this.ipsslAddressCount = ipsslAddressCount;
return this;
}
/**
* Get the databaseEdition value.
*
* @return the databaseEdition value
*/
public String databaseEdition() {
return this.databaseEdition;
}
/**
* Get the databaseServiceObjective value.
*
* @return the databaseServiceObjective value
*/
public String databaseServiceObjective() {
return this.databaseServiceObjective;
}
/**
* Get the upgradeDomains value.
*
* @return the upgradeDomains value
*/
public Integer upgradeDomains() {
return this.upgradeDomains;
}
/**
* Get the subscriptionId value.
*
* @return the subscriptionId value
*/
public String subscriptionId() {
return this.subscriptionId;
}
/**
* Get the dnsSuffix value.
*
* @return the dnsSuffix value
*/
public String dnsSuffix() {
return this.dnsSuffix;
}
/**
* Set the dnsSuffix value.
*
* @param dnsSuffix the dnsSuffix value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withDnsSuffix(String dnsSuffix) {
this.dnsSuffix = dnsSuffix;
return this;
}
/**
* Get the lastAction value.
*
* @return the lastAction value
*/
public String lastAction() {
return this.lastAction;
}
/**
* Get the lastActionResult value.
*
* @return the lastActionResult value
*/
public String lastActionResult() {
return this.lastActionResult;
}
/**
* Get the allowedMultiSizes value.
*
* @return the allowedMultiSizes value
*/
public String allowedMultiSizes() {
return this.allowedMultiSizes;
}
/**
* Get the allowedWorkerSizes value.
*
* @return the allowedWorkerSizes value
*/
public String allowedWorkerSizes() {
return this.allowedWorkerSizes;
}
/**
* Get the maximumNumberOfMachines value.
*
* @return the maximumNumberOfMachines value
*/
public Integer maximumNumberOfMachines() {
return this.maximumNumberOfMachines;
}
/**
* Get the vipMappings value.
*
* @return the vipMappings value
*/
public List<VirtualIPMapping> vipMappings() {
return this.vipMappings;
}
/**
* Get the environmentCapacities value.
*
* @return the environmentCapacities value
*/
public List<StampCapacityInner> environmentCapacities() {
return this.environmentCapacities;
}
/**
* Get the networkAccessControlList value.
*
* @return the networkAccessControlList value
*/
public List<NetworkAccessControlEntry> networkAccessControlList() {
return this.networkAccessControlList;
}
/**
* Set the networkAccessControlList value.
*
* @param networkAccessControlList the networkAccessControlList value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withNetworkAccessControlList(List<NetworkAccessControlEntry> networkAccessControlList) {
this.networkAccessControlList = networkAccessControlList;
return this;
}
/**
* Get the environmentIsHealthy value.
*
* @return the environmentIsHealthy value
*/
public Boolean environmentIsHealthy() {
return this.environmentIsHealthy;
}
/**
* Get the environmentStatus value.
*
* @return the environmentStatus value
*/
public String environmentStatus() {
return this.environmentStatus;
}
/**
* Get the kind value.
*
* @return the kind value
*/
public String kind() {
return this.kind;
}
/**
* Set the kind value.
*
* @param kind the kind value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withKind(String kind) {
this.kind = kind;
return this;
}
/**
* Get the resourceGroup value.
*
* @return the resourceGroup value
*/
public String resourceGroup() {
return this.resourceGroup;
}
/**
* Get the frontEndScaleFactor value.
*
* @return the frontEndScaleFactor value
*/
public Integer frontEndScaleFactor() {
return this.frontEndScaleFactor;
}
/**
* Set the frontEndScaleFactor value.
*
* @param frontEndScaleFactor the frontEndScaleFactor value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withFrontEndScaleFactor(Integer frontEndScaleFactor) {
this.frontEndScaleFactor = frontEndScaleFactor;
return this;
}
/**
* Get the defaultFrontEndScaleFactor value.
*
* @return the defaultFrontEndScaleFactor value
*/
public Integer defaultFrontEndScaleFactor() {
return this.defaultFrontEndScaleFactor;
}
/**
* Get the apiManagementAccountId value.
*
* @return the apiManagementAccountId value
*/
public String apiManagementAccountId() {
return this.apiManagementAccountId;
}
/**
* Set the apiManagementAccountId value.
*
* @param apiManagementAccountId the apiManagementAccountId value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withApiManagementAccountId(String apiManagementAccountId) {
this.apiManagementAccountId = apiManagementAccountId;
return this;
}
/**
* Get the suspended value.
*
* @return the suspended value
*/
public Boolean suspended() {
return this.suspended;
}
/**
* Set the suspended value.
*
* @param suspended the suspended value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
/**
* Get the dynamicCacheEnabled value.
*
* @return the dynamicCacheEnabled value
*/
public Boolean dynamicCacheEnabled() {
return this.dynamicCacheEnabled;
}
/**
* Set the dynamicCacheEnabled value.
*
* @param dynamicCacheEnabled the dynamicCacheEnabled value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withDynamicCacheEnabled(Boolean dynamicCacheEnabled) {
this.dynamicCacheEnabled = dynamicCacheEnabled;
return this;
}
/**
* Get the clusterSettings value.
*
* @return the clusterSettings value
*/
public List<NameValuePair> clusterSettings() {
return this.clusterSettings;
}
/**
* Set the clusterSettings value.
*
* @param clusterSettings the clusterSettings value to set
* @return the AppServiceEnvironmentInner object itself.
*/
public AppServiceEnvironmentInner withClusterSettings(List<NameValuePair> clusterSettings) {
this.clusterSettings = clusterSettings;
return this;
}
}