# Auto-generated by DjangoCFG - see CLAUDE.md

from enum import Enum


class StrEnum(str, Enum):
    """String Enum for Python 3.10+ compatibility."""


class ApiKeyKeyType(StrEnum):
    """
    * `production` - Production
    * `staging` - Staging
    * `development` - Development
    """

    PRODUCTION = "production"
    STAGING = "staging"
    DEVELOPMENT = "development"



class CommandCommandType(StrEnum):
    """
    Type of command
    * `start` - Start
    * `stop` - Stop
    * `restart` - Restart
    * `pause` - Pause
    * `resume` - Resume
    * `run` - Run (Trigger parser)
    * `update_config` - Update Config
    * `custom` - Custom
    """

    START = "start"
    STOP = "stop"
    RESTART = "restart"
    PAUSE = "pause"
    RESUME = "resume"
    RUN = "run"
    UPDATE_CONFIG = "update_config"
    CUSTOM = "custom"



class CommandStatus(StrEnum):
    """
    Command status
    * `pending` - Pending
    * `acknowledged` - Acknowledged
    * `executing` - Executing
    * `completed` - Completed
    * `failed` - Failed
    * `expired` - Expired
    * `cancelled` - Cancelled
    """

    PENDING = "pending"
    ACKNOWLEDGED = "acknowledged"
    EXECUTING = "executing"
    COMPLETED = "completed"
    FAILED = "failed"
    EXPIRED = "expired"
    CANCELLED = "cancelled"



class CommandAckRequestStatus(StrEnum):
    """
    * `acknowledged` - Acknowledged
    * `executing` - Executing
    * `completed` - Completed
    * `failed` - Failed
    """

    ACKNOWLEDGED = "acknowledged"
    EXECUTING = "executing"
    COMPLETED = "completed"
    FAILED = "failed"



class LogEntryRequestLevel(StrEnum):
    """
    Log level
    * `debug` - Debug
    * `info` - Info
    * `warning` - Warning
    * `error` - Error
    * `critical` - Critical
    """

    DEBUG = "debug"
    INFO = "info"
    WARNING = "warning"
    ERROR = "error"
    CRITICAL = "critical"



class PatchedScheduleCreateRequestActionType(StrEnum):
    """
    Action type to execute
    * `run` - Run (execute parser)
    * `pause` - Pause service
    * `resume` - Resume service
    * `custom` - Custom action
    """

    RUN = "run"
    PAUSE = "pause"
    RESUME = "resume"
    CUSTOM = "custom"



class PatchedServiceDetailRequestConnectionType(StrEnum):
    """
    How to control this service (local, cloud, ssh, or none)
    * `none` - No control (monitoring only)
    * `grpc` - gRPC SDK (recommended)
    * `local` - Local CMDOP agent (deprecated)
    * `cloud` - Cloud CMDOP (deprecated)
    """

    NONE = "none"
    GRPC = "grpc"
    LOCAL = "local"
    CLOUD = "cloud"



class ProcessJobJobType(StrEnum):
    """
    Type of operation
    * `start` - Start Service
    * `stop` - Stop Service
    * `restart` - Restart Service
    * `health_check` - Health Check
    """

    START = "start"
    STOP = "stop"
    RESTART = "restart"
    HEALTH_CHECK = "health_check"



class ProcessJobStatus(StrEnum):
    """
    Current job status
    * `pending` - Pending
    * `running` - Running
    * `completed` - Completed
    * `failed` - Failed
    * `cancelled` - Cancelled
    """

    PENDING = "pending"
    RUNNING = "running"
    COMPLETED = "completed"
    FAILED = "failed"
    CANCELLED = "cancelled"



class ScheduleEventEventType(StrEnum):
    """
    * `created` - Schedule created
    * `updated` - Schedule updated
    * `enabled` - Schedule enabled
    * `disabled` - Schedule disabled
    * `deleted` - Schedule deleted
    * `triggered` - Schedule triggered
    * `started` - Execution started
    * `completed` - Execution completed
    * `failed` - Execution failed
    * `timeout` - Execution timeout
    * `skipped` - Execution skipped
    * `missed` - Run missed (SDK offline)
    * `config_pushed` - Config pushed to SDK
    * `config_received` - SDK received config
    * `error` - Error occurred
    * `retry` - Retry attempt
    """

    CREATED = "created"
    UPDATED = "updated"
    ENABLED = "enabled"
    DISABLED = "disabled"
    DELETED = "deleted"
    TRIGGERED = "triggered"
    STARTED = "started"
    COMPLETED = "completed"
    FAILED = "failed"
    TIMEOUT = "timeout"
    SKIPPED = "skipped"
    MISSED = "missed"
    CONFIG_PUSHED = "config_pushed"
    CONFIG_RECEIVED = "config_received"
    ERROR = "error"
    RETRY = "retry"



class ScheduleRunStatus(StrEnum):
    """
    * `pending` - Pending
    * `running` - Running
    * `success` - Success
    * `failed` - Failed
    * `skipped` - Skipped
    * `timeout` - Timeout
    * `missed` - Missed (SDK offline)
    """

    PENDING = "pending"
    RUNNING = "running"
    SUCCESS = "success"
    FAILED = "failed"
    SKIPPED = "skipped"
    TIMEOUT = "timeout"
    MISSED = "missed"



class SendCommandRequestCommand(StrEnum):
    """
    Command to send: run (start task), pause, resume, stop (graceful shutdown), start (alias for run), restart (stop + run)
    * `run` - run
    * `pause` - pause
    * `resume` - resume
    * `stop` - stop
    * `start` - start
    * `restart` - restart
    """

    RUN = "run"
    PAUSE = "pause"
    RESUME = "resume"
    STOP = "stop"
    START = "start"
    RESTART = "restart"



class ServiceStatus(StrEnum):
    """
    Current service status
    * `initializing` - Initializing
    * `running` - Running
    * `idle` - Idle (Waiting)
    * `busy` - Busy (Processing)
    * `paused` - Paused
    * `stopping` - Stopping
    * `stopped` - Stopped
    * `error` - Error
    * `offline` - Offline
    * `stale` - Stale (No Heartbeat)
    """

    INITIALIZING = "initializing"
    RUNNING = "running"
    IDLE = "idle"
    BUSY = "busy"
    PAUSED = "paused"
    STOPPING = "stopping"
    STOPPED = "stopped"
    ERROR = "error"
    OFFLINE = "offline"
    STALE = "stale"



class ServiceControlRequestAction(StrEnum):
    """
    Control action to perform
    * `start` - start
    * `stop` - stop
    * `restart` - restart
    * `pause` - pause
    * `resume` - resume
    """

    START = "start"
    STOP = "stop"
    RESTART = "restart"
    PAUSE = "pause"
    RESUME = "resume"



