use crate::{
AwsHttpClient, Result,
ops::kinesis::KinesisOps,
types::kinesis::{
DeleteStreamInput, DescribeStreamSummaryInput, DescribeStreamSummaryOutput,
ListStreamsInput, ListStreamsOutput, UpdateStreamModeInput,
},
};
pub struct KinesisClient<'a> {
ops: KinesisOps<'a>,
}
impl<'a> KinesisClient<'a> {
pub(crate) fn new(client: &'a AwsHttpClient) -> Self {
Self {
ops: KinesisOps::new(client),
}
}
pub async fn list_streams(&self, body: &ListStreamsInput) -> Result<ListStreamsOutput> {
self.ops.list_streams(body).await
}
pub async fn describe_stream_summary(
&self,
body: &DescribeStreamSummaryInput,
) -> Result<DescribeStreamSummaryOutput> {
self.ops.describe_stream_summary(body).await
}
pub async fn delete_stream(&self, body: &DeleteStreamInput) -> Result<()> {
self.ops.delete_stream(body).await
}
pub async fn update_stream_mode(&self, body: &UpdateStreamModeInput) -> Result<()> {
self.ops.update_stream_mode(body).await
}
}