#[non_exhaustive]
#[derive(::std::fmt::Debug)]
pub enum Error {
    AccessToClusterDeniedFault(crate::types::error::AccessToClusterDeniedFault),
    AccessToSnapshotDeniedFault(crate::types::error::AccessToSnapshotDeniedFault),
    AuthenticationProfileAlreadyExistsFault(crate::types::error::AuthenticationProfileAlreadyExistsFault),
    AuthenticationProfileNotFoundFault(crate::types::error::AuthenticationProfileNotFoundFault),
    AuthenticationProfileQuotaExceededFault(crate::types::error::AuthenticationProfileQuotaExceededFault),
    AuthorizationAlreadyExistsFault(crate::types::error::AuthorizationAlreadyExistsFault),
    AuthorizationNotFoundFault(crate::types::error::AuthorizationNotFoundFault),
    AuthorizationQuotaExceededFault(crate::types::error::AuthorizationQuotaExceededFault),
    BatchDeleteRequestSizeExceededFault(crate::types::error::BatchDeleteRequestSizeExceededFault),
    BatchModifyClusterSnapshotsLimitExceededFault(crate::types::error::BatchModifyClusterSnapshotsLimitExceededFault),
    BucketNotFoundFault(crate::types::error::BucketNotFoundFault),
    ClusterAlreadyExistsFault(crate::types::error::ClusterAlreadyExistsFault),
    ClusterNotFoundFault(crate::types::error::ClusterNotFoundFault),
    ClusterOnLatestRevisionFault(crate::types::error::ClusterOnLatestRevisionFault),
    ClusterParameterGroupAlreadyExistsFault(crate::types::error::ClusterParameterGroupAlreadyExistsFault),
    ClusterParameterGroupNotFoundFault(crate::types::error::ClusterParameterGroupNotFoundFault),
    ClusterParameterGroupQuotaExceededFault(crate::types::error::ClusterParameterGroupQuotaExceededFault),
    ClusterQuotaExceededFault(crate::types::error::ClusterQuotaExceededFault),
    ClusterSecurityGroupAlreadyExistsFault(crate::types::error::ClusterSecurityGroupAlreadyExistsFault),
    ClusterSecurityGroupNotFoundFault(crate::types::error::ClusterSecurityGroupNotFoundFault),
    ClusterSecurityGroupQuotaExceededFault(crate::types::error::ClusterSecurityGroupQuotaExceededFault),
    ClusterSnapshotAlreadyExistsFault(crate::types::error::ClusterSnapshotAlreadyExistsFault),
    ClusterSnapshotNotFoundFault(crate::types::error::ClusterSnapshotNotFoundFault),
    ClusterSnapshotQuotaExceededFault(crate::types::error::ClusterSnapshotQuotaExceededFault),
    ClusterSubnetGroupAlreadyExistsFault(crate::types::error::ClusterSubnetGroupAlreadyExistsFault),
    ClusterSubnetGroupNotFoundFault(crate::types::error::ClusterSubnetGroupNotFoundFault),
    ClusterSubnetGroupQuotaExceededFault(crate::types::error::ClusterSubnetGroupQuotaExceededFault),
    ClusterSubnetQuotaExceededFault(crate::types::error::ClusterSubnetQuotaExceededFault),
    ConflictPolicyUpdateFault(crate::types::error::ConflictPolicyUpdateFault),
    CopyToRegionDisabledFault(crate::types::error::CopyToRegionDisabledFault),
    CustomCnameAssociationFault(crate::types::error::CustomCnameAssociationFault),
    CustomDomainAssociationNotFoundFault(crate::types::error::CustomDomainAssociationNotFoundFault),
    DependentServiceAccessDeniedFault(crate::types::error::DependentServiceAccessDeniedFault),
    DependentServiceRequestThrottlingFault(crate::types::error::DependentServiceRequestThrottlingFault),
    DependentServiceUnavailableFault(crate::types::error::DependentServiceUnavailableFault),
    EndpointAlreadyExistsFault(crate::types::error::EndpointAlreadyExistsFault),
    EndpointAuthorizationAlreadyExistsFault(crate::types::error::EndpointAuthorizationAlreadyExistsFault),
    EndpointAuthorizationNotFoundFault(crate::types::error::EndpointAuthorizationNotFoundFault),
    EndpointAuthorizationsPerClusterLimitExceededFault(crate::types::error::EndpointAuthorizationsPerClusterLimitExceededFault),
    EndpointNotFoundFault(crate::types::error::EndpointNotFoundFault),
    EndpointsPerAuthorizationLimitExceededFault(crate::types::error::EndpointsPerAuthorizationLimitExceededFault),
    EndpointsPerClusterLimitExceededFault(crate::types::error::EndpointsPerClusterLimitExceededFault),
    EventSubscriptionQuotaExceededFault(crate::types::error::EventSubscriptionQuotaExceededFault),
    HsmClientCertificateAlreadyExistsFault(crate::types::error::HsmClientCertificateAlreadyExistsFault),
    HsmClientCertificateNotFoundFault(crate::types::error::HsmClientCertificateNotFoundFault),
    HsmClientCertificateQuotaExceededFault(crate::types::error::HsmClientCertificateQuotaExceededFault),
    HsmConfigurationAlreadyExistsFault(crate::types::error::HsmConfigurationAlreadyExistsFault),
    HsmConfigurationNotFoundFault(crate::types::error::HsmConfigurationNotFoundFault),
    HsmConfigurationQuotaExceededFault(crate::types::error::HsmConfigurationQuotaExceededFault),
    InProgressTableRestoreQuotaExceededFault(crate::types::error::InProgressTableRestoreQuotaExceededFault),
    IncompatibleOrderableOptions(crate::types::error::IncompatibleOrderableOptions),
    InsufficientClusterCapacityFault(crate::types::error::InsufficientClusterCapacityFault),
    InsufficientS3BucketPolicyFault(crate::types::error::InsufficientS3BucketPolicyFault),
    IntegrationNotFoundFault(crate::types::error::IntegrationNotFoundFault),
    InvalidAuthenticationProfileRequestFault(crate::types::error::InvalidAuthenticationProfileRequestFault),
    InvalidAuthorizationStateFault(crate::types::error::InvalidAuthorizationStateFault),
    InvalidClusterParameterGroupStateFault(crate::types::error::InvalidClusterParameterGroupStateFault),
    InvalidClusterSecurityGroupStateFault(crate::types::error::InvalidClusterSecurityGroupStateFault),
    InvalidClusterSnapshotScheduleStateFault(crate::types::error::InvalidClusterSnapshotScheduleStateFault),
    InvalidClusterSnapshotStateFault(crate::types::error::InvalidClusterSnapshotStateFault),
    InvalidClusterStateFault(crate::types::error::InvalidClusterStateFault),
    InvalidClusterSubnetGroupStateFault(crate::types::error::InvalidClusterSubnetGroupStateFault),
    InvalidClusterSubnetStateFault(crate::types::error::InvalidClusterSubnetStateFault),
    InvalidClusterTrackFault(crate::types::error::InvalidClusterTrackFault),
    InvalidDataShareFault(crate::types::error::InvalidDataShareFault),
    InvalidElasticIpFault(crate::types::error::InvalidElasticIpFault),
    InvalidEndpointStateFault(crate::types::error::InvalidEndpointStateFault),
    InvalidHsmClientCertificateStateFault(crate::types::error::InvalidHsmClientCertificateStateFault),
    InvalidHsmConfigurationStateFault(crate::types::error::InvalidHsmConfigurationStateFault),
    InvalidNamespaceFault(crate::types::error::InvalidNamespaceFault),
    InvalidPolicyFault(crate::types::error::InvalidPolicyFault),
    InvalidReservedNodeStateFault(crate::types::error::InvalidReservedNodeStateFault),
    InvalidRestoreFault(crate::types::error::InvalidRestoreFault),
    InvalidRetentionPeriodFault(crate::types::error::InvalidRetentionPeriodFault),
    InvalidS3BucketNameFault(crate::types::error::InvalidS3BucketNameFault),
    InvalidS3KeyPrefixFault(crate::types::error::InvalidS3KeyPrefixFault),
    InvalidScheduleFault(crate::types::error::InvalidScheduleFault),
    InvalidScheduledActionFault(crate::types::error::InvalidScheduledActionFault),
    InvalidSnapshotCopyGrantStateFault(crate::types::error::InvalidSnapshotCopyGrantStateFault),
    InvalidSubnet(crate::types::error::InvalidSubnet),
    InvalidSubscriptionStateFault(crate::types::error::InvalidSubscriptionStateFault),
    InvalidTableRestoreArgumentFault(crate::types::error::InvalidTableRestoreArgumentFault),
    InvalidTagFault(crate::types::error::InvalidTagFault),
    InvalidUsageLimitFault(crate::types::error::InvalidUsageLimitFault),
    InvalidVpcNetworkStateFault(crate::types::error::InvalidVpcNetworkStateFault),
    Ipv6CidrBlockNotFoundFault(crate::types::error::Ipv6CidrBlockNotFoundFault),
    LimitExceededFault(crate::types::error::LimitExceededFault),
    NumberOfNodesPerClusterLimitExceededFault(crate::types::error::NumberOfNodesPerClusterLimitExceededFault),
    NumberOfNodesQuotaExceededFault(crate::types::error::NumberOfNodesQuotaExceededFault),
    PartnerNotFoundFault(crate::types::error::PartnerNotFoundFault),
    RedshiftIdcApplicationAlreadyExistsFault(crate::types::error::RedshiftIdcApplicationAlreadyExistsFault),
    RedshiftIdcApplicationNotExistsFault(crate::types::error::RedshiftIdcApplicationNotExistsFault),
    RedshiftIdcApplicationQuotaExceededFault(crate::types::error::RedshiftIdcApplicationQuotaExceededFault),
    ReservedNodeAlreadyExistsFault(crate::types::error::ReservedNodeAlreadyExistsFault),
    ReservedNodeAlreadyMigratedFault(crate::types::error::ReservedNodeAlreadyMigratedFault),
    ReservedNodeExchangeNotFoundFault(crate::types::error::ReservedNodeExchangeNotFoundFault),
    ReservedNodeNotFoundFault(crate::types::error::ReservedNodeNotFoundFault),
    ReservedNodeOfferingNotFoundFault(crate::types::error::ReservedNodeOfferingNotFoundFault),
    ReservedNodeQuotaExceededFault(crate::types::error::ReservedNodeQuotaExceededFault),
    ResizeNotFoundFault(crate::types::error::ResizeNotFoundFault),
    ResourceNotFoundFault(crate::types::error::ResourceNotFoundFault),
    SnsInvalidTopicFault(crate::types::error::SnsInvalidTopicFault),
    SnsNoAuthorizationFault(crate::types::error::SnsNoAuthorizationFault),
    SnsTopicArnNotFoundFault(crate::types::error::SnsTopicArnNotFoundFault),
    ScheduleDefinitionTypeUnsupportedFault(crate::types::error::ScheduleDefinitionTypeUnsupportedFault),
    ScheduledActionAlreadyExistsFault(crate::types::error::ScheduledActionAlreadyExistsFault),
    ScheduledActionNotFoundFault(crate::types::error::ScheduledActionNotFoundFault),
    ScheduledActionQuotaExceededFault(crate::types::error::ScheduledActionQuotaExceededFault),
    ScheduledActionTypeUnsupportedFault(crate::types::error::ScheduledActionTypeUnsupportedFault),
    SnapshotCopyAlreadyDisabledFault(crate::types::error::SnapshotCopyAlreadyDisabledFault),
    SnapshotCopyAlreadyEnabledFault(crate::types::error::SnapshotCopyAlreadyEnabledFault),
    SnapshotCopyDisabledFault(crate::types::error::SnapshotCopyDisabledFault),
    SnapshotCopyGrantAlreadyExistsFault(crate::types::error::SnapshotCopyGrantAlreadyExistsFault),
    SnapshotCopyGrantNotFoundFault(crate::types::error::SnapshotCopyGrantNotFoundFault),
    SnapshotCopyGrantQuotaExceededFault(crate::types::error::SnapshotCopyGrantQuotaExceededFault),
    SnapshotScheduleAlreadyExistsFault(crate::types::error::SnapshotScheduleAlreadyExistsFault),
    SnapshotScheduleNotFoundFault(crate::types::error::SnapshotScheduleNotFoundFault),
    SnapshotScheduleQuotaExceededFault(crate::types::error::SnapshotScheduleQuotaExceededFault),
    SnapshotScheduleUpdateInProgressFault(crate::types::error::SnapshotScheduleUpdateInProgressFault),
    SourceNotFoundFault(crate::types::error::SourceNotFoundFault),
    SubnetAlreadyInUse(crate::types::error::SubnetAlreadyInUse),
    SubscriptionAlreadyExistFault(crate::types::error::SubscriptionAlreadyExistFault),
    SubscriptionCategoryNotFoundFault(crate::types::error::SubscriptionCategoryNotFoundFault),
    SubscriptionEventIdNotFoundFault(crate::types::error::SubscriptionEventIdNotFoundFault),
    SubscriptionNotFoundFault(crate::types::error::SubscriptionNotFoundFault),
    SubscriptionSeverityNotFoundFault(crate::types::error::SubscriptionSeverityNotFoundFault),
    TableLimitExceededFault(crate::types::error::TableLimitExceededFault),
    TableRestoreNotFoundFault(crate::types::error::TableRestoreNotFoundFault),
    TagLimitExceededFault(crate::types::error::TagLimitExceededFault),
    UnauthorizedOperation(crate::types::error::UnauthorizedOperation),
    UnauthorizedPartnerIntegrationFault(crate::types::error::UnauthorizedPartnerIntegrationFault),
    UnknownSnapshotCopyRegionFault(crate::types::error::UnknownSnapshotCopyRegionFault),
    UnsupportedOperationFault(crate::types::error::UnsupportedOperationFault),
    UnsupportedOptionFault(crate::types::error::UnsupportedOptionFault),
    UsageLimitAlreadyExistsFault(crate::types::error::UsageLimitAlreadyExistsFault),
    UsageLimitNotFoundFault(crate::types::error::UsageLimitNotFoundFault),
    #[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::AccessToClusterDeniedFault(inner) => inner.fmt(f),
            Error::AccessToSnapshotDeniedFault(inner) => inner.fmt(f),
            Error::AuthenticationProfileAlreadyExistsFault(inner) => inner.fmt(f),
            Error::AuthenticationProfileNotFoundFault(inner) => inner.fmt(f),
            Error::AuthenticationProfileQuotaExceededFault(inner) => inner.fmt(f),
            Error::AuthorizationAlreadyExistsFault(inner) => inner.fmt(f),
            Error::AuthorizationNotFoundFault(inner) => inner.fmt(f),
            Error::AuthorizationQuotaExceededFault(inner) => inner.fmt(f),
            Error::BatchDeleteRequestSizeExceededFault(inner) => inner.fmt(f),
            Error::BatchModifyClusterSnapshotsLimitExceededFault(inner) => inner.fmt(f),
            Error::BucketNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ClusterNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterOnLatestRevisionFault(inner) => inner.fmt(f),
            Error::ClusterParameterGroupAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ClusterParameterGroupNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterParameterGroupQuotaExceededFault(inner) => inner.fmt(f),
            Error::ClusterQuotaExceededFault(inner) => inner.fmt(f),
            Error::ClusterSecurityGroupAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ClusterSecurityGroupNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterSecurityGroupQuotaExceededFault(inner) => inner.fmt(f),
            Error::ClusterSnapshotAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ClusterSnapshotNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterSnapshotQuotaExceededFault(inner) => inner.fmt(f),
            Error::ClusterSubnetGroupAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ClusterSubnetGroupNotFoundFault(inner) => inner.fmt(f),
            Error::ClusterSubnetGroupQuotaExceededFault(inner) => inner.fmt(f),
            Error::ClusterSubnetQuotaExceededFault(inner) => inner.fmt(f),
            Error::ConflictPolicyUpdateFault(inner) => inner.fmt(f),
            Error::CopyToRegionDisabledFault(inner) => inner.fmt(f),
            Error::CustomCnameAssociationFault(inner) => inner.fmt(f),
            Error::CustomDomainAssociationNotFoundFault(inner) => inner.fmt(f),
            Error::DependentServiceAccessDeniedFault(inner) => inner.fmt(f),
            Error::DependentServiceRequestThrottlingFault(inner) => inner.fmt(f),
            Error::DependentServiceUnavailableFault(inner) => inner.fmt(f),
            Error::EndpointAlreadyExistsFault(inner) => inner.fmt(f),
            Error::EndpointAuthorizationAlreadyExistsFault(inner) => inner.fmt(f),
            Error::EndpointAuthorizationNotFoundFault(inner) => inner.fmt(f),
            Error::EndpointAuthorizationsPerClusterLimitExceededFault(inner) => inner.fmt(f),
            Error::EndpointNotFoundFault(inner) => inner.fmt(f),
            Error::EndpointsPerAuthorizationLimitExceededFault(inner) => inner.fmt(f),
            Error::EndpointsPerClusterLimitExceededFault(inner) => inner.fmt(f),
            Error::EventSubscriptionQuotaExceededFault(inner) => inner.fmt(f),
            Error::HsmClientCertificateAlreadyExistsFault(inner) => inner.fmt(f),
            Error::HsmClientCertificateNotFoundFault(inner) => inner.fmt(f),
            Error::HsmClientCertificateQuotaExceededFault(inner) => inner.fmt(f),
            Error::HsmConfigurationAlreadyExistsFault(inner) => inner.fmt(f),
            Error::HsmConfigurationNotFoundFault(inner) => inner.fmt(f),
            Error::HsmConfigurationQuotaExceededFault(inner) => inner.fmt(f),
            Error::InProgressTableRestoreQuotaExceededFault(inner) => inner.fmt(f),
            Error::IncompatibleOrderableOptions(inner) => inner.fmt(f),
            Error::InsufficientClusterCapacityFault(inner) => inner.fmt(f),
            Error::InsufficientS3BucketPolicyFault(inner) => inner.fmt(f),
            Error::IntegrationNotFoundFault(inner) => inner.fmt(f),
            Error::InvalidAuthenticationProfileRequestFault(inner) => inner.fmt(f),
            Error::InvalidAuthorizationStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterParameterGroupStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterSecurityGroupStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterSnapshotScheduleStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterSnapshotStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterSubnetGroupStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterSubnetStateFault(inner) => inner.fmt(f),
            Error::InvalidClusterTrackFault(inner) => inner.fmt(f),
            Error::InvalidDataShareFault(inner) => inner.fmt(f),
            Error::InvalidElasticIpFault(inner) => inner.fmt(f),
            Error::InvalidEndpointStateFault(inner) => inner.fmt(f),
            Error::InvalidHsmClientCertificateStateFault(inner) => inner.fmt(f),
            Error::InvalidHsmConfigurationStateFault(inner) => inner.fmt(f),
            Error::InvalidNamespaceFault(inner) => inner.fmt(f),
            Error::InvalidPolicyFault(inner) => inner.fmt(f),
            Error::InvalidReservedNodeStateFault(inner) => inner.fmt(f),
            Error::InvalidRestoreFault(inner) => inner.fmt(f),
            Error::InvalidRetentionPeriodFault(inner) => inner.fmt(f),
            Error::InvalidS3BucketNameFault(inner) => inner.fmt(f),
            Error::InvalidS3KeyPrefixFault(inner) => inner.fmt(f),
            Error::InvalidScheduleFault(inner) => inner.fmt(f),
            Error::InvalidScheduledActionFault(inner) => inner.fmt(f),
            Error::InvalidSnapshotCopyGrantStateFault(inner) => inner.fmt(f),
            Error::InvalidSubnet(inner) => inner.fmt(f),
            Error::InvalidSubscriptionStateFault(inner) => inner.fmt(f),
            Error::InvalidTableRestoreArgumentFault(inner) => inner.fmt(f),
            Error::InvalidTagFault(inner) => inner.fmt(f),
            Error::InvalidUsageLimitFault(inner) => inner.fmt(f),
            Error::InvalidVpcNetworkStateFault(inner) => inner.fmt(f),
            Error::Ipv6CidrBlockNotFoundFault(inner) => inner.fmt(f),
            Error::LimitExceededFault(inner) => inner.fmt(f),
            Error::NumberOfNodesPerClusterLimitExceededFault(inner) => inner.fmt(f),
            Error::NumberOfNodesQuotaExceededFault(inner) => inner.fmt(f),
            Error::PartnerNotFoundFault(inner) => inner.fmt(f),
            Error::RedshiftIdcApplicationAlreadyExistsFault(inner) => inner.fmt(f),
            Error::RedshiftIdcApplicationNotExistsFault(inner) => inner.fmt(f),
            Error::RedshiftIdcApplicationQuotaExceededFault(inner) => inner.fmt(f),
            Error::ReservedNodeAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ReservedNodeAlreadyMigratedFault(inner) => inner.fmt(f),
            Error::ReservedNodeExchangeNotFoundFault(inner) => inner.fmt(f),
            Error::ReservedNodeNotFoundFault(inner) => inner.fmt(f),
            Error::ReservedNodeOfferingNotFoundFault(inner) => inner.fmt(f),
            Error::ReservedNodeQuotaExceededFault(inner) => inner.fmt(f),
            Error::ResizeNotFoundFault(inner) => inner.fmt(f),
            Error::ResourceNotFoundFault(inner) => inner.fmt(f),
            Error::SnsInvalidTopicFault(inner) => inner.fmt(f),
            Error::SnsNoAuthorizationFault(inner) => inner.fmt(f),
            Error::SnsTopicArnNotFoundFault(inner) => inner.fmt(f),
            Error::ScheduleDefinitionTypeUnsupportedFault(inner) => inner.fmt(f),
            Error::ScheduledActionAlreadyExistsFault(inner) => inner.fmt(f),
            Error::ScheduledActionNotFoundFault(inner) => inner.fmt(f),
            Error::ScheduledActionQuotaExceededFault(inner) => inner.fmt(f),
            Error::ScheduledActionTypeUnsupportedFault(inner) => inner.fmt(f),
            Error::SnapshotCopyAlreadyDisabledFault(inner) => inner.fmt(f),
            Error::SnapshotCopyAlreadyEnabledFault(inner) => inner.fmt(f),
            Error::SnapshotCopyDisabledFault(inner) => inner.fmt(f),
            Error::SnapshotCopyGrantAlreadyExistsFault(inner) => inner.fmt(f),
            Error::SnapshotCopyGrantNotFoundFault(inner) => inner.fmt(f),
            Error::SnapshotCopyGrantQuotaExceededFault(inner) => inner.fmt(f),
            Error::SnapshotScheduleAlreadyExistsFault(inner) => inner.fmt(f),
            Error::SnapshotScheduleNotFoundFault(inner) => inner.fmt(f),
            Error::SnapshotScheduleQuotaExceededFault(inner) => inner.fmt(f),
            Error::SnapshotScheduleUpdateInProgressFault(inner) => inner.fmt(f),
            Error::SourceNotFoundFault(inner) => inner.fmt(f),
            Error::SubnetAlreadyInUse(inner) => inner.fmt(f),
            Error::SubscriptionAlreadyExistFault(inner) => inner.fmt(f),
            Error::SubscriptionCategoryNotFoundFault(inner) => inner.fmt(f),
            Error::SubscriptionEventIdNotFoundFault(inner) => inner.fmt(f),
            Error::SubscriptionNotFoundFault(inner) => inner.fmt(f),
            Error::SubscriptionSeverityNotFoundFault(inner) => inner.fmt(f),
            Error::TableLimitExceededFault(inner) => inner.fmt(f),
            Error::TableRestoreNotFoundFault(inner) => inner.fmt(f),
            Error::TagLimitExceededFault(inner) => inner.fmt(f),
            Error::UnauthorizedOperation(inner) => inner.fmt(f),
            Error::UnauthorizedPartnerIntegrationFault(inner) => inner.fmt(f),
            Error::UnknownSnapshotCopyRegionFault(inner) => inner.fmt(f),
            Error::UnsupportedOperationFault(inner) => inner.fmt(f),
            Error::UnsupportedOptionFault(inner) => inner.fmt(f),
            Error::UsageLimitAlreadyExistsFault(inner) => inner.fmt(f),
            Error::UsageLimitNotFoundFault(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::AccessToClusterDeniedFault(inner) => inner.meta(),
            Self::AccessToSnapshotDeniedFault(inner) => inner.meta(),
            Self::AuthenticationProfileAlreadyExistsFault(inner) => inner.meta(),
            Self::AuthenticationProfileNotFoundFault(inner) => inner.meta(),
            Self::AuthenticationProfileQuotaExceededFault(inner) => inner.meta(),
            Self::AuthorizationAlreadyExistsFault(inner) => inner.meta(),
            Self::AuthorizationNotFoundFault(inner) => inner.meta(),
            Self::AuthorizationQuotaExceededFault(inner) => inner.meta(),
            Self::BatchDeleteRequestSizeExceededFault(inner) => inner.meta(),
            Self::BatchModifyClusterSnapshotsLimitExceededFault(inner) => inner.meta(),
            Self::BucketNotFoundFault(inner) => inner.meta(),
            Self::ClusterAlreadyExistsFault(inner) => inner.meta(),
            Self::ClusterNotFoundFault(inner) => inner.meta(),
            Self::ClusterOnLatestRevisionFault(inner) => inner.meta(),
            Self::ClusterParameterGroupAlreadyExistsFault(inner) => inner.meta(),
            Self::ClusterParameterGroupNotFoundFault(inner) => inner.meta(),
            Self::ClusterParameterGroupQuotaExceededFault(inner) => inner.meta(),
            Self::ClusterQuotaExceededFault(inner) => inner.meta(),
            Self::ClusterSecurityGroupAlreadyExistsFault(inner) => inner.meta(),
            Self::ClusterSecurityGroupNotFoundFault(inner) => inner.meta(),
            Self::ClusterSecurityGroupQuotaExceededFault(inner) => inner.meta(),
            Self::ClusterSnapshotAlreadyExistsFault(inner) => inner.meta(),
            Self::ClusterSnapshotNotFoundFault(inner) => inner.meta(),
            Self::ClusterSnapshotQuotaExceededFault(inner) => inner.meta(),
            Self::ClusterSubnetGroupAlreadyExistsFault(inner) => inner.meta(),
            Self::ClusterSubnetGroupNotFoundFault(inner) => inner.meta(),
            Self::ClusterSubnetGroupQuotaExceededFault(inner) => inner.meta(),
            Self::ClusterSubnetQuotaExceededFault(inner) => inner.meta(),
            Self::ConflictPolicyUpdateFault(inner) => inner.meta(),
            Self::CopyToRegionDisabledFault(inner) => inner.meta(),
            Self::CustomCnameAssociationFault(inner) => inner.meta(),
            Self::CustomDomainAssociationNotFoundFault(inner) => inner.meta(),
            Self::DependentServiceAccessDeniedFault(inner) => inner.meta(),
            Self::DependentServiceRequestThrottlingFault(inner) => inner.meta(),
            Self::DependentServiceUnavailableFault(inner) => inner.meta(),
            Self::EndpointAlreadyExistsFault(inner) => inner.meta(),
            Self::EndpointAuthorizationAlreadyExistsFault(inner) => inner.meta(),
            Self::EndpointAuthorizationNotFoundFault(inner) => inner.meta(),
            Self::EndpointAuthorizationsPerClusterLimitExceededFault(inner) => inner.meta(),
            Self::EndpointNotFoundFault(inner) => inner.meta(),
            Self::EndpointsPerAuthorizationLimitExceededFault(inner) => inner.meta(),
            Self::EndpointsPerClusterLimitExceededFault(inner) => inner.meta(),
            Self::EventSubscriptionQuotaExceededFault(inner) => inner.meta(),
            Self::HsmClientCertificateAlreadyExistsFault(inner) => inner.meta(),
            Self::HsmClientCertificateNotFoundFault(inner) => inner.meta(),
            Self::HsmClientCertificateQuotaExceededFault(inner) => inner.meta(),
            Self::HsmConfigurationAlreadyExistsFault(inner) => inner.meta(),
            Self::HsmConfigurationNotFoundFault(inner) => inner.meta(),
            Self::HsmConfigurationQuotaExceededFault(inner) => inner.meta(),
            Self::InProgressTableRestoreQuotaExceededFault(inner) => inner.meta(),
            Self::IncompatibleOrderableOptions(inner) => inner.meta(),
            Self::InsufficientClusterCapacityFault(inner) => inner.meta(),
            Self::InsufficientS3BucketPolicyFault(inner) => inner.meta(),
            Self::IntegrationNotFoundFault(inner) => inner.meta(),
            Self::InvalidAuthenticationProfileRequestFault(inner) => inner.meta(),
            Self::InvalidAuthorizationStateFault(inner) => inner.meta(),
            Self::InvalidClusterParameterGroupStateFault(inner) => inner.meta(),
            Self::InvalidClusterSecurityGroupStateFault(inner) => inner.meta(),
            Self::InvalidClusterSnapshotScheduleStateFault(inner) => inner.meta(),
            Self::InvalidClusterSnapshotStateFault(inner) => inner.meta(),
            Self::InvalidClusterStateFault(inner) => inner.meta(),
            Self::InvalidClusterSubnetGroupStateFault(inner) => inner.meta(),
            Self::InvalidClusterSubnetStateFault(inner) => inner.meta(),
            Self::InvalidClusterTrackFault(inner) => inner.meta(),
            Self::InvalidDataShareFault(inner) => inner.meta(),
            Self::InvalidElasticIpFault(inner) => inner.meta(),
            Self::InvalidEndpointStateFault(inner) => inner.meta(),
            Self::InvalidHsmClientCertificateStateFault(inner) => inner.meta(),
            Self::InvalidHsmConfigurationStateFault(inner) => inner.meta(),
            Self::InvalidNamespaceFault(inner) => inner.meta(),
            Self::InvalidPolicyFault(inner) => inner.meta(),
            Self::InvalidReservedNodeStateFault(inner) => inner.meta(),
            Self::InvalidRestoreFault(inner) => inner.meta(),
            Self::InvalidRetentionPeriodFault(inner) => inner.meta(),
            Self::InvalidS3BucketNameFault(inner) => inner.meta(),
            Self::InvalidS3KeyPrefixFault(inner) => inner.meta(),
            Self::InvalidScheduleFault(inner) => inner.meta(),
            Self::InvalidScheduledActionFault(inner) => inner.meta(),
            Self::InvalidSnapshotCopyGrantStateFault(inner) => inner.meta(),
            Self::InvalidSubnet(inner) => inner.meta(),
            Self::InvalidSubscriptionStateFault(inner) => inner.meta(),
            Self::InvalidTableRestoreArgumentFault(inner) => inner.meta(),
            Self::InvalidTagFault(inner) => inner.meta(),
            Self::InvalidUsageLimitFault(inner) => inner.meta(),
            Self::InvalidVpcNetworkStateFault(inner) => inner.meta(),
            Self::Ipv6CidrBlockNotFoundFault(inner) => inner.meta(),
            Self::LimitExceededFault(inner) => inner.meta(),
            Self::NumberOfNodesPerClusterLimitExceededFault(inner) => inner.meta(),
            Self::NumberOfNodesQuotaExceededFault(inner) => inner.meta(),
            Self::PartnerNotFoundFault(inner) => inner.meta(),
            Self::RedshiftIdcApplicationAlreadyExistsFault(inner) => inner.meta(),
            Self::RedshiftIdcApplicationNotExistsFault(inner) => inner.meta(),
            Self::RedshiftIdcApplicationQuotaExceededFault(inner) => inner.meta(),
            Self::ReservedNodeAlreadyExistsFault(inner) => inner.meta(),
            Self::ReservedNodeAlreadyMigratedFault(inner) => inner.meta(),
            Self::ReservedNodeExchangeNotFoundFault(inner) => inner.meta(),
            Self::ReservedNodeNotFoundFault(inner) => inner.meta(),
            Self::ReservedNodeOfferingNotFoundFault(inner) => inner.meta(),
            Self::ReservedNodeQuotaExceededFault(inner) => inner.meta(),
            Self::ResizeNotFoundFault(inner) => inner.meta(),
            Self::ResourceNotFoundFault(inner) => inner.meta(),
            Self::SnsInvalidTopicFault(inner) => inner.meta(),
            Self::SnsNoAuthorizationFault(inner) => inner.meta(),
            Self::SnsTopicArnNotFoundFault(inner) => inner.meta(),
            Self::ScheduleDefinitionTypeUnsupportedFault(inner) => inner.meta(),
            Self::ScheduledActionAlreadyExistsFault(inner) => inner.meta(),
            Self::ScheduledActionNotFoundFault(inner) => inner.meta(),
            Self::ScheduledActionQuotaExceededFault(inner) => inner.meta(),
            Self::ScheduledActionTypeUnsupportedFault(inner) => inner.meta(),
            Self::SnapshotCopyAlreadyDisabledFault(inner) => inner.meta(),
            Self::SnapshotCopyAlreadyEnabledFault(inner) => inner.meta(),
            Self::SnapshotCopyDisabledFault(inner) => inner.meta(),
            Self::SnapshotCopyGrantAlreadyExistsFault(inner) => inner.meta(),
            Self::SnapshotCopyGrantNotFoundFault(inner) => inner.meta(),
            Self::SnapshotCopyGrantQuotaExceededFault(inner) => inner.meta(),
            Self::SnapshotScheduleAlreadyExistsFault(inner) => inner.meta(),
            Self::SnapshotScheduleNotFoundFault(inner) => inner.meta(),
            Self::SnapshotScheduleQuotaExceededFault(inner) => inner.meta(),
            Self::SnapshotScheduleUpdateInProgressFault(inner) => inner.meta(),
            Self::SourceNotFoundFault(inner) => inner.meta(),
            Self::SubnetAlreadyInUse(inner) => inner.meta(),
            Self::SubscriptionAlreadyExistFault(inner) => inner.meta(),
            Self::SubscriptionCategoryNotFoundFault(inner) => inner.meta(),
            Self::SubscriptionEventIdNotFoundFault(inner) => inner.meta(),
            Self::SubscriptionNotFoundFault(inner) => inner.meta(),
            Self::SubscriptionSeverityNotFoundFault(inner) => inner.meta(),
            Self::TableLimitExceededFault(inner) => inner.meta(),
            Self::TableRestoreNotFoundFault(inner) => inner.meta(),
            Self::TagLimitExceededFault(inner) => inner.meta(),
            Self::UnauthorizedOperation(inner) => inner.meta(),
            Self::UnauthorizedPartnerIntegrationFault(inner) => inner.meta(),
            Self::UnknownSnapshotCopyRegionFault(inner) => inner.meta(),
            Self::UnsupportedOperationFault(inner) => inner.meta(),
            Self::UnsupportedOptionFault(inner) => inner.meta(),
            Self::UsageLimitAlreadyExistsFault(inner) => inner.meta(),
            Self::UsageLimitNotFoundFault(inner) => inner.meta(),
            Self::Unhandled(inner) => &inner.meta,
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError, 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::accept_reserved_node_exchange::AcceptReservedNodeExchangeError> for Error {
    fn from(err: crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError) -> Self {
        match err {
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::InvalidReservedNodeStateFault(inner) => {
                Error::InvalidReservedNodeStateFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::ReservedNodeAlreadyExistsFault(inner) => {
                Error::ReservedNodeAlreadyExistsFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::ReservedNodeAlreadyMigratedFault(inner) => {
                Error::ReservedNodeAlreadyMigratedFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::ReservedNodeNotFoundFault(inner) => {
                Error::ReservedNodeNotFoundFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::ReservedNodeOfferingNotFoundFault(inner) => {
                Error::ReservedNodeOfferingNotFoundFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::accept_reserved_node_exchange::AcceptReservedNodeExchangeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::add_partner::AddPartnerError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::add_partner::AddPartnerError, 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::add_partner::AddPartnerError> for Error {
    fn from(err: crate::operation::add_partner::AddPartnerError) -> Self {
        match err {
            crate::operation::add_partner::AddPartnerError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::add_partner::AddPartnerError::PartnerNotFoundFault(inner) => Error::PartnerNotFoundFault(inner),
            crate::operation::add_partner::AddPartnerError::UnauthorizedPartnerIntegrationFault(inner) => {
                Error::UnauthorizedPartnerIntegrationFault(inner)
            }
            crate::operation::add_partner::AddPartnerError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::add_partner::AddPartnerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError, 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::associate_data_share_consumer::AssociateDataShareConsumerError> for Error {
    fn from(err: crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError) -> Self {
        match err {
            crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError::InvalidDataShareFault(inner) => {
                Error::InvalidDataShareFault(inner)
            }
            crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError::InvalidNamespaceFault(inner) => {
                Error::InvalidNamespaceFault(inner)
            }
            crate::operation::associate_data_share_consumer::AssociateDataShareConsumerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError,
            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::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError> for Error {
    fn from(err: crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError) -> Self {
        match err {
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError::AuthorizationAlreadyExistsFault(inner) => Error::AuthorizationAlreadyExistsFault(inner),
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError::AuthorizationQuotaExceededFault(inner) => Error::AuthorizationQuotaExceededFault(inner),
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError::ClusterSecurityGroupNotFoundFault(inner) => Error::ClusterSecurityGroupNotFoundFault(inner),
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError::InvalidClusterSecurityGroupStateFault(inner) => Error::InvalidClusterSecurityGroupStateFault(inner),
            crate::operation::authorize_cluster_security_group_ingress::AuthorizeClusterSecurityGroupIngressError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_data_share::AuthorizeDataShareError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_data_share::AuthorizeDataShareError, 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::authorize_data_share::AuthorizeDataShareError> for Error {
    fn from(err: crate::operation::authorize_data_share::AuthorizeDataShareError) -> Self {
        match err {
            crate::operation::authorize_data_share::AuthorizeDataShareError::InvalidDataShareFault(inner) => Error::InvalidDataShareFault(inner),
            crate::operation::authorize_data_share::AuthorizeDataShareError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError, 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::authorize_endpoint_access::AuthorizeEndpointAccessError> for Error {
    fn from(err: crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError) -> Self {
        match err {
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::EndpointAuthorizationAlreadyExistsFault(inner) => {
                Error::EndpointAuthorizationAlreadyExistsFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::EndpointAuthorizationsPerClusterLimitExceededFault(inner) => {
                Error::EndpointAuthorizationsPerClusterLimitExceededFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::InvalidAuthorizationStateFault(inner) => {
                Error::InvalidAuthorizationStateFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::authorize_endpoint_access::AuthorizeEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError, 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::authorize_snapshot_access::AuthorizeSnapshotAccessError> for Error {
    fn from(err: crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError) -> Self {
        match err {
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::AuthorizationAlreadyExistsFault(inner) => {
                Error::AuthorizationAlreadyExistsFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::AuthorizationQuotaExceededFault(inner) => {
                Error::AuthorizationQuotaExceededFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::authorize_snapshot_access::AuthorizeSnapshotAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError,
            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::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError> for Error {
    fn from(err: crate::operation::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError) -> Self {
        match err {
            crate::operation::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError::BatchDeleteRequestSizeExceededFault(inner) => {
                Error::BatchDeleteRequestSizeExceededFault(inner)
            }
            crate::operation::batch_delete_cluster_snapshots::BatchDeleteClusterSnapshotsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError,
            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::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError> for Error {
    fn from(err: crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError) -> Self {
        match err {
            crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError::BatchModifyClusterSnapshotsLimitExceededFault(
                inner,
            ) => Error::BatchModifyClusterSnapshotsLimitExceededFault(inner),
            crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::batch_modify_cluster_snapshots::BatchModifyClusterSnapshotsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::cancel_resize::CancelResizeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::cancel_resize::CancelResizeError, 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::cancel_resize::CancelResizeError> for Error {
    fn from(err: crate::operation::cancel_resize::CancelResizeError) -> Self {
        match err {
            crate::operation::cancel_resize::CancelResizeError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::cancel_resize::CancelResizeError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::cancel_resize::CancelResizeError::ResizeNotFoundFault(inner) => Error::ResizeNotFoundFault(inner),
            crate::operation::cancel_resize::CancelResizeError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::cancel_resize::CancelResizeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError, 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::copy_cluster_snapshot::CopyClusterSnapshotError> for Error {
    fn from(err: crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError) -> Self {
        match err {
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::ClusterSnapshotAlreadyExistsFault(inner) => {
                Error::ClusterSnapshotAlreadyExistsFault(inner)
            }
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::ClusterSnapshotQuotaExceededFault(inner) => {
                Error::ClusterSnapshotQuotaExceededFault(inner)
            }
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_authentication_profile::CreateAuthenticationProfileError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_authentication_profile::CreateAuthenticationProfileError, 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_authentication_profile::CreateAuthenticationProfileError> for Error {
    fn from(err: crate::operation::create_authentication_profile::CreateAuthenticationProfileError) -> Self {
        match err {
            crate::operation::create_authentication_profile::CreateAuthenticationProfileError::AuthenticationProfileAlreadyExistsFault(inner) => {
                Error::AuthenticationProfileAlreadyExistsFault(inner)
            }
            crate::operation::create_authentication_profile::CreateAuthenticationProfileError::AuthenticationProfileQuotaExceededFault(inner) => {
                Error::AuthenticationProfileQuotaExceededFault(inner)
            }
            crate::operation::create_authentication_profile::CreateAuthenticationProfileError::InvalidAuthenticationProfileRequestFault(inner) => {
                Error::InvalidAuthenticationProfileRequestFault(inner)
            }
            crate::operation::create_authentication_profile::CreateAuthenticationProfileError::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::ClusterAlreadyExistsFault(inner) => Error::ClusterAlreadyExistsFault(inner),
            crate::operation::create_cluster::CreateClusterError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::ClusterQuotaExceededFault(inner) => Error::ClusterQuotaExceededFault(inner),
            crate::operation::create_cluster::CreateClusterError::ClusterSecurityGroupNotFoundFault(inner) => {
                Error::ClusterSecurityGroupNotFoundFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::HsmClientCertificateNotFoundFault(inner) => {
                Error::HsmClientCertificateNotFoundFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::HsmConfigurationNotFoundFault(inner) => Error::HsmConfigurationNotFoundFault(inner),
            crate::operation::create_cluster::CreateClusterError::InsufficientClusterCapacityFault(inner) => {
                Error::InsufficientClusterCapacityFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::InvalidClusterSubnetGroupStateFault(inner) => {
                Error::InvalidClusterSubnetGroupStateFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::InvalidClusterTrackFault(inner) => Error::InvalidClusterTrackFault(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidElasticIpFault(inner) => Error::InvalidElasticIpFault(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidRetentionPeriodFault(inner) => Error::InvalidRetentionPeriodFault(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidSubnet(inner) => Error::InvalidSubnet(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_cluster::CreateClusterError::InvalidVpcNetworkStateFault(inner) => Error::InvalidVpcNetworkStateFault(inner),
            crate::operation::create_cluster::CreateClusterError::Ipv6CidrBlockNotFoundFault(inner) => Error::Ipv6CidrBlockNotFoundFault(inner),
            crate::operation::create_cluster::CreateClusterError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::create_cluster::CreateClusterError::NumberOfNodesPerClusterLimitExceededFault(inner) => {
                Error::NumberOfNodesPerClusterLimitExceededFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::NumberOfNodesQuotaExceededFault(inner) => {
                Error::NumberOfNodesQuotaExceededFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::RedshiftIdcApplicationNotExistsFault(inner) => {
                Error::RedshiftIdcApplicationNotExistsFault(inner)
            }
            crate::operation::create_cluster::CreateClusterError::SnapshotScheduleNotFoundFault(inner) => Error::SnapshotScheduleNotFoundFault(inner),
            crate::operation::create_cluster::CreateClusterError::TagLimitExceededFault(inner) => Error::TagLimitExceededFault(inner),
            crate::operation::create_cluster::CreateClusterError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::create_cluster::CreateClusterError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::create_cluster::CreateClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError, 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_parameter_group::CreateClusterParameterGroupError,
            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_parameter_group::CreateClusterParameterGroupError> for Error {
    fn from(err: crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError) -> Self {
        match err {
            crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError::ClusterParameterGroupAlreadyExistsFault(inner) => {
                Error::ClusterParameterGroupAlreadyExistsFault(inner)
            }
            crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError::ClusterParameterGroupQuotaExceededFault(inner) => {
                Error::ClusterParameterGroupQuotaExceededFault(inner)
            }
            crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError::InvalidTagFault(inner) => {
                Error::InvalidTagFault(inner)
            }
            crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_cluster_parameter_group::CreateClusterParameterGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError, 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_security_group::CreateClusterSecurityGroupError, 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_security_group::CreateClusterSecurityGroupError> for Error {
    fn from(err: crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError) -> Self {
        match err {
            crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError::ClusterSecurityGroupAlreadyExistsFault(inner) => {
                Error::ClusterSecurityGroupAlreadyExistsFault(inner)
            }
            crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError::ClusterSecurityGroupQuotaExceededFault(inner) => {
                Error::ClusterSecurityGroupQuotaExceededFault(inner)
            }
            crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_cluster_security_group::CreateClusterSecurityGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster_snapshot::CreateClusterSnapshotError, 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_snapshot::CreateClusterSnapshotError, 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_snapshot::CreateClusterSnapshotError> for Error {
    fn from(err: crate::operation::create_cluster_snapshot::CreateClusterSnapshotError) -> Self {
        match err {
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::ClusterSnapshotAlreadyExistsFault(inner) => {
                Error::ClusterSnapshotAlreadyExistsFault(inner)
            }
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::ClusterSnapshotQuotaExceededFault(inner) => {
                Error::ClusterSnapshotQuotaExceededFault(inner)
            }
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_cluster_snapshot::CreateClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError, 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_subnet_group::CreateClusterSubnetGroupError, 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_subnet_group::CreateClusterSubnetGroupError> for Error {
    fn from(err: crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError) -> Self {
        match err {
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::ClusterSubnetGroupAlreadyExistsFault(inner) => {
                Error::ClusterSubnetGroupAlreadyExistsFault(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::ClusterSubnetGroupQuotaExceededFault(inner) => {
                Error::ClusterSubnetGroupQuotaExceededFault(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::ClusterSubnetQuotaExceededFault(inner) => {
                Error::ClusterSubnetQuotaExceededFault(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::InvalidSubnet(inner) => Error::InvalidSubnet(inner),
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::create_cluster_subnet_group::CreateClusterSubnetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError,
            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_custom_domain_association::CreateCustomDomainAssociationError> for Error {
    fn from(err: crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError) -> Self {
        match err {
            crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError::CustomCnameAssociationFault(inner) => {
                Error::CustomCnameAssociationFault(inner)
            }
            crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::create_custom_domain_association::CreateCustomDomainAssociationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_endpoint_access::CreateEndpointAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_endpoint_access::CreateEndpointAccessError, 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_endpoint_access::CreateEndpointAccessError> for Error {
    fn from(err: crate::operation::create_endpoint_access::CreateEndpointAccessError) -> Self {
        match err {
            crate::operation::create_endpoint_access::CreateEndpointAccessError::AccessToClusterDeniedFault(inner) => {
                Error::AccessToClusterDeniedFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::create_endpoint_access::CreateEndpointAccessError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::EndpointAlreadyExistsFault(inner) => {
                Error::EndpointAlreadyExistsFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::EndpointsPerAuthorizationLimitExceededFault(inner) => {
                Error::EndpointsPerAuthorizationLimitExceededFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::EndpointsPerClusterLimitExceededFault(inner) => {
                Error::EndpointsPerClusterLimitExceededFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::create_endpoint_access::CreateEndpointAccessError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::create_endpoint_access::CreateEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_event_subscription::CreateEventSubscriptionError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_event_subscription::CreateEventSubscriptionError, 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_event_subscription::CreateEventSubscriptionError> for Error {
    fn from(err: crate::operation::create_event_subscription::CreateEventSubscriptionError) -> Self {
        match err {
            crate::operation::create_event_subscription::CreateEventSubscriptionError::EventSubscriptionQuotaExceededFault(inner) => {
                Error::EventSubscriptionQuotaExceededFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SnsInvalidTopicFault(inner) => {
                Error::SnsInvalidTopicFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SnsNoAuthorizationFault(inner) => {
                Error::SnsNoAuthorizationFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SnsTopicArnNotFoundFault(inner) => {
                Error::SnsTopicArnNotFoundFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SourceNotFoundFault(inner) => {
                Error::SourceNotFoundFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SubscriptionAlreadyExistFault(inner) => {
                Error::SubscriptionAlreadyExistFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SubscriptionCategoryNotFoundFault(inner) => {
                Error::SubscriptionCategoryNotFoundFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SubscriptionEventIdNotFoundFault(inner) => {
                Error::SubscriptionEventIdNotFoundFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::SubscriptionSeverityNotFoundFault(inner) => {
                Error::SubscriptionSeverityNotFoundFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_event_subscription::CreateEventSubscriptionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError, 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_hsm_client_certificate::CreateHsmClientCertificateError> for Error {
    fn from(err: crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError) -> Self {
        match err {
            crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError::HsmClientCertificateAlreadyExistsFault(inner) => {
                Error::HsmClientCertificateAlreadyExistsFault(inner)
            }
            crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError::HsmClientCertificateQuotaExceededFault(inner) => {
                Error::HsmClientCertificateQuotaExceededFault(inner)
            }
            crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_hsm_client_certificate::CreateHsmClientCertificateError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_hsm_configuration::CreateHsmConfigurationError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_hsm_configuration::CreateHsmConfigurationError, 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_hsm_configuration::CreateHsmConfigurationError> for Error {
    fn from(err: crate::operation::create_hsm_configuration::CreateHsmConfigurationError) -> Self {
        match err {
            crate::operation::create_hsm_configuration::CreateHsmConfigurationError::HsmConfigurationAlreadyExistsFault(inner) => {
                Error::HsmConfigurationAlreadyExistsFault(inner)
            }
            crate::operation::create_hsm_configuration::CreateHsmConfigurationError::HsmConfigurationQuotaExceededFault(inner) => {
                Error::HsmConfigurationQuotaExceededFault(inner)
            }
            crate::operation::create_hsm_configuration::CreateHsmConfigurationError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_hsm_configuration::CreateHsmConfigurationError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_hsm_configuration::CreateHsmConfigurationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError,
            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_redshift_idc_application::CreateRedshiftIdcApplicationError> for Error {
    fn from(err: crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError) -> Self {
        match err {
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::DependentServiceAccessDeniedFault(inner) => {
                Error::DependentServiceAccessDeniedFault(inner)
            }
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::RedshiftIdcApplicationAlreadyExistsFault(inner) => {
                Error::RedshiftIdcApplicationAlreadyExistsFault(inner)
            }
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::RedshiftIdcApplicationQuotaExceededFault(inner) => {
                Error::RedshiftIdcApplicationQuotaExceededFault(inner)
            }
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_scheduled_action::CreateScheduledActionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_scheduled_action::CreateScheduledActionError, 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_scheduled_action::CreateScheduledActionError> for Error {
    fn from(err: crate::operation::create_scheduled_action::CreateScheduledActionError) -> Self {
        match err {
            crate::operation::create_scheduled_action::CreateScheduledActionError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::create_scheduled_action::CreateScheduledActionError::InvalidScheduledActionFault(inner) => {
                Error::InvalidScheduledActionFault(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::InvalidScheduleFault(inner) => Error::InvalidScheduleFault(inner),
            crate::operation::create_scheduled_action::CreateScheduledActionError::ScheduledActionAlreadyExistsFault(inner) => {
                Error::ScheduledActionAlreadyExistsFault(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::ScheduledActionQuotaExceededFault(inner) => {
                Error::ScheduledActionQuotaExceededFault(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::ScheduledActionTypeUnsupportedFault(inner) => {
                Error::ScheduledActionTypeUnsupportedFault(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::create_scheduled_action::CreateScheduledActionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError, 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_snapshot_copy_grant::CreateSnapshotCopyGrantError> for Error {
    fn from(err: crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError) -> Self {
        match err {
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::SnapshotCopyGrantAlreadyExistsFault(inner) => {
                Error::SnapshotCopyGrantAlreadyExistsFault(inner)
            }
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::SnapshotCopyGrantQuotaExceededFault(inner) => {
                Error::SnapshotCopyGrantQuotaExceededFault(inner)
            }
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError, 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_snapshot_schedule::CreateSnapshotScheduleError> for Error {
    fn from(err: crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError) -> Self {
        match err {
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::InvalidScheduleFault(inner) => {
                Error::InvalidScheduleFault(inner)
            }
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::ScheduleDefinitionTypeUnsupportedFault(inner) => {
                Error::ScheduleDefinitionTypeUnsupportedFault(inner)
            }
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::SnapshotScheduleAlreadyExistsFault(inner) => {
                Error::SnapshotScheduleAlreadyExistsFault(inner)
            }
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::SnapshotScheduleQuotaExceededFault(inner) => {
                Error::SnapshotScheduleQuotaExceededFault(inner)
            }
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::create_snapshot_schedule::CreateSnapshotScheduleError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_tags::CreateTagsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_tags::CreateTagsError, 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_tags::CreateTagsError> for Error {
    fn from(err: crate::operation::create_tags::CreateTagsError) -> Self {
        match err {
            crate::operation::create_tags::CreateTagsError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::create_tags::CreateTagsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::create_tags::CreateTagsError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::create_tags::CreateTagsError::TagLimitExceededFault(inner) => Error::TagLimitExceededFault(inner),
            crate::operation::create_tags::CreateTagsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_usage_limit::CreateUsageLimitError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_usage_limit::CreateUsageLimitError, 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_usage_limit::CreateUsageLimitError> for Error {
    fn from(err: crate::operation::create_usage_limit::CreateUsageLimitError) -> Self {
        match err {
            crate::operation::create_usage_limit::CreateUsageLimitError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::InvalidUsageLimitFault(inner) => Error::InvalidUsageLimitFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::TagLimitExceededFault(inner) => Error::TagLimitExceededFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::create_usage_limit::CreateUsageLimitError::UsageLimitAlreadyExistsFault(inner) => {
                Error::UsageLimitAlreadyExistsFault(inner)
            }
            crate::operation::create_usage_limit::CreateUsageLimitError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deauthorize_data_share::DeauthorizeDataShareError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::deauthorize_data_share::DeauthorizeDataShareError, 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::deauthorize_data_share::DeauthorizeDataShareError> for Error {
    fn from(err: crate::operation::deauthorize_data_share::DeauthorizeDataShareError) -> Self {
        match err {
            crate::operation::deauthorize_data_share::DeauthorizeDataShareError::InvalidDataShareFault(inner) => Error::InvalidDataShareFault(inner),
            crate::operation::deauthorize_data_share::DeauthorizeDataShareError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError, 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_authentication_profile::DeleteAuthenticationProfileError> for Error {
    fn from(err: crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError) -> Self {
        match err {
            crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError::AuthenticationProfileNotFoundFault(inner) => {
                Error::AuthenticationProfileNotFoundFault(inner)
            }
            crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError::InvalidAuthenticationProfileRequestFault(inner) => {
                Error::InvalidAuthenticationProfileRequestFault(inner)
            }
            crate::operation::delete_authentication_profile::DeleteAuthenticationProfileError::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::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::delete_cluster::DeleteClusterError::ClusterSnapshotAlreadyExistsFault(inner) => {
                Error::ClusterSnapshotAlreadyExistsFault(inner)
            }
            crate::operation::delete_cluster::DeleteClusterError::ClusterSnapshotQuotaExceededFault(inner) => {
                Error::ClusterSnapshotQuotaExceededFault(inner)
            }
            crate::operation::delete_cluster::DeleteClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::delete_cluster::DeleteClusterError::InvalidRetentionPeriodFault(inner) => Error::InvalidRetentionPeriodFault(inner),
            crate::operation::delete_cluster::DeleteClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster_parameter_group::DeleteClusterParameterGroupError, 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_parameter_group::DeleteClusterParameterGroupError,
            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_parameter_group::DeleteClusterParameterGroupError> for Error {
    fn from(err: crate::operation::delete_cluster_parameter_group::DeleteClusterParameterGroupError) -> Self {
        match err {
            crate::operation::delete_cluster_parameter_group::DeleteClusterParameterGroupError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::delete_cluster_parameter_group::DeleteClusterParameterGroupError::InvalidClusterParameterGroupStateFault(inner) => {
                Error::InvalidClusterParameterGroupStateFault(inner)
            }
            crate::operation::delete_cluster_parameter_group::DeleteClusterParameterGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster_security_group::DeleteClusterSecurityGroupError, 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_security_group::DeleteClusterSecurityGroupError, 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_security_group::DeleteClusterSecurityGroupError> for Error {
    fn from(err: crate::operation::delete_cluster_security_group::DeleteClusterSecurityGroupError) -> Self {
        match err {
            crate::operation::delete_cluster_security_group::DeleteClusterSecurityGroupError::ClusterSecurityGroupNotFoundFault(inner) => {
                Error::ClusterSecurityGroupNotFoundFault(inner)
            }
            crate::operation::delete_cluster_security_group::DeleteClusterSecurityGroupError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::delete_cluster_security_group::DeleteClusterSecurityGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster_snapshot::DeleteClusterSnapshotError, 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_snapshot::DeleteClusterSnapshotError, 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_snapshot::DeleteClusterSnapshotError> for Error {
    fn from(err: crate::operation::delete_cluster_snapshot::DeleteClusterSnapshotError) -> Self {
        match err {
            crate::operation::delete_cluster_snapshot::DeleteClusterSnapshotError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::delete_cluster_snapshot::DeleteClusterSnapshotError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::delete_cluster_snapshot::DeleteClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError, 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_subnet_group::DeleteClusterSubnetGroupError, 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_subnet_group::DeleteClusterSubnetGroupError> for Error {
    fn from(err: crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError) -> Self {
        match err {
            crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError::InvalidClusterSubnetGroupStateFault(inner) => {
                Error::InvalidClusterSubnetGroupStateFault(inner)
            }
            crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError::InvalidClusterSubnetStateFault(inner) => {
                Error::InvalidClusterSubnetStateFault(inner)
            }
            crate::operation::delete_cluster_subnet_group::DeleteClusterSubnetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError,
            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_custom_domain_association::DeleteCustomDomainAssociationError> for Error {
    fn from(err: crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError) -> Self {
        match err {
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError::CustomCnameAssociationFault(inner) => {
                Error::CustomCnameAssociationFault(inner)
            }
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError::CustomDomainAssociationNotFoundFault(inner) => {
                Error::CustomDomainAssociationNotFoundFault(inner)
            }
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::delete_custom_domain_association::DeleteCustomDomainAssociationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_endpoint_access::DeleteEndpointAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_endpoint_access::DeleteEndpointAccessError, 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_endpoint_access::DeleteEndpointAccessError> for Error {
    fn from(err: crate::operation::delete_endpoint_access::DeleteEndpointAccessError) -> Self {
        match err {
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::EndpointNotFoundFault(inner) => Error::EndpointNotFoundFault(inner),
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::InvalidEndpointStateFault(inner) => {
                Error::InvalidEndpointStateFault(inner)
            }
            crate::operation::delete_endpoint_access::DeleteEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_event_subscription::DeleteEventSubscriptionError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_event_subscription::DeleteEventSubscriptionError, 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_event_subscription::DeleteEventSubscriptionError> for Error {
    fn from(err: crate::operation::delete_event_subscription::DeleteEventSubscriptionError) -> Self {
        match err {
            crate::operation::delete_event_subscription::DeleteEventSubscriptionError::InvalidSubscriptionStateFault(inner) => {
                Error::InvalidSubscriptionStateFault(inner)
            }
            crate::operation::delete_event_subscription::DeleteEventSubscriptionError::SubscriptionNotFoundFault(inner) => {
                Error::SubscriptionNotFoundFault(inner)
            }
            crate::operation::delete_event_subscription::DeleteEventSubscriptionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError, 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_hsm_client_certificate::DeleteHsmClientCertificateError> for Error {
    fn from(err: crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError) -> Self {
        match err {
            crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError::HsmClientCertificateNotFoundFault(inner) => {
                Error::HsmClientCertificateNotFoundFault(inner)
            }
            crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError::InvalidHsmClientCertificateStateFault(inner) => {
                Error::InvalidHsmClientCertificateStateFault(inner)
            }
            crate::operation::delete_hsm_client_certificate::DeleteHsmClientCertificateError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError, 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_hsm_configuration::DeleteHsmConfigurationError> for Error {
    fn from(err: crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError) -> Self {
        match err {
            crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError::HsmConfigurationNotFoundFault(inner) => {
                Error::HsmConfigurationNotFoundFault(inner)
            }
            crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError::InvalidHsmConfigurationStateFault(inner) => {
                Error::InvalidHsmConfigurationStateFault(inner)
            }
            crate::operation::delete_hsm_configuration::DeleteHsmConfigurationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_partner::DeletePartnerError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_partner::DeletePartnerError, 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_partner::DeletePartnerError> for Error {
    fn from(err: crate::operation::delete_partner::DeletePartnerError) -> Self {
        match err {
            crate::operation::delete_partner::DeletePartnerError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::delete_partner::DeletePartnerError::PartnerNotFoundFault(inner) => Error::PartnerNotFoundFault(inner),
            crate::operation::delete_partner::DeletePartnerError::UnauthorizedPartnerIntegrationFault(inner) => {
                Error::UnauthorizedPartnerIntegrationFault(inner)
            }
            crate::operation::delete_partner::DeletePartnerError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::delete_partner::DeletePartnerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError,
            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_redshift_idc_application::DeleteRedshiftIdcApplicationError> for Error {
    fn from(err: crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError) -> Self {
        match err {
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError::DependentServiceAccessDeniedFault(inner) => {
                Error::DependentServiceAccessDeniedFault(inner)
            }
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError::RedshiftIdcApplicationNotExistsFault(inner) => {
                Error::RedshiftIdcApplicationNotExistsFault(inner)
            }
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::delete_redshift_idc_application::DeleteRedshiftIdcApplicationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_resource_policy::DeleteResourcePolicyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_resource_policy::DeleteResourcePolicyError, 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_resource_policy::DeleteResourcePolicyError> for Error {
    fn from(err: crate::operation::delete_resource_policy::DeleteResourcePolicyError) -> Self {
        match err {
            crate::operation::delete_resource_policy::DeleteResourcePolicyError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::delete_resource_policy::DeleteResourcePolicyError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::delete_resource_policy::DeleteResourcePolicyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_scheduled_action::DeleteScheduledActionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_scheduled_action::DeleteScheduledActionError, 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_scheduled_action::DeleteScheduledActionError> for Error {
    fn from(err: crate::operation::delete_scheduled_action::DeleteScheduledActionError) -> Self {
        match err {
            crate::operation::delete_scheduled_action::DeleteScheduledActionError::ScheduledActionNotFoundFault(inner) => {
                Error::ScheduledActionNotFoundFault(inner)
            }
            crate::operation::delete_scheduled_action::DeleteScheduledActionError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::delete_scheduled_action::DeleteScheduledActionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError, 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_snapshot_copy_grant::DeleteSnapshotCopyGrantError> for Error {
    fn from(err: crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError) -> Self {
        match err {
            crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError::InvalidSnapshotCopyGrantStateFault(inner) => {
                Error::InvalidSnapshotCopyGrantStateFault(inner)
            }
            crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError::SnapshotCopyGrantNotFoundFault(inner) => {
                Error::SnapshotCopyGrantNotFoundFault(inner)
            }
            crate::operation::delete_snapshot_copy_grant::DeleteSnapshotCopyGrantError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError, 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_snapshot_schedule::DeleteSnapshotScheduleError> for Error {
    fn from(err: crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError) -> Self {
        match err {
            crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError::InvalidClusterSnapshotScheduleStateFault(inner) => {
                Error::InvalidClusterSnapshotScheduleStateFault(inner)
            }
            crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError::SnapshotScheduleNotFoundFault(inner) => {
                Error::SnapshotScheduleNotFoundFault(inner)
            }
            crate::operation::delete_snapshot_schedule::DeleteSnapshotScheduleError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_tags::DeleteTagsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_tags::DeleteTagsError, 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_tags::DeleteTagsError> for Error {
    fn from(err: crate::operation::delete_tags::DeleteTagsError) -> Self {
        match err {
            crate::operation::delete_tags::DeleteTagsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::delete_tags::DeleteTagsError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::delete_tags::DeleteTagsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_usage_limit::DeleteUsageLimitError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_usage_limit::DeleteUsageLimitError, 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_usage_limit::DeleteUsageLimitError> for Error {
    fn from(err: crate::operation::delete_usage_limit::DeleteUsageLimitError) -> Self {
        match err {
            crate::operation::delete_usage_limit::DeleteUsageLimitError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::delete_usage_limit::DeleteUsageLimitError::UsageLimitNotFoundFault(inner) => Error::UsageLimitNotFoundFault(inner),
            crate::operation::delete_usage_limit::DeleteUsageLimitError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_account_attributes::DescribeAccountAttributesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_account_attributes::DescribeAccountAttributesError, 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_account_attributes::DescribeAccountAttributesError> for Error {
    fn from(err: crate::operation::describe_account_attributes::DescribeAccountAttributesError) -> Self {
        match err {
            crate::operation::describe_account_attributes::DescribeAccountAttributesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError,
            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_authentication_profiles::DescribeAuthenticationProfilesError> for Error {
    fn from(err: crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError) -> Self {
        match err {
            crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError::AuthenticationProfileNotFoundFault(inner) => {
                Error::AuthenticationProfileNotFoundFault(inner)
            }
            crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError::InvalidAuthenticationProfileRequestFault(
                inner,
            ) => Error::InvalidAuthenticationProfileRequestFault(inner),
            crate::operation::describe_authentication_profiles::DescribeAuthenticationProfilesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError, 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_cluster_db_revisions::DescribeClusterDbRevisionsError> for Error {
    fn from(err: crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError) -> Self {
        match err {
            crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::describe_cluster_db_revisions::DescribeClusterDbRevisionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError,
            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_cluster_parameter_groups::DescribeClusterParameterGroupsError> for Error {
    fn from(err: crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError) -> Self {
        match err {
            crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError::InvalidTagFault(inner) => {
                Error::InvalidTagFault(inner)
            }
            crate::operation::describe_cluster_parameter_groups::DescribeClusterParameterGroupsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_parameters::DescribeClusterParametersError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_parameters::DescribeClusterParametersError, 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_cluster_parameters::DescribeClusterParametersError> for Error {
    fn from(err: crate::operation::describe_cluster_parameters::DescribeClusterParametersError) -> Self {
        match err {
            crate::operation::describe_cluster_parameters::DescribeClusterParametersError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::describe_cluster_parameters::DescribeClusterParametersError::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::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::describe_clusters::DescribeClustersError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_clusters::DescribeClustersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError,
            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_cluster_security_groups::DescribeClusterSecurityGroupsError> for Error {
    fn from(err: crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError) -> Self {
        match err {
            crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError::ClusterSecurityGroupNotFoundFault(inner) => {
                Error::ClusterSecurityGroupNotFoundFault(inner)
            }
            crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError::InvalidTagFault(inner) => {
                Error::InvalidTagFault(inner)
            }
            crate::operation::describe_cluster_security_groups::DescribeClusterSecurityGroupsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError, 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_cluster_snapshots::DescribeClusterSnapshotsError> for Error {
    fn from(err: crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError) -> Self {
        match err {
            crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_cluster_snapshots::DescribeClusterSnapshotsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError,
            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_cluster_subnet_groups::DescribeClusterSubnetGroupsError> for Error {
    fn from(err: crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError) -> Self {
        match err {
            crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError::InvalidTagFault(inner) => {
                Error::InvalidTagFault(inner)
            }
            crate::operation::describe_cluster_subnet_groups::DescribeClusterSubnetGroupsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_tracks::DescribeClusterTracksError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_tracks::DescribeClusterTracksError, 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_cluster_tracks::DescribeClusterTracksError> for Error {
    fn from(err: crate::operation::describe_cluster_tracks::DescribeClusterTracksError) -> Self {
        match err {
            crate::operation::describe_cluster_tracks::DescribeClusterTracksError::InvalidClusterTrackFault(inner) => {
                Error::InvalidClusterTrackFault(inner)
            }
            crate::operation::describe_cluster_tracks::DescribeClusterTracksError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::describe_cluster_tracks::DescribeClusterTracksError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_versions::DescribeClusterVersionsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_cluster_versions::DescribeClusterVersionsError, 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_cluster_versions::DescribeClusterVersionsError> for Error {
    fn from(err: crate::operation::describe_cluster_versions::DescribeClusterVersionsError) -> Self {
        match err {
            crate::operation::describe_cluster_versions::DescribeClusterVersionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError,
            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_custom_domain_associations::DescribeCustomDomainAssociationsError> for Error {
    fn from(err: crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError) -> Self {
        match err {
            crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError::CustomDomainAssociationNotFoundFault(
                inner,
            ) => Error::CustomDomainAssociationNotFoundFault(inner),
            crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_custom_domain_associations::DescribeCustomDomainAssociationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_data_shares::DescribeDataSharesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_data_shares::DescribeDataSharesError, 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_data_shares::DescribeDataSharesError> for Error {
    fn from(err: crate::operation::describe_data_shares::DescribeDataSharesError) -> Self {
        match err {
            crate::operation::describe_data_shares::DescribeDataSharesError::InvalidDataShareFault(inner) => Error::InvalidDataShareFault(inner),
            crate::operation::describe_data_shares::DescribeDataSharesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_data_shares_for_consumer::DescribeDataSharesForConsumerError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_data_shares_for_consumer::DescribeDataSharesForConsumerError,
            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_data_shares_for_consumer::DescribeDataSharesForConsumerError> for Error {
    fn from(err: crate::operation::describe_data_shares_for_consumer::DescribeDataSharesForConsumerError) -> Self {
        match err {
            crate::operation::describe_data_shares_for_consumer::DescribeDataSharesForConsumerError::InvalidNamespaceFault(inner) => {
                Error::InvalidNamespaceFault(inner)
            }
            crate::operation::describe_data_shares_for_consumer::DescribeDataSharesForConsumerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_data_shares_for_producer::DescribeDataSharesForProducerError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_data_shares_for_producer::DescribeDataSharesForProducerError,
            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_data_shares_for_producer::DescribeDataSharesForProducerError> for Error {
    fn from(err: crate::operation::describe_data_shares_for_producer::DescribeDataSharesForProducerError) -> Self {
        match err {
            crate::operation::describe_data_shares_for_producer::DescribeDataSharesForProducerError::InvalidNamespaceFault(inner) => {
                Error::InvalidNamespaceFault(inner)
            }
            crate::operation::describe_data_shares_for_producer::DescribeDataSharesForProducerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_default_cluster_parameters::DescribeDefaultClusterParametersError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_default_cluster_parameters::DescribeDefaultClusterParametersError,
            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_default_cluster_parameters::DescribeDefaultClusterParametersError> for Error {
    fn from(err: crate::operation::describe_default_cluster_parameters::DescribeDefaultClusterParametersError) -> Self {
        match err {
            crate::operation::describe_default_cluster_parameters::DescribeDefaultClusterParametersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_endpoint_access::DescribeEndpointAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_endpoint_access::DescribeEndpointAccessError, 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_endpoint_access::DescribeEndpointAccessError> for Error {
    fn from(err: crate::operation::describe_endpoint_access::DescribeEndpointAccessError) -> Self {
        match err {
            crate::operation::describe_endpoint_access::DescribeEndpointAccessError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_endpoint_access::DescribeEndpointAccessError::EndpointNotFoundFault(inner) => {
                Error::EndpointNotFoundFault(inner)
            }
            crate::operation::describe_endpoint_access::DescribeEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::describe_endpoint_access::DescribeEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError,
            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_endpoint_authorization::DescribeEndpointAuthorizationError> for Error {
    fn from(err: crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError) -> Self {
        match err {
            crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_endpoint_authorization::DescribeEndpointAuthorizationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_event_categories::DescribeEventCategoriesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_event_categories::DescribeEventCategoriesError, 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_event_categories::DescribeEventCategoriesError> for Error {
    fn from(err: crate::operation::describe_event_categories::DescribeEventCategoriesError) -> Self {
        match err {
            crate::operation::describe_event_categories::DescribeEventCategoriesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_events::DescribeEventsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_events::DescribeEventsError, 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_events::DescribeEventsError> for Error {
    fn from(err: crate::operation::describe_events::DescribeEventsError) -> Self {
        match err {
            crate::operation::describe_events::DescribeEventsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError, 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_event_subscriptions::DescribeEventSubscriptionsError> for Error {
    fn from(err: crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError) -> Self {
        match err {
            crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError::SubscriptionNotFoundFault(inner) => {
                Error::SubscriptionNotFoundFault(inner)
            }
            crate::operation::describe_event_subscriptions::DescribeEventSubscriptionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError,
            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_hsm_client_certificates::DescribeHsmClientCertificatesError> for Error {
    fn from(err: crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError) -> Self {
        match err {
            crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError::HsmClientCertificateNotFoundFault(inner) => {
                Error::HsmClientCertificateNotFoundFault(inner)
            }
            crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError::InvalidTagFault(inner) => {
                Error::InvalidTagFault(inner)
            }
            crate::operation::describe_hsm_client_certificates::DescribeHsmClientCertificatesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError, 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_hsm_configurations::DescribeHsmConfigurationsError> for Error {
    fn from(err: crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError) -> Self {
        match err {
            crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError::HsmConfigurationNotFoundFault(inner) => {
                Error::HsmConfigurationNotFoundFault(inner)
            }
            crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_hsm_configurations::DescribeHsmConfigurationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError, 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_inbound_integrations::DescribeInboundIntegrationsError> for Error {
    fn from(err: crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError) -> Self {
        match err {
            crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError::IntegrationNotFoundFault(inner) => {
                Error::IntegrationNotFoundFault(inner)
            }
            crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError::InvalidNamespaceFault(inner) => {
                Error::InvalidNamespaceFault(inner)
            }
            crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_inbound_integrations::DescribeInboundIntegrationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_logging_status::DescribeLoggingStatusError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_logging_status::DescribeLoggingStatusError, 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_logging_status::DescribeLoggingStatusError> for Error {
    fn from(err: crate::operation::describe_logging_status::DescribeLoggingStatusError) -> Self {
        match err {
            crate::operation::describe_logging_status::DescribeLoggingStatusError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::describe_logging_status::DescribeLoggingStatusError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_logging_status::DescribeLoggingStatusError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError,
            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_node_configuration_options::DescribeNodeConfigurationOptionsError> for Error {
    fn from(err: crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError) -> Self {
        match err {
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::AccessToSnapshotDeniedFault(inner) => {
                Error::AccessToSnapshotDeniedFault(inner)
            }
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_node_configuration_options::DescribeNodeConfigurationOptionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_orderable_cluster_options::DescribeOrderableClusterOptionsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_orderable_cluster_options::DescribeOrderableClusterOptionsError,
            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_orderable_cluster_options::DescribeOrderableClusterOptionsError> for Error {
    fn from(err: crate::operation::describe_orderable_cluster_options::DescribeOrderableClusterOptionsError) -> Self {
        match err {
            crate::operation::describe_orderable_cluster_options::DescribeOrderableClusterOptionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_partners::DescribePartnersError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_partners::DescribePartnersError, 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_partners::DescribePartnersError> for Error {
    fn from(err: crate::operation::describe_partners::DescribePartnersError) -> Self {
        match err {
            crate::operation::describe_partners::DescribePartnersError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::describe_partners::DescribePartnersError::UnauthorizedPartnerIntegrationFault(inner) => {
                Error::UnauthorizedPartnerIntegrationFault(inner)
            }
            crate::operation::describe_partners::DescribePartnersError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::describe_partners::DescribePartnersError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError,
            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_redshift_idc_applications::DescribeRedshiftIdcApplicationsError> for Error {
    fn from(err: crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError) -> Self {
        match err {
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError::DependentServiceAccessDeniedFault(inner) => {
                Error::DependentServiceAccessDeniedFault(inner)
            }
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError::RedshiftIdcApplicationNotExistsFault(
                inner,
            ) => Error::RedshiftIdcApplicationNotExistsFault(inner),
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_redshift_idc_applications::DescribeRedshiftIdcApplicationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError,
            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_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError> for Error {
    fn from(err: crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError) -> Self {
        match err {
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError::ReservedNodeExchangeNotFoundFault(
                inner,
            ) => Error::ReservedNodeExchangeNotFoundFault(inner),
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError::ReservedNodeNotFoundFault(inner) => {
                Error::ReservedNodeNotFoundFault(inner)
            }
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_reserved_node_exchange_status::DescribeReservedNodeExchangeStatusError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError,
            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_reserved_node_offerings::DescribeReservedNodeOfferingsError> for Error {
    fn from(err: crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError) -> Self {
        match err {
            crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError::ReservedNodeOfferingNotFoundFault(inner) => {
                Error::ReservedNodeOfferingNotFoundFault(inner)
            }
            crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_reserved_node_offerings::DescribeReservedNodeOfferingsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_reserved_nodes::DescribeReservedNodesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_reserved_nodes::DescribeReservedNodesError, 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_reserved_nodes::DescribeReservedNodesError> for Error {
    fn from(err: crate::operation::describe_reserved_nodes::DescribeReservedNodesError) -> Self {
        match err {
            crate::operation::describe_reserved_nodes::DescribeReservedNodesError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::describe_reserved_nodes::DescribeReservedNodesError::ReservedNodeNotFoundFault(inner) => {
                Error::ReservedNodeNotFoundFault(inner)
            }
            crate::operation::describe_reserved_nodes::DescribeReservedNodesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_resize::DescribeResizeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_resize::DescribeResizeError, 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_resize::DescribeResizeError> for Error {
    fn from(err: crate::operation::describe_resize::DescribeResizeError) -> Self {
        match err {
            crate::operation::describe_resize::DescribeResizeError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::describe_resize::DescribeResizeError::ResizeNotFoundFault(inner) => Error::ResizeNotFoundFault(inner),
            crate::operation::describe_resize::DescribeResizeError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::describe_resize::DescribeResizeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_scheduled_actions::DescribeScheduledActionsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_scheduled_actions::DescribeScheduledActionsError, 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_scheduled_actions::DescribeScheduledActionsError> for Error {
    fn from(err: crate::operation::describe_scheduled_actions::DescribeScheduledActionsError) -> Self {
        match err {
            crate::operation::describe_scheduled_actions::DescribeScheduledActionsError::ScheduledActionNotFoundFault(inner) => {
                Error::ScheduledActionNotFoundFault(inner)
            }
            crate::operation::describe_scheduled_actions::DescribeScheduledActionsError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::describe_scheduled_actions::DescribeScheduledActionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError, 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_snapshot_copy_grants::DescribeSnapshotCopyGrantsError> for Error {
    fn from(err: crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError) -> Self {
        match err {
            crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError::SnapshotCopyGrantNotFoundFault(inner) => {
                Error::SnapshotCopyGrantNotFoundFault(inner)
            }
            crate::operation::describe_snapshot_copy_grants::DescribeSnapshotCopyGrantsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_snapshot_schedules::DescribeSnapshotSchedulesError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_snapshot_schedules::DescribeSnapshotSchedulesError, 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_snapshot_schedules::DescribeSnapshotSchedulesError> for Error {
    fn from(err: crate::operation::describe_snapshot_schedules::DescribeSnapshotSchedulesError) -> Self {
        match err {
            crate::operation::describe_snapshot_schedules::DescribeSnapshotSchedulesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_storage::DescribeStorageError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_storage::DescribeStorageError, 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_storage::DescribeStorageError> for Error {
    fn from(err: crate::operation::describe_storage::DescribeStorageError) -> Self {
        match err {
            crate::operation::describe_storage::DescribeStorageError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError, 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_table_restore_status::DescribeTableRestoreStatusError> for Error {
    fn from(err: crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError) -> Self {
        match err {
            crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError::TableRestoreNotFoundFault(inner) => {
                Error::TableRestoreNotFoundFault(inner)
            }
            crate::operation::describe_table_restore_status::DescribeTableRestoreStatusError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_tags::DescribeTagsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_tags::DescribeTagsError, 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_tags::DescribeTagsError> for Error {
    fn from(err: crate::operation::describe_tags::DescribeTagsError) -> Self {
        match err {
            crate::operation::describe_tags::DescribeTagsError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::describe_tags::DescribeTagsError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::describe_tags::DescribeTagsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_usage_limits::DescribeUsageLimitsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::describe_usage_limits::DescribeUsageLimitsError, 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_usage_limits::DescribeUsageLimitsError> for Error {
    fn from(err: crate::operation::describe_usage_limits::DescribeUsageLimitsError) -> Self {
        match err {
            crate::operation::describe_usage_limits::DescribeUsageLimitsError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::describe_usage_limits::DescribeUsageLimitsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::describe_usage_limits::DescribeUsageLimitsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_logging::DisableLoggingError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_logging::DisableLoggingError, 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::disable_logging::DisableLoggingError> for Error {
    fn from(err: crate::operation::disable_logging::DisableLoggingError) -> Self {
        match err {
            crate::operation::disable_logging::DisableLoggingError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::disable_logging::DisableLoggingError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::disable_logging::DisableLoggingError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::disable_logging::DisableLoggingError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_snapshot_copy::DisableSnapshotCopyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_snapshot_copy::DisableSnapshotCopyError, 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::disable_snapshot_copy::DisableSnapshotCopyError> for Error {
    fn from(err: crate::operation::disable_snapshot_copy::DisableSnapshotCopyError) -> Self {
        match err {
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::SnapshotCopyAlreadyDisabledFault(inner) => {
                Error::SnapshotCopyAlreadyDisabledFault(inner)
            }
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::disable_snapshot_copy::DisableSnapshotCopyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError,
            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::disassociate_data_share_consumer::DisassociateDataShareConsumerError> for Error {
    fn from(err: crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError) -> Self {
        match err {
            crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError::InvalidDataShareFault(inner) => {
                Error::InvalidDataShareFault(inner)
            }
            crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError::InvalidNamespaceFault(inner) => {
                Error::InvalidNamespaceFault(inner)
            }
            crate::operation::disassociate_data_share_consumer::DisassociateDataShareConsumerError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_logging::EnableLoggingError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_logging::EnableLoggingError, 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::enable_logging::EnableLoggingError> for Error {
    fn from(err: crate::operation::enable_logging::EnableLoggingError) -> Self {
        match err {
            crate::operation::enable_logging::EnableLoggingError::BucketNotFoundFault(inner) => Error::BucketNotFoundFault(inner),
            crate::operation::enable_logging::EnableLoggingError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::enable_logging::EnableLoggingError::InsufficientS3BucketPolicyFault(inner) => {
                Error::InsufficientS3BucketPolicyFault(inner)
            }
            crate::operation::enable_logging::EnableLoggingError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::enable_logging::EnableLoggingError::InvalidS3BucketNameFault(inner) => Error::InvalidS3BucketNameFault(inner),
            crate::operation::enable_logging::EnableLoggingError::InvalidS3KeyPrefixFault(inner) => Error::InvalidS3KeyPrefixFault(inner),
            crate::operation::enable_logging::EnableLoggingError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::enable_logging::EnableLoggingError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_snapshot_copy::EnableSnapshotCopyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_snapshot_copy::EnableSnapshotCopyError, 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::enable_snapshot_copy::EnableSnapshotCopyError> for Error {
    fn from(err: crate::operation::enable_snapshot_copy::EnableSnapshotCopyError) -> Self {
        match err {
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::CopyToRegionDisabledFault(inner) => {
                Error::CopyToRegionDisabledFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::IncompatibleOrderableOptions(inner) => {
                Error::IncompatibleOrderableOptions(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::SnapshotCopyAlreadyEnabledFault(inner) => {
                Error::SnapshotCopyAlreadyEnabledFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::SnapshotCopyGrantNotFoundFault(inner) => {
                Error::SnapshotCopyGrantNotFoundFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::UnknownSnapshotCopyRegionFault(inner) => {
                Error::UnknownSnapshotCopyRegionFault(inner)
            }
            crate::operation::enable_snapshot_copy::EnableSnapshotCopyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::failover_primary_compute::FailoverPrimaryComputeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::failover_primary_compute::FailoverPrimaryComputeError, 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::failover_primary_compute::FailoverPrimaryComputeError> for Error {
    fn from(err: crate::operation::failover_primary_compute::FailoverPrimaryComputeError) -> Self {
        match err {
            crate::operation::failover_primary_compute::FailoverPrimaryComputeError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::failover_primary_compute::FailoverPrimaryComputeError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::failover_primary_compute::FailoverPrimaryComputeError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::failover_primary_compute::FailoverPrimaryComputeError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::failover_primary_compute::FailoverPrimaryComputeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_cluster_credentials::GetClusterCredentialsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_cluster_credentials::GetClusterCredentialsError, 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_cluster_credentials::GetClusterCredentialsError> for Error {
    fn from(err: crate::operation::get_cluster_credentials::GetClusterCredentialsError) -> Self {
        match err {
            crate::operation::get_cluster_credentials::GetClusterCredentialsError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::get_cluster_credentials::GetClusterCredentialsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::get_cluster_credentials::GetClusterCredentialsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError,
            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_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError> for Error {
    fn from(err: crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError) -> Self {
        match err {
            crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::get_cluster_credentials_with_iam::GetClusterCredentialsWithIAMError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError,
            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_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError> for Error {
    fn from(err: crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError) -> Self {
        match err {
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::ClusterSnapshotNotFoundFault(inner) => Error::ClusterSnapshotNotFoundFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::DependentServiceUnavailableFault(inner) => Error::DependentServiceUnavailableFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::InvalidReservedNodeStateFault(inner) => Error::InvalidReservedNodeStateFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::ReservedNodeAlreadyMigratedFault(inner) => Error::ReservedNodeAlreadyMigratedFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::ReservedNodeNotFoundFault(inner) => Error::ReservedNodeNotFoundFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::ReservedNodeOfferingNotFoundFault(inner) => Error::ReservedNodeOfferingNotFoundFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::get_reserved_node_exchange_configuration_options::GetReservedNodeExchangeConfigurationOptionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError,
            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_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError> for Error {
    fn from(err: crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError) -> Self {
        match err {
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::DependentServiceUnavailableFault(
                inner,
            ) => Error::DependentServiceUnavailableFault(inner),
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::InvalidReservedNodeStateFault(inner) => {
                Error::InvalidReservedNodeStateFault(inner)
            }
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::ReservedNodeAlreadyMigratedFault(
                inner,
            ) => Error::ReservedNodeAlreadyMigratedFault(inner),
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::ReservedNodeNotFoundFault(inner) => {
                Error::ReservedNodeNotFoundFault(inner)
            }
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::ReservedNodeOfferingNotFoundFault(
                inner,
            ) => Error::ReservedNodeOfferingNotFoundFault(inner),
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::get_reserved_node_exchange_offerings::GetReservedNodeExchangeOfferingsError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_resource_policy::GetResourcePolicyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_resource_policy::GetResourcePolicyError, 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_resource_policy::GetResourcePolicyError> for Error {
    fn from(err: crate::operation::get_resource_policy::GetResourcePolicyError) -> Self {
        match err {
            crate::operation::get_resource_policy::GetResourcePolicyError::InvalidPolicyFault(inner) => Error::InvalidPolicyFault(inner),
            crate::operation::get_resource_policy::GetResourcePolicyError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::get_resource_policy::GetResourcePolicyError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::get_resource_policy::GetResourcePolicyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_recommendations::ListRecommendationsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_recommendations::ListRecommendationsError, 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_recommendations::ListRecommendationsError> for Error {
    fn from(err: crate::operation::list_recommendations::ListRecommendationsError) -> Self {
        match err {
            crate::operation::list_recommendations::ListRecommendationsError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::list_recommendations::ListRecommendationsError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::list_recommendations::ListRecommendationsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError, 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::modify_aqua_configuration::ModifyAquaConfigurationError> for Error {
    fn from(err: crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError) -> Self {
        match err {
            crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::modify_aqua_configuration::ModifyAquaConfigurationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError, 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::modify_authentication_profile::ModifyAuthenticationProfileError> for Error {
    fn from(err: crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError) -> Self {
        match err {
            crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError::AuthenticationProfileNotFoundFault(inner) => {
                Error::AuthenticationProfileNotFoundFault(inner)
            }
            crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError::AuthenticationProfileQuotaExceededFault(inner) => {
                Error::AuthenticationProfileQuotaExceededFault(inner)
            }
            crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError::InvalidAuthenticationProfileRequestFault(inner) => {
                Error::InvalidAuthenticationProfileRequestFault(inner)
            }
            crate::operation::modify_authentication_profile::ModifyAuthenticationProfileError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster::ModifyClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster::ModifyClusterError, 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::modify_cluster::ModifyClusterError> for Error {
    fn from(err: crate::operation::modify_cluster::ModifyClusterError) -> Self {
        match err {
            crate::operation::modify_cluster::ModifyClusterError::ClusterAlreadyExistsFault(inner) => Error::ClusterAlreadyExistsFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::ClusterSecurityGroupNotFoundFault(inner) => {
                Error::ClusterSecurityGroupNotFoundFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::CustomCnameAssociationFault(inner) => Error::CustomCnameAssociationFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::HsmClientCertificateNotFoundFault(inner) => {
                Error::HsmClientCertificateNotFoundFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::HsmConfigurationNotFoundFault(inner) => Error::HsmConfigurationNotFoundFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::InsufficientClusterCapacityFault(inner) => {
                Error::InsufficientClusterCapacityFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::InvalidClusterTrackFault(inner) => Error::InvalidClusterTrackFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::InvalidElasticIpFault(inner) => Error::InvalidElasticIpFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::InvalidRetentionPeriodFault(inner) => Error::InvalidRetentionPeriodFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::Ipv6CidrBlockNotFoundFault(inner) => Error::Ipv6CidrBlockNotFoundFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::NumberOfNodesPerClusterLimitExceededFault(inner) => {
                Error::NumberOfNodesPerClusterLimitExceededFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::NumberOfNodesQuotaExceededFault(inner) => {
                Error::NumberOfNodesQuotaExceededFault(inner)
            }
            crate::operation::modify_cluster::ModifyClusterError::TableLimitExceededFault(inner) => Error::TableLimitExceededFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::modify_cluster::ModifyClusterError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::UnsupportedOptionFault(inner) => Error::UnsupportedOptionFault(inner),
            crate::operation::modify_cluster::ModifyClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError, 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::modify_cluster_db_revision::ModifyClusterDbRevisionError> for Error {
    fn from(err: crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError) -> Self {
        match err {
            crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::ClusterOnLatestRevisionFault(inner) => {
                Error::ClusterOnLatestRevisionFault(inner)
            }
            crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError, 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::modify_cluster_iam_roles::ModifyClusterIamRolesError> for Error {
    fn from(err: crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError) -> Self {
        match err {
            crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_cluster_iam_roles::ModifyClusterIamRolesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError, 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::modify_cluster_maintenance::ModifyClusterMaintenanceError> for Error {
    fn from(err: crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError) -> Self {
        match err {
            crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_cluster_maintenance::ModifyClusterMaintenanceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError,
            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::modify_cluster_parameter_group::ModifyClusterParameterGroupError> for Error {
    fn from(err: crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError) -> Self {
        match err {
            crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError::InvalidClusterParameterGroupStateFault(inner) => {
                Error::InvalidClusterParameterGroupStateFault(inner)
            }
            crate::operation::modify_cluster_parameter_group::ModifyClusterParameterGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError, 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::modify_cluster_snapshot::ModifyClusterSnapshotError> for Error {
    fn from(err: crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError) -> Self {
        match err {
            crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::modify_cluster_snapshot::ModifyClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError,
            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::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError> for Error {
    fn from(err: crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError) -> Self {
        match err {
            crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError::InvalidClusterSnapshotScheduleStateFault(
                inner,
            ) => Error::InvalidClusterSnapshotScheduleStateFault(inner),
            crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError::SnapshotScheduleNotFoundFault(inner) => {
                Error::SnapshotScheduleNotFoundFault(inner)
            }
            crate::operation::modify_cluster_snapshot_schedule::ModifyClusterSnapshotScheduleError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError, 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::modify_cluster_subnet_group::ModifyClusterSubnetGroupError> for Error {
    fn from(err: crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError) -> Self {
        match err {
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::ClusterSubnetQuotaExceededFault(inner) => {
                Error::ClusterSubnetQuotaExceededFault(inner)
            }
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::InvalidSubnet(inner) => Error::InvalidSubnet(inner),
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::SubnetAlreadyInUse(inner) => {
                Error::SubnetAlreadyInUse(inner)
            }
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::modify_cluster_subnet_group::ModifyClusterSubnetGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError, R>,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError,
            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::modify_custom_domain_association::ModifyCustomDomainAssociationError> for Error {
    fn from(err: crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError) -> Self {
        match err {
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::CustomCnameAssociationFault(inner) => {
                Error::CustomCnameAssociationFault(inner)
            }
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::CustomDomainAssociationNotFoundFault(inner) => {
                Error::CustomDomainAssociationNotFoundFault(inner)
            }
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_endpoint_access::ModifyEndpointAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_endpoint_access::ModifyEndpointAccessError, 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::modify_endpoint_access::ModifyEndpointAccessError> for Error {
    fn from(err: crate::operation::modify_endpoint_access::ModifyEndpointAccessError) -> Self {
        match err {
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::EndpointNotFoundFault(inner) => Error::EndpointNotFoundFault(inner),
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::InvalidEndpointStateFault(inner) => {
                Error::InvalidEndpointStateFault(inner)
            }
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::modify_endpoint_access::ModifyEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_event_subscription::ModifyEventSubscriptionError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_event_subscription::ModifyEventSubscriptionError, 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::modify_event_subscription::ModifyEventSubscriptionError> for Error {
    fn from(err: crate::operation::modify_event_subscription::ModifyEventSubscriptionError) -> Self {
        match err {
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::InvalidSubscriptionStateFault(inner) => {
                Error::InvalidSubscriptionStateFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsInvalidTopicFault(inner) => {
                Error::SnsInvalidTopicFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsNoAuthorizationFault(inner) => {
                Error::SnsNoAuthorizationFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsTopicArnNotFoundFault(inner) => {
                Error::SnsTopicArnNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SourceNotFoundFault(inner) => {
                Error::SourceNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionCategoryNotFoundFault(inner) => {
                Error::SubscriptionCategoryNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionEventIdNotFoundFault(inner) => {
                Error::SubscriptionEventIdNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionNotFoundFault(inner) => {
                Error::SubscriptionNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionSeverityNotFoundFault(inner) => {
                Error::SubscriptionSeverityNotFoundFault(inner)
            }
            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError,
            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::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError> for Error {
    fn from(err: crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError) -> Self {
        match err {
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::DependentServiceAccessDeniedFault(inner) => {
                Error::DependentServiceAccessDeniedFault(inner)
            }
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::RedshiftIdcApplicationNotExistsFault(inner) => {
                Error::RedshiftIdcApplicationNotExistsFault(inner)
            }
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_scheduled_action::ModifyScheduledActionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_scheduled_action::ModifyScheduledActionError, 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::modify_scheduled_action::ModifyScheduledActionError> for Error {
    fn from(err: crate::operation::modify_scheduled_action::ModifyScheduledActionError) -> Self {
        match err {
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::InvalidScheduledActionFault(inner) => {
                Error::InvalidScheduledActionFault(inner)
            }
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::InvalidScheduleFault(inner) => Error::InvalidScheduleFault(inner),
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::ScheduledActionNotFoundFault(inner) => {
                Error::ScheduledActionNotFoundFault(inner)
            }
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::ScheduledActionTypeUnsupportedFault(inner) => {
                Error::ScheduledActionTypeUnsupportedFault(inner)
            }
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::modify_scheduled_action::ModifyScheduledActionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError,
            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::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError> for Error {
    fn from(err: crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError) -> Self {
        match err {
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::InvalidRetentionPeriodFault(inner) => {
                Error::InvalidRetentionPeriodFault(inner)
            }
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::SnapshotCopyDisabledFault(inner) => {
                Error::SnapshotCopyDisabledFault(inner)
            }
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::modify_snapshot_copy_retention_period::ModifySnapshotCopyRetentionPeriodError::Unhandled(inner) => {
                Error::Unhandled(inner)
            }
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError, 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::modify_snapshot_schedule::ModifySnapshotScheduleError> for Error {
    fn from(err: crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError) -> Self {
        match err {
            crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError::InvalidScheduleFault(inner) => {
                Error::InvalidScheduleFault(inner)
            }
            crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError::SnapshotScheduleNotFoundFault(inner) => {
                Error::SnapshotScheduleNotFoundFault(inner)
            }
            crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError::SnapshotScheduleUpdateInProgressFault(inner) => {
                Error::SnapshotScheduleUpdateInProgressFault(inner)
            }
            crate::operation::modify_snapshot_schedule::ModifySnapshotScheduleError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_usage_limit::ModifyUsageLimitError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::modify_usage_limit::ModifyUsageLimitError, 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::modify_usage_limit::ModifyUsageLimitError> for Error {
    fn from(err: crate::operation::modify_usage_limit::ModifyUsageLimitError) -> Self {
        match err {
            crate::operation::modify_usage_limit::ModifyUsageLimitError::InvalidUsageLimitFault(inner) => Error::InvalidUsageLimitFault(inner),
            crate::operation::modify_usage_limit::ModifyUsageLimitError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::modify_usage_limit::ModifyUsageLimitError::UsageLimitNotFoundFault(inner) => Error::UsageLimitNotFoundFault(inner),
            crate::operation::modify_usage_limit::ModifyUsageLimitError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::pause_cluster::PauseClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::pause_cluster::PauseClusterError, 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::pause_cluster::PauseClusterError> for Error {
    fn from(err: crate::operation::pause_cluster::PauseClusterError) -> Self {
        match err {
            crate::operation::pause_cluster::PauseClusterError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::pause_cluster::PauseClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::pause_cluster::PauseClusterError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::pause_cluster::PauseClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError,
            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::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError> for Error {
    fn from(err: crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError) -> Self {
        match err {
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError::ReservedNodeAlreadyExistsFault(inner) => {
                Error::ReservedNodeAlreadyExistsFault(inner)
            }
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError::ReservedNodeOfferingNotFoundFault(inner) => {
                Error::ReservedNodeOfferingNotFoundFault(inner)
            }
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError::ReservedNodeQuotaExceededFault(inner) => {
                Error::ReservedNodeQuotaExceededFault(inner)
            }
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::purchase_reserved_node_offering::PurchaseReservedNodeOfferingError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_resource_policy::PutResourcePolicyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_resource_policy::PutResourcePolicyError, 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_resource_policy::PutResourcePolicyError> for Error {
    fn from(err: crate::operation::put_resource_policy::PutResourcePolicyError) -> Self {
        match err {
            crate::operation::put_resource_policy::PutResourcePolicyError::ConflictPolicyUpdateFault(inner) => {
                Error::ConflictPolicyUpdateFault(inner)
            }
            crate::operation::put_resource_policy::PutResourcePolicyError::InvalidPolicyFault(inner) => Error::InvalidPolicyFault(inner),
            crate::operation::put_resource_policy::PutResourcePolicyError::ResourceNotFoundFault(inner) => Error::ResourceNotFoundFault(inner),
            crate::operation::put_resource_policy::PutResourcePolicyError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::put_resource_policy::PutResourcePolicyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reboot_cluster::RebootClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reboot_cluster::RebootClusterError, 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::reboot_cluster::RebootClusterError> for Error {
    fn from(err: crate::operation::reboot_cluster::RebootClusterError) -> Self {
        match err {
            crate::operation::reboot_cluster::RebootClusterError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::reboot_cluster::RebootClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::reboot_cluster::RebootClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reject_data_share::RejectDataShareError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reject_data_share::RejectDataShareError, 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::reject_data_share::RejectDataShareError> for Error {
    fn from(err: crate::operation::reject_data_share::RejectDataShareError) -> Self {
        match err {
            crate::operation::reject_data_share::RejectDataShareError::InvalidDataShareFault(inner) => Error::InvalidDataShareFault(inner),
            crate::operation::reject_data_share::RejectDataShareError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError, 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::reset_cluster_parameter_group::ResetClusterParameterGroupError> for Error {
    fn from(err: crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError) -> Self {
        match err {
            crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError::InvalidClusterParameterGroupStateFault(inner) => {
                Error::InvalidClusterParameterGroupStateFault(inner)
            }
            crate::operation::reset_cluster_parameter_group::ResetClusterParameterGroupError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::resize_cluster::ResizeClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::resize_cluster::ResizeClusterError, 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::resize_cluster::ResizeClusterError> for Error {
    fn from(err: crate::operation::resize_cluster::ResizeClusterError) -> Self {
        match err {
            crate::operation::resize_cluster::ResizeClusterError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::InsufficientClusterCapacityFault(inner) => {
                Error::InsufficientClusterCapacityFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::InvalidReservedNodeStateFault(inner) => Error::InvalidReservedNodeStateFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::LimitExceededFault(inner) => Error::LimitExceededFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::NumberOfNodesPerClusterLimitExceededFault(inner) => {
                Error::NumberOfNodesPerClusterLimitExceededFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::NumberOfNodesQuotaExceededFault(inner) => {
                Error::NumberOfNodesQuotaExceededFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::ReservedNodeAlreadyExistsFault(inner) => {
                Error::ReservedNodeAlreadyExistsFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::ReservedNodeAlreadyMigratedFault(inner) => {
                Error::ReservedNodeAlreadyMigratedFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::ReservedNodeNotFoundFault(inner) => Error::ReservedNodeNotFoundFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::ReservedNodeOfferingNotFoundFault(inner) => {
                Error::ReservedNodeOfferingNotFoundFault(inner)
            }
            crate::operation::resize_cluster::ResizeClusterError::UnauthorizedOperation(inner) => Error::UnauthorizedOperation(inner),
            crate::operation::resize_cluster::ResizeClusterError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::UnsupportedOptionFault(inner) => Error::UnsupportedOptionFault(inner),
            crate::operation::resize_cluster::ResizeClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError, 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::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError> for Error {
    fn from(err: crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError) -> Self {
        match err {
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::AccessToSnapshotDeniedFault(inner) => {
                Error::AccessToSnapshotDeniedFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterAlreadyExistsFault(inner) => {
                Error::ClusterAlreadyExistsFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterParameterGroupNotFoundFault(inner) => {
                Error::ClusterParameterGroupNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterQuotaExceededFault(inner) => {
                Error::ClusterQuotaExceededFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterSecurityGroupNotFoundFault(inner) => {
                Error::ClusterSecurityGroupNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ClusterSubnetGroupNotFoundFault(inner) => {
                Error::ClusterSubnetGroupNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::DependentServiceUnavailableFault(inner) => {
                Error::DependentServiceUnavailableFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::HsmClientCertificateNotFoundFault(inner) => {
                Error::HsmClientCertificateNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::HsmConfigurationNotFoundFault(inner) => {
                Error::HsmConfigurationNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InsufficientClusterCapacityFault(inner) => {
                Error::InsufficientClusterCapacityFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidClusterSubnetGroupStateFault(inner) => {
                Error::InvalidClusterSubnetGroupStateFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidClusterTrackFault(inner) => {
                Error::InvalidClusterTrackFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidElasticIpFault(inner) => {
                Error::InvalidElasticIpFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidReservedNodeStateFault(inner) => {
                Error::InvalidReservedNodeStateFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidRestoreFault(inner) => {
                Error::InvalidRestoreFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidSubnet(inner) => Error::InvalidSubnet(inner),
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidTagFault(inner) => Error::InvalidTagFault(inner),
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::InvalidVpcNetworkStateFault(inner) => {
                Error::InvalidVpcNetworkStateFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::Ipv6CidrBlockNotFoundFault(inner) => {
                Error::Ipv6CidrBlockNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::LimitExceededFault(inner) => {
                Error::LimitExceededFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::NumberOfNodesPerClusterLimitExceededFault(inner) => {
                Error::NumberOfNodesPerClusterLimitExceededFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::NumberOfNodesQuotaExceededFault(inner) => {
                Error::NumberOfNodesQuotaExceededFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ReservedNodeAlreadyExistsFault(inner) => {
                Error::ReservedNodeAlreadyExistsFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ReservedNodeAlreadyMigratedFault(inner) => {
                Error::ReservedNodeAlreadyMigratedFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ReservedNodeNotFoundFault(inner) => {
                Error::ReservedNodeNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::ReservedNodeOfferingNotFoundFault(inner) => {
                Error::ReservedNodeOfferingNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::SnapshotScheduleNotFoundFault(inner) => {
                Error::SnapshotScheduleNotFoundFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::TagLimitExceededFault(inner) => {
                Error::TagLimitExceededFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::UnauthorizedOperation(inner) => {
                Error::UnauthorizedOperation(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError,
            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::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError> for Error {
    fn from(err: crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError) -> Self {
        match err {
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::ClusterNotFoundFault(inner) => {
                Error::ClusterNotFoundFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::InProgressTableRestoreQuotaExceededFault(
                inner,
            ) => Error::InProgressTableRestoreQuotaExceededFault(inner),
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::InvalidClusterSnapshotStateFault(inner) => {
                Error::InvalidClusterSnapshotStateFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::InvalidTableRestoreArgumentFault(inner) => {
                Error::InvalidTableRestoreArgumentFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::restore_table_from_cluster_snapshot::RestoreTableFromClusterSnapshotError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::resume_cluster::ResumeClusterError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::resume_cluster::ResumeClusterError, 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::resume_cluster::ResumeClusterError> for Error {
    fn from(err: crate::operation::resume_cluster::ResumeClusterError) -> Self {
        match err {
            crate::operation::resume_cluster::ResumeClusterError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::resume_cluster::ResumeClusterError::InsufficientClusterCapacityFault(inner) => {
                Error::InsufficientClusterCapacityFault(inner)
            }
            crate::operation::resume_cluster::ResumeClusterError::InvalidClusterStateFault(inner) => Error::InvalidClusterStateFault(inner),
            crate::operation::resume_cluster::ResumeClusterError::UnsupportedOperationFault(inner) => Error::UnsupportedOperationFault(inner),
            crate::operation::resume_cluster::ResumeClusterError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError,
            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::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError> for Error {
    fn from(err: crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError) -> Self {
        match err {
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError::AuthorizationNotFoundFault(inner) => Error::AuthorizationNotFoundFault(inner),
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError::ClusterSecurityGroupNotFoundFault(inner) => Error::ClusterSecurityGroupNotFoundFault(inner),
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError::InvalidClusterSecurityGroupStateFault(inner) => Error::InvalidClusterSecurityGroupStateFault(inner),
            crate::operation::revoke_cluster_security_group_ingress::RevokeClusterSecurityGroupIngressError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::revoke_endpoint_access::RevokeEndpointAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::revoke_endpoint_access::RevokeEndpointAccessError, 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::revoke_endpoint_access::RevokeEndpointAccessError> for Error {
    fn from(err: crate::operation::revoke_endpoint_access::RevokeEndpointAccessError) -> Self {
        match err {
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::EndpointAuthorizationNotFoundFault(inner) => {
                Error::EndpointAuthorizationNotFoundFault(inner)
            }
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::EndpointNotFoundFault(inner) => Error::EndpointNotFoundFault(inner),
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::InvalidAuthorizationStateFault(inner) => {
                Error::InvalidAuthorizationStateFault(inner)
            }
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::InvalidClusterSecurityGroupStateFault(inner) => {
                Error::InvalidClusterSecurityGroupStateFault(inner)
            }
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::InvalidEndpointStateFault(inner) => {
                Error::InvalidEndpointStateFault(inner)
            }
            crate::operation::revoke_endpoint_access::RevokeEndpointAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError, 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::revoke_snapshot_access::RevokeSnapshotAccessError> for Error {
    fn from(err: crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError) -> Self {
        match err {
            crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError::AccessToSnapshotDeniedFault(inner) => {
                Error::AccessToSnapshotDeniedFault(inner)
            }
            crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError::AuthorizationNotFoundFault(inner) => {
                Error::AuthorizationNotFoundFault(inner)
            }
            crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError::ClusterSnapshotNotFoundFault(inner) => {
                Error::ClusterSnapshotNotFoundFault(inner)
            }
            crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::revoke_snapshot_access::RevokeSnapshotAccessError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::rotate_encryption_key::RotateEncryptionKeyError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::rotate_encryption_key::RotateEncryptionKeyError, 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::rotate_encryption_key::RotateEncryptionKeyError> for Error {
    fn from(err: crate::operation::rotate_encryption_key::RotateEncryptionKeyError) -> Self {
        match err {
            crate::operation::rotate_encryption_key::RotateEncryptionKeyError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::rotate_encryption_key::RotateEncryptionKeyError::DependentServiceRequestThrottlingFault(inner) => {
                Error::DependentServiceRequestThrottlingFault(inner)
            }
            crate::operation::rotate_encryption_key::RotateEncryptionKeyError::InvalidClusterStateFault(inner) => {
                Error::InvalidClusterStateFault(inner)
            }
            crate::operation::rotate_encryption_key::RotateEncryptionKeyError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::rotate_encryption_key::RotateEncryptionKeyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_partner_status::UpdatePartnerStatusError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_partner_status::UpdatePartnerStatusError, 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_partner_status::UpdatePartnerStatusError> for Error {
    fn from(err: crate::operation::update_partner_status::UpdatePartnerStatusError) -> Self {
        match err {
            crate::operation::update_partner_status::UpdatePartnerStatusError::ClusterNotFoundFault(inner) => Error::ClusterNotFoundFault(inner),
            crate::operation::update_partner_status::UpdatePartnerStatusError::PartnerNotFoundFault(inner) => Error::PartnerNotFoundFault(inner),
            crate::operation::update_partner_status::UpdatePartnerStatusError::UnauthorizedPartnerIntegrationFault(inner) => {
                Error::UnauthorizedPartnerIntegrationFault(inner)
            }
            crate::operation::update_partner_status::UpdatePartnerStatusError::UnsupportedOperationFault(inner) => {
                Error::UnsupportedOperationFault(inner)
            }
            crate::operation::update_partner_status::UpdatePartnerStatusError::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::AccessToClusterDeniedFault(inner) => inner.source(),
            Error::AccessToSnapshotDeniedFault(inner) => inner.source(),
            Error::AuthenticationProfileAlreadyExistsFault(inner) => inner.source(),
            Error::AuthenticationProfileNotFoundFault(inner) => inner.source(),
            Error::AuthenticationProfileQuotaExceededFault(inner) => inner.source(),
            Error::AuthorizationAlreadyExistsFault(inner) => inner.source(),
            Error::AuthorizationNotFoundFault(inner) => inner.source(),
            Error::AuthorizationQuotaExceededFault(inner) => inner.source(),
            Error::BatchDeleteRequestSizeExceededFault(inner) => inner.source(),
            Error::BatchModifyClusterSnapshotsLimitExceededFault(inner) => inner.source(),
            Error::BucketNotFoundFault(inner) => inner.source(),
            Error::ClusterAlreadyExistsFault(inner) => inner.source(),
            Error::ClusterNotFoundFault(inner) => inner.source(),
            Error::ClusterOnLatestRevisionFault(inner) => inner.source(),
            Error::ClusterParameterGroupAlreadyExistsFault(inner) => inner.source(),
            Error::ClusterParameterGroupNotFoundFault(inner) => inner.source(),
            Error::ClusterParameterGroupQuotaExceededFault(inner) => inner.source(),
            Error::ClusterQuotaExceededFault(inner) => inner.source(),
            Error::ClusterSecurityGroupAlreadyExistsFault(inner) => inner.source(),
            Error::ClusterSecurityGroupNotFoundFault(inner) => inner.source(),
            Error::ClusterSecurityGroupQuotaExceededFault(inner) => inner.source(),
            Error::ClusterSnapshotAlreadyExistsFault(inner) => inner.source(),
            Error::ClusterSnapshotNotFoundFault(inner) => inner.source(),
            Error::ClusterSnapshotQuotaExceededFault(inner) => inner.source(),
            Error::ClusterSubnetGroupAlreadyExistsFault(inner) => inner.source(),
            Error::ClusterSubnetGroupNotFoundFault(inner) => inner.source(),
            Error::ClusterSubnetGroupQuotaExceededFault(inner) => inner.source(),
            Error::ClusterSubnetQuotaExceededFault(inner) => inner.source(),
            Error::ConflictPolicyUpdateFault(inner) => inner.source(),
            Error::CopyToRegionDisabledFault(inner) => inner.source(),
            Error::CustomCnameAssociationFault(inner) => inner.source(),
            Error::CustomDomainAssociationNotFoundFault(inner) => inner.source(),
            Error::DependentServiceAccessDeniedFault(inner) => inner.source(),
            Error::DependentServiceRequestThrottlingFault(inner) => inner.source(),
            Error::DependentServiceUnavailableFault(inner) => inner.source(),
            Error::EndpointAlreadyExistsFault(inner) => inner.source(),
            Error::EndpointAuthorizationAlreadyExistsFault(inner) => inner.source(),
            Error::EndpointAuthorizationNotFoundFault(inner) => inner.source(),
            Error::EndpointAuthorizationsPerClusterLimitExceededFault(inner) => inner.source(),
            Error::EndpointNotFoundFault(inner) => inner.source(),
            Error::EndpointsPerAuthorizationLimitExceededFault(inner) => inner.source(),
            Error::EndpointsPerClusterLimitExceededFault(inner) => inner.source(),
            Error::EventSubscriptionQuotaExceededFault(inner) => inner.source(),
            Error::HsmClientCertificateAlreadyExistsFault(inner) => inner.source(),
            Error::HsmClientCertificateNotFoundFault(inner) => inner.source(),
            Error::HsmClientCertificateQuotaExceededFault(inner) => inner.source(),
            Error::HsmConfigurationAlreadyExistsFault(inner) => inner.source(),
            Error::HsmConfigurationNotFoundFault(inner) => inner.source(),
            Error::HsmConfigurationQuotaExceededFault(inner) => inner.source(),
            Error::InProgressTableRestoreQuotaExceededFault(inner) => inner.source(),
            Error::IncompatibleOrderableOptions(inner) => inner.source(),
            Error::InsufficientClusterCapacityFault(inner) => inner.source(),
            Error::InsufficientS3BucketPolicyFault(inner) => inner.source(),
            Error::IntegrationNotFoundFault(inner) => inner.source(),
            Error::InvalidAuthenticationProfileRequestFault(inner) => inner.source(),
            Error::InvalidAuthorizationStateFault(inner) => inner.source(),
            Error::InvalidClusterParameterGroupStateFault(inner) => inner.source(),
            Error::InvalidClusterSecurityGroupStateFault(inner) => inner.source(),
            Error::InvalidClusterSnapshotScheduleStateFault(inner) => inner.source(),
            Error::InvalidClusterSnapshotStateFault(inner) => inner.source(),
            Error::InvalidClusterStateFault(inner) => inner.source(),
            Error::InvalidClusterSubnetGroupStateFault(inner) => inner.source(),
            Error::InvalidClusterSubnetStateFault(inner) => inner.source(),
            Error::InvalidClusterTrackFault(inner) => inner.source(),
            Error::InvalidDataShareFault(inner) => inner.source(),
            Error::InvalidElasticIpFault(inner) => inner.source(),
            Error::InvalidEndpointStateFault(inner) => inner.source(),
            Error::InvalidHsmClientCertificateStateFault(inner) => inner.source(),
            Error::InvalidHsmConfigurationStateFault(inner) => inner.source(),
            Error::InvalidNamespaceFault(inner) => inner.source(),
            Error::InvalidPolicyFault(inner) => inner.source(),
            Error::InvalidReservedNodeStateFault(inner) => inner.source(),
            Error::InvalidRestoreFault(inner) => inner.source(),
            Error::InvalidRetentionPeriodFault(inner) => inner.source(),
            Error::InvalidS3BucketNameFault(inner) => inner.source(),
            Error::InvalidS3KeyPrefixFault(inner) => inner.source(),
            Error::InvalidScheduleFault(inner) => inner.source(),
            Error::InvalidScheduledActionFault(inner) => inner.source(),
            Error::InvalidSnapshotCopyGrantStateFault(inner) => inner.source(),
            Error::InvalidSubnet(inner) => inner.source(),
            Error::InvalidSubscriptionStateFault(inner) => inner.source(),
            Error::InvalidTableRestoreArgumentFault(inner) => inner.source(),
            Error::InvalidTagFault(inner) => inner.source(),
            Error::InvalidUsageLimitFault(inner) => inner.source(),
            Error::InvalidVpcNetworkStateFault(inner) => inner.source(),
            Error::Ipv6CidrBlockNotFoundFault(inner) => inner.source(),
            Error::LimitExceededFault(inner) => inner.source(),
            Error::NumberOfNodesPerClusterLimitExceededFault(inner) => inner.source(),
            Error::NumberOfNodesQuotaExceededFault(inner) => inner.source(),
            Error::PartnerNotFoundFault(inner) => inner.source(),
            Error::RedshiftIdcApplicationAlreadyExistsFault(inner) => inner.source(),
            Error::RedshiftIdcApplicationNotExistsFault(inner) => inner.source(),
            Error::RedshiftIdcApplicationQuotaExceededFault(inner) => inner.source(),
            Error::ReservedNodeAlreadyExistsFault(inner) => inner.source(),
            Error::ReservedNodeAlreadyMigratedFault(inner) => inner.source(),
            Error::ReservedNodeExchangeNotFoundFault(inner) => inner.source(),
            Error::ReservedNodeNotFoundFault(inner) => inner.source(),
            Error::ReservedNodeOfferingNotFoundFault(inner) => inner.source(),
            Error::ReservedNodeQuotaExceededFault(inner) => inner.source(),
            Error::ResizeNotFoundFault(inner) => inner.source(),
            Error::ResourceNotFoundFault(inner) => inner.source(),
            Error::SnsInvalidTopicFault(inner) => inner.source(),
            Error::SnsNoAuthorizationFault(inner) => inner.source(),
            Error::SnsTopicArnNotFoundFault(inner) => inner.source(),
            Error::ScheduleDefinitionTypeUnsupportedFault(inner) => inner.source(),
            Error::ScheduledActionAlreadyExistsFault(inner) => inner.source(),
            Error::ScheduledActionNotFoundFault(inner) => inner.source(),
            Error::ScheduledActionQuotaExceededFault(inner) => inner.source(),
            Error::ScheduledActionTypeUnsupportedFault(inner) => inner.source(),
            Error::SnapshotCopyAlreadyDisabledFault(inner) => inner.source(),
            Error::SnapshotCopyAlreadyEnabledFault(inner) => inner.source(),
            Error::SnapshotCopyDisabledFault(inner) => inner.source(),
            Error::SnapshotCopyGrantAlreadyExistsFault(inner) => inner.source(),
            Error::SnapshotCopyGrantNotFoundFault(inner) => inner.source(),
            Error::SnapshotCopyGrantQuotaExceededFault(inner) => inner.source(),
            Error::SnapshotScheduleAlreadyExistsFault(inner) => inner.source(),
            Error::SnapshotScheduleNotFoundFault(inner) => inner.source(),
            Error::SnapshotScheduleQuotaExceededFault(inner) => inner.source(),
            Error::SnapshotScheduleUpdateInProgressFault(inner) => inner.source(),
            Error::SourceNotFoundFault(inner) => inner.source(),
            Error::SubnetAlreadyInUse(inner) => inner.source(),
            Error::SubscriptionAlreadyExistFault(inner) => inner.source(),
            Error::SubscriptionCategoryNotFoundFault(inner) => inner.source(),
            Error::SubscriptionEventIdNotFoundFault(inner) => inner.source(),
            Error::SubscriptionNotFoundFault(inner) => inner.source(),
            Error::SubscriptionSeverityNotFoundFault(inner) => inner.source(),
            Error::TableLimitExceededFault(inner) => inner.source(),
            Error::TableRestoreNotFoundFault(inner) => inner.source(),
            Error::TagLimitExceededFault(inner) => inner.source(),
            Error::UnauthorizedOperation(inner) => inner.source(),
            Error::UnauthorizedPartnerIntegrationFault(inner) => inner.source(),
            Error::UnknownSnapshotCopyRegionFault(inner) => inner.source(),
            Error::UnsupportedOperationFault(inner) => inner.source(),
            Error::UnsupportedOptionFault(inner) => inner.source(),
            Error::UsageLimitAlreadyExistsFault(inner) => inner.source(),
            Error::UsageLimitNotFoundFault(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::AccessToClusterDeniedFault(e) => e.request_id(),
            Self::AccessToSnapshotDeniedFault(e) => e.request_id(),
            Self::AuthenticationProfileAlreadyExistsFault(e) => e.request_id(),
            Self::AuthenticationProfileNotFoundFault(e) => e.request_id(),
            Self::AuthenticationProfileQuotaExceededFault(e) => e.request_id(),
            Self::AuthorizationAlreadyExistsFault(e) => e.request_id(),
            Self::AuthorizationNotFoundFault(e) => e.request_id(),
            Self::AuthorizationQuotaExceededFault(e) => e.request_id(),
            Self::BatchDeleteRequestSizeExceededFault(e) => e.request_id(),
            Self::BatchModifyClusterSnapshotsLimitExceededFault(e) => e.request_id(),
            Self::BucketNotFoundFault(e) => e.request_id(),
            Self::ClusterAlreadyExistsFault(e) => e.request_id(),
            Self::ClusterNotFoundFault(e) => e.request_id(),
            Self::ClusterOnLatestRevisionFault(e) => e.request_id(),
            Self::ClusterParameterGroupAlreadyExistsFault(e) => e.request_id(),
            Self::ClusterParameterGroupNotFoundFault(e) => e.request_id(),
            Self::ClusterParameterGroupQuotaExceededFault(e) => e.request_id(),
            Self::ClusterQuotaExceededFault(e) => e.request_id(),
            Self::ClusterSecurityGroupAlreadyExistsFault(e) => e.request_id(),
            Self::ClusterSecurityGroupNotFoundFault(e) => e.request_id(),
            Self::ClusterSecurityGroupQuotaExceededFault(e) => e.request_id(),
            Self::ClusterSnapshotAlreadyExistsFault(e) => e.request_id(),
            Self::ClusterSnapshotNotFoundFault(e) => e.request_id(),
            Self::ClusterSnapshotQuotaExceededFault(e) => e.request_id(),
            Self::ClusterSubnetGroupAlreadyExistsFault(e) => e.request_id(),
            Self::ClusterSubnetGroupNotFoundFault(e) => e.request_id(),
            Self::ClusterSubnetGroupQuotaExceededFault(e) => e.request_id(),
            Self::ClusterSubnetQuotaExceededFault(e) => e.request_id(),
            Self::ConflictPolicyUpdateFault(e) => e.request_id(),
            Self::CopyToRegionDisabledFault(e) => e.request_id(),
            Self::CustomCnameAssociationFault(e) => e.request_id(),
            Self::CustomDomainAssociationNotFoundFault(e) => e.request_id(),
            Self::DependentServiceAccessDeniedFault(e) => e.request_id(),
            Self::DependentServiceRequestThrottlingFault(e) => e.request_id(),
            Self::DependentServiceUnavailableFault(e) => e.request_id(),
            Self::EndpointAlreadyExistsFault(e) => e.request_id(),
            Self::EndpointAuthorizationAlreadyExistsFault(e) => e.request_id(),
            Self::EndpointAuthorizationNotFoundFault(e) => e.request_id(),
            Self::EndpointAuthorizationsPerClusterLimitExceededFault(e) => e.request_id(),
            Self::EndpointNotFoundFault(e) => e.request_id(),
            Self::EndpointsPerAuthorizationLimitExceededFault(e) => e.request_id(),
            Self::EndpointsPerClusterLimitExceededFault(e) => e.request_id(),
            Self::EventSubscriptionQuotaExceededFault(e) => e.request_id(),
            Self::HsmClientCertificateAlreadyExistsFault(e) => e.request_id(),
            Self::HsmClientCertificateNotFoundFault(e) => e.request_id(),
            Self::HsmClientCertificateQuotaExceededFault(e) => e.request_id(),
            Self::HsmConfigurationAlreadyExistsFault(e) => e.request_id(),
            Self::HsmConfigurationNotFoundFault(e) => e.request_id(),
            Self::HsmConfigurationQuotaExceededFault(e) => e.request_id(),
            Self::InProgressTableRestoreQuotaExceededFault(e) => e.request_id(),
            Self::IncompatibleOrderableOptions(e) => e.request_id(),
            Self::InsufficientClusterCapacityFault(e) => e.request_id(),
            Self::InsufficientS3BucketPolicyFault(e) => e.request_id(),
            Self::IntegrationNotFoundFault(e) => e.request_id(),
            Self::InvalidAuthenticationProfileRequestFault(e) => e.request_id(),
            Self::InvalidAuthorizationStateFault(e) => e.request_id(),
            Self::InvalidClusterParameterGroupStateFault(e) => e.request_id(),
            Self::InvalidClusterSecurityGroupStateFault(e) => e.request_id(),
            Self::InvalidClusterSnapshotScheduleStateFault(e) => e.request_id(),
            Self::InvalidClusterSnapshotStateFault(e) => e.request_id(),
            Self::InvalidClusterStateFault(e) => e.request_id(),
            Self::InvalidClusterSubnetGroupStateFault(e) => e.request_id(),
            Self::InvalidClusterSubnetStateFault(e) => e.request_id(),
            Self::InvalidClusterTrackFault(e) => e.request_id(),
            Self::InvalidDataShareFault(e) => e.request_id(),
            Self::InvalidElasticIpFault(e) => e.request_id(),
            Self::InvalidEndpointStateFault(e) => e.request_id(),
            Self::InvalidHsmClientCertificateStateFault(e) => e.request_id(),
            Self::InvalidHsmConfigurationStateFault(e) => e.request_id(),
            Self::InvalidNamespaceFault(e) => e.request_id(),
            Self::InvalidPolicyFault(e) => e.request_id(),
            Self::InvalidReservedNodeStateFault(e) => e.request_id(),
            Self::InvalidRestoreFault(e) => e.request_id(),
            Self::InvalidRetentionPeriodFault(e) => e.request_id(),
            Self::InvalidS3BucketNameFault(e) => e.request_id(),
            Self::InvalidS3KeyPrefixFault(e) => e.request_id(),
            Self::InvalidScheduleFault(e) => e.request_id(),
            Self::InvalidScheduledActionFault(e) => e.request_id(),
            Self::InvalidSnapshotCopyGrantStateFault(e) => e.request_id(),
            Self::InvalidSubnet(e) => e.request_id(),
            Self::InvalidSubscriptionStateFault(e) => e.request_id(),
            Self::InvalidTableRestoreArgumentFault(e) => e.request_id(),
            Self::InvalidTagFault(e) => e.request_id(),
            Self::InvalidUsageLimitFault(e) => e.request_id(),
            Self::InvalidVpcNetworkStateFault(e) => e.request_id(),
            Self::Ipv6CidrBlockNotFoundFault(e) => e.request_id(),
            Self::LimitExceededFault(e) => e.request_id(),
            Self::NumberOfNodesPerClusterLimitExceededFault(e) => e.request_id(),
            Self::NumberOfNodesQuotaExceededFault(e) => e.request_id(),
            Self::PartnerNotFoundFault(e) => e.request_id(),
            Self::RedshiftIdcApplicationAlreadyExistsFault(e) => e.request_id(),
            Self::RedshiftIdcApplicationNotExistsFault(e) => e.request_id(),
            Self::RedshiftIdcApplicationQuotaExceededFault(e) => e.request_id(),
            Self::ReservedNodeAlreadyExistsFault(e) => e.request_id(),
            Self::ReservedNodeAlreadyMigratedFault(e) => e.request_id(),
            Self::ReservedNodeExchangeNotFoundFault(e) => e.request_id(),
            Self::ReservedNodeNotFoundFault(e) => e.request_id(),
            Self::ReservedNodeOfferingNotFoundFault(e) => e.request_id(),
            Self::ReservedNodeQuotaExceededFault(e) => e.request_id(),
            Self::ResizeNotFoundFault(e) => e.request_id(),
            Self::ResourceNotFoundFault(e) => e.request_id(),
            Self::SnsInvalidTopicFault(e) => e.request_id(),
            Self::SnsNoAuthorizationFault(e) => e.request_id(),
            Self::SnsTopicArnNotFoundFault(e) => e.request_id(),
            Self::ScheduleDefinitionTypeUnsupportedFault(e) => e.request_id(),
            Self::ScheduledActionAlreadyExistsFault(e) => e.request_id(),
            Self::ScheduledActionNotFoundFault(e) => e.request_id(),
            Self::ScheduledActionQuotaExceededFault(e) => e.request_id(),
            Self::ScheduledActionTypeUnsupportedFault(e) => e.request_id(),
            Self::SnapshotCopyAlreadyDisabledFault(e) => e.request_id(),
            Self::SnapshotCopyAlreadyEnabledFault(e) => e.request_id(),
            Self::SnapshotCopyDisabledFault(e) => e.request_id(),
            Self::SnapshotCopyGrantAlreadyExistsFault(e) => e.request_id(),
            Self::SnapshotCopyGrantNotFoundFault(e) => e.request_id(),
            Self::SnapshotCopyGrantQuotaExceededFault(e) => e.request_id(),
            Self::SnapshotScheduleAlreadyExistsFault(e) => e.request_id(),
            Self::SnapshotScheduleNotFoundFault(e) => e.request_id(),
            Self::SnapshotScheduleQuotaExceededFault(e) => e.request_id(),
            Self::SnapshotScheduleUpdateInProgressFault(e) => e.request_id(),
            Self::SourceNotFoundFault(e) => e.request_id(),
            Self::SubnetAlreadyInUse(e) => e.request_id(),
            Self::SubscriptionAlreadyExistFault(e) => e.request_id(),
            Self::SubscriptionCategoryNotFoundFault(e) => e.request_id(),
            Self::SubscriptionEventIdNotFoundFault(e) => e.request_id(),
            Self::SubscriptionNotFoundFault(e) => e.request_id(),
            Self::SubscriptionSeverityNotFoundFault(e) => e.request_id(),
            Self::TableLimitExceededFault(e) => e.request_id(),
            Self::TableRestoreNotFoundFault(e) => e.request_id(),
            Self::TagLimitExceededFault(e) => e.request_id(),
            Self::UnauthorizedOperation(e) => e.request_id(),
            Self::UnauthorizedPartnerIntegrationFault(e) => e.request_id(),
            Self::UnknownSnapshotCopyRegionFault(e) => e.request_id(),
            Self::UnsupportedOperationFault(e) => e.request_id(),
            Self::UnsupportedOptionFault(e) => e.request_id(),
            Self::UsageLimitAlreadyExistsFault(e) => e.request_id(),
            Self::UsageLimitNotFoundFault(e) => e.request_id(),
            Self::Unhandled(e) => e.meta.request_id(),
        }
    }
}