# coding: utf-8

"""
    Mender API

    Combined API specification for the features of the different Mender backend services, suitable for code generation applications 

    The version of the OpenAPI document: 1
    Contact: support@mender.io
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class DeviceStatus(str, Enum):
    """
    DeviceStatus
    """

    """
    allowed enum values
    """
    FAILURE = 'failure'
    ABORTED = 'aborted'
    PAUSE_BEFORE_INSTALLING = 'pause_before_installing'
    PAUSE_BEFORE_COMMITTING = 'pause_before_committing'
    PAUSE_BEFORE_REBOOTING = 'pause_before_rebooting'
    DOWNLOADING = 'downloading'
    INSTALLING = 'installing'
    REBOOTING = 'rebooting'
    PENDING = 'pending'
    SUCCESS = 'success'
    NOARTIFACT = 'noartifact'
    ALREADY_MINUS_INSTALLED = 'already-installed'
    DECOMMISSIONED = 'decommissioned'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of DeviceStatus from a JSON string"""
        return cls(json.loads(json_str))


