Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.web.WebAppAuthSettingsSlotArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.azurenative.web.enums.BuiltInAuthenticationProvider;
import com.pulumi.azurenative.web.enums.UnauthenticatedClientAction;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class WebAppAuthSettingsSlotArgs extends com.pulumi.resources.ResourceArgs {
public static final WebAppAuthSettingsSlotArgs Empty = new WebAppAuthSettingsSlotArgs();
/**
* Gets a JSON string containing the Azure AD Acl settings.
*
*/
@Import(name="aadClaimsAuthorization")
private @Nullable Output aadClaimsAuthorization;
/**
* @return Gets a JSON string containing the Azure AD Acl settings.
*
*/
public Optional> aadClaimsAuthorization() {
return Optional.ofNullable(this.aadClaimsAuthorization);
}
/**
* Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*
*/
@Import(name="additionalLoginParams")
private @Nullable Output> additionalLoginParams;
/**
* @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 Optional>> additionalLoginParams() {
return Optional.ofNullable(this.additionalLoginParams);
}
/**
* Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
* allowed audience, regardless of this setting.
*
*/
@Import(name="allowedAudiences")
private @Nullable Output> allowedAudiences;
/**
* @return Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
* allowed audience, regardless of this setting.
*
*/
public Optional>> allowedAudiences() {
return Optional.ofNullable(this.allowedAudiences);
}
/**
* External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
*
*/
@Import(name="allowedExternalRedirectUrls")
private @Nullable Output> allowedExternalRedirectUrls;
/**
* @return External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
*
*/
public Optional>> allowedExternalRedirectUrls() {
return Optional.ofNullable(this.allowedExternalRedirectUrls);
}
/**
* The path of the config file containing auth settings.
* If the path is relative, base will the site's root directory.
*
*/
@Import(name="authFilePath")
private @Nullable Output authFilePath;
/**
* @return The path of the config file containing auth settings.
* If the path is relative, base will the site's root directory.
*
*/
public Optional> authFilePath() {
return Optional.ofNullable(this.authFilePath);
}
/**
* The Client ID of this relying party application, known as the client_id.
* This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
* other 3rd party OpenID Connect providers.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
*/
@Import(name="clientId")
private @Nullable Output clientId;
/**
* @return The Client ID of this relying party application, known as the client_id.
* This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
* other 3rd party OpenID Connect providers.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
*/
public Optional> clientId() {
return Optional.ofNullable(this.clientId);
}
/**
* The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
* This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
* Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
*/
@Import(name="clientSecret")
private @Nullable Output clientSecret;
/**
* @return The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
* This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
* Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
*/
public Optional> clientSecret() {
return Optional.ofNullable(this.clientSecret);
}
/**
* An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
* a replacement for the Client Secret. It is also optional.
*
*/
@Import(name="clientSecretCertificateThumbprint")
private @Nullable Output clientSecretCertificateThumbprint;
/**
* @return An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
* a replacement for the Client Secret. It is also optional.
*
*/
public Optional> clientSecretCertificateThumbprint() {
return Optional.ofNullable(this.clientSecretCertificateThumbprint);
}
/**
* The app setting name that contains the client secret of the relying party application.
*
*/
@Import(name="clientSecretSettingName")
private @Nullable Output clientSecretSettingName;
/**
* @return The app setting name that contains the client secret of the relying party application.
*
*/
public Optional> clientSecretSettingName() {
return Optional.ofNullable(this.clientSecretSettingName);
}
/**
* The ConfigVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of the control plane for Authentication / Authorization.
*
*/
@Import(name="configVersion")
private @Nullable Output configVersion;
/**
* @return The ConfigVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of the control plane for Authentication / Authorization.
*
*/
public Optional> configVersion() {
return Optional.ofNullable(this.configVersion);
}
/**
* The default authentication provider to use when multiple providers are configured.
* This setting is only needed if multiple providers are configured and the unauthenticated client
* action is set to "RedirectToLoginPage".
*
*/
@Import(name="defaultProvider")
private @Nullable Output defaultProvider;
/**
* @return The default authentication provider to use when multiple providers are configured.
* 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);
}
/**
* <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* The App ID of the Facebook app used for login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
@Import(name="facebookAppId")
private @Nullable Output facebookAppId;
/**
* @return The App ID of the Facebook app used for login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
public Optional> facebookAppId() {
return Optional.ofNullable(this.facebookAppId);
}
/**
* The App Secret of the Facebook app used for Facebook Login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
@Import(name="facebookAppSecret")
private @Nullable Output facebookAppSecret;
/**
* @return The App Secret of the Facebook app used for Facebook Login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
public Optional> facebookAppSecret() {
return Optional.ofNullable(this.facebookAppSecret);
}
/**
* The app setting name that contains the app secret used for Facebook Login.
*
*/
@Import(name="facebookAppSecretSettingName")
private @Nullable Output facebookAppSecretSettingName;
/**
* @return The app setting name that contains the app secret used for Facebook Login.
*
*/
public Optional> facebookAppSecretSettingName() {
return Optional.ofNullable(this.facebookAppSecretSettingName);
}
/**
* The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
@Import(name="facebookOAuthScopes")
private @Nullable Output> facebookOAuthScopes;
/**
* @return The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
*/
public Optional>> facebookOAuthScopes() {
return Optional.ofNullable(this.facebookOAuthScopes);
}
/**
* The Client Id of the GitHub app used for login.
* This setting is required for enabling Github login
*
*/
@Import(name="gitHubClientId")
private @Nullable Output gitHubClientId;
/**
* @return The Client Id of the GitHub app used for login.
* This setting is required for enabling Github login
*
*/
public Optional> gitHubClientId() {
return Optional.ofNullable(this.gitHubClientId);
}
/**
* The Client Secret of the GitHub app used for Github Login.
* This setting is required for enabling Github login.
*
*/
@Import(name="gitHubClientSecret")
private @Nullable Output gitHubClientSecret;
/**
* @return The Client Secret of the GitHub app used for Github Login.
* This setting is required for enabling Github login.
*
*/
public Optional> gitHubClientSecret() {
return Optional.ofNullable(this.gitHubClientSecret);
}
/**
* The app setting name that contains the client secret of the Github
* app used for GitHub Login.
*
*/
@Import(name="gitHubClientSecretSettingName")
private @Nullable Output gitHubClientSecretSettingName;
/**
* @return The app setting name that contains the client secret of the Github
* app used for GitHub Login.
*
*/
public Optional> gitHubClientSecretSettingName() {
return Optional.ofNullable(this.gitHubClientSecretSettingName);
}
/**
* The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
*
*/
@Import(name="gitHubOAuthScopes")
private @Nullable Output> gitHubOAuthScopes;
/**
* @return The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
*
*/
public Optional>> gitHubOAuthScopes() {
return Optional.ofNullable(this.gitHubOAuthScopes);
}
/**
* The OpenID Connect Client ID for the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
@Import(name="googleClientId")
private @Nullable Output googleClientId;
/**
* @return The OpenID Connect Client ID for the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
public Optional> googleClientId() {
return Optional.ofNullable(this.googleClientId);
}
/**
* The client secret associated with the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
@Import(name="googleClientSecret")
private @Nullable Output googleClientSecret;
/**
* @return The client secret associated with the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
public Optional> googleClientSecret() {
return Optional.ofNullable(this.googleClientSecret);
}
/**
* The app setting name that contains the client secret associated with
* the Google web application.
*
*/
@Import(name="googleClientSecretSettingName")
private @Nullable Output googleClientSecretSettingName;
/**
* @return The app setting name that contains the client secret associated with
* the Google web application.
*
*/
public Optional> googleClientSecretSettingName() {
return Optional.ofNullable(this.googleClientSecretSettingName);
}
/**
* The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
@Import(name="googleOAuthScopes")
private @Nullable Output> googleOAuthScopes;
/**
* @return The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
*/
public Optional>> googleOAuthScopes() {
return Optional.ofNullable(this.googleOAuthScopes);
}
/**
* "true" if the auth config settings should be read from a file,
* "false" otherwise
*
*/
@Import(name="isAuthFromFile")
private @Nullable Output isAuthFromFile;
/**
* @return "true" if the auth config settings should be read from a file,
* "false" otherwise
*
*/
public Optional> isAuthFromFile() {
return Optional.ofNullable(this.isAuthFromFile);
}
/**
* The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
* When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
* This URI is a case-sensitive identifier for the token issuer.
* More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
*
*/
@Import(name="issuer")
private @Nullable Output issuer;
/**
* @return The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
* When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
* This URI is a case-sensitive identifier for the token issuer.
* More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
*
*/
public Optional> issuer() {
return Optional.ofNullable(this.issuer);
}
/**
* Kind of resource.
*
*/
@Import(name="kind")
private @Nullable Output kind;
/**
* @return Kind of resource.
*
*/
public Optional> kind() {
return Optional.ofNullable(this.kind);
}
/**
* The OAuth 2.0 client ID that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
*/
@Import(name="microsoftAccountClientId")
private @Nullable Output microsoftAccountClientId;
/**
* @return The OAuth 2.0 client ID that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
*/
public Optional> microsoftAccountClientId() {
return Optional.ofNullable(this.microsoftAccountClientId);
}
/**
* The OAuth 2.0 client secret that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
*/
@Import(name="microsoftAccountClientSecret")
private @Nullable Output microsoftAccountClientSecret;
/**
* @return The OAuth 2.0 client secret that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
*/
public Optional> microsoftAccountClientSecret() {
return Optional.ofNullable(this.microsoftAccountClientSecret);
}
/**
* The app setting name containing the OAuth 2.0 client secret that was created for the
* app used for authentication.
*
*/
@Import(name="microsoftAccountClientSecretSettingName")
private @Nullable Output microsoftAccountClientSecretSettingName;
/**
* @return The app setting name containing the OAuth 2.0 client secret that was created for the
* app used for authentication.
*
*/
public Optional> microsoftAccountClientSecretSettingName() {
return Optional.ofNullable(this.microsoftAccountClientSecretSettingName);
}
/**
* The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
*
*/
@Import(name="microsoftAccountOAuthScopes")
private @Nullable Output> microsoftAccountOAuthScopes;
/**
* @return The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
*
*/
public Optional>> microsoftAccountOAuthScopes() {
return Optional.ofNullable(this.microsoftAccountOAuthScopes);
}
/**
* Name of web app.
*
*/
@Import(name="name", required=true)
private Output name;
/**
* @return Name of web app.
*
*/
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;
}
/**
* The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
*
*/
@Import(name="runtimeVersion")
private @Nullable Output runtimeVersion;
/**
* @return The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
*
*/
public Optional> runtimeVersion() {
return Optional.ofNullable(this.runtimeVersion);
}
/**
* Name of web app slot. If not specified then will default to production slot.
*
*/
@Import(name="slot", required=true)
private Output slot;
/**
* @return Name of web app slot. If not specified then will default to production slot.
*
*/
public Output slot() {
return this.slot;
}
/**
* The number of hours after session token expiration that a session token can be used to
* call the token refresh API. The default is 72 hours.
*
*/
@Import(name="tokenRefreshExtensionHours")
private @Nullable Output tokenRefreshExtensionHours;
/**
* @return The number of hours after session token expiration that a session token can be used to
* call the token refresh API. The default is 72 hours.
*
*/
public Optional> tokenRefreshExtensionHours() {
return Optional.ofNullable(this.tokenRefreshExtensionHours);
}
/**
* <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
* The default is <code>false</code>.
*
*/
@Import(name="tokenStoreEnabled")
private @Nullable Output tokenStoreEnabled;
/**
* @return <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
* The default is <code>false</code>.
*
*/
public Optional> tokenStoreEnabled() {
return Optional.ofNullable(this.tokenStoreEnabled);
}
/**
* The OAuth 1.0a consumer key of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
*/
@Import(name="twitterConsumerKey")
private @Nullable Output twitterConsumerKey;
/**
* @return The OAuth 1.0a consumer key of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
*/
public Optional> twitterConsumerKey() {
return Optional.ofNullable(this.twitterConsumerKey);
}
/**
* The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
*/
@Import(name="twitterConsumerSecret")
private @Nullable Output twitterConsumerSecret;
/**
* @return The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
*/
public Optional> twitterConsumerSecret() {
return Optional.ofNullable(this.twitterConsumerSecret);
}
/**
* The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
* application used for sign-in.
*
*/
@Import(name="twitterConsumerSecretSettingName")
private @Nullable Output twitterConsumerSecretSettingName;
/**
* @return The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
* application used for sign-in.
*
*/
public Optional> twitterConsumerSecretSettingName() {
return Optional.ofNullable(this.twitterConsumerSecretSettingName);
}
/**
* The action to take when an unauthenticated client attempts to access the app.
*
*/
@Import(name="unauthenticatedClientAction")
private @Nullable Output unauthenticatedClientAction;
/**
* @return The action to take when an unauthenticated client attempts to access the app.
*
*/
public Optional> unauthenticatedClientAction() {
return Optional.ofNullable(this.unauthenticatedClientAction);
}
/**
* Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
*
*/
@Import(name="validateIssuer")
private @Nullable Output validateIssuer;
/**
* @return Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
*
*/
public Optional> validateIssuer() {
return Optional.ofNullable(this.validateIssuer);
}
private WebAppAuthSettingsSlotArgs() {}
private WebAppAuthSettingsSlotArgs(WebAppAuthSettingsSlotArgs $) {
this.aadClaimsAuthorization = $.aadClaimsAuthorization;
this.additionalLoginParams = $.additionalLoginParams;
this.allowedAudiences = $.allowedAudiences;
this.allowedExternalRedirectUrls = $.allowedExternalRedirectUrls;
this.authFilePath = $.authFilePath;
this.clientId = $.clientId;
this.clientSecret = $.clientSecret;
this.clientSecretCertificateThumbprint = $.clientSecretCertificateThumbprint;
this.clientSecretSettingName = $.clientSecretSettingName;
this.configVersion = $.configVersion;
this.defaultProvider = $.defaultProvider;
this.enabled = $.enabled;
this.facebookAppId = $.facebookAppId;
this.facebookAppSecret = $.facebookAppSecret;
this.facebookAppSecretSettingName = $.facebookAppSecretSettingName;
this.facebookOAuthScopes = $.facebookOAuthScopes;
this.gitHubClientId = $.gitHubClientId;
this.gitHubClientSecret = $.gitHubClientSecret;
this.gitHubClientSecretSettingName = $.gitHubClientSecretSettingName;
this.gitHubOAuthScopes = $.gitHubOAuthScopes;
this.googleClientId = $.googleClientId;
this.googleClientSecret = $.googleClientSecret;
this.googleClientSecretSettingName = $.googleClientSecretSettingName;
this.googleOAuthScopes = $.googleOAuthScopes;
this.isAuthFromFile = $.isAuthFromFile;
this.issuer = $.issuer;
this.kind = $.kind;
this.microsoftAccountClientId = $.microsoftAccountClientId;
this.microsoftAccountClientSecret = $.microsoftAccountClientSecret;
this.microsoftAccountClientSecretSettingName = $.microsoftAccountClientSecretSettingName;
this.microsoftAccountOAuthScopes = $.microsoftAccountOAuthScopes;
this.name = $.name;
this.resourceGroupName = $.resourceGroupName;
this.runtimeVersion = $.runtimeVersion;
this.slot = $.slot;
this.tokenRefreshExtensionHours = $.tokenRefreshExtensionHours;
this.tokenStoreEnabled = $.tokenStoreEnabled;
this.twitterConsumerKey = $.twitterConsumerKey;
this.twitterConsumerSecret = $.twitterConsumerSecret;
this.twitterConsumerSecretSettingName = $.twitterConsumerSecretSettingName;
this.unauthenticatedClientAction = $.unauthenticatedClientAction;
this.validateIssuer = $.validateIssuer;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(WebAppAuthSettingsSlotArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private WebAppAuthSettingsSlotArgs $;
public Builder() {
$ = new WebAppAuthSettingsSlotArgs();
}
public Builder(WebAppAuthSettingsSlotArgs defaults) {
$ = new WebAppAuthSettingsSlotArgs(Objects.requireNonNull(defaults));
}
/**
* @param aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings.
*
* @return builder
*
*/
public Builder aadClaimsAuthorization(@Nullable Output aadClaimsAuthorization) {
$.aadClaimsAuthorization = aadClaimsAuthorization;
return this;
}
/**
* @param aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings.
*
* @return builder
*
*/
public Builder aadClaimsAuthorization(String aadClaimsAuthorization) {
return aadClaimsAuthorization(Output.of(aadClaimsAuthorization));
}
/**
* @param additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*
* @return builder
*
*/
public Builder additionalLoginParams(@Nullable Output> additionalLoginParams) {
$.additionalLoginParams = additionalLoginParams;
return this;
}
/**
* @param additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*
* @return builder
*
*/
public Builder additionalLoginParams(List additionalLoginParams) {
return additionalLoginParams(Output.of(additionalLoginParams));
}
/**
* @param additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*
* @return builder
*
*/
public Builder additionalLoginParams(String... additionalLoginParams) {
return additionalLoginParams(List.of(additionalLoginParams));
}
/**
* @param allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
* allowed audience, regardless of this setting.
*
* @return builder
*
*/
public Builder allowedAudiences(@Nullable Output> allowedAudiences) {
$.allowedAudiences = allowedAudiences;
return this;
}
/**
* @param allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
* allowed audience, regardless of this setting.
*
* @return builder
*
*/
public Builder allowedAudiences(List allowedAudiences) {
return allowedAudiences(Output.of(allowedAudiences));
}
/**
* @param allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
* allowed audience, regardless of this setting.
*
* @return builder
*
*/
public Builder allowedAudiences(String... allowedAudiences) {
return allowedAudiences(List.of(allowedAudiences));
}
/**
* @param allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
*
* @return builder
*
*/
public Builder allowedExternalRedirectUrls(@Nullable Output> allowedExternalRedirectUrls) {
$.allowedExternalRedirectUrls = allowedExternalRedirectUrls;
return this;
}
/**
* @param allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
*
* @return builder
*
*/
public Builder allowedExternalRedirectUrls(List allowedExternalRedirectUrls) {
return allowedExternalRedirectUrls(Output.of(allowedExternalRedirectUrls));
}
/**
* @param allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
*
* @return builder
*
*/
public Builder allowedExternalRedirectUrls(String... allowedExternalRedirectUrls) {
return allowedExternalRedirectUrls(List.of(allowedExternalRedirectUrls));
}
/**
* @param authFilePath The path of the config file containing auth settings.
* If the path is relative, base will the site's root directory.
*
* @return builder
*
*/
public Builder authFilePath(@Nullable Output authFilePath) {
$.authFilePath = authFilePath;
return this;
}
/**
* @param authFilePath The path of the config file containing auth settings.
* If the path is relative, base will the site's root directory.
*
* @return builder
*
*/
public Builder authFilePath(String authFilePath) {
return authFilePath(Output.of(authFilePath));
}
/**
* @param clientId The Client ID of this relying party application, known as the client_id.
* This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
* other 3rd party OpenID Connect providers.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
* @return builder
*
*/
public Builder clientId(@Nullable Output clientId) {
$.clientId = clientId;
return this;
}
/**
* @param clientId The Client ID of this relying party application, known as the client_id.
* This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
* other 3rd party OpenID Connect providers.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
* @return builder
*
*/
public Builder clientId(String clientId) {
return clientId(Output.of(clientId));
}
/**
* @param clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
* This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
* Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
* @return builder
*
*/
public Builder clientSecret(@Nullable Output clientSecret) {
$.clientSecret = clientSecret;
return this;
}
/**
* @param clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
* This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
* Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
*
* @return builder
*
*/
public Builder clientSecret(String clientSecret) {
return clientSecret(Output.of(clientSecret));
}
/**
* @param clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
* a replacement for the Client Secret. It is also optional.
*
* @return builder
*
*/
public Builder clientSecretCertificateThumbprint(@Nullable Output clientSecretCertificateThumbprint) {
$.clientSecretCertificateThumbprint = clientSecretCertificateThumbprint;
return this;
}
/**
* @param clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
* a replacement for the Client Secret. It is also optional.
*
* @return builder
*
*/
public Builder clientSecretCertificateThumbprint(String clientSecretCertificateThumbprint) {
return clientSecretCertificateThumbprint(Output.of(clientSecretCertificateThumbprint));
}
/**
* @param clientSecretSettingName The app setting name that contains the client secret of the relying party application.
*
* @return builder
*
*/
public Builder clientSecretSettingName(@Nullable Output clientSecretSettingName) {
$.clientSecretSettingName = clientSecretSettingName;
return this;
}
/**
* @param clientSecretSettingName The app setting name that contains the client secret of the relying party application.
*
* @return builder
*
*/
public Builder clientSecretSettingName(String clientSecretSettingName) {
return clientSecretSettingName(Output.of(clientSecretSettingName));
}
/**
* @param configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of the control plane for Authentication / Authorization.
*
* @return builder
*
*/
public Builder configVersion(@Nullable Output configVersion) {
$.configVersion = configVersion;
return this;
}
/**
* @param configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of the control plane for Authentication / Authorization.
*
* @return builder
*
*/
public Builder configVersion(String configVersion) {
return configVersion(Output.of(configVersion));
}
/**
* @param defaultProvider The default authentication provider to use when multiple providers are configured.
* This setting is only needed if multiple providers are configured and the unauthenticated client
* action is set to "RedirectToLoginPage".
*
* @return builder
*
*/
public Builder defaultProvider(@Nullable Output defaultProvider) {
$.defaultProvider = defaultProvider;
return this;
}
/**
* @param defaultProvider The default authentication provider to use when multiple providers are configured.
* This setting is only needed if multiple providers are configured and the unauthenticated client
* action is set to "RedirectToLoginPage".
*
* @return builder
*
*/
public Builder defaultProvider(BuiltInAuthenticationProvider defaultProvider) {
return defaultProvider(Output.of(defaultProvider));
}
/**
* @param enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param facebookAppId The App ID of the Facebook app used for login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookAppId(@Nullable Output facebookAppId) {
$.facebookAppId = facebookAppId;
return this;
}
/**
* @param facebookAppId The App ID of the Facebook app used for login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookAppId(String facebookAppId) {
return facebookAppId(Output.of(facebookAppId));
}
/**
* @param facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookAppSecret(@Nullable Output facebookAppSecret) {
$.facebookAppSecret = facebookAppSecret;
return this;
}
/**
* @param facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookAppSecret(String facebookAppSecret) {
return facebookAppSecret(Output.of(facebookAppSecret));
}
/**
* @param facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login.
*
* @return builder
*
*/
public Builder facebookAppSecretSettingName(@Nullable Output facebookAppSecretSettingName) {
$.facebookAppSecretSettingName = facebookAppSecretSettingName;
return this;
}
/**
* @param facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login.
*
* @return builder
*
*/
public Builder facebookAppSecretSettingName(String facebookAppSecretSettingName) {
return facebookAppSecretSettingName(Output.of(facebookAppSecretSettingName));
}
/**
* @param facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookOAuthScopes(@Nullable Output> facebookOAuthScopes) {
$.facebookOAuthScopes = facebookOAuthScopes;
return this;
}
/**
* @param facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookOAuthScopes(List facebookOAuthScopes) {
return facebookOAuthScopes(Output.of(facebookOAuthScopes));
}
/**
* @param facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
*
* @return builder
*
*/
public Builder facebookOAuthScopes(String... facebookOAuthScopes) {
return facebookOAuthScopes(List.of(facebookOAuthScopes));
}
/**
* @param gitHubClientId The Client Id of the GitHub app used for login.
* This setting is required for enabling Github login
*
* @return builder
*
*/
public Builder gitHubClientId(@Nullable Output gitHubClientId) {
$.gitHubClientId = gitHubClientId;
return this;
}
/**
* @param gitHubClientId The Client Id of the GitHub app used for login.
* This setting is required for enabling Github login
*
* @return builder
*
*/
public Builder gitHubClientId(String gitHubClientId) {
return gitHubClientId(Output.of(gitHubClientId));
}
/**
* @param gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
* This setting is required for enabling Github login.
*
* @return builder
*
*/
public Builder gitHubClientSecret(@Nullable Output gitHubClientSecret) {
$.gitHubClientSecret = gitHubClientSecret;
return this;
}
/**
* @param gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
* This setting is required for enabling Github login.
*
* @return builder
*
*/
public Builder gitHubClientSecret(String gitHubClientSecret) {
return gitHubClientSecret(Output.of(gitHubClientSecret));
}
/**
* @param gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
* app used for GitHub Login.
*
* @return builder
*
*/
public Builder gitHubClientSecretSettingName(@Nullable Output gitHubClientSecretSettingName) {
$.gitHubClientSecretSettingName = gitHubClientSecretSettingName;
return this;
}
/**
* @param gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
* app used for GitHub Login.
*
* @return builder
*
*/
public Builder gitHubClientSecretSettingName(String gitHubClientSecretSettingName) {
return gitHubClientSecretSettingName(Output.of(gitHubClientSecretSettingName));
}
/**
* @param gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
*
* @return builder
*
*/
public Builder gitHubOAuthScopes(@Nullable Output> gitHubOAuthScopes) {
$.gitHubOAuthScopes = gitHubOAuthScopes;
return this;
}
/**
* @param gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
*
* @return builder
*
*/
public Builder gitHubOAuthScopes(List gitHubOAuthScopes) {
return gitHubOAuthScopes(Output.of(gitHubOAuthScopes));
}
/**
* @param gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
*
* @return builder
*
*/
public Builder gitHubOAuthScopes(String... gitHubOAuthScopes) {
return gitHubOAuthScopes(List.of(gitHubOAuthScopes));
}
/**
* @param googleClientId The OpenID Connect Client ID for the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleClientId(@Nullable Output googleClientId) {
$.googleClientId = googleClientId;
return this;
}
/**
* @param googleClientId The OpenID Connect Client ID for the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleClientId(String googleClientId) {
return googleClientId(Output.of(googleClientId));
}
/**
* @param googleClientSecret The client secret associated with the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleClientSecret(@Nullable Output googleClientSecret) {
$.googleClientSecret = googleClientSecret;
return this;
}
/**
* @param googleClientSecret The client secret associated with the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleClientSecret(String googleClientSecret) {
return googleClientSecret(Output.of(googleClientSecret));
}
/**
* @param googleClientSecretSettingName The app setting name that contains the client secret associated with
* the Google web application.
*
* @return builder
*
*/
public Builder googleClientSecretSettingName(@Nullable Output googleClientSecretSettingName) {
$.googleClientSecretSettingName = googleClientSecretSettingName;
return this;
}
/**
* @param googleClientSecretSettingName The app setting name that contains the client secret associated with
* the Google web application.
*
* @return builder
*
*/
public Builder googleClientSecretSettingName(String googleClientSecretSettingName) {
return googleClientSecretSettingName(Output.of(googleClientSecretSettingName));
}
/**
* @param googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleOAuthScopes(@Nullable Output> googleOAuthScopes) {
$.googleOAuthScopes = googleOAuthScopes;
return this;
}
/**
* @param googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleOAuthScopes(List googleOAuthScopes) {
return googleOAuthScopes(Output.of(googleOAuthScopes));
}
/**
* @param googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
*
* @return builder
*
*/
public Builder googleOAuthScopes(String... googleOAuthScopes) {
return googleOAuthScopes(List.of(googleOAuthScopes));
}
/**
* @param isAuthFromFile "true" if the auth config settings should be read from a file,
* "false" otherwise
*
* @return builder
*
*/
public Builder isAuthFromFile(@Nullable Output isAuthFromFile) {
$.isAuthFromFile = isAuthFromFile;
return this;
}
/**
* @param isAuthFromFile "true" if the auth config settings should be read from a file,
* "false" otherwise
*
* @return builder
*
*/
public Builder isAuthFromFile(String isAuthFromFile) {
return isAuthFromFile(Output.of(isAuthFromFile));
}
/**
* @param issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
* When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
* This URI is a case-sensitive identifier for the token issuer.
* More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
*
* @return builder
*
*/
public Builder issuer(@Nullable Output issuer) {
$.issuer = issuer;
return this;
}
/**
* @param issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
* When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
* This URI is a case-sensitive identifier for the token issuer.
* More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
*
* @return builder
*
*/
public Builder issuer(String issuer) {
return issuer(Output.of(issuer));
}
/**
* @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 microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
* @return builder
*
*/
public Builder microsoftAccountClientId(@Nullable Output microsoftAccountClientId) {
$.microsoftAccountClientId = microsoftAccountClientId;
return this;
}
/**
* @param microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
* @return builder
*
*/
public Builder microsoftAccountClientId(String microsoftAccountClientId) {
return microsoftAccountClientId(Output.of(microsoftAccountClientId));
}
/**
* @param microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
* @return builder
*
*/
public Builder microsoftAccountClientSecret(@Nullable Output microsoftAccountClientSecret) {
$.microsoftAccountClientSecret = microsoftAccountClientSecret;
return this;
}
/**
* @param microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
*
* @return builder
*
*/
public Builder microsoftAccountClientSecret(String microsoftAccountClientSecret) {
return microsoftAccountClientSecret(Output.of(microsoftAccountClientSecret));
}
/**
* @param microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
* app used for authentication.
*
* @return builder
*
*/
public Builder microsoftAccountClientSecretSettingName(@Nullable Output microsoftAccountClientSecretSettingName) {
$.microsoftAccountClientSecretSettingName = microsoftAccountClientSecretSettingName;
return this;
}
/**
* @param microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
* app used for authentication.
*
* @return builder
*
*/
public Builder microsoftAccountClientSecretSettingName(String microsoftAccountClientSecretSettingName) {
return microsoftAccountClientSecretSettingName(Output.of(microsoftAccountClientSecretSettingName));
}
/**
* @param microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
*
* @return builder
*
*/
public Builder microsoftAccountOAuthScopes(@Nullable Output> microsoftAccountOAuthScopes) {
$.microsoftAccountOAuthScopes = microsoftAccountOAuthScopes;
return this;
}
/**
* @param microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
*
* @return builder
*
*/
public Builder microsoftAccountOAuthScopes(List microsoftAccountOAuthScopes) {
return microsoftAccountOAuthScopes(Output.of(microsoftAccountOAuthScopes));
}
/**
* @param microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
*
* @return builder
*
*/
public Builder microsoftAccountOAuthScopes(String... microsoftAccountOAuthScopes) {
return microsoftAccountOAuthScopes(List.of(microsoftAccountOAuthScopes));
}
/**
* @param name Name of web app.
*
* @return builder
*
*/
public Builder name(Output name) {
$.name = name;
return this;
}
/**
* @param name Name of web app.
*
* @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 runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
*
* @return builder
*
*/
public Builder runtimeVersion(@Nullable Output runtimeVersion) {
$.runtimeVersion = runtimeVersion;
return this;
}
/**
* @param runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
*
* @return builder
*
*/
public Builder runtimeVersion(String runtimeVersion) {
return runtimeVersion(Output.of(runtimeVersion));
}
/**
* @param slot Name of web app slot. If not specified then will default to production slot.
*
* @return builder
*
*/
public Builder slot(Output slot) {
$.slot = slot;
return this;
}
/**
* @param slot Name of web app slot. If not specified then will default to production slot.
*
* @return builder
*
*/
public Builder slot(String slot) {
return slot(Output.of(slot));
}
/**
* @param tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
* call the token refresh API. The default is 72 hours.
*
* @return builder
*
*/
public Builder tokenRefreshExtensionHours(@Nullable Output tokenRefreshExtensionHours) {
$.tokenRefreshExtensionHours = tokenRefreshExtensionHours;
return this;
}
/**
* @param tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
* call the token refresh API. The default is 72 hours.
*
* @return builder
*
*/
public Builder tokenRefreshExtensionHours(Double tokenRefreshExtensionHours) {
return tokenRefreshExtensionHours(Output.of(tokenRefreshExtensionHours));
}
/**
* @param tokenStoreEnabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
* The default is <code>false</code>.
*
* @return builder
*
*/
public Builder tokenStoreEnabled(@Nullable Output tokenStoreEnabled) {
$.tokenStoreEnabled = tokenStoreEnabled;
return this;
}
/**
* @param tokenStoreEnabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
* The default is <code>false</code>.
*
* @return builder
*
*/
public Builder tokenStoreEnabled(Boolean tokenStoreEnabled) {
return tokenStoreEnabled(Output.of(tokenStoreEnabled));
}
/**
* @param twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
* @return builder
*
*/
public Builder twitterConsumerKey(@Nullable Output twitterConsumerKey) {
$.twitterConsumerKey = twitterConsumerKey;
return this;
}
/**
* @param twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
* @return builder
*
*/
public Builder twitterConsumerKey(String twitterConsumerKey) {
return twitterConsumerKey(Output.of(twitterConsumerKey));
}
/**
* @param twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
* @return builder
*
*/
public Builder twitterConsumerSecret(@Nullable Output twitterConsumerSecret) {
$.twitterConsumerSecret = twitterConsumerSecret;
return this;
}
/**
* @param twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
*
* @return builder
*
*/
public Builder twitterConsumerSecret(String twitterConsumerSecret) {
return twitterConsumerSecret(Output.of(twitterConsumerSecret));
}
/**
* @param twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
* application used for sign-in.
*
* @return builder
*
*/
public Builder twitterConsumerSecretSettingName(@Nullable Output twitterConsumerSecretSettingName) {
$.twitterConsumerSecretSettingName = twitterConsumerSecretSettingName;
return this;
}
/**
* @param twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
* application used for sign-in.
*
* @return builder
*
*/
public Builder twitterConsumerSecretSettingName(String twitterConsumerSecretSettingName) {
return twitterConsumerSecretSettingName(Output.of(twitterConsumerSecretSettingName));
}
/**
* @param unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app.
*
* @return builder
*
*/
public Builder unauthenticatedClientAction(@Nullable Output unauthenticatedClientAction) {
$.unauthenticatedClientAction = unauthenticatedClientAction;
return this;
}
/**
* @param unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app.
*
* @return builder
*
*/
public Builder unauthenticatedClientAction(UnauthenticatedClientAction unauthenticatedClientAction) {
return unauthenticatedClientAction(Output.of(unauthenticatedClientAction));
}
/**
* @param validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
*
* @return builder
*
*/
public Builder validateIssuer(@Nullable Output validateIssuer) {
$.validateIssuer = validateIssuer;
return this;
}
/**
* @param validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
*
* @return builder
*
*/
public Builder validateIssuer(Boolean validateIssuer) {
return validateIssuer(Output.of(validateIssuer));
}
public WebAppAuthSettingsSlotArgs build() {
if ($.name == null) {
throw new MissingRequiredPropertyException("WebAppAuthSettingsSlotArgs", "name");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("WebAppAuthSettingsSlotArgs", "resourceGroupName");
}
if ($.slot == null) {
throw new MissingRequiredPropertyException("WebAppAuthSettingsSlotArgs", "slot");
}
return $;
}
}
}