#[non_exhaustive]pub enum ReceiveMessageError {
Show 14 variants
InvalidAddress(InvalidAddress),
InvalidSecurity(InvalidSecurity),
KmsAccessDenied(KmsAccessDenied),
KmsDisabled(KmsDisabled),
KmsInvalidKeyUsage(KmsInvalidKeyUsage),
KmsInvalidState(KmsInvalidState),
KmsNotFound(KmsNotFound),
KmsOptInRequired(KmsOptInRequired),
KmsThrottled(KmsThrottled),
OverLimit(OverLimit),
QueueDoesNotExist(QueueDoesNotExist),
RequestThrottled(RequestThrottled),
UnsupportedOperation(UnsupportedOperation),
Unhandled(Unhandled),
}
Expand description
Error type for the ReceiveMessageError
operation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidAddress(InvalidAddress)
The accountId
is invalid.
InvalidSecurity(InvalidSecurity)
When the request to a queue is not HTTPS and SigV4.
KmsAccessDenied(KmsAccessDenied)
The caller doesn't have the required KMS access.
KmsDisabled(KmsDisabled)
The request was denied due to request throttling.
KmsInvalidKeyUsage(KmsInvalidKeyUsage)
The request was rejected for one of the following reasons:
-
The KeyUsage value of the KMS key is incompatible with the API operation.
-
The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (KeySpec).
KmsInvalidState(KmsInvalidState)
The request was rejected because the state of the specified resource is not valid for this request.
KmsNotFound(KmsNotFound)
The request was rejected because the specified entity or resource could not be found.
KmsOptInRequired(KmsOptInRequired)
The request was rejected because the specified key policy isn't syntactically or semantically correct.
KmsThrottled(KmsThrottled)
Amazon Web Services KMS throttles requests for the following conditions.
OverLimit(OverLimit)
The specified action violates a limit. For example, ReceiveMessage
returns this error if the maximum number of in flight messages is reached and AddPermission
returns this error if the maximum number of permissions for the queue is reached.
QueueDoesNotExist(QueueDoesNotExist)
The specified queue doesn't exist.
RequestThrottled(RequestThrottled)
The request was denied due to request throttling.
-
The rate of requests per second exceeds the Amazon Web Services KMS request quota for an account and Region.
-
A burst or sustained high rate of requests to change the state of the same KMS key. This condition is often known as a "hot key."
-
Requests for operations on KMS keys in a Amazon Web Services CloudHSM key store might be throttled at a lower-than-expected rate when the Amazon Web Services CloudHSM cluster associated with the Amazon Web Services CloudHSM key store is processing numerous commands, including those unrelated to the Amazon Web Services CloudHSM key store.
UnsupportedOperation(UnsupportedOperation)
Error code 400. Unsupported operation.
Unhandled(Unhandled)
Unhandled
directly is not forwards compatible. Instead, match using a variable wildcard pattern and check .code()
:
err if err.code() == Some("SpecificExceptionCode") => { /* handle the error */ }
See ProvideErrorMetadata
for what information is available for the error.An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
Implementations§
source§impl ReceiveMessageError
impl ReceiveMessageError
sourcepub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
pub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
Creates the ReceiveMessageError::Unhandled
variant from any error type.
sourcepub fn generic(err: ErrorMetadata) -> Self
pub fn generic(err: ErrorMetadata) -> Self
Creates the ReceiveMessageError::Unhandled
variant from an ErrorMetadata
.
sourcepub fn meta(&self) -> &ErrorMetadata
pub fn meta(&self) -> &ErrorMetadata
Returns error metadata, which includes the error code, message, request ID, and potentially additional information.
sourcepub fn is_invalid_address(&self) -> bool
pub fn is_invalid_address(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::InvalidAddress
.
sourcepub fn is_invalid_security(&self) -> bool
pub fn is_invalid_security(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::InvalidSecurity
.
sourcepub fn is_kms_access_denied(&self) -> bool
pub fn is_kms_access_denied(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsAccessDenied
.
sourcepub fn is_kms_disabled(&self) -> bool
pub fn is_kms_disabled(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsDisabled
.
sourcepub fn is_kms_invalid_key_usage(&self) -> bool
pub fn is_kms_invalid_key_usage(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsInvalidKeyUsage
.
sourcepub fn is_kms_invalid_state(&self) -> bool
pub fn is_kms_invalid_state(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsInvalidState
.
sourcepub fn is_kms_not_found(&self) -> bool
pub fn is_kms_not_found(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsNotFound
.
sourcepub fn is_kms_opt_in_required(&self) -> bool
pub fn is_kms_opt_in_required(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsOptInRequired
.
sourcepub fn is_kms_throttled(&self) -> bool
pub fn is_kms_throttled(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::KmsThrottled
.
sourcepub fn is_over_limit(&self) -> bool
pub fn is_over_limit(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::OverLimit
.
sourcepub fn is_queue_does_not_exist(&self) -> bool
pub fn is_queue_does_not_exist(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::QueueDoesNotExist
.
sourcepub fn is_request_throttled(&self) -> bool
pub fn is_request_throttled(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::RequestThrottled
.
sourcepub fn is_unsupported_operation(&self) -> bool
pub fn is_unsupported_operation(&self) -> bool
Returns true
if the error kind is ReceiveMessageError::UnsupportedOperation
.
Trait Implementations§
source§impl CreateUnhandledError for ReceiveMessageError
impl CreateUnhandledError for ReceiveMessageError
source§fn create_unhandled_error(
source: Box<dyn Error + Send + Sync + 'static>,
meta: Option<ErrorMetadata>
) -> Self
fn create_unhandled_error( source: Box<dyn Error + Send + Sync + 'static>, meta: Option<ErrorMetadata> ) -> Self
source
and error metadata.source§impl Debug for ReceiveMessageError
impl Debug for ReceiveMessageError
source§impl Display for ReceiveMessageError
impl Display for ReceiveMessageError
source§impl Error for ReceiveMessageError
impl Error for ReceiveMessageError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<ReceiveMessageError> for Error
impl From<ReceiveMessageError> for Error
source§fn from(err: ReceiveMessageError) -> Self
fn from(err: ReceiveMessageError) -> Self
source§impl ProvideErrorMetadata for ReceiveMessageError
impl ProvideErrorMetadata for ReceiveMessageError
source§fn meta(&self) -> &ErrorMetadata
fn meta(&self) -> &ErrorMetadata
source§impl RequestId for ReceiveMessageError
impl RequestId for ReceiveMessageError
source§fn request_id(&self) -> Option<&str>
fn request_id(&self) -> Option<&str>
None
if the service could not be reached.Auto Trait Implementations§
impl Freeze for ReceiveMessageError
impl !RefUnwindSafe for ReceiveMessageError
impl Send for ReceiveMessageError
impl Sync for ReceiveMessageError
impl Unpin for ReceiveMessageError
impl !UnwindSafe for ReceiveMessageError
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
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