#[non_exhaustive]
#[derive(::std::fmt::Debug)]
pub enum Error {
    CustomHealthNotFound(crate::types::error::CustomHealthNotFound),
    DuplicateRequest(crate::types::error::DuplicateRequest),
    InstanceNotFound(crate::types::error::InstanceNotFound),
    InvalidInput(crate::types::error::InvalidInput),
    NamespaceAlreadyExists(crate::types::error::NamespaceAlreadyExists),
    NamespaceNotFound(crate::types::error::NamespaceNotFound),
    OperationNotFound(crate::types::error::OperationNotFound),
    RequestLimitExceeded(crate::types::error::RequestLimitExceeded),
    ResourceInUse(crate::types::error::ResourceInUse),
    ResourceLimitExceeded(crate::types::error::ResourceLimitExceeded),
    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
    ServiceAlreadyExists(crate::types::error::ServiceAlreadyExists),
    ServiceNotFound(crate::types::error::ServiceNotFound),
    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::CustomHealthNotFound(inner) => inner.fmt(f),
            Error::DuplicateRequest(inner) => inner.fmt(f),
            Error::InstanceNotFound(inner) => inner.fmt(f),
            Error::InvalidInput(inner) => inner.fmt(f),
            Error::NamespaceAlreadyExists(inner) => inner.fmt(f),
            Error::NamespaceNotFound(inner) => inner.fmt(f),
            Error::OperationNotFound(inner) => inner.fmt(f),
            Error::RequestLimitExceeded(inner) => inner.fmt(f),
            Error::ResourceInUse(inner) => inner.fmt(f),
            Error::ResourceLimitExceeded(inner) => inner.fmt(f),
            Error::ResourceNotFoundException(inner) => inner.fmt(f),
            Error::ServiceAlreadyExists(inner) => inner.fmt(f),
            Error::ServiceNotFound(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_http_namespace::CreateHttpNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::create_http_namespace::CreateHttpNamespaceError, 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_http_namespace::CreateHttpNamespaceError> for Error {
    fn from(err: crate::operation::create_http_namespace::CreateHttpNamespaceError) -> Self {
        match err {
            crate::operation::create_http_namespace::CreateHttpNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::create_http_namespace::CreateHttpNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::create_http_namespace::CreateHttpNamespaceError::NamespaceAlreadyExists(inner) => Error::NamespaceAlreadyExists(inner),
            crate::operation::create_http_namespace::CreateHttpNamespaceError::ResourceLimitExceeded(inner) => Error::ResourceLimitExceeded(inner),
            crate::operation::create_http_namespace::CreateHttpNamespaceError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_http_namespace::CreateHttpNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError, 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_private_dns_namespace::CreatePrivateDnsNamespaceError> for Error {
    fn from(err: crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError) -> Self {
        match err {
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::NamespaceAlreadyExists(inner) => {
                Error::NamespaceAlreadyExists(inner)
            }
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::ResourceLimitExceeded(inner) => {
                Error::ResourceLimitExceeded(inner)
            }
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::TooManyTagsException(inner) => {
                Error::TooManyTagsException(inner)
            }
            crate::operation::create_private_dns_namespace::CreatePrivateDnsNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError, 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_public_dns_namespace::CreatePublicDnsNamespaceError> for Error {
    fn from(err: crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError) -> Self {
        match err {
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::NamespaceAlreadyExists(inner) => {
                Error::NamespaceAlreadyExists(inner)
            }
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::ResourceLimitExceeded(inner) => {
                Error::ResourceLimitExceeded(inner)
            }
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::TooManyTagsException(inner) => {
                Error::TooManyTagsException(inner)
            }
            crate::operation::create_public_dns_namespace::CreatePublicDnsNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::create_service::CreateServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::create_service::CreateServiceError, 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_service::CreateServiceError> for Error {
    fn from(err: crate::operation::create_service::CreateServiceError) -> Self {
        match err {
            crate::operation::create_service::CreateServiceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::create_service::CreateServiceError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::create_service::CreateServiceError::ResourceLimitExceeded(inner) => Error::ResourceLimitExceeded(inner),
            crate::operation::create_service::CreateServiceError::ServiceAlreadyExists(inner) => Error::ServiceAlreadyExists(inner),
            crate::operation::create_service::CreateServiceError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_service::CreateServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::delete_namespace::DeleteNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::delete_namespace::DeleteNamespaceError, 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_namespace::DeleteNamespaceError> for Error {
    fn from(err: crate::operation::delete_namespace::DeleteNamespaceError) -> Self {
        match err {
            crate::operation::delete_namespace::DeleteNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::delete_namespace::DeleteNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::delete_namespace::DeleteNamespaceError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::delete_namespace::DeleteNamespaceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::delete_namespace::DeleteNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::delete_service::DeleteServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::delete_service::DeleteServiceError, 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_service::DeleteServiceError> for Error {
    fn from(err: crate::operation::delete_service::DeleteServiceError) -> Self {
        match err {
            crate::operation::delete_service::DeleteServiceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::delete_service::DeleteServiceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::delete_service::DeleteServiceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::delete_service::DeleteServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::deregister_instance::DeregisterInstanceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::deregister_instance::DeregisterInstanceError, 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::deregister_instance::DeregisterInstanceError> for Error {
    fn from(err: crate::operation::deregister_instance::DeregisterInstanceError) -> Self {
        match err {
            crate::operation::deregister_instance::DeregisterInstanceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::deregister_instance::DeregisterInstanceError::InstanceNotFound(inner) => Error::InstanceNotFound(inner),
            crate::operation::deregister_instance::DeregisterInstanceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::deregister_instance::DeregisterInstanceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::deregister_instance::DeregisterInstanceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::deregister_instance::DeregisterInstanceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::discover_instances::DiscoverInstancesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::discover_instances::DiscoverInstancesError, 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::discover_instances::DiscoverInstancesError> for Error {
    fn from(err: crate::operation::discover_instances::DiscoverInstancesError) -> Self {
        match err {
            crate::operation::discover_instances::DiscoverInstancesError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::discover_instances::DiscoverInstancesError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::discover_instances::DiscoverInstancesError::RequestLimitExceeded(inner) => Error::RequestLimitExceeded(inner),
            crate::operation::discover_instances::DiscoverInstancesError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::discover_instances::DiscoverInstancesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::get_instance::GetInstanceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::get_instance::GetInstanceError, 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_instance::GetInstanceError> for Error {
    fn from(err: crate::operation::get_instance::GetInstanceError) -> Self {
        match err {
            crate::operation::get_instance::GetInstanceError::InstanceNotFound(inner) => Error::InstanceNotFound(inner),
            crate::operation::get_instance::GetInstanceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::get_instance::GetInstanceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::get_instance::GetInstanceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::get_instances_health_status::GetInstancesHealthStatusError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::get_instances_health_status::GetInstancesHealthStatusError, 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_instances_health_status::GetInstancesHealthStatusError> for Error {
    fn from(err: crate::operation::get_instances_health_status::GetInstancesHealthStatusError) -> Self {
        match err {
            crate::operation::get_instances_health_status::GetInstancesHealthStatusError::InstanceNotFound(inner) => Error::InstanceNotFound(inner),
            crate::operation::get_instances_health_status::GetInstancesHealthStatusError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::get_instances_health_status::GetInstancesHealthStatusError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::get_instances_health_status::GetInstancesHealthStatusError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::get_namespace::GetNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::get_namespace::GetNamespaceError, 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_namespace::GetNamespaceError> for Error {
    fn from(err: crate::operation::get_namespace::GetNamespaceError) -> Self {
        match err {
            crate::operation::get_namespace::GetNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::get_namespace::GetNamespaceError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::get_namespace::GetNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::get_operation::GetOperationError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::get_operation::GetOperationError, 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_operation::GetOperationError> for Error {
    fn from(err: crate::operation::get_operation::GetOperationError) -> Self {
        match err {
            crate::operation::get_operation::GetOperationError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::get_operation::GetOperationError::OperationNotFound(inner) => Error::OperationNotFound(inner),
            crate::operation::get_operation::GetOperationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::get_service::GetServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::get_service::GetServiceError, 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_service::GetServiceError> for Error {
    fn from(err: crate::operation::get_service::GetServiceError) -> Self {
        match err {
            crate::operation::get_service::GetServiceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::get_service::GetServiceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::get_service::GetServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::list_instances::ListInstancesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::list_instances::ListInstancesError, 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_instances::ListInstancesError> for Error {
    fn from(err: crate::operation::list_instances::ListInstancesError) -> Self {
        match err {
            crate::operation::list_instances::ListInstancesError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::list_instances::ListInstancesError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::list_instances::ListInstancesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::list_namespaces::ListNamespacesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::list_namespaces::ListNamespacesError, 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_namespaces::ListNamespacesError> for Error {
    fn from(err: crate::operation::list_namespaces::ListNamespacesError) -> Self {
        match err {
            crate::operation::list_namespaces::ListNamespacesError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::list_namespaces::ListNamespacesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::list_operations::ListOperationsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::list_operations::ListOperationsError, 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_operations::ListOperationsError> for Error {
    fn from(err: crate::operation::list_operations::ListOperationsError) -> Self {
        match err {
            crate::operation::list_operations::ListOperationsError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::list_operations::ListOperationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::list_services::ListServicesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::list_services::ListServicesError, 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_services::ListServicesError> for Error {
    fn from(err: crate::operation::list_services::ListServicesError) -> Self {
        match err {
            crate::operation::list_services::ListServicesError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::list_services::ListServicesError::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::InvalidInput(inner) => Error::InvalidInput(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::register_instance::RegisterInstanceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::register_instance::RegisterInstanceError, 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::register_instance::RegisterInstanceError> for Error {
    fn from(err: crate::operation::register_instance::RegisterInstanceError) -> Self {
        match err {
            crate::operation::register_instance::RegisterInstanceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::register_instance::RegisterInstanceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::register_instance::RegisterInstanceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::register_instance::RegisterInstanceError::ResourceLimitExceeded(inner) => Error::ResourceLimitExceeded(inner),
            crate::operation::register_instance::RegisterInstanceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::register_instance::RegisterInstanceError::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::InvalidInput(inner) => Error::InvalidInput(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::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::untag_resource::UntagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::untag_resource::UntagResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::update_http_namespace::UpdateHttpNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::update_http_namespace::UpdateHttpNamespaceError, 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_http_namespace::UpdateHttpNamespaceError> for Error {
    fn from(err: crate::operation::update_http_namespace::UpdateHttpNamespaceError) -> Self {
        match err {
            crate::operation::update_http_namespace::UpdateHttpNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::update_http_namespace::UpdateHttpNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::update_http_namespace::UpdateHttpNamespaceError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::update_http_namespace::UpdateHttpNamespaceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::update_http_namespace::UpdateHttpNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_http::result::SdkError<crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError, 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_instance_custom_health_status::UpdateInstanceCustomHealthStatusError> for Error {
    fn from(err: crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError) -> Self {
        match err {
            crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError::CustomHealthNotFound(inner) => {
                Error::CustomHealthNotFound(inner)
            }
            crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError::InstanceNotFound(inner) => {
                Error::InstanceNotFound(inner)
            }
            crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError::InvalidInput(inner) => {
                Error::InvalidInput(inner)
            }
            crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError::ServiceNotFound(inner) => {
                Error::ServiceNotFound(inner)
            }
            crate::operation::update_instance_custom_health_status::UpdateInstanceCustomHealthStatusError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError, 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_private_dns_namespace::UpdatePrivateDnsNamespaceError> for Error {
    fn from(err: crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError) -> Self {
        match err {
            crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError::NamespaceNotFound(inner) => {
                Error::NamespaceNotFound(inner)
            }
            crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::update_private_dns_namespace::UpdatePrivateDnsNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError, 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_public_dns_namespace::UpdatePublicDnsNamespaceError> for Error {
    fn from(err: crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError) -> Self {
        match err {
            crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError::NamespaceNotFound(inner) => Error::NamespaceNotFound(inner),
            crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError::ResourceInUse(inner) => Error::ResourceInUse(inner),
            crate::operation::update_public_dns_namespace::UpdatePublicDnsNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_http::result::SdkError<crate::operation::update_service::UpdateServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_http::result::SdkError<crate::operation::update_service::UpdateServiceError, 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_service::UpdateServiceError> for Error {
    fn from(err: crate::operation::update_service::UpdateServiceError) -> Self {
        match err {
            crate::operation::update_service::UpdateServiceError::DuplicateRequest(inner) => Error::DuplicateRequest(inner),
            crate::operation::update_service::UpdateServiceError::InvalidInput(inner) => Error::InvalidInput(inner),
            crate::operation::update_service::UpdateServiceError::ServiceNotFound(inner) => Error::ServiceNotFound(inner),
            crate::operation::update_service::UpdateServiceError::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::CustomHealthNotFound(inner) => inner.source(),
            Error::DuplicateRequest(inner) => inner.source(),
            Error::InstanceNotFound(inner) => inner.source(),
            Error::InvalidInput(inner) => inner.source(),
            Error::NamespaceAlreadyExists(inner) => inner.source(),
            Error::NamespaceNotFound(inner) => inner.source(),
            Error::OperationNotFound(inner) => inner.source(),
            Error::RequestLimitExceeded(inner) => inner.source(),
            Error::ResourceInUse(inner) => inner.source(),
            Error::ResourceLimitExceeded(inner) => inner.source(),
            Error::ResourceNotFoundException(inner) => inner.source(),
            Error::ServiceAlreadyExists(inner) => inner.source(),
            Error::ServiceNotFound(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::CustomHealthNotFound(e) => e.request_id(),
            Self::DuplicateRequest(e) => e.request_id(),
            Self::InstanceNotFound(e) => e.request_id(),
            Self::InvalidInput(e) => e.request_id(),
            Self::NamespaceAlreadyExists(e) => e.request_id(),
            Self::NamespaceNotFound(e) => e.request_id(),
            Self::OperationNotFound(e) => e.request_id(),
            Self::RequestLimitExceeded(e) => e.request_id(),
            Self::ResourceInUse(e) => e.request_id(),
            Self::ResourceLimitExceeded(e) => e.request_id(),
            Self::ResourceNotFoundException(e) => e.request_id(),
            Self::ServiceAlreadyExists(e) => e.request_id(),
            Self::ServiceNotFound(e) => e.request_id(),
            Self::TooManyTagsException(e) => e.request_id(),
            Self::Unhandled(e) => e.request_id(),
        }
    }
}