#[non_exhaustive]
#[derive(::std::fmt::Debug)]
pub enum Error {
    ActionNotFoundException(crate::types::error::ActionNotFoundException),
    ActionTypeNotFoundException(crate::types::error::ActionTypeNotFoundException),
    ApprovalAlreadyCompletedException(crate::types::error::ApprovalAlreadyCompletedException),
    ConcurrentModificationException(crate::types::error::ConcurrentModificationException),
    ConflictException(crate::types::error::ConflictException),
    DuplicatedStopRequestException(crate::types::error::DuplicatedStopRequestException),
    InvalidActionDeclarationException(crate::types::error::InvalidActionDeclarationException),
    InvalidApprovalTokenException(crate::types::error::InvalidApprovalTokenException),
    InvalidArnException(crate::types::error::InvalidArnException),
    InvalidBlockerDeclarationException(crate::types::error::InvalidBlockerDeclarationException),
    InvalidClientTokenException(crate::types::error::InvalidClientTokenException),
    InvalidJobException(crate::types::error::InvalidJobException),
    InvalidJobStateException(crate::types::error::InvalidJobStateException),
    InvalidNextTokenException(crate::types::error::InvalidNextTokenException),
    InvalidNonceException(crate::types::error::InvalidNonceException),
    InvalidStageDeclarationException(crate::types::error::InvalidStageDeclarationException),
    InvalidStructureException(crate::types::error::InvalidStructureException),
    InvalidTagsException(crate::types::error::InvalidTagsException),
    InvalidWebhookAuthenticationParametersException(crate::types::error::InvalidWebhookAuthenticationParametersException),
    InvalidWebhookFilterPatternException(crate::types::error::InvalidWebhookFilterPatternException),
    JobNotFoundException(crate::types::error::JobNotFoundException),
    LimitExceededException(crate::types::error::LimitExceededException),
    NotLatestPipelineExecutionException(crate::types::error::NotLatestPipelineExecutionException),
    OutputVariablesSizeExceededException(crate::types::error::OutputVariablesSizeExceededException),
    PipelineExecutionNotFoundException(crate::types::error::PipelineExecutionNotFoundException),
    PipelineExecutionNotStoppableException(crate::types::error::PipelineExecutionNotStoppableException),
    PipelineNameInUseException(crate::types::error::PipelineNameInUseException),
    PipelineNotFoundException(crate::types::error::PipelineNotFoundException),
    PipelineVersionNotFoundException(crate::types::error::PipelineVersionNotFoundException),
    RequestFailedException(crate::types::error::RequestFailedException),
    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
    StageNotFoundException(crate::types::error::StageNotFoundException),
    StageNotRetryableException(crate::types::error::StageNotRetryableException),
    TooManyTagsException(crate::types::error::TooManyTagsException),
    ValidationException(crate::types::error::ValidationException),
    WebhookNotFoundException(crate::types::error::WebhookNotFoundException),
    #[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::ActionNotFoundException(inner) => inner.fmt(f),
            Error::ActionTypeNotFoundException(inner) => inner.fmt(f),
            Error::ApprovalAlreadyCompletedException(inner) => inner.fmt(f),
            Error::ConcurrentModificationException(inner) => inner.fmt(f),
            Error::ConflictException(inner) => inner.fmt(f),
            Error::DuplicatedStopRequestException(inner) => inner.fmt(f),
            Error::InvalidActionDeclarationException(inner) => inner.fmt(f),
            Error::InvalidApprovalTokenException(inner) => inner.fmt(f),
            Error::InvalidArnException(inner) => inner.fmt(f),
            Error::InvalidBlockerDeclarationException(inner) => inner.fmt(f),
            Error::InvalidClientTokenException(inner) => inner.fmt(f),
            Error::InvalidJobException(inner) => inner.fmt(f),
            Error::InvalidJobStateException(inner) => inner.fmt(f),
            Error::InvalidNextTokenException(inner) => inner.fmt(f),
            Error::InvalidNonceException(inner) => inner.fmt(f),
            Error::InvalidStageDeclarationException(inner) => inner.fmt(f),
            Error::InvalidStructureException(inner) => inner.fmt(f),
            Error::InvalidTagsException(inner) => inner.fmt(f),
            Error::InvalidWebhookAuthenticationParametersException(inner) => inner.fmt(f),
            Error::InvalidWebhookFilterPatternException(inner) => inner.fmt(f),
            Error::JobNotFoundException(inner) => inner.fmt(f),
            Error::LimitExceededException(inner) => inner.fmt(f),
            Error::NotLatestPipelineExecutionException(inner) => inner.fmt(f),
            Error::OutputVariablesSizeExceededException(inner) => inner.fmt(f),
            Error::PipelineExecutionNotFoundException(inner) => inner.fmt(f),
            Error::PipelineExecutionNotStoppableException(inner) => inner.fmt(f),
            Error::PipelineNameInUseException(inner) => inner.fmt(f),
            Error::PipelineNotFoundException(inner) => inner.fmt(f),
            Error::PipelineVersionNotFoundException(inner) => inner.fmt(f),
            Error::RequestFailedException(inner) => inner.fmt(f),
            Error::ResourceNotFoundException(inner) => inner.fmt(f),
            Error::StageNotFoundException(inner) => inner.fmt(f),
            Error::StageNotRetryableException(inner) => inner.fmt(f),
            Error::TooManyTagsException(inner) => inner.fmt(f),
            Error::ValidationException(inner) => inner.fmt(f),
            Error::WebhookNotFoundException(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::ActionNotFoundException(inner) => inner.meta(),
            Self::ActionTypeNotFoundException(inner) => inner.meta(),
            Self::ApprovalAlreadyCompletedException(inner) => inner.meta(),
            Self::ConcurrentModificationException(inner) => inner.meta(),
            Self::ConflictException(inner) => inner.meta(),
            Self::DuplicatedStopRequestException(inner) => inner.meta(),
            Self::InvalidActionDeclarationException(inner) => inner.meta(),
            Self::InvalidApprovalTokenException(inner) => inner.meta(),
            Self::InvalidArnException(inner) => inner.meta(),
            Self::InvalidBlockerDeclarationException(inner) => inner.meta(),
            Self::InvalidClientTokenException(inner) => inner.meta(),
            Self::InvalidJobException(inner) => inner.meta(),
            Self::InvalidJobStateException(inner) => inner.meta(),
            Self::InvalidNextTokenException(inner) => inner.meta(),
            Self::InvalidNonceException(inner) => inner.meta(),
            Self::InvalidStageDeclarationException(inner) => inner.meta(),
            Self::InvalidStructureException(inner) => inner.meta(),
            Self::InvalidTagsException(inner) => inner.meta(),
            Self::InvalidWebhookAuthenticationParametersException(inner) => inner.meta(),
            Self::InvalidWebhookFilterPatternException(inner) => inner.meta(),
            Self::JobNotFoundException(inner) => inner.meta(),
            Self::LimitExceededException(inner) => inner.meta(),
            Self::NotLatestPipelineExecutionException(inner) => inner.meta(),
            Self::OutputVariablesSizeExceededException(inner) => inner.meta(),
            Self::PipelineExecutionNotFoundException(inner) => inner.meta(),
            Self::PipelineExecutionNotStoppableException(inner) => inner.meta(),
            Self::PipelineNameInUseException(inner) => inner.meta(),
            Self::PipelineNotFoundException(inner) => inner.meta(),
            Self::PipelineVersionNotFoundException(inner) => inner.meta(),
            Self::RequestFailedException(inner) => inner.meta(),
            Self::ResourceNotFoundException(inner) => inner.meta(),
            Self::StageNotFoundException(inner) => inner.meta(),
            Self::StageNotRetryableException(inner) => inner.meta(),
            Self::TooManyTagsException(inner) => inner.meta(),
            Self::ValidationException(inner) => inner.meta(),
            Self::WebhookNotFoundException(inner) => inner.meta(),
            Self::Unhandled(inner) => &inner.meta,
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::acknowledge_job::AcknowledgeJobError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::acknowledge_job::AcknowledgeJobError, 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::acknowledge_job::AcknowledgeJobError> for Error {
    fn from(err: crate::operation::acknowledge_job::AcknowledgeJobError) -> Self {
        match err {
            crate::operation::acknowledge_job::AcknowledgeJobError::InvalidNonceException(inner) => Error::InvalidNonceException(inner),
            crate::operation::acknowledge_job::AcknowledgeJobError::JobNotFoundException(inner) => Error::JobNotFoundException(inner),
            crate::operation::acknowledge_job::AcknowledgeJobError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::acknowledge_job::AcknowledgeJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError, 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::acknowledge_third_party_job::AcknowledgeThirdPartyJobError> for Error {
    fn from(err: crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError) -> Self {
        match err {
            crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError::InvalidClientTokenException(inner) => {
                Error::InvalidClientTokenException(inner)
            }
            crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError::InvalidNonceException(inner) => {
                Error::InvalidNonceException(inner)
            }
            crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError::JobNotFoundException(inner) => {
                Error::JobNotFoundException(inner)
            }
            crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::acknowledge_third_party_job::AcknowledgeThirdPartyJobError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_custom_action_type::CreateCustomActionTypeError, 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_action_type::CreateCustomActionTypeError, 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_action_type::CreateCustomActionTypeError> for Error {
    fn from(err: crate::operation::create_custom_action_type::CreateCustomActionTypeError) -> Self {
        match err {
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::InvalidTagsException(inner) => {
                Error::InvalidTagsException(inner)
            }
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::LimitExceededException(inner) => {
                Error::LimitExceededException(inner)
            }
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::TooManyTagsException(inner) => {
                Error::TooManyTagsException(inner)
            }
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::create_custom_action_type::CreateCustomActionTypeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_pipeline::CreatePipelineError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::create_pipeline::CreatePipelineError, 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_pipeline::CreatePipelineError> for Error {
    fn from(err: crate::operation::create_pipeline::CreatePipelineError) -> Self {
        match err {
            crate::operation::create_pipeline::CreatePipelineError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::create_pipeline::CreatePipelineError::InvalidActionDeclarationException(inner) => {
                Error::InvalidActionDeclarationException(inner)
            }
            crate::operation::create_pipeline::CreatePipelineError::InvalidBlockerDeclarationException(inner) => {
                Error::InvalidBlockerDeclarationException(inner)
            }
            crate::operation::create_pipeline::CreatePipelineError::InvalidStageDeclarationException(inner) => {
                Error::InvalidStageDeclarationException(inner)
            }
            crate::operation::create_pipeline::CreatePipelineError::InvalidStructureException(inner) => Error::InvalidStructureException(inner),
            crate::operation::create_pipeline::CreatePipelineError::InvalidTagsException(inner) => Error::InvalidTagsException(inner),
            crate::operation::create_pipeline::CreatePipelineError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::create_pipeline::CreatePipelineError::PipelineNameInUseException(inner) => Error::PipelineNameInUseException(inner),
            crate::operation::create_pipeline::CreatePipelineError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::create_pipeline::CreatePipelineError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::create_pipeline::CreatePipelineError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_custom_action_type::DeleteCustomActionTypeError, 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_action_type::DeleteCustomActionTypeError, 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_action_type::DeleteCustomActionTypeError> for Error {
    fn from(err: crate::operation::delete_custom_action_type::DeleteCustomActionTypeError) -> Self {
        match err {
            crate::operation::delete_custom_action_type::DeleteCustomActionTypeError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::delete_custom_action_type::DeleteCustomActionTypeError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::delete_custom_action_type::DeleteCustomActionTypeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_pipeline::DeletePipelineError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_pipeline::DeletePipelineError, 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_pipeline::DeletePipelineError> for Error {
    fn from(err: crate::operation::delete_pipeline::DeletePipelineError) -> Self {
        match err {
            crate::operation::delete_pipeline::DeletePipelineError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::delete_pipeline::DeletePipelineError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::delete_pipeline::DeletePipelineError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_webhook::DeleteWebhookError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::delete_webhook::DeleteWebhookError, 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_webhook::DeleteWebhookError> for Error {
    fn from(err: crate::operation::delete_webhook::DeleteWebhookError) -> Self {
        match err {
            crate::operation::delete_webhook::DeleteWebhookError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::delete_webhook::DeleteWebhookError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::delete_webhook::DeleteWebhookError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError> for Error {
    fn from(err: crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError) -> Self {
        match err {
            crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError::WebhookNotFoundException(inner) => {
                Error::WebhookNotFoundException(inner)
            }
            crate::operation::deregister_webhook_with_third_party::DeregisterWebhookWithThirdPartyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_stage_transition::DisableStageTransitionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::disable_stage_transition::DisableStageTransitionError, 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_stage_transition::DisableStageTransitionError> for Error {
    fn from(err: crate::operation::disable_stage_transition::DisableStageTransitionError) -> Self {
        match err {
            crate::operation::disable_stage_transition::DisableStageTransitionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::disable_stage_transition::DisableStageTransitionError::StageNotFoundException(inner) => {
                Error::StageNotFoundException(inner)
            }
            crate::operation::disable_stage_transition::DisableStageTransitionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::disable_stage_transition::DisableStageTransitionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_stage_transition::EnableStageTransitionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::enable_stage_transition::EnableStageTransitionError, 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_stage_transition::EnableStageTransitionError> for Error {
    fn from(err: crate::operation::enable_stage_transition::EnableStageTransitionError) -> Self {
        match err {
            crate::operation::enable_stage_transition::EnableStageTransitionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::enable_stage_transition::EnableStageTransitionError::StageNotFoundException(inner) => {
                Error::StageNotFoundException(inner)
            }
            crate::operation::enable_stage_transition::EnableStageTransitionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::enable_stage_transition::EnableStageTransitionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_action_type::GetActionTypeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_action_type::GetActionTypeError, 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_action_type::GetActionTypeError> for Error {
    fn from(err: crate::operation::get_action_type::GetActionTypeError) -> Self {
        match err {
            crate::operation::get_action_type::GetActionTypeError::ActionTypeNotFoundException(inner) => Error::ActionTypeNotFoundException(inner),
            crate::operation::get_action_type::GetActionTypeError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::get_action_type::GetActionTypeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_job_details::GetJobDetailsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_job_details::GetJobDetailsError, 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_job_details::GetJobDetailsError> for Error {
    fn from(err: crate::operation::get_job_details::GetJobDetailsError) -> Self {
        match err {
            crate::operation::get_job_details::GetJobDetailsError::JobNotFoundException(inner) => Error::JobNotFoundException(inner),
            crate::operation::get_job_details::GetJobDetailsError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::get_job_details::GetJobDetailsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline::GetPipelineError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline::GetPipelineError, 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_pipeline::GetPipelineError> for Error {
    fn from(err: crate::operation::get_pipeline::GetPipelineError) -> Self {
        match err {
            crate::operation::get_pipeline::GetPipelineError::PipelineNotFoundException(inner) => Error::PipelineNotFoundException(inner),
            crate::operation::get_pipeline::GetPipelineError::PipelineVersionNotFoundException(inner) => {
                Error::PipelineVersionNotFoundException(inner)
            }
            crate::operation::get_pipeline::GetPipelineError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::get_pipeline::GetPipelineError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline_execution::GetPipelineExecutionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline_execution::GetPipelineExecutionError, 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_pipeline_execution::GetPipelineExecutionError> for Error {
    fn from(err: crate::operation::get_pipeline_execution::GetPipelineExecutionError) -> Self {
        match err {
            crate::operation::get_pipeline_execution::GetPipelineExecutionError::PipelineExecutionNotFoundException(inner) => {
                Error::PipelineExecutionNotFoundException(inner)
            }
            crate::operation::get_pipeline_execution::GetPipelineExecutionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::get_pipeline_execution::GetPipelineExecutionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::get_pipeline_execution::GetPipelineExecutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline_state::GetPipelineStateError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_pipeline_state::GetPipelineStateError, 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_pipeline_state::GetPipelineStateError> for Error {
    fn from(err: crate::operation::get_pipeline_state::GetPipelineStateError) -> Self {
        match err {
            crate::operation::get_pipeline_state::GetPipelineStateError::PipelineNotFoundException(inner) => Error::PipelineNotFoundException(inner),
            crate::operation::get_pipeline_state::GetPipelineStateError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::get_pipeline_state::GetPipelineStateError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError, R>>
    for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError, 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_third_party_job_details::GetThirdPartyJobDetailsError> for Error {
    fn from(err: crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError) -> Self {
        match err {
            crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError::InvalidClientTokenException(inner) => {
                Error::InvalidClientTokenException(inner)
            }
            crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError::InvalidJobException(inner) => {
                Error::InvalidJobException(inner)
            }
            crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError::JobNotFoundException(inner) => {
                Error::JobNotFoundException(inner)
            }
            crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::get_third_party_job_details::GetThirdPartyJobDetailsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_action_executions::ListActionExecutionsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_action_executions::ListActionExecutionsError, 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_action_executions::ListActionExecutionsError> for Error {
    fn from(err: crate::operation::list_action_executions::ListActionExecutionsError) -> Self {
        match err {
            crate::operation::list_action_executions::ListActionExecutionsError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_action_executions::ListActionExecutionsError::PipelineExecutionNotFoundException(inner) => {
                Error::PipelineExecutionNotFoundException(inner)
            }
            crate::operation::list_action_executions::ListActionExecutionsError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::list_action_executions::ListActionExecutionsError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_action_executions::ListActionExecutionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_action_types::ListActionTypesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_action_types::ListActionTypesError, 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_action_types::ListActionTypesError> for Error {
    fn from(err: crate::operation::list_action_types::ListActionTypesError) -> Self {
        match err {
            crate::operation::list_action_types::ListActionTypesError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_action_types::ListActionTypesError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_action_types::ListActionTypesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_pipeline_executions::ListPipelineExecutionsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_pipeline_executions::ListPipelineExecutionsError, 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_pipeline_executions::ListPipelineExecutionsError> for Error {
    fn from(err: crate::operation::list_pipeline_executions::ListPipelineExecutionsError) -> Self {
        match err {
            crate::operation::list_pipeline_executions::ListPipelineExecutionsError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_pipeline_executions::ListPipelineExecutionsError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::list_pipeline_executions::ListPipelineExecutionsError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_pipeline_executions::ListPipelineExecutionsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_pipelines::ListPipelinesError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_pipelines::ListPipelinesError, 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_pipelines::ListPipelinesError> for Error {
    fn from(err: crate::operation::list_pipelines::ListPipelinesError) -> Self {
        match err {
            crate::operation::list_pipelines::ListPipelinesError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_pipelines::ListPipelinesError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_pipelines::ListPipelinesError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tags_for_resource::ListTagsForResourceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_tags_for_resource::ListTagsForResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::list_tags_for_resource::ListTagsForResourceError> for Error {
    fn from(err: crate::operation::list_tags_for_resource::ListTagsForResourceError) -> Self {
        match err {
            crate::operation::list_tags_for_resource::ListTagsForResourceError::InvalidArnException(inner) => Error::InvalidArnException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::InvalidNextTokenException(inner) => {
                Error::InvalidNextTokenException(inner)
            }
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ResourceNotFoundException(inner) => {
                Error::ResourceNotFoundException(inner)
            }
            crate::operation::list_tags_for_resource::ListTagsForResourceError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_tags_for_resource::ListTagsForResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_webhooks::ListWebhooksError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::list_webhooks::ListWebhooksError, 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_webhooks::ListWebhooksError> for Error {
    fn from(err: crate::operation::list_webhooks::ListWebhooksError) -> Self {
        match err {
            crate::operation::list_webhooks::ListWebhooksError::InvalidNextTokenException(inner) => Error::InvalidNextTokenException(inner),
            crate::operation::list_webhooks::ListWebhooksError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::list_webhooks::ListWebhooksError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::poll_for_jobs::PollForJobsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::poll_for_jobs::PollForJobsError, 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::poll_for_jobs::PollForJobsError> for Error {
    fn from(err: crate::operation::poll_for_jobs::PollForJobsError) -> Self {
        match err {
            crate::operation::poll_for_jobs::PollForJobsError::ActionTypeNotFoundException(inner) => Error::ActionTypeNotFoundException(inner),
            crate::operation::poll_for_jobs::PollForJobsError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::poll_for_jobs::PollForJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError, 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::poll_for_third_party_jobs::PollForThirdPartyJobsError> for Error {
    fn from(err: crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError) -> Self {
        match err {
            crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError::ActionTypeNotFoundException(inner) => {
                Error::ActionTypeNotFoundException(inner)
            }
            crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::poll_for_third_party_jobs::PollForThirdPartyJobsError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_action_revision::PutActionRevisionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_action_revision::PutActionRevisionError, 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_action_revision::PutActionRevisionError> for Error {
    fn from(err: crate::operation::put_action_revision::PutActionRevisionError) -> Self {
        match err {
            crate::operation::put_action_revision::PutActionRevisionError::ActionNotFoundException(inner) => Error::ActionNotFoundException(inner),
            crate::operation::put_action_revision::PutActionRevisionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::put_action_revision::PutActionRevisionError::StageNotFoundException(inner) => Error::StageNotFoundException(inner),
            crate::operation::put_action_revision::PutActionRevisionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::put_action_revision::PutActionRevisionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_approval_result::PutApprovalResultError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_approval_result::PutApprovalResultError, 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_approval_result::PutApprovalResultError> for Error {
    fn from(err: crate::operation::put_approval_result::PutApprovalResultError) -> Self {
        match err {
            crate::operation::put_approval_result::PutApprovalResultError::ActionNotFoundException(inner) => Error::ActionNotFoundException(inner),
            crate::operation::put_approval_result::PutApprovalResultError::ApprovalAlreadyCompletedException(inner) => {
                Error::ApprovalAlreadyCompletedException(inner)
            }
            crate::operation::put_approval_result::PutApprovalResultError::InvalidApprovalTokenException(inner) => {
                Error::InvalidApprovalTokenException(inner)
            }
            crate::operation::put_approval_result::PutApprovalResultError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::put_approval_result::PutApprovalResultError::StageNotFoundException(inner) => Error::StageNotFoundException(inner),
            crate::operation::put_approval_result::PutApprovalResultError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::put_approval_result::PutApprovalResultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_job_failure_result::PutJobFailureResultError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_job_failure_result::PutJobFailureResultError, 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_job_failure_result::PutJobFailureResultError> for Error {
    fn from(err: crate::operation::put_job_failure_result::PutJobFailureResultError) -> Self {
        match err {
            crate::operation::put_job_failure_result::PutJobFailureResultError::InvalidJobStateException(inner) => {
                Error::InvalidJobStateException(inner)
            }
            crate::operation::put_job_failure_result::PutJobFailureResultError::JobNotFoundException(inner) => Error::JobNotFoundException(inner),
            crate::operation::put_job_failure_result::PutJobFailureResultError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::put_job_failure_result::PutJobFailureResultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_job_success_result::PutJobSuccessResultError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_job_success_result::PutJobSuccessResultError, 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_job_success_result::PutJobSuccessResultError> for Error {
    fn from(err: crate::operation::put_job_success_result::PutJobSuccessResultError) -> Self {
        match err {
            crate::operation::put_job_success_result::PutJobSuccessResultError::InvalidJobStateException(inner) => {
                Error::InvalidJobStateException(inner)
            }
            crate::operation::put_job_success_result::PutJobSuccessResultError::JobNotFoundException(inner) => Error::JobNotFoundException(inner),
            crate::operation::put_job_success_result::PutJobSuccessResultError::OutputVariablesSizeExceededException(inner) => {
                Error::OutputVariablesSizeExceededException(inner)
            }
            crate::operation::put_job_success_result::PutJobSuccessResultError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::put_job_success_result::PutJobSuccessResultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError,
            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_third_party_job_failure_result::PutThirdPartyJobFailureResultError> for Error {
    fn from(err: crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError) -> Self {
        match err {
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError::InvalidClientTokenException(inner) => {
                Error::InvalidClientTokenException(inner)
            }
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError::InvalidJobStateException(inner) => {
                Error::InvalidJobStateException(inner)
            }
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError::JobNotFoundException(inner) => {
                Error::JobNotFoundException(inner)
            }
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::put_third_party_job_failure_result::PutThirdPartyJobFailureResultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError,
            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_third_party_job_success_result::PutThirdPartyJobSuccessResultError> for Error {
    fn from(err: crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError) -> Self {
        match err {
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError::InvalidClientTokenException(inner) => {
                Error::InvalidClientTokenException(inner)
            }
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError::InvalidJobStateException(inner) => {
                Error::InvalidJobStateException(inner)
            }
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError::JobNotFoundException(inner) => {
                Error::JobNotFoundException(inner)
            }
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::put_third_party_job_success_result::PutThirdPartyJobSuccessResultError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_webhook::PutWebhookError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_webhook::PutWebhookError, 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_webhook::PutWebhookError> for Error {
    fn from(err: crate::operation::put_webhook::PutWebhookError) -> Self {
        match err {
            crate::operation::put_webhook::PutWebhookError::ConcurrentModificationException(inner) => Error::ConcurrentModificationException(inner),
            crate::operation::put_webhook::PutWebhookError::InvalidTagsException(inner) => Error::InvalidTagsException(inner),
            crate::operation::put_webhook::PutWebhookError::InvalidWebhookAuthenticationParametersException(inner) => {
                Error::InvalidWebhookAuthenticationParametersException(inner)
            }
            crate::operation::put_webhook::PutWebhookError::InvalidWebhookFilterPatternException(inner) => {
                Error::InvalidWebhookFilterPatternException(inner)
            }
            crate::operation::put_webhook::PutWebhookError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::put_webhook::PutWebhookError::PipelineNotFoundException(inner) => Error::PipelineNotFoundException(inner),
            crate::operation::put_webhook::PutWebhookError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::put_webhook::PutWebhookError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::put_webhook::PutWebhookError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R>
    From<
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError,
            R,
        >,
    > for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError,
            R,
        >,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError> for Error {
    fn from(err: crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError) -> Self {
        match err {
            crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError::ValidationException(inner) => {
                Error::ValidationException(inner)
            }
            crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError::WebhookNotFoundException(inner) => {
                Error::WebhookNotFoundException(inner)
            }
            crate::operation::register_webhook_with_third_party::RegisterWebhookWithThirdPartyError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::retry_stage_execution::RetryStageExecutionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::retry_stage_execution::RetryStageExecutionError, 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::retry_stage_execution::RetryStageExecutionError> for Error {
    fn from(err: crate::operation::retry_stage_execution::RetryStageExecutionError) -> Self {
        match err {
            crate::operation::retry_stage_execution::RetryStageExecutionError::ConflictException(inner) => Error::ConflictException(inner),
            crate::operation::retry_stage_execution::RetryStageExecutionError::NotLatestPipelineExecutionException(inner) => {
                Error::NotLatestPipelineExecutionException(inner)
            }
            crate::operation::retry_stage_execution::RetryStageExecutionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::retry_stage_execution::RetryStageExecutionError::StageNotFoundException(inner) => Error::StageNotFoundException(inner),
            crate::operation::retry_stage_execution::RetryStageExecutionError::StageNotRetryableException(inner) => {
                Error::StageNotRetryableException(inner)
            }
            crate::operation::retry_stage_execution::RetryStageExecutionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::retry_stage_execution::RetryStageExecutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_pipeline_execution::StartPipelineExecutionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_pipeline_execution::StartPipelineExecutionError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::start_pipeline_execution::StartPipelineExecutionError> for Error {
    fn from(err: crate::operation::start_pipeline_execution::StartPipelineExecutionError) -> Self {
        match err {
            crate::operation::start_pipeline_execution::StartPipelineExecutionError::ConflictException(inner) => Error::ConflictException(inner),
            crate::operation::start_pipeline_execution::StartPipelineExecutionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::start_pipeline_execution::StartPipelineExecutionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::start_pipeline_execution::StartPipelineExecutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::stop_pipeline_execution::StopPipelineExecutionError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(
        err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::stop_pipeline_execution::StopPipelineExecutionError, R>,
    ) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::stop_pipeline_execution::StopPipelineExecutionError> for Error {
    fn from(err: crate::operation::stop_pipeline_execution::StopPipelineExecutionError) -> Self {
        match err {
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::ConflictException(inner) => Error::ConflictException(inner),
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::DuplicatedStopRequestException(inner) => {
                Error::DuplicatedStopRequestException(inner)
            }
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::PipelineExecutionNotStoppableException(inner) => {
                Error::PipelineExecutionNotStoppableException(inner)
            }
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::PipelineNotFoundException(inner) => {
                Error::PipelineNotFoundException(inner)
            }
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::stop_pipeline_execution::StopPipelineExecutionError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::tag_resource::TagResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::tag_resource::TagResourceError> for Error {
    fn from(err: crate::operation::tag_resource::TagResourceError) -> Self {
        match err {
            crate::operation::tag_resource::TagResourceError::ConcurrentModificationException(inner) => Error::ConcurrentModificationException(inner),
            crate::operation::tag_resource::TagResourceError::InvalidArnException(inner) => Error::InvalidArnException(inner),
            crate::operation::tag_resource::TagResourceError::InvalidTagsException(inner) => Error::InvalidTagsException(inner),
            crate::operation::tag_resource::TagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::tag_resource::TagResourceError::TooManyTagsException(inner) => Error::TooManyTagsException(inner),
            crate::operation::tag_resource::TagResourceError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::tag_resource::TagResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::untag_resource::UntagResourceError, R>) -> Self {
        match err {
            ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()),
            _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled {
                meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(),
                source: err.into(),
            }),
        }
    }
}
impl From<crate::operation::untag_resource::UntagResourceError> for Error {
    fn from(err: crate::operation::untag_resource::UntagResourceError) -> Self {
        match err {
            crate::operation::untag_resource::UntagResourceError::ConcurrentModificationException(inner) => {
                Error::ConcurrentModificationException(inner)
            }
            crate::operation::untag_resource::UntagResourceError::InvalidArnException(inner) => Error::InvalidArnException(inner),
            crate::operation::untag_resource::UntagResourceError::InvalidTagsException(inner) => Error::InvalidTagsException(inner),
            crate::operation::untag_resource::UntagResourceError::ResourceNotFoundException(inner) => Error::ResourceNotFoundException(inner),
            crate::operation::untag_resource::UntagResourceError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::untag_resource::UntagResourceError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_action_type::UpdateActionTypeError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_action_type::UpdateActionTypeError, 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_action_type::UpdateActionTypeError> for Error {
    fn from(err: crate::operation::update_action_type::UpdateActionTypeError) -> Self {
        match err {
            crate::operation::update_action_type::UpdateActionTypeError::ActionTypeNotFoundException(inner) => {
                Error::ActionTypeNotFoundException(inner)
            }
            crate::operation::update_action_type::UpdateActionTypeError::RequestFailedException(inner) => Error::RequestFailedException(inner),
            crate::operation::update_action_type::UpdateActionTypeError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::update_action_type::UpdateActionTypeError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl<R> From<::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_pipeline::UpdatePipelineError, R>> for Error
where
    R: Send + Sync + std::fmt::Debug + 'static,
{
    fn from(err: ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_pipeline::UpdatePipelineError, 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_pipeline::UpdatePipelineError> for Error {
    fn from(err: crate::operation::update_pipeline::UpdatePipelineError) -> Self {
        match err {
            crate::operation::update_pipeline::UpdatePipelineError::InvalidActionDeclarationException(inner) => {
                Error::InvalidActionDeclarationException(inner)
            }
            crate::operation::update_pipeline::UpdatePipelineError::InvalidBlockerDeclarationException(inner) => {
                Error::InvalidBlockerDeclarationException(inner)
            }
            crate::operation::update_pipeline::UpdatePipelineError::InvalidStageDeclarationException(inner) => {
                Error::InvalidStageDeclarationException(inner)
            }
            crate::operation::update_pipeline::UpdatePipelineError::InvalidStructureException(inner) => Error::InvalidStructureException(inner),
            crate::operation::update_pipeline::UpdatePipelineError::LimitExceededException(inner) => Error::LimitExceededException(inner),
            crate::operation::update_pipeline::UpdatePipelineError::ValidationException(inner) => Error::ValidationException(inner),
            crate::operation::update_pipeline::UpdatePipelineError::Unhandled(inner) => Error::Unhandled(inner),
        }
    }
}
impl ::std::error::Error for Error {
    fn source(&self) -> std::option::Option<&(dyn ::std::error::Error + 'static)> {
        match self {
            Error::ActionNotFoundException(inner) => inner.source(),
            Error::ActionTypeNotFoundException(inner) => inner.source(),
            Error::ApprovalAlreadyCompletedException(inner) => inner.source(),
            Error::ConcurrentModificationException(inner) => inner.source(),
            Error::ConflictException(inner) => inner.source(),
            Error::DuplicatedStopRequestException(inner) => inner.source(),
            Error::InvalidActionDeclarationException(inner) => inner.source(),
            Error::InvalidApprovalTokenException(inner) => inner.source(),
            Error::InvalidArnException(inner) => inner.source(),
            Error::InvalidBlockerDeclarationException(inner) => inner.source(),
            Error::InvalidClientTokenException(inner) => inner.source(),
            Error::InvalidJobException(inner) => inner.source(),
            Error::InvalidJobStateException(inner) => inner.source(),
            Error::InvalidNextTokenException(inner) => inner.source(),
            Error::InvalidNonceException(inner) => inner.source(),
            Error::InvalidStageDeclarationException(inner) => inner.source(),
            Error::InvalidStructureException(inner) => inner.source(),
            Error::InvalidTagsException(inner) => inner.source(),
            Error::InvalidWebhookAuthenticationParametersException(inner) => inner.source(),
            Error::InvalidWebhookFilterPatternException(inner) => inner.source(),
            Error::JobNotFoundException(inner) => inner.source(),
            Error::LimitExceededException(inner) => inner.source(),
            Error::NotLatestPipelineExecutionException(inner) => inner.source(),
            Error::OutputVariablesSizeExceededException(inner) => inner.source(),
            Error::PipelineExecutionNotFoundException(inner) => inner.source(),
            Error::PipelineExecutionNotStoppableException(inner) => inner.source(),
            Error::PipelineNameInUseException(inner) => inner.source(),
            Error::PipelineNotFoundException(inner) => inner.source(),
            Error::PipelineVersionNotFoundException(inner) => inner.source(),
            Error::RequestFailedException(inner) => inner.source(),
            Error::ResourceNotFoundException(inner) => inner.source(),
            Error::StageNotFoundException(inner) => inner.source(),
            Error::StageNotRetryableException(inner) => inner.source(),
            Error::TooManyTagsException(inner) => inner.source(),
            Error::ValidationException(inner) => inner.source(),
            Error::WebhookNotFoundException(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::ActionNotFoundException(e) => e.request_id(),
            Self::ActionTypeNotFoundException(e) => e.request_id(),
            Self::ApprovalAlreadyCompletedException(e) => e.request_id(),
            Self::ConcurrentModificationException(e) => e.request_id(),
            Self::ConflictException(e) => e.request_id(),
            Self::DuplicatedStopRequestException(e) => e.request_id(),
            Self::InvalidActionDeclarationException(e) => e.request_id(),
            Self::InvalidApprovalTokenException(e) => e.request_id(),
            Self::InvalidArnException(e) => e.request_id(),
            Self::InvalidBlockerDeclarationException(e) => e.request_id(),
            Self::InvalidClientTokenException(e) => e.request_id(),
            Self::InvalidJobException(e) => e.request_id(),
            Self::InvalidJobStateException(e) => e.request_id(),
            Self::InvalidNextTokenException(e) => e.request_id(),
            Self::InvalidNonceException(e) => e.request_id(),
            Self::InvalidStageDeclarationException(e) => e.request_id(),
            Self::InvalidStructureException(e) => e.request_id(),
            Self::InvalidTagsException(e) => e.request_id(),
            Self::InvalidWebhookAuthenticationParametersException(e) => e.request_id(),
            Self::InvalidWebhookFilterPatternException(e) => e.request_id(),
            Self::JobNotFoundException(e) => e.request_id(),
            Self::LimitExceededException(e) => e.request_id(),
            Self::NotLatestPipelineExecutionException(e) => e.request_id(),
            Self::OutputVariablesSizeExceededException(e) => e.request_id(),
            Self::PipelineExecutionNotFoundException(e) => e.request_id(),
            Self::PipelineExecutionNotStoppableException(e) => e.request_id(),
            Self::PipelineNameInUseException(e) => e.request_id(),
            Self::PipelineNotFoundException(e) => e.request_id(),
            Self::PipelineVersionNotFoundException(e) => e.request_id(),
            Self::RequestFailedException(e) => e.request_id(),
            Self::ResourceNotFoundException(e) => e.request_id(),
            Self::StageNotFoundException(e) => e.request_id(),
            Self::StageNotRetryableException(e) => e.request_id(),
            Self::TooManyTagsException(e) => e.request_id(),
            Self::ValidationException(e) => e.request_id(),
            Self::WebhookNotFoundException(e) => e.request_id(),
            Self::Unhandled(e) => e.meta.request_id(),
        }
    }
}