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

com.pulumi.linode.inputs.UserState Maven / Gradle / Ivy

There is a newer version: 4.31.0-alpha.1732773076
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.linode.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.linode.inputs.UserDomainGrantArgs;
import com.pulumi.linode.inputs.UserFirewallGrantArgs;
import com.pulumi.linode.inputs.UserGlobalGrantsArgs;
import com.pulumi.linode.inputs.UserImageGrantArgs;
import com.pulumi.linode.inputs.UserLinodeGrantArgs;
import com.pulumi.linode.inputs.UserLongviewGrantArgs;
import com.pulumi.linode.inputs.UserNodebalancerGrantArgs;
import com.pulumi.linode.inputs.UserStackscriptGrantArgs;
import com.pulumi.linode.inputs.UserVolumeGrantArgs;
import java.lang.Boolean;
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();

    /**
     * The domains the user has permissions access to.
     * 
     */
    @Import(name="domainGrants")
    private @Nullable Output> domainGrants;

    /**
     * @return The domains the user has permissions access to.
     * 
     */
    public Optional>> domainGrants() {
        return Optional.ofNullable(this.domainGrants);
    }

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

    /**
     * @return The email address of the user.
     * 
     */
    public Optional> email() {
        return Optional.ofNullable(this.email);
    }

    /**
     * The firewalls the user has permissions access to.
     * 
     */
    @Import(name="firewallGrants")
    private @Nullable Output> firewallGrants;

    /**
     * @return The firewalls the user has permissions access to.
     * 
     */
    public Optional>> firewallGrants() {
        return Optional.ofNullable(this.firewallGrants);
    }

    /**
     * A structure containing the Account-level grants a User has.
     * 
     */
    @Import(name="globalGrants")
    private @Nullable Output globalGrants;

    /**
     * @return A structure containing the Account-level grants a User has.
     * 
     */
    public Optional> globalGrants() {
        return Optional.ofNullable(this.globalGrants);
    }

    /**
     * The images the user has permissions access to.
     * 
     */
    @Import(name="imageGrants")
    private @Nullable Output> imageGrants;

    /**
     * @return The images the user has permissions access to.
     * 
     */
    public Optional>> imageGrants() {
        return Optional.ofNullable(this.imageGrants);
    }

    /**
     * The Linodes the user has permissions access to.
     * 
     */
    @Import(name="linodeGrants")
    private @Nullable Output> linodeGrants;

    /**
     * @return The Linodes the user has permissions access to.
     * 
     */
    public Optional>> linodeGrants() {
        return Optional.ofNullable(this.linodeGrants);
    }

    /**
     * The longview the user has permissions access to.
     * 
     */
    @Import(name="longviewGrants")
    private @Nullable Output> longviewGrants;

    /**
     * @return The longview the user has permissions access to.
     * 
     */
    public Optional>> longviewGrants() {
        return Optional.ofNullable(this.longviewGrants);
    }

    /**
     * The NodeBalancers the user has permissions access to.
     * 
     */
    @Import(name="nodebalancerGrants")
    private @Nullable Output> nodebalancerGrants;

    /**
     * @return The NodeBalancers the user has permissions access to.
     * 
     */
    public Optional>> nodebalancerGrants() {
        return Optional.ofNullable(this.nodebalancerGrants);
    }

    /**
     * If true, this user will only have explicit permissions granted.
     * 
     * * `global_grants` - (optional) A structure containing the Account-level grants a User has.
     * 
     * The following arguments are sets of entity grants:
     * 
     */
    @Import(name="restricted")
    private @Nullable Output restricted;

    /**
     * @return If true, this user will only have explicit permissions granted.
     * 
     * * `global_grants` - (optional) A structure containing the Account-level grants a User has.
     * 
     * The following arguments are sets of entity grants:
     * 
     */
    public Optional> restricted() {
        return Optional.ofNullable(this.restricted);
    }

    /**
     * A list of the User's SSH keys.
     * 
     */
    @Import(name="sshKeys")
    private @Nullable Output> sshKeys;

    /**
     * @return A list of the User's SSH keys.
     * 
     */
    public Optional>> sshKeys() {
        return Optional.ofNullable(this.sshKeys);
    }

    /**
     * The StackScripts the user has permissions access to.
     * 
     */
    @Import(name="stackscriptGrants")
    private @Nullable Output> stackscriptGrants;

    /**
     * @return The StackScripts the user has permissions access to.
     * 
     */
    public Optional>> stackscriptGrants() {
        return Optional.ofNullable(this.stackscriptGrants);
    }

    /**
     * Whether the user has two-factor-authentication enabled.
     * 
     */
    @Import(name="tfaEnabled")
    private @Nullable Output tfaEnabled;

    /**
     * @return Whether the user has two-factor-authentication enabled.
     * 
     */
    public Optional> tfaEnabled() {
        return Optional.ofNullable(this.tfaEnabled);
    }

    /**
     * The type of this user.
     * 
     */
    @Import(name="userType")
    private @Nullable Output userType;

    /**
     * @return The type of this user.
     * 
     */
    public Optional> userType() {
        return Optional.ofNullable(this.userType);
    }

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

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

    /**
     * The volumes the user has permissions access to.
     * 
     */
    @Import(name="volumeGrants")
    private @Nullable Output> volumeGrants;

    /**
     * @return The volumes the user has permissions access to.
     * 
     */
    public Optional>> volumeGrants() {
        return Optional.ofNullable(this.volumeGrants);
    }

    private UserState() {}

    private UserState(UserState $) {
        this.domainGrants = $.domainGrants;
        this.email = $.email;
        this.firewallGrants = $.firewallGrants;
        this.globalGrants = $.globalGrants;
        this.imageGrants = $.imageGrants;
        this.linodeGrants = $.linodeGrants;
        this.longviewGrants = $.longviewGrants;
        this.nodebalancerGrants = $.nodebalancerGrants;
        this.restricted = $.restricted;
        this.sshKeys = $.sshKeys;
        this.stackscriptGrants = $.stackscriptGrants;
        this.tfaEnabled = $.tfaEnabled;
        this.userType = $.userType;
        this.username = $.username;
        this.volumeGrants = $.volumeGrants;
    }

    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 domainGrants The domains the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder domainGrants(@Nullable Output> domainGrants) {
            $.domainGrants = domainGrants;
            return this;
        }

        /**
         * @param domainGrants The domains the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder domainGrants(List domainGrants) {
            return domainGrants(Output.of(domainGrants));
        }

        /**
         * @param domainGrants The domains the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder domainGrants(UserDomainGrantArgs... domainGrants) {
            return domainGrants(List.of(domainGrants));
        }

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

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

        /**
         * @param firewallGrants The firewalls the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder firewallGrants(@Nullable Output> firewallGrants) {
            $.firewallGrants = firewallGrants;
            return this;
        }

        /**
         * @param firewallGrants The firewalls the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder firewallGrants(List firewallGrants) {
            return firewallGrants(Output.of(firewallGrants));
        }

        /**
         * @param firewallGrants The firewalls the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder firewallGrants(UserFirewallGrantArgs... firewallGrants) {
            return firewallGrants(List.of(firewallGrants));
        }

        /**
         * @param globalGrants A structure containing the Account-level grants a User has.
         * 
         * @return builder
         * 
         */
        public Builder globalGrants(@Nullable Output globalGrants) {
            $.globalGrants = globalGrants;
            return this;
        }

        /**
         * @param globalGrants A structure containing the Account-level grants a User has.
         * 
         * @return builder
         * 
         */
        public Builder globalGrants(UserGlobalGrantsArgs globalGrants) {
            return globalGrants(Output.of(globalGrants));
        }

        /**
         * @param imageGrants The images the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder imageGrants(@Nullable Output> imageGrants) {
            $.imageGrants = imageGrants;
            return this;
        }

        /**
         * @param imageGrants The images the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder imageGrants(List imageGrants) {
            return imageGrants(Output.of(imageGrants));
        }

        /**
         * @param imageGrants The images the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder imageGrants(UserImageGrantArgs... imageGrants) {
            return imageGrants(List.of(imageGrants));
        }

        /**
         * @param linodeGrants The Linodes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder linodeGrants(@Nullable Output> linodeGrants) {
            $.linodeGrants = linodeGrants;
            return this;
        }

        /**
         * @param linodeGrants The Linodes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder linodeGrants(List linodeGrants) {
            return linodeGrants(Output.of(linodeGrants));
        }

        /**
         * @param linodeGrants The Linodes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder linodeGrants(UserLinodeGrantArgs... linodeGrants) {
            return linodeGrants(List.of(linodeGrants));
        }

        /**
         * @param longviewGrants The longview the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder longviewGrants(@Nullable Output> longviewGrants) {
            $.longviewGrants = longviewGrants;
            return this;
        }

        /**
         * @param longviewGrants The longview the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder longviewGrants(List longviewGrants) {
            return longviewGrants(Output.of(longviewGrants));
        }

        /**
         * @param longviewGrants The longview the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder longviewGrants(UserLongviewGrantArgs... longviewGrants) {
            return longviewGrants(List.of(longviewGrants));
        }

        /**
         * @param nodebalancerGrants The NodeBalancers the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder nodebalancerGrants(@Nullable Output> nodebalancerGrants) {
            $.nodebalancerGrants = nodebalancerGrants;
            return this;
        }

        /**
         * @param nodebalancerGrants The NodeBalancers the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder nodebalancerGrants(List nodebalancerGrants) {
            return nodebalancerGrants(Output.of(nodebalancerGrants));
        }

        /**
         * @param nodebalancerGrants The NodeBalancers the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder nodebalancerGrants(UserNodebalancerGrantArgs... nodebalancerGrants) {
            return nodebalancerGrants(List.of(nodebalancerGrants));
        }

        /**
         * @param restricted If true, this user will only have explicit permissions granted.
         * 
         * * `global_grants` - (optional) A structure containing the Account-level grants a User has.
         * 
         * The following arguments are sets of entity grants:
         * 
         * @return builder
         * 
         */
        public Builder restricted(@Nullable Output restricted) {
            $.restricted = restricted;
            return this;
        }

        /**
         * @param restricted If true, this user will only have explicit permissions granted.
         * 
         * * `global_grants` - (optional) A structure containing the Account-level grants a User has.
         * 
         * The following arguments are sets of entity grants:
         * 
         * @return builder
         * 
         */
        public Builder restricted(Boolean restricted) {
            return restricted(Output.of(restricted));
        }

        /**
         * @param sshKeys A list of the User's SSH keys.
         * 
         * @return builder
         * 
         */
        public Builder sshKeys(@Nullable Output> sshKeys) {
            $.sshKeys = sshKeys;
            return this;
        }

        /**
         * @param sshKeys A list of the User's SSH keys.
         * 
         * @return builder
         * 
         */
        public Builder sshKeys(List sshKeys) {
            return sshKeys(Output.of(sshKeys));
        }

        /**
         * @param sshKeys A list of the User's SSH keys.
         * 
         * @return builder
         * 
         */
        public Builder sshKeys(String... sshKeys) {
            return sshKeys(List.of(sshKeys));
        }

        /**
         * @param stackscriptGrants The StackScripts the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder stackscriptGrants(@Nullable Output> stackscriptGrants) {
            $.stackscriptGrants = stackscriptGrants;
            return this;
        }

        /**
         * @param stackscriptGrants The StackScripts the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder stackscriptGrants(List stackscriptGrants) {
            return stackscriptGrants(Output.of(stackscriptGrants));
        }

        /**
         * @param stackscriptGrants The StackScripts the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder stackscriptGrants(UserStackscriptGrantArgs... stackscriptGrants) {
            return stackscriptGrants(List.of(stackscriptGrants));
        }

        /**
         * @param tfaEnabled Whether the user has two-factor-authentication enabled.
         * 
         * @return builder
         * 
         */
        public Builder tfaEnabled(@Nullable Output tfaEnabled) {
            $.tfaEnabled = tfaEnabled;
            return this;
        }

        /**
         * @param tfaEnabled Whether the user has two-factor-authentication enabled.
         * 
         * @return builder
         * 
         */
        public Builder tfaEnabled(Boolean tfaEnabled) {
            return tfaEnabled(Output.of(tfaEnabled));
        }

        /**
         * @param userType The type of this user.
         * 
         * @return builder
         * 
         */
        public Builder userType(@Nullable Output userType) {
            $.userType = userType;
            return this;
        }

        /**
         * @param userType The type of this user.
         * 
         * @return builder
         * 
         */
        public Builder userType(String userType) {
            return userType(Output.of(userType));
        }

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

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

        /**
         * @param volumeGrants The volumes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder volumeGrants(@Nullable Output> volumeGrants) {
            $.volumeGrants = volumeGrants;
            return this;
        }

        /**
         * @param volumeGrants The volumes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder volumeGrants(List volumeGrants) {
            return volumeGrants(Output.of(volumeGrants));
        }

        /**
         * @param volumeGrants The volumes the user has permissions access to.
         * 
         * @return builder
         * 
         */
        public Builder volumeGrants(UserVolumeGrantArgs... volumeGrants) {
            return volumeGrants(List.of(volumeGrants));
        }

        public UserState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy