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