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

com.pulumi.aws.workspaces.inputs.WorkspaceState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.72.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.aws.workspaces.inputs;

import com.pulumi.aws.workspaces.inputs.WorkspaceWorkspacePropertiesArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final WorkspaceState Empty = new WorkspaceState();

    /**
     * The ID of the bundle for the WorkSpace.
     * 
     */
    @Import(name="bundleId")
    private @Nullable Output bundleId;

    /**
     * @return The ID of the bundle for the WorkSpace.
     * 
     */
    public Optional> bundleId() {
        return Optional.ofNullable(this.bundleId);
    }

    /**
     * The name of the WorkSpace, as seen by the operating system.
     * 
     */
    @Import(name="computerName")
    private @Nullable Output computerName;

    /**
     * @return The name of the WorkSpace, as seen by the operating system.
     * 
     */
    public Optional> computerName() {
        return Optional.ofNullable(this.computerName);
    }

    /**
     * The ID of the directory for the WorkSpace.
     * 
     */
    @Import(name="directoryId")
    private @Nullable Output directoryId;

    /**
     * @return The ID of the directory for the WorkSpace.
     * 
     */
    public Optional> directoryId() {
        return Optional.ofNullable(this.directoryId);
    }

    /**
     * The IP address of the WorkSpace.
     * 
     */
    @Import(name="ipAddress")
    private @Nullable Output ipAddress;

    /**
     * @return The IP address of the WorkSpace.
     * 
     */
    public Optional> ipAddress() {
        return Optional.ofNullable(this.ipAddress);
    }

    /**
     * Indicates whether the data stored on the root volume is encrypted.
     * 
     */
    @Import(name="rootVolumeEncryptionEnabled")
    private @Nullable Output rootVolumeEncryptionEnabled;

    /**
     * @return Indicates whether the data stored on the root volume is encrypted.
     * 
     */
    public Optional> rootVolumeEncryptionEnabled() {
        return Optional.ofNullable(this.rootVolumeEncryptionEnabled);
    }

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

    /**
     * @return The operational state of the WorkSpace.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * The tags for the WorkSpace. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The tags for the WorkSpace. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
     * 
     */
    @Import(name="userName")
    private @Nullable Output userName;

    /**
     * @return The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
     * 
     */
    public Optional> userName() {
        return Optional.ofNullable(this.userName);
    }

    /**
     * Indicates whether the data stored on the user volume is encrypted.
     * 
     */
    @Import(name="userVolumeEncryptionEnabled")
    private @Nullable Output userVolumeEncryptionEnabled;

    /**
     * @return Indicates whether the data stored on the user volume is encrypted.
     * 
     */
    public Optional> userVolumeEncryptionEnabled() {
        return Optional.ofNullable(this.userVolumeEncryptionEnabled);
    }

    /**
     * The ARN of a symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
     * 
     */
    @Import(name="volumeEncryptionKey")
    private @Nullable Output volumeEncryptionKey;

    /**
     * @return The ARN of a symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
     * 
     */
    public Optional> volumeEncryptionKey() {
        return Optional.ofNullable(this.volumeEncryptionKey);
    }

    /**
     * The WorkSpace properties.
     * 
     */
    @Import(name="workspaceProperties")
    private @Nullable Output workspaceProperties;

    /**
     * @return The WorkSpace properties.
     * 
     */
    public Optional> workspaceProperties() {
        return Optional.ofNullable(this.workspaceProperties);
    }

    private WorkspaceState() {}

    private WorkspaceState(WorkspaceState $) {
        this.bundleId = $.bundleId;
        this.computerName = $.computerName;
        this.directoryId = $.directoryId;
        this.ipAddress = $.ipAddress;
        this.rootVolumeEncryptionEnabled = $.rootVolumeEncryptionEnabled;
        this.state = $.state;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.userName = $.userName;
        this.userVolumeEncryptionEnabled = $.userVolumeEncryptionEnabled;
        this.volumeEncryptionKey = $.volumeEncryptionKey;
        this.workspaceProperties = $.workspaceProperties;
    }

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

    public static final class Builder {
        private WorkspaceState $;

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

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

        /**
         * @param bundleId The ID of the bundle for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder bundleId(@Nullable Output bundleId) {
            $.bundleId = bundleId;
            return this;
        }

        /**
         * @param bundleId The ID of the bundle for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder bundleId(String bundleId) {
            return bundleId(Output.of(bundleId));
        }

        /**
         * @param computerName The name of the WorkSpace, as seen by the operating system.
         * 
         * @return builder
         * 
         */
        public Builder computerName(@Nullable Output computerName) {
            $.computerName = computerName;
            return this;
        }

        /**
         * @param computerName The name of the WorkSpace, as seen by the operating system.
         * 
         * @return builder
         * 
         */
        public Builder computerName(String computerName) {
            return computerName(Output.of(computerName));
        }

        /**
         * @param directoryId The ID of the directory for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder directoryId(@Nullable Output directoryId) {
            $.directoryId = directoryId;
            return this;
        }

        /**
         * @param directoryId The ID of the directory for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder directoryId(String directoryId) {
            return directoryId(Output.of(directoryId));
        }

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

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

        /**
         * @param rootVolumeEncryptionEnabled Indicates whether the data stored on the root volume is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder rootVolumeEncryptionEnabled(@Nullable Output rootVolumeEncryptionEnabled) {
            $.rootVolumeEncryptionEnabled = rootVolumeEncryptionEnabled;
            return this;
        }

        /**
         * @param rootVolumeEncryptionEnabled Indicates whether the data stored on the root volume is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder rootVolumeEncryptionEnabled(Boolean rootVolumeEncryptionEnabled) {
            return rootVolumeEncryptionEnabled(Output.of(rootVolumeEncryptionEnabled));
        }

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

        /**
         * @param state The operational state of the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param tags The tags for the WorkSpace. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The tags for the WorkSpace. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param userName The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder userName(@Nullable Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
         * 
         * @return builder
         * 
         */
        public Builder userName(String userName) {
            return userName(Output.of(userName));
        }

        /**
         * @param userVolumeEncryptionEnabled Indicates whether the data stored on the user volume is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder userVolumeEncryptionEnabled(@Nullable Output userVolumeEncryptionEnabled) {
            $.userVolumeEncryptionEnabled = userVolumeEncryptionEnabled;
            return this;
        }

        /**
         * @param userVolumeEncryptionEnabled Indicates whether the data stored on the user volume is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder userVolumeEncryptionEnabled(Boolean userVolumeEncryptionEnabled) {
            return userVolumeEncryptionEnabled(Output.of(userVolumeEncryptionEnabled));
        }

        /**
         * @param volumeEncryptionKey The ARN of a symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
         * 
         * @return builder
         * 
         */
        public Builder volumeEncryptionKey(@Nullable Output volumeEncryptionKey) {
            $.volumeEncryptionKey = volumeEncryptionKey;
            return this;
        }

        /**
         * @param volumeEncryptionKey The ARN of a symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
         * 
         * @return builder
         * 
         */
        public Builder volumeEncryptionKey(String volumeEncryptionKey) {
            return volumeEncryptionKey(Output.of(volumeEncryptionKey));
        }

        /**
         * @param workspaceProperties The WorkSpace properties.
         * 
         * @return builder
         * 
         */
        public Builder workspaceProperties(@Nullable Output workspaceProperties) {
            $.workspaceProperties = workspaceProperties;
            return this;
        }

        /**
         * @param workspaceProperties The WorkSpace properties.
         * 
         * @return builder
         * 
         */
        public Builder workspaceProperties(WorkspaceWorkspacePropertiesArgs workspaceProperties) {
            return workspaceProperties(Output.of(workspaceProperties));
        }

        public WorkspaceState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy