#[non_exhaustive]
#[derive(::std::fmt::Debug)]
pub enum Error {
    AccessDeniedException(crate::types::error::AccessDeniedException),
    AttributeLimitExceededException(crate::types::error::AttributeLimitExceededException),
    BlockedException(crate::types::error::BlockedException),
    ClientException(crate::types::error::ClientException),
    ClusterContainsContainerInstancesException(crate::types::error::ClusterContainsContainerInstancesException),
    ClusterContainsServicesException(crate::types::error::ClusterContainsServicesException),
    ClusterContainsTasksException(crate::types::error::ClusterContainsTasksException),
    ClusterNotFoundException(crate::types::error::ClusterNotFoundException),
    ConflictException(crate::types::error::ConflictException),
    InvalidParameterException(crate::types::error::InvalidParameterException),
    LimitExceededException(crate::types::error::LimitExceededException),
    MissingVersionException(crate::types::error::MissingVersionException),
    NamespaceNotFoundException(crate::types::error::NamespaceNotFoundException),
    NoUpdateAvailableException(crate::types::error::NoUpdateAvailableException),
    PlatformTaskDefinitionIncompatibilityException(crate::types::error::PlatformTaskDefinitionIncompatibilityException),
    PlatformUnknownException(crate::types::error::PlatformUnknownException),
    ResourceInUseException(crate::types::error::ResourceInUseException),
    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
    ServerException(crate::types::error::ServerException),
    ServiceNotActiveException(crate::types::error::ServiceNotActiveException),
    ServiceNotFoundException(crate::types::error::ServiceNotFoundException),
    TargetNotConnectedException(crate::types::error::TargetNotConnectedException),
    TargetNotFoundException(crate::types::error::TargetNotFoundException),
    TaskSetNotFoundException(crate::types::error::TaskSetNotFoundException),
    UnsupportedFeatureException(crate::types::error::UnsupportedFeatureException),
    UpdateInProgressException(crate::types::error::UpdateInProgressException),
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
    variable wildcard pattern and check `.code()`:
     \
       `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
     \
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-Error) for what information is available for the error.")]
    Unhandled(crate::error::sealed_unhandled::Unhandled),
}
impl ::std::fmt::Display for Error {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            Error::AccessDeniedException(inner) => inner.fmt(f),
            Error::AttributeLimitExceededException(inner) => inner.fmt(f),
            Error::BlockedException(inner) => inner.fmt(f),
            Error::ClientException(inner) => inner.fmt(f),
            Error::ClusterContainsContainerInstancesException(inner) => inner.fmt(f),
            Error::ClusterContainsServicesException(inner) => inner.fmt(f),
            Error::ClusterContainsTasksException(inner) => inner.fmt(f),
            Error::ClusterNotFoundException(inner) => inner.fmt(f),
            Error::ConflictException(inner) => inner.fmt(f),
            Error::InvalidParameterException(inner) => inner.fmt(f),
            Error::LimitExceededException(inner) => inner.fmt(f),
            Error::MissingVersionException(inner) => inner.fmt(f),
            Error::NamespaceNotFoundException(inner) => inner.fmt(f),
            Error::NoUpdateAvailableException(inner) => inner.fmt(f),
            Error::PlatformTaskDefinitionIncompatibilityException(inner) => inner.fmt(f),
            Error::PlatformUnknownException(inner) => inner.fmt(f),
            Error::ResourceInUseException(inner) => inner.fmt(f),
            Error::ResourceNotFoundException(inner) => inner.fmt(f),
            Error::ServerException(inner) => inner.fmt(f),
            Error::ServiceNotActiveException(inner) => inner.fmt(f),
            Error::ServiceNotFoundException(inner) => inner.fmt(f),
            Error::TargetNotConnectedException(inner) => inner.fmt(f),
            Error::TargetNotFoundException(inner) => inner.fmt(f),
            Error::TaskSetNotFoundException(inner) => inner.fmt(f),
            Error::UnsupportedFeatureException(inner) => inner.fmt(f),
            Error::UpdateInProgressException(inner) => inner.fmt(f),
            Error::Unhandled(_) => {
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
                    write!(f, "unhandled error ({code})")
                } else {
                    f.write_str("unhandled error")
                }
            }
        }
    }
}
impl From<::aws_smithy_types::error::operation::BuildError> for Error {
    fn from(value: ::aws_smithy_types::error::operation::BuildError) -> Self {
        Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
            source: value.into(),
            meta: ::std::default::Default::default(),
        })
    }
}
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for Error {
    fn meta(&self) -> &::aws_smithy_types::error::metadata::ErrorMetadata {
        match self {
            Self::AccessDeniedException(inner) => inner.meta(),
            Self::AttributeLimitExceededException(inner) => inner.meta(),
            Self::BlockedException(inner) => inner.meta(),
            Self::ClientException(inner) => inner.meta(),
            Self::ClusterContainsContainerInstancesException(inner) => inner.meta(),
            Self::ClusterContainsServicesException(inner) => inner.meta(),
            Self::ClusterContainsTasksException(inner) => inner.meta(),
            Self::ClusterNotFoundException(inner) => inner.meta(),
            Self::ConflictException(inner) => inner.meta(),
            Self::InvalidParameterException(inner) => inner.meta(),
            Self::LimitExceededException(inner) => inner.meta(),
            Self::MissingVersionException(inner) => inner.meta(),
            Self::NamespaceNotFoundException(inner) => inner.meta(),
            Self::NoUpdateAvailableException(inner) => inner.meta(),
            Self::PlatformTaskDefinitionIncompatibilityException(inner) => inner.meta(),
            Self::PlatformUnknownException(inner) => inner.meta(),
            Self::ResourceInUseException(inner) => inner.meta(),
            Self::ResourceNotFoundException(inner) => inner.meta(),
            Self::ServerException(inner) => inner.meta(),
            Self::ServiceNotActiveException(inner) => inner.meta(),
            Self::ServiceNotFoundException(inner) => inner.meta(),
            Self::TargetNotConnectedException(inner) => inner.meta(),
            Self::TargetNotFoundException(inner) => inner.meta(),
            Self::TaskSetNotFoundException(inner) => inner.meta(),
            Self::UnsupportedFeatureException(inner) => inner.meta(),
            Self::UpdateInProgressException(inner) => inner.meta(),
            Self::Unhandled(inner) => &inner.meta,
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_capacity_provider::CreateCapacityProviderError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_capacity_provider::CreateCapacityProviderError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::create_capacity_provider::CreateCapacityProviderError> for Error {
    fn from(err: crate::operation::create_capacity_provider::CreateCapacityProviderError) -> Self {
        match err {
            crate::operation::create_capacity_provider::CreateCapacityProviderError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::create_capacity_provider::CreateCapacityProviderError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::create_capacity_provider::CreateCapacityProviderError::LimitExceededException(inner) => {
                Error::LimitExceededException(inner)
            }
            crate::operation::create_capacity_provider::CreateCapacityProviderError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::create_capacity_provider::CreateCapacityProviderError::UpdateInProgressException(inner) => {
                Error::UpdateInProgressException(inner)
            }
            crate::operation::create_capacity_provider::CreateCapacityProviderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster::CreateClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster::CreateClusterError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::create_cluster::CreateClusterError> for Error {
    fn from(err: crate::operation::create_cluster::CreateClusterError) -> Self {
        match err {
            crate::operation::create_cluster::CreateClusterError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::create_cluster::CreateClusterError::NamespaceNotFoundException(inner) => Error::NamespaceNotFoundException(inner),
            crate::operation::create_cluster::CreateClusterError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::create_cluster::CreateClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_service::CreateServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_service::CreateServiceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::create_service::CreateServiceError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::create_service::CreateServiceError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::create_service::CreateServiceError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::create_service::CreateServiceError::NamespaceNotFoundException(inner) => Error::NamespaceNotFoundException(inner),
            crate::operation::create_service::CreateServiceError::PlatformTaskDefinitionIncompatibilityException(inner) => {
                Error::PlatformTaskDefinitionIncompatibilityException(inner)
            }
            crate::operation::create_service::CreateServiceError::PlatformUnknownException(inner) => Error::PlatformUnknownException(inner),
            crate::operation::create_service::CreateServiceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::create_service::CreateServiceError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::create_service::CreateServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_task_set::CreateTaskSetError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_task_set::CreateTaskSetError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::create_task_set::CreateTaskSetError> for Error {
    fn from(err: crate::operation::create_task_set::CreateTaskSetError) -> Self {
        match err {
            crate::operation::create_task_set::CreateTaskSetError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::create_task_set::CreateTaskSetError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::create_task_set::CreateTaskSetError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::create_task_set::CreateTaskSetError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::create_task_set::CreateTaskSetError::NamespaceNotFoundException(inner) => Error::NamespaceNotFoundException(inner),
            crate::operation::create_task_set::CreateTaskSetError::PlatformTaskDefinitionIncompatibilityException(inner) => {
                Error::PlatformTaskDefinitionIncompatibilityException(inner)
            }
            crate::operation::create_task_set::CreateTaskSetError::PlatformUnknownException(inner) => Error::PlatformUnknownException(inner),
            crate::operation::create_task_set::CreateTaskSetError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::create_task_set::CreateTaskSetError::ServiceNotActiveException(inner) => Error::ServiceNotActiveException(inner),
            crate::operation::create_task_set::CreateTaskSetError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::create_task_set::CreateTaskSetError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::create_task_set::CreateTaskSetError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_account_setting::DeleteAccountSettingError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_account_setting::DeleteAccountSettingError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_account_setting::DeleteAccountSettingError> for Error {
    fn from(err: crate::operation::delete_account_setting::DeleteAccountSettingError) -> Self {
        match err {
            crate::operation::delete_account_setting::DeleteAccountSettingError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_account_setting::DeleteAccountSettingError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::delete_account_setting::DeleteAccountSettingError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_account_setting::DeleteAccountSettingError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_attributes::DeleteAttributesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_attributes::DeleteAttributesError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_attributes::DeleteAttributesError> for Error {
    fn from(err: crate::operation::delete_attributes::DeleteAttributesError) -> Self {
        match err {
            crate::operation::delete_attributes::DeleteAttributesError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::delete_attributes::DeleteAttributesError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::delete_attributes::DeleteAttributesError::TargetNotFoundException(inner) => Error::TargetNotFoundException(inner),
            crate::operation::delete_attributes::DeleteAttributesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_capacity_provider::DeleteCapacityProviderError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_capacity_provider::DeleteCapacityProviderError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_capacity_provider::DeleteCapacityProviderError> for Error {
    fn from(err: crate::operation::delete_capacity_provider::DeleteCapacityProviderError) -> Self {
        match err {
            crate::operation::delete_capacity_provider::DeleteCapacityProviderError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_capacity_provider::DeleteCapacityProviderError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::delete_capacity_provider::DeleteCapacityProviderError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_capacity_provider::DeleteCapacityProviderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster::DeleteClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster::DeleteClusterError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_cluster::DeleteClusterError> for Error {
    fn from(err: crate::operation::delete_cluster::DeleteClusterError) -> Self {
        match err {
            crate::operation::delete_cluster::DeleteClusterError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_cluster::DeleteClusterError::ClusterContainsContainerInstancesException(inner) => {
                Error::ClusterContainsContainerInstancesException(inner)
            }
            crate::operation::delete_cluster::DeleteClusterError::ClusterContainsServicesException(inner) => {
                Error::ClusterContainsServicesException(inner)
            }
            crate::operation::delete_cluster::DeleteClusterError::ClusterContainsTasksException(inner) => Error::ClusterContainsTasksException(inner),
            crate::operation::delete_cluster::DeleteClusterError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::delete_cluster::DeleteClusterError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::delete_cluster::DeleteClusterError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_cluster::DeleteClusterError::UpdateInProgressException(inner) => Error::UpdateInProgressException(inner),
            crate::operation::delete_cluster::DeleteClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_service::DeleteServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_service::DeleteServiceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_service::DeleteServiceError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::delete_service::DeleteServiceError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::delete_service::DeleteServiceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_service::DeleteServiceError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::delete_service::DeleteServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_task_definitions::DeleteTaskDefinitionsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_task_definitions::DeleteTaskDefinitionsError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_task_definitions::DeleteTaskDefinitionsError> for Error {
    fn from(err: crate::operation::delete_task_definitions::DeleteTaskDefinitionsError) -> Self {
        match err {
            crate::operation::delete_task_definitions::DeleteTaskDefinitionsError::AccessDeniedException(inner) => {
                Error::AccessDeniedException(inner)
            }
            crate::operation::delete_task_definitions::DeleteTaskDefinitionsError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_task_definitions::DeleteTaskDefinitionsError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::delete_task_definitions::DeleteTaskDefinitionsError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_task_definitions::DeleteTaskDefinitionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_task_set::DeleteTaskSetError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_task_set::DeleteTaskSetError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::delete_task_set::DeleteTaskSetError> for Error {
    fn from(err: crate::operation::delete_task_set::DeleteTaskSetError) -> Self {
        match err {
            crate::operation::delete_task_set::DeleteTaskSetError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::ServiceNotActiveException(inner) => Error::ServiceNotActiveException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::TaskSetNotFoundException(inner) => Error::TaskSetNotFoundException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::delete_task_set::DeleteTaskSetError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deregister_container_instance::DeregisterContainerInstanceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deregister_container_instance::DeregisterContainerInstanceError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::deregister_container_instance::DeregisterContainerInstanceError> for Error {
    fn from(err: crate::operation::deregister_container_instance::DeregisterContainerInstanceError) -> Self {
        match err {
            crate::operation::deregister_container_instance::DeregisterContainerInstanceError::ClientException(inner) => {
                Error::ClientException(inner)
            }
            crate::operation::deregister_container_instance::DeregisterContainerInstanceError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::deregister_container_instance::DeregisterContainerInstanceError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::deregister_container_instance::DeregisterContainerInstanceError::ServerException(inner) => {
                Error::ServerException(inner)
            }
            crate::operation::deregister_container_instance::DeregisterContainerInstanceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deregister_task_definition::DeregisterTaskDefinitionError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deregister_task_definition::DeregisterTaskDefinitionError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::deregister_task_definition::DeregisterTaskDefinitionError> for Error {
    fn from(err: crate::operation::deregister_task_definition::DeregisterTaskDefinitionError) -> Self {
        match err {
            crate::operation::deregister_task_definition::DeregisterTaskDefinitionError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::deregister_task_definition::DeregisterTaskDefinitionError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::deregister_task_definition::DeregisterTaskDefinitionError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::deregister_task_definition::DeregisterTaskDefinitionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_capacity_providers::DescribeCapacityProvidersError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_capacity_providers::DescribeCapacityProvidersError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_capacity_providers::DescribeCapacityProvidersError> for Error {
    fn from(err: crate::operation::describe_capacity_providers::DescribeCapacityProvidersError) -> Self {
        match err {
            crate::operation::describe_capacity_providers::DescribeCapacityProvidersError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_capacity_providers::DescribeCapacityProvidersError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::describe_capacity_providers::DescribeCapacityProvidersError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_capacity_providers::DescribeCapacityProvidersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_clusters::DescribeClustersError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_clusters::DescribeClustersError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_clusters::DescribeClustersError> for Error {
    fn from(err: crate::operation::describe_clusters::DescribeClustersError) -> Self {
        match err {
            crate::operation::describe_clusters::DescribeClustersError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_clusters::DescribeClustersError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::describe_clusters::DescribeClustersError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_clusters::DescribeClustersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_container_instances::DescribeContainerInstancesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_container_instances::DescribeContainerInstancesError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_container_instances::DescribeContainerInstancesError> for Error {
    fn from(err: crate::operation::describe_container_instances::DescribeContainerInstancesError) -> Self {
        match err {
            crate::operation::describe_container_instances::DescribeContainerInstancesError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_container_instances::DescribeContainerInstancesError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::describe_container_instances::DescribeContainerInstancesError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::describe_container_instances::DescribeContainerInstancesError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_container_instances::DescribeContainerInstancesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_services::DescribeServicesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_services::DescribeServicesError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_services::DescribeServicesError> for Error {
    fn from(err: crate::operation::describe_services::DescribeServicesError) -> Self {
        match err {
            crate::operation::describe_services::DescribeServicesError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_services::DescribeServicesError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::describe_services::DescribeServicesError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::describe_services::DescribeServicesError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_services::DescribeServicesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_task_definition::DescribeTaskDefinitionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_task_definition::DescribeTaskDefinitionError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_task_definition::DescribeTaskDefinitionError> for Error {
    fn from(err: crate::operation::describe_task_definition::DescribeTaskDefinitionError) -> Self {
        match err {
            crate::operation::describe_task_definition::DescribeTaskDefinitionError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_task_definition::DescribeTaskDefinitionError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::describe_task_definition::DescribeTaskDefinitionError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_task_definition::DescribeTaskDefinitionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_tasks::DescribeTasksError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_tasks::DescribeTasksError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_tasks::DescribeTasksError> for Error {
    fn from(err: crate::operation::describe_tasks::DescribeTasksError) -> Self {
        match err {
            crate::operation::describe_tasks::DescribeTasksError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_tasks::DescribeTasksError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::describe_tasks::DescribeTasksError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::describe_tasks::DescribeTasksError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_tasks::DescribeTasksError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_task_sets::DescribeTaskSetsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_task_sets::DescribeTaskSetsError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::describe_task_sets::DescribeTaskSetsError> for Error {
    fn from(err: crate::operation::describe_task_sets::DescribeTaskSetsError) -> Self {
        match err {
            crate::operation::describe_task_sets::DescribeTaskSetsError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::ServiceNotActiveException(inner) => Error::ServiceNotActiveException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::describe_task_sets::DescribeTaskSetsError::UnsupportedFeatureException(inner) => {
                Error::UnsupportedFeatureException(inner)
            }
            crate::operation::describe_task_sets::DescribeTaskSetsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::discover_poll_endpoint::DiscoverPollEndpointError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::discover_poll_endpoint::DiscoverPollEndpointError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::discover_poll_endpoint::DiscoverPollEndpointError> for Error {
    fn from(err: crate::operation::discover_poll_endpoint::DiscoverPollEndpointError) -> Self {
        match err {
            crate::operation::discover_poll_endpoint::DiscoverPollEndpointError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::discover_poll_endpoint::DiscoverPollEndpointError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::discover_poll_endpoint::DiscoverPollEndpointError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_command::ExecuteCommandError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::execute_command::ExecuteCommandError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::execute_command::ExecuteCommandError> for Error {
    fn from(err: crate::operation::execute_command::ExecuteCommandError) -> Self {
        match err {
            crate::operation::execute_command::ExecuteCommandError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::execute_command::ExecuteCommandError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::execute_command::ExecuteCommandError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::execute_command::ExecuteCommandError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::execute_command::ExecuteCommandError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::execute_command::ExecuteCommandError::TargetNotConnectedException(inner) => Error::TargetNotConnectedException(inner),
            crate::operation::execute_command::ExecuteCommandError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_task_protection::GetTaskProtectionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_task_protection::GetTaskProtectionError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::get_task_protection::GetTaskProtectionError> for Error {
    fn from(err: crate::operation::get_task_protection::GetTaskProtectionError) -> Self {
        match err {
            crate::operation::get_task_protection::GetTaskProtectionError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::get_task_protection::GetTaskProtectionError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::get_task_protection::GetTaskProtectionError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::get_task_protection::GetTaskProtectionError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::get_task_protection::GetTaskProtectionError::ResourceNotFoundException(inner) => {
                Error::ResourceNotFoundException(inner)
            }
            crate::operation::get_task_protection::GetTaskProtectionError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::get_task_protection::GetTaskProtectionError::UnsupportedFeatureException(inner) => {
                Error::UnsupportedFeatureException(inner)
            }
            crate::operation::get_task_protection::GetTaskProtectionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_account_settings::ListAccountSettingsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_account_settings::ListAccountSettingsError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_account_settings::ListAccountSettingsError> for Error {
    fn from(err: crate::operation::list_account_settings::ListAccountSettingsError) -> Self {
        match err {
            crate::operation::list_account_settings::ListAccountSettingsError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_account_settings::ListAccountSettingsError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_account_settings::ListAccountSettingsError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_account_settings::ListAccountSettingsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_attributes::ListAttributesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_attributes::ListAttributesError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_attributes::ListAttributesError> for Error {
    fn from(err: crate::operation::list_attributes::ListAttributesError) -> Self {
        match err {
            crate::operation::list_attributes::ListAttributesError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::list_attributes::ListAttributesError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::list_attributes::ListAttributesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_clusters::ListClustersError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_clusters::ListClustersError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_clusters::ListClustersError> for Error {
    fn from(err: crate::operation::list_clusters::ListClustersError) -> Self {
        match err {
            crate::operation::list_clusters::ListClustersError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_clusters::ListClustersError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::list_clusters::ListClustersError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_clusters::ListClustersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_container_instances::ListContainerInstancesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_container_instances::ListContainerInstancesError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_container_instances::ListContainerInstancesError> for Error {
    fn from(err: crate::operation::list_container_instances::ListContainerInstancesError) -> Self {
        match err {
            crate::operation::list_container_instances::ListContainerInstancesError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_container_instances::ListContainerInstancesError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::list_container_instances::ListContainerInstancesError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_container_instances::ListContainerInstancesError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_container_instances::ListContainerInstancesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_services::ListServicesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_services::ListServicesError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_services::ListServicesError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::list_services::ListServicesError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::list_services::ListServicesError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_services::ListServicesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_services_by_namespace::ListServicesByNamespaceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_services_by_namespace::ListServicesByNamespaceError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_services_by_namespace::ListServicesByNamespaceError> for Error {
    fn from(err: crate::operation::list_services_by_namespace::ListServicesByNamespaceError) -> Self {
        match err {
            crate::operation::list_services_by_namespace::ListServicesByNamespaceError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_services_by_namespace::ListServicesByNamespaceError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_services_by_namespace::ListServicesByNamespaceError::NamespaceNotFoundException(inner) => {
                Error::NamespaceNotFoundException(inner)
            }
            crate::operation::list_services_by_namespace::ListServicesByNamespaceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_services_by_namespace::ListServicesByNamespaceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::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_runtime_api::client::result::SdkError<crate::operation::list_tags_for_resource::ListTagsForResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::list_tags_for_resource::ListTagsForResourceError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError> for Error {
    fn from(err: crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError) -> Self {
        match err {
            crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_task_definitions::ListTaskDefinitionsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_task_definitions::ListTaskDefinitionsError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_task_definitions::ListTaskDefinitionsError> for Error {
    fn from(err: crate::operation::list_task_definitions::ListTaskDefinitionsError) -> Self {
        match err {
            crate::operation::list_task_definitions::ListTaskDefinitionsError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_task_definitions::ListTaskDefinitionsError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::list_task_definitions::ListTaskDefinitionsError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_task_definitions::ListTaskDefinitionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tasks::ListTasksError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tasks::ListTasksError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_tasks::ListTasksError> for Error {
    fn from(err: crate::operation::list_tasks::ListTasksError) -> Self {
        match err {
            crate::operation::list_tasks::ListTasksError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::list_tasks::ListTasksError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::list_tasks::ListTasksError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::list_tasks::ListTasksError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::list_tasks::ListTasksError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::list_tasks::ListTasksError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_account_setting::PutAccountSettingError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_account_setting::PutAccountSettingError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::put_account_setting::PutAccountSettingError> for Error {
    fn from(err: crate::operation::put_account_setting::PutAccountSettingError) -> Self {
        match err {
            crate::operation::put_account_setting::PutAccountSettingError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::put_account_setting::PutAccountSettingError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::put_account_setting::PutAccountSettingError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::put_account_setting::PutAccountSettingError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_account_setting_default::PutAccountSettingDefaultError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_account_setting_default::PutAccountSettingDefaultError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::put_account_setting_default::PutAccountSettingDefaultError> for Error {
    fn from(err: crate::operation::put_account_setting_default::PutAccountSettingDefaultError) -> Self {
        match err {
            crate::operation::put_account_setting_default::PutAccountSettingDefaultError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::put_account_setting_default::PutAccountSettingDefaultError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::put_account_setting_default::PutAccountSettingDefaultError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::put_account_setting_default::PutAccountSettingDefaultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_attributes::PutAttributesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_attributes::PutAttributesError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::put_attributes::PutAttributesError> for Error {
    fn from(err: crate::operation::put_attributes::PutAttributesError) -> Self {
        match err {
            crate::operation::put_attributes::PutAttributesError::AttributeLimitExceededException(inner) => {
                Error::AttributeLimitExceededException(inner)
            }
            crate::operation::put_attributes::PutAttributesError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::put_attributes::PutAttributesError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::put_attributes::PutAttributesError::TargetNotFoundException(inner) => Error::TargetNotFoundException(inner),
            crate::operation::put_attributes::PutAttributesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError> for Error {
    fn from(err: crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError) -> Self {
        match err {
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::ClientException(inner) => {
                Error::ClientException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::ResourceInUseException(inner) => {
                Error::ResourceInUseException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::ServerException(inner) => {
                Error::ServerException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::UpdateInProgressException(inner) => {
                Error::UpdateInProgressException(inner)
            }
            crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::register_container_instance::RegisterContainerInstanceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::register_container_instance::RegisterContainerInstanceError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::register_container_instance::RegisterContainerInstanceError> for Error {
    fn from(err: crate::operation::register_container_instance::RegisterContainerInstanceError) -> Self {
        match err {
            crate::operation::register_container_instance::RegisterContainerInstanceError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::register_container_instance::RegisterContainerInstanceError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::register_container_instance::RegisterContainerInstanceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::register_container_instance::RegisterContainerInstanceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::register_task_definition::RegisterTaskDefinitionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::register_task_definition::RegisterTaskDefinitionError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::register_task_definition::RegisterTaskDefinitionError> for Error {
    fn from(err: crate::operation::register_task_definition::RegisterTaskDefinitionError) -> Self {
        match err {
            crate::operation::register_task_definition::RegisterTaskDefinitionError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::register_task_definition::RegisterTaskDefinitionError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::register_task_definition::RegisterTaskDefinitionError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::register_task_definition::RegisterTaskDefinitionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::run_task::RunTaskError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::run_task::RunTaskError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::run_task::RunTaskError> for Error {
    fn from(err: crate::operation::run_task::RunTaskError) -> Self {
        match err {
            crate::operation::run_task::RunTaskError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::run_task::RunTaskError::BlockedException(inner) => Error::BlockedException(inner),
            crate::operation::run_task::RunTaskError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::run_task::RunTaskError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::run_task::RunTaskError::ConflictException(inner) => Error::ConflictException(inner),
            crate::operation::run_task::RunTaskError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::run_task::RunTaskError::PlatformTaskDefinitionIncompatibilityException(inner) => {
                Error::PlatformTaskDefinitionIncompatibilityException(inner)
            }
            crate::operation::run_task::RunTaskError::PlatformUnknownException(inner) => Error::PlatformUnknownException(inner),
            crate::operation::run_task::RunTaskError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::run_task::RunTaskError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::run_task::RunTaskError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_task::StartTaskError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_task::StartTaskError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::start_task::StartTaskError> for Error {
    fn from(err: crate::operation::start_task::StartTaskError) -> Self {
        match err {
            crate::operation::start_task::StartTaskError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::start_task::StartTaskError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::start_task::StartTaskError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::start_task::StartTaskError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::start_task::StartTaskError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::start_task::StartTaskError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::stop_task::StopTaskError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::stop_task::StopTaskError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::stop_task::StopTaskError> for Error {
    fn from(err: crate::operation::stop_task::StopTaskError) -> Self {
        match err {
            crate::operation::stop_task::StopTaskError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::stop_task::StopTaskError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::stop_task::StopTaskError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::stop_task::StopTaskError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::stop_task::StopTaskError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError> for Error {
    fn from(err: crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError) -> Self {
        match err {
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError::AccessDeniedException(inner) => {
                Error::AccessDeniedException(inner)
            }
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError::ClientException(inner) => {
                Error::ClientException(inner)
            }
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError::ServerException(inner) => {
                Error::ServerException(inner)
            }
            crate::operation::submit_attachment_state_changes::SubmitAttachmentStateChangesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::submit_container_state_change::SubmitContainerStateChangeError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::submit_container_state_change::SubmitContainerStateChangeError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::submit_container_state_change::SubmitContainerStateChangeError> for Error {
    fn from(err: crate::operation::submit_container_state_change::SubmitContainerStateChangeError) -> Self {
        match err {
            crate::operation::submit_container_state_change::SubmitContainerStateChangeError::AccessDeniedException(inner) => {
                Error::AccessDeniedException(inner)
            }
            crate::operation::submit_container_state_change::SubmitContainerStateChangeError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::submit_container_state_change::SubmitContainerStateChangeError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::submit_container_state_change::SubmitContainerStateChangeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::submit_task_state_change::SubmitTaskStateChangeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::submit_task_state_change::SubmitTaskStateChangeError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::submit_task_state_change::SubmitTaskStateChangeError> for Error {
    fn from(err: crate::operation::submit_task_state_change::SubmitTaskStateChangeError) -> Self {
        match err {
            crate::operation::submit_task_state_change::SubmitTaskStateChangeError::AccessDeniedException(inner) => {
                Error::AccessDeniedException(inner)
            }
            crate::operation::submit_task_state_change::SubmitTaskStateChangeError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::submit_task_state_change::SubmitTaskStateChangeError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::submit_task_state_change::SubmitTaskStateChangeError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::submit_task_state_change::SubmitTaskStateChangeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::ClientException(inner) => Error::ClientException(inner),
            crate::operation::tag_resource::TagResourceError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::tag_resource::TagResourceError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::tag_resource::TagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::tag_resource::TagResourceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::tag_resource::TagResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::ClientException(inner) => Error::ClientException(inner),
            crate::operation::untag_resource::UntagResourceError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::untag_resource::UntagResourceError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::untag_resource::UntagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::untag_resource::UntagResourceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::untag_resource::UntagResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_capacity_provider::UpdateCapacityProviderError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_capacity_provider::UpdateCapacityProviderError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_capacity_provider::UpdateCapacityProviderError> for Error {
    fn from(err: crate::operation::update_capacity_provider::UpdateCapacityProviderError) -> Self {
        match err {
            crate::operation::update_capacity_provider::UpdateCapacityProviderError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_capacity_provider::UpdateCapacityProviderError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_capacity_provider::UpdateCapacityProviderError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_capacity_provider::UpdateCapacityProviderError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_cluster::UpdateClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_cluster::UpdateClusterError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_cluster::UpdateClusterError> for Error {
    fn from(err: crate::operation::update_cluster::UpdateClusterError) -> Self {
        match err {
            crate::operation::update_cluster::UpdateClusterError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_cluster::UpdateClusterError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::update_cluster::UpdateClusterError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::update_cluster::UpdateClusterError::NamespaceNotFoundException(inner) => Error::NamespaceNotFoundException(inner),
            crate::operation::update_cluster::UpdateClusterError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_cluster::UpdateClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_cluster_settings::UpdateClusterSettingsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_cluster_settings::UpdateClusterSettingsError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_cluster_settings::UpdateClusterSettingsError> for Error {
    fn from(err: crate::operation::update_cluster_settings::UpdateClusterSettingsError) -> Self {
        match err {
            crate::operation::update_cluster_settings::UpdateClusterSettingsError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_cluster_settings::UpdateClusterSettingsError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::update_cluster_settings::UpdateClusterSettingsError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_cluster_settings::UpdateClusterSettingsError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_cluster_settings::UpdateClusterSettingsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_container_agent::UpdateContainerAgentError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_container_agent::UpdateContainerAgentError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_container_agent::UpdateContainerAgentError> for Error {
    fn from(err: crate::operation::update_container_agent::UpdateContainerAgentError) -> Self {
        match err {
            crate::operation::update_container_agent::UpdateContainerAgentError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_container_agent::UpdateContainerAgentError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::update_container_agent::UpdateContainerAgentError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_container_agent::UpdateContainerAgentError::MissingVersionException(inner) => {
                Error::MissingVersionException(inner)
            }
            crate::operation::update_container_agent::UpdateContainerAgentError::NoUpdateAvailableException(inner) => {
                Error::NoUpdateAvailableException(inner)
            }
            crate::operation::update_container_agent::UpdateContainerAgentError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_container_agent::UpdateContainerAgentError::UpdateInProgressException(inner) => {
                Error::UpdateInProgressException(inner)
            }
            crate::operation::update_container_agent::UpdateContainerAgentError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_container_instances_state::UpdateContainerInstancesStateError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_container_instances_state::UpdateContainerInstancesStateError> for Error {
    fn from(err: crate::operation::update_container_instances_state::UpdateContainerInstancesStateError) -> Self {
        match err {
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError::ClientException(inner) => {
                Error::ClientException(inner)
            }
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError::ServerException(inner) => {
                Error::ServerException(inner)
            }
            crate::operation::update_container_instances_state::UpdateContainerInstancesStateError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_service::UpdateServiceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_service::UpdateServiceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
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::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::update_service::UpdateServiceError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_service::UpdateServiceError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::update_service::UpdateServiceError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::update_service::UpdateServiceError::NamespaceNotFoundException(inner) => Error::NamespaceNotFoundException(inner),
            crate::operation::update_service::UpdateServiceError::PlatformTaskDefinitionIncompatibilityException(inner) => {
                Error::PlatformTaskDefinitionIncompatibilityException(inner)
            }
            crate::operation::update_service::UpdateServiceError::PlatformUnknownException(inner) => Error::PlatformUnknownException(inner),
            crate::operation::update_service::UpdateServiceError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_service::UpdateServiceError::ServiceNotActiveException(inner) => Error::ServiceNotActiveException(inner),
            crate::operation::update_service::UpdateServiceError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::update_service::UpdateServiceError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::update_service::UpdateServiceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError> for Error {
    fn from(err: crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError) -> Self {
        match err {
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::AccessDeniedException(inner) => {
                Error::AccessDeniedException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::ClientException(inner) => {
                Error::ClientException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::ServerException(inner) => {
                Error::ServerException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::ServiceNotActiveException(inner) => {
                Error::ServiceNotActiveException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::ServiceNotFoundException(inner) => {
                Error::ServiceNotFoundException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::TaskSetNotFoundException(inner) => {
                Error::TaskSetNotFoundException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::UnsupportedFeatureException(inner) => {
                Error::UnsupportedFeatureException(inner)
            }
            crate::operation::update_service_primary_task_set::UpdateServicePrimaryTaskSetError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_task_protection::UpdateTaskProtectionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_task_protection::UpdateTaskProtectionError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_task_protection::UpdateTaskProtectionError> for Error {
    fn from(err: crate::operation::update_task_protection::UpdateTaskProtectionError) -> Self {
        match err {
            crate::operation::update_task_protection::UpdateTaskProtectionError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::update_task_protection::UpdateTaskProtectionError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_task_protection::UpdateTaskProtectionError::ClusterNotFoundException(inner) => {
                Error::ClusterNotFoundException(inner)
            }
            crate::operation::update_task_protection::UpdateTaskProtectionError::InvalidParameterException(inner) => {
                Error::InvalidParameterException(inner)
            }
            crate::operation::update_task_protection::UpdateTaskProtectionError::ResourceNotFoundException(inner) => {
                Error::ResourceNotFoundException(inner)
            }
            crate::operation::update_task_protection::UpdateTaskProtectionError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_task_protection::UpdateTaskProtectionError::UnsupportedFeatureException(inner) => {
                Error::UnsupportedFeatureException(inner)
            }
            crate::operation::update_task_protection::UpdateTaskProtectionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_task_set::UpdateTaskSetError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_task_set::UpdateTaskSetError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::update_task_set::UpdateTaskSetError> for Error {
    fn from(err: crate::operation::update_task_set::UpdateTaskSetError) -> Self {
        match err {
            crate::operation::update_task_set::UpdateTaskSetError::AccessDeniedException(inner) => Error::AccessDeniedException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::ClientException(inner) => Error::ClientException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::ClusterNotFoundException(inner) => Error::ClusterNotFoundException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::InvalidParameterException(inner) => Error::InvalidParameterException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::ServerException(inner) => Error::ServerException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::ServiceNotActiveException(inner) => Error::ServiceNotActiveException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::ServiceNotFoundException(inner) => Error::ServiceNotFoundException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::TaskSetNotFoundException(inner) => Error::TaskSetNotFoundException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::UnsupportedFeatureException(inner) => Error::UnsupportedFeatureException(inner),
            crate::operation::update_task_set::UpdateTaskSetError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<O, E> ::std::convert::From<::aws_smithy_runtime_api::client::waiters::error::WaiterError<O, E>> for Error
where
    O: ::std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
    E: ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::waiters::error::WaiterError<O, E>) -> Self {
        Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
            meta: ::std::default::Default::default(),
            source: err.into(),
        })
    }
}
impl ::std::error::Error for Error {
    fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
        match self {
            Error::AccessDeniedException(inner) => inner.source(),
            Error::AttributeLimitExceededException(inner) => inner.source(),
            Error::BlockedException(inner) => inner.source(),
            Error::ClientException(inner) => inner.source(),
            Error::ClusterContainsContainerInstancesException(inner) => inner.source(),
            Error::ClusterContainsServicesException(inner) => inner.source(),
            Error::ClusterContainsTasksException(inner) => inner.source(),
            Error::ClusterNotFoundException(inner) => inner.source(),
            Error::ConflictException(inner) => inner.source(),
            Error::InvalidParameterException(inner) => inner.source(),
            Error::LimitExceededException(inner) => inner.source(),
            Error::MissingVersionException(inner) => inner.source(),
            Error::NamespaceNotFoundException(inner) => inner.source(),
            Error::NoUpdateAvailableException(inner) => inner.source(),
            Error::PlatformTaskDefinitionIncompatibilityException(inner) => inner.source(),
            Error::PlatformUnknownException(inner) => inner.source(),
            Error::ResourceInUseException(inner) => inner.source(),
            Error::ResourceNotFoundException(inner) => inner.source(),
            Error::ServerException(inner) => inner.source(),
            Error::ServiceNotActiveException(inner) => inner.source(),
            Error::ServiceNotFoundException(inner) => inner.source(),
            Error::TargetNotConnectedException(inner) => inner.source(),
            Error::TargetNotFoundException(inner) => inner.source(),
            Error::TaskSetNotFoundException(inner) => inner.source(),
            Error::UnsupportedFeatureException(inner) => inner.source(),
            Error::UpdateInProgressException(inner) => inner.source(),
            Error::Unhandled(inner) => ::std::option::Option::Some(&*inner.source),
        }
    }
}
impl ::aws_types::request_id::RequestId for Error {
    fn request_id(&self) -> Option<&str> {
        match self {
            Self::AccessDeniedException(e) => e.request_id(),
            Self::AttributeLimitExceededException(e) => e.request_id(),
            Self::BlockedException(e) => e.request_id(),
            Self::ClientException(e) => e.request_id(),
            Self::ClusterContainsContainerInstancesException(e) => e.request_id(),
            Self::ClusterContainsServicesException(e) => e.request_id(),
            Self::ClusterContainsTasksException(e) => e.request_id(),
            Self::ClusterNotFoundException(e) => e.request_id(),
            Self::ConflictException(e) => e.request_id(),
            Self::InvalidParameterException(e) => e.request_id(),
            Self::LimitExceededException(e) => e.request_id(),
            Self::MissingVersionException(e) => e.request_id(),
            Self::NamespaceNotFoundException(e) => e.request_id(),
            Self::NoUpdateAvailableException(e) => e.request_id(),
            Self::PlatformTaskDefinitionIncompatibilityException(e) => e.request_id(),
            Self::PlatformUnknownException(e) => e.request_id(),
            Self::ResourceInUseException(e) => e.request_id(),
            Self::ResourceNotFoundException(e) => e.request_id(),
            Self::ServerException(e) => e.request_id(),
            Self::ServiceNotActiveException(e) => e.request_id(),
            Self::ServiceNotFoundException(e) => e.request_id(),
            Self::TargetNotConnectedException(e) => e.request_id(),
            Self::TargetNotFoundException(e) => e.request_id(),
            Self::TaskSetNotFoundException(e) => e.request_id(),
            Self::UnsupportedFeatureException(e) => e.request_id(),
            Self::UpdateInProgressException(e) => e.request_id(),
            Self::Unhandled(e) => e.meta.request_id(),
        }
    }
}