1#[non_exhaustive]
4#[derive(::std::fmt::Debug)]
5pub enum Error {
6 ExpiredTokenException(crate::types::error::ExpiredTokenException),
8 ExpiredTradeInTokenException(crate::types::error::ExpiredTradeInTokenException),
10 IdpCommunicationErrorException(crate::types::error::IdpCommunicationErrorException),
12 IdpRejectedClaimException(crate::types::error::IdpRejectedClaimException),
15 InvalidAuthorizationMessageException(crate::types::error::InvalidAuthorizationMessageException),
17 InvalidIdentityTokenException(crate::types::error::InvalidIdentityTokenException),
19 MalformedPolicyDocumentException(crate::types::error::MalformedPolicyDocumentException),
21 PackedPolicyTooLargeException(crate::types::error::PackedPolicyTooLargeException),
24 RegionDisabledException(crate::types::error::RegionDisabledException),
26 #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
28 variable wildcard pattern and check `.code()`:
29 \
30 `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
31 \
32 See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-Error) for what information is available for the error.")]
33 Unhandled(crate::error::sealed_unhandled::Unhandled),
34}
35impl ::std::fmt::Display for Error {
36 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
37 match self {
38 Error::ExpiredTokenException(inner) => inner.fmt(f),
39 Error::ExpiredTradeInTokenException(inner) => inner.fmt(f),
40 Error::IdpCommunicationErrorException(inner) => inner.fmt(f),
41 Error::IdpRejectedClaimException(inner) => inner.fmt(f),
42 Error::InvalidAuthorizationMessageException(inner) => inner.fmt(f),
43 Error::InvalidIdentityTokenException(inner) => inner.fmt(f),
44 Error::MalformedPolicyDocumentException(inner) => inner.fmt(f),
45 Error::PackedPolicyTooLargeException(inner) => inner.fmt(f),
46 Error::RegionDisabledException(inner) => inner.fmt(f),
47 Error::Unhandled(_) => {
48 if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
49 write!(f, "unhandled error ({code})")
50 } else {
51 f.write_str("unhandled error")
52 }
53 }
54 }
55 }
56}
57impl From<::aws_smithy_types::error::operation::BuildError> for Error {
58 fn from(value: ::aws_smithy_types::error::operation::BuildError) -> Self {
59 Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
60 source: value.into(),
61 meta: ::std::default::Default::default(),
62 })
63 }
64}
65impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for Error {
66 fn meta(&self) -> &::aws_smithy_types::error::metadata::ErrorMetadata {
67 match self {
68 Self::ExpiredTokenException(inner) => inner.meta(),
69 Self::ExpiredTradeInTokenException(inner) => inner.meta(),
70 Self::IdpCommunicationErrorException(inner) => inner.meta(),
71 Self::IdpRejectedClaimException(inner) => inner.meta(),
72 Self::InvalidAuthorizationMessageException(inner) => inner.meta(),
73 Self::InvalidIdentityTokenException(inner) => inner.meta(),
74 Self::MalformedPolicyDocumentException(inner) => inner.meta(),
75 Self::PackedPolicyTooLargeException(inner) => inner.meta(),
76 Self::RegionDisabledException(inner) => inner.meta(),
77 Self::Unhandled(inner) => &inner.meta,
78 }
79 }
80}
81impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role::AssumeRoleError, R>> for Error
82where
83 R: Send + Sync + std::fmt::Debug + 'static,
84{
85 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role::AssumeRoleError, R>) -> Self {
86 match err {
87 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
88 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
89 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
90 source: err.into(),
91 }),
92 }
93 }
94}
95impl From<crate::operation::assume_role::AssumeRoleError> for Error {
96 fn from(err: crate::operation::assume_role::AssumeRoleError) -> Self {
97 match err {
98 crate::operation::assume_role::AssumeRoleError::ExpiredTokenException(inner) => Error::ExpiredTokenException(inner),
99 crate::operation::assume_role::AssumeRoleError::MalformedPolicyDocumentException(inner) => Error::MalformedPolicyDocumentException(inner),
100 crate::operation::assume_role::AssumeRoleError::PackedPolicyTooLargeException(inner) => Error::PackedPolicyTooLargeException(inner),
101 crate::operation::assume_role::AssumeRoleError::RegionDisabledException(inner) => Error::RegionDisabledException(inner),
102 crate::operation::assume_role::AssumeRoleError::Unhandled(inner) => Error::Unhandled(inner),
103 }
104 }
105}
106impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError, R>> for Error
107where
108 R: Send + Sync + std::fmt::Debug + 'static,
109{
110 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError, R>) -> Self {
111 match err {
112 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
113 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
114 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
115 source: err.into(),
116 }),
117 }
118 }
119}
120impl From<crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError> for Error {
121 fn from(err: crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError) -> Self {
122 match err {
123 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::ExpiredTokenException(inner) => Error::ExpiredTokenException(inner),
124 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::IdpRejectedClaimException(inner) => {
125 Error::IdpRejectedClaimException(inner)
126 }
127 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::InvalidIdentityTokenException(inner) => {
128 Error::InvalidIdentityTokenException(inner)
129 }
130 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::MalformedPolicyDocumentException(inner) => {
131 Error::MalformedPolicyDocumentException(inner)
132 }
133 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::PackedPolicyTooLargeException(inner) => {
134 Error::PackedPolicyTooLargeException(inner)
135 }
136 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::RegionDisabledException(inner) => Error::RegionDisabledException(inner),
137 crate::operation::assume_role_with_saml::AssumeRoleWithSAMLError::Unhandled(inner) => Error::Unhandled(inner),
138 }
139 }
140}
141impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError, R>>
142 for Error
143where
144 R: Send + Sync + std::fmt::Debug + 'static,
145{
146 fn from(
147 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError, R>,
148 ) -> Self {
149 match err {
150 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
151 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
152 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
153 source: err.into(),
154 }),
155 }
156 }
157}
158impl From<crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError> for Error {
159 fn from(err: crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError) -> Self {
160 match err {
161 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::ExpiredTokenException(inner) => {
162 Error::ExpiredTokenException(inner)
163 }
164 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::IdpCommunicationErrorException(inner) => {
165 Error::IdpCommunicationErrorException(inner)
166 }
167 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::IdpRejectedClaimException(inner) => {
168 Error::IdpRejectedClaimException(inner)
169 }
170 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::InvalidIdentityTokenException(inner) => {
171 Error::InvalidIdentityTokenException(inner)
172 }
173 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::MalformedPolicyDocumentException(inner) => {
174 Error::MalformedPolicyDocumentException(inner)
175 }
176 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::PackedPolicyTooLargeException(inner) => {
177 Error::PackedPolicyTooLargeException(inner)
178 }
179 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::RegionDisabledException(inner) => {
180 Error::RegionDisabledException(inner)
181 }
182 crate::operation::assume_role_with_web_identity::AssumeRoleWithWebIdentityError::Unhandled(inner) => Error::Unhandled(inner),
183 }
184 }
185}
186impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_root::AssumeRootError, R>> for Error
187where
188 R: Send + Sync + std::fmt::Debug + 'static,
189{
190 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::assume_root::AssumeRootError, R>) -> Self {
191 match err {
192 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
193 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
194 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
195 source: err.into(),
196 }),
197 }
198 }
199}
200impl From<crate::operation::assume_root::AssumeRootError> for Error {
201 fn from(err: crate::operation::assume_root::AssumeRootError) -> Self {
202 match err {
203 crate::operation::assume_root::AssumeRootError::ExpiredTokenException(inner) => Error::ExpiredTokenException(inner),
204 crate::operation::assume_root::AssumeRootError::RegionDisabledException(inner) => Error::RegionDisabledException(inner),
205 crate::operation::assume_root::AssumeRootError::Unhandled(inner) => Error::Unhandled(inner),
206 }
207 }
208}
209impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::decode_authorization_message::DecodeAuthorizationMessageError, R>>
210 for Error
211where
212 R: Send + Sync + std::fmt::Debug + 'static,
213{
214 fn from(
215 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::decode_authorization_message::DecodeAuthorizationMessageError, R>,
216 ) -> 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::decode_authorization_message::DecodeAuthorizationMessageError> for Error {
227 fn from(err: crate::operation::decode_authorization_message::DecodeAuthorizationMessageError) -> Self {
228 match err {
229 crate::operation::decode_authorization_message::DecodeAuthorizationMessageError::InvalidAuthorizationMessageException(inner) => {
230 Error::InvalidAuthorizationMessageException(inner)
231 }
232 crate::operation::decode_authorization_message::DecodeAuthorizationMessageError::Unhandled(inner) => Error::Unhandled(inner),
233 }
234 }
235}
236impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_access_key_info::GetAccessKeyInfoError, 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::get_access_key_info::GetAccessKeyInfoError, 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::get_access_key_info::GetAccessKeyInfoError> for Error {
251 fn from(err: crate::operation::get_access_key_info::GetAccessKeyInfoError) -> Self {
252 match err {
253 crate::operation::get_access_key_info::GetAccessKeyInfoError::Unhandled(inner) => Error::Unhandled(inner),
254 }
255 }
256}
257impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_caller_identity::GetCallerIdentityError, R>> for Error
258where
259 R: Send + Sync + std::fmt::Debug + 'static,
260{
261 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_caller_identity::GetCallerIdentityError, R>) -> Self {
262 match err {
263 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
264 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
265 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
266 source: err.into(),
267 }),
268 }
269 }
270}
271impl From<crate::operation::get_caller_identity::GetCallerIdentityError> for Error {
272 fn from(err: crate::operation::get_caller_identity::GetCallerIdentityError) -> Self {
273 match err {
274 crate::operation::get_caller_identity::GetCallerIdentityError::Unhandled(inner) => Error::Unhandled(inner),
275 }
276 }
277}
278impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError, R>>
279 for Error
280where
281 R: Send + Sync + std::fmt::Debug + 'static,
282{
283 fn from(
284 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError, R>,
285 ) -> Self {
286 match err {
287 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
288 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
289 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
290 source: err.into(),
291 }),
292 }
293 }
294}
295impl From<crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError> for Error {
296 fn from(err: crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError) -> Self {
297 match err {
298 crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError::ExpiredTradeInTokenException(inner) => {
299 Error::ExpiredTradeInTokenException(inner)
300 }
301 crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError::RegionDisabledException(inner) => {
302 Error::RegionDisabledException(inner)
303 }
304 crate::operation::get_delegated_access_token::GetDelegatedAccessTokenError::Unhandled(inner) => Error::Unhandled(inner),
305 }
306 }
307}
308impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_federation_token::GetFederationTokenError, R>> for Error
309where
310 R: Send + Sync + std::fmt::Debug + 'static,
311{
312 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_federation_token::GetFederationTokenError, R>) -> Self {
313 match err {
314 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
315 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
316 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
317 source: err.into(),
318 }),
319 }
320 }
321}
322impl From<crate::operation::get_federation_token::GetFederationTokenError> for Error {
323 fn from(err: crate::operation::get_federation_token::GetFederationTokenError) -> Self {
324 match err {
325 crate::operation::get_federation_token::GetFederationTokenError::MalformedPolicyDocumentException(inner) => {
326 Error::MalformedPolicyDocumentException(inner)
327 }
328 crate::operation::get_federation_token::GetFederationTokenError::PackedPolicyTooLargeException(inner) => {
329 Error::PackedPolicyTooLargeException(inner)
330 }
331 crate::operation::get_federation_token::GetFederationTokenError::RegionDisabledException(inner) => Error::RegionDisabledException(inner),
332 crate::operation::get_federation_token::GetFederationTokenError::Unhandled(inner) => Error::Unhandled(inner),
333 }
334 }
335}
336impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_session_token::GetSessionTokenError, R>> for Error
337where
338 R: Send + Sync + std::fmt::Debug + 'static,
339{
340 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_session_token::GetSessionTokenError, R>) -> Self {
341 match err {
342 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
343 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
344 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
345 source: err.into(),
346 }),
347 }
348 }
349}
350impl From<crate::operation::get_session_token::GetSessionTokenError> for Error {
351 fn from(err: crate::operation::get_session_token::GetSessionTokenError) -> Self {
352 match err {
353 crate::operation::get_session_token::GetSessionTokenError::RegionDisabledException(inner) => Error::RegionDisabledException(inner),
354 crate::operation::get_session_token::GetSessionTokenError::Unhandled(inner) => Error::Unhandled(inner),
355 }
356 }
357}
358impl ::std::error::Error for Error {
359 fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
360 match self {
361 Error::ExpiredTokenException(inner) => inner.source(),
362 Error::ExpiredTradeInTokenException(inner) => inner.source(),
363 Error::IdpCommunicationErrorException(inner) => inner.source(),
364 Error::IdpRejectedClaimException(inner) => inner.source(),
365 Error::InvalidAuthorizationMessageException(inner) => inner.source(),
366 Error::InvalidIdentityTokenException(inner) => inner.source(),
367 Error::MalformedPolicyDocumentException(inner) => inner.source(),
368 Error::PackedPolicyTooLargeException(inner) => inner.source(),
369 Error::RegionDisabledException(inner) => inner.source(),
370 Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
371 }
372 }
373}
374impl ::aws_types::request_id::RequestId for Error {
375 fn request_id(&self) -> Option<&str> {
376 match self {
377 Self::ExpiredTokenException(e) => e.request_id(),
378 Self::ExpiredTradeInTokenException(e) => e.request_id(),
379 Self::IdpCommunicationErrorException(e) => e.request_id(),
380 Self::IdpRejectedClaimException(e) => e.request_id(),
381 Self::InvalidAuthorizationMessageException(e) => e.request_id(),
382 Self::InvalidIdentityTokenException(e) => e.request_id(),
383 Self::MalformedPolicyDocumentException(e) => e.request_id(),
384 Self::PackedPolicyTooLargeException(e) => e.request_id(),
385 Self::RegionDisabledException(e) => e.request_id(),
386 Self::Unhandled(e) => e.meta.request_id(),
387 }
388 }
389}