use aws_sdk_dynamodb::error::*; use aws_sdk_kinesis::error::*; use aws_sdk_kinesis::types::SdkError; use std::fmt; #[derive(Debug)] pub struct PollKinesisError { pub message: String, } impl fmt::Display for PollKinesisError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", &self.message) } } impl From> for PollKinesisError { fn from(_: SdkError) -> Self { PollKinesisError { message: "failed to get shards list".to_owned(), } } } impl From> for PollKinesisError { fn from(_: SdkError) -> Self { PollKinesisError { message: "failed to get shard iterator".to_owned(), } } } impl From> for PollKinesisError { fn from(_: SdkError) -> Self { PollKinesisError { message: "failed to get records".to_owned(), } } } impl From for PollKinesisError { fn from(q: QueryDynamoDbError) -> Self { PollKinesisError { message: q.message } } } #[derive(Debug)] pub struct QueryDynamoDbError { pub message: String, } impl fmt::Display for QueryDynamoDbError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", &self.message) } } impl From> for QueryDynamoDbError { fn from(_: SdkError) -> Self { QueryDynamoDbError { message: "query error".to_owned(), } } }