All Downloads are FREE. Search and download functionalities are using the official Maven repository.
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.LinuxWebAppSlotSiteConfigArgs 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.LinuxWebAppSlotSiteConfigApplicationStackArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigCorsArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigIpRestrictionArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigScmIpRestrictionArgs;
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 LinuxWebAppSlotSiteConfigArgs extends com.pulumi.resources.ResourceArgs {
public static final LinuxWebAppSlotSiteConfigArgs Empty = new LinuxWebAppSlotSiteConfigArgs();
/**
* If this Linux Web App is Always On enabled. Defaults to `true`.
*
*/
@Import(name="alwaysOn")
private @Nullable Output alwaysOn;
/**
* @return If this Linux Web App is Always On enabled. Defaults to `true`.
*
*/
public Optional> alwaysOn() {
return Optional.ofNullable(this.alwaysOn);
}
/**
* The URL to the API Definition for this Linux Web App Slot.
*
*/
@Import(name="apiDefinitionUrl")
private @Nullable Output apiDefinitionUrl;
/**
* @return The URL to the API Definition for this Linux Web App Slot.
*
*/
public Optional> apiDefinitionUrl() {
return Optional.ofNullable(this.apiDefinitionUrl);
}
/**
* The API Management API ID this Linux Web App Slot is associated with.
*
*/
@Import(name="apiManagementApiId")
private @Nullable Output apiManagementApiId;
/**
* @return The API Management API ID this Linux Web App Slot is associated with.
*
*/
public Optional> apiManagementApiId() {
return Optional.ofNullable(this.apiManagementApiId);
}
/**
* The App command line to launch.
*
*/
@Import(name="appCommandLine")
private @Nullable Output appCommandLine;
/**
* @return The App command line to launch.
*
*/
public Optional> appCommandLine() {
return Optional.ofNullable(this.appCommandLine);
}
/**
* A `application_stack` block as defined above.
*
*/
@Import(name="applicationStack")
private @Nullable Output applicationStack;
/**
* @return A `application_stack` block as defined above.
*
*/
public Optional> applicationStack() {
return Optional.ofNullable(this.applicationStack);
}
/**
* A `auto_heal_setting` block as defined above. Required with `auto_heal`.
*
*/
@Import(name="autoHealSetting")
private @Nullable Output autoHealSetting;
/**
* @return A `auto_heal_setting` block as defined above. Required with `auto_heal`.
*
*/
public Optional> autoHealSetting() {
return Optional.ofNullable(this.autoHealSetting);
}
/**
* The Linux Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.
*
* > **Note:** This must be a valid slot name on the target Linux Web App.
*
*/
@Import(name="autoSwapSlotName")
private @Nullable Output autoSwapSlotName;
/**
* @return The Linux Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.
*
* > **Note:** This must be a valid slot name on the target Linux Web App.
*
*/
public Optional> autoSwapSlotName() {
return Optional.ofNullable(this.autoSwapSlotName);
}
/**
* The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
*
*/
@Import(name="containerRegistryManagedIdentityClientId")
private @Nullable Output containerRegistryManagedIdentityClientId;
/**
* @return The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
*
*/
public Optional> containerRegistryManagedIdentityClientId() {
return Optional.ofNullable(this.containerRegistryManagedIdentityClientId);
}
/**
* Should connections for Azure Container Registry use Managed Identity.
*
*/
@Import(name="containerRegistryUseManagedIdentity")
private @Nullable Output containerRegistryUseManagedIdentity;
/**
* @return Should connections for Azure Container Registry use Managed Identity.
*
*/
public Optional> containerRegistryUseManagedIdentity() {
return Optional.ofNullable(this.containerRegistryUseManagedIdentity);
}
/**
* A `cors` block as defined above.
*
*/
@Import(name="cors")
private @Nullable Output cors;
/**
* @return A `cors` block as defined above.
*
*/
public Optional> cors() {
return Optional.ofNullable(this.cors);
}
/**
* Specifies a list of Default Documents for the Linux Web App.
*
*/
@Import(name="defaultDocuments")
private @Nullable Output> defaultDocuments;
/**
* @return Specifies a list of Default Documents for the Linux Web App.
*
*/
public Optional>> defaultDocuments() {
return Optional.ofNullable(this.defaultDocuments);
}
@Import(name="detailedErrorLoggingEnabled")
private @Nullable Output detailedErrorLoggingEnabled;
public Optional> detailedErrorLoggingEnabled() {
return Optional.ofNullable(this.detailedErrorLoggingEnabled);
}
@Import(name="ftpsState")
private @Nullable Output ftpsState;
public Optional> ftpsState() {
return Optional.ofNullable(this.ftpsState);
}
/**
* The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Only valid in conjunction with `health_check_path`.
*
*/
@Import(name="healthCheckEvictionTimeInMin")
private @Nullable Output healthCheckEvictionTimeInMin;
/**
* @return The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Only valid in conjunction with `health_check_path`.
*
*/
public Optional> healthCheckEvictionTimeInMin() {
return Optional.ofNullable(this.healthCheckEvictionTimeInMin);
}
/**
* The path to the Health Check.
*
*/
@Import(name="healthCheckPath")
private @Nullable Output healthCheckPath;
/**
* @return The path to the Health Check.
*
*/
public Optional> healthCheckPath() {
return Optional.ofNullable(this.healthCheckPath);
}
/**
* Should the HTTP2 be enabled?
*
*/
@Import(name="http2Enabled")
private @Nullable Output http2Enabled;
/**
* @return Should the HTTP2 be enabled?
*
*/
public Optional> http2Enabled() {
return Optional.ofNullable(this.http2Enabled);
}
/**
* The Default action for traffic that does not match any `ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
*/
@Import(name="ipRestrictionDefaultAction")
private @Nullable Output ipRestrictionDefaultAction;
/**
* @return The Default action for traffic that does not match any `ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
*/
public Optional> ipRestrictionDefaultAction() {
return Optional.ofNullable(this.ipRestrictionDefaultAction);
}
/**
* One or more `ip_restriction` blocks as defined above.
*
*/
@Import(name="ipRestrictions")
private @Nullable Output> ipRestrictions;
/**
* @return One or more `ip_restriction` blocks as defined above.
*
*/
public Optional>> ipRestrictions() {
return Optional.ofNullable(this.ipRestrictions);
}
@Import(name="linuxFxVersion")
private @Nullable Output linuxFxVersion;
public Optional> linuxFxVersion() {
return Optional.ofNullable(this.linuxFxVersion);
}
/**
* The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
*
*/
@Import(name="loadBalancingMode")
private @Nullable Output loadBalancingMode;
/**
* @return The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
*
*/
public Optional> loadBalancingMode() {
return Optional.ofNullable(this.loadBalancingMode);
}
/**
* Use Local MySQL. Defaults to `false`.
*
*/
@Import(name="localMysqlEnabled")
private @Nullable Output localMysqlEnabled;
/**
* @return Use Local MySQL. Defaults to `false`.
*
*/
public Optional> localMysqlEnabled() {
return Optional.ofNullable(this.localMysqlEnabled);
}
/**
* Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
*
*/
@Import(name="managedPipelineMode")
private @Nullable Output managedPipelineMode;
/**
* @return Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
*
*/
public Optional> managedPipelineMode() {
return Optional.ofNullable(this.managedPipelineMode);
}
/**
* The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
*/
@Import(name="minimumTlsVersion")
private @Nullable Output minimumTlsVersion;
/**
* @return The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
*/
public Optional> minimumTlsVersion() {
return Optional.ofNullable(this.minimumTlsVersion);
}
/**
* Should Remote Debugging be enabled? Defaults to `false`.
*
*/
@Import(name="remoteDebuggingEnabled")
private @Nullable Output remoteDebuggingEnabled;
/**
* @return Should Remote Debugging be enabled? Defaults to `false`.
*
*/
public Optional> remoteDebuggingEnabled() {
return Optional.ofNullable(this.remoteDebuggingEnabled);
}
/**
* The Remote Debugging Version. Possible values include `VS2017`, `VS2019` and `VS2022`
*
*/
@Import(name="remoteDebuggingVersion")
private @Nullable Output remoteDebuggingVersion;
/**
* @return The Remote Debugging Version. Possible values include `VS2017`, `VS2019` and `VS2022`
*
*/
public Optional> remoteDebuggingVersion() {
return Optional.ofNullable(this.remoteDebuggingVersion);
}
/**
* The Default action for traffic that does not match any `scm_ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
*/
@Import(name="scmIpRestrictionDefaultAction")
private @Nullable Output scmIpRestrictionDefaultAction;
/**
* @return The Default action for traffic that does not match any `scm_ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
*/
public Optional> scmIpRestrictionDefaultAction() {
return Optional.ofNullable(this.scmIpRestrictionDefaultAction);
}
/**
* One or more `scm_ip_restriction` blocks as defined above.
*
*/
@Import(name="scmIpRestrictions")
private @Nullable Output> scmIpRestrictions;
/**
* @return One or more `scm_ip_restriction` blocks as defined above.
*
*/
public Optional>> scmIpRestrictions() {
return Optional.ofNullable(this.scmIpRestrictions);
}
/**
* The configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
*/
@Import(name="scmMinimumTlsVersion")
private @Nullable Output scmMinimumTlsVersion;
/**
* @return The configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
*/
public Optional> scmMinimumTlsVersion() {
return Optional.ofNullable(this.scmMinimumTlsVersion);
}
@Import(name="scmType")
private @Nullable Output scmType;
public Optional> scmType() {
return Optional.ofNullable(this.scmType);
}
/**
* Should the Linux Web App `ip_restriction` configuration be used for the SCM also.
*
*/
@Import(name="scmUseMainIpRestriction")
private @Nullable Output scmUseMainIpRestriction;
/**
* @return Should the Linux Web App `ip_restriction` configuration be used for the SCM also.
*
*/
public Optional> scmUseMainIpRestriction() {
return Optional.ofNullable(this.scmUseMainIpRestriction);
}
/**
* Should the Linux Web App use a 32-bit worker? Defaults to `true`.
*
*/
@Import(name="use32BitWorker")
private @Nullable Output use32BitWorker;
/**
* @return Should the Linux Web App use a 32-bit worker? Defaults to `true`.
*
*/
public Optional> use32BitWorker() {
return Optional.ofNullable(this.use32BitWorker);
}
/**
* Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to `false`.
*
*/
@Import(name="vnetRouteAllEnabled")
private @Nullable Output vnetRouteAllEnabled;
/**
* @return Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to `false`.
*
*/
public Optional> vnetRouteAllEnabled() {
return Optional.ofNullable(this.vnetRouteAllEnabled);
}
/**
* Should Web Sockets be enabled? Defaults to `false`.
*
*/
@Import(name="websocketsEnabled")
private @Nullable Output websocketsEnabled;
/**
* @return Should Web Sockets be enabled? Defaults to `false`.
*
*/
public Optional> websocketsEnabled() {
return Optional.ofNullable(this.websocketsEnabled);
}
/**
* The number of Workers for this Linux App Service Slot.
*
*/
@Import(name="workerCount")
private @Nullable Output workerCount;
/**
* @return The number of Workers for this Linux App Service Slot.
*
*/
public Optional> workerCount() {
return Optional.ofNullable(this.workerCount);
}
private LinuxWebAppSlotSiteConfigArgs() {}
private LinuxWebAppSlotSiteConfigArgs(LinuxWebAppSlotSiteConfigArgs $) {
this.alwaysOn = $.alwaysOn;
this.apiDefinitionUrl = $.apiDefinitionUrl;
this.apiManagementApiId = $.apiManagementApiId;
this.appCommandLine = $.appCommandLine;
this.applicationStack = $.applicationStack;
this.autoHealSetting = $.autoHealSetting;
this.autoSwapSlotName = $.autoSwapSlotName;
this.containerRegistryManagedIdentityClientId = $.containerRegistryManagedIdentityClientId;
this.containerRegistryUseManagedIdentity = $.containerRegistryUseManagedIdentity;
this.cors = $.cors;
this.defaultDocuments = $.defaultDocuments;
this.detailedErrorLoggingEnabled = $.detailedErrorLoggingEnabled;
this.ftpsState = $.ftpsState;
this.healthCheckEvictionTimeInMin = $.healthCheckEvictionTimeInMin;
this.healthCheckPath = $.healthCheckPath;
this.http2Enabled = $.http2Enabled;
this.ipRestrictionDefaultAction = $.ipRestrictionDefaultAction;
this.ipRestrictions = $.ipRestrictions;
this.linuxFxVersion = $.linuxFxVersion;
this.loadBalancingMode = $.loadBalancingMode;
this.localMysqlEnabled = $.localMysqlEnabled;
this.managedPipelineMode = $.managedPipelineMode;
this.minimumTlsVersion = $.minimumTlsVersion;
this.remoteDebuggingEnabled = $.remoteDebuggingEnabled;
this.remoteDebuggingVersion = $.remoteDebuggingVersion;
this.scmIpRestrictionDefaultAction = $.scmIpRestrictionDefaultAction;
this.scmIpRestrictions = $.scmIpRestrictions;
this.scmMinimumTlsVersion = $.scmMinimumTlsVersion;
this.scmType = $.scmType;
this.scmUseMainIpRestriction = $.scmUseMainIpRestriction;
this.use32BitWorker = $.use32BitWorker;
this.vnetRouteAllEnabled = $.vnetRouteAllEnabled;
this.websocketsEnabled = $.websocketsEnabled;
this.workerCount = $.workerCount;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(LinuxWebAppSlotSiteConfigArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private LinuxWebAppSlotSiteConfigArgs $;
public Builder() {
$ = new LinuxWebAppSlotSiteConfigArgs();
}
public Builder(LinuxWebAppSlotSiteConfigArgs defaults) {
$ = new LinuxWebAppSlotSiteConfigArgs(Objects.requireNonNull(defaults));
}
/**
* @param alwaysOn If this Linux Web App is Always On enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder alwaysOn(@Nullable Output alwaysOn) {
$.alwaysOn = alwaysOn;
return this;
}
/**
* @param alwaysOn If this Linux Web App is Always On enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder alwaysOn(Boolean alwaysOn) {
return alwaysOn(Output.of(alwaysOn));
}
/**
* @param apiDefinitionUrl The URL to the API Definition for this Linux Web App Slot.
*
* @return builder
*
*/
public Builder apiDefinitionUrl(@Nullable Output apiDefinitionUrl) {
$.apiDefinitionUrl = apiDefinitionUrl;
return this;
}
/**
* @param apiDefinitionUrl The URL to the API Definition for this Linux Web App Slot.
*
* @return builder
*
*/
public Builder apiDefinitionUrl(String apiDefinitionUrl) {
return apiDefinitionUrl(Output.of(apiDefinitionUrl));
}
/**
* @param apiManagementApiId The API Management API ID this Linux Web App Slot is associated with.
*
* @return builder
*
*/
public Builder apiManagementApiId(@Nullable Output apiManagementApiId) {
$.apiManagementApiId = apiManagementApiId;
return this;
}
/**
* @param apiManagementApiId The API Management API ID this Linux Web App Slot is associated with.
*
* @return builder
*
*/
public Builder apiManagementApiId(String apiManagementApiId) {
return apiManagementApiId(Output.of(apiManagementApiId));
}
/**
* @param appCommandLine The App command line to launch.
*
* @return builder
*
*/
public Builder appCommandLine(@Nullable Output appCommandLine) {
$.appCommandLine = appCommandLine;
return this;
}
/**
* @param appCommandLine The App command line to launch.
*
* @return builder
*
*/
public Builder appCommandLine(String appCommandLine) {
return appCommandLine(Output.of(appCommandLine));
}
/**
* @param applicationStack A `application_stack` block as defined above.
*
* @return builder
*
*/
public Builder applicationStack(@Nullable Output applicationStack) {
$.applicationStack = applicationStack;
return this;
}
/**
* @param applicationStack A `application_stack` block as defined above.
*
* @return builder
*
*/
public Builder applicationStack(LinuxWebAppSlotSiteConfigApplicationStackArgs applicationStack) {
return applicationStack(Output.of(applicationStack));
}
/**
* @param autoHealSetting A `auto_heal_setting` block as defined above. Required with `auto_heal`.
*
* @return builder
*
*/
public Builder autoHealSetting(@Nullable Output autoHealSetting) {
$.autoHealSetting = autoHealSetting;
return this;
}
/**
* @param autoHealSetting A `auto_heal_setting` block as defined above. Required with `auto_heal`.
*
* @return builder
*
*/
public Builder autoHealSetting(LinuxWebAppSlotSiteConfigAutoHealSettingArgs autoHealSetting) {
return autoHealSetting(Output.of(autoHealSetting));
}
/**
* @param autoSwapSlotName The Linux Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.
*
* > **Note:** This must be a valid slot name on the target Linux Web App.
*
* @return builder
*
*/
public Builder autoSwapSlotName(@Nullable Output autoSwapSlotName) {
$.autoSwapSlotName = autoSwapSlotName;
return this;
}
/**
* @param autoSwapSlotName The Linux Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.
*
* > **Note:** This must be a valid slot name on the target Linux Web App.
*
* @return builder
*
*/
public Builder autoSwapSlotName(String autoSwapSlotName) {
return autoSwapSlotName(Output.of(autoSwapSlotName));
}
/**
* @param containerRegistryManagedIdentityClientId The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
*
* @return builder
*
*/
public Builder containerRegistryManagedIdentityClientId(@Nullable Output containerRegistryManagedIdentityClientId) {
$.containerRegistryManagedIdentityClientId = containerRegistryManagedIdentityClientId;
return this;
}
/**
* @param containerRegistryManagedIdentityClientId The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
*
* @return builder
*
*/
public Builder containerRegistryManagedIdentityClientId(String containerRegistryManagedIdentityClientId) {
return containerRegistryManagedIdentityClientId(Output.of(containerRegistryManagedIdentityClientId));
}
/**
* @param containerRegistryUseManagedIdentity Should connections for Azure Container Registry use Managed Identity.
*
* @return builder
*
*/
public Builder containerRegistryUseManagedIdentity(@Nullable Output containerRegistryUseManagedIdentity) {
$.containerRegistryUseManagedIdentity = containerRegistryUseManagedIdentity;
return this;
}
/**
* @param containerRegistryUseManagedIdentity Should connections for Azure Container Registry use Managed Identity.
*
* @return builder
*
*/
public Builder containerRegistryUseManagedIdentity(Boolean containerRegistryUseManagedIdentity) {
return containerRegistryUseManagedIdentity(Output.of(containerRegistryUseManagedIdentity));
}
/**
* @param cors A `cors` block as defined above.
*
* @return builder
*
*/
public Builder cors(@Nullable Output cors) {
$.cors = cors;
return this;
}
/**
* @param cors A `cors` block as defined above.
*
* @return builder
*
*/
public Builder cors(LinuxWebAppSlotSiteConfigCorsArgs cors) {
return cors(Output.of(cors));
}
/**
* @param defaultDocuments Specifies a list of Default Documents for the Linux Web App.
*
* @return builder
*
*/
public Builder defaultDocuments(@Nullable Output> defaultDocuments) {
$.defaultDocuments = defaultDocuments;
return this;
}
/**
* @param defaultDocuments Specifies a list of Default Documents for the Linux Web App.
*
* @return builder
*
*/
public Builder defaultDocuments(List defaultDocuments) {
return defaultDocuments(Output.of(defaultDocuments));
}
/**
* @param defaultDocuments Specifies a list of Default Documents for the Linux Web App.
*
* @return builder
*
*/
public Builder defaultDocuments(String... defaultDocuments) {
return defaultDocuments(List.of(defaultDocuments));
}
public Builder detailedErrorLoggingEnabled(@Nullable Output detailedErrorLoggingEnabled) {
$.detailedErrorLoggingEnabled = detailedErrorLoggingEnabled;
return this;
}
public Builder detailedErrorLoggingEnabled(Boolean detailedErrorLoggingEnabled) {
return detailedErrorLoggingEnabled(Output.of(detailedErrorLoggingEnabled));
}
public Builder ftpsState(@Nullable Output ftpsState) {
$.ftpsState = ftpsState;
return this;
}
public Builder ftpsState(String ftpsState) {
return ftpsState(Output.of(ftpsState));
}
/**
* @param healthCheckEvictionTimeInMin The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Only valid in conjunction with `health_check_path`.
*
* @return builder
*
*/
public Builder healthCheckEvictionTimeInMin(@Nullable Output healthCheckEvictionTimeInMin) {
$.healthCheckEvictionTimeInMin = healthCheckEvictionTimeInMin;
return this;
}
/**
* @param healthCheckEvictionTimeInMin The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Only valid in conjunction with `health_check_path`.
*
* @return builder
*
*/
public Builder healthCheckEvictionTimeInMin(Integer healthCheckEvictionTimeInMin) {
return healthCheckEvictionTimeInMin(Output.of(healthCheckEvictionTimeInMin));
}
/**
* @param healthCheckPath The path to the Health Check.
*
* @return builder
*
*/
public Builder healthCheckPath(@Nullable Output healthCheckPath) {
$.healthCheckPath = healthCheckPath;
return this;
}
/**
* @param healthCheckPath The path to the Health Check.
*
* @return builder
*
*/
public Builder healthCheckPath(String healthCheckPath) {
return healthCheckPath(Output.of(healthCheckPath));
}
/**
* @param http2Enabled Should the HTTP2 be enabled?
*
* @return builder
*
*/
public Builder http2Enabled(@Nullable Output http2Enabled) {
$.http2Enabled = http2Enabled;
return this;
}
/**
* @param http2Enabled Should the HTTP2 be enabled?
*
* @return builder
*
*/
public Builder http2Enabled(Boolean http2Enabled) {
return http2Enabled(Output.of(http2Enabled));
}
/**
* @param ipRestrictionDefaultAction The Default action for traffic that does not match any `ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
* @return builder
*
*/
public Builder ipRestrictionDefaultAction(@Nullable Output ipRestrictionDefaultAction) {
$.ipRestrictionDefaultAction = ipRestrictionDefaultAction;
return this;
}
/**
* @param ipRestrictionDefaultAction The Default action for traffic that does not match any `ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
* @return builder
*
*/
public Builder ipRestrictionDefaultAction(String ipRestrictionDefaultAction) {
return ipRestrictionDefaultAction(Output.of(ipRestrictionDefaultAction));
}
/**
* @param ipRestrictions One or more `ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder ipRestrictions(@Nullable Output> ipRestrictions) {
$.ipRestrictions = ipRestrictions;
return this;
}
/**
* @param ipRestrictions One or more `ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder ipRestrictions(List ipRestrictions) {
return ipRestrictions(Output.of(ipRestrictions));
}
/**
* @param ipRestrictions One or more `ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder ipRestrictions(LinuxWebAppSlotSiteConfigIpRestrictionArgs... ipRestrictions) {
return ipRestrictions(List.of(ipRestrictions));
}
public Builder linuxFxVersion(@Nullable Output linuxFxVersion) {
$.linuxFxVersion = linuxFxVersion;
return this;
}
public Builder linuxFxVersion(String linuxFxVersion) {
return linuxFxVersion(Output.of(linuxFxVersion));
}
/**
* @param loadBalancingMode The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
*
* @return builder
*
*/
public Builder loadBalancingMode(@Nullable Output loadBalancingMode) {
$.loadBalancingMode = loadBalancingMode;
return this;
}
/**
* @param loadBalancingMode The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
*
* @return builder
*
*/
public Builder loadBalancingMode(String loadBalancingMode) {
return loadBalancingMode(Output.of(loadBalancingMode));
}
/**
* @param localMysqlEnabled Use Local MySQL. Defaults to `false`.
*
* @return builder
*
*/
public Builder localMysqlEnabled(@Nullable Output localMysqlEnabled) {
$.localMysqlEnabled = localMysqlEnabled;
return this;
}
/**
* @param localMysqlEnabled Use Local MySQL. Defaults to `false`.
*
* @return builder
*
*/
public Builder localMysqlEnabled(Boolean localMysqlEnabled) {
return localMysqlEnabled(Output.of(localMysqlEnabled));
}
/**
* @param managedPipelineMode Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
*
* @return builder
*
*/
public Builder managedPipelineMode(@Nullable Output managedPipelineMode) {
$.managedPipelineMode = managedPipelineMode;
return this;
}
/**
* @param managedPipelineMode Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
*
* @return builder
*
*/
public Builder managedPipelineMode(String managedPipelineMode) {
return managedPipelineMode(Output.of(managedPipelineMode));
}
/**
* @param minimumTlsVersion The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
* @return builder
*
*/
public Builder minimumTlsVersion(@Nullable Output minimumTlsVersion) {
$.minimumTlsVersion = minimumTlsVersion;
return this;
}
/**
* @param minimumTlsVersion The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
* @return builder
*
*/
public Builder minimumTlsVersion(String minimumTlsVersion) {
return minimumTlsVersion(Output.of(minimumTlsVersion));
}
/**
* @param remoteDebuggingEnabled Should Remote Debugging be enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteDebuggingEnabled(@Nullable Output remoteDebuggingEnabled) {
$.remoteDebuggingEnabled = remoteDebuggingEnabled;
return this;
}
/**
* @param remoteDebuggingEnabled Should Remote Debugging be enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder remoteDebuggingEnabled(Boolean remoteDebuggingEnabled) {
return remoteDebuggingEnabled(Output.of(remoteDebuggingEnabled));
}
/**
* @param remoteDebuggingVersion The Remote Debugging Version. Possible values include `VS2017`, `VS2019` and `VS2022`
*
* @return builder
*
*/
public Builder remoteDebuggingVersion(@Nullable Output remoteDebuggingVersion) {
$.remoteDebuggingVersion = remoteDebuggingVersion;
return this;
}
/**
* @param remoteDebuggingVersion The Remote Debugging Version. Possible values include `VS2017`, `VS2019` and `VS2022`
*
* @return builder
*
*/
public Builder remoteDebuggingVersion(String remoteDebuggingVersion) {
return remoteDebuggingVersion(Output.of(remoteDebuggingVersion));
}
/**
* @param scmIpRestrictionDefaultAction The Default action for traffic that does not match any `scm_ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
* @return builder
*
*/
public Builder scmIpRestrictionDefaultAction(@Nullable Output scmIpRestrictionDefaultAction) {
$.scmIpRestrictionDefaultAction = scmIpRestrictionDefaultAction;
return this;
}
/**
* @param scmIpRestrictionDefaultAction The Default action for traffic that does not match any `scm_ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
*
* @return builder
*
*/
public Builder scmIpRestrictionDefaultAction(String scmIpRestrictionDefaultAction) {
return scmIpRestrictionDefaultAction(Output.of(scmIpRestrictionDefaultAction));
}
/**
* @param scmIpRestrictions One or more `scm_ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder scmIpRestrictions(@Nullable Output> scmIpRestrictions) {
$.scmIpRestrictions = scmIpRestrictions;
return this;
}
/**
* @param scmIpRestrictions One or more `scm_ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder scmIpRestrictions(List scmIpRestrictions) {
return scmIpRestrictions(Output.of(scmIpRestrictions));
}
/**
* @param scmIpRestrictions One or more `scm_ip_restriction` blocks as defined above.
*
* @return builder
*
*/
public Builder scmIpRestrictions(LinuxWebAppSlotSiteConfigScmIpRestrictionArgs... scmIpRestrictions) {
return scmIpRestrictions(List.of(scmIpRestrictions));
}
/**
* @param scmMinimumTlsVersion The configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
* @return builder
*
*/
public Builder scmMinimumTlsVersion(@Nullable Output scmMinimumTlsVersion) {
$.scmMinimumTlsVersion = scmMinimumTlsVersion;
return this;
}
/**
* @param scmMinimumTlsVersion The configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
*
* @return builder
*
*/
public Builder scmMinimumTlsVersion(String scmMinimumTlsVersion) {
return scmMinimumTlsVersion(Output.of(scmMinimumTlsVersion));
}
public Builder scmType(@Nullable Output scmType) {
$.scmType = scmType;
return this;
}
public Builder scmType(String scmType) {
return scmType(Output.of(scmType));
}
/**
* @param scmUseMainIpRestriction Should the Linux Web App `ip_restriction` configuration be used for the SCM also.
*
* @return builder
*
*/
public Builder scmUseMainIpRestriction(@Nullable Output scmUseMainIpRestriction) {
$.scmUseMainIpRestriction = scmUseMainIpRestriction;
return this;
}
/**
* @param scmUseMainIpRestriction Should the Linux Web App `ip_restriction` configuration be used for the SCM also.
*
* @return builder
*
*/
public Builder scmUseMainIpRestriction(Boolean scmUseMainIpRestriction) {
return scmUseMainIpRestriction(Output.of(scmUseMainIpRestriction));
}
/**
* @param use32BitWorker Should the Linux Web App use a 32-bit worker? Defaults to `true`.
*
* @return builder
*
*/
public Builder use32BitWorker(@Nullable Output use32BitWorker) {
$.use32BitWorker = use32BitWorker;
return this;
}
/**
* @param use32BitWorker Should the Linux Web App use a 32-bit worker? Defaults to `true`.
*
* @return builder
*
*/
public Builder use32BitWorker(Boolean use32BitWorker) {
return use32BitWorker(Output.of(use32BitWorker));
}
/**
* @param vnetRouteAllEnabled Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to `false`.
*
* @return builder
*
*/
public Builder vnetRouteAllEnabled(@Nullable Output vnetRouteAllEnabled) {
$.vnetRouteAllEnabled = vnetRouteAllEnabled;
return this;
}
/**
* @param vnetRouteAllEnabled Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to `false`.
*
* @return builder
*
*/
public Builder vnetRouteAllEnabled(Boolean vnetRouteAllEnabled) {
return vnetRouteAllEnabled(Output.of(vnetRouteAllEnabled));
}
/**
* @param websocketsEnabled Should Web Sockets be enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder websocketsEnabled(@Nullable Output websocketsEnabled) {
$.websocketsEnabled = websocketsEnabled;
return this;
}
/**
* @param websocketsEnabled Should Web Sockets be enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder websocketsEnabled(Boolean websocketsEnabled) {
return websocketsEnabled(Output.of(websocketsEnabled));
}
/**
* @param workerCount The number of Workers for this Linux App Service Slot.
*
* @return builder
*
*/
public Builder workerCount(@Nullable Output workerCount) {
$.workerCount = workerCount;
return this;
}
/**
* @param workerCount The number of Workers for this Linux App Service Slot.
*
* @return builder
*
*/
public Builder workerCount(Integer workerCount) {
return workerCount(Output.of(workerCount));
}
public LinuxWebAppSlotSiteConfigArgs build() {
return $;
}
}
}