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

com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2 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.WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2AppleV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2FacebookV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2GithubV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2GoogleV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2Login;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2TwitterV2;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class WindowsFunctionAppSlotAuthSettingsV2 {
    /**
     * @return An `active_directory_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 activeDirectoryV2;
    /**
     * @return An `apple_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2AppleV2 appleV2;
    /**
     * @return Should the AuthV2 Settings be enabled. Defaults to `false`.
     * 
     */
    private @Nullable Boolean authEnabled;
    /**
     * @return An `azure_static_web_app_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2 azureStaticWebAppV2;
    /**
     * @return The path to the App Auth settings.
     * 
     * > **Note:** Relative Paths are evaluated from the Site Root directory.
     * 
     */
    private @Nullable String configFilePath;
    /**
     * @return Zero or more `custom_oidc_v2` blocks as defined below.
     * 
     */
    private @Nullable List customOidcV2s;
    /**
     * @return The Default Authentication Provider to use when the `unauthenticated_action` is set to `RedirectToLoginPage`. Possible values include: `apple`, `azureactivedirectory`, `facebook`, `github`, `google`, `twitter` and the `name` of your `custom_oidc_v2` provider.
     * 
     * > **NOTE:** Whilst any value will be accepted by the API for `default_provider`, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or custom_oidc name) as it is used to build the auth endpoint URI.
     * 
     */
    private @Nullable String defaultProvider;
    /**
     * @return The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * 
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     * 
     */
    private @Nullable List excludedPaths;
    /**
     * @return A `facebook_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2FacebookV2 facebookV2;
    /**
     * @return The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.
     * 
     */
    private @Nullable String forwardProxyConvention;
    /**
     * @return The name of the custom header containing the host of the request.
     * 
     */
    private @Nullable String forwardProxyCustomHostHeaderName;
    /**
     * @return The name of the custom header containing the scheme of the request.
     * 
     */
    private @Nullable String forwardProxyCustomSchemeHeaderName;
    /**
     * @return A `github_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2GithubV2 githubV2;
    /**
     * @return A `google_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2GoogleV2 googleV2;
    /**
     * @return The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.
     * 
     */
    private @Nullable String httpRouteApiPrefix;
    /**
     * @return A `login` block as defined below.
     * 
     */
    private WindowsFunctionAppSlotAuthSettingsV2Login login;
    /**
     * @return A `microsoft_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2 microsoftV2;
    /**
     * @return Should the authentication flow be used for all requests.
     * 
     */
    private @Nullable Boolean requireAuthentication;
    /**
     * @return Should HTTPS be required on connections? Defaults to `true`.
     * 
     */
    private @Nullable Boolean requireHttps;
    /**
     * @return The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.
     * 
     */
    private @Nullable String runtimeVersion;
    /**
     * @return A `twitter_v2` block as defined below.
     * 
     */
    private @Nullable WindowsFunctionAppSlotAuthSettingsV2TwitterV2 twitterV2;
    /**
     * @return The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.
     * 
     */
    private @Nullable String unauthenticatedAction;

    private WindowsFunctionAppSlotAuthSettingsV2() {}
    /**
     * @return An `active_directory_v2` block as defined below.
     * 
     */
    public Optional activeDirectoryV2() {
        return Optional.ofNullable(this.activeDirectoryV2);
    }
    /**
     * @return An `apple_v2` block as defined below.
     * 
     */
    public Optional appleV2() {
        return Optional.ofNullable(this.appleV2);
    }
    /**
     * @return Should the AuthV2 Settings be enabled. Defaults to `false`.
     * 
     */
    public Optional authEnabled() {
        return Optional.ofNullable(this.authEnabled);
    }
    /**
     * @return An `azure_static_web_app_v2` block as defined below.
     * 
     */
    public Optional azureStaticWebAppV2() {
        return Optional.ofNullable(this.azureStaticWebAppV2);
    }
    /**
     * @return The path to the App Auth settings.
     * 
     * > **Note:** Relative Paths are evaluated from the Site Root directory.
     * 
     */
    public Optional configFilePath() {
        return Optional.ofNullable(this.configFilePath);
    }
    /**
     * @return Zero or more `custom_oidc_v2` blocks as defined below.
     * 
     */
    public List customOidcV2s() {
        return this.customOidcV2s == null ? List.of() : this.customOidcV2s;
    }
    /**
     * @return The Default Authentication Provider to use when the `unauthenticated_action` is set to `RedirectToLoginPage`. Possible values include: `apple`, `azureactivedirectory`, `facebook`, `github`, `google`, `twitter` and the `name` of your `custom_oidc_v2` provider.
     * 
     * > **NOTE:** Whilst any value will be accepted by the API for `default_provider`, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or custom_oidc name) as it is used to build the auth endpoint URI.
     * 
     */
    public Optional defaultProvider() {
        return Optional.ofNullable(this.defaultProvider);
    }
    /**
     * @return The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * 
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     * 
     */
    public List excludedPaths() {
        return this.excludedPaths == null ? List.of() : this.excludedPaths;
    }
    /**
     * @return A `facebook_v2` block as defined below.
     * 
     */
    public Optional facebookV2() {
        return Optional.ofNullable(this.facebookV2);
    }
    /**
     * @return The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.
     * 
     */
    public Optional forwardProxyConvention() {
        return Optional.ofNullable(this.forwardProxyConvention);
    }
    /**
     * @return The name of the custom header containing the host of the request.
     * 
     */
    public Optional forwardProxyCustomHostHeaderName() {
        return Optional.ofNullable(this.forwardProxyCustomHostHeaderName);
    }
    /**
     * @return The name of the custom header containing the scheme of the request.
     * 
     */
    public Optional forwardProxyCustomSchemeHeaderName() {
        return Optional.ofNullable(this.forwardProxyCustomSchemeHeaderName);
    }
    /**
     * @return A `github_v2` block as defined below.
     * 
     */
    public Optional githubV2() {
        return Optional.ofNullable(this.githubV2);
    }
    /**
     * @return A `google_v2` block as defined below.
     * 
     */
    public Optional googleV2() {
        return Optional.ofNullable(this.googleV2);
    }
    /**
     * @return The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.
     * 
     */
    public Optional httpRouteApiPrefix() {
        return Optional.ofNullable(this.httpRouteApiPrefix);
    }
    /**
     * @return A `login` block as defined below.
     * 
     */
    public WindowsFunctionAppSlotAuthSettingsV2Login login() {
        return this.login;
    }
    /**
     * @return A `microsoft_v2` block as defined below.
     * 
     */
    public Optional microsoftV2() {
        return Optional.ofNullable(this.microsoftV2);
    }
    /**
     * @return Should the authentication flow be used for all requests.
     * 
     */
    public Optional requireAuthentication() {
        return Optional.ofNullable(this.requireAuthentication);
    }
    /**
     * @return Should HTTPS be required on connections? Defaults to `true`.
     * 
     */
    public Optional requireHttps() {
        return Optional.ofNullable(this.requireHttps);
    }
    /**
     * @return The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.
     * 
     */
    public Optional runtimeVersion() {
        return Optional.ofNullable(this.runtimeVersion);
    }
    /**
     * @return A `twitter_v2` block as defined below.
     * 
     */
    public Optional twitterV2() {
        return Optional.ofNullable(this.twitterV2);
    }
    /**
     * @return The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.
     * 
     */
    public Optional unauthenticatedAction() {
        return Optional.ofNullable(this.unauthenticatedAction);
    }

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

    public static Builder builder(WindowsFunctionAppSlotAuthSettingsV2 defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 activeDirectoryV2;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2AppleV2 appleV2;
        private @Nullable Boolean authEnabled;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2 azureStaticWebAppV2;
        private @Nullable String configFilePath;
        private @Nullable List customOidcV2s;
        private @Nullable String defaultProvider;
        private @Nullable List excludedPaths;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2FacebookV2 facebookV2;
        private @Nullable String forwardProxyConvention;
        private @Nullable String forwardProxyCustomHostHeaderName;
        private @Nullable String forwardProxyCustomSchemeHeaderName;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2GithubV2 githubV2;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2GoogleV2 googleV2;
        private @Nullable String httpRouteApiPrefix;
        private WindowsFunctionAppSlotAuthSettingsV2Login login;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2 microsoftV2;
        private @Nullable Boolean requireAuthentication;
        private @Nullable Boolean requireHttps;
        private @Nullable String runtimeVersion;
        private @Nullable WindowsFunctionAppSlotAuthSettingsV2TwitterV2 twitterV2;
        private @Nullable String unauthenticatedAction;
        public Builder() {}
        public Builder(WindowsFunctionAppSlotAuthSettingsV2 defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.activeDirectoryV2 = defaults.activeDirectoryV2;
    	      this.appleV2 = defaults.appleV2;
    	      this.authEnabled = defaults.authEnabled;
    	      this.azureStaticWebAppV2 = defaults.azureStaticWebAppV2;
    	      this.configFilePath = defaults.configFilePath;
    	      this.customOidcV2s = defaults.customOidcV2s;
    	      this.defaultProvider = defaults.defaultProvider;
    	      this.excludedPaths = defaults.excludedPaths;
    	      this.facebookV2 = defaults.facebookV2;
    	      this.forwardProxyConvention = defaults.forwardProxyConvention;
    	      this.forwardProxyCustomHostHeaderName = defaults.forwardProxyCustomHostHeaderName;
    	      this.forwardProxyCustomSchemeHeaderName = defaults.forwardProxyCustomSchemeHeaderName;
    	      this.githubV2 = defaults.githubV2;
    	      this.googleV2 = defaults.googleV2;
    	      this.httpRouteApiPrefix = defaults.httpRouteApiPrefix;
    	      this.login = defaults.login;
    	      this.microsoftV2 = defaults.microsoftV2;
    	      this.requireAuthentication = defaults.requireAuthentication;
    	      this.requireHttps = defaults.requireHttps;
    	      this.runtimeVersion = defaults.runtimeVersion;
    	      this.twitterV2 = defaults.twitterV2;
    	      this.unauthenticatedAction = defaults.unauthenticatedAction;
        }

        @CustomType.Setter
        public Builder activeDirectoryV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 activeDirectoryV2) {

            this.activeDirectoryV2 = activeDirectoryV2;
            return this;
        }
        @CustomType.Setter
        public Builder appleV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2AppleV2 appleV2) {

            this.appleV2 = appleV2;
            return this;
        }
        @CustomType.Setter
        public Builder authEnabled(@Nullable Boolean authEnabled) {

            this.authEnabled = authEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder azureStaticWebAppV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2 azureStaticWebAppV2) {

            this.azureStaticWebAppV2 = azureStaticWebAppV2;
            return this;
        }
        @CustomType.Setter
        public Builder configFilePath(@Nullable String configFilePath) {

            this.configFilePath = configFilePath;
            return this;
        }
        @CustomType.Setter
        public Builder customOidcV2s(@Nullable List customOidcV2s) {

            this.customOidcV2s = customOidcV2s;
            return this;
        }
        public Builder customOidcV2s(WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2... customOidcV2s) {
            return customOidcV2s(List.of(customOidcV2s));
        }
        @CustomType.Setter
        public Builder defaultProvider(@Nullable String defaultProvider) {

            this.defaultProvider = defaultProvider;
            return this;
        }
        @CustomType.Setter
        public Builder excludedPaths(@Nullable List excludedPaths) {

            this.excludedPaths = excludedPaths;
            return this;
        }
        public Builder excludedPaths(String... excludedPaths) {
            return excludedPaths(List.of(excludedPaths));
        }
        @CustomType.Setter
        public Builder facebookV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2FacebookV2 facebookV2) {

            this.facebookV2 = facebookV2;
            return this;
        }
        @CustomType.Setter
        public Builder forwardProxyConvention(@Nullable String forwardProxyConvention) {

            this.forwardProxyConvention = forwardProxyConvention;
            return this;
        }
        @CustomType.Setter
        public Builder forwardProxyCustomHostHeaderName(@Nullable String forwardProxyCustomHostHeaderName) {

            this.forwardProxyCustomHostHeaderName = forwardProxyCustomHostHeaderName;
            return this;
        }
        @CustomType.Setter
        public Builder forwardProxyCustomSchemeHeaderName(@Nullable String forwardProxyCustomSchemeHeaderName) {

            this.forwardProxyCustomSchemeHeaderName = forwardProxyCustomSchemeHeaderName;
            return this;
        }
        @CustomType.Setter
        public Builder githubV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2GithubV2 githubV2) {

            this.githubV2 = githubV2;
            return this;
        }
        @CustomType.Setter
        public Builder googleV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2GoogleV2 googleV2) {

            this.googleV2 = googleV2;
            return this;
        }
        @CustomType.Setter
        public Builder httpRouteApiPrefix(@Nullable String httpRouteApiPrefix) {

            this.httpRouteApiPrefix = httpRouteApiPrefix;
            return this;
        }
        @CustomType.Setter
        public Builder login(WindowsFunctionAppSlotAuthSettingsV2Login login) {
            if (login == null) {
              throw new MissingRequiredPropertyException("WindowsFunctionAppSlotAuthSettingsV2", "login");
            }
            this.login = login;
            return this;
        }
        @CustomType.Setter
        public Builder microsoftV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2 microsoftV2) {

            this.microsoftV2 = microsoftV2;
            return this;
        }
        @CustomType.Setter
        public Builder requireAuthentication(@Nullable Boolean requireAuthentication) {

            this.requireAuthentication = requireAuthentication;
            return this;
        }
        @CustomType.Setter
        public Builder requireHttps(@Nullable Boolean requireHttps) {

            this.requireHttps = requireHttps;
            return this;
        }
        @CustomType.Setter
        public Builder runtimeVersion(@Nullable String runtimeVersion) {

            this.runtimeVersion = runtimeVersion;
            return this;
        }
        @CustomType.Setter
        public Builder twitterV2(@Nullable WindowsFunctionAppSlotAuthSettingsV2TwitterV2 twitterV2) {

            this.twitterV2 = twitterV2;
            return this;
        }
        @CustomType.Setter
        public Builder unauthenticatedAction(@Nullable String unauthenticatedAction) {

            this.unauthenticatedAction = unauthenticatedAction;
            return this;
        }
        public WindowsFunctionAppSlotAuthSettingsV2 build() {
            final var _resultValue = new WindowsFunctionAppSlotAuthSettingsV2();
            _resultValue.activeDirectoryV2 = activeDirectoryV2;
            _resultValue.appleV2 = appleV2;
            _resultValue.authEnabled = authEnabled;
            _resultValue.azureStaticWebAppV2 = azureStaticWebAppV2;
            _resultValue.configFilePath = configFilePath;
            _resultValue.customOidcV2s = customOidcV2s;
            _resultValue.defaultProvider = defaultProvider;
            _resultValue.excludedPaths = excludedPaths;
            _resultValue.facebookV2 = facebookV2;
            _resultValue.forwardProxyConvention = forwardProxyConvention;
            _resultValue.forwardProxyCustomHostHeaderName = forwardProxyCustomHostHeaderName;
            _resultValue.forwardProxyCustomSchemeHeaderName = forwardProxyCustomSchemeHeaderName;
            _resultValue.githubV2 = githubV2;
            _resultValue.googleV2 = googleV2;
            _resultValue.httpRouteApiPrefix = httpRouteApiPrefix;
            _resultValue.login = login;
            _resultValue.microsoftV2 = microsoftV2;
            _resultValue.requireAuthentication = requireAuthentication;
            _resultValue.requireHttps = requireHttps;
            _resultValue.runtimeVersion = runtimeVersion;
            _resultValue.twitterV2 = twitterV2;
            _resultValue.unauthenticatedAction = unauthenticatedAction;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy