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

com.pulumi.azurenative.importexport.inputs.DriveStatusArgs Maven / Gradle / Ivy

// *** 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.azurenative.importexport.inputs;

import com.pulumi.azurenative.importexport.enums.DriveState;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Provides information about the drive's status
 * 
 */
public final class DriveStatusArgs extends com.pulumi.resources.ResourceArgs {

    public static final DriveStatusArgs Empty = new DriveStatusArgs();

    /**
     * The BitLocker key used to encrypt the drive.
     * 
     */
    @Import(name="bitLockerKey")
    private @Nullable Output bitLockerKey;

    /**
     * @return The BitLocker key used to encrypt the drive.
     * 
     */
    public Optional> bitLockerKey() {
        return Optional.ofNullable(this.bitLockerKey);
    }

    /**
     * Bytes successfully transferred for the drive.
     * 
     */
    @Import(name="bytesSucceeded")
    private @Nullable Output bytesSucceeded;

    /**
     * @return Bytes successfully transferred for the drive.
     * 
     */
    public Optional> bytesSucceeded() {
        return Optional.ofNullable(this.bytesSucceeded);
    }

    /**
     * Detailed status about the data transfer process. This field is not returned in the response until the drive is in the Transferring state.
     * 
     */
    @Import(name="copyStatus")
    private @Nullable Output copyStatus;

    /**
     * @return Detailed status about the data transfer process. This field is not returned in the response until the drive is in the Transferring state.
     * 
     */
    public Optional> copyStatus() {
        return Optional.ofNullable(this.copyStatus);
    }

    /**
     * The drive header hash value.
     * 
     */
    @Import(name="driveHeaderHash")
    private @Nullable Output driveHeaderHash;

    /**
     * @return The drive header hash value.
     * 
     */
    public Optional> driveHeaderHash() {
        return Optional.ofNullable(this.driveHeaderHash);
    }

    /**
     * The drive's hardware serial number, without spaces.
     * 
     */
    @Import(name="driveId")
    private @Nullable Output driveId;

    /**
     * @return The drive's hardware serial number, without spaces.
     * 
     */
    public Optional> driveId() {
        return Optional.ofNullable(this.driveId);
    }

    /**
     * A URI that points to the blob containing the error log for the data transfer operation.
     * 
     */
    @Import(name="errorLogUri")
    private @Nullable Output errorLogUri;

    /**
     * @return A URI that points to the blob containing the error log for the data transfer operation.
     * 
     */
    public Optional> errorLogUri() {
        return Optional.ofNullable(this.errorLogUri);
    }

    /**
     * The relative path of the manifest file on the drive.
     * 
     */
    @Import(name="manifestFile")
    private @Nullable Output manifestFile;

    /**
     * @return The relative path of the manifest file on the drive.
     * 
     */
    public Optional> manifestFile() {
        return Optional.ofNullable(this.manifestFile);
    }

    /**
     * The Base16-encoded MD5 hash of the manifest file on the drive.
     * 
     */
    @Import(name="manifestHash")
    private @Nullable Output manifestHash;

    /**
     * @return The Base16-encoded MD5 hash of the manifest file on the drive.
     * 
     */
    public Optional> manifestHash() {
        return Optional.ofNullable(this.manifestHash);
    }

    /**
     * A URI that points to the blob containing the drive manifest file.
     * 
     */
    @Import(name="manifestUri")
    private @Nullable Output manifestUri;

    /**
     * @return A URI that points to the blob containing the drive manifest file.
     * 
     */
    public Optional> manifestUri() {
        return Optional.ofNullable(this.manifestUri);
    }

    /**
     * Percentage completed for the drive.
     * 
     */
    @Import(name="percentComplete")
    private @Nullable Output percentComplete;

    /**
     * @return Percentage completed for the drive.
     * 
     */
    public Optional> percentComplete() {
        return Optional.ofNullable(this.percentComplete);
    }

    /**
     * The drive's current state.
     * 
     */
    @Import(name="state")
    private @Nullable Output> state;

    /**
     * @return The drive's current state.
     * 
     */
    public Optional>> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * A URI that points to the blob containing the verbose log for the data transfer operation.
     * 
     */
    @Import(name="verboseLogUri")
    private @Nullable Output verboseLogUri;

    /**
     * @return A URI that points to the blob containing the verbose log for the data transfer operation.
     * 
     */
    public Optional> verboseLogUri() {
        return Optional.ofNullable(this.verboseLogUri);
    }

    private DriveStatusArgs() {}

    private DriveStatusArgs(DriveStatusArgs $) {
        this.bitLockerKey = $.bitLockerKey;
        this.bytesSucceeded = $.bytesSucceeded;
        this.copyStatus = $.copyStatus;
        this.driveHeaderHash = $.driveHeaderHash;
        this.driveId = $.driveId;
        this.errorLogUri = $.errorLogUri;
        this.manifestFile = $.manifestFile;
        this.manifestHash = $.manifestHash;
        this.manifestUri = $.manifestUri;
        this.percentComplete = $.percentComplete;
        this.state = $.state;
        this.verboseLogUri = $.verboseLogUri;
    }

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

    public static final class Builder {
        private DriveStatusArgs $;

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

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

        /**
         * @param bitLockerKey The BitLocker key used to encrypt the drive.
         * 
         * @return builder
         * 
         */
        public Builder bitLockerKey(@Nullable Output bitLockerKey) {
            $.bitLockerKey = bitLockerKey;
            return this;
        }

        /**
         * @param bitLockerKey The BitLocker key used to encrypt the drive.
         * 
         * @return builder
         * 
         */
        public Builder bitLockerKey(String bitLockerKey) {
            return bitLockerKey(Output.of(bitLockerKey));
        }

        /**
         * @param bytesSucceeded Bytes successfully transferred for the drive.
         * 
         * @return builder
         * 
         */
        public Builder bytesSucceeded(@Nullable Output bytesSucceeded) {
            $.bytesSucceeded = bytesSucceeded;
            return this;
        }

        /**
         * @param bytesSucceeded Bytes successfully transferred for the drive.
         * 
         * @return builder
         * 
         */
        public Builder bytesSucceeded(Double bytesSucceeded) {
            return bytesSucceeded(Output.of(bytesSucceeded));
        }

        /**
         * @param copyStatus Detailed status about the data transfer process. This field is not returned in the response until the drive is in the Transferring state.
         * 
         * @return builder
         * 
         */
        public Builder copyStatus(@Nullable Output copyStatus) {
            $.copyStatus = copyStatus;
            return this;
        }

        /**
         * @param copyStatus Detailed status about the data transfer process. This field is not returned in the response until the drive is in the Transferring state.
         * 
         * @return builder
         * 
         */
        public Builder copyStatus(String copyStatus) {
            return copyStatus(Output.of(copyStatus));
        }

        /**
         * @param driveHeaderHash The drive header hash value.
         * 
         * @return builder
         * 
         */
        public Builder driveHeaderHash(@Nullable Output driveHeaderHash) {
            $.driveHeaderHash = driveHeaderHash;
            return this;
        }

        /**
         * @param driveHeaderHash The drive header hash value.
         * 
         * @return builder
         * 
         */
        public Builder driveHeaderHash(String driveHeaderHash) {
            return driveHeaderHash(Output.of(driveHeaderHash));
        }

        /**
         * @param driveId The drive's hardware serial number, without spaces.
         * 
         * @return builder
         * 
         */
        public Builder driveId(@Nullable Output driveId) {
            $.driveId = driveId;
            return this;
        }

        /**
         * @param driveId The drive's hardware serial number, without spaces.
         * 
         * @return builder
         * 
         */
        public Builder driveId(String driveId) {
            return driveId(Output.of(driveId));
        }

        /**
         * @param errorLogUri A URI that points to the blob containing the error log for the data transfer operation.
         * 
         * @return builder
         * 
         */
        public Builder errorLogUri(@Nullable Output errorLogUri) {
            $.errorLogUri = errorLogUri;
            return this;
        }

        /**
         * @param errorLogUri A URI that points to the blob containing the error log for the data transfer operation.
         * 
         * @return builder
         * 
         */
        public Builder errorLogUri(String errorLogUri) {
            return errorLogUri(Output.of(errorLogUri));
        }

        /**
         * @param manifestFile The relative path of the manifest file on the drive.
         * 
         * @return builder
         * 
         */
        public Builder manifestFile(@Nullable Output manifestFile) {
            $.manifestFile = manifestFile;
            return this;
        }

        /**
         * @param manifestFile The relative path of the manifest file on the drive.
         * 
         * @return builder
         * 
         */
        public Builder manifestFile(String manifestFile) {
            return manifestFile(Output.of(manifestFile));
        }

        /**
         * @param manifestHash The Base16-encoded MD5 hash of the manifest file on the drive.
         * 
         * @return builder
         * 
         */
        public Builder manifestHash(@Nullable Output manifestHash) {
            $.manifestHash = manifestHash;
            return this;
        }

        /**
         * @param manifestHash The Base16-encoded MD5 hash of the manifest file on the drive.
         * 
         * @return builder
         * 
         */
        public Builder manifestHash(String manifestHash) {
            return manifestHash(Output.of(manifestHash));
        }

        /**
         * @param manifestUri A URI that points to the blob containing the drive manifest file.
         * 
         * @return builder
         * 
         */
        public Builder manifestUri(@Nullable Output manifestUri) {
            $.manifestUri = manifestUri;
            return this;
        }

        /**
         * @param manifestUri A URI that points to the blob containing the drive manifest file.
         * 
         * @return builder
         * 
         */
        public Builder manifestUri(String manifestUri) {
            return manifestUri(Output.of(manifestUri));
        }

        /**
         * @param percentComplete Percentage completed for the drive.
         * 
         * @return builder
         * 
         */
        public Builder percentComplete(@Nullable Output percentComplete) {
            $.percentComplete = percentComplete;
            return this;
        }

        /**
         * @param percentComplete Percentage completed for the drive.
         * 
         * @return builder
         * 
         */
        public Builder percentComplete(Double percentComplete) {
            return percentComplete(Output.of(percentComplete));
        }

        /**
         * @param state The drive's current state.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output> state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The drive's current state.
         * 
         * @return builder
         * 
         */
        public Builder state(Either state) {
            return state(Output.of(state));
        }

        /**
         * @param state The drive's current state.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Either.ofLeft(state));
        }

        /**
         * @param state The drive's current state.
         * 
         * @return builder
         * 
         */
        public Builder state(DriveState state) {
            return state(Either.ofRight(state));
        }

        /**
         * @param verboseLogUri A URI that points to the blob containing the verbose log for the data transfer operation.
         * 
         * @return builder
         * 
         */
        public Builder verboseLogUri(@Nullable Output verboseLogUri) {
            $.verboseLogUri = verboseLogUri;
            return this;
        }

        /**
         * @param verboseLogUri A URI that points to the blob containing the verbose log for the data transfer operation.
         * 
         * @return builder
         * 
         */
        public Builder verboseLogUri(String verboseLogUri) {
            return verboseLogUri(Output.of(verboseLogUri));
        }

        public DriveStatusArgs build() {
            $.state = Codegen.stringProp("state").left(DriveState.class).output().arg($.state).def("Specified").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy