All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.appservice.outputs.GetLinuxFunctionAppSiteConfig 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.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** 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;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy