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.AppServiceSiteConfigArgs 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.azure.appservice.inputs.AppServiceSiteConfigCorsArgs;
import com.pulumi.azure.appservice.inputs.AppServiceSiteConfigIpRestrictionArgs;
import com.pulumi.azure.appservice.inputs.AppServiceSiteConfigScmIpRestrictionArgs;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class AppServiceSiteConfigArgs extends com.pulumi.resources.ResourceArgs {
public static final AppServiceSiteConfigArgs Empty = new AppServiceSiteConfigArgs();
/**
* Are Managed Identity Credentials used for Azure Container Registry pull
*
*/
@Import(name="acrUseManagedIdentityCredentials")
private @Nullable Output acrUseManagedIdentityCredentials;
/**
* @return Are Managed Identity Credentials used for Azure Container Registry pull
*
*/
public Optional> acrUseManagedIdentityCredentials() {
return Optional.ofNullable(this.acrUseManagedIdentityCredentials);
}
/**
* If using User Managed Identity, the User Managed Identity Client Id
*
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
*
*/
@Import(name="acrUserManagedIdentityClientId")
private @Nullable Output acrUserManagedIdentityClientId;
/**
* @return If using User Managed Identity, the User Managed Identity Client Id
*
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
*
*/
public Optional> acrUserManagedIdentityClientId() {
return Optional.ofNullable(this.acrUserManagedIdentityClientId);
}
/**
* Should the app be loaded at all times? Defaults to `false`.
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
*
*/
@Import(name="alwaysOn")
private @Nullable Output alwaysOn;
/**
* @return Should the app be loaded at all times? Defaults to `false`.
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
*
*/
public Optional> alwaysOn() {
return Optional.ofNullable(this.alwaysOn);
}
/**
* App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
*
*/
@Import(name="appCommandLine")
private @Nullable Output appCommandLine;
/**
* @return App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
*
*/
public Optional> appCommandLine() {
return Optional.ofNullable(this.appCommandLine);
}
/**
* The name of the slot to automatically swap to during deployment
*
*/
@Import(name="autoSwapSlotName")
private @Nullable Output autoSwapSlotName;
/**
* @return The name of the slot to automatically swap to during deployment
*
*/
public Optional> autoSwapSlotName() {
return Optional.ofNullable(this.autoSwapSlotName);
}
/**
* A `cors` block as defined below.
*
*/
@Import(name="cors")
private @Nullable Output cors;
/**
* @return A `cors` block as defined below.
*
*/
public Optional> cors() {
return Optional.ofNullable(this.cors);
}
/**
* The ordering of default documents to load, if an address isn't specified.
*
*/
@Import(name="defaultDocuments")
private @Nullable Output> defaultDocuments;
/**
* @return The ordering of default documents to load, if an address isn't specified.
*
*/
public Optional>> defaultDocuments() {
return Optional.ofNullable(this.defaultDocuments);
}
/**
* The version of the .NET framework's CLR used in this App Service. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.
*
*/
@Import(name="dotnetFrameworkVersion")
private @Nullable Output dotnetFrameworkVersion;
/**
* @return The version of the .NET framework's CLR used in this App Service. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.
*
*/
public Optional> dotnetFrameworkVersion() {
return Optional.ofNullable(this.dotnetFrameworkVersion);
}
/**
* State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
*
*/
@Import(name="ftpsState")
private @Nullable Output ftpsState;
/**
* @return State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
*
*/
public Optional> ftpsState() {
return Optional.ofNullable(this.ftpsState);
}
/**
* The health check path to be pinged by App Service. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).
*
*/
@Import(name="healthCheckPath")
private @Nullable Output healthCheckPath;
/**
* @return The health check path to be pinged by App Service. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).
*
*/
public Optional> healthCheckPath() {
return Optional.ofNullable(this.healthCheckPath);
}
/**
* Is HTTP2 Enabled on this App Service? Defaults to `false`.
*
*/
@Import(name="http2Enabled")
private @Nullable Output http2Enabled;
/**
* @return Is HTTP2 Enabled on this App Service? Defaults to `false`.
*
*/
public Optional> http2Enabled() {
return Optional.ofNullable(this.http2Enabled);
}
/**
* A list of objects representing ip restrictions as defined below.
*
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*
*/
@Import(name="ipRestrictions")
private @Nullable Output> ipRestrictions;
/**
* @return A list of objects representing ip restrictions as defined below.
*
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*
*/
public Optional>> ipRestrictions() {
return Optional.ofNullable(this.ipRestrictions);
}
/**
* The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.
*
*/
@Import(name="javaContainer")
private @Nullable Output javaContainer;
/**
* @return The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.
*
*/
public Optional> javaContainer() {
return Optional.ofNullable(this.javaContainer);
}
/**
* The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.
*
*/
@Import(name="javaContainerVersion")
private @Nullable Output javaContainerVersion;
/**
* @return The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.
*
*/
public Optional> javaContainerVersion() {
return Optional.ofNullable(this.javaContainerVersion);
}
/**
* The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8` and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)
*
*/
@Import(name="javaVersion")
private @Nullable Output javaVersion;
/**
* @return The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8` and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)
*
*/
public Optional> javaVersion() {
return Optional.ofNullable(this.javaVersion);
}
/**
* Linux App Framework and version for the App Service. Possible options are a Docker container (`DOCKER|<user/image:tag>`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64("compose.yml")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64("kubernetes.yml")}`).
*
* > **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = "Linux"`, and `reserved = true` or the API will reject any value supplied.
*
*/
@Import(name="linuxFxVersion")
private @Nullable Output linuxFxVersion;
/**
* @return Linux App Framework and version for the App Service. Possible options are a Docker container (`DOCKER|<user/image:tag>`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64("compose.yml")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64("kubernetes.yml")}`).
*
* > **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = "Linux"`, and `reserved = true` or the API will reject any value supplied.
*
*/
public Optional> linuxFxVersion() {
return Optional.ofNullable(this.linuxFxVersion);
}
/**
* Is "MySQL In App" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.
*
* > **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.
*
*/
@Import(name="localMysqlEnabled")
private @Nullable Output localMysqlEnabled;
/**
* @return Is "MySQL In App" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.
*
* > **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.
*
*/
public Optional> localMysqlEnabled() {
return Optional.ofNullable(this.localMysqlEnabled);
}
/**
* The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.
*
*/
@Import(name="managedPipelineMode")
private @Nullable Output managedPipelineMode;
/**
* @return The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.
*
*/
public Optional> managedPipelineMode() {
return Optional.ofNullable(this.managedPipelineMode);
}
/**
* The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.
*
*/
@Import(name="minTlsVersion")
private @Nullable Output minTlsVersion;
/**
* @return The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.
*
*/
public Optional> minTlsVersion() {
return Optional.ofNullable(this.minTlsVersion);
}
/**
* The scaled number of workers (for per site scaling) of this App Service. Requires that `per_site_scaling` is enabled on the `azure.appservice.Plan`. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).
*
*/
@Import(name="numberOfWorkers")
private @Nullable Output numberOfWorkers;
/**
* @return The scaled number of workers (for per site scaling) of this App Service. Requires that `per_site_scaling` is enabled on the `azure.appservice.Plan`. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).
*
*/
public Optional> numberOfWorkers() {
return Optional.ofNullable(this.numberOfWorkers);
}
/**
* The version of PHP to use in this App Service. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3` and `7.4`.
*
*/
@Import(name="phpVersion")
private @Nullable Output phpVersion;
/**
* @return The version of PHP to use in this App Service. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3` and `7.4`.
*
*/
public Optional> phpVersion() {
return Optional.ofNullable(this.phpVersion);
}
/**
* The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.
*
*/
@Import(name="pythonVersion")
private @Nullable Output pythonVersion;
/**
* @return The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.
*
*/
public Optional> pythonVersion() {
return Optional.ofNullable(this.pythonVersion);
}
/**
* Is Remote Debugging Enabled? Defaults to `false`.
*
*/
@Import(name="remoteDebuggingEnabled")
private @Nullable Output remoteDebuggingEnabled;
/**
* @return Is Remote Debugging Enabled? Defaults to `false`.
*
*/
public Optional> remoteDebuggingEnabled() {
return Optional.ofNullable(this.remoteDebuggingEnabled);
}
/**
* Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2017`, `VS2019`, `VS2022`.
*
*/
@Import(name="remoteDebuggingVersion")
private @Nullable Output remoteDebuggingVersion;
/**
* @return Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2017`, `VS2019`, `VS2022`.
*
*/
public Optional> remoteDebuggingVersion() {
return Optional.ofNullable(this.remoteDebuggingVersion);
}
/**
* A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
*
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
*
*/
@Import(name="scmIpRestrictions")
private @Nullable Output> scmIpRestrictions;
/**
* @return A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
*
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
*
*/
public Optional>> scmIpRestrictions() {
return Optional.ofNullable(this.scmIpRestrictions);
}
/**
* The type of Source Control enabled for this App Service. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
*
*/
@Import(name="scmType")
private @Nullable Output scmType;
/**
* @return The type of Source Control enabled for this App Service. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
*
*/
public Optional> scmType() {
return Optional.ofNullable(this.scmType);
}
/**
* IP security restrictions for scm to use main. Defaults to `false`.
*
* > **NOTE** Any `scm_ip_restriction` blocks configured are ignored by the service when `scm_use_main_ip_restriction` is set to `true`. Any scm restrictions will become active if this is subsequently set to `false` or removed.
*
*/
@Import(name="scmUseMainIpRestriction")
private @Nullable Output scmUseMainIpRestriction;
/**
* @return IP security restrictions for scm to use main. Defaults to `false`.
*
* > **NOTE** Any `scm_ip_restriction` blocks configured are ignored by the service when `scm_use_main_ip_restriction` is set to `true`. Any scm restrictions will become active if this is subsequently set to `false` or removed.
*
*/
public Optional> scmUseMainIpRestriction() {
return Optional.ofNullable(this.scmUseMainIpRestriction);
}
/**
* Should the App Service run in 32 bit mode, rather than 64 bit mode?
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
*/
@Import(name="use32BitWorkerProcess")
private @Nullable Output use32BitWorkerProcess;
/**
* @return Should the App Service run in 32 bit mode, rather than 64 bit mode?
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
*/
public Optional> use32BitWorkerProcess() {
return Optional.ofNullable(this.use32BitWorkerProcess);
}
@Import(name="vnetRouteAllEnabled")
private @Nullable Output vnetRouteAllEnabled;
public Optional> vnetRouteAllEnabled() {
return Optional.ofNullable(this.vnetRouteAllEnabled);
}
/**
* Should WebSockets be enabled?
*
*/
@Import(name="websocketsEnabled")
private @Nullable Output websocketsEnabled;
/**
* @return Should WebSockets be enabled?
*
*/
public Optional> websocketsEnabled() {
return Optional.ofNullable(this.websocketsEnabled);
}
/**
* The Windows Docker container image (`DOCKER|<user/image:tag>`)
*
*/
@Import(name="windowsFxVersion")
private @Nullable Output windowsFxVersion;
/**
* @return The Windows Docker container image (`DOCKER|<user/image:tag>`)
*
*/
public Optional> windowsFxVersion() {
return Optional.ofNullable(this.windowsFxVersion);
}
private AppServiceSiteConfigArgs() {}
private AppServiceSiteConfigArgs(AppServiceSiteConfigArgs $) {
this.acrUseManagedIdentityCredentials = $.acrUseManagedIdentityCredentials;
this.acrUserManagedIdentityClientId = $.acrUserManagedIdentityClientId;
this.alwaysOn = $.alwaysOn;
this.appCommandLine = $.appCommandLine;
this.autoSwapSlotName = $.autoSwapSlotName;
this.cors = $.cors;
this.defaultDocuments = $.defaultDocuments;
this.dotnetFrameworkVersion = $.dotnetFrameworkVersion;
this.ftpsState = $.ftpsState;
this.healthCheckPath = $.healthCheckPath;
this.http2Enabled = $.http2Enabled;
this.ipRestrictions = $.ipRestrictions;
this.javaContainer = $.javaContainer;
this.javaContainerVersion = $.javaContainerVersion;
this.javaVersion = $.javaVersion;
this.linuxFxVersion = $.linuxFxVersion;
this.localMysqlEnabled = $.localMysqlEnabled;
this.managedPipelineMode = $.managedPipelineMode;
this.minTlsVersion = $.minTlsVersion;
this.numberOfWorkers = $.numberOfWorkers;
this.phpVersion = $.phpVersion;
this.pythonVersion = $.pythonVersion;
this.remoteDebuggingEnabled = $.remoteDebuggingEnabled;
this.remoteDebuggingVersion = $.remoteDebuggingVersion;
this.scmIpRestrictions = $.scmIpRestrictions;
this.scmType = $.scmType;
this.scmUseMainIpRestriction = $.scmUseMainIpRestriction;
this.use32BitWorkerProcess = $.use32BitWorkerProcess;
this.vnetRouteAllEnabled = $.vnetRouteAllEnabled;
this.websocketsEnabled = $.websocketsEnabled;
this.windowsFxVersion = $.windowsFxVersion;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AppServiceSiteConfigArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AppServiceSiteConfigArgs $;
public Builder() {
$ = new AppServiceSiteConfigArgs();
}
public Builder(AppServiceSiteConfigArgs defaults) {
$ = new AppServiceSiteConfigArgs(Objects.requireNonNull(defaults));
}
/**
* @param acrUseManagedIdentityCredentials Are Managed Identity Credentials used for Azure Container Registry pull
*
* @return builder
*
*/
public Builder acrUseManagedIdentityCredentials(@Nullable Output acrUseManagedIdentityCredentials) {
$.acrUseManagedIdentityCredentials = acrUseManagedIdentityCredentials;
return this;
}
/**
* @param acrUseManagedIdentityCredentials Are Managed Identity Credentials used for Azure Container Registry pull
*
* @return builder
*
*/
public Builder acrUseManagedIdentityCredentials(Boolean acrUseManagedIdentityCredentials) {
return acrUseManagedIdentityCredentials(Output.of(acrUseManagedIdentityCredentials));
}
/**
* @param acrUserManagedIdentityClientId If using User Managed Identity, the User Managed Identity Client Id
*
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
*
* @return builder
*
*/
public Builder acrUserManagedIdentityClientId(@Nullable Output acrUserManagedIdentityClientId) {
$.acrUserManagedIdentityClientId = acrUserManagedIdentityClientId;
return this;
}
/**
* @param acrUserManagedIdentityClientId If using User Managed Identity, the User Managed Identity Client Id
*
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
*
* @return builder
*
*/
public Builder acrUserManagedIdentityClientId(String acrUserManagedIdentityClientId) {
return acrUserManagedIdentityClientId(Output.of(acrUserManagedIdentityClientId));
}
/**
* @param alwaysOn Should the app be loaded at all times? Defaults to `false`.
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
*
* @return builder
*
*/
public Builder alwaysOn(@Nullable Output alwaysOn) {
$.alwaysOn = alwaysOn;
return this;
}
/**
* @param alwaysOn Should the app be loaded at all times? Defaults to `false`.
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
*
* @return builder
*
*/
public Builder alwaysOn(Boolean alwaysOn) {
return alwaysOn(Output.of(alwaysOn));
}
/**
* @param appCommandLine App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
*
* @return builder
*
*/
public Builder appCommandLine(@Nullable Output appCommandLine) {
$.appCommandLine = appCommandLine;
return this;
}
/**
* @param appCommandLine App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
*
* @return builder
*
*/
public Builder appCommandLine(String appCommandLine) {
return appCommandLine(Output.of(appCommandLine));
}
/**
* @param autoSwapSlotName The name of the slot to automatically swap to during deployment
*
* @return builder
*
*/
public Builder autoSwapSlotName(@Nullable Output autoSwapSlotName) {
$.autoSwapSlotName = autoSwapSlotName;
return this;
}
/**
* @param autoSwapSlotName The name of the slot to automatically swap to during deployment
*
* @return builder
*
*/
public Builder autoSwapSlotName(String autoSwapSlotName) {
return autoSwapSlotName(Output.of(autoSwapSlotName));
}
/**
* @param cors A `cors` block as defined below.
*
* @return builder
*
*/
public Builder cors(@Nullable Output cors) {
$.cors = cors;
return this;
}
/**
* @param cors A `cors` block as defined below.
*
* @return builder
*
*/
public Builder cors(AppServiceSiteConfigCorsArgs cors) {
return cors(Output.of(cors));
}
/**
* @param defaultDocuments The ordering of default documents to load, if an address isn't specified.
*
* @return builder
*
*/
public Builder defaultDocuments(@Nullable Output> defaultDocuments) {
$.defaultDocuments = defaultDocuments;
return this;
}
/**
* @param defaultDocuments The ordering of default documents to load, if an address isn't specified.
*
* @return builder
*
*/
public Builder defaultDocuments(List defaultDocuments) {
return defaultDocuments(Output.of(defaultDocuments));
}
/**
* @param defaultDocuments The ordering of default documents to load, if an address isn't specified.
*
* @return builder
*
*/
public Builder defaultDocuments(String... defaultDocuments) {
return defaultDocuments(List.of(defaultDocuments));
}
/**
* @param dotnetFrameworkVersion The version of the .NET framework's CLR used in this App Service. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.
*
* @return builder
*
*/
public Builder dotnetFrameworkVersion(@Nullable Output dotnetFrameworkVersion) {
$.dotnetFrameworkVersion = dotnetFrameworkVersion;
return this;
}
/**
* @param dotnetFrameworkVersion The version of the .NET framework's CLR used in this App Service. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.
*
* @return builder
*
*/
public Builder dotnetFrameworkVersion(String dotnetFrameworkVersion) {
return dotnetFrameworkVersion(Output.of(dotnetFrameworkVersion));
}
/**
* @param ftpsState State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
*
* @return builder
*
*/
public Builder ftpsState(@Nullable Output ftpsState) {
$.ftpsState = ftpsState;
return this;
}
/**
* @param ftpsState State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
*
* @return builder
*
*/
public Builder ftpsState(String ftpsState) {
return ftpsState(Output.of(ftpsState));
}
/**
* @param healthCheckPath The health check path to be pinged by App Service. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).
*
* @return builder
*
*/
public Builder healthCheckPath(@Nullable Output healthCheckPath) {
$.healthCheckPath = healthCheckPath;
return this;
}
/**
* @param healthCheckPath The health check path to be pinged by App Service. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).
*
* @return builder
*
*/
public Builder healthCheckPath(String healthCheckPath) {
return healthCheckPath(Output.of(healthCheckPath));
}
/**
* @param http2Enabled Is HTTP2 Enabled on this App Service? Defaults to `false`.
*
* @return builder
*
*/
public Builder http2Enabled(@Nullable Output http2Enabled) {
$.http2Enabled = http2Enabled;
return this;
}
/**
* @param http2Enabled Is HTTP2 Enabled on this App Service? Defaults to `false`.
*
* @return builder
*
*/
public Builder http2Enabled(Boolean http2Enabled) {
return http2Enabled(Output.of(http2Enabled));
}
/**
* @param ipRestrictions A list of objects representing ip restrictions as defined below.
*
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder ipRestrictions(@Nullable Output> ipRestrictions) {
$.ipRestrictions = ipRestrictions;
return this;
}
/**
* @param ipRestrictions A list of objects representing ip restrictions as defined below.
*
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder ipRestrictions(List ipRestrictions) {
return ipRestrictions(Output.of(ipRestrictions));
}
/**
* @param ipRestrictions A list of objects representing ip restrictions as defined below.
*
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder ipRestrictions(AppServiceSiteConfigIpRestrictionArgs... ipRestrictions) {
return ipRestrictions(List.of(ipRestrictions));
}
/**
* @param javaContainer The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.
*
* @return builder
*
*/
public Builder javaContainer(@Nullable Output javaContainer) {
$.javaContainer = javaContainer;
return this;
}
/**
* @param javaContainer The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.
*
* @return builder
*
*/
public Builder javaContainer(String javaContainer) {
return javaContainer(Output.of(javaContainer));
}
/**
* @param javaContainerVersion The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.
*
* @return builder
*
*/
public Builder javaContainerVersion(@Nullable Output javaContainerVersion) {
$.javaContainerVersion = javaContainerVersion;
return this;
}
/**
* @param javaContainerVersion The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.
*
* @return builder
*
*/
public Builder javaContainerVersion(String javaContainerVersion) {
return javaContainerVersion(Output.of(javaContainerVersion));
}
/**
* @param javaVersion The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8` and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)
*
* @return builder
*
*/
public Builder javaVersion(@Nullable Output javaVersion) {
$.javaVersion = javaVersion;
return this;
}
/**
* @param javaVersion The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8` and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)
*
* @return builder
*
*/
public Builder javaVersion(String javaVersion) {
return javaVersion(Output.of(javaVersion));
}
/**
* @param linuxFxVersion Linux App Framework and version for the App Service. Possible options are a Docker container (`DOCKER|<user/image:tag>`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64("compose.yml")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64("kubernetes.yml")}`).
*
* > **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = "Linux"`, and `reserved = true` or the API will reject any value supplied.
*
* @return builder
*
*/
public Builder linuxFxVersion(@Nullable Output linuxFxVersion) {
$.linuxFxVersion = linuxFxVersion;
return this;
}
/**
* @param linuxFxVersion Linux App Framework and version for the App Service. Possible options are a Docker container (`DOCKER|<user/image:tag>`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64("compose.yml")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64("kubernetes.yml")}`).
*
* > **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = "Linux"`, and `reserved = true` or the API will reject any value supplied.
*
* @return builder
*
*/
public Builder linuxFxVersion(String linuxFxVersion) {
return linuxFxVersion(Output.of(linuxFxVersion));
}
/**
* @param localMysqlEnabled Is "MySQL In App" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.
*
* > **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.
*
* @return builder
*
*/
public Builder localMysqlEnabled(@Nullable Output localMysqlEnabled) {
$.localMysqlEnabled = localMysqlEnabled;
return this;
}
/**
* @param localMysqlEnabled Is "MySQL In App" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.
*
* > **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.
*
* @return builder
*
*/
public Builder localMysqlEnabled(Boolean localMysqlEnabled) {
return localMysqlEnabled(Output.of(localMysqlEnabled));
}
/**
* @param managedPipelineMode The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.
*
* @return builder
*
*/
public Builder managedPipelineMode(@Nullable Output managedPipelineMode) {
$.managedPipelineMode = managedPipelineMode;
return this;
}
/**
* @param managedPipelineMode The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.
*
* @return builder
*
*/
public Builder managedPipelineMode(String managedPipelineMode) {
return managedPipelineMode(Output.of(managedPipelineMode));
}
/**
* @param minTlsVersion The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.
*
* @return builder
*
*/
public Builder minTlsVersion(@Nullable Output minTlsVersion) {
$.minTlsVersion = minTlsVersion;
return this;
}
/**
* @param minTlsVersion The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.
*
* @return builder
*
*/
public Builder minTlsVersion(String minTlsVersion) {
return minTlsVersion(Output.of(minTlsVersion));
}
/**
* @param numberOfWorkers The scaled number of workers (for per site scaling) of this App Service. Requires that `per_site_scaling` is enabled on the `azure.appservice.Plan`. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).
*
* @return builder
*
*/
public Builder numberOfWorkers(@Nullable Output numberOfWorkers) {
$.numberOfWorkers = numberOfWorkers;
return this;
}
/**
* @param numberOfWorkers The scaled number of workers (for per site scaling) of this App Service. Requires that `per_site_scaling` is enabled on the `azure.appservice.Plan`. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).
*
* @return builder
*
*/
public Builder numberOfWorkers(Integer numberOfWorkers) {
return numberOfWorkers(Output.of(numberOfWorkers));
}
/**
* @param phpVersion The version of PHP to use in this App Service. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3` and `7.4`.
*
* @return builder
*
*/
public Builder phpVersion(@Nullable Output phpVersion) {
$.phpVersion = phpVersion;
return this;
}
/**
* @param phpVersion The version of PHP to use in this App Service. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3` and `7.4`.
*
* @return builder
*
*/
public Builder phpVersion(String phpVersion) {
return phpVersion(Output.of(phpVersion));
}
/**
* @param pythonVersion The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.
*
* @return builder
*
*/
public Builder pythonVersion(@Nullable Output pythonVersion) {
$.pythonVersion = pythonVersion;
return this;
}
/**
* @param pythonVersion The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.
*
* @return builder
*
*/
public Builder pythonVersion(String pythonVersion) {
return pythonVersion(Output.of(pythonVersion));
}
/**
* @param remoteDebuggingEnabled Is Remote Debugging Enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteDebuggingEnabled(@Nullable Output remoteDebuggingEnabled) {
$.remoteDebuggingEnabled = remoteDebuggingEnabled;
return this;
}
/**
* @param remoteDebuggingEnabled Is Remote Debugging Enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteDebuggingEnabled(Boolean remoteDebuggingEnabled) {
return remoteDebuggingEnabled(Output.of(remoteDebuggingEnabled));
}
/**
* @param remoteDebuggingVersion Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2017`, `VS2019`, `VS2022`.
*
* @return builder
*
*/
public Builder remoteDebuggingVersion(@Nullable Output remoteDebuggingVersion) {
$.remoteDebuggingVersion = remoteDebuggingVersion;
return this;
}
/**
* @param remoteDebuggingVersion Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2017`, `VS2019`, `VS2022`.
*
* @return builder
*
*/
public Builder remoteDebuggingVersion(String remoteDebuggingVersion) {
return remoteDebuggingVersion(Output.of(remoteDebuggingVersion));
}
/**
* @param scmIpRestrictions A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
*
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder scmIpRestrictions(@Nullable Output> scmIpRestrictions) {
$.scmIpRestrictions = scmIpRestrictions;
return this;
}
/**
* @param scmIpRestrictions A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
*
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder scmIpRestrictions(List scmIpRestrictions) {
return scmIpRestrictions(Output.of(scmIpRestrictions));
}
/**
* @param scmIpRestrictions A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
*
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
*
* @return builder
*
*/
public Builder scmIpRestrictions(AppServiceSiteConfigScmIpRestrictionArgs... scmIpRestrictions) {
return scmIpRestrictions(List.of(scmIpRestrictions));
}
/**
* @param scmType The type of Source Control enabled for this App Service. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
*
* @return builder
*
*/
public Builder scmType(@Nullable Output scmType) {
$.scmType = scmType;
return this;
}
/**
* @param scmType The type of Source Control enabled for this App Service. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
*
* @return builder
*
*/
public Builder scmType(String scmType) {
return scmType(Output.of(scmType));
}
/**
* @param scmUseMainIpRestriction IP security restrictions for scm to use main. Defaults to `false`.
*
* > **NOTE** Any `scm_ip_restriction` blocks configured are ignored by the service when `scm_use_main_ip_restriction` is set to `true`. Any scm restrictions will become active if this is subsequently set to `false` or removed.
*
* @return builder
*
*/
public Builder scmUseMainIpRestriction(@Nullable Output scmUseMainIpRestriction) {
$.scmUseMainIpRestriction = scmUseMainIpRestriction;
return this;
}
/**
* @param scmUseMainIpRestriction IP security restrictions for scm to use main. Defaults to `false`.
*
* > **NOTE** Any `scm_ip_restriction` blocks configured are ignored by the service when `scm_use_main_ip_restriction` is set to `true`. Any scm restrictions will become active if this is subsequently set to `false` or removed.
*
* @return builder
*
*/
public Builder scmUseMainIpRestriction(Boolean scmUseMainIpRestriction) {
return scmUseMainIpRestriction(Output.of(scmUseMainIpRestriction));
}
/**
* @param use32BitWorkerProcess Should the App Service run in 32 bit mode, rather than 64 bit mode?
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
* @return builder
*
*/
public Builder use32BitWorkerProcess(@Nullable Output use32BitWorkerProcess) {
$.use32BitWorkerProcess = use32BitWorkerProcess;
return this;
}
/**
* @param use32BitWorkerProcess Should the App Service run in 32 bit mode, rather than 64 bit mode?
*
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
* @return builder
*
*/
public Builder use32BitWorkerProcess(Boolean use32BitWorkerProcess) {
return use32BitWorkerProcess(Output.of(use32BitWorkerProcess));
}
public Builder vnetRouteAllEnabled(@Nullable Output vnetRouteAllEnabled) {
$.vnetRouteAllEnabled = vnetRouteAllEnabled;
return this;
}
public Builder vnetRouteAllEnabled(Boolean vnetRouteAllEnabled) {
return vnetRouteAllEnabled(Output.of(vnetRouteAllEnabled));
}
/**
* @param websocketsEnabled Should WebSockets be enabled?
*
* @return builder
*
*/
public Builder websocketsEnabled(@Nullable Output websocketsEnabled) {
$.websocketsEnabled = websocketsEnabled;
return this;
}
/**
* @param websocketsEnabled Should WebSockets be enabled?
*
* @return builder
*
*/
public Builder websocketsEnabled(Boolean websocketsEnabled) {
return websocketsEnabled(Output.of(websocketsEnabled));
}
/**
* @param windowsFxVersion The Windows Docker container image (`DOCKER|<user/image:tag>`)
*
* @return builder
*
*/
public Builder windowsFxVersion(@Nullable Output windowsFxVersion) {
$.windowsFxVersion = windowsFxVersion;
return this;
}
/**
* @param windowsFxVersion The Windows Docker container image (`DOCKER|<user/image:tag>`)
*
* @return builder
*
*/
public Builder windowsFxVersion(String windowsFxVersion) {
return windowsFxVersion(Output.of(windowsFxVersion));
}
public AppServiceSiteConfigArgs build() {
return $;
}
}
}