Skip to content

resource

pyvider.exceptions.resource

TODO: Add module docstring.

Classes

CapabilityError

CapabilityError(
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any
)

Bases: PluginError

Errors related to component capabilities.

Source code in provide/foundation/errors/base.py
def __init__(
    self,
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any,
) -> None:
    self.message = message
    self.code = code or self._default_code()
    self.context = context or {}
    self.context.update(extra_context)
    self.cause = cause
    if cause:
        self.__cause__ = cause
    super().__init__(message)

DataSourceError

DataSourceError(
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any
)

Bases: ResourceError

Errors specific to data source operations.

Source code in provide/foundation/errors/base.py
def __init__(
    self,
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any,
) -> None:
    self.message = message
    self.code = code or self._default_code()
    self.context = context or {}
    self.context.update(extra_context)
    self.cause = cause
    if cause:
        self.__cause__ = cause
    super().__init__(message)

ResourceError

ResourceError(
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any
)

Bases: PluginError

Base class for resource-related errors.

Source code in provide/foundation/errors/base.py
def __init__(
    self,
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any,
) -> None:
    self.message = message
    self.code = code or self._default_code()
    self.context = context or {}
    self.context.update(extra_context)
    self.cause = cause
    if cause:
        self.__cause__ = cause
    super().__init__(message)

ResourceLifecycleContractError

ResourceLifecycleContractError(
    message: str,
    *,
    detail: str | None = None,
    **kwargs: Any
)

Bases: StateError

Raised when the state returned by apply() differs from the planned state. This indicates a bug in the resource implementation where the outcome of an apply operation did not match its proposed plan.

Source code in pyvider/exceptions/resource.py
def __init__(self, message: str, *, detail: str | None = None, **kwargs: Any) -> None:
    self.detail = detail
    if detail:
        kwargs.setdefault("context", {})["lifecycle.detail"] = detail
    super().__init__(message, **kwargs)

ResourceNotFoundError

ResourceNotFoundError(
    message: str,
    *,
    resource_type: str | None = None,
    resource_id: str | None = None,
    **kwargs: Any
)

Bases: NotFoundError

Raised when a resource cannot be found.

Source code in provide/foundation/errors/resources.py
def __init__(
    self,
    message: str,
    *,
    resource_type: str | None = None,
    resource_id: str | None = None,
    **kwargs: Any,
) -> None:
    if resource_type:
        kwargs.setdefault("context", {})["notfound.type"] = resource_type
    if resource_id:
        kwargs.setdefault("context", {})["notfound.id"] = resource_id
    super().__init__(message, **kwargs)

ResourceOperationError

ResourceOperationError(
    message: str,
    *,
    operation: str | None = None,
    retry_possible: bool = False,
    **kwargs: Any
)

Bases: RuntimeError

Raised for errors during resource lifecycle operations (plan, apply, etc.).

Source code in provide/foundation/errors/runtime.py
def __init__(
    self,
    message: str,
    *,
    operation: str | None = None,
    retry_possible: bool = False,
    **kwargs: Any,
) -> None:
    if operation:
        kwargs.setdefault("context", {})["runtime.operation"] = operation
    kwargs.setdefault("context", {})["runtime.retry_possible"] = retry_possible
    super().__init__(message, **kwargs)

ResourceValidationError

ResourceValidationError(
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any
)

Bases: ResourceError, PyviderValueError

Raised when resource configuration or state validation fails.

Source code in provide/foundation/errors/base.py
def __init__(
    self,
    message: str,
    *,
    code: str | None = None,
    context: dict[str, Any] | None = None,
    cause: Exception | None = None,
    **extra_context: Any,
) -> None:
    self.message = message
    self.code = code or self._default_code()
    self.context = context or {}
    self.context.update(extra_context)
    self.cause = cause
    if cause:
        self.__cause__ = cause
    super().__init__(message)