1#[non_exhaustive]
4#[derive(::std::fmt::Debug)]
5pub enum Error {
6 InternalServerException(crate::types::error::InternalServerException),
8 InvalidRequestException(crate::types::error::InvalidRequestException),
10 LimitExceededException(crate::types::error::LimitExceededException),
12 ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
14 #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
16 variable wildcard pattern and check `.code()`:
17 \
18 `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
19 \
20 See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-Error) for what information is available for the error.")]
21 Unhandled(crate::error::sealed_unhandled::Unhandled),
22}
23impl ::std::fmt::Display for Error {
24 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25 match self {
26 Error::InternalServerException(inner) => inner.fmt(f),
27 Error::InvalidRequestException(inner) => inner.fmt(f),
28 Error::LimitExceededException(inner) => inner.fmt(f),
29 Error::ResourceNotFoundException(inner) => inner.fmt(f),
30 Error::Unhandled(_) => {
31 if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
32 write!(f, "unhandled error ({code})")
33 } else {
34 f.write_str("unhandled error")
35 }
36 }
37 }
38 }
39}
40impl From<::aws_smithy_types::error::operation::BuildError> for Error {
41 fn from(value: ::aws_smithy_types::error::operation::BuildError) -> Self {
42 Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
43 source: value.into(),
44 meta: ::std::default::Default::default(),
45 })
46 }
47}
48impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for Error {
49 fn meta(&self) -> &::aws_smithy_types::error::metadata::ErrorMetadata {
50 match self {
51 Self::InternalServerException(inner) => inner.meta(),
52 Self::InvalidRequestException(inner) => inner.meta(),
53 Self::LimitExceededException(inner) => inner.meta(),
54 Self::ResourceNotFoundException(inner) => inner.meta(),
55 Self::Unhandled(inner) => &inner.meta,
56 }
57 }
58}
59impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError, R>> for Error
60where
61 R: Send + Sync + std::fmt::Debug + 'static,
62{
63 fn from(
64 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError, R>,
65 ) -> Self {
66 match err {
67 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
68 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
69 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
70 source: err.into(),
71 }),
72 }
73 }
74}
75impl From<crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError> for Error {
76 fn from(err: crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError) -> Self {
77 match err {
78 crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError::InternalServerException(inner) => {
79 Error::InternalServerException(inner)
80 }
81 crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError::InvalidRequestException(inner) => {
82 Error::InvalidRequestException(inner)
83 }
84 crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError::LimitExceededException(inner) => {
85 Error::LimitExceededException(inner)
86 }
87 crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError::Unhandled(inner) => Error::Unhandled(inner),
88 }
89 }
90}
91impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError, R>> for Error
92where
93 R: Send + Sync + std::fmt::Debug + 'static,
94{
95 fn from(
96 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError, R>,
97 ) -> Self {
98 match err {
99 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
100 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
101 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
102 source: err.into(),
103 }),
104 }
105 }
106}
107impl From<crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError> for Error {
108 fn from(err: crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError) -> Self {
109 match err {
110 crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError::InternalServerException(inner) => {
111 Error::InternalServerException(inner)
112 }
113 crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError::LimitExceededException(inner) => {
114 Error::LimitExceededException(inner)
115 }
116 crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError::ResourceNotFoundException(inner) => {
117 Error::ResourceNotFoundException(inner)
118 }
119 crate::operation::delete_lifecycle_policy::DeleteLifecyclePolicyError::Unhandled(inner) => Error::Unhandled(inner),
120 }
121 }
122}
123impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError, R>> for Error
124where
125 R: Send + Sync + std::fmt::Debug + 'static,
126{
127 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError, R>) -> Self {
128 match err {
129 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
130 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
131 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
132 source: err.into(),
133 }),
134 }
135 }
136}
137impl From<crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError> for Error {
138 fn from(err: crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError) -> Self {
139 match err {
140 crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError::InternalServerException(inner) => {
141 Error::InternalServerException(inner)
142 }
143 crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError::InvalidRequestException(inner) => {
144 Error::InvalidRequestException(inner)
145 }
146 crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError::LimitExceededException(inner) => {
147 Error::LimitExceededException(inner)
148 }
149 crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError::ResourceNotFoundException(inner) => {
150 Error::ResourceNotFoundException(inner)
151 }
152 crate::operation::get_lifecycle_policies::GetLifecyclePoliciesError::Unhandled(inner) => Error::Unhandled(inner),
153 }
154 }
155}
156impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_lifecycle_policy::GetLifecyclePolicyError, R>> for Error
157where
158 R: Send + Sync + std::fmt::Debug + 'static,
159{
160 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_lifecycle_policy::GetLifecyclePolicyError, R>) -> Self {
161 match err {
162 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
163 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
164 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
165 source: err.into(),
166 }),
167 }
168 }
169}
170impl From<crate::operation::get_lifecycle_policy::GetLifecyclePolicyError> for Error {
171 fn from(err: crate::operation::get_lifecycle_policy::GetLifecyclePolicyError) -> Self {
172 match err {
173 crate::operation::get_lifecycle_policy::GetLifecyclePolicyError::InternalServerException(inner) => Error::InternalServerException(inner),
174 crate::operation::get_lifecycle_policy::GetLifecyclePolicyError::LimitExceededException(inner) => Error::LimitExceededException(inner),
175 crate::operation::get_lifecycle_policy::GetLifecyclePolicyError::ResourceNotFoundException(inner) => {
176 Error::ResourceNotFoundException(inner)
177 }
178 crate::operation::get_lifecycle_policy::GetLifecyclePolicyError::Unhandled(inner) => Error::Unhandled(inner),
179 }
180 }
181}
182impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tags_for_resource::ListTagsForResourceError, R>> for Error
183where
184 R: Send + Sync + std::fmt::Debug + 'static,
185{
186 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tags_for_resource::ListTagsForResourceError, R>) -> Self {
187 match err {
188 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
189 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
190 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
191 source: err.into(),
192 }),
193 }
194 }
195}
196impl From<crate::operation::list_tags_for_resource::ListTagsForResourceError> for Error {
197 fn from(err: crate::operation::list_tags_for_resource::ListTagsForResourceError) -> Self {
198 match err {
199 crate::operation::list_tags_for_resource::ListTagsForResourceError::InternalServerException(inner) => {
200 Error::InternalServerException(inner)
201 }
202 crate::operation::list_tags_for_resource::ListTagsForResourceError::InvalidRequestException(inner) => {
203 Error::InvalidRequestException(inner)
204 }
205 crate::operation::list_tags_for_resource::ListTagsForResourceError::ResourceNotFoundException(inner) => {
206 Error::ResourceNotFoundException(inner)
207 }
208 crate::operation::list_tags_for_resource::ListTagsForResourceError::Unhandled(inner) => Error::Unhandled(inner),
209 }
210 }
211}
212impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>> for Error
213where
214 R: Send + Sync + std::fmt::Debug + 'static,
215{
216 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>) -> Self {
217 match err {
218 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
219 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
220 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
221 source: err.into(),
222 }),
223 }
224 }
225}
226impl From<crate::operation::tag_resource::TagResourceError> for Error {
227 fn from(err: crate::operation::tag_resource::TagResourceError) -> Self {
228 match err {
229 crate::operation::tag_resource::TagResourceError::InternalServerException(inner) => Error::InternalServerException(inner),
230 crate::operation::tag_resource::TagResourceError::InvalidRequestException(inner) => Error::InvalidRequestException(inner),
231 crate::operation::tag_resource::TagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
232 crate::operation::tag_resource::TagResourceError::Unhandled(inner) => Error::Unhandled(inner),
233 }
234 }
235}
236impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>> for Error
237where
238 R: Send + Sync + std::fmt::Debug + 'static,
239{
240 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>) -> Self {
241 match err {
242 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
243 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
244 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
245 source: err.into(),
246 }),
247 }
248 }
249}
250impl From<crate::operation::untag_resource::UntagResourceError> for Error {
251 fn from(err: crate::operation::untag_resource::UntagResourceError) -> Self {
252 match err {
253 crate::operation::untag_resource::UntagResourceError::InternalServerException(inner) => Error::InternalServerException(inner),
254 crate::operation::untag_resource::UntagResourceError::InvalidRequestException(inner) => Error::InvalidRequestException(inner),
255 crate::operation::untag_resource::UntagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
256 crate::operation::untag_resource::UntagResourceError::Unhandled(inner) => Error::Unhandled(inner),
257 }
258 }
259}
260impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError, R>> for Error
261where
262 R: Send + Sync + std::fmt::Debug + 'static,
263{
264 fn from(
265 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError, R>,
266 ) -> Self {
267 match err {
268 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
269 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
270 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
271 source: err.into(),
272 }),
273 }
274 }
275}
276impl From<crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError> for Error {
277 fn from(err: crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError) -> Self {
278 match err {
279 crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError::InternalServerException(inner) => {
280 Error::InternalServerException(inner)
281 }
282 crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError::InvalidRequestException(inner) => {
283 Error::InvalidRequestException(inner)
284 }
285 crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError::LimitExceededException(inner) => {
286 Error::LimitExceededException(inner)
287 }
288 crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError::ResourceNotFoundException(inner) => {
289 Error::ResourceNotFoundException(inner)
290 }
291 crate::operation::update_lifecycle_policy::UpdateLifecyclePolicyError::Unhandled(inner) => Error::Unhandled(inner),
292 }
293 }
294}
295impl ::std::error::Error for Error {
296 fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
297 match self {
298 Error::InternalServerException(inner) => inner.source(),
299 Error::InvalidRequestException(inner) => inner.source(),
300 Error::LimitExceededException(inner) => inner.source(),
301 Error::ResourceNotFoundException(inner) => inner.source(),
302 Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
303 }
304 }
305}
306impl ::aws_types::request_id::RequestId for Error {
307 fn request_id(&self) -> Option<&str> {
308 match self {
309 Self::InternalServerException(e) => e.request_id(),
310 Self::InvalidRequestException(e) => e.request_id(),
311 Self::LimitExceededException(e) => e.request_id(),
312 Self::ResourceNotFoundException(e) => e.request_id(),
313 Self::Unhandled(e) => e.meta.request_id(),
314 }
315 }
316}