// Code generated by Microsoft Kiota - DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package models
type SnapshotJobStatus int

const (
    NOTSTARTED_SNAPSHOTJOBSTATUS SnapshotJobStatus = iota
    RUNNING_SNAPSHOTJOBSTATUS
    SUCCEEDED_SNAPSHOTJOBSTATUS
    FAILED_SNAPSHOTJOBSTATUS
    PARTIALLYSUCCESSFUL_SNAPSHOTJOBSTATUS
    // A marker value for members added after the release of this API.
    UNKNOWNFUTUREVALUE_SNAPSHOTJOBSTATUS
)

func (i SnapshotJobStatus) String() string {
    return []string{"notStarted", "running", "succeeded", "failed", "partiallySuccessful", "unknownFutureValue"}[i]
}
func ParseSnapshotJobStatus(v string) (any, error) {
    result := NOTSTARTED_SNAPSHOTJOBSTATUS
    switch v {
        case "notStarted":
            result = NOTSTARTED_SNAPSHOTJOBSTATUS
        case "running":
            result = RUNNING_SNAPSHOTJOBSTATUS
        case "succeeded":
            result = SUCCEEDED_SNAPSHOTJOBSTATUS
        case "failed":
            result = FAILED_SNAPSHOTJOBSTATUS
        case "partiallySuccessful":
            result = PARTIALLYSUCCESSFUL_SNAPSHOTJOBSTATUS
        case "unknownFutureValue":
            result = UNKNOWNFUTUREVALUE_SNAPSHOTJOBSTATUS
        default:
            return nil, nil
    }
    return &result, nil
}
func SerializeSnapshotJobStatus(values []SnapshotJobStatus) []string {
    result := make([]string, len(values))
    for i, v := range values {
        result[i] = v.String()
    }
    return result
}
func (i SnapshotJobStatus) isMultiValue() bool {
    return false
}
