![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.appservice.outputs.FunctionAppSlotAuthSettings Maven / Gradle / Ivy
// *** 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.FunctionAppSlotAuthSettingsActiveDirectory;
import com.pulumi.azure.appservice.outputs.FunctionAppSlotAuthSettingsFacebook;
import com.pulumi.azure.appservice.outputs.FunctionAppSlotAuthSettingsGoogle;
import com.pulumi.azure.appservice.outputs.FunctionAppSlotAuthSettingsMicrosoft;
import com.pulumi.azure.appservice.outputs.FunctionAppSlotAuthSettingsTwitter;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class FunctionAppSlotAuthSettings {
/**
* @return An `active_directory` block as defined below.
*
*/
private @Nullable FunctionAppSlotAuthSettingsActiveDirectory activeDirectory;
/**
* @return login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
*
*/
private @Nullable Map additionalLoginParams;
/**
* @return External URLs that can be redirected to as part of logging in or logging out of the app.
*
*/
private @Nullable List allowedExternalRedirectUrls;
/**
* @return The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.
*
* > **NOTE:** When using multiple providers, the default provider must be set for settings like `unauthenticated_client_action` to work.
*
*/
private @Nullable String defaultProvider;
/**
* @return Is Authentication enabled?
*
*/
private Boolean enabled;
/**
* @return A `facebook` block as defined below.
*
*/
private @Nullable FunctionAppSlotAuthSettingsFacebook facebook;
/**
* @return A `google` block as defined below.
*
*/
private @Nullable FunctionAppSlotAuthSettingsGoogle google;
/**
* @return Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. <https://sts.windows.net/{tenant-guid}/>.
*
*/
private @Nullable String issuer;
/**
* @return A `microsoft` block as defined below.
*
*/
private @Nullable FunctionAppSlotAuthSettingsMicrosoft microsoft;
/**
* @return The runtime version of the Authentication/Authorization module.
*
*/
private @Nullable String runtimeVersion;
/**
* @return The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72`.
*
*/
private @Nullable Double tokenRefreshExtensionHours;
/**
* @return If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to `false`.
*
*/
private @Nullable Boolean tokenStoreEnabled;
/**
* @return A `twitter` block as defined below.
*
*/
private @Nullable FunctionAppSlotAuthSettingsTwitter twitter;
/**
* @return The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.
*
*/
private @Nullable String unauthenticatedClientAction;
private FunctionAppSlotAuthSettings() {}
/**
* @return An `active_directory` block as defined below.
*
*/
public Optional activeDirectory() {
return Optional.ofNullable(this.activeDirectory);
}
/**
* @return login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
*
*/
public Map additionalLoginParams() {
return this.additionalLoginParams == null ? Map.of() : this.additionalLoginParams;
}
/**
* @return External URLs that can be redirected to as part of logging in or logging out of the app.
*
*/
public List allowedExternalRedirectUrls() {
return this.allowedExternalRedirectUrls == null ? List.of() : this.allowedExternalRedirectUrls;
}
/**
* @return The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.
*
* > **NOTE:** When using multiple providers, the default provider must be set for settings like `unauthenticated_client_action` to work.
*
*/
public Optional defaultProvider() {
return Optional.ofNullable(this.defaultProvider);
}
/**
* @return Is Authentication enabled?
*
*/
public Boolean enabled() {
return this.enabled;
}
/**
* @return A `facebook` block as defined below.
*
*/
public Optional facebook() {
return Optional.ofNullable(this.facebook);
}
/**
* @return A `google` block as defined below.
*
*/
public Optional google() {
return Optional.ofNullable(this.google);
}
/**
* @return Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. <https://sts.windows.net/{tenant-guid}/>.
*
*/
public Optional issuer() {
return Optional.ofNullable(this.issuer);
}
/**
* @return A `microsoft` block as defined below.
*
*/
public Optional microsoft() {
return Optional.ofNullable(this.microsoft);
}
/**
* @return The runtime version of the Authentication/Authorization module.
*
*/
public Optional runtimeVersion() {
return Optional.ofNullable(this.runtimeVersion);
}
/**
* @return The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72`.
*
*/
public Optional tokenRefreshExtensionHours() {
return Optional.ofNullable(this.tokenRefreshExtensionHours);
}
/**
* @return If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to `false`.
*
*/
public Optional tokenStoreEnabled() {
return Optional.ofNullable(this.tokenStoreEnabled);
}
/**
* @return A `twitter` block as defined below.
*
*/
public Optional twitter() {
return Optional.ofNullable(this.twitter);
}
/**
* @return The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.
*
*/
public Optional unauthenticatedClientAction() {
return Optional.ofNullable(this.unauthenticatedClientAction);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FunctionAppSlotAuthSettings defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable FunctionAppSlotAuthSettingsActiveDirectory activeDirectory;
private @Nullable Map additionalLoginParams;
private @Nullable List allowedExternalRedirectUrls;
private @Nullable String defaultProvider;
private Boolean enabled;
private @Nullable FunctionAppSlotAuthSettingsFacebook facebook;
private @Nullable FunctionAppSlotAuthSettingsGoogle google;
private @Nullable String issuer;
private @Nullable FunctionAppSlotAuthSettingsMicrosoft microsoft;
private @Nullable String runtimeVersion;
private @Nullable Double tokenRefreshExtensionHours;
private @Nullable Boolean tokenStoreEnabled;
private @Nullable FunctionAppSlotAuthSettingsTwitter twitter;
private @Nullable String unauthenticatedClientAction;
public Builder() {}
public Builder(FunctionAppSlotAuthSettings defaults) {
Objects.requireNonNull(defaults);
this.activeDirectory = defaults.activeDirectory;
this.additionalLoginParams = defaults.additionalLoginParams;
this.allowedExternalRedirectUrls = defaults.allowedExternalRedirectUrls;
this.defaultProvider = defaults.defaultProvider;
this.enabled = defaults.enabled;
this.facebook = defaults.facebook;
this.google = defaults.google;
this.issuer = defaults.issuer;
this.microsoft = defaults.microsoft;
this.runtimeVersion = defaults.runtimeVersion;
this.tokenRefreshExtensionHours = defaults.tokenRefreshExtensionHours;
this.tokenStoreEnabled = defaults.tokenStoreEnabled;
this.twitter = defaults.twitter;
this.unauthenticatedClientAction = defaults.unauthenticatedClientAction;
}
@CustomType.Setter
public Builder activeDirectory(@Nullable FunctionAppSlotAuthSettingsActiveDirectory activeDirectory) {
this.activeDirectory = activeDirectory;
return this;
}
@CustomType.Setter
public Builder additionalLoginParams(@Nullable Map additionalLoginParams) {
this.additionalLoginParams = additionalLoginParams;
return this;
}
@CustomType.Setter
public Builder allowedExternalRedirectUrls(@Nullable List allowedExternalRedirectUrls) {
this.allowedExternalRedirectUrls = allowedExternalRedirectUrls;
return this;
}
public Builder allowedExternalRedirectUrls(String... allowedExternalRedirectUrls) {
return allowedExternalRedirectUrls(List.of(allowedExternalRedirectUrls));
}
@CustomType.Setter
public Builder defaultProvider(@Nullable String defaultProvider) {
this.defaultProvider = defaultProvider;
return this;
}
@CustomType.Setter
public Builder enabled(Boolean enabled) {
if (enabled == null) {
throw new MissingRequiredPropertyException("FunctionAppSlotAuthSettings", "enabled");
}
this.enabled = enabled;
return this;
}
@CustomType.Setter
public Builder facebook(@Nullable FunctionAppSlotAuthSettingsFacebook facebook) {
this.facebook = facebook;
return this;
}
@CustomType.Setter
public Builder google(@Nullable FunctionAppSlotAuthSettingsGoogle google) {
this.google = google;
return this;
}
@CustomType.Setter
public Builder issuer(@Nullable String issuer) {
this.issuer = issuer;
return this;
}
@CustomType.Setter
public Builder microsoft(@Nullable FunctionAppSlotAuthSettingsMicrosoft microsoft) {
this.microsoft = microsoft;
return this;
}
@CustomType.Setter
public Builder runtimeVersion(@Nullable String runtimeVersion) {
this.runtimeVersion = runtimeVersion;
return this;
}
@CustomType.Setter
public Builder tokenRefreshExtensionHours(@Nullable Double tokenRefreshExtensionHours) {
this.tokenRefreshExtensionHours = tokenRefreshExtensionHours;
return this;
}
@CustomType.Setter
public Builder tokenStoreEnabled(@Nullable Boolean tokenStoreEnabled) {
this.tokenStoreEnabled = tokenStoreEnabled;
return this;
}
@CustomType.Setter
public Builder twitter(@Nullable FunctionAppSlotAuthSettingsTwitter twitter) {
this.twitter = twitter;
return this;
}
@CustomType.Setter
public Builder unauthenticatedClientAction(@Nullable String unauthenticatedClientAction) {
this.unauthenticatedClientAction = unauthenticatedClientAction;
return this;
}
public FunctionAppSlotAuthSettings build() {
final var _resultValue = new FunctionAppSlotAuthSettings();
_resultValue.activeDirectory = activeDirectory;
_resultValue.additionalLoginParams = additionalLoginParams;
_resultValue.allowedExternalRedirectUrls = allowedExternalRedirectUrls;
_resultValue.defaultProvider = defaultProvider;
_resultValue.enabled = enabled;
_resultValue.facebook = facebook;
_resultValue.google = google;
_resultValue.issuer = issuer;
_resultValue.microsoft = microsoft;
_resultValue.runtimeVersion = runtimeVersion;
_resultValue.tokenRefreshExtensionHours = tokenRefreshExtensionHours;
_resultValue.tokenStoreEnabled = tokenStoreEnabled;
_resultValue.twitter = twitter;
_resultValue.unauthenticatedClientAction = unauthenticatedClientAction;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy