aws_sdk_manager/
errors.rs1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(Error, Debug)]
7pub enum Error {
8 #[error("failed API")]
9 API { message: String, is_retryable: bool },
10 #[error("failed for other reasons")]
11 Other { message: String, is_retryable: bool },
12}
13
14impl Error {
15 #[inline]
17 #[must_use]
18 pub fn message(&self) -> String {
19 match self {
20 Error::API { message, .. } | Error::Other { message, .. } => message.clone(),
21 }
22 }
23
24 #[inline]
26 #[must_use]
27 pub fn is_retryable(&self) -> bool {
28 match self {
29 Error::API { is_retryable, .. } | Error::Other { is_retryable, .. } => *is_retryable,
30 }
31 }
32}