aws_sdk_simpledbv2/
error_meta.rs1#[non_exhaustive]
4#[derive(::std::fmt::Debug)]
5pub enum Error {
6 ConflictException(crate::types::error::ConflictException),
8 InvalidNextTokenException(crate::types::error::InvalidNextTokenException),
10 InvalidParameterCombinationException(crate::types::error::InvalidParameterCombinationException),
12 InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
14 NoSuchDomainException(crate::types::error::NoSuchDomainException),
16 NoSuchExportException(crate::types::error::NoSuchExportException),
18 NumberExportsLimitExceeded(crate::types::error::NumberExportsLimitExceeded),
20 #[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}