def _deserialize_error()

in AwsCryptographicMaterialProviders/runtimes/python/src/aws_cryptographic_material_providers/smithygenerated/aws_cryptography_materialproviders/deserialize.py [0:0]


def _deserialize_error(error: Error) -> ServiceError:
    if error.is_Opaque:
        return OpaqueError(obj=error.obj)
    elif error.is_OpaqueWithText:
        return OpaqueErrorWithText(obj=error.obj, obj_message=error.objMessage)
    elif error.is_CollectionOfErrors:
        return CollectionOfErrors(
            message=_dafny.string_of(error.message),
            list=[_deserialize_error(dafny_e) for dafny_e in error.list],
        )
    elif error.is_AwsCryptographicMaterialProvidersException:
        return AwsCryptographicMaterialProvidersException(
            message=_dafny.string_of(error.message)
        )
    elif error.is_EntryAlreadyExists:
        return EntryAlreadyExists(message=_dafny.string_of(error.message))
    elif error.is_EntryDoesNotExist:
        return EntryDoesNotExist(message=_dafny.string_of(error.message))
    elif error.is_InFlightTTLExceeded:
        return InFlightTTLExceeded(message=_dafny.string_of(error.message))
    elif error.is_InvalidAlgorithmSuiteInfo:
        return InvalidAlgorithmSuiteInfo(message=_dafny.string_of(error.message))
    elif error.is_InvalidAlgorithmSuiteInfoOnDecrypt:
        return InvalidAlgorithmSuiteInfoOnDecrypt(
            message=_dafny.string_of(error.message)
        )
    elif error.is_InvalidAlgorithmSuiteInfoOnEncrypt:
        return InvalidAlgorithmSuiteInfoOnEncrypt(
            message=_dafny.string_of(error.message)
        )
    elif error.is_InvalidDecryptionMaterials:
        return InvalidDecryptionMaterials(message=_dafny.string_of(error.message))
    elif error.is_InvalidDecryptionMaterialsTransition:
        return InvalidDecryptionMaterialsTransition(
            message=_dafny.string_of(error.message)
        )
    elif error.is_InvalidEncryptionMaterials:
        return InvalidEncryptionMaterials(message=_dafny.string_of(error.message))
    elif error.is_InvalidEncryptionMaterialsTransition:
        return InvalidEncryptionMaterialsTransition(
            message=_dafny.string_of(error.message)
        )
    elif error.is_AwsCryptographyPrimitives:
        return AwsCryptographicPrimitives(
            aws_cryptography_primitives_deserialize_error(
                error.AwsCryptographyPrimitives
            )
        )
    elif error.is_AwsCryptographyKeyStore:
        return KeyStore(
            aws_cryptography_keystore_deserialize_error(error.AwsCryptographyKeyStore)
        )
    elif error.is_ComAmazonawsKms:
        return ComAmazonawsKms(message=_dafny.string_of(error.ComAmazonawsKms.message))
    elif error.is_ComAmazonawsDynamodb:
        return ComAmazonawsDynamodb(
            message=_dafny.string_of(error.ComAmazonawsDynamodb.message)
        )
    else:
        return OpaqueError(obj=error)