// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.databox.models;

import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import java.util.Collection;

/** The Status of the copy. */
public final class CopyStatus extends ExpandableStringEnum<CopyStatus> {
    /** Static value NotStarted for CopyStatus. */
    public static final CopyStatus NOT_STARTED = fromString("NotStarted");

    /** Static value InProgress for CopyStatus. */
    public static final CopyStatus IN_PROGRESS = fromString("InProgress");

    /** Static value Completed for CopyStatus. */
    public static final CopyStatus COMPLETED = fromString("Completed");

    /** Static value CompletedWithErrors for CopyStatus. */
    public static final CopyStatus COMPLETED_WITH_ERRORS = fromString("CompletedWithErrors");

    /** Static value Failed for CopyStatus. */
    public static final CopyStatus FAILED = fromString("Failed");

    /** Static value NotReturned for CopyStatus. */
    public static final CopyStatus NOT_RETURNED = fromString("NotReturned");

    /** Static value HardwareError for CopyStatus. */
    public static final CopyStatus HARDWARE_ERROR = fromString("HardwareError");

    /** Static value DeviceFormatted for CopyStatus. */
    public static final CopyStatus DEVICE_FORMATTED = fromString("DeviceFormatted");

    /** Static value DeviceMetadataModified for CopyStatus. */
    public static final CopyStatus DEVICE_METADATA_MODIFIED = fromString("DeviceMetadataModified");

    /** Static value StorageAccountNotAccessible for CopyStatus. */
    public static final CopyStatus STORAGE_ACCOUNT_NOT_ACCESSIBLE = fromString("StorageAccountNotAccessible");

    /** Static value UnsupportedData for CopyStatus. */
    public static final CopyStatus UNSUPPORTED_DATA = fromString("UnsupportedData");

    /** Static value DriveNotReceived for CopyStatus. */
    public static final CopyStatus DRIVE_NOT_RECEIVED = fromString("DriveNotReceived");

    /** Static value UnsupportedDrive for CopyStatus. */
    public static final CopyStatus UNSUPPORTED_DRIVE = fromString("UnsupportedDrive");

    /** Static value OtherServiceError for CopyStatus. */
    public static final CopyStatus OTHER_SERVICE_ERROR = fromString("OtherServiceError");

    /** Static value OtherUserError for CopyStatus. */
    public static final CopyStatus OTHER_USER_ERROR = fromString("OtherUserError");

    /** Static value DriveNotDetected for CopyStatus. */
    public static final CopyStatus DRIVE_NOT_DETECTED = fromString("DriveNotDetected");

    /** Static value DriveCorrupted for CopyStatus. */
    public static final CopyStatus DRIVE_CORRUPTED = fromString("DriveCorrupted");

    /** Static value MetadataFilesModifiedOrRemoved for CopyStatus. */
    public static final CopyStatus METADATA_FILES_MODIFIED_OR_REMOVED = fromString("MetadataFilesModifiedOrRemoved");

    /**
     * Creates a new instance of CopyStatus value.
     *
     * @deprecated Use the {@link #fromString(String)} factory method.
     */
    @Deprecated
    public CopyStatus() {
    }

    /**
     * Creates or finds a CopyStatus from its string representation.
     *
     * @param name a name to look for.
     * @return the corresponding CopyStatus.
     */
    @JsonCreator
    public static CopyStatus fromString(String name) {
        return fromString(name, CopyStatus.class);
    }

    /**
     * Gets known CopyStatus values.
     *
     * @return known CopyStatus values.
     */
    public static Collection<CopyStatus> values() {
        return values(CopyStatus.class);
    }
}
