{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Kinesis.DescribeStreamSummary
(
DescribeStreamSummary (..),
newDescribeStreamSummary,
describeStreamSummary_streamARN,
describeStreamSummary_streamName,
DescribeStreamSummaryResponse (..),
newDescribeStreamSummaryResponse,
describeStreamSummaryResponse_httpStatus,
describeStreamSummaryResponse_streamDescriptionSummary,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kinesis.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeStreamSummary = DescribeStreamSummary'
{
DescribeStreamSummary -> Maybe Text
streamARN :: Prelude.Maybe Prelude.Text,
DescribeStreamSummary -> Maybe Text
streamName :: Prelude.Maybe Prelude.Text
}
deriving (DescribeStreamSummary -> DescribeStreamSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStreamSummary -> DescribeStreamSummary -> Bool
$c/= :: DescribeStreamSummary -> DescribeStreamSummary -> Bool
== :: DescribeStreamSummary -> DescribeStreamSummary -> Bool
$c== :: DescribeStreamSummary -> DescribeStreamSummary -> Bool
Prelude.Eq, ReadPrec [DescribeStreamSummary]
ReadPrec DescribeStreamSummary
Int -> ReadS DescribeStreamSummary
ReadS [DescribeStreamSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStreamSummary]
$creadListPrec :: ReadPrec [DescribeStreamSummary]
readPrec :: ReadPrec DescribeStreamSummary
$creadPrec :: ReadPrec DescribeStreamSummary
readList :: ReadS [DescribeStreamSummary]
$creadList :: ReadS [DescribeStreamSummary]
readsPrec :: Int -> ReadS DescribeStreamSummary
$creadsPrec :: Int -> ReadS DescribeStreamSummary
Prelude.Read, Int -> DescribeStreamSummary -> ShowS
[DescribeStreamSummary] -> ShowS
DescribeStreamSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStreamSummary] -> ShowS
$cshowList :: [DescribeStreamSummary] -> ShowS
show :: DescribeStreamSummary -> String
$cshow :: DescribeStreamSummary -> String
showsPrec :: Int -> DescribeStreamSummary -> ShowS
$cshowsPrec :: Int -> DescribeStreamSummary -> ShowS
Prelude.Show, forall x. Rep DescribeStreamSummary x -> DescribeStreamSummary
forall x. DescribeStreamSummary -> Rep DescribeStreamSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeStreamSummary x -> DescribeStreamSummary
$cfrom :: forall x. DescribeStreamSummary -> Rep DescribeStreamSummary x
Prelude.Generic)
newDescribeStreamSummary ::
DescribeStreamSummary
newDescribeStreamSummary :: DescribeStreamSummary
newDescribeStreamSummary =
DescribeStreamSummary'
{ $sel:streamARN:DescribeStreamSummary' :: Maybe Text
streamARN = forall a. Maybe a
Prelude.Nothing,
$sel:streamName:DescribeStreamSummary' :: Maybe Text
streamName = forall a. Maybe a
Prelude.Nothing
}
describeStreamSummary_streamARN :: Lens.Lens' DescribeStreamSummary (Prelude.Maybe Prelude.Text)
describeStreamSummary_streamARN :: Lens' DescribeStreamSummary (Maybe Text)
describeStreamSummary_streamARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamSummary' {Maybe Text
streamARN :: Maybe Text
$sel:streamARN:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
streamARN} -> Maybe Text
streamARN) (\s :: DescribeStreamSummary
s@DescribeStreamSummary' {} Maybe Text
a -> DescribeStreamSummary
s {$sel:streamARN:DescribeStreamSummary' :: Maybe Text
streamARN = Maybe Text
a} :: DescribeStreamSummary)
describeStreamSummary_streamName :: Lens.Lens' DescribeStreamSummary (Prelude.Maybe Prelude.Text)
describeStreamSummary_streamName :: Lens' DescribeStreamSummary (Maybe Text)
describeStreamSummary_streamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamSummary' {Maybe Text
streamName :: Maybe Text
$sel:streamName:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
streamName} -> Maybe Text
streamName) (\s :: DescribeStreamSummary
s@DescribeStreamSummary' {} Maybe Text
a -> DescribeStreamSummary
s {$sel:streamName:DescribeStreamSummary' :: Maybe Text
streamName = Maybe Text
a} :: DescribeStreamSummary)
instance Core.AWSRequest DescribeStreamSummary where
type
AWSResponse DescribeStreamSummary =
DescribeStreamSummaryResponse
request :: (Service -> Service)
-> DescribeStreamSummary -> Request DescribeStreamSummary
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeStreamSummary
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeStreamSummary)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> StreamDescriptionSummary -> DescribeStreamSummaryResponse
DescribeStreamSummaryResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"StreamDescriptionSummary")
)
instance Prelude.Hashable DescribeStreamSummary where
hashWithSalt :: Int -> DescribeStreamSummary -> Int
hashWithSalt Int
_salt DescribeStreamSummary' {Maybe Text
streamName :: Maybe Text
streamARN :: Maybe Text
$sel:streamName:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
$sel:streamARN:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
streamARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
streamName
instance Prelude.NFData DescribeStreamSummary where
rnf :: DescribeStreamSummary -> ()
rnf DescribeStreamSummary' {Maybe Text
streamName :: Maybe Text
streamARN :: Maybe Text
$sel:streamName:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
$sel:streamARN:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
streamARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
streamName
instance Data.ToHeaders DescribeStreamSummary where
toHeaders :: DescribeStreamSummary -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Kinesis_20131202.DescribeStreamSummary" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeStreamSummary where
toJSON :: DescribeStreamSummary -> Value
toJSON DescribeStreamSummary' {Maybe Text
streamName :: Maybe Text
streamARN :: Maybe Text
$sel:streamName:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
$sel:streamARN:DescribeStreamSummary' :: DescribeStreamSummary -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"StreamARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
streamARN,
(Key
"StreamName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
streamName
]
)
instance Data.ToPath DescribeStreamSummary where
toPath :: DescribeStreamSummary -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeStreamSummary where
toQuery :: DescribeStreamSummary -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeStreamSummaryResponse = DescribeStreamSummaryResponse'
{
DescribeStreamSummaryResponse -> Int
httpStatus :: Prelude.Int,
DescribeStreamSummaryResponse -> StreamDescriptionSummary
streamDescriptionSummary :: StreamDescriptionSummary
}
deriving (DescribeStreamSummaryResponse
-> DescribeStreamSummaryResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStreamSummaryResponse
-> DescribeStreamSummaryResponse -> Bool
$c/= :: DescribeStreamSummaryResponse
-> DescribeStreamSummaryResponse -> Bool
== :: DescribeStreamSummaryResponse
-> DescribeStreamSummaryResponse -> Bool
$c== :: DescribeStreamSummaryResponse
-> DescribeStreamSummaryResponse -> Bool
Prelude.Eq, ReadPrec [DescribeStreamSummaryResponse]
ReadPrec DescribeStreamSummaryResponse
Int -> ReadS DescribeStreamSummaryResponse
ReadS [DescribeStreamSummaryResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStreamSummaryResponse]
$creadListPrec :: ReadPrec [DescribeStreamSummaryResponse]
readPrec :: ReadPrec DescribeStreamSummaryResponse
$creadPrec :: ReadPrec DescribeStreamSummaryResponse
readList :: ReadS [DescribeStreamSummaryResponse]
$creadList :: ReadS [DescribeStreamSummaryResponse]
readsPrec :: Int -> ReadS DescribeStreamSummaryResponse
$creadsPrec :: Int -> ReadS DescribeStreamSummaryResponse
Prelude.Read, Int -> DescribeStreamSummaryResponse -> ShowS
[DescribeStreamSummaryResponse] -> ShowS
DescribeStreamSummaryResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStreamSummaryResponse] -> ShowS
$cshowList :: [DescribeStreamSummaryResponse] -> ShowS
show :: DescribeStreamSummaryResponse -> String
$cshow :: DescribeStreamSummaryResponse -> String
showsPrec :: Int -> DescribeStreamSummaryResponse -> ShowS
$cshowsPrec :: Int -> DescribeStreamSummaryResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeStreamSummaryResponse x
-> DescribeStreamSummaryResponse
forall x.
DescribeStreamSummaryResponse
-> Rep DescribeStreamSummaryResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeStreamSummaryResponse x
-> DescribeStreamSummaryResponse
$cfrom :: forall x.
DescribeStreamSummaryResponse
-> Rep DescribeStreamSummaryResponse x
Prelude.Generic)
newDescribeStreamSummaryResponse ::
Prelude.Int ->
StreamDescriptionSummary ->
DescribeStreamSummaryResponse
newDescribeStreamSummaryResponse :: Int -> StreamDescriptionSummary -> DescribeStreamSummaryResponse
newDescribeStreamSummaryResponse
Int
pHttpStatus_
StreamDescriptionSummary
pStreamDescriptionSummary_ =
DescribeStreamSummaryResponse'
{ $sel:httpStatus:DescribeStreamSummaryResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:streamDescriptionSummary:DescribeStreamSummaryResponse' :: StreamDescriptionSummary
streamDescriptionSummary =
StreamDescriptionSummary
pStreamDescriptionSummary_
}
describeStreamSummaryResponse_httpStatus :: Lens.Lens' DescribeStreamSummaryResponse Prelude.Int
describeStreamSummaryResponse_httpStatus :: Lens' DescribeStreamSummaryResponse Int
describeStreamSummaryResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamSummaryResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeStreamSummaryResponse' :: DescribeStreamSummaryResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeStreamSummaryResponse
s@DescribeStreamSummaryResponse' {} Int
a -> DescribeStreamSummaryResponse
s {$sel:httpStatus:DescribeStreamSummaryResponse' :: Int
httpStatus = Int
a} :: DescribeStreamSummaryResponse)
describeStreamSummaryResponse_streamDescriptionSummary :: Lens.Lens' DescribeStreamSummaryResponse StreamDescriptionSummary
describeStreamSummaryResponse_streamDescriptionSummary :: Lens' DescribeStreamSummaryResponse StreamDescriptionSummary
describeStreamSummaryResponse_streamDescriptionSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamSummaryResponse' {StreamDescriptionSummary
streamDescriptionSummary :: StreamDescriptionSummary
$sel:streamDescriptionSummary:DescribeStreamSummaryResponse' :: DescribeStreamSummaryResponse -> StreamDescriptionSummary
streamDescriptionSummary} -> StreamDescriptionSummary
streamDescriptionSummary) (\s :: DescribeStreamSummaryResponse
s@DescribeStreamSummaryResponse' {} StreamDescriptionSummary
a -> DescribeStreamSummaryResponse
s {$sel:streamDescriptionSummary:DescribeStreamSummaryResponse' :: StreamDescriptionSummary
streamDescriptionSummary = StreamDescriptionSummary
a} :: DescribeStreamSummaryResponse)
instance Prelude.NFData DescribeStreamSummaryResponse where
rnf :: DescribeStreamSummaryResponse -> ()
rnf DescribeStreamSummaryResponse' {Int
StreamDescriptionSummary
streamDescriptionSummary :: StreamDescriptionSummary
httpStatus :: Int
$sel:streamDescriptionSummary:DescribeStreamSummaryResponse' :: DescribeStreamSummaryResponse -> StreamDescriptionSummary
$sel:httpStatus:DescribeStreamSummaryResponse' :: DescribeStreamSummaryResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf StreamDescriptionSummary
streamDescriptionSummary