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

com.pulumi.azurenative.apimanagement.IdentityProviderArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.apimanagement;

import com.pulumi.azurenative.apimanagement.enums.IdentityProviderType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class IdentityProviderArgs extends com.pulumi.resources.ResourceArgs {

    public static final IdentityProviderArgs Empty = new IdentityProviderArgs();

    /**
     * List of Allowed Tenants when configuring Azure Active Directory login.
     * 
     */
    @Import(name="allowedTenants")
    private @Nullable Output> allowedTenants;

    /**
     * @return List of Allowed Tenants when configuring Azure Active Directory login.
     * 
     */
    public Optional>> allowedTenants() {
        return Optional.ofNullable(this.allowedTenants);
    }

    /**
     * OpenID Connect discovery endpoint hostname for AAD or AAD B2C.
     * 
     */
    @Import(name="authority")
    private @Nullable Output authority;

    /**
     * @return OpenID Connect discovery endpoint hostname for AAD or AAD B2C.
     * 
     */
    public Optional> authority() {
        return Optional.ofNullable(this.authority);
    }

    /**
     * Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.
     * 
     */
    @Import(name="clientId", required=true)
    private Output clientId;

    /**
     * @return Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.
     * 
     */
    public Output clientId() {
        return this.clientId;
    }

    /**
     * The client library to be used in the developer portal. Only applies to AAD and AAD B2C Identity Provider.
     * 
     */
    @Import(name="clientLibrary")
    private @Nullable Output clientLibrary;

    /**
     * @return The client library to be used in the developer portal. Only applies to AAD and AAD B2C Identity Provider.
     * 
     */
    public Optional> clientLibrary() {
        return Optional.ofNullable(this.clientLibrary);
    }

    /**
     * Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
     * 
     */
    @Import(name="clientSecret", required=true)
    private Output clientSecret;

    /**
     * @return Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
     * 
     */
    public Output clientSecret() {
        return this.clientSecret;
    }

    /**
     * Identity Provider Type identifier.
     * 
     */
    @Import(name="identityProviderName")
    private @Nullable Output identityProviderName;

    /**
     * @return Identity Provider Type identifier.
     * 
     */
    public Optional> identityProviderName() {
        return Optional.ofNullable(this.identityProviderName);
    }

    /**
     * Password Reset Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    @Import(name="passwordResetPolicyName")
    private @Nullable Output passwordResetPolicyName;

    /**
     * @return Password Reset Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    public Optional> passwordResetPolicyName() {
        return Optional.ofNullable(this.passwordResetPolicyName);
    }

    /**
     * Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    @Import(name="profileEditingPolicyName")
    private @Nullable Output profileEditingPolicyName;

    /**
     * @return Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    public Optional> profileEditingPolicyName() {
        return Optional.ofNullable(this.profileEditingPolicyName);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The name of the API Management service.
     * 
     */
    @Import(name="serviceName", required=true)
    private Output serviceName;

    /**
     * @return The name of the API Management service.
     * 
     */
    public Output serviceName() {
        return this.serviceName;
    }

    /**
     * Signin Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    @Import(name="signinPolicyName")
    private @Nullable Output signinPolicyName;

    /**
     * @return Signin Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    public Optional> signinPolicyName() {
        return Optional.ofNullable(this.signinPolicyName);
    }

    /**
     * The TenantId to use instead of Common when logging into Active Directory
     * 
     */
    @Import(name="signinTenant")
    private @Nullable Output signinTenant;

    /**
     * @return The TenantId to use instead of Common when logging into Active Directory
     * 
     */
    public Optional> signinTenant() {
        return Optional.ofNullable(this.signinTenant);
    }

    /**
     * Signup Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    @Import(name="signupPolicyName")
    private @Nullable Output signupPolicyName;

    /**
     * @return Signup Policy Name. Only applies to AAD B2C Identity Provider.
     * 
     */
    public Optional> signupPolicyName() {
        return Optional.ofNullable(this.signupPolicyName);
    }

    /**
     * Identity Provider Type identifier.
     * 
     */
    @Import(name="type")
    private @Nullable Output> type;

    /**
     * @return Identity Provider Type identifier.
     * 
     */
    public Optional>> type() {
        return Optional.ofNullable(this.type);
    }

    private IdentityProviderArgs() {}

    private IdentityProviderArgs(IdentityProviderArgs $) {
        this.allowedTenants = $.allowedTenants;
        this.authority = $.authority;
        this.clientId = $.clientId;
        this.clientLibrary = $.clientLibrary;
        this.clientSecret = $.clientSecret;
        this.identityProviderName = $.identityProviderName;
        this.passwordResetPolicyName = $.passwordResetPolicyName;
        this.profileEditingPolicyName = $.profileEditingPolicyName;
        this.resourceGroupName = $.resourceGroupName;
        this.serviceName = $.serviceName;
        this.signinPolicyName = $.signinPolicyName;
        this.signinTenant = $.signinTenant;
        this.signupPolicyName = $.signupPolicyName;
        this.type = $.type;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(IdentityProviderArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private IdentityProviderArgs $;

        public Builder() {
            $ = new IdentityProviderArgs();
        }

        public Builder(IdentityProviderArgs defaults) {
            $ = new IdentityProviderArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param allowedTenants List of Allowed Tenants when configuring Azure Active Directory login.
         * 
         * @return builder
         * 
         */
        public Builder allowedTenants(@Nullable Output> allowedTenants) {
            $.allowedTenants = allowedTenants;
            return this;
        }

        /**
         * @param allowedTenants List of Allowed Tenants when configuring Azure Active Directory login.
         * 
         * @return builder
         * 
         */
        public Builder allowedTenants(List allowedTenants) {
            return allowedTenants(Output.of(allowedTenants));
        }

        /**
         * @param allowedTenants List of Allowed Tenants when configuring Azure Active Directory login.
         * 
         * @return builder
         * 
         */
        public Builder allowedTenants(String... allowedTenants) {
            return allowedTenants(List.of(allowedTenants));
        }

        /**
         * @param authority OpenID Connect discovery endpoint hostname for AAD or AAD B2C.
         * 
         * @return builder
         * 
         */
        public Builder authority(@Nullable Output authority) {
            $.authority = authority;
            return this;
        }

        /**
         * @param authority OpenID Connect discovery endpoint hostname for AAD or AAD B2C.
         * 
         * @return builder
         * 
         */
        public Builder authority(String authority) {
            return authority(Output.of(authority));
        }

        /**
         * @param clientId Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.
         * 
         * @return builder
         * 
         */
        public Builder clientId(Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientLibrary The client library to be used in the developer portal. Only applies to AAD and AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder clientLibrary(@Nullable Output clientLibrary) {
            $.clientLibrary = clientLibrary;
            return this;
        }

        /**
         * @param clientLibrary The client library to be used in the developer portal. Only applies to AAD and AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder clientLibrary(String clientLibrary) {
            return clientLibrary(Output.of(clientLibrary));
        }

        /**
         * @param clientSecret Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param identityProviderName Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder identityProviderName(@Nullable Output identityProviderName) {
            $.identityProviderName = identityProviderName;
            return this;
        }

        /**
         * @param identityProviderName Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder identityProviderName(String identityProviderName) {
            return identityProviderName(Output.of(identityProviderName));
        }

        /**
         * @param passwordResetPolicyName Password Reset Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder passwordResetPolicyName(@Nullable Output passwordResetPolicyName) {
            $.passwordResetPolicyName = passwordResetPolicyName;
            return this;
        }

        /**
         * @param passwordResetPolicyName Password Reset Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder passwordResetPolicyName(String passwordResetPolicyName) {
            return passwordResetPolicyName(Output.of(passwordResetPolicyName));
        }

        /**
         * @param profileEditingPolicyName Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder profileEditingPolicyName(@Nullable Output profileEditingPolicyName) {
            $.profileEditingPolicyName = profileEditingPolicyName;
            return this;
        }

        /**
         * @param profileEditingPolicyName Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder profileEditingPolicyName(String profileEditingPolicyName) {
            return profileEditingPolicyName(Output.of(profileEditingPolicyName));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serviceName The name of the API Management service.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The name of the API Management service.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param signinPolicyName Signin Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder signinPolicyName(@Nullable Output signinPolicyName) {
            $.signinPolicyName = signinPolicyName;
            return this;
        }

        /**
         * @param signinPolicyName Signin Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder signinPolicyName(String signinPolicyName) {
            return signinPolicyName(Output.of(signinPolicyName));
        }

        /**
         * @param signinTenant The TenantId to use instead of Common when logging into Active Directory
         * 
         * @return builder
         * 
         */
        public Builder signinTenant(@Nullable Output signinTenant) {
            $.signinTenant = signinTenant;
            return this;
        }

        /**
         * @param signinTenant The TenantId to use instead of Common when logging into Active Directory
         * 
         * @return builder
         * 
         */
        public Builder signinTenant(String signinTenant) {
            return signinTenant(Output.of(signinTenant));
        }

        /**
         * @param signupPolicyName Signup Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder signupPolicyName(@Nullable Output signupPolicyName) {
            $.signupPolicyName = signupPolicyName;
            return this;
        }

        /**
         * @param signupPolicyName Signup Policy Name. Only applies to AAD B2C Identity Provider.
         * 
         * @return builder
         * 
         */
        public Builder signupPolicyName(String signupPolicyName) {
            return signupPolicyName(Output.of(signupPolicyName));
        }

        /**
         * @param type Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type Identity Provider Type identifier.
         * 
         * @return builder
         * 
         */
        public Builder type(IdentityProviderType type) {
            return type(Either.ofRight(type));
        }

        public IdentityProviderArgs build() {
            if ($.clientId == null) {
                throw new MissingRequiredPropertyException("IdentityProviderArgs", "clientId");
            }
            if ($.clientSecret == null) {
                throw new MissingRequiredPropertyException("IdentityProviderArgs", "clientSecret");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("IdentityProviderArgs", "resourceGroupName");
            }
            if ($.serviceName == null) {
                throw new MissingRequiredPropertyException("IdentityProviderArgs", "serviceName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy