pub enum ErrorData {
Show 43 variants
BindingNotConfigured {
binding_name: String,
env_var: String,
},
BindingConfigInvalid {
binding_name: String,
env_var: String,
reason: String,
},
UnsupportedBindingProvider {
binding_name: String,
env_var: String,
provider: String,
},
StorageOperationFailed {
binding_name: String,
operation: String,
},
BuildOperationFailed {
binding_name: String,
operation: String,
},
EnvironmentVariableMissing {
variable_name: String,
},
InvalidEnvironmentVariable {
variable_name: String,
value: String,
reason: String,
},
InvalidConfigurationUrl {
url: String,
reason: String,
},
EventProcessingFailed {
event_type: String,
reason: String,
},
GrpcConnectionFailed {
endpoint: String,
reason: String,
},
GrpcServiceUnavailable {
service: String,
endpoint: String,
reason: String,
},
GrpcRequestFailed {
service: String,
method: String,
details: String,
},
ServerBindFailed {
address: String,
reason: String,
},
AuthenticationFailed {
provider: String,
binding_name: String,
reason: String,
},
OperationNotSupported {
operation: String,
reason: String,
},
FeatureNotEnabled {
feature: String,
},
GrpcCallFailed {
service: String,
method: String,
reason: String,
},
DeserializationFailed {
message: String,
type_name: String,
},
SerializationFailed {
message: String,
},
UnexpectedResponseFormat {
provider: String,
binding_name: String,
field: String,
response_json: String,
},
CloudPlatformError {
message: String,
resource_id: Option<String>,
},
PostgresSecretResolutionFailed {
binding_name: String,
secret: String,
reason: String,
},
PostgresSecretValueInvalid {
binding_name: String,
secret: String,
reason: String,
},
ResourceNotFound {
resource_id: String,
},
RemoteResourceNotFound {
operation_context: String,
resource_type: String,
resource_name: String,
},
RemoteResourceConflict {
operation_context: String,
resource_type: String,
resource_name: String,
conflict_reason: String,
},
RemoteAccessDenied {
operation_context: String,
resource_type: String,
resource_name: String,
},
RateLimitExceeded {
operation_context: String,
details: String,
},
Timeout {
operation_context: String,
details: String,
},
RemoteServiceUnavailable {
operation_context: String,
details: String,
},
QuotaExceeded {
operation_context: String,
details: String,
},
InvalidInput {
operation_context: String,
details: String,
field_name: Option<String>,
},
AuthenticationError {
operation_context: String,
details: String,
},
Other {
message: String,
},
PresignedRequestExpired {
path: String,
expired_at: DateTime<Utc>,
},
HttpRequestFailed {
url: String,
method: String,
},
LocalFilesystemError {
path: String,
operation: String,
},
ClientConfigLoadFailed {
provider: String,
},
BindingSetupFailed {
binding_type: String,
reason: String,
},
KvOperationFailed {
operation: String,
key: String,
reason: String,
},
QueueOperationFailed {
operation: String,
reason: String,
},
RemoteAccessFailed {
operation: String,
},
ClientConfigInvalid {
platform: Platform,
message: String,
},
}Expand description
Errors related to alien-bindings operations.
Variants§
BindingNotConfigured
No binding configuration was found for the requested binding name (the
ALIEN_<NAME>_BINDING environment variable was not set).
Fields
BindingConfigInvalid
Binding provider configuration is invalid or missing.
Fields
UnsupportedBindingProvider
Binding configuration named a provider that this build does not support.
Fields
StorageOperationFailed
Storage operation failed due to provider issues.
Fields
BuildOperationFailed
Build operation failed due to provider issues.
Fields
EnvironmentVariableMissing
Required environment variable is missing or invalid.
InvalidEnvironmentVariable
Environment variable has an invalid value.
Fields
InvalidConfigurationUrl
Configuration URL is malformed or invalid.
EventProcessingFailed
Event processing failed due to malformed or unsupported data.
Fields
GrpcConnectionFailed
gRPC connection failed or became unavailable.
Fields
gRPC service unavailable or returned error.
GrpcRequestFailed
gRPC request failed with an error status.
Fields
ServerBindFailed
Server failed to bind to the specified address.
AuthenticationFailed
Authentication failed for the configured provider.
Fields
OperationNotSupported
Operation not supported by the configured provider.
Fields
FeatureNotEnabled
Feature is not enabled in the compiled binary.
GrpcCallFailed
gRPC call failed.
Fields
DeserializationFailed
Deserialization of data failed.
Fields
SerializationFailed
Serialization of data failed.
UnexpectedResponseFormat
Response format from provider API is unexpected or missing required fields.
Fields
CloudPlatformError
Cloud platform API error.
Fields
PostgresSecretResolutionFailed
Reading a cloud Postgres binding’s password from its secret store failed.
The retry and visibility metadata comes from the provider error being wrapped: throttling remains retryable, while permanent provider failures do not become retryable merely because they happened during secret resolution.
secret is the locator, never the secret value.
Fields
PostgresSecretValueInvalid
A cloud Postgres secret was read, but did not contain a usable password.
Provider responses with missing, empty, or malformed values cannot become valid
by retrying the same version. secret is the locator, never the secret value.
Fields
ResourceNotFound
Resource not found in the cloud platform.
RemoteResourceNotFound
The requested remote resource does not exist.
Fields
RemoteResourceConflict
Operation conflicts with current remote resource state.
Fields
RemoteAccessDenied
Access denied due to insufficient permissions.
Fields
RateLimitExceeded
Request rate limit exceeded.
Fields
Timeout
Operation exceeded the allowed timeout.
Fields
Remote service is temporarily unavailable.
QuotaExceeded
Quota or resource limits have been exceeded.
Fields
InvalidInput
Invalid or malformed input parameters provided to the operation.
Fields
AuthenticationError
Authentication with cloud provider failed.
Fields
Other
Generic bindings error for uncommon cases.
PresignedRequestExpired
Presigned request has expired and can no longer be used.
Fields
HttpRequestFailed
HTTP request to external service failed.
LocalFilesystemError
Local filesystem operation failed.
ClientConfigLoadFailed
Failed to load platform configuration for the provider.
BindingSetupFailed
Binding setup failed during initialization.
KvOperationFailed
KV operation failed.
Fields
QueueOperationFailed
Queue operation failed.
Fields
RemoteAccessFailed
Remote access to deployment resources failed.
ClientConfigInvalid
Client configuration is invalid or missing for the platform.
Implementations§
Source§impl ErrorData
impl ErrorData
Sourcepub fn config_invalid(
binding_name: &str,
reason: impl Into<String>,
) -> ErrorData
pub fn config_invalid( binding_name: &str, reason: impl Into<String>, ) -> ErrorData
Construct a ErrorData::BindingConfigInvalid for binding_name,
deriving the exact ALIEN_<NAME>_BINDING env var name internally so call
sites cannot forget it (the omission that repeatedly broke bindings).
Sourcepub fn not_configured(binding_name: &str) -> ErrorData
pub fn not_configured(binding_name: &str) -> ErrorData
Construct a ErrorData::BindingNotConfigured for binding_name,
deriving the exact ALIEN_<NAME>_BINDING env var name internally.
Trait Implementations§
Source§impl AlienErrorData for ErrorData
impl AlienErrorData for ErrorData
Source§fn http_status_code(&self) -> u16
fn http_status_code(&self) -> u16
Source§fn retryable_inherit(&self) -> Option<bool>
fn retryable_inherit(&self) -> Option<bool>
Source§fn internal_inherit(&self) -> Option<bool>
fn internal_inherit(&self) -> Option<bool>
Source§fn http_status_code_inherit(&self) -> Option<u16>
fn http_status_code_inherit(&self) -> Option<u16>
Source§fn human_layer_presentation(&self) -> HumanLayerPresentation
fn human_layer_presentation(&self) -> HumanLayerPresentation
Source§impl<'de> Deserialize<'de> for ErrorData
impl<'de> Deserialize<'de> for ErrorData
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ErrorData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ErrorData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for ErrorData
impl Serialize for ErrorData
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ErrorData
impl RefUnwindSafe for ErrorData
impl Send for ErrorData
impl Sync for ErrorData
impl Unpin for ErrorData
impl UnsafeUnpin for ErrorData
impl UnwindSafe for ErrorData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more