/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.management.recoveryservices.backup.v2017_07_01;

import java.util.Collection;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.microsoft.rest.ExpandableStringEnum;

/**
 * Defines values for ProtectedItemHealthStatus.
 */
public final class ProtectedItemHealthStatus extends ExpandableStringEnum<ProtectedItemHealthStatus> {
    /** Static value Invalid for ProtectedItemHealthStatus. */
    public static final ProtectedItemHealthStatus INVALID = fromString("Invalid");

    /** Static value Healthy for ProtectedItemHealthStatus. */
    public static final ProtectedItemHealthStatus HEALTHY = fromString("Healthy");

    /** Static value Unhealthy for ProtectedItemHealthStatus. */
    public static final ProtectedItemHealthStatus UNHEALTHY = fromString("Unhealthy");

    /** Static value NotReachable for ProtectedItemHealthStatus. */
    public static final ProtectedItemHealthStatus NOT_REACHABLE = fromString("NotReachable");

    /** Static value IRPending for ProtectedItemHealthStatus. */
    public static final ProtectedItemHealthStatus IRPENDING = fromString("IRPending");

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

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