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

com.pulumi.spotinst.organization.inputs.UserState 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.spotinst.organization.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.spotinst.organization.inputs.UserPolicyArgs;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final UserState Empty = new UserState();

    /**
     * Email.
     * 
     */
    @Import(name="email")
    private @Nullable Output email;

    /**
     * @return Email.
     * 
     */
    public Optional> email() {
        return Optional.ofNullable(this.email);
    }

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

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

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

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

    /**
     * Password.
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return Password.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * The policies to register under the given group
     * (should be existing policies only).
     * 
     */
    @Import(name="policies")
    private @Nullable Output> policies;

    /**
     * @return The policies to register under the given group
     * (should be existing policies only).
     * 
     */
    public Optional>> policies() {
        return Optional.ofNullable(this.policies);
    }

    /**
     * User's role.
     * 
     */
    @Import(name="role")
    private @Nullable Output role;

    /**
     * @return User's role.
     * 
     */
    public Optional> role() {
        return Optional.ofNullable(this.role);
    }

    /**
     * A list of the user groups to register the given user to (should be existing user groups only)
     * 
     */
    @Import(name="userGroupIds")
    private @Nullable Output> userGroupIds;

    /**
     * @return A list of the user groups to register the given user to (should be existing user groups only)
     * 
     */
    public Optional>> userGroupIds() {
        return Optional.ofNullable(this.userGroupIds);
    }

    private UserState() {}

    private UserState(UserState $) {
        this.email = $.email;
        this.firstName = $.firstName;
        this.lastName = $.lastName;
        this.password = $.password;
        this.policies = $.policies;
        this.role = $.role;
        this.userGroupIds = $.userGroupIds;
    }

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

    public static final class Builder {
        private UserState $;

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

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

        /**
         * @param email Email.
         * 
         * @return builder
         * 
         */
        public Builder email(@Nullable Output email) {
            $.email = email;
            return this;
        }

        /**
         * @param email Email.
         * 
         * @return builder
         * 
         */
        public Builder email(String email) {
            return email(Output.of(email));
        }

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

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

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

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

        /**
         * @param password Password.
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password Password.
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param policies The policies to register under the given group
         * (should be existing policies only).
         * 
         * @return builder
         * 
         */
        public Builder policies(@Nullable Output> policies) {
            $.policies = policies;
            return this;
        }

        /**
         * @param policies The policies to register under the given group
         * (should be existing policies only).
         * 
         * @return builder
         * 
         */
        public Builder policies(List policies) {
            return policies(Output.of(policies));
        }

        /**
         * @param policies The policies to register under the given group
         * (should be existing policies only).
         * 
         * @return builder
         * 
         */
        public Builder policies(UserPolicyArgs... policies) {
            return policies(List.of(policies));
        }

        /**
         * @param role User's role.
         * 
         * @return builder
         * 
         */
        public Builder role(@Nullable Output role) {
            $.role = role;
            return this;
        }

        /**
         * @param role User's role.
         * 
         * @return builder
         * 
         */
        public Builder role(String role) {
            return role(Output.of(role));
        }

        /**
         * @param userGroupIds A list of the user groups to register the given user to (should be existing user groups only)
         * 
         * @return builder
         * 
         */
        public Builder userGroupIds(@Nullable Output> userGroupIds) {
            $.userGroupIds = userGroupIds;
            return this;
        }

        /**
         * @param userGroupIds A list of the user groups to register the given user to (should be existing user groups only)
         * 
         * @return builder
         * 
         */
        public Builder userGroupIds(List userGroupIds) {
            return userGroupIds(Output.of(userGroupIds));
        }

        /**
         * @param userGroupIds A list of the user groups to register the given user to (should be existing user groups only)
         * 
         * @return builder
         * 
         */
        public Builder userGroupIds(String... userGroupIds) {
            return userGroupIds(List.of(userGroupIds));
        }

        public UserState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy