com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettings 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.WindowsFunctionAppSlotAuthSettingsActiveDirectory;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsFacebook;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsGithub;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsGoogle;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsMicrosoft;
import com.pulumi.azure.appservice.outputs.WindowsFunctionAppSlotAuthSettingsTwitter;
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 WindowsFunctionAppSlotAuthSettings {
/**
* @return an `active_directory` block as detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsActiveDirectory activeDirectory;
/**
* @return Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.
*
*/
private @Nullable Map additionalLoginParameters;
/**
* @return Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.
*
*/
private @Nullable List allowedExternalRedirectUrls;
/**
* @return The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.
*
* > **NOTE:** This setting is only needed if multiple providers are configured, and the `unauthenticated_client_action` is set to "RedirectToLoginPage".
*
*/
private @Nullable String defaultProvider;
/**
* @return Should the Authentication / Authorization feature be enabled?
*
*/
private Boolean enabled;
/**
* @return a `facebook` block as detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsFacebook facebook;
/**
* @return a `github` block as detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsGithub github;
/**
* @return a `google` block as detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsGoogle google;
/**
* @return The OpenID Connect Issuer URI that represents the entity which issues access tokens.
*
* > **NOTE:** 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 detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsMicrosoft microsoft;
/**
* @return The RuntimeVersion of the Authentication / Authorization feature in use.
*
*/
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` hours.
*
*/
private @Nullable Double tokenRefreshExtensionHours;
/**
* @return Should the Windows Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to `false`.
*
*/
private @Nullable Boolean tokenStoreEnabled;
/**
* @return a `twitter` block as detailed below.
*
*/
private @Nullable WindowsFunctionAppSlotAuthSettingsTwitter twitter;
/**
* @return The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.
*
*/
private @Nullable String unauthenticatedClientAction;
private WindowsFunctionAppSlotAuthSettings() {}
/**
* @return an `active_directory` block as detailed below.
*
*/
public Optional activeDirectory() {
return Optional.ofNullable(this.activeDirectory);
}
/**
* @return Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.
*
*/
public Map additionalLoginParameters() {
return this.additionalLoginParameters == null ? Map.of() : this.additionalLoginParameters;
}
/**
* @return Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.
*
*/
public List allowedExternalRedirectUrls() {
return this.allowedExternalRedirectUrls == null ? List.of() : this.allowedExternalRedirectUrls;
}
/**
* @return The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.
*
* > **NOTE:** This setting is only needed if multiple providers are configured, and the `unauthenticated_client_action` is set to "RedirectToLoginPage".
*
*/
public Optional defaultProvider() {
return Optional.ofNullable(this.defaultProvider);
}
/**
* @return Should the Authentication / Authorization feature be enabled?
*
*/
public Boolean enabled() {
return this.enabled;
}
/**
* @return a `facebook` block as detailed below.
*
*/
public Optional facebook() {
return Optional.ofNullable(this.facebook);
}
/**
* @return a `github` block as detailed below.
*
*/
public Optional github() {
return Optional.ofNullable(this.github);
}
/**
* @return a `google` block as detailed below.
*
*/
public Optional google() {
return Optional.ofNullable(this.google);
}
/**
* @return The OpenID Connect Issuer URI that represents the entity which issues access tokens.
*
* > **NOTE:** 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 detailed below.
*
*/
public Optional microsoft() {
return Optional.ofNullable(this.microsoft);
}
/**
* @return The RuntimeVersion of the Authentication / Authorization feature in use.
*
*/
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` hours.
*
*/
public Optional tokenRefreshExtensionHours() {
return Optional.ofNullable(this.tokenRefreshExtensionHours);
}
/**
* @return Should the Windows Web App 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 detailed 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 include: `RedirectToLoginPage`, `AllowAnonymous`.
*
*/
public Optional unauthenticatedClientAction() {
return Optional.ofNullable(this.unauthenticatedClientAction);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(WindowsFunctionAppSlotAuthSettings defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable WindowsFunctionAppSlotAuthSettingsActiveDirectory activeDirectory;
private @Nullable Map additionalLoginParameters;
private @Nullable List allowedExternalRedirectUrls;
private @Nullable String defaultProvider;
private Boolean enabled;
private @Nullable WindowsFunctionAppSlotAuthSettingsFacebook facebook;
private @Nullable WindowsFunctionAppSlotAuthSettingsGithub github;
private @Nullable WindowsFunctionAppSlotAuthSettingsGoogle google;
private @Nullable String issuer;
private @Nullable WindowsFunctionAppSlotAuthSettingsMicrosoft microsoft;
private @Nullable String runtimeVersion;
private @Nullable Double tokenRefreshExtensionHours;
private @Nullable Boolean tokenStoreEnabled;
private @Nullable WindowsFunctionAppSlotAuthSettingsTwitter twitter;
private @Nullable String unauthenticatedClientAction;
public Builder() {}
public Builder(WindowsFunctionAppSlotAuthSettings defaults) {
Objects.requireNonNull(defaults);
this.activeDirectory = defaults.activeDirectory;
this.additionalLoginParameters = defaults.additionalLoginParameters;
this.allowedExternalRedirectUrls = defaults.allowedExternalRedirectUrls;
this.defaultProvider = defaults.defaultProvider;
this.enabled = defaults.enabled;
this.facebook = defaults.facebook;
this.github = defaults.github;
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 WindowsFunctionAppSlotAuthSettingsActiveDirectory activeDirectory) {
this.activeDirectory = activeDirectory;
return this;
}
@CustomType.Setter
public Builder additionalLoginParameters(@Nullable Map additionalLoginParameters) {
this.additionalLoginParameters = additionalLoginParameters;
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("WindowsFunctionAppSlotAuthSettings", "enabled");
}
this.enabled = enabled;
return this;
}
@CustomType.Setter
public Builder facebook(@Nullable WindowsFunctionAppSlotAuthSettingsFacebook facebook) {
this.facebook = facebook;
return this;
}
@CustomType.Setter
public Builder github(@Nullable WindowsFunctionAppSlotAuthSettingsGithub github) {
this.github = github;
return this;
}
@CustomType.Setter
public Builder google(@Nullable WindowsFunctionAppSlotAuthSettingsGoogle 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 WindowsFunctionAppSlotAuthSettingsMicrosoft 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 WindowsFunctionAppSlotAuthSettingsTwitter twitter) {
this.twitter = twitter;
return this;
}
@CustomType.Setter
public Builder unauthenticatedClientAction(@Nullable String unauthenticatedClientAction) {
this.unauthenticatedClientAction = unauthenticatedClientAction;
return this;
}
public WindowsFunctionAppSlotAuthSettings build() {
final var _resultValue = new WindowsFunctionAppSlotAuthSettings();
_resultValue.activeDirectory = activeDirectory;
_resultValue.additionalLoginParameters = additionalLoginParameters;
_resultValue.allowedExternalRedirectUrls = allowedExternalRedirectUrls;
_resultValue.defaultProvider = defaultProvider;
_resultValue.enabled = enabled;
_resultValue.facebook = facebook;
_resultValue.github = github;
_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;
}
}
}