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

com.pulumi.keycloak.AttributeImporterIdentityProviderMapperArgs Maven / Gradle / Ivy

The 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.keycloak;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AttributeImporterIdentityProviderMapperArgs Empty = new AttributeImporterIdentityProviderMapperArgs();

    /**
     * For SAML based providers, this is the friendly name of the attribute to search for in the assertion. Conflicts with `attribute_name`.
     * 
     */
    @Import(name="attributeFriendlyName")
    private @Nullable Output attributeFriendlyName;

    /**
     * @return For SAML based providers, this is the friendly name of the attribute to search for in the assertion. Conflicts with `attribute_name`.
     * 
     */
    public Optional> attributeFriendlyName() {
        return Optional.ofNullable(this.attributeFriendlyName);
    }

    /**
     * For SAML based providers, this is the name of the attribute to search for in the assertion. Conflicts with `attribute_friendly_name`.
     * 
     */
    @Import(name="attributeName")
    private @Nullable Output attributeName;

    /**
     * @return For SAML based providers, this is the name of the attribute to search for in the assertion. Conflicts with `attribute_friendly_name`.
     * 
     */
    public Optional> attributeName() {
        return Optional.ofNullable(this.attributeName);
    }

    /**
     * For OIDC based providers, this is the name of the claim to use.
     * 
     */
    @Import(name="claimName")
    private @Nullable Output claimName;

    /**
     * @return For OIDC based providers, this is the name of the claim to use.
     * 
     */
    public Optional> claimName() {
        return Optional.ofNullable(this.claimName);
    }

    /**
     * Key/value attributes to add to the identity provider mapper model that is persisted to Keycloak. This can be used to extend the base model with new Keycloak features.
     * 
     */
    @Import(name="extraConfig")
    private @Nullable Output> extraConfig;

    /**
     * @return Key/value attributes to add to the identity provider mapper model that is persisted to Keycloak. This can be used to extend the base model with new Keycloak features.
     * 
     */
    public Optional>> extraConfig() {
        return Optional.ofNullable(this.extraConfig);
    }

    /**
     * The alias of the associated identity provider.
     * 
     */
    @Import(name="identityProviderAlias", required=true)
    private Output identityProviderAlias;

    /**
     * @return The alias of the associated identity provider.
     * 
     */
    public Output identityProviderAlias() {
        return this.identityProviderAlias;
    }

    /**
     * The name of the mapper.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the mapper.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The name of the realm.
     * 
     */
    @Import(name="realm", required=true)
    private Output realm;

    /**
     * @return The name of the realm.
     * 
     */
    public Output realm() {
        return this.realm;
    }

    /**
     * The user attribute or property name to store the mapped result.
     * 
     */
    @Import(name="userAttribute", required=true)
    private Output userAttribute;

    /**
     * @return The user attribute or property name to store the mapped result.
     * 
     */
    public Output userAttribute() {
        return this.userAttribute;
    }

    private AttributeImporterIdentityProviderMapperArgs() {}

    private AttributeImporterIdentityProviderMapperArgs(AttributeImporterIdentityProviderMapperArgs $) {
        this.attributeFriendlyName = $.attributeFriendlyName;
        this.attributeName = $.attributeName;
        this.claimName = $.claimName;
        this.extraConfig = $.extraConfig;
        this.identityProviderAlias = $.identityProviderAlias;
        this.name = $.name;
        this.realm = $.realm;
        this.userAttribute = $.userAttribute;
    }

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

    public static final class Builder {
        private AttributeImporterIdentityProviderMapperArgs $;

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

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

        /**
         * @param attributeFriendlyName For SAML based providers, this is the friendly name of the attribute to search for in the assertion. Conflicts with `attribute_name`.
         * 
         * @return builder
         * 
         */
        public Builder attributeFriendlyName(@Nullable Output attributeFriendlyName) {
            $.attributeFriendlyName = attributeFriendlyName;
            return this;
        }

        /**
         * @param attributeFriendlyName For SAML based providers, this is the friendly name of the attribute to search for in the assertion. Conflicts with `attribute_name`.
         * 
         * @return builder
         * 
         */
        public Builder attributeFriendlyName(String attributeFriendlyName) {
            return attributeFriendlyName(Output.of(attributeFriendlyName));
        }

        /**
         * @param attributeName For SAML based providers, this is the name of the attribute to search for in the assertion. Conflicts with `attribute_friendly_name`.
         * 
         * @return builder
         * 
         */
        public Builder attributeName(@Nullable Output attributeName) {
            $.attributeName = attributeName;
            return this;
        }

        /**
         * @param attributeName For SAML based providers, this is the name of the attribute to search for in the assertion. Conflicts with `attribute_friendly_name`.
         * 
         * @return builder
         * 
         */
        public Builder attributeName(String attributeName) {
            return attributeName(Output.of(attributeName));
        }

        /**
         * @param claimName For OIDC based providers, this is the name of the claim to use.
         * 
         * @return builder
         * 
         */
        public Builder claimName(@Nullable Output claimName) {
            $.claimName = claimName;
            return this;
        }

        /**
         * @param claimName For OIDC based providers, this is the name of the claim to use.
         * 
         * @return builder
         * 
         */
        public Builder claimName(String claimName) {
            return claimName(Output.of(claimName));
        }

        /**
         * @param extraConfig Key/value attributes to add to the identity provider mapper model that is persisted to Keycloak. This can be used to extend the base model with new Keycloak features.
         * 
         * @return builder
         * 
         */
        public Builder extraConfig(@Nullable Output> extraConfig) {
            $.extraConfig = extraConfig;
            return this;
        }

        /**
         * @param extraConfig Key/value attributes to add to the identity provider mapper model that is persisted to Keycloak. This can be used to extend the base model with new Keycloak features.
         * 
         * @return builder
         * 
         */
        public Builder extraConfig(Map extraConfig) {
            return extraConfig(Output.of(extraConfig));
        }

        /**
         * @param identityProviderAlias The alias of the associated identity provider.
         * 
         * @return builder
         * 
         */
        public Builder identityProviderAlias(Output identityProviderAlias) {
            $.identityProviderAlias = identityProviderAlias;
            return this;
        }

        /**
         * @param identityProviderAlias The alias of the associated identity provider.
         * 
         * @return builder
         * 
         */
        public Builder identityProviderAlias(String identityProviderAlias) {
            return identityProviderAlias(Output.of(identityProviderAlias));
        }

        /**
         * @param name The name of the mapper.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

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

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

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

        /**
         * @param userAttribute The user attribute or property name to store the mapped result.
         * 
         * @return builder
         * 
         */
        public Builder userAttribute(Output userAttribute) {
            $.userAttribute = userAttribute;
            return this;
        }

        /**
         * @param userAttribute The user attribute or property name to store the mapped result.
         * 
         * @return builder
         * 
         */
        public Builder userAttribute(String userAttribute) {
            return userAttribute(Output.of(userAttribute));
        }

        public AttributeImporterIdentityProviderMapperArgs build() {
            if ($.identityProviderAlias == null) {
                throw new MissingRequiredPropertyException("AttributeImporterIdentityProviderMapperArgs", "identityProviderAlias");
            }
            if ($.realm == null) {
                throw new MissingRequiredPropertyException("AttributeImporterIdentityProviderMapperArgs", "realm");
            }
            if ($.userAttribute == null) {
                throw new MissingRequiredPropertyException("AttributeImporterIdentityProviderMapperArgs", "userAttribute");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy