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

com.pulumi.keycloak.inputs.RealmUserProfileAttributeArgs 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.inputs;

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


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

    public static final RealmUserProfileAttributeArgs Empty = new RealmUserProfileAttributeArgs();

    @Import(name="annotations")
    private @Nullable Output> annotations;

    public Optional>> annotations() {
        return Optional.ofNullable(this.annotations);
    }

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

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

    /**
     * A list of scopes. The attribute will only be enabled when these scopes are requested by clients.
     * 
     */
    @Import(name="enabledWhenScopes")
    private @Nullable Output> enabledWhenScopes;

    /**
     * @return A list of scopes. The attribute will only be enabled when these scopes are requested by clients.
     * 
     */
    public Optional>> enabledWhenScopes() {
        return Optional.ofNullable(this.enabledWhenScopes);
    }

    /**
     * A list of groups.
     * 
     */
    @Import(name="group")
    private @Nullable Output group;

    /**
     * @return A list of groups.
     * 
     */
    public Optional> group() {
        return Optional.ofNullable(this.group);
    }

    @Import(name="name", required=true)
    private Output name;

    public Output name() {
        return this.name;
    }

    /**
     * The permissions configuration information.
     * 
     */
    @Import(name="permissions")
    private @Nullable Output permissions;

    /**
     * @return The permissions configuration information.
     * 
     */
    public Optional> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * A list of roles for which the attribute will be required.
     * 
     */
    @Import(name="requiredForRoles")
    private @Nullable Output> requiredForRoles;

    /**
     * @return A list of roles for which the attribute will be required.
     * 
     */
    public Optional>> requiredForRoles() {
        return Optional.ofNullable(this.requiredForRoles);
    }

    /**
     * A list of scopes for which the attribute will be required.
     * 
     */
    @Import(name="requiredForScopes")
    private @Nullable Output> requiredForScopes;

    /**
     * @return A list of scopes for which the attribute will be required.
     * 
     */
    public Optional>> requiredForScopes() {
        return Optional.ofNullable(this.requiredForScopes);
    }

    /**
     * A list of validators for the attribute.
     * 
     */
    @Import(name="validators")
    private @Nullable Output> validators;

    /**
     * @return A list of validators for the attribute.
     * 
     */
    public Optional>> validators() {
        return Optional.ofNullable(this.validators);
    }

    private RealmUserProfileAttributeArgs() {}

    private RealmUserProfileAttributeArgs(RealmUserProfileAttributeArgs $) {
        this.annotations = $.annotations;
        this.displayName = $.displayName;
        this.enabledWhenScopes = $.enabledWhenScopes;
        this.group = $.group;
        this.name = $.name;
        this.permissions = $.permissions;
        this.requiredForRoles = $.requiredForRoles;
        this.requiredForScopes = $.requiredForScopes;
        this.validators = $.validators;
    }

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

    public static final class Builder {
        private RealmUserProfileAttributeArgs $;

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

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

        public Builder annotations(@Nullable Output> annotations) {
            $.annotations = annotations;
            return this;
        }

        public Builder annotations(Map annotations) {
            return annotations(Output.of(annotations));
        }

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

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

        /**
         * @param enabledWhenScopes A list of scopes. The attribute will only be enabled when these scopes are requested by clients.
         * 
         * @return builder
         * 
         */
        public Builder enabledWhenScopes(@Nullable Output> enabledWhenScopes) {
            $.enabledWhenScopes = enabledWhenScopes;
            return this;
        }

        /**
         * @param enabledWhenScopes A list of scopes. The attribute will only be enabled when these scopes are requested by clients.
         * 
         * @return builder
         * 
         */
        public Builder enabledWhenScopes(List enabledWhenScopes) {
            return enabledWhenScopes(Output.of(enabledWhenScopes));
        }

        /**
         * @param enabledWhenScopes A list of scopes. The attribute will only be enabled when these scopes are requested by clients.
         * 
         * @return builder
         * 
         */
        public Builder enabledWhenScopes(String... enabledWhenScopes) {
            return enabledWhenScopes(List.of(enabledWhenScopes));
        }

        /**
         * @param group A list of groups.
         * 
         * @return builder
         * 
         */
        public Builder group(@Nullable Output group) {
            $.group = group;
            return this;
        }

        /**
         * @param group A list of groups.
         * 
         * @return builder
         * 
         */
        public Builder group(String group) {
            return group(Output.of(group));
        }

        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param permissions The permissions configuration information.
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions The permissions configuration information.
         * 
         * @return builder
         * 
         */
        public Builder permissions(RealmUserProfileAttributePermissionsArgs permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param requiredForRoles A list of roles for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForRoles(@Nullable Output> requiredForRoles) {
            $.requiredForRoles = requiredForRoles;
            return this;
        }

        /**
         * @param requiredForRoles A list of roles for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForRoles(List requiredForRoles) {
            return requiredForRoles(Output.of(requiredForRoles));
        }

        /**
         * @param requiredForRoles A list of roles for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForRoles(String... requiredForRoles) {
            return requiredForRoles(List.of(requiredForRoles));
        }

        /**
         * @param requiredForScopes A list of scopes for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForScopes(@Nullable Output> requiredForScopes) {
            $.requiredForScopes = requiredForScopes;
            return this;
        }

        /**
         * @param requiredForScopes A list of scopes for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForScopes(List requiredForScopes) {
            return requiredForScopes(Output.of(requiredForScopes));
        }

        /**
         * @param requiredForScopes A list of scopes for which the attribute will be required.
         * 
         * @return builder
         * 
         */
        public Builder requiredForScopes(String... requiredForScopes) {
            return requiredForScopes(List.of(requiredForScopes));
        }

        /**
         * @param validators A list of validators for the attribute.
         * 
         * @return builder
         * 
         */
        public Builder validators(@Nullable Output> validators) {
            $.validators = validators;
            return this;
        }

        /**
         * @param validators A list of validators for the attribute.
         * 
         * @return builder
         * 
         */
        public Builder validators(List validators) {
            return validators(Output.of(validators));
        }

        /**
         * @param validators A list of validators for the attribute.
         * 
         * @return builder
         * 
         */
        public Builder validators(RealmUserProfileAttributeValidatorArgs... validators) {
            return validators(List.of(validators));
        }

        public RealmUserProfileAttributeArgs build() {
            if ($.name == null) {
                throw new MissingRequiredPropertyException("RealmUserProfileAttributeArgs", "name");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy