com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsV2 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.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;
}
}
}