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

com.pulumi.azurenative.web.WebAppFunctionArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.web;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class WebAppFunctionArgs extends com.pulumi.resources.ResourceArgs {

    public static final WebAppFunctionArgs Empty = new WebAppFunctionArgs();

    /**
     * Config information.
     * 
     */
    @Import(name="config")
    private @Nullable Output config;

    /**
     * @return Config information.
     * 
     */
    public Optional> config() {
        return Optional.ofNullable(this.config);
    }

    /**
     * Config URI.
     * 
     */
    @Import(name="configHref")
    private @Nullable Output configHref;

    /**
     * @return Config URI.
     * 
     */
    public Optional> configHref() {
        return Optional.ofNullable(this.configHref);
    }

    /**
     * File list.
     * 
     */
    @Import(name="files")
    private @Nullable Output> files;

    /**
     * @return File list.
     * 
     */
    public Optional>> files() {
        return Optional.ofNullable(this.files);
    }

    /**
     * Function App ID.
     * 
     */
    @Import(name="functionAppId")
    private @Nullable Output functionAppId;

    /**
     * @return Function App ID.
     * 
     */
    public Optional> functionAppId() {
        return Optional.ofNullable(this.functionAppId);
    }

    /**
     * Function name.
     * 
     */
    @Import(name="functionName")
    private @Nullable Output functionName;

    /**
     * @return Function name.
     * 
     */
    public Optional> functionName() {
        return Optional.ofNullable(this.functionName);
    }

    /**
     * Function URI.
     * 
     */
    @Import(name="href")
    private @Nullable Output href;

    /**
     * @return Function URI.
     * 
     */
    public Optional> href() {
        return Optional.ofNullable(this.href);
    }

    /**
     * The invocation URL
     * 
     */
    @Import(name="invokeUrlTemplate")
    private @Nullable Output invokeUrlTemplate;

    /**
     * @return The invocation URL
     * 
     */
    public Optional> invokeUrlTemplate() {
        return Optional.ofNullable(this.invokeUrlTemplate);
    }

    /**
     * Gets or sets a value indicating whether the function is disabled
     * 
     */
    @Import(name="isDisabled")
    private @Nullable Output isDisabled;

    /**
     * @return Gets or sets a value indicating whether the function is disabled
     * 
     */
    public Optional> isDisabled() {
        return Optional.ofNullable(this.isDisabled);
    }

    /**
     * Kind of resource.
     * 
     */
    @Import(name="kind")
    private @Nullable Output kind;

    /**
     * @return Kind of resource.
     * 
     */
    public Optional> kind() {
        return Optional.ofNullable(this.kind);
    }

    /**
     * The function language
     * 
     */
    @Import(name="language")
    private @Nullable Output language;

    /**
     * @return The function language
     * 
     */
    public Optional> language() {
        return Optional.ofNullable(this.language);
    }

    /**
     * Site name.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Site name.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * Name of the resource group to which the resource belongs.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the resource group to which the resource belongs.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Script URI.
     * 
     */
    @Import(name="scriptHref")
    private @Nullable Output scriptHref;

    /**
     * @return Script URI.
     * 
     */
    public Optional> scriptHref() {
        return Optional.ofNullable(this.scriptHref);
    }

    /**
     * Script root path URI.
     * 
     */
    @Import(name="scriptRootPathHref")
    private @Nullable Output scriptRootPathHref;

    /**
     * @return Script root path URI.
     * 
     */
    public Optional> scriptRootPathHref() {
        return Optional.ofNullable(this.scriptRootPathHref);
    }

    /**
     * Secrets file URI.
     * 
     */
    @Import(name="secretsFileHref")
    private @Nullable Output secretsFileHref;

    /**
     * @return Secrets file URI.
     * 
     */
    public Optional> secretsFileHref() {
        return Optional.ofNullable(this.secretsFileHref);
    }

    /**
     * Test data used when testing via the Azure Portal.
     * 
     */
    @Import(name="testData")
    private @Nullable Output testData;

    /**
     * @return Test data used when testing via the Azure Portal.
     * 
     */
    public Optional> testData() {
        return Optional.ofNullable(this.testData);
    }

    /**
     * Test data URI.
     * 
     */
    @Import(name="testDataHref")
    private @Nullable Output testDataHref;

    /**
     * @return Test data URI.
     * 
     */
    public Optional> testDataHref() {
        return Optional.ofNullable(this.testDataHref);
    }

    private WebAppFunctionArgs() {}

    private WebAppFunctionArgs(WebAppFunctionArgs $) {
        this.config = $.config;
        this.configHref = $.configHref;
        this.files = $.files;
        this.functionAppId = $.functionAppId;
        this.functionName = $.functionName;
        this.href = $.href;
        this.invokeUrlTemplate = $.invokeUrlTemplate;
        this.isDisabled = $.isDisabled;
        this.kind = $.kind;
        this.language = $.language;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.scriptHref = $.scriptHref;
        this.scriptRootPathHref = $.scriptRootPathHref;
        this.secretsFileHref = $.secretsFileHref;
        this.testData = $.testData;
        this.testDataHref = $.testDataHref;
    }

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

    public static final class Builder {
        private WebAppFunctionArgs $;

        public Builder() {
            $ = new WebAppFunctionArgs();
        }

        public Builder(WebAppFunctionArgs defaults) {
            $ = new WebAppFunctionArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param config Config information.
         * 
         * @return builder
         * 
         */
        public Builder config(@Nullable Output config) {
            $.config = config;
            return this;
        }

        /**
         * @param config Config information.
         * 
         * @return builder
         * 
         */
        public Builder config(Object config) {
            return config(Output.of(config));
        }

        /**
         * @param configHref Config URI.
         * 
         * @return builder
         * 
         */
        public Builder configHref(@Nullable Output configHref) {
            $.configHref = configHref;
            return this;
        }

        /**
         * @param configHref Config URI.
         * 
         * @return builder
         * 
         */
        public Builder configHref(String configHref) {
            return configHref(Output.of(configHref));
        }

        /**
         * @param files File list.
         * 
         * @return builder
         * 
         */
        public Builder files(@Nullable Output> files) {
            $.files = files;
            return this;
        }

        /**
         * @param files File list.
         * 
         * @return builder
         * 
         */
        public Builder files(Map files) {
            return files(Output.of(files));
        }

        /**
         * @param functionAppId Function App ID.
         * 
         * @return builder
         * 
         */
        public Builder functionAppId(@Nullable Output functionAppId) {
            $.functionAppId = functionAppId;
            return this;
        }

        /**
         * @param functionAppId Function App ID.
         * 
         * @return builder
         * 
         */
        public Builder functionAppId(String functionAppId) {
            return functionAppId(Output.of(functionAppId));
        }

        /**
         * @param functionName Function name.
         * 
         * @return builder
         * 
         */
        public Builder functionName(@Nullable Output functionName) {
            $.functionName = functionName;
            return this;
        }

        /**
         * @param functionName Function name.
         * 
         * @return builder
         * 
         */
        public Builder functionName(String functionName) {
            return functionName(Output.of(functionName));
        }

        /**
         * @param href Function URI.
         * 
         * @return builder
         * 
         */
        public Builder href(@Nullable Output href) {
            $.href = href;
            return this;
        }

        /**
         * @param href Function URI.
         * 
         * @return builder
         * 
         */
        public Builder href(String href) {
            return href(Output.of(href));
        }

        /**
         * @param invokeUrlTemplate The invocation URL
         * 
         * @return builder
         * 
         */
        public Builder invokeUrlTemplate(@Nullable Output invokeUrlTemplate) {
            $.invokeUrlTemplate = invokeUrlTemplate;
            return this;
        }

        /**
         * @param invokeUrlTemplate The invocation URL
         * 
         * @return builder
         * 
         */
        public Builder invokeUrlTemplate(String invokeUrlTemplate) {
            return invokeUrlTemplate(Output.of(invokeUrlTemplate));
        }

        /**
         * @param isDisabled Gets or sets a value indicating whether the function is disabled
         * 
         * @return builder
         * 
         */
        public Builder isDisabled(@Nullable Output isDisabled) {
            $.isDisabled = isDisabled;
            return this;
        }

        /**
         * @param isDisabled Gets or sets a value indicating whether the function is disabled
         * 
         * @return builder
         * 
         */
        public Builder isDisabled(Boolean isDisabled) {
            return isDisabled(Output.of(isDisabled));
        }

        /**
         * @param kind Kind of resource.
         * 
         * @return builder
         * 
         */
        public Builder kind(@Nullable Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind Kind of resource.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param language The function language
         * 
         * @return builder
         * 
         */
        public Builder language(@Nullable Output language) {
            $.language = language;
            return this;
        }

        /**
         * @param language The function language
         * 
         * @return builder
         * 
         */
        public Builder language(String language) {
            return language(Output.of(language));
        }

        /**
         * @param name Site name.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Site name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName Name of the resource group to which the resource belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the resource group to which the resource belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param scriptHref Script URI.
         * 
         * @return builder
         * 
         */
        public Builder scriptHref(@Nullable Output scriptHref) {
            $.scriptHref = scriptHref;
            return this;
        }

        /**
         * @param scriptHref Script URI.
         * 
         * @return builder
         * 
         */
        public Builder scriptHref(String scriptHref) {
            return scriptHref(Output.of(scriptHref));
        }

        /**
         * @param scriptRootPathHref Script root path URI.
         * 
         * @return builder
         * 
         */
        public Builder scriptRootPathHref(@Nullable Output scriptRootPathHref) {
            $.scriptRootPathHref = scriptRootPathHref;
            return this;
        }

        /**
         * @param scriptRootPathHref Script root path URI.
         * 
         * @return builder
         * 
         */
        public Builder scriptRootPathHref(String scriptRootPathHref) {
            return scriptRootPathHref(Output.of(scriptRootPathHref));
        }

        /**
         * @param secretsFileHref Secrets file URI.
         * 
         * @return builder
         * 
         */
        public Builder secretsFileHref(@Nullable Output secretsFileHref) {
            $.secretsFileHref = secretsFileHref;
            return this;
        }

        /**
         * @param secretsFileHref Secrets file URI.
         * 
         * @return builder
         * 
         */
        public Builder secretsFileHref(String secretsFileHref) {
            return secretsFileHref(Output.of(secretsFileHref));
        }

        /**
         * @param testData Test data used when testing via the Azure Portal.
         * 
         * @return builder
         * 
         */
        public Builder testData(@Nullable Output testData) {
            $.testData = testData;
            return this;
        }

        /**
         * @param testData Test data used when testing via the Azure Portal.
         * 
         * @return builder
         * 
         */
        public Builder testData(String testData) {
            return testData(Output.of(testData));
        }

        /**
         * @param testDataHref Test data URI.
         * 
         * @return builder
         * 
         */
        public Builder testDataHref(@Nullable Output testDataHref) {
            $.testDataHref = testDataHref;
            return this;
        }

        /**
         * @param testDataHref Test data URI.
         * 
         * @return builder
         * 
         */
        public Builder testDataHref(String testDataHref) {
            return testDataHref(Output.of(testDataHref));
        }

        public WebAppFunctionArgs build() {
            if ($.name == null) {
                throw new MissingRequiredPropertyException("WebAppFunctionArgs", "name");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("WebAppFunctionArgs", "resourceGroupName");
            }
            return $;
        }
    }

}