Skip to content

nodus.errors

View Markdown

Errors raised by the Nodus SDK.

Every error derives from NodusError. API errors map one-to-one onto the error-code registry (ADR-028): the class is chosen by the metav1.Status reason, so except nodus.errors.InsufficientCredits works the same for the CLI, the SDK and raw HTTP. Client-side failures are APIConnectionError and APITimeoutError; outcome errors are JobFailed, AgentRunFailed, ImageBuildFailed, FunctionCallFailed and RemoteError.

  • APIConnectionError: import with from nodus.errors import APIConnectionError
  • APITimeoutError: import with from nodus.errors import APITimeoutError
  • AdmissionsPaused: import with from nodus.errors import AdmissionsPaused
  • AgentRunFailed: import with from nodus.errors import AgentRunFailed
  • AlreadyExists: import with from nodus.errors import AlreadyExists
  • ArrearsOutstanding: import with from nodus.errors import ArrearsOutstanding
  • BY_STATUS: import with from nodus.errors import BY_STATUS
  • BadRequest: import with from nodus.errors import BadRequest
  • BudgetExceeded: import with from nodus.errors import BudgetExceeded
  • CapacityUnavailable: import with from nodus.errors import CapacityUnavailable
  • Conflict: import with from nodus.errors import Conflict
  • Expired: import with from nodus.errors import Expired
  • FieldImmutable: import with from nodus.errors import FieldImmutable
  • Forbidden: import with from nodus.errors import Forbidden
  • FunctionCallFailed: import with from nodus.errors import FunctionCallFailed
  • IdempotencyKeyReused: import with from nodus.errors import IdempotencyKeyReused
  • ImageBuildFailed: import with from nodus.errors import ImageBuildFailed
  • InsufficientCredits: import with from nodus.errors import InsufficientCredits
  • Invalid: import with from nodus.errors import Invalid
  • JobFailed: import with from nodus.errors import JobFailed
  • NodusError: import with from nodus.errors import NodusError
  • NotFound: import with from nodus.errors import NotFound
  • PaymentDisputed: import with from nodus.errors import PaymentDisputed
  • PaymentMethodRequired: import with from nodus.errors import PaymentMethodRequired
  • PaymentVerificationUnavailable: import with from nodus.errors import PaymentVerificationUnavailable
  • PreconditionFailed: import with from nodus.errors import PreconditionFailed
  • QuotaExceeded: import with from nodus.errors import QuotaExceeded
  • REGISTRY: import with from nodus.errors import REGISTRY
  • RemoteError: import with from nodus.errors import RemoteError
  • RequestInProgress: import with from nodus.errors import RequestInProgress
  • SandboxStarting: import with from nodus.errors import SandboxStarting
  • StdinBackpressure: import with from nodus.errors import StdinBackpressure
  • TooManyRequests: import with from nodus.errors import TooManyRequests
  • Unauthorized: import with from nodus.errors import Unauthorized
  • Unavailable: import with from nodus.errors import Unavailable
  • Unsupported: import with from nodus.errors import Unsupported
  • UnsupportedMediaType: import with from nodus.errors import UnsupportedMediaType
  • VolumeBusy: import with from nodus.errors import VolumeBusy
from_status(http_status: int, body: Any, *, request_id: str | None = None, retry_after: float | None = None, idempotency_key: str | None = None) -> NodusError

Build the registry error for an HTTP error response whose body is a metav1.Status (or anything else).