// *** 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.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class GetWindowsFunctionAppSiteConfigApplicationStack {
    /**
     * @return The version of .Net to use.
     * 
     */
    private String dotnetVersion;
    /**
     * @return The version of Java to use.
     * 
     */
    private String javaVersion;
    /**
     * @return The version of Node to use.
     * 
     */
    private String nodeVersion;
    /**
     * @return The version of PowerShell Core to use.
     * 
     */
    private String powershellCoreVersion;
    /**
     * @return Is the Windows Function App using a custom runtime?.
     * 
     */
    private Boolean useCustomRuntime;
    private Boolean useDotnetIsolatedRuntime;

    private GetWindowsFunctionAppSiteConfigApplicationStack() {}
    /**
     * @return The version of .Net to use.
     * 
     */
    public String dotnetVersion() {
        return this.dotnetVersion;
    }
    /**
     * @return The version of Java to use.
     * 
     */
    public String javaVersion() {
        return this.javaVersion;
    }
    /**
     * @return The version of Node to use.
     * 
     */
    public String nodeVersion() {
        return this.nodeVersion;
    }
    /**
     * @return The version of PowerShell Core to use.
     * 
     */
    public String powershellCoreVersion() {
        return this.powershellCoreVersion;
    }
    /**
     * @return Is the Windows Function App using a custom runtime?.
     * 
     */
    public Boolean useCustomRuntime() {
        return this.useCustomRuntime;
    }
    public Boolean useDotnetIsolatedRuntime() {
        return this.useDotnetIsolatedRuntime;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetWindowsFunctionAppSiteConfigApplicationStack defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String dotnetVersion;
        private String javaVersion;
        private String nodeVersion;
        private String powershellCoreVersion;
        private Boolean useCustomRuntime;
        private Boolean useDotnetIsolatedRuntime;
        public Builder() {}
        public Builder(GetWindowsFunctionAppSiteConfigApplicationStack defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.dotnetVersion = defaults.dotnetVersion;
    	      this.javaVersion = defaults.javaVersion;
    	      this.nodeVersion = defaults.nodeVersion;
    	      this.powershellCoreVersion = defaults.powershellCoreVersion;
    	      this.useCustomRuntime = defaults.useCustomRuntime;
    	      this.useDotnetIsolatedRuntime = defaults.useDotnetIsolatedRuntime;
        }

        @CustomType.Setter
        public Builder dotnetVersion(String dotnetVersion) {
            this.dotnetVersion = Objects.requireNonNull(dotnetVersion);
            return this;
        }
        @CustomType.Setter
        public Builder javaVersion(String javaVersion) {
            this.javaVersion = Objects.requireNonNull(javaVersion);
            return this;
        }
        @CustomType.Setter
        public Builder nodeVersion(String nodeVersion) {
            this.nodeVersion = Objects.requireNonNull(nodeVersion);
            return this;
        }
        @CustomType.Setter
        public Builder powershellCoreVersion(String powershellCoreVersion) {
            this.powershellCoreVersion = Objects.requireNonNull(powershellCoreVersion);
            return this;
        }
        @CustomType.Setter
        public Builder useCustomRuntime(Boolean useCustomRuntime) {
            this.useCustomRuntime = Objects.requireNonNull(useCustomRuntime);
            return this;
        }
        @CustomType.Setter
        public Builder useDotnetIsolatedRuntime(Boolean useDotnetIsolatedRuntime) {
            this.useDotnetIsolatedRuntime = Objects.requireNonNull(useDotnetIsolatedRuntime);
            return this;
        }
        public GetWindowsFunctionAppSiteConfigApplicationStack build() {
            final var o = new GetWindowsFunctionAppSiteConfigApplicationStack();
            o.dotnetVersion = dotnetVersion;
            o.javaVersion = javaVersion;
            o.nodeVersion = nodeVersion;
            o.powershellCoreVersion = powershellCoreVersion;
            o.useCustomRuntime = useCustomRuntime;
            o.useDotnetIsolatedRuntime = useDotnetIsolatedRuntime;
            return o;
        }
    }
}
