1#[non_exhaustive]
4#[derive(::std::fmt::Debug)]
5pub enum Error {
6 ActiveSessionsExceededException(crate::types::error::ActiveSessionsExceededException),
8 ActiveStatementsExceededException(crate::types::error::ActiveStatementsExceededException),
10 BatchExecuteStatementException(crate::types::error::BatchExecuteStatementException),
12 DatabaseConnectionException(crate::types::error::DatabaseConnectionException),
14 ExecuteStatementException(crate::types::error::ExecuteStatementException),
16 InternalServerException(crate::types::error::InternalServerException),
18 QueryTimeoutException(crate::types::error::QueryTimeoutException),
20 ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
22 ValidationException(crate::types::error::ValidationException),
24 #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
26 variable wildcard pattern and check `.code()`:
27 \
28 `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
29 \
30 See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-Error) for what information is available for the error.")]
31 Unhandled(crate::error::sealed_unhandled::Unhandled),
32}
33impl ::std::fmt::Display for Error {
34 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
35 match self {
36 Error::ActiveSessionsExceededException(inner) => inner.fmt(f),
37 Error::ActiveStatementsExceededException(inner) => inner.fmt(f),
38 Error::BatchExecuteStatementException(inner) => inner.fmt(f),
39 Error::DatabaseConnectionException(inner) => inner.fmt(f),
40 Error::ExecuteStatementException(inner) => inner.fmt(f),
41 Error::InternalServerException(inner) => inner.fmt(f),
42 Error::QueryTimeoutException(inner) => inner.fmt(f),
43 Error::ResourceNotFoundException(inner) => inner.fmt(f),
44 Error::ValidationException(inner) => inner.fmt(f),
45 Error::Unhandled(_) => {
46 if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
47 write!(f, "unhandled error ({code})")
48 } else {
49 f.write_str("unhandled error")
50 }
51 }
52 }
53 }
54}
55impl From<::aws_smithy_types::error::operation::BuildError> for Error {
56 fn from(value: ::aws_smithy_types::error::operation::BuildError) -> Self {
57 Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
58 source: value.into(),
59 meta: ::std::default::Default::default(),
60 })
61 }
62}
63impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for Error {
64 fn meta(&self) -> &::aws_smithy_types::error::metadata::ErrorMetadata {
65 match self {
66 Self::ActiveSessionsExceededException(inner) => inner.meta(),
67 Self::ActiveStatementsExceededException(inner) => inner.meta(),
68 Self::BatchExecuteStatementException(inner) => inner.meta(),
69 Self::DatabaseConnectionException(inner) => inner.meta(),
70 Self::ExecuteStatementException(inner) => inner.meta(),
71 Self::InternalServerException(inner) => inner.meta(),
72 Self::QueryTimeoutException(inner) => inner.meta(),
73 Self::ResourceNotFoundException(inner) => inner.meta(),
74 Self::ValidationException(inner) => inner.meta(),
75 Self::Unhandled(inner) => &inner.meta,
76 }
77 }
78}
79impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::batch_execute_statement::BatchExecuteStatementError, R>> for Error
80where
81 R: Send + Sync + std::fmt::Debug + 'static,
82{
83 fn from(
84 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::batch_execute_statement::BatchExecuteStatementError, R>,
85 ) -> 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::batch_execute_statement::BatchExecuteStatementError> for Error {
96 fn from(err: crate::operation::batch_execute_statement::BatchExecuteStatementError) -> Self {
97 match err {
98 crate::operation::batch_execute_statement::BatchExecuteStatementError::ActiveSessionsExceededException(inner) => {
99 Error::ActiveSessionsExceededException(inner)
100 }
101 crate::operation::batch_execute_statement::BatchExecuteStatementError::ActiveStatementsExceededException(inner) => {
102 Error::ActiveStatementsExceededException(inner)
103 }
104 crate::operation::batch_execute_statement::BatchExecuteStatementError::BatchExecuteStatementException(inner) => {
105 Error::BatchExecuteStatementException(inner)
106 }
107 crate::operation::batch_execute_statement::BatchExecuteStatementError::InternalServerException(inner) => {
108 Error::InternalServerException(inner)
109 }
110 crate::operation::batch_execute_statement::BatchExecuteStatementError::ValidationException(inner) => Error::ValidationException(inner),
111 crate::operation::batch_execute_statement::BatchExecuteStatementError::Unhandled(inner) => Error::Unhandled(inner),
112 }
113 }
114}
115impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::cancel_statement::CancelStatementError, R>> for Error
116where
117 R: Send + Sync + std::fmt::Debug + 'static,
118{
119 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::cancel_statement::CancelStatementError, R>) -> Self {
120 match err {
121 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
122 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
123 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
124 source: err.into(),
125 }),
126 }
127 }
128}
129impl From<crate::operation::cancel_statement::CancelStatementError> for Error {
130 fn from(err: crate::operation::cancel_statement::CancelStatementError) -> Self {
131 match err {
132 crate::operation::cancel_statement::CancelStatementError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
133 crate::operation::cancel_statement::CancelStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
134 crate::operation::cancel_statement::CancelStatementError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
135 crate::operation::cancel_statement::CancelStatementError::ValidationException(inner) => Error::ValidationException(inner),
136 crate::operation::cancel_statement::CancelStatementError::Unhandled(inner) => Error::Unhandled(inner),
137 }
138 }
139}
140impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_statement::DescribeStatementError, R>> for Error
141where
142 R: Send + Sync + std::fmt::Debug + 'static,
143{
144 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_statement::DescribeStatementError, R>) -> Self {
145 match err {
146 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
147 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
148 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
149 source: err.into(),
150 }),
151 }
152 }
153}
154impl From<crate::operation::describe_statement::DescribeStatementError> for Error {
155 fn from(err: crate::operation::describe_statement::DescribeStatementError) -> Self {
156 match err {
157 crate::operation::describe_statement::DescribeStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
158 crate::operation::describe_statement::DescribeStatementError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
159 crate::operation::describe_statement::DescribeStatementError::ValidationException(inner) => Error::ValidationException(inner),
160 crate::operation::describe_statement::DescribeStatementError::Unhandled(inner) => Error::Unhandled(inner),
161 }
162 }
163}
164impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_table::DescribeTableError, R>> for Error
165where
166 R: Send + Sync + std::fmt::Debug + 'static,
167{
168 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_table::DescribeTableError, R>) -> Self {
169 match err {
170 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
171 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
172 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
173 source: err.into(),
174 }),
175 }
176 }
177}
178impl From<crate::operation::describe_table::DescribeTableError> for Error {
179 fn from(err: crate::operation::describe_table::DescribeTableError) -> Self {
180 match err {
181 crate::operation::describe_table::DescribeTableError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
182 crate::operation::describe_table::DescribeTableError::InternalServerException(inner) => Error::InternalServerException(inner),
183 crate::operation::describe_table::DescribeTableError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
184 crate::operation::describe_table::DescribeTableError::ValidationException(inner) => Error::ValidationException(inner),
185 crate::operation::describe_table::DescribeTableError::Unhandled(inner) => Error::Unhandled(inner),
186 }
187 }
188}
189impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_statement::ExecuteStatementError, R>> for Error
190where
191 R: Send + Sync + std::fmt::Debug + 'static,
192{
193 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_statement::ExecuteStatementError, R>) -> Self {
194 match err {
195 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
196 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
197 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
198 source: err.into(),
199 }),
200 }
201 }
202}
203impl From<crate::operation::execute_statement::ExecuteStatementError> for Error {
204 fn from(err: crate::operation::execute_statement::ExecuteStatementError) -> Self {
205 match err {
206 crate::operation::execute_statement::ExecuteStatementError::ActiveSessionsExceededException(inner) => {
207 Error::ActiveSessionsExceededException(inner)
208 }
209 crate::operation::execute_statement::ExecuteStatementError::ActiveStatementsExceededException(inner) => {
210 Error::ActiveStatementsExceededException(inner)
211 }
212 crate::operation::execute_statement::ExecuteStatementError::ExecuteStatementException(inner) => Error::ExecuteStatementException(inner),
213 crate::operation::execute_statement::ExecuteStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
214 crate::operation::execute_statement::ExecuteStatementError::ValidationException(inner) => Error::ValidationException(inner),
215 crate::operation::execute_statement::ExecuteStatementError::Unhandled(inner) => Error::Unhandled(inner),
216 }
217 }
218}
219impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result::GetStatementResultError, R>> for Error
220where
221 R: Send + Sync + std::fmt::Debug + 'static,
222{
223 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result::GetStatementResultError, R>) -> Self {
224 match err {
225 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
226 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
227 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
228 source: err.into(),
229 }),
230 }
231 }
232}
233impl From<crate::operation::get_statement_result::GetStatementResultError> for Error {
234 fn from(err: crate::operation::get_statement_result::GetStatementResultError) -> Self {
235 match err {
236 crate::operation::get_statement_result::GetStatementResultError::InternalServerException(inner) => Error::InternalServerException(inner),
237 crate::operation::get_statement_result::GetStatementResultError::ResourceNotFoundException(inner) => {
238 Error::ResourceNotFoundException(inner)
239 }
240 crate::operation::get_statement_result::GetStatementResultError::ValidationException(inner) => Error::ValidationException(inner),
241 crate::operation::get_statement_result::GetStatementResultError::Unhandled(inner) => Error::Unhandled(inner),
242 }
243 }
244}
245impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result_v2::GetStatementResultV2Error, R>> for Error
246where
247 R: Send + Sync + std::fmt::Debug + 'static,
248{
249 fn from(
250 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result_v2::GetStatementResultV2Error, R>,
251 ) -> Self {
252 match err {
253 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
254 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
255 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
256 source: err.into(),
257 }),
258 }
259 }
260}
261impl From<crate::operation::get_statement_result_v2::GetStatementResultV2Error> for Error {
262 fn from(err: crate::operation::get_statement_result_v2::GetStatementResultV2Error) -> Self {
263 match err {
264 crate::operation::get_statement_result_v2::GetStatementResultV2Error::InternalServerException(inner) => {
265 Error::InternalServerException(inner)
266 }
267 crate::operation::get_statement_result_v2::GetStatementResultV2Error::ResourceNotFoundException(inner) => {
268 Error::ResourceNotFoundException(inner)
269 }
270 crate::operation::get_statement_result_v2::GetStatementResultV2Error::ValidationException(inner) => Error::ValidationException(inner),
271 crate::operation::get_statement_result_v2::GetStatementResultV2Error::Unhandled(inner) => Error::Unhandled(inner),
272 }
273 }
274}
275impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_databases::ListDatabasesError, R>> for Error
276where
277 R: Send + Sync + std::fmt::Debug + 'static,
278{
279 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_databases::ListDatabasesError, R>) -> Self {
280 match err {
281 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
282 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
283 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
284 source: err.into(),
285 }),
286 }
287 }
288}
289impl From<crate::operation::list_databases::ListDatabasesError> for Error {
290 fn from(err: crate::operation::list_databases::ListDatabasesError) -> Self {
291 match err {
292 crate::operation::list_databases::ListDatabasesError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
293 crate::operation::list_databases::ListDatabasesError::InternalServerException(inner) => Error::InternalServerException(inner),
294 crate::operation::list_databases::ListDatabasesError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
295 crate::operation::list_databases::ListDatabasesError::ValidationException(inner) => Error::ValidationException(inner),
296 crate::operation::list_databases::ListDatabasesError::Unhandled(inner) => Error::Unhandled(inner),
297 }
298 }
299}
300impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>> for Error
301where
302 R: Send + Sync + std::fmt::Debug + 'static,
303{
304 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>) -> Self {
305 match err {
306 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
307 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
308 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
309 source: err.into(),
310 }),
311 }
312 }
313}
314impl From<crate::operation::list_schemas::ListSchemasError> for Error {
315 fn from(err: crate::operation::list_schemas::ListSchemasError) -> Self {
316 match err {
317 crate::operation::list_schemas::ListSchemasError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
318 crate::operation::list_schemas::ListSchemasError::InternalServerException(inner) => Error::InternalServerException(inner),
319 crate::operation::list_schemas::ListSchemasError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
320 crate::operation::list_schemas::ListSchemasError::ValidationException(inner) => Error::ValidationException(inner),
321 crate::operation::list_schemas::ListSchemasError::Unhandled(inner) => Error::Unhandled(inner),
322 }
323 }
324}
325impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_statements::ListStatementsError, R>> for Error
326where
327 R: Send + Sync + std::fmt::Debug + 'static,
328{
329 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_statements::ListStatementsError, R>) -> Self {
330 match err {
331 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
332 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
333 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
334 source: err.into(),
335 }),
336 }
337 }
338}
339impl From<crate::operation::list_statements::ListStatementsError> for Error {
340 fn from(err: crate::operation::list_statements::ListStatementsError) -> Self {
341 match err {
342 crate::operation::list_statements::ListStatementsError::InternalServerException(inner) => Error::InternalServerException(inner),
343 crate::operation::list_statements::ListStatementsError::ValidationException(inner) => Error::ValidationException(inner),
344 crate::operation::list_statements::ListStatementsError::Unhandled(inner) => Error::Unhandled(inner),
345 }
346 }
347}
348impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tables::ListTablesError, R>> for Error
349where
350 R: Send + Sync + std::fmt::Debug + 'static,
351{
352 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tables::ListTablesError, R>) -> Self {
353 match err {
354 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
355 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
356 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
357 source: err.into(),
358 }),
359 }
360 }
361}
362impl From<crate::operation::list_tables::ListTablesError> for Error {
363 fn from(err: crate::operation::list_tables::ListTablesError) -> Self {
364 match err {
365 crate::operation::list_tables::ListTablesError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
366 crate::operation::list_tables::ListTablesError::InternalServerException(inner) => Error::InternalServerException(inner),
367 crate::operation::list_tables::ListTablesError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
368 crate::operation::list_tables::ListTablesError::ValidationException(inner) => Error::ValidationException(inner),
369 crate::operation::list_tables::ListTablesError::Unhandled(inner) => Error::Unhandled(inner),
370 }
371 }
372}
373impl ::std::error::Error for Error {
374 fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
375 match self {
376 Error::ActiveSessionsExceededException(inner) => inner.source(),
377 Error::ActiveStatementsExceededException(inner) => inner.source(),
378 Error::BatchExecuteStatementException(inner) => inner.source(),
379 Error::DatabaseConnectionException(inner) => inner.source(),
380 Error::ExecuteStatementException(inner) => inner.source(),
381 Error::InternalServerException(inner) => inner.source(),
382 Error::QueryTimeoutException(inner) => inner.source(),
383 Error::ResourceNotFoundException(inner) => inner.source(),
384 Error::ValidationException(inner) => inner.source(),
385 Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
386 }
387 }
388}
389impl ::aws_types::request_id::RequestId for Error {
390 fn request_id(&self) -> Option<&str> {
391 match self {
392 Self::ActiveSessionsExceededException(e) => e.request_id(),
393 Self::ActiveStatementsExceededException(e) => e.request_id(),
394 Self::BatchExecuteStatementException(e) => e.request_id(),
395 Self::DatabaseConnectionException(e) => e.request_id(),
396 Self::ExecuteStatementException(e) => e.request_id(),
397 Self::InternalServerException(e) => e.request_id(),
398 Self::QueryTimeoutException(e) => e.request_id(),
399 Self::ResourceNotFoundException(e) => e.request_id(),
400 Self::ValidationException(e) => e.request_id(),
401 Self::Unhandled(e) => e.meta.request_id(),
402 }
403 }
404}