Struct aws_sdk_dynamodb::error::ExecuteTransactionError
source · #[non_exhaustive]pub struct ExecuteTransactionError {
pub kind: ExecuteTransactionErrorKind,
/* private fields */
}
Expand description
Error type for the ExecuteTransaction
operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.kind: ExecuteTransactionErrorKind
Kind of error that occurred.
Implementations§
source§impl ExecuteTransactionError
impl ExecuteTransactionError
sourcepub fn new(kind: ExecuteTransactionErrorKind, meta: Error) -> Self
pub fn new(kind: ExecuteTransactionErrorKind, meta: Error) -> Self
Creates a new ExecuteTransactionError
.
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 ExecuteTransactionError::Unhandled
variant from any error type.
Examples found in repository?
2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732
pub fn parse_execute_transaction_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<
crate::output::ExecuteTransactionOutput,
crate::error::ExecuteTransactionError,
> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::ExecuteTransactionError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::ExecuteTransactionError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"IdempotentParameterMismatchException" => {
crate::error::ExecuteTransactionError {
meta: generic,
kind:
crate::error::ExecuteTransactionErrorKind::IdempotentParameterMismatchException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::idempotent_parameter_mismatch_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_idempotent_parameter_mismatch_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
}
}
"InternalServerError" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ProvisionedThroughputExceededException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::ProvisionedThroughputExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::provisioned_throughput_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_provisioned_throughput_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"RequestLimitExceeded" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::RequestLimitExceeded({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::request_limit_exceeded::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_request_limit_exceeded_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ResourceNotFoundException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::ResourceNotFoundException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::resource_not_found_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_resource_not_found_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionCanceledException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::TransactionCanceledException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_canceled_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_canceled_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionInProgressException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::TransactionInProgressException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_in_progress_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_in_progress_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::ExecuteTransactionError::generic(generic),
})
}
sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the ExecuteTransactionError::Unhandled
variant from a aws_smithy_types::Error
.
Examples found in repository?
2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732
pub fn parse_execute_transaction_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<
crate::output::ExecuteTransactionOutput,
crate::error::ExecuteTransactionError,
> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::ExecuteTransactionError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::ExecuteTransactionError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"IdempotentParameterMismatchException" => {
crate::error::ExecuteTransactionError {
meta: generic,
kind:
crate::error::ExecuteTransactionErrorKind::IdempotentParameterMismatchException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::idempotent_parameter_mismatch_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_idempotent_parameter_mismatch_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
}
}
"InternalServerError" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ProvisionedThroughputExceededException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::ProvisionedThroughputExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::provisioned_throughput_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_provisioned_throughput_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"RequestLimitExceeded" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::RequestLimitExceeded({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::request_limit_exceeded::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_request_limit_exceeded_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ResourceNotFoundException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::ResourceNotFoundException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::resource_not_found_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_resource_not_found_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionCanceledException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::TransactionCanceledException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_canceled_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_canceled_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionInProgressException" => crate::error::ExecuteTransactionError {
meta: generic,
kind: crate::error::ExecuteTransactionErrorKind::TransactionInProgressException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_in_progress_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_in_progress_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteTransactionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::ExecuteTransactionError::generic(generic),
})
}
sourcepub fn meta(&self) -> &Error
pub fn meta(&self) -> &Error
Returns error metadata, which includes the error code, message, request ID, and potentially additional information.
sourcepub fn request_id(&self) -> Option<&str>
pub fn request_id(&self) -> Option<&str>
Returns the request ID if it’s available.
sourcepub fn is_idempotent_parameter_mismatch_exception(&self) -> bool
pub fn is_idempotent_parameter_mismatch_exception(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::IdempotentParameterMismatchException
.
sourcepub fn is_internal_server_error(&self) -> bool
pub fn is_internal_server_error(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::InternalServerError
.
sourcepub fn is_provisioned_throughput_exceeded_exception(&self) -> bool
pub fn is_provisioned_throughput_exceeded_exception(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::ProvisionedThroughputExceededException
.
sourcepub fn is_request_limit_exceeded(&self) -> bool
pub fn is_request_limit_exceeded(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::RequestLimitExceeded
.
sourcepub fn is_resource_not_found_exception(&self) -> bool
pub fn is_resource_not_found_exception(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::ResourceNotFoundException
.
sourcepub fn is_transaction_canceled_exception(&self) -> bool
pub fn is_transaction_canceled_exception(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::TransactionCanceledException
.
sourcepub fn is_transaction_in_progress_exception(&self) -> bool
pub fn is_transaction_in_progress_exception(&self) -> bool
Returns true
if the error kind is ExecuteTransactionErrorKind::TransactionInProgressException
.