Skip to main content

aws_sdk_simpledbv2/
error_meta.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// All possible error types for this service.
3#[non_exhaustive]
4#[derive(::std::fmt::Debug)]
5pub enum Error {
6    /// Indicates a conflict with one or more parameters of the request.
7    ConflictException(crate::types::error::ConflictException),
8    /// The specified next token is not valid.
9    InvalidNextTokenException(crate::types::error::InvalidNextTokenException),
10    /// Parameters that must not be used together were used together in the request.
11    InvalidParameterCombinationException(crate::types::error::InvalidParameterCombinationException),
12    /// The specified parameter value is not valid.
13    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
14    /// The specified domain does not exist.
15    NoSuchDomainException(crate::types::error::NoSuchDomainException),
16    /// Export with specified ARN does not exist.
17    NoSuchExportException(crate::types::error::NoSuchExportException),
18    /// Cannot start export as export quota limit was exceeded
19    NumberExportsLimitExceeded(crate::types::error::NumberExportsLimitExceeded),
20    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
21    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
22    variable wildcard pattern and check `.code()`:
23     \
24       `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
25     \
26    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-Error) for what information is available for the error.")]
27    Unhandled(crate::error::sealed_unhandled::Unhandled),
28}
29impl ::std::fmt::Display for Error {
30    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
31        match self {
32            Error::ConflictException(inner) => inner.fmt(f),
33            Error::InvalidNextTokenException(inner) => inner.fmt(f),
34            Error::InvalidParameterCombinationException(inner) => inner.fmt(f),
35            Error::InvalidParameterValueException(inner) => inner.fmt(f),
36            Error::NoSuchDomainException(inner) => inner.fmt(f),
37            Error::NoSuchExportException(inner) => inner.fmt(f),
38            Error::NumberExportsLimitExceeded(inner) => inner.fmt(f),
39            Error::Unhandled(_) => {
40                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
41                    write!(f, "unhandled error ({code})")
42                } else {
43                    f.write_str("unhandled error")
44                }
45            }
46        }
47    }
48}
49impl From<::aws_smithy_types::error::operation::BuildError> for Error {
50    fn from(value: ::aws_smithy_types::error::operation::BuildError) -> Self {
51        Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
52            source: value.into(),
53            meta: ::std::default::Default::default(),
54        })
55    }
56}
57impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for Error {
58    fn meta(&self) -> &::aws_smithy_types::error::metadata::ErrorMetadata {
59        match self {
60            Self::ConflictException(inner) => inner.meta(),
61            Self::InvalidNextTokenException(inner) => inner.meta(),
62            Self::InvalidParameterCombinationException(inner) => inner.meta(),
63            Self::InvalidParameterValueException(inner) => inner.meta(),
64            Self::NoSuchDomainException(inner) => inner.meta(),
65            Self::NoSuchExportException(inner) => inner.meta(),
66            Self::NumberExportsLimitExceeded(inner) => inner.meta(),
67            Self::Unhandled(inner) => &inner.meta,
68        }
69    }
70}
71impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_export::GetExportError, R>> for Error
72where
73    R: Send + Sync + std::fmt::Debug + 'static,
74{
75    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_export::GetExportError, R>) -> Self {
76        match err {
77            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
78            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
79                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
80                source: err.into(),
81            }),
82        }
83    }
84}
85impl From<crate::operation::get_export::GetExportError> for Error {
86    fn from(err: crate::operation::get_export::GetExportError) -> Self {
87        match err {
88            crate::operation::get_export::GetExportError::InvalidParameterValueException(inner) => Error::InvalidParameterValueException(inner),
89            crate::operation::get_export::GetExportError::NoSuchExportException(inner) => Error::NoSuchExportException(inner),
90            crate::operation::get_export::GetExportError::Unhandled(inner) => Error::Unhandled(inner),
91        }
92    }
93}
94impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_exports::ListExportsError, R>> for Error
95where
96    R: Send + Sync + std::fmt::Debug + 'static,
97{
98    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_exports::ListExportsError, R>) -> Self {
99        match err {
100            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
101            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
102                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
103                source: err.into(),
104            }),
105        }
106    }
107}
108impl From<crate::operation::list_exports::ListExportsError> for Error {
109    fn from(err: crate::operation::list_exports::ListExportsError) -> Self {
110        match err {
111            crate::operation::list_exports::ListExportsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
112            crate::operation::list_exports::ListExportsError::InvalidParameterValueException(inner) => Error::InvalidParameterValueException(inner),
113            crate::operation::list_exports::ListExportsError::NoSuchDomainException(inner) => Error::NoSuchDomainException(inner),
114            crate::operation::list_exports::ListExportsError::Unhandled(inner) => Error::Unhandled(inner),
115        }
116    }
117}
118impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_domain_export::StartDomainExportError, R>> for Error
119where
120    R: Send + Sync + std::fmt::Debug + 'static,
121{
122    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_domain_export::StartDomainExportError, R>) -> Self {
123        match err {
124            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
125            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
126                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
127                source: err.into(),
128            }),
129        }
130    }
131}
132impl From<crate::operation::start_domain_export::StartDomainExportError> for Error {
133    fn from(err: crate::operation::start_domain_export::StartDomainExportError) -> Self {
134        match err {
135            crate::operation::start_domain_export::StartDomainExportError::ConflictException(inner) => Error::ConflictException(inner),
136            crate::operation::start_domain_export::StartDomainExportError::InvalidParameterCombinationException(inner) => {
137                Error::InvalidParameterCombinationException(inner)
138            }
139            crate::operation::start_domain_export::StartDomainExportError::InvalidParameterValueException(inner) => {
140                Error::InvalidParameterValueException(inner)
141            }
142            crate::operation::start_domain_export::StartDomainExportError::NoSuchDomainException(inner) => Error::NoSuchDomainException(inner),
143            crate::operation::start_domain_export::StartDomainExportError::NumberExportsLimitExceeded(inner) => {
144                Error::NumberExportsLimitExceeded(inner)
145            }
146            crate::operation::start_domain_export::StartDomainExportError::Unhandled(inner) => Error::Unhandled(inner),
147        }
148    }
149}
150impl<O, E> ::std::convert::From<::aws_smithy_runtime_api::client::waiters::error::WaiterError<O, E>> for Error
151where
152    O: ::std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
153    E: ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static,
154{
155    fn from(err: ::aws_smithy_runtime_api::client::waiters::error::WaiterError<O, E>) -> Self {
156        Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
157            meta: ::std::default::Default::default(),
158            source: err.into(),
159        })
160    }
161}
162impl ::std::error::Error for Error {
163    fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
164        match self {
165            Error::ConflictException(inner) => inner.source(),
166            Error::InvalidNextTokenException(inner) => inner.source(),
167            Error::InvalidParameterCombinationException(inner) => inner.source(),
168            Error::InvalidParameterValueException(inner) => inner.source(),
169            Error::NoSuchDomainException(inner) => inner.source(),
170            Error::NoSuchExportException(inner) => inner.source(),
171            Error::NumberExportsLimitExceeded(inner) => inner.source(),
172            Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
173        }
174    }
175}
176impl ::aws_types::request_id::RequestId for Error {
177    fn request_id(&self) -> Option<&str> {
178        match self {
179            Self::ConflictException(e) => e.request_id(),
180            Self::InvalidNextTokenException(e) => e.request_id(),
181            Self::InvalidParameterCombinationException(e) => e.request_id(),
182            Self::InvalidParameterValueException(e) => e.request_id(),
183            Self::NoSuchDomainException(e) => e.request_id(),
184            Self::NoSuchExportException(e) => e.request_id(),
185            Self::NumberExportsLimitExceeded(e) => e.request_id(),
186            Self::Unhandled(e) => e.meta.request_id(),
187        }
188    }
189}