#[non_exhaustive]
#[derive(std::fmt::Debug)]
pub enum Error {
    InvalidInputException(crate::types::error::InvalidInputException),
    InvalidNextTokenException(crate::types::error::InvalidNextTokenException),
    LimitExceededException(crate::types::error::LimitExceededException),
    ResourceAlreadyExistsException(crate::types::error::ResourceAlreadyExistsException),
    ResourceInUseException(crate::types::error::ResourceInUseException),
    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
    TooManyTagKeysException(crate::types::error::TooManyTagKeysException),
    TooManyTagsException(crate::types::error::TooManyTagsException),
    Unhandled(aws_smithy_types::error::Unhandled),
}
impl std::fmt::Display for Error {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            Error::InvalidInputException(inner) => inner.fmt(f),
            Error::InvalidNextTokenException(inner) => inner.fmt(f),
            Error::LimitExceededException(inner) => inner.fmt(f),
            Error::ResourceAlreadyExistsException(inner) => inner.fmt(f),
            Error::ResourceInUseException(inner) => inner.fmt(f),
            Error::ResourceNotFoundException(inner) => inner.fmt(f),
            Error::TooManyTagKeysException(inner) => inner.fmt(f),
            Error::TooManyTagsException(inner) => inner.fmt(f),
            Error::Unhandled(inner) => inner.fmt(f),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_batch_inference_job::CreateBatchInferenceJobError> for Error {
    fn from(
        err: crate::operation::create_batch_inference_job::CreateBatchInferenceJobError,
    ) -> Self {
        match err {
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_batch_inference_job::CreateBatchInferenceJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_batch_segment_job::CreateBatchSegmentJobError> for Error {
    fn from(err: crate::operation::create_batch_segment_job::CreateBatchSegmentJobError) -> Self {
        match err {
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_batch_segment_job::CreateBatchSegmentJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_campaign::CreateCampaignError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_campaign::CreateCampaignError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_campaign::CreateCampaignError> for Error {
    fn from(err: crate::operation::create_campaign::CreateCampaignError) -> Self {
        match err {
            crate::operation::create_campaign::CreateCampaignError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_campaign::CreateCampaignError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_campaign::CreateCampaignError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_campaign::CreateCampaignError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_campaign::CreateCampaignError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_campaign::CreateCampaignError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_campaign::CreateCampaignError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::create_dataset::CreateDatasetError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_dataset::CreateDatasetError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_dataset::CreateDatasetError> for Error {
    fn from(err: crate::operation::create_dataset::CreateDatasetError) -> Self {
        match err {
            crate::operation::create_dataset::CreateDatasetError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_dataset::CreateDatasetError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_dataset::CreateDatasetError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_dataset::CreateDatasetError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_dataset::CreateDatasetError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_dataset::CreateDatasetError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_dataset::CreateDatasetError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_dataset_export_job::CreateDatasetExportJobError> for Error {
    fn from(err: crate::operation::create_dataset_export_job::CreateDatasetExportJobError) -> Self {
        match err {
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_dataset_export_job::CreateDatasetExportJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_group::CreateDatasetGroupError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_group::CreateDatasetGroupError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_dataset_group::CreateDatasetGroupError> for Error {
    fn from(err: crate::operation::create_dataset_group::CreateDatasetGroupError) -> Self {
        match err {
            crate::operation::create_dataset_group::CreateDatasetGroupError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_dataset_group::CreateDatasetGroupError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_dataset_group::CreateDatasetGroupError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_dataset_group::CreateDatasetGroupError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_dataset_group::CreateDatasetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_dataset_import_job::CreateDatasetImportJobError> for Error {
    fn from(err: crate::operation::create_dataset_import_job::CreateDatasetImportJobError) -> Self {
        match err {
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_dataset_import_job::CreateDatasetImportJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_event_tracker::CreateEventTrackerError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_event_tracker::CreateEventTrackerError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_event_tracker::CreateEventTrackerError> for Error {
    fn from(err: crate::operation::create_event_tracker::CreateEventTrackerError) -> Self {
        match err {
            crate::operation::create_event_tracker::CreateEventTrackerError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_event_tracker::CreateEventTrackerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::create_filter::CreateFilterError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_filter::CreateFilterError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_filter::CreateFilterError> for Error {
    fn from(err: crate::operation::create_filter::CreateFilterError) -> Self {
        match err {
            crate::operation::create_filter::CreateFilterError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::create_filter::CreateFilterError::LimitExceededException(inner) => {
                Error::LimitExceededException(inner)
            }
            crate::operation::create_filter::CreateFilterError::ResourceAlreadyExistsException(
                inner,
            ) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_filter::CreateFilterError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::create_filter::CreateFilterError::TooManyTagsException(inner) => {
                Error::TooManyTagsException(inner)
            }
            crate::operation::create_filter::CreateFilterError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_metric_attribution::CreateMetricAttributionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_metric_attribution::CreateMetricAttributionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_metric_attribution::CreateMetricAttributionError> for Error {
    fn from(
        err: crate::operation::create_metric_attribution::CreateMetricAttributionError,
    ) -> Self {
        match err {
            crate::operation::create_metric_attribution::CreateMetricAttributionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_metric_attribution::CreateMetricAttributionError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_metric_attribution::CreateMetricAttributionError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_metric_attribution::CreateMetricAttributionError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_metric_attribution::CreateMetricAttributionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_metric_attribution::CreateMetricAttributionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_recommender::CreateRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_recommender::CreateRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_recommender::CreateRecommenderError> for Error {
    fn from(err: crate::operation::create_recommender::CreateRecommenderError) -> Self {
        match err {
            crate::operation::create_recommender::CreateRecommenderError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_recommender::CreateRecommenderError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_recommender::CreateRecommenderError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_recommender::CreateRecommenderError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_recommender::CreateRecommenderError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_recommender::CreateRecommenderError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_recommender::CreateRecommenderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::create_schema::CreateSchemaError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_schema::CreateSchemaError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_schema::CreateSchemaError> for Error {
    fn from(err: crate::operation::create_schema::CreateSchemaError) -> Self {
        match err {
            crate::operation::create_schema::CreateSchemaError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::create_schema::CreateSchemaError::LimitExceededException(inner) => {
                Error::LimitExceededException(inner)
            }
            crate::operation::create_schema::CreateSchemaError::ResourceAlreadyExistsException(
                inner,
            ) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_schema::CreateSchemaError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_solution::CreateSolutionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_solution::CreateSolutionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_solution::CreateSolutionError> for Error {
    fn from(err: crate::operation::create_solution::CreateSolutionError) -> Self {
        match err {
            crate::operation::create_solution::CreateSolutionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_solution::CreateSolutionError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_solution::CreateSolutionError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_solution::CreateSolutionError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_solution::CreateSolutionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_solution::CreateSolutionError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_solution::CreateSolutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::create_solution_version::CreateSolutionVersionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::create_solution_version::CreateSolutionVersionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::create_solution_version::CreateSolutionVersionError> for Error {
    fn from(err: crate::operation::create_solution_version::CreateSolutionVersionError) -> Self {
        match err {
            crate::operation::create_solution_version::CreateSolutionVersionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_solution_version::CreateSolutionVersionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_campaign::DeleteCampaignError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_campaign::DeleteCampaignError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_campaign::DeleteCampaignError> for Error {
    fn from(err: crate::operation::delete_campaign::DeleteCampaignError) -> Self {
        match err {
            crate::operation::delete_campaign::DeleteCampaignError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::delete_campaign::DeleteCampaignError::ResourceInUseException(
                inner,
            ) => Error::ResourceInUseException(inner),
            crate::operation::delete_campaign::DeleteCampaignError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_campaign::DeleteCampaignError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::delete_dataset::DeleteDatasetError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_dataset::DeleteDatasetError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_dataset::DeleteDatasetError> for Error {
    fn from(err: crate::operation::delete_dataset::DeleteDatasetError) -> Self {
        match err {
            crate::operation::delete_dataset::DeleteDatasetError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::delete_dataset::DeleteDatasetError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::delete_dataset::DeleteDatasetError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_dataset::DeleteDatasetError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_dataset_group::DeleteDatasetGroupError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_dataset_group::DeleteDatasetGroupError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_dataset_group::DeleteDatasetGroupError> for Error {
    fn from(err: crate::operation::delete_dataset_group::DeleteDatasetGroupError) -> Self {
        match err {
            crate::operation::delete_dataset_group::DeleteDatasetGroupError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::delete_dataset_group::DeleteDatasetGroupError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::delete_dataset_group::DeleteDatasetGroupError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_dataset_group::DeleteDatasetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_event_tracker::DeleteEventTrackerError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_event_tracker::DeleteEventTrackerError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_event_tracker::DeleteEventTrackerError> for Error {
    fn from(err: crate::operation::delete_event_tracker::DeleteEventTrackerError) -> Self {
        match err {
            crate::operation::delete_event_tracker::DeleteEventTrackerError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::delete_event_tracker::DeleteEventTrackerError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::delete_event_tracker::DeleteEventTrackerError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_event_tracker::DeleteEventTrackerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::delete_filter::DeleteFilterError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_filter::DeleteFilterError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_filter::DeleteFilterError> for Error {
    fn from(err: crate::operation::delete_filter::DeleteFilterError) -> Self {
        match err {
            crate::operation::delete_filter::DeleteFilterError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::delete_filter::DeleteFilterError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::delete_filter::DeleteFilterError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_filter::DeleteFilterError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_metric_attribution::DeleteMetricAttributionError> for Error {
    fn from(
        err: crate::operation::delete_metric_attribution::DeleteMetricAttributionError,
    ) -> Self {
        match err {
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_metric_attribution::DeleteMetricAttributionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_recommender::DeleteRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_recommender::DeleteRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_recommender::DeleteRecommenderError> for Error {
    fn from(err: crate::operation::delete_recommender::DeleteRecommenderError) -> Self {
        match err {
            crate::operation::delete_recommender::DeleteRecommenderError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::delete_recommender::DeleteRecommenderError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::delete_recommender::DeleteRecommenderError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_recommender::DeleteRecommenderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::delete_schema::DeleteSchemaError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_schema::DeleteSchemaError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_schema::DeleteSchemaError> for Error {
    fn from(err: crate::operation::delete_schema::DeleteSchemaError) -> Self {
        match err {
            crate::operation::delete_schema::DeleteSchemaError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::delete_schema::DeleteSchemaError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::delete_schema::DeleteSchemaError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_schema::DeleteSchemaError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::delete_solution::DeleteSolutionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::delete_solution::DeleteSolutionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::delete_solution::DeleteSolutionError> for Error {
    fn from(err: crate::operation::delete_solution::DeleteSolutionError) -> Self {
        match err {
            crate::operation::delete_solution::DeleteSolutionError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::delete_solution::DeleteSolutionError::ResourceInUseException(
                inner,
            ) => Error::ResourceInUseException(inner),
            crate::operation::delete_solution::DeleteSolutionError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::delete_solution::DeleteSolutionError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_algorithm::DescribeAlgorithmError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_algorithm::DescribeAlgorithmError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_algorithm::DescribeAlgorithmError> for Error {
    fn from(err: crate::operation::describe_algorithm::DescribeAlgorithmError) -> Self {
        match err {
            crate::operation::describe_algorithm::DescribeAlgorithmError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_algorithm::DescribeAlgorithmError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_algorithm::DescribeAlgorithmError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError>
    for Error
{
    fn from(
        err: crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError,
    ) -> Self {
        match err {
            crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_batch_inference_job::DescribeBatchInferenceJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError> for Error {
    fn from(
        err: crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError,
    ) -> Self {
        match err {
            crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_batch_segment_job::DescribeBatchSegmentJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_campaign::DescribeCampaignError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_campaign::DescribeCampaignError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_campaign::DescribeCampaignError> for Error {
    fn from(err: crate::operation::describe_campaign::DescribeCampaignError) -> Self {
        match err {
            crate::operation::describe_campaign::DescribeCampaignError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_campaign::DescribeCampaignError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_campaign::DescribeCampaignError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset::DescribeDatasetError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset::DescribeDatasetError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_dataset::DescribeDatasetError> for Error {
    fn from(err: crate::operation::describe_dataset::DescribeDatasetError) -> Self {
        match err {
            crate::operation::describe_dataset::DescribeDatasetError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::describe_dataset::DescribeDatasetError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_dataset::DescribeDatasetError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError> for Error {
    fn from(
        err: crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError,
    ) -> Self {
        match err {
            crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_dataset_export_job::DescribeDatasetExportJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_group::DescribeDatasetGroupError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_group::DescribeDatasetGroupError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_dataset_group::DescribeDatasetGroupError> for Error {
    fn from(err: crate::operation::describe_dataset_group::DescribeDatasetGroupError) -> Self {
        match err {
            crate::operation::describe_dataset_group::DescribeDatasetGroupError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_dataset_group::DescribeDatasetGroupError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_dataset_group::DescribeDatasetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError> for Error {
    fn from(
        err: crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError,
    ) -> Self {
        match err {
            crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_dataset_import_job::DescribeDatasetImportJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_event_tracker::DescribeEventTrackerError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_event_tracker::DescribeEventTrackerError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_event_tracker::DescribeEventTrackerError> for Error {
    fn from(err: crate::operation::describe_event_tracker::DescribeEventTrackerError) -> Self {
        match err {
            crate::operation::describe_event_tracker::DescribeEventTrackerError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_event_tracker::DescribeEventTrackerError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_event_tracker::DescribeEventTrackerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_feature_transformation::DescribeFeatureTransformationError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_feature_transformation::DescribeFeatureTransformationError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_feature_transformation::DescribeFeatureTransformationError>
    for Error
{
    fn from(
        err: crate::operation::describe_feature_transformation::DescribeFeatureTransformationError,
    ) -> Self {
        match err {
            crate::operation::describe_feature_transformation::DescribeFeatureTransformationError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_feature_transformation::DescribeFeatureTransformationError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_feature_transformation::DescribeFeatureTransformationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_filter::DescribeFilterError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_filter::DescribeFilterError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_filter::DescribeFilterError> for Error {
    fn from(err: crate::operation::describe_filter::DescribeFilterError) -> Self {
        match err {
            crate::operation::describe_filter::DescribeFilterError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::describe_filter::DescribeFilterError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_filter::DescribeFilterError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_metric_attribution::DescribeMetricAttributionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_metric_attribution::DescribeMetricAttributionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_metric_attribution::DescribeMetricAttributionError> for Error {
    fn from(
        err: crate::operation::describe_metric_attribution::DescribeMetricAttributionError,
    ) -> Self {
        match err {
            crate::operation::describe_metric_attribution::DescribeMetricAttributionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_metric_attribution::DescribeMetricAttributionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_metric_attribution::DescribeMetricAttributionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_recipe::DescribeRecipeError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_recipe::DescribeRecipeError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_recipe::DescribeRecipeError> for Error {
    fn from(err: crate::operation::describe_recipe::DescribeRecipeError) -> Self {
        match err {
            crate::operation::describe_recipe::DescribeRecipeError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::describe_recipe::DescribeRecipeError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_recipe::DescribeRecipeError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_recommender::DescribeRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_recommender::DescribeRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_recommender::DescribeRecommenderError> for Error {
    fn from(err: crate::operation::describe_recommender::DescribeRecommenderError) -> Self {
        match err {
            crate::operation::describe_recommender::DescribeRecommenderError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_recommender::DescribeRecommenderError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_recommender::DescribeRecommenderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_schema::DescribeSchemaError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_schema::DescribeSchemaError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_schema::DescribeSchemaError> for Error {
    fn from(err: crate::operation::describe_schema::DescribeSchemaError) -> Self {
        match err {
            crate::operation::describe_schema::DescribeSchemaError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::describe_schema::DescribeSchemaError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_schema::DescribeSchemaError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_solution::DescribeSolutionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_solution::DescribeSolutionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_solution::DescribeSolutionError> for Error {
    fn from(err: crate::operation::describe_solution::DescribeSolutionError) -> Self {
        match err {
            crate::operation::describe_solution::DescribeSolutionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_solution::DescribeSolutionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_solution::DescribeSolutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::describe_solution_version::DescribeSolutionVersionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::describe_solution_version::DescribeSolutionVersionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::describe_solution_version::DescribeSolutionVersionError> for Error {
    fn from(
        err: crate::operation::describe_solution_version::DescribeSolutionVersionError,
    ) -> Self {
        match err {
            crate::operation::describe_solution_version::DescribeSolutionVersionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::describe_solution_version::DescribeSolutionVersionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::describe_solution_version::DescribeSolutionVersionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::get_solution_metrics::GetSolutionMetricsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::get_solution_metrics::GetSolutionMetricsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::get_solution_metrics::GetSolutionMetricsError> for Error {
    fn from(err: crate::operation::get_solution_metrics::GetSolutionMetricsError) -> Self {
        match err {
            crate::operation::get_solution_metrics::GetSolutionMetricsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::get_solution_metrics::GetSolutionMetricsError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::get_solution_metrics::GetSolutionMetricsError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::get_solution_metrics::GetSolutionMetricsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError> for Error {
    fn from(err: crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError) -> Self {
        match err {
            crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_batch_inference_jobs::ListBatchInferenceJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError> for Error {
    fn from(err: crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError) -> Self {
        match err {
            crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_batch_segment_jobs::ListBatchSegmentJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::list_campaigns::ListCampaignsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_campaigns::ListCampaignsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_campaigns::ListCampaignsError> for Error {
    fn from(err: crate::operation::list_campaigns::ListCampaignsError) -> Self {
        match err {
            crate::operation::list_campaigns::ListCampaignsError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::list_campaigns::ListCampaignsError::InvalidNextTokenException(
                inner,
            ) => Error::InvalidNextTokenException(inner),
            crate::operation::list_campaigns::ListCampaignsError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError> for Error {
    fn from(err: crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError) -> Self {
        match err {
            crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_dataset_export_jobs::ListDatasetExportJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_groups::ListDatasetGroupsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_groups::ListDatasetGroupsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_dataset_groups::ListDatasetGroupsError> for Error {
    fn from(err: crate::operation::list_dataset_groups::ListDatasetGroupsError) -> Self {
        match err {
            crate::operation::list_dataset_groups::ListDatasetGroupsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_dataset_groups::ListDatasetGroupsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError> for Error {
    fn from(err: crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError) -> Self {
        match err {
            crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_dataset_import_jobs::ListDatasetImportJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::list_datasets::ListDatasetsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_datasets::ListDatasetsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_datasets::ListDatasetsError> for Error {
    fn from(err: crate::operation::list_datasets::ListDatasetsError) -> Self {
        match err {
            crate::operation::list_datasets::ListDatasetsError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::list_datasets::ListDatasetsError::InvalidNextTokenException(
                inner,
            ) => Error::InvalidNextTokenException(inner),
            crate::operation::list_datasets::ListDatasetsError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_event_trackers::ListEventTrackersError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_event_trackers::ListEventTrackersError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_event_trackers::ListEventTrackersError> for Error {
    fn from(err: crate::operation::list_event_trackers::ListEventTrackersError) -> Self {
        match err {
            crate::operation::list_event_trackers::ListEventTrackersError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_event_trackers::ListEventTrackersError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_event_trackers::ListEventTrackersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<aws_smithy_http::result::SdkError<crate::operation::list_filters::ListFiltersError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<crate::operation::list_filters::ListFiltersError, R>,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_filters::ListFiltersError> for Error {
    fn from(err: crate::operation::list_filters::ListFiltersError) -> Self {
        match err {
            crate::operation::list_filters::ListFiltersError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::list_filters::ListFiltersError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_filters::ListFiltersError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError>
    for Error
{
    fn from(
        err: crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError,
    ) -> Self {
        match err {
            crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_metric_attribution_metrics::ListMetricAttributionMetricsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_metric_attributions::ListMetricAttributionsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_metric_attributions::ListMetricAttributionsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_metric_attributions::ListMetricAttributionsError> for Error {
    fn from(err: crate::operation::list_metric_attributions::ListMetricAttributionsError) -> Self {
        match err {
            crate::operation::list_metric_attributions::ListMetricAttributionsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_metric_attributions::ListMetricAttributionsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_metric_attributions::ListMetricAttributionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<aws_smithy_http::result::SdkError<crate::operation::list_recipes::ListRecipesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<crate::operation::list_recipes::ListRecipesError, R>,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_recipes::ListRecipesError> for Error {
    fn from(err: crate::operation::list_recipes::ListRecipesError) -> Self {
        match err {
            crate::operation::list_recipes::ListRecipesError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::list_recipes::ListRecipesError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_recipes::ListRecipesError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_recommenders::ListRecommendersError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_recommenders::ListRecommendersError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_recommenders::ListRecommendersError> for Error {
    fn from(err: crate::operation::list_recommenders::ListRecommendersError) -> Self {
        match err {
            crate::operation::list_recommenders::ListRecommendersError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_recommenders::ListRecommendersError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_recommenders::ListRecommendersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<aws_smithy_http::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<crate::operation::list_schemas::ListSchemasError, R>,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_schemas::ListSchemasError> for Error {
    fn from(err: crate::operation::list_schemas::ListSchemasError) -> Self {
        match err {
            crate::operation::list_schemas::ListSchemasError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_schemas::ListSchemasError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::list_solutions::ListSolutionsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_solutions::ListSolutionsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_solutions::ListSolutionsError> for Error {
    fn from(err: crate::operation::list_solutions::ListSolutionsError) -> Self {
        match err {
            crate::operation::list_solutions::ListSolutionsError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::list_solutions::ListSolutionsError::InvalidNextTokenException(
                inner,
            ) => Error::InvalidNextTokenException(inner),
            crate::operation::list_solutions::ListSolutionsError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_solution_versions::ListSolutionVersionsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_solution_versions::ListSolutionVersionsError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_solution_versions::ListSolutionVersionsError> for Error {
    fn from(err: crate::operation::list_solution_versions::ListSolutionVersionsError) -> Self {
        match err {
            crate::operation::list_solution_versions::ListSolutionVersionsError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_solution_versions::ListSolutionVersionsError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_solution_versions::ListSolutionVersionsError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::list_solution_versions::ListSolutionVersionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::list_tags_for_resource::ListTagsForResourceError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::list_tags_for_resource::ListTagsForResourceError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::list_tags_for_resource::ListTagsForResourceError> for Error {
    fn from(err: crate::operation::list_tags_for_resource::ListTagsForResourceError) -> Self {
        match err {
            crate::operation::list_tags_for_resource::ListTagsForResourceError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::start_recommender::StartRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::start_recommender::StartRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::start_recommender::StartRecommenderError> for Error {
    fn from(err: crate::operation::start_recommender::StartRecommenderError) -> Self {
        match err {
            crate::operation::start_recommender::StartRecommenderError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::start_recommender::StartRecommenderError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::start_recommender::StartRecommenderError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::start_recommender::StartRecommenderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::stop_recommender::StopRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::stop_recommender::StopRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::stop_recommender::StopRecommenderError> for Error {
    fn from(err: crate::operation::stop_recommender::StopRecommenderError) -> Self {
        match err {
            crate::operation::stop_recommender::StopRecommenderError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::stop_recommender::StopRecommenderError::ResourceInUseException(
                inner,
            ) => Error::ResourceInUseException(inner),
            crate::operation::stop_recommender::StopRecommenderError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::stop_recommender::StopRecommenderError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError>
    for Error
{
    fn from(
        err: crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError,
    ) -> Self {
        match err {
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::stop_solution_version_creation::StopSolutionVersionCreationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<aws_smithy_http::result::SdkError<crate::operation::tag_resource::TagResourceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<crate::operation::tag_resource::TagResourceError, R>,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::tag_resource::TagResourceError> for Error {
    fn from(err: crate::operation::tag_resource::TagResourceError) -> Self {
        match err {
            crate::operation::tag_resource::TagResourceError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::tag_resource::TagResourceError::LimitExceededException(inner) => {
                Error::LimitExceededException(inner)
            }
            crate::operation::tag_resource::TagResourceError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::tag_resource::TagResourceError::ResourceNotFoundException(inner) => {
                Error::ResourceNotFoundException(inner)
            }
            crate::operation::tag_resource::TagResourceError::TooManyTagsException(inner) => {
                Error::TooManyTagsException(inner)
            }
            crate::operation::tag_resource::TagResourceError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<aws_smithy_http::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::untag_resource::UntagResourceError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::untag_resource::UntagResourceError> for Error {
    fn from(err: crate::operation::untag_resource::UntagResourceError) -> Self {
        match err {
            crate::operation::untag_resource::UntagResourceError::InvalidInputException(inner) => {
                Error::InvalidInputException(inner)
            }
            crate::operation::untag_resource::UntagResourceError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::untag_resource::UntagResourceError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::untag_resource::UntagResourceError::TooManyTagKeysException(
                inner,
            ) => Error::TooManyTagKeysException(inner),
            crate::operation::untag_resource::UntagResourceError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::update_campaign::UpdateCampaignError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::update_campaign::UpdateCampaignError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::update_campaign::UpdateCampaignError> for Error {
    fn from(err: crate::operation::update_campaign::UpdateCampaignError) -> Self {
        match err {
            crate::operation::update_campaign::UpdateCampaignError::InvalidInputException(
                inner,
            ) => Error::InvalidInputException(inner),
            crate::operation::update_campaign::UpdateCampaignError::ResourceInUseException(
                inner,
            ) => Error::ResourceInUseException(inner),
            crate::operation::update_campaign::UpdateCampaignError::ResourceNotFoundException(
                inner,
            ) => Error::ResourceNotFoundException(inner),
            crate::operation::update_campaign::UpdateCampaignError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::update_metric_attribution::UpdateMetricAttributionError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::update_metric_attribution::UpdateMetricAttributionError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::update_metric_attribution::UpdateMetricAttributionError> for Error {
    fn from(
        err: crate::operation::update_metric_attribution::UpdateMetricAttributionError,
    ) -> Self {
        match err {
            crate::operation::update_metric_attribution::UpdateMetricAttributionError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::update_metric_attribution::UpdateMetricAttributionError::ResourceAlreadyExistsException(inner) => Error::ResourceAlreadyExistsException(inner),
            crate::operation::update_metric_attribution::UpdateMetricAttributionError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::update_metric_attribution::UpdateMetricAttributionError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::update_metric_attribution::UpdateMetricAttributionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        aws_smithy_http::result::SdkError<
            crate::operation::update_recommender::UpdateRecommenderError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: aws_smithy_http::result::SdkError<
            crate::operation::update_recommender::UpdateRecommenderError,
            R,
        >,
    ) -> Self {
        match err {
            aws_smithy_http::result::SdkError::ServiceError(context) => {
                Self::from(context.into_err())
            }
            _ => Error::Unhandled(
                aws_smithy_types::error::Unhandled::builder()
                    .meta(
                        aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                    )
                    .source(err)
                    .build(),
            ),
        }
    }
}
impl From<crate::operation::update_recommender::UpdateRecommenderError> for Error {
    fn from(err: crate::operation::update_recommender::UpdateRecommenderError) -> Self {
        match err {
            crate::operation::update_recommender::UpdateRecommenderError::InvalidInputException(inner) => Error::InvalidInputException(inner),
            crate::operation::update_recommender::UpdateRecommenderError::ResourceInUseException(inner) => Error::ResourceInUseException(inner),
            crate::operation::update_recommender::UpdateRecommenderError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::update_recommender::UpdateRecommenderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl std::error::Error for Error {
    fn source(&self) -> std::option::Option<&(dyn std::error::Error + 'static)> {
        match self {
            Error::InvalidInputException(inner) => inner.source(),
            Error::InvalidNextTokenException(inner) => inner.source(),
            Error::LimitExceededException(inner) => inner.source(),
            Error::ResourceAlreadyExistsException(inner) => inner.source(),
            Error::ResourceInUseException(inner) => inner.source(),
            Error::ResourceNotFoundException(inner) => inner.source(),
            Error::TooManyTagKeysException(inner) => inner.source(),
            Error::TooManyTagsException(inner) => inner.source(),
            Error::Unhandled(inner) => inner.source(),
        }
    }
}
impl aws_http::request_id::RequestId for Error {
    fn request_id(&self) -> Option<&str> {
        match self {
            Self::InvalidInputException(e) => e.request_id(),
            Self::InvalidNextTokenException(e) => e.request_id(),
            Self::LimitExceededException(e) => e.request_id(),
            Self::ResourceAlreadyExistsException(e) => e.request_id(),
            Self::ResourceInUseException(e) => e.request_id(),
            Self::ResourceNotFoundException(e) => e.request_id(),
            Self::TooManyTagKeysException(e) => e.request_id(),
            Self::TooManyTagsException(e) => e.request_id(),
            Self::Unhandled(e) => e.request_id(),
        }
    }
}