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::ResourceNotFoundException(inner) => {
111 Error::ResourceNotFoundException(inner)
112 }
113 crate::operation::batch_execute_statement::BatchExecuteStatementError::ValidationException(inner) => Error::ValidationException(inner),
114 crate::operation::batch_execute_statement::BatchExecuteStatementError::Unhandled(inner) => Error::Unhandled(inner),
115 }
116 }
117}
118impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::cancel_statement::CancelStatementError, 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::cancel_statement::CancelStatementError, 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::cancel_statement::CancelStatementError> for Error {
133 fn from(err: crate::operation::cancel_statement::CancelStatementError) -> Self {
134 match err {
135 crate::operation::cancel_statement::CancelStatementError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
136 crate::operation::cancel_statement::CancelStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
137 crate::operation::cancel_statement::CancelStatementError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
138 crate::operation::cancel_statement::CancelStatementError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
139 crate::operation::cancel_statement::CancelStatementError::ValidationException(inner) => Error::ValidationException(inner),
140 crate::operation::cancel_statement::CancelStatementError::Unhandled(inner) => Error::Unhandled(inner),
141 }
142 }
143}
144impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_statement::DescribeStatementError, R>> for Error
145where
146 R: Send + Sync + std::fmt::Debug + 'static,
147{
148 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_statement::DescribeStatementError, R>) -> 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::describe_statement::DescribeStatementError> for Error {
159 fn from(err: crate::operation::describe_statement::DescribeStatementError) -> Self {
160 match err {
161 crate::operation::describe_statement::DescribeStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
162 crate::operation::describe_statement::DescribeStatementError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
163 crate::operation::describe_statement::DescribeStatementError::ValidationException(inner) => Error::ValidationException(inner),
164 crate::operation::describe_statement::DescribeStatementError::Unhandled(inner) => Error::Unhandled(inner),
165 }
166 }
167}
168impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_table::DescribeTableError, 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::describe_table::DescribeTableError, 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::describe_table::DescribeTableError> for Error {
183 fn from(err: crate::operation::describe_table::DescribeTableError) -> Self {
184 match err {
185 crate::operation::describe_table::DescribeTableError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
186 crate::operation::describe_table::DescribeTableError::InternalServerException(inner) => Error::InternalServerException(inner),
187 crate::operation::describe_table::DescribeTableError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
188 crate::operation::describe_table::DescribeTableError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
189 crate::operation::describe_table::DescribeTableError::ValidationException(inner) => Error::ValidationException(inner),
190 crate::operation::describe_table::DescribeTableError::Unhandled(inner) => Error::Unhandled(inner),
191 }
192 }
193}
194impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_statement::ExecuteStatementError, R>> for Error
195where
196 R: Send + Sync + std::fmt::Debug + 'static,
197{
198 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_statement::ExecuteStatementError, R>) -> Self {
199 match err {
200 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
201 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
202 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
203 source: err.into(),
204 }),
205 }
206 }
207}
208impl From<crate::operation::execute_statement::ExecuteStatementError> for Error {
209 fn from(err: crate::operation::execute_statement::ExecuteStatementError) -> Self {
210 match err {
211 crate::operation::execute_statement::ExecuteStatementError::ActiveSessionsExceededException(inner) => {
212 Error::ActiveSessionsExceededException(inner)
213 }
214 crate::operation::execute_statement::ExecuteStatementError::ActiveStatementsExceededException(inner) => {
215 Error::ActiveStatementsExceededException(inner)
216 }
217 crate::operation::execute_statement::ExecuteStatementError::ExecuteStatementException(inner) => Error::ExecuteStatementException(inner),
218 crate::operation::execute_statement::ExecuteStatementError::InternalServerException(inner) => Error::InternalServerException(inner),
219 crate::operation::execute_statement::ExecuteStatementError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
220 crate::operation::execute_statement::ExecuteStatementError::ValidationException(inner) => Error::ValidationException(inner),
221 crate::operation::execute_statement::ExecuteStatementError::Unhandled(inner) => Error::Unhandled(inner),
222 }
223 }
224}
225impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result::GetStatementResultError, R>> for Error
226where
227 R: Send + Sync + std::fmt::Debug + 'static,
228{
229 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result::GetStatementResultError, R>) -> Self {
230 match err {
231 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
232 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
233 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
234 source: err.into(),
235 }),
236 }
237 }
238}
239impl From<crate::operation::get_statement_result::GetStatementResultError> for Error {
240 fn from(err: crate::operation::get_statement_result::GetStatementResultError) -> Self {
241 match err {
242 crate::operation::get_statement_result::GetStatementResultError::InternalServerException(inner) => Error::InternalServerException(inner),
243 crate::operation::get_statement_result::GetStatementResultError::ResourceNotFoundException(inner) => {
244 Error::ResourceNotFoundException(inner)
245 }
246 crate::operation::get_statement_result::GetStatementResultError::ValidationException(inner) => Error::ValidationException(inner),
247 crate::operation::get_statement_result::GetStatementResultError::Unhandled(inner) => Error::Unhandled(inner),
248 }
249 }
250}
251impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result_v2::GetStatementResultV2Error, R>> for Error
252where
253 R: Send + Sync + std::fmt::Debug + 'static,
254{
255 fn from(
256 err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_statement_result_v2::GetStatementResultV2Error, R>,
257 ) -> Self {
258 match err {
259 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
260 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
261 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
262 source: err.into(),
263 }),
264 }
265 }
266}
267impl From<crate::operation::get_statement_result_v2::GetStatementResultV2Error> for Error {
268 fn from(err: crate::operation::get_statement_result_v2::GetStatementResultV2Error) -> Self {
269 match err {
270 crate::operation::get_statement_result_v2::GetStatementResultV2Error::InternalServerException(inner) => {
271 Error::InternalServerException(inner)
272 }
273 crate::operation::get_statement_result_v2::GetStatementResultV2Error::ResourceNotFoundException(inner) => {
274 Error::ResourceNotFoundException(inner)
275 }
276 crate::operation::get_statement_result_v2::GetStatementResultV2Error::ValidationException(inner) => Error::ValidationException(inner),
277 crate::operation::get_statement_result_v2::GetStatementResultV2Error::Unhandled(inner) => Error::Unhandled(inner),
278 }
279 }
280}
281impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_databases::ListDatabasesError, R>> for Error
282where
283 R: Send + Sync + std::fmt::Debug + 'static,
284{
285 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_databases::ListDatabasesError, R>) -> 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::list_databases::ListDatabasesError> for Error {
296 fn from(err: crate::operation::list_databases::ListDatabasesError) -> Self {
297 match err {
298 crate::operation::list_databases::ListDatabasesError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
299 crate::operation::list_databases::ListDatabasesError::InternalServerException(inner) => Error::InternalServerException(inner),
300 crate::operation::list_databases::ListDatabasesError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
301 crate::operation::list_databases::ListDatabasesError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
302 crate::operation::list_databases::ListDatabasesError::ValidationException(inner) => Error::ValidationException(inner),
303 crate::operation::list_databases::ListDatabasesError::Unhandled(inner) => Error::Unhandled(inner),
304 }
305 }
306}
307impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>> for Error
308where
309 R: Send + Sync + std::fmt::Debug + 'static,
310{
311 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>) -> Self {
312 match err {
313 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
314 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
315 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
316 source: err.into(),
317 }),
318 }
319 }
320}
321impl From<crate::operation::list_schemas::ListSchemasError> for Error {
322 fn from(err: crate::operation::list_schemas::ListSchemasError) -> Self {
323 match err {
324 crate::operation::list_schemas::ListSchemasError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
325 crate::operation::list_schemas::ListSchemasError::InternalServerException(inner) => Error::InternalServerException(inner),
326 crate::operation::list_schemas::ListSchemasError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
327 crate::operation::list_schemas::ListSchemasError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
328 crate::operation::list_schemas::ListSchemasError::ValidationException(inner) => Error::ValidationException(inner),
329 crate::operation::list_schemas::ListSchemasError::Unhandled(inner) => Error::Unhandled(inner),
330 }
331 }
332}
333impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_statements::ListStatementsError, R>> for Error
334where
335 R: Send + Sync + std::fmt::Debug + 'static,
336{
337 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_statements::ListStatementsError, R>) -> Self {
338 match err {
339 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
340 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
341 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
342 source: err.into(),
343 }),
344 }
345 }
346}
347impl From<crate::operation::list_statements::ListStatementsError> for Error {
348 fn from(err: crate::operation::list_statements::ListStatementsError) -> Self {
349 match err {
350 crate::operation::list_statements::ListStatementsError::InternalServerException(inner) => Error::InternalServerException(inner),
351 crate::operation::list_statements::ListStatementsError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
352 crate::operation::list_statements::ListStatementsError::ValidationException(inner) => Error::ValidationException(inner),
353 crate::operation::list_statements::ListStatementsError::Unhandled(inner) => Error::Unhandled(inner),
354 }
355 }
356}
357impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tables::ListTablesError, R>> for Error
358where
359 R: Send + Sync + std::fmt::Debug + 'static,
360{
361 fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tables::ListTablesError, R>) -> Self {
362 match err {
363 ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
364 _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
365 meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
366 source: err.into(),
367 }),
368 }
369 }
370}
371impl From<crate::operation::list_tables::ListTablesError> for Error {
372 fn from(err: crate::operation::list_tables::ListTablesError) -> Self {
373 match err {
374 crate::operation::list_tables::ListTablesError::DatabaseConnectionException(inner) => Error::DatabaseConnectionException(inner),
375 crate::operation::list_tables::ListTablesError::InternalServerException(inner) => Error::InternalServerException(inner),
376 crate::operation::list_tables::ListTablesError::QueryTimeoutException(inner) => Error::QueryTimeoutException(inner),
377 crate::operation::list_tables::ListTablesError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
378 crate::operation::list_tables::ListTablesError::ValidationException(inner) => Error::ValidationException(inner),
379 crate::operation::list_tables::ListTablesError::Unhandled(inner) => Error::Unhandled(inner),
380 }
381 }
382}
383impl ::std::error::Error for Error {
384 fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
385 match self {
386 Error::ActiveSessionsExceededException(inner) => inner.source(),
387 Error::ActiveStatementsExceededException(inner) => inner.source(),
388 Error::BatchExecuteStatementException(inner) => inner.source(),
389 Error::DatabaseConnectionException(inner) => inner.source(),
390 Error::ExecuteStatementException(inner) => inner.source(),
391 Error::InternalServerException(inner) => inner.source(),
392 Error::QueryTimeoutException(inner) => inner.source(),
393 Error::ResourceNotFoundException(inner) => inner.source(),
394 Error::ValidationException(inner) => inner.source(),
395 Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
396 }
397 }
398}
399impl ::aws_types::request_id::RequestId for Error {
400 fn request_id(&self) -> Option<&str> {
401 match self {
402 Self::ActiveSessionsExceededException(e) => e.request_id(),
403 Self::ActiveStatementsExceededException(e) => e.request_id(),
404 Self::BatchExecuteStatementException(e) => e.request_id(),
405 Self::DatabaseConnectionException(e) => e.request_id(),
406 Self::ExecuteStatementException(e) => e.request_id(),
407 Self::InternalServerException(e) => e.request_id(),
408 Self::QueryTimeoutException(e) => e.request_id(),
409 Self::ResourceNotFoundException(e) => e.request_id(),
410 Self::ValidationException(e) => e.request_id(),
411 Self::Unhandled(e) => e.meta.request_id(),
412 }
413 }
414}