Source code for feldera.enums

from enum import Enum
from typing import Optional


[docs] class CompilationProfile(Enum): """ The compilation profile to use when compiling the program. """ SERVER_DEFAULT = None """ The compiler server default compilation profile. """ DEV = "dev" """ The development compilation profile. """ UNOPTIMIZED = "unoptimized" """ The unoptimized compilation profile. """ OPTIMIZED = "optimized" """ The optimized compilation profile, the default for this API. """
[docs] class BuildMode(Enum): CREATE = 1 GET = 2 GET_OR_CREATE = 3
[docs] class DeploymentDesiredStatus(Enum): """ Deployment desired status of the pipeline. """ STOPPED = 0 UNAVAILABLE = 1 STANDBY = 2 PAUSED = 3 RUNNING = 4 SUSPENDED = 5
[docs] @staticmethod def from_str(value): for member in DeploymentDesiredStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {DeploymentDesiredStatus.__name__}" )
[docs] class DeploymentResourcesDesiredStatus(Enum): """ The desired status of deployment resources of the pipeline. """ STOPPED = 0 PROVISIONED = 1
[docs] @staticmethod def from_str(value): for member in DeploymentResourcesDesiredStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {DeploymentResourcesDesiredStatus.__name__}" )
[docs] class DeploymentResourcesStatus(Enum): """ The desired status of deployment resources of the pipeline. """ STOPPED = 0 PROVISIONING = 1 PROVISIONED = 2 STOPPING = 3
[docs] @staticmethod def from_str(value): for member in DeploymentResourcesStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {DeploymentResourcesStatus.__name__}" )
[docs] class DeploymentRuntimeDesiredStatus(Enum): """ Deployment runtime desired status of the pipeline. """ UNAVAILABLE = 0 STANDBY = 1 PAUSED = 2 RUNNING = 3 SUSPENDED = 4
[docs] @staticmethod def from_str(value): for member in DeploymentRuntimeDesiredStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {DeploymentRuntimeDesiredStatus.__name__}" )
[docs] class DeploymentRuntimeStatus(Enum): """ Deployment runtime status of the pipeline. """ UNAVAILABLE = 0 STANDBY = 1 AWAITINGAPPROVAL = 2 INITIALIZING = 3 BOOTSTRAPPING = 4 REPLAYING = 5 PAUSED = 6 RUNNING = 7 SUSPENDED = 8
[docs] @staticmethod def from_str(value): for member in DeploymentRuntimeStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {DeploymentRuntimeStatus.__name__}" )
[docs] class PipelineStatus(Enum): """ Represents the state that this pipeline is currently in. """ NOT_FOUND = 0 STOPPED = 1 PROVISIONING = 2 UNAVAILABLE = 3 STANDBY = 4 AWAITINGAPPROVAL = 5 INITIALIZING = 6 BOOTSTRAPPING = 7 REPLAYING = 8 PAUSED = 9 RUNNING = 10 SUSPENDED = 11 STOPPING = 12
[docs] @staticmethod def from_str(value): for member in PipelineStatus: if member.name.lower() == value.lower(): return member raise ValueError(f"Unknown value '{value}' for enum {PipelineStatus.__name__}")
def __eq__(self, other): return self.value == other.value
[docs] class TransactionStatus(Enum): """ Represents the transaction handling status of a pipeline. """ NoTransaction = 1 """There is currently no active transaction.""" TransactionInProgress = 2 """There is an active transaction in progress.""" CommitInProgress = 3 """A commit is currently in progress."""
[docs] @staticmethod def from_str(value): for member in TransactionStatus: if member.name.lower() == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {TransactionStatus.__name__}" )
def __eq__(self, other): return self.value == other.value
[docs] class ProgramStatus(Enum): Pending = 1 CompilingSql = 2 SqlCompiled = 3 CompilingRust = 4 Success = 5 SqlError = 6 RustError = 7 SystemError = 8 def __init__(self, value): self.error: Optional[dict] = None self._value_ = value
[docs] @staticmethod def from_value(value): error = None if isinstance(value, dict): error = value value = list(value.keys())[0] for member in ProgramStatus: if member.name.lower() == value.lower(): member.error = error return member raise ValueError(f"Unknown value '{value}' for enum {ProgramStatus.__name__}")
def __eq__(self, other): return self.value == other.value def __str__(self): return self.name + (f": ({self.error})" if self.error else "")
[docs] def get_error(self) -> Optional[dict]: """ Returns the compilation error, if any. """ return self.error
[docs] class CheckpointStatus(Enum): Success = 1 Failure = 2 InProgress = 3 Unknown = 4 def __init__(self, value): self.error: Optional[str] = None self._value_ = value def __eq__(self, other): return self.value == other.value
[docs] def get_error(self) -> Optional[str]: """ Returns the error, if any. """ return self.error
[docs] class StorageStatus(Enum): """ Represents the current storage usage status of the pipeline. """ CLEARED = 0 """ The pipeline has not been started before, or the user has cleared storage. In this state, the pipeline has no storage resources bound to it. """ INUSE = 1 """ The pipeline was (attempted to be) started before, transitioning from `STOPPED` to `PROVISIONING`, which caused the storage status to become `INUSE`. Being in the `INUSE` state restricts certain edits while the pipeline is `STOPPED`. The pipeline remains in this state until the user invokes `/clear`, transitioning it to `CLEARING`. """ CLEARING = 2 """ The pipeline is in the process of becoming unbound from its storage resources. If storage resources are configured to be deleted upon clearing, their deletion occurs before transitioning to `CLEARED`. Otherwise, no actual work is required, and the transition happens immediately. If storage is not deleted during clearing, the responsibility to manage or delete those resources lies with the user. """
[docs] @staticmethod def from_str(value): for member in StorageStatus: if member.name.lower() == value.lower(): return member raise ValueError(f"Unknown value '{value}' for enum {StorageStatus.__name__}")
def __eq__(self, other): return self.value == other.value
[docs] class FaultToleranceModel(Enum): """ The fault tolerance model. """ AtLeastOnce = 1 """ Each record is output at least once. Crashes may duplicate output, but no input or output is dropped. """ ExactlyOnce = 2 """ Each record is output exactly once. Crashes do not drop or duplicate input or output. """ def __str__(self) -> str: match self: case FaultToleranceModel.AtLeastOnce: return "at_least_once" case FaultToleranceModel.ExactlyOnce: return "exactly_once"
[docs] @staticmethod def from_str(value): for member in FaultToleranceModel: if str(member) == value.lower(): return member raise ValueError( f"Unknown value '{value}' for enum {FaultToleranceModel.__name__}" )
[docs] class PipelineFieldSelector(Enum): ALL = "all" """Select all fields of a pipeline.""" STATUS = "status" """Select only the fields required to know the status of a pipeline."""
[docs] class BootstrapPolicy(Enum): AWAIT_APPROVAL = "await_approval" ALLOW = "allow" REJECT = "reject"