Enum aws_sdk_kms::operation::decrypt::DecryptError
source · #[non_exhaustive]pub enum DecryptError {
DependencyTimeoutException(DependencyTimeoutException),
DisabledException(DisabledException),
DryRunOperationException(DryRunOperationException),
IncorrectKeyException(IncorrectKeyException),
InvalidCiphertextException(InvalidCiphertextException),
InvalidGrantTokenException(InvalidGrantTokenException),
InvalidKeyUsageException(InvalidKeyUsageException),
KeyUnavailableException(KeyUnavailableException),
KmsInternalException(KmsInternalException),
KmsInvalidStateException(KmsInvalidStateException),
NotFoundException(NotFoundException),
Unhandled(Unhandled),
}
Expand description
Error type for the DecryptError
operation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DependencyTimeoutException(DependencyTimeoutException)
The system timed out while trying to fulfill the request. You can retry the request.
DisabledException(DisabledException)
The request was rejected because the specified KMS key is not enabled.
DryRunOperationException(DryRunOperationException)
The request was rejected because the DryRun parameter was specified.
IncorrectKeyException(IncorrectKeyException)
The request was rejected because the specified KMS key cannot decrypt the data. The KeyId
in a Decrypt
request and the SourceKeyId
in a ReEncrypt
request must identify the same KMS key that was used to encrypt the ciphertext.
InvalidCiphertextException(InvalidCiphertextException)
From the Decrypt
or ReEncrypt
operation, the request was rejected because the specified ciphertext, or additional authenticated data incorporated into the ciphertext, such as the encryption context, is corrupted, missing, or otherwise invalid.
From the ImportKeyMaterial
operation, the request was rejected because KMS could not decrypt the encrypted (wrapped) key material.
InvalidGrantTokenException(InvalidGrantTokenException)
The request was rejected because the specified grant token is not valid.
InvalidKeyUsageException(InvalidKeyUsageException)
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
).
For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage
must be ENCRYPT_DECRYPT
. For signing and verifying messages, the KeyUsage
must be SIGN_VERIFY
. For generating and verifying message authentication codes (MACs), the KeyUsage
must be GENERATE_VERIFY_MAC
. To find the KeyUsage
of a KMS key, use the DescribeKey
operation.
To find the encryption or signing algorithms supported for a particular KMS key, use the DescribeKey
operation.
The request was rejected because the specified KMS key was not available. You can retry the request.
KmsInternalException(KmsInternalException)
The request was rejected because an internal exception occurred. The request can be retried.
KmsInvalidStateException(KmsInvalidStateException)
The request was rejected because the state of the specified resource is not valid for this request.
This exceptions means one of the following:
-
The key state of the KMS key is not compatible with the operation.
To find the key state, use the
DescribeKey
operation. For more information about which key states are compatible with each KMS operation, see Key states of KMS keys in the Key Management Service Developer Guide . -
For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.
NotFoundException(NotFoundException)
The request was rejected because the specified entity or resource could not be found.
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 DecryptError
impl DecryptError
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 DecryptError::Unhandled
variant from any error type.
sourcepub fn generic(err: ErrorMetadata) -> Self
pub fn generic(err: ErrorMetadata) -> Self
Creates the DecryptError::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_dependency_timeout_exception(&self) -> bool
pub fn is_dependency_timeout_exception(&self) -> bool
Returns true
if the error kind is DecryptError::DependencyTimeoutException
.
sourcepub fn is_disabled_exception(&self) -> bool
pub fn is_disabled_exception(&self) -> bool
Returns true
if the error kind is DecryptError::DisabledException
.
sourcepub fn is_dry_run_operation_exception(&self) -> bool
pub fn is_dry_run_operation_exception(&self) -> bool
Returns true
if the error kind is DecryptError::DryRunOperationException
.
sourcepub fn is_incorrect_key_exception(&self) -> bool
pub fn is_incorrect_key_exception(&self) -> bool
Returns true
if the error kind is DecryptError::IncorrectKeyException
.
sourcepub fn is_invalid_ciphertext_exception(&self) -> bool
pub fn is_invalid_ciphertext_exception(&self) -> bool
Returns true
if the error kind is DecryptError::InvalidCiphertextException
.
sourcepub fn is_invalid_grant_token_exception(&self) -> bool
pub fn is_invalid_grant_token_exception(&self) -> bool
Returns true
if the error kind is DecryptError::InvalidGrantTokenException
.
sourcepub fn is_invalid_key_usage_exception(&self) -> bool
pub fn is_invalid_key_usage_exception(&self) -> bool
Returns true
if the error kind is DecryptError::InvalidKeyUsageException
.
Returns true
if the error kind is DecryptError::KeyUnavailableException
.
sourcepub fn is_kms_internal_exception(&self) -> bool
pub fn is_kms_internal_exception(&self) -> bool
Returns true
if the error kind is DecryptError::KmsInternalException
.
sourcepub fn is_kms_invalid_state_exception(&self) -> bool
pub fn is_kms_invalid_state_exception(&self) -> bool
Returns true
if the error kind is DecryptError::KmsInvalidStateException
.
sourcepub fn is_not_found_exception(&self) -> bool
pub fn is_not_found_exception(&self) -> bool
Returns true
if the error kind is DecryptError::NotFoundException
.
Trait Implementations§
source§impl CreateUnhandledError for DecryptError
impl CreateUnhandledError for DecryptError
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 DecryptError
impl Debug for DecryptError
source§impl Display for DecryptError
impl Display for DecryptError
source§impl Error for DecryptError
impl Error for DecryptError
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<DecryptError> for Error
impl From<DecryptError> for Error
source§fn from(err: DecryptError) -> Self
fn from(err: DecryptError) -> Self
source§impl ProvideErrorKind for DecryptError
impl ProvideErrorKind for DecryptError
source§impl ProvideErrorMetadata for DecryptError
impl ProvideErrorMetadata for DecryptError
source§fn meta(&self) -> &ErrorMetadata
fn meta(&self) -> &ErrorMetadata
source§impl RequestId for DecryptError
impl RequestId for DecryptError
source§fn request_id(&self) -> Option<&str>
fn request_id(&self) -> Option<&str>
None
if the service could not be reached.