com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
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.outputs;
import com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfigAppServiceLog;
import com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfigApplicationStack;
import com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfigCor;
import com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfigIpRestriction;
import com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfigScmIpRestriction;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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;
@CustomType
public final class GetLinuxFunctionAppSiteConfig {
/**
* @return If this Linux Web App is Always On enabled.
*
*/
private Boolean alwaysOn;
/**
* @return The URL of the API definition that describes this Linux Function App.
*
*/
private String apiDefinitionUrl;
/**
* @return The ID of the API Management API for this Linux Function App.
*
*/
private String apiManagementApiId;
/**
* @return The App command line that is launched.
*
*/
private String appCommandLine;
/**
* @return The number of workers this function app can scale out to.
*
*/
private Integer appScaleLimit;
/**
* @return An `app_service_logs` block as defined above.
*
*/
private List appServiceLogs;
/**
* @return The Connection String that links the Linux Function App to Application Insights.
*
*/
private String applicationInsightsConnectionString;
/**
* @return The Instrumentation Key that connects the Linux Function App to Application Insights.
*
*/
private String applicationInsightsKey;
/**
* @return An `application_stack` block as defined above.
*
*/
private List applicationStacks;
/**
* @return The Client ID of the Managed Service Identity that is used for connections to the Azure Container Registry.
*
*/
private String containerRegistryManagedIdentityClientId;
/**
* @return Do connections for Azure Container Registry use Managed Identity?
*
*/
private Boolean containerRegistryUseManagedIdentity;
/**
* @return A `cors` block as defined above.
*
*/
private List cors;
/**
* @return A list of Default Documents for the Linux Web App.
*
*/
private List defaultDocuments;
private Boolean detailedErrorLoggingEnabled;
/**
* @return The number of minimum instances for this Linux Function App.
*
*/
private Integer elasticInstanceMinimum;
/**
* @return State of FTP / FTPS service for this function app.
*
*/
private String ftpsState;
/**
* @return The amount of time in minutes that a node can be unhealthy before being removed from the load balancer.
*
*/
private Integer healthCheckEvictionTimeInMin;
/**
* @return The path that is checked for this function app health.
*
*/
private String healthCheckPath;
/**
* @return Is the HTTP2 protocol enabled?
*
*/
private Boolean http2Enabled;
/**
* @return The Default action for traffic that does not match any `ip_restriction` rule.
*
*/
private String ipRestrictionDefaultAction;
/**
* @return One or more `ip_restriction` blocks as defined above.
*
*/
private List ipRestrictions;
private String linuxFxVersion;
/**
* @return The Site load balancing mode.
*
*/
private String loadBalancingMode;
/**
* @return Managed pipeline mode.
*
*/
private String managedPipelineMode;
/**
* @return The minimum version of TLS required for SSL requests.
*
*/
private String minimumTlsVersion;
/**
* @return The number of pre-warmed instances for this function app.
*
*/
private Integer preWarmedInstanceCount;
/**
* @return Is Remote Debugging enabled?
*
*/
private Boolean remoteDebuggingEnabled;
/**
* @return The Remote Debugging Version.
*
*/
private String remoteDebuggingVersion;
/**
* @return Is Scale Monitoring of the Functions Runtime enabled?
*
*/
private Boolean runtimeScaleMonitoringEnabled;
/**
* @return The Default action for traffic that does not match any `scm_ip_restriction` rule.
*
*/
private @Nullable String scmIpRestrictionDefaultAction;
/**
* @return One or more `scm_ip_restriction` blocks as defined above.
*
*/
private List scmIpRestrictions;
/**
* @return The minimum version of TLS for SSL requests to the SCM site.
*
*/
private String scmMinimumTlsVersion;
private String scmType;
/**
* @return Is the Linux Function App `ip_restriction` configuration used for the SCM also?
*
*/
private Boolean scmUseMainIpRestriction;
/**
* @return Does the Linux Web App use a 32-bit worker process?
*
*/
private Boolean use32BitWorker;
/**
* @return Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?
*
*/
private Boolean vnetRouteAllEnabled;
/**
* @return Are Web Sockets enabled?
*
*/
private Boolean websocketsEnabled;
/**
* @return The number of Workers for this Linux Function App.
*
*/
private Integer workerCount;
private GetLinuxFunctionAppSiteConfig() {}
/**
* @return If this Linux Web App is Always On enabled.
*
*/
public Boolean alwaysOn() {
return this.alwaysOn;
}
/**
* @return The URL of the API definition that describes this Linux Function App.
*
*/
public String apiDefinitionUrl() {
return this.apiDefinitionUrl;
}
/**
* @return The ID of the API Management API for this Linux Function App.
*
*/
public String apiManagementApiId() {
return this.apiManagementApiId;
}
/**
* @return The App command line that is launched.
*
*/
public String appCommandLine() {
return this.appCommandLine;
}
/**
* @return The number of workers this function app can scale out to.
*
*/
public Integer appScaleLimit() {
return this.appScaleLimit;
}
/**
* @return An `app_service_logs` block as defined above.
*
*/
public List appServiceLogs() {
return this.appServiceLogs;
}
/**
* @return The Connection String that links the Linux Function App to Application Insights.
*
*/
public String applicationInsightsConnectionString() {
return this.applicationInsightsConnectionString;
}
/**
* @return The Instrumentation Key that connects the Linux Function App to Application Insights.
*
*/
public String applicationInsightsKey() {
return this.applicationInsightsKey;
}
/**
* @return An `application_stack` block as defined above.
*
*/
public List applicationStacks() {
return this.applicationStacks;
}
/**
* @return The Client ID of the Managed Service Identity that is used for connections to the Azure Container Registry.
*
*/
public String containerRegistryManagedIdentityClientId() {
return this.containerRegistryManagedIdentityClientId;
}
/**
* @return Do connections for Azure Container Registry use Managed Identity?
*
*/
public Boolean containerRegistryUseManagedIdentity() {
return this.containerRegistryUseManagedIdentity;
}
/**
* @return A `cors` block as defined above.
*
*/
public List cors() {
return this.cors;
}
/**
* @return A list of Default Documents for the Linux Web App.
*
*/
public List defaultDocuments() {
return this.defaultDocuments;
}
public Boolean detailedErrorLoggingEnabled() {
return this.detailedErrorLoggingEnabled;
}
/**
* @return The number of minimum instances for this Linux Function App.
*
*/
public Integer elasticInstanceMinimum() {
return this.elasticInstanceMinimum;
}
/**
* @return State of FTP / FTPS service for this function app.
*
*/
public String ftpsState() {
return this.ftpsState;
}
/**
* @return The amount of time in minutes that a node can be unhealthy before being removed from the load balancer.
*
*/
public Integer healthCheckEvictionTimeInMin() {
return this.healthCheckEvictionTimeInMin;
}
/**
* @return The path that is checked for this function app health.
*
*/
public String healthCheckPath() {
return this.healthCheckPath;
}
/**
* @return Is the HTTP2 protocol enabled?
*
*/
public Boolean http2Enabled() {
return this.http2Enabled;
}
/**
* @return The Default action for traffic that does not match any `ip_restriction` rule.
*
*/
public String ipRestrictionDefaultAction() {
return this.ipRestrictionDefaultAction;
}
/**
* @return One or more `ip_restriction` blocks as defined above.
*
*/
public List ipRestrictions() {
return this.ipRestrictions;
}
public String linuxFxVersion() {
return this.linuxFxVersion;
}
/**
* @return The Site load balancing mode.
*
*/
public String loadBalancingMode() {
return this.loadBalancingMode;
}
/**
* @return Managed pipeline mode.
*
*/
public String managedPipelineMode() {
return this.managedPipelineMode;
}
/**
* @return The minimum version of TLS required for SSL requests.
*
*/
public String minimumTlsVersion() {
return this.minimumTlsVersion;
}
/**
* @return The number of pre-warmed instances for this function app.
*
*/
public Integer preWarmedInstanceCount() {
return this.preWarmedInstanceCount;
}
/**
* @return Is Remote Debugging enabled?
*
*/
public Boolean remoteDebuggingEnabled() {
return this.remoteDebuggingEnabled;
}
/**
* @return The Remote Debugging Version.
*
*/
public String remoteDebuggingVersion() {
return this.remoteDebuggingVersion;
}
/**
* @return Is Scale Monitoring of the Functions Runtime enabled?
*
*/
public Boolean runtimeScaleMonitoringEnabled() {
return this.runtimeScaleMonitoringEnabled;
}
/**
* @return The Default action for traffic that does not match any `scm_ip_restriction` rule.
*
*/
public Optional scmIpRestrictionDefaultAction() {
return Optional.ofNullable(this.scmIpRestrictionDefaultAction);
}
/**
* @return One or more `scm_ip_restriction` blocks as defined above.
*
*/
public List scmIpRestrictions() {
return this.scmIpRestrictions;
}
/**
* @return The minimum version of TLS for SSL requests to the SCM site.
*
*/
public String scmMinimumTlsVersion() {
return this.scmMinimumTlsVersion;
}
public String scmType() {
return this.scmType;
}
/**
* @return Is the Linux Function App `ip_restriction` configuration used for the SCM also?
*
*/
public Boolean scmUseMainIpRestriction() {
return this.scmUseMainIpRestriction;
}
/**
* @return Does the Linux Web App use a 32-bit worker process?
*
*/
public Boolean use32BitWorker() {
return this.use32BitWorker;
}
/**
* @return Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?
*
*/
public Boolean vnetRouteAllEnabled() {
return this.vnetRouteAllEnabled;
}
/**
* @return Are Web Sockets enabled?
*
*/
public Boolean websocketsEnabled() {
return this.websocketsEnabled;
}
/**
* @return The number of Workers for this Linux Function App.
*
*/
public Integer workerCount() {
return this.workerCount;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetLinuxFunctionAppSiteConfig defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private Boolean alwaysOn;
private String apiDefinitionUrl;
private String apiManagementApiId;
private String appCommandLine;
private Integer appScaleLimit;
private List appServiceLogs;
private String applicationInsightsConnectionString;
private String applicationInsightsKey;
private List applicationStacks;
private String containerRegistryManagedIdentityClientId;
private Boolean containerRegistryUseManagedIdentity;
private List cors;
private List defaultDocuments;
private Boolean detailedErrorLoggingEnabled;
private Integer elasticInstanceMinimum;
private String ftpsState;
private Integer healthCheckEvictionTimeInMin;
private String healthCheckPath;
private Boolean http2Enabled;
private String ipRestrictionDefaultAction;
private List ipRestrictions;
private String linuxFxVersion;
private String loadBalancingMode;
private String managedPipelineMode;
private String minimumTlsVersion;
private Integer preWarmedInstanceCount;
private Boolean remoteDebuggingEnabled;
private String remoteDebuggingVersion;
private Boolean runtimeScaleMonitoringEnabled;
private @Nullable String scmIpRestrictionDefaultAction;
private List scmIpRestrictions;
private String scmMinimumTlsVersion;
private String scmType;
private Boolean scmUseMainIpRestriction;
private Boolean use32BitWorker;
private Boolean vnetRouteAllEnabled;
private Boolean websocketsEnabled;
private Integer workerCount;
public Builder() {}
public Builder(GetLinuxFunctionAppSiteConfig defaults) {
Objects.requireNonNull(defaults);
this.alwaysOn = defaults.alwaysOn;
this.apiDefinitionUrl = defaults.apiDefinitionUrl;
this.apiManagementApiId = defaults.apiManagementApiId;
this.appCommandLine = defaults.appCommandLine;
this.appScaleLimit = defaults.appScaleLimit;
this.appServiceLogs = defaults.appServiceLogs;
this.applicationInsightsConnectionString = defaults.applicationInsightsConnectionString;
this.applicationInsightsKey = defaults.applicationInsightsKey;
this.applicationStacks = defaults.applicationStacks;
this.containerRegistryManagedIdentityClientId = defaults.containerRegistryManagedIdentityClientId;
this.containerRegistryUseManagedIdentity = defaults.containerRegistryUseManagedIdentity;
this.cors = defaults.cors;
this.defaultDocuments = defaults.defaultDocuments;
this.detailedErrorLoggingEnabled = defaults.detailedErrorLoggingEnabled;
this.elasticInstanceMinimum = defaults.elasticInstanceMinimum;
this.ftpsState = defaults.ftpsState;
this.healthCheckEvictionTimeInMin = defaults.healthCheckEvictionTimeInMin;
this.healthCheckPath = defaults.healthCheckPath;
this.http2Enabled = defaults.http2Enabled;
this.ipRestrictionDefaultAction = defaults.ipRestrictionDefaultAction;
this.ipRestrictions = defaults.ipRestrictions;
this.linuxFxVersion = defaults.linuxFxVersion;
this.loadBalancingMode = defaults.loadBalancingMode;
this.managedPipelineMode = defaults.managedPipelineMode;
this.minimumTlsVersion = defaults.minimumTlsVersion;
this.preWarmedInstanceCount = defaults.preWarmedInstanceCount;
this.remoteDebuggingEnabled = defaults.remoteDebuggingEnabled;
this.remoteDebuggingVersion = defaults.remoteDebuggingVersion;
this.runtimeScaleMonitoringEnabled = defaults.runtimeScaleMonitoringEnabled;
this.scmIpRestrictionDefaultAction = defaults.scmIpRestrictionDefaultAction;
this.scmIpRestrictions = defaults.scmIpRestrictions;
this.scmMinimumTlsVersion = defaults.scmMinimumTlsVersion;
this.scmType = defaults.scmType;
this.scmUseMainIpRestriction = defaults.scmUseMainIpRestriction;
this.use32BitWorker = defaults.use32BitWorker;
this.vnetRouteAllEnabled = defaults.vnetRouteAllEnabled;
this.websocketsEnabled = defaults.websocketsEnabled;
this.workerCount = defaults.workerCount;
}
@CustomType.Setter
public Builder alwaysOn(Boolean alwaysOn) {
if (alwaysOn == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "alwaysOn");
}
this.alwaysOn = alwaysOn;
return this;
}
@CustomType.Setter
public Builder apiDefinitionUrl(String apiDefinitionUrl) {
if (apiDefinitionUrl == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "apiDefinitionUrl");
}
this.apiDefinitionUrl = apiDefinitionUrl;
return this;
}
@CustomType.Setter
public Builder apiManagementApiId(String apiManagementApiId) {
if (apiManagementApiId == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "apiManagementApiId");
}
this.apiManagementApiId = apiManagementApiId;
return this;
}
@CustomType.Setter
public Builder appCommandLine(String appCommandLine) {
if (appCommandLine == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "appCommandLine");
}
this.appCommandLine = appCommandLine;
return this;
}
@CustomType.Setter
public Builder appScaleLimit(Integer appScaleLimit) {
if (appScaleLimit == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "appScaleLimit");
}
this.appScaleLimit = appScaleLimit;
return this;
}
@CustomType.Setter
public Builder appServiceLogs(List appServiceLogs) {
if (appServiceLogs == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "appServiceLogs");
}
this.appServiceLogs = appServiceLogs;
return this;
}
public Builder appServiceLogs(GetLinuxFunctionAppSiteConfigAppServiceLog... appServiceLogs) {
return appServiceLogs(List.of(appServiceLogs));
}
@CustomType.Setter
public Builder applicationInsightsConnectionString(String applicationInsightsConnectionString) {
if (applicationInsightsConnectionString == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "applicationInsightsConnectionString");
}
this.applicationInsightsConnectionString = applicationInsightsConnectionString;
return this;
}
@CustomType.Setter
public Builder applicationInsightsKey(String applicationInsightsKey) {
if (applicationInsightsKey == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "applicationInsightsKey");
}
this.applicationInsightsKey = applicationInsightsKey;
return this;
}
@CustomType.Setter
public Builder applicationStacks(List applicationStacks) {
if (applicationStacks == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "applicationStacks");
}
this.applicationStacks = applicationStacks;
return this;
}
public Builder applicationStacks(GetLinuxFunctionAppSiteConfigApplicationStack... applicationStacks) {
return applicationStacks(List.of(applicationStacks));
}
@CustomType.Setter
public Builder containerRegistryManagedIdentityClientId(String containerRegistryManagedIdentityClientId) {
if (containerRegistryManagedIdentityClientId == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "containerRegistryManagedIdentityClientId");
}
this.containerRegistryManagedIdentityClientId = containerRegistryManagedIdentityClientId;
return this;
}
@CustomType.Setter
public Builder containerRegistryUseManagedIdentity(Boolean containerRegistryUseManagedIdentity) {
if (containerRegistryUseManagedIdentity == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "containerRegistryUseManagedIdentity");
}
this.containerRegistryUseManagedIdentity = containerRegistryUseManagedIdentity;
return this;
}
@CustomType.Setter
public Builder cors(List cors) {
if (cors == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "cors");
}
this.cors = cors;
return this;
}
public Builder cors(GetLinuxFunctionAppSiteConfigCor... cors) {
return cors(List.of(cors));
}
@CustomType.Setter
public Builder defaultDocuments(List defaultDocuments) {
if (defaultDocuments == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "defaultDocuments");
}
this.defaultDocuments = defaultDocuments;
return this;
}
public Builder defaultDocuments(String... defaultDocuments) {
return defaultDocuments(List.of(defaultDocuments));
}
@CustomType.Setter
public Builder detailedErrorLoggingEnabled(Boolean detailedErrorLoggingEnabled) {
if (detailedErrorLoggingEnabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "detailedErrorLoggingEnabled");
}
this.detailedErrorLoggingEnabled = detailedErrorLoggingEnabled;
return this;
}
@CustomType.Setter
public Builder elasticInstanceMinimum(Integer elasticInstanceMinimum) {
if (elasticInstanceMinimum == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "elasticInstanceMinimum");
}
this.elasticInstanceMinimum = elasticInstanceMinimum;
return this;
}
@CustomType.Setter
public Builder ftpsState(String ftpsState) {
if (ftpsState == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "ftpsState");
}
this.ftpsState = ftpsState;
return this;
}
@CustomType.Setter
public Builder healthCheckEvictionTimeInMin(Integer healthCheckEvictionTimeInMin) {
if (healthCheckEvictionTimeInMin == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "healthCheckEvictionTimeInMin");
}
this.healthCheckEvictionTimeInMin = healthCheckEvictionTimeInMin;
return this;
}
@CustomType.Setter
public Builder healthCheckPath(String healthCheckPath) {
if (healthCheckPath == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "healthCheckPath");
}
this.healthCheckPath = healthCheckPath;
return this;
}
@CustomType.Setter
public Builder http2Enabled(Boolean http2Enabled) {
if (http2Enabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "http2Enabled");
}
this.http2Enabled = http2Enabled;
return this;
}
@CustomType.Setter
public Builder ipRestrictionDefaultAction(String ipRestrictionDefaultAction) {
if (ipRestrictionDefaultAction == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "ipRestrictionDefaultAction");
}
this.ipRestrictionDefaultAction = ipRestrictionDefaultAction;
return this;
}
@CustomType.Setter
public Builder ipRestrictions(List ipRestrictions) {
if (ipRestrictions == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "ipRestrictions");
}
this.ipRestrictions = ipRestrictions;
return this;
}
public Builder ipRestrictions(GetLinuxFunctionAppSiteConfigIpRestriction... ipRestrictions) {
return ipRestrictions(List.of(ipRestrictions));
}
@CustomType.Setter
public Builder linuxFxVersion(String linuxFxVersion) {
if (linuxFxVersion == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "linuxFxVersion");
}
this.linuxFxVersion = linuxFxVersion;
return this;
}
@CustomType.Setter
public Builder loadBalancingMode(String loadBalancingMode) {
if (loadBalancingMode == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "loadBalancingMode");
}
this.loadBalancingMode = loadBalancingMode;
return this;
}
@CustomType.Setter
public Builder managedPipelineMode(String managedPipelineMode) {
if (managedPipelineMode == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "managedPipelineMode");
}
this.managedPipelineMode = managedPipelineMode;
return this;
}
@CustomType.Setter
public Builder minimumTlsVersion(String minimumTlsVersion) {
if (minimumTlsVersion == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "minimumTlsVersion");
}
this.minimumTlsVersion = minimumTlsVersion;
return this;
}
@CustomType.Setter
public Builder preWarmedInstanceCount(Integer preWarmedInstanceCount) {
if (preWarmedInstanceCount == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "preWarmedInstanceCount");
}
this.preWarmedInstanceCount = preWarmedInstanceCount;
return this;
}
@CustomType.Setter
public Builder remoteDebuggingEnabled(Boolean remoteDebuggingEnabled) {
if (remoteDebuggingEnabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "remoteDebuggingEnabled");
}
this.remoteDebuggingEnabled = remoteDebuggingEnabled;
return this;
}
@CustomType.Setter
public Builder remoteDebuggingVersion(String remoteDebuggingVersion) {
if (remoteDebuggingVersion == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "remoteDebuggingVersion");
}
this.remoteDebuggingVersion = remoteDebuggingVersion;
return this;
}
@CustomType.Setter
public Builder runtimeScaleMonitoringEnabled(Boolean runtimeScaleMonitoringEnabled) {
if (runtimeScaleMonitoringEnabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "runtimeScaleMonitoringEnabled");
}
this.runtimeScaleMonitoringEnabled = runtimeScaleMonitoringEnabled;
return this;
}
@CustomType.Setter
public Builder scmIpRestrictionDefaultAction(@Nullable String scmIpRestrictionDefaultAction) {
this.scmIpRestrictionDefaultAction = scmIpRestrictionDefaultAction;
return this;
}
@CustomType.Setter
public Builder scmIpRestrictions(List scmIpRestrictions) {
if (scmIpRestrictions == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "scmIpRestrictions");
}
this.scmIpRestrictions = scmIpRestrictions;
return this;
}
public Builder scmIpRestrictions(GetLinuxFunctionAppSiteConfigScmIpRestriction... scmIpRestrictions) {
return scmIpRestrictions(List.of(scmIpRestrictions));
}
@CustomType.Setter
public Builder scmMinimumTlsVersion(String scmMinimumTlsVersion) {
if (scmMinimumTlsVersion == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "scmMinimumTlsVersion");
}
this.scmMinimumTlsVersion = scmMinimumTlsVersion;
return this;
}
@CustomType.Setter
public Builder scmType(String scmType) {
if (scmType == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "scmType");
}
this.scmType = scmType;
return this;
}
@CustomType.Setter
public Builder scmUseMainIpRestriction(Boolean scmUseMainIpRestriction) {
if (scmUseMainIpRestriction == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "scmUseMainIpRestriction");
}
this.scmUseMainIpRestriction = scmUseMainIpRestriction;
return this;
}
@CustomType.Setter
public Builder use32BitWorker(Boolean use32BitWorker) {
if (use32BitWorker == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "use32BitWorker");
}
this.use32BitWorker = use32BitWorker;
return this;
}
@CustomType.Setter
public Builder vnetRouteAllEnabled(Boolean vnetRouteAllEnabled) {
if (vnetRouteAllEnabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "vnetRouteAllEnabled");
}
this.vnetRouteAllEnabled = vnetRouteAllEnabled;
return this;
}
@CustomType.Setter
public Builder websocketsEnabled(Boolean websocketsEnabled) {
if (websocketsEnabled == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "websocketsEnabled");
}
this.websocketsEnabled = websocketsEnabled;
return this;
}
@CustomType.Setter
public Builder workerCount(Integer workerCount) {
if (workerCount == null) {
throw new MissingRequiredPropertyException("GetLinuxFunctionAppSiteConfig", "workerCount");
}
this.workerCount = workerCount;
return this;
}
public GetLinuxFunctionAppSiteConfig build() {
final var _resultValue = new GetLinuxFunctionAppSiteConfig();
_resultValue.alwaysOn = alwaysOn;
_resultValue.apiDefinitionUrl = apiDefinitionUrl;
_resultValue.apiManagementApiId = apiManagementApiId;
_resultValue.appCommandLine = appCommandLine;
_resultValue.appScaleLimit = appScaleLimit;
_resultValue.appServiceLogs = appServiceLogs;
_resultValue.applicationInsightsConnectionString = applicationInsightsConnectionString;
_resultValue.applicationInsightsKey = applicationInsightsKey;
_resultValue.applicationStacks = applicationStacks;
_resultValue.containerRegistryManagedIdentityClientId = containerRegistryManagedIdentityClientId;
_resultValue.containerRegistryUseManagedIdentity = containerRegistryUseManagedIdentity;
_resultValue.cors = cors;
_resultValue.defaultDocuments = defaultDocuments;
_resultValue.detailedErrorLoggingEnabled = detailedErrorLoggingEnabled;
_resultValue.elasticInstanceMinimum = elasticInstanceMinimum;
_resultValue.ftpsState = ftpsState;
_resultValue.healthCheckEvictionTimeInMin = healthCheckEvictionTimeInMin;
_resultValue.healthCheckPath = healthCheckPath;
_resultValue.http2Enabled = http2Enabled;
_resultValue.ipRestrictionDefaultAction = ipRestrictionDefaultAction;
_resultValue.ipRestrictions = ipRestrictions;
_resultValue.linuxFxVersion = linuxFxVersion;
_resultValue.loadBalancingMode = loadBalancingMode;
_resultValue.managedPipelineMode = managedPipelineMode;
_resultValue.minimumTlsVersion = minimumTlsVersion;
_resultValue.preWarmedInstanceCount = preWarmedInstanceCount;
_resultValue.remoteDebuggingEnabled = remoteDebuggingEnabled;
_resultValue.remoteDebuggingVersion = remoteDebuggingVersion;
_resultValue.runtimeScaleMonitoringEnabled = runtimeScaleMonitoringEnabled;
_resultValue.scmIpRestrictionDefaultAction = scmIpRestrictionDefaultAction;
_resultValue.scmIpRestrictions = scmIpRestrictions;
_resultValue.scmMinimumTlsVersion = scmMinimumTlsVersion;
_resultValue.scmType = scmType;
_resultValue.scmUseMainIpRestriction = scmUseMainIpRestriction;
_resultValue.use32BitWorker = use32BitWorker;
_resultValue.vnetRouteAllEnabled = vnetRouteAllEnabled;
_resultValue.websocketsEnabled = websocketsEnabled;
_resultValue.workerCount = workerCount;
return _resultValue;
}
}
}