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

com.pulumi.azurenative.web.WebAppAuthSettingsSlot Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.web;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.web.WebAppAuthSettingsSlotArgs;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * Configuration settings for the Azure App Service Authentication / Authorization feature.
 * Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2020-12-01.
 * 
 * Other available API versions: 2020-10-01, 2023-01-01, 2023-12-01.
 * ## Import
 * 
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * 
 * ```sh
 * $ pulumi import azure-native:web:WebAppAuthSettingsSlot myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings 
 * ```
 * 
 */
@ResourceType(type="azure-native:web:WebAppAuthSettingsSlot")
public class WebAppAuthSettingsSlot extends com.pulumi.resources.CustomResource {
    /**
     * Gets a JSON string containing the Azure AD Acl settings.
     * 
     */
    @Export(name="aadClaimsAuthorization", refs={String.class}, tree="[0]")
    private Output aadClaimsAuthorization;

    /**
     * @return Gets a JSON string containing the Azure AD Acl settings.
     * 
     */
    public Output> aadClaimsAuthorization() {
        return Codegen.optional(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".
     * 
     */
    @Export(name="additionalLoginParams", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> additionalLoginParams() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="allowedAudiences", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> allowedAudiences() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="allowedExternalRedirectUrls", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> allowedExternalRedirectUrls() {
        return Codegen.optional(this.allowedExternalRedirectUrls);
    }
    /**
     * The path of the config file containing auth settings.
     * If the path is relative, base will the site's root directory.
     * 
     */
    @Export(name="authFilePath", refs={String.class}, tree="[0]")
    private 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 Output> authFilePath() {
        return Codegen.optional(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
     * 
     */
    @Export(name="clientId", refs={String.class}, tree="[0]")
    private 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 Output> clientId() {
        return Codegen.optional(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
     * 
     */
    @Export(name="clientSecret", refs={String.class}, tree="[0]")
    private 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 Output> clientSecret() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="clientSecretCertificateThumbprint", refs={String.class}, tree="[0]")
    private 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 Output> clientSecretCertificateThumbprint() {
        return Codegen.optional(this.clientSecretCertificateThumbprint);
    }
    /**
     * The app setting name that contains the client secret of the relying party application.
     * 
     */
    @Export(name="clientSecretSettingName", refs={String.class}, tree="[0]")
    private Output clientSecretSettingName;

    /**
     * @return The app setting name that contains the client secret of the relying party application.
     * 
     */
    public Output> clientSecretSettingName() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="configVersion", refs={String.class}, tree="[0]")
    private 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 Output> configVersion() {
        return Codegen.optional(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".
     * 
     */
    @Export(name="defaultProvider", refs={String.class}, tree="[0]")
    private 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 Output> defaultProvider() {
        return Codegen.optional(this.defaultProvider);
    }
    /**
     * <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
     * 
     */
    @Export(name="enabled", refs={Boolean.class}, tree="[0]")
    private Output enabled;

    /**
     * @return <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>.
     * 
     */
    public Output> enabled() {
        return Codegen.optional(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
     * 
     */
    @Export(name="facebookAppId", refs={String.class}, tree="[0]")
    private 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 Output> facebookAppId() {
        return Codegen.optional(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
     * 
     */
    @Export(name="facebookAppSecret", refs={String.class}, tree="[0]")
    private 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 Output> facebookAppSecret() {
        return Codegen.optional(this.facebookAppSecret);
    }
    /**
     * The app setting name that contains the app secret used for Facebook Login.
     * 
     */
    @Export(name="facebookAppSecretSettingName", refs={String.class}, tree="[0]")
    private Output facebookAppSecretSettingName;

    /**
     * @return The app setting name that contains the app secret used for Facebook Login.
     * 
     */
    public Output> facebookAppSecretSettingName() {
        return Codegen.optional(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
     * 
     */
    @Export(name="facebookOAuthScopes", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> facebookOAuthScopes() {
        return Codegen.optional(this.facebookOAuthScopes);
    }
    /**
     * The Client Id of the GitHub app used for login.
     * This setting is required for enabling Github login
     * 
     */
    @Export(name="gitHubClientId", refs={String.class}, tree="[0]")
    private Output gitHubClientId;

    /**
     * @return The Client Id of the GitHub app used for login.
     * This setting is required for enabling Github login
     * 
     */
    public Output> gitHubClientId() {
        return Codegen.optional(this.gitHubClientId);
    }
    /**
     * The Client Secret of the GitHub app used for Github Login.
     * This setting is required for enabling Github login.
     * 
     */
    @Export(name="gitHubClientSecret", refs={String.class}, tree="[0]")
    private Output gitHubClientSecret;

    /**
     * @return The Client Secret of the GitHub app used for Github Login.
     * This setting is required for enabling Github login.
     * 
     */
    public Output> gitHubClientSecret() {
        return Codegen.optional(this.gitHubClientSecret);
    }
    /**
     * The app setting name that contains the client secret of the Github
     * app used for GitHub Login.
     * 
     */
    @Export(name="gitHubClientSecretSettingName", refs={String.class}, tree="[0]")
    private Output gitHubClientSecretSettingName;

    /**
     * @return The app setting name that contains the client secret of the Github
     * app used for GitHub Login.
     * 
     */
    public Output> gitHubClientSecretSettingName() {
        return Codegen.optional(this.gitHubClientSecretSettingName);
    }
    /**
     * The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
     * This setting is optional
     * 
     */
    @Export(name="gitHubOAuthScopes", refs={List.class,String.class}, tree="[0,1]")
    private Output> gitHubOAuthScopes;

    /**
     * @return The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
     * This setting is optional
     * 
     */
    public Output>> gitHubOAuthScopes() {
        return Codegen.optional(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/
     * 
     */
    @Export(name="googleClientId", refs={String.class}, tree="[0]")
    private 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 Output> googleClientId() {
        return Codegen.optional(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/
     * 
     */
    @Export(name="googleClientSecret", refs={String.class}, tree="[0]")
    private 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 Output> googleClientSecret() {
        return Codegen.optional(this.googleClientSecret);
    }
    /**
     * The app setting name that contains the client secret associated with
     * the Google web application.
     * 
     */
    @Export(name="googleClientSecretSettingName", refs={String.class}, tree="[0]")
    private Output googleClientSecretSettingName;

    /**
     * @return The app setting name that contains the client secret associated with
     * the Google web application.
     * 
     */
    public Output> googleClientSecretSettingName() {
        return Codegen.optional(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/
     * 
     */
    @Export(name="googleOAuthScopes", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> googleOAuthScopes() {
        return Codegen.optional(this.googleOAuthScopes);
    }
    /**
     * "true" if the auth config settings should be read from a file,
     * "false" otherwise
     * 
     */
    @Export(name="isAuthFromFile", refs={String.class}, tree="[0]")
    private Output isAuthFromFile;

    /**
     * @return "true" if the auth config settings should be read from a file,
     * "false" otherwise
     * 
     */
    public Output> isAuthFromFile() {
        return Codegen.optional(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
     * 
     */
    @Export(name="issuer", refs={String.class}, tree="[0]")
    private 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 Output> issuer() {
        return Codegen.optional(this.issuer);
    }
    /**
     * Kind of resource.
     * 
     */
    @Export(name="kind", refs={String.class}, tree="[0]")
    private Output kind;

    /**
     * @return Kind of resource.
     * 
     */
    public Output> kind() {
        return Codegen.optional(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
     * 
     */
    @Export(name="microsoftAccountClientId", refs={String.class}, tree="[0]")
    private 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 Output> microsoftAccountClientId() {
        return Codegen.optional(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
     * 
     */
    @Export(name="microsoftAccountClientSecret", refs={String.class}, tree="[0]")
    private 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 Output> microsoftAccountClientSecret() {
        return Codegen.optional(this.microsoftAccountClientSecret);
    }
    /**
     * The app setting name containing the OAuth 2.0 client secret that was created for the
     * app used for authentication.
     * 
     */
    @Export(name="microsoftAccountClientSecretSettingName", refs={String.class}, tree="[0]")
    private Output microsoftAccountClientSecretSettingName;

    /**
     * @return The app setting name containing the OAuth 2.0 client secret that was created for the
     * app used for authentication.
     * 
     */
    public Output> microsoftAccountClientSecretSettingName() {
        return Codegen.optional(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
     * 
     */
    @Export(name="microsoftAccountOAuthScopes", refs={List.class,String.class}, tree="[0,1]")
    private 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 Output>> microsoftAccountOAuthScopes() {
        return Codegen.optional(this.microsoftAccountOAuthScopes);
    }
    /**
     * Resource Name.
     * 
     */
    @Export(name="name", refs={String.class}, tree="[0]")
    private Output name;

    /**
     * @return Resource Name.
     * 
     */
    public Output name() {
        return this.name;
    }
    /**
     * 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.
     * 
     */
    @Export(name="runtimeVersion", refs={String.class}, tree="[0]")
    private 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 Output> runtimeVersion() {
        return Codegen.optional(this.runtimeVersion);
    }
    /**
     * 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.
     * 
     */
    @Export(name="tokenRefreshExtensionHours", refs={Double.class}, tree="[0]")
    private 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 Output> tokenRefreshExtensionHours() {
        return Codegen.optional(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>.
     * 
     */
    @Export(name="tokenStoreEnabled", refs={Boolean.class}, tree="[0]")
    private 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 Output> tokenStoreEnabled() {
        return Codegen.optional(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
     * 
     */
    @Export(name="twitterConsumerKey", refs={String.class}, tree="[0]")
    private 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 Output> twitterConsumerKey() {
        return Codegen.optional(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
     * 
     */
    @Export(name="twitterConsumerSecret", refs={String.class}, tree="[0]")
    private 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 Output> twitterConsumerSecret() {
        return Codegen.optional(this.twitterConsumerSecret);
    }
    /**
     * The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
     * application used for sign-in.
     * 
     */
    @Export(name="twitterConsumerSecretSettingName", refs={String.class}, tree="[0]")
    private Output twitterConsumerSecretSettingName;

    /**
     * @return The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
     * application used for sign-in.
     * 
     */
    public Output> twitterConsumerSecretSettingName() {
        return Codegen.optional(this.twitterConsumerSecretSettingName);
    }
    /**
     * Resource type.
     * 
     */
    @Export(name="type", refs={String.class}, tree="[0]")
    private Output type;

    /**
     * @return Resource type.
     * 
     */
    public Output type() {
        return this.type;
    }
    /**
     * The action to take when an unauthenticated client attempts to access the app.
     * 
     */
    @Export(name="unauthenticatedClientAction", refs={String.class}, tree="[0]")
    private Output unauthenticatedClientAction;

    /**
     * @return The action to take when an unauthenticated client attempts to access the app.
     * 
     */
    public Output> unauthenticatedClientAction() {
        return Codegen.optional(this.unauthenticatedClientAction);
    }
    /**
     * Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
     * 
     */
    @Export(name="validateIssuer", refs={Boolean.class}, tree="[0]")
    private Output validateIssuer;

    /**
     * @return Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
     * 
     */
    public Output> validateIssuer() {
        return Codegen.optional(this.validateIssuer);
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public WebAppAuthSettingsSlot(java.lang.String name) {
        this(name, WebAppAuthSettingsSlotArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public WebAppAuthSettingsSlot(java.lang.String name, WebAppAuthSettingsSlotArgs args) {
        this(name, args, null);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param options A bag of options that control this resource's behavior.
     */
    public WebAppAuthSettingsSlot(java.lang.String name, WebAppAuthSettingsSlotArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:web:WebAppAuthSettingsSlot", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
    }

    private WebAppAuthSettingsSlot(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:web:WebAppAuthSettingsSlot", name, null, makeResourceOptions(options, id), false);
    }

    private static WebAppAuthSettingsSlotArgs makeArgs(WebAppAuthSettingsSlotArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        if (options != null && options.getUrn().isPresent()) {
            return null;
        }
        return args == null ? WebAppAuthSettingsSlotArgs.Empty : args;
    }

    private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
        var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
            .version(Utilities.getVersion())
            .aliases(List.of(
                Output.of(Alias.builder().type("azure-native:web/v20150801:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20160801:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20180201:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20181101:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20190801:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20200601:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20200901:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20201001:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20201201:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20210101:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20210115:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20210201:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20210301:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20220301:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20220901:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20230101:WebAppAuthSettingsSlot").build()),
                Output.of(Alias.builder().type("azure-native:web/v20231201:WebAppAuthSettingsSlot").build())
            ))
            .build();
        return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
    }

    /**
     * Get an existing Host resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param options Optional settings to control the behavior of the CustomResource.
     */
    public static WebAppAuthSettingsSlot get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new WebAppAuthSettingsSlot(name, id, options);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy