{-# 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.DescribeStreamConsumer
(
DescribeStreamConsumer (..),
newDescribeStreamConsumer,
describeStreamConsumer_consumerARN,
describeStreamConsumer_consumerName,
describeStreamConsumer_streamARN,
DescribeStreamConsumerResponse (..),
newDescribeStreamConsumerResponse,
describeStreamConsumerResponse_httpStatus,
describeStreamConsumerResponse_consumerDescription,
)
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 DescribeStreamConsumer = DescribeStreamConsumer'
{
DescribeStreamConsumer -> Maybe Text
consumerARN :: Prelude.Maybe Prelude.Text,
DescribeStreamConsumer -> Maybe Text
consumerName :: Prelude.Maybe Prelude.Text,
DescribeStreamConsumer -> Maybe Text
streamARN :: Prelude.Maybe Prelude.Text
}
deriving (DescribeStreamConsumer -> DescribeStreamConsumer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStreamConsumer -> DescribeStreamConsumer -> Bool
$c/= :: DescribeStreamConsumer -> DescribeStreamConsumer -> Bool
== :: DescribeStreamConsumer -> DescribeStreamConsumer -> Bool
$c== :: DescribeStreamConsumer -> DescribeStreamConsumer -> Bool
Prelude.Eq, ReadPrec [DescribeStreamConsumer]
ReadPrec DescribeStreamConsumer
Int -> ReadS DescribeStreamConsumer
ReadS [DescribeStreamConsumer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStreamConsumer]
$creadListPrec :: ReadPrec [DescribeStreamConsumer]
readPrec :: ReadPrec DescribeStreamConsumer
$creadPrec :: ReadPrec DescribeStreamConsumer
readList :: ReadS [DescribeStreamConsumer]
$creadList :: ReadS [DescribeStreamConsumer]
readsPrec :: Int -> ReadS DescribeStreamConsumer
$creadsPrec :: Int -> ReadS DescribeStreamConsumer
Prelude.Read, Int -> DescribeStreamConsumer -> ShowS
[DescribeStreamConsumer] -> ShowS
DescribeStreamConsumer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStreamConsumer] -> ShowS
$cshowList :: [DescribeStreamConsumer] -> ShowS
show :: DescribeStreamConsumer -> String
$cshow :: DescribeStreamConsumer -> String
showsPrec :: Int -> DescribeStreamConsumer -> ShowS
$cshowsPrec :: Int -> DescribeStreamConsumer -> ShowS
Prelude.Show, forall x. Rep DescribeStreamConsumer x -> DescribeStreamConsumer
forall x. DescribeStreamConsumer -> Rep DescribeStreamConsumer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeStreamConsumer x -> DescribeStreamConsumer
$cfrom :: forall x. DescribeStreamConsumer -> Rep DescribeStreamConsumer x
Prelude.Generic)
newDescribeStreamConsumer ::
DescribeStreamConsumer
newDescribeStreamConsumer :: DescribeStreamConsumer
newDescribeStreamConsumer =
DescribeStreamConsumer'
{ $sel:consumerARN:DescribeStreamConsumer' :: Maybe Text
consumerARN =
forall a. Maybe a
Prelude.Nothing,
$sel:consumerName:DescribeStreamConsumer' :: Maybe Text
consumerName = forall a. Maybe a
Prelude.Nothing,
$sel:streamARN:DescribeStreamConsumer' :: Maybe Text
streamARN = forall a. Maybe a
Prelude.Nothing
}
describeStreamConsumer_consumerARN :: Lens.Lens' DescribeStreamConsumer (Prelude.Maybe Prelude.Text)
describeStreamConsumer_consumerARN :: Lens' DescribeStreamConsumer (Maybe Text)
describeStreamConsumer_consumerARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamConsumer' {Maybe Text
consumerARN :: Maybe Text
$sel:consumerARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
consumerARN} -> Maybe Text
consumerARN) (\s :: DescribeStreamConsumer
s@DescribeStreamConsumer' {} Maybe Text
a -> DescribeStreamConsumer
s {$sel:consumerARN:DescribeStreamConsumer' :: Maybe Text
consumerARN = Maybe Text
a} :: DescribeStreamConsumer)
describeStreamConsumer_consumerName :: Lens.Lens' DescribeStreamConsumer (Prelude.Maybe Prelude.Text)
describeStreamConsumer_consumerName :: Lens' DescribeStreamConsumer (Maybe Text)
describeStreamConsumer_consumerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamConsumer' {Maybe Text
consumerName :: Maybe Text
$sel:consumerName:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
consumerName} -> Maybe Text
consumerName) (\s :: DescribeStreamConsumer
s@DescribeStreamConsumer' {} Maybe Text
a -> DescribeStreamConsumer
s {$sel:consumerName:DescribeStreamConsumer' :: Maybe Text
consumerName = Maybe Text
a} :: DescribeStreamConsumer)
describeStreamConsumer_streamARN :: Lens.Lens' DescribeStreamConsumer (Prelude.Maybe Prelude.Text)
describeStreamConsumer_streamARN :: Lens' DescribeStreamConsumer (Maybe Text)
describeStreamConsumer_streamARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamConsumer' {Maybe Text
streamARN :: Maybe Text
$sel:streamARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
streamARN} -> Maybe Text
streamARN) (\s :: DescribeStreamConsumer
s@DescribeStreamConsumer' {} Maybe Text
a -> DescribeStreamConsumer
s {$sel:streamARN:DescribeStreamConsumer' :: Maybe Text
streamARN = Maybe Text
a} :: DescribeStreamConsumer)
instance Core.AWSRequest DescribeStreamConsumer where
type
AWSResponse DescribeStreamConsumer =
DescribeStreamConsumerResponse
request :: (Service -> Service)
-> DescribeStreamConsumer -> Request DescribeStreamConsumer
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 DescribeStreamConsumer
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeStreamConsumer)))
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 -> ConsumerDescription -> DescribeStreamConsumerResponse
DescribeStreamConsumerResponse'
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
"ConsumerDescription")
)
instance Prelude.Hashable DescribeStreamConsumer where
hashWithSalt :: Int -> DescribeStreamConsumer -> Int
hashWithSalt Int
_salt DescribeStreamConsumer' {Maybe Text
streamARN :: Maybe Text
consumerName :: Maybe Text
consumerARN :: Maybe Text
$sel:streamARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerName:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
consumerARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
consumerName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
streamARN
instance Prelude.NFData DescribeStreamConsumer where
rnf :: DescribeStreamConsumer -> ()
rnf DescribeStreamConsumer' {Maybe Text
streamARN :: Maybe Text
consumerName :: Maybe Text
consumerARN :: Maybe Text
$sel:streamARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerName:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
consumerARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
consumerName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
streamARN
instance Data.ToHeaders DescribeStreamConsumer where
toHeaders :: DescribeStreamConsumer -> 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.DescribeStreamConsumer" ::
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 DescribeStreamConsumer where
toJSON :: DescribeStreamConsumer -> Value
toJSON DescribeStreamConsumer' {Maybe Text
streamARN :: Maybe Text
consumerName :: Maybe Text
consumerARN :: Maybe Text
$sel:streamARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerName:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
$sel:consumerARN:DescribeStreamConsumer' :: DescribeStreamConsumer -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ConsumerARN" 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
consumerARN,
(Key
"ConsumerName" 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
consumerName,
(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
]
)
instance Data.ToPath DescribeStreamConsumer where
toPath :: DescribeStreamConsumer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeStreamConsumer where
toQuery :: DescribeStreamConsumer -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeStreamConsumerResponse = DescribeStreamConsumerResponse'
{
DescribeStreamConsumerResponse -> Int
httpStatus :: Prelude.Int,
DescribeStreamConsumerResponse -> ConsumerDescription
consumerDescription :: ConsumerDescription
}
deriving (DescribeStreamConsumerResponse
-> DescribeStreamConsumerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStreamConsumerResponse
-> DescribeStreamConsumerResponse -> Bool
$c/= :: DescribeStreamConsumerResponse
-> DescribeStreamConsumerResponse -> Bool
== :: DescribeStreamConsumerResponse
-> DescribeStreamConsumerResponse -> Bool
$c== :: DescribeStreamConsumerResponse
-> DescribeStreamConsumerResponse -> Bool
Prelude.Eq, ReadPrec [DescribeStreamConsumerResponse]
ReadPrec DescribeStreamConsumerResponse
Int -> ReadS DescribeStreamConsumerResponse
ReadS [DescribeStreamConsumerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStreamConsumerResponse]
$creadListPrec :: ReadPrec [DescribeStreamConsumerResponse]
readPrec :: ReadPrec DescribeStreamConsumerResponse
$creadPrec :: ReadPrec DescribeStreamConsumerResponse
readList :: ReadS [DescribeStreamConsumerResponse]
$creadList :: ReadS [DescribeStreamConsumerResponse]
readsPrec :: Int -> ReadS DescribeStreamConsumerResponse
$creadsPrec :: Int -> ReadS DescribeStreamConsumerResponse
Prelude.Read, Int -> DescribeStreamConsumerResponse -> ShowS
[DescribeStreamConsumerResponse] -> ShowS
DescribeStreamConsumerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStreamConsumerResponse] -> ShowS
$cshowList :: [DescribeStreamConsumerResponse] -> ShowS
show :: DescribeStreamConsumerResponse -> String
$cshow :: DescribeStreamConsumerResponse -> String
showsPrec :: Int -> DescribeStreamConsumerResponse -> ShowS
$cshowsPrec :: Int -> DescribeStreamConsumerResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeStreamConsumerResponse x
-> DescribeStreamConsumerResponse
forall x.
DescribeStreamConsumerResponse
-> Rep DescribeStreamConsumerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeStreamConsumerResponse x
-> DescribeStreamConsumerResponse
$cfrom :: forall x.
DescribeStreamConsumerResponse
-> Rep DescribeStreamConsumerResponse x
Prelude.Generic)
newDescribeStreamConsumerResponse ::
Prelude.Int ->
ConsumerDescription ->
DescribeStreamConsumerResponse
newDescribeStreamConsumerResponse :: Int -> ConsumerDescription -> DescribeStreamConsumerResponse
newDescribeStreamConsumerResponse
Int
pHttpStatus_
ConsumerDescription
pConsumerDescription_ =
DescribeStreamConsumerResponse'
{ $sel:httpStatus:DescribeStreamConsumerResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:consumerDescription:DescribeStreamConsumerResponse' :: ConsumerDescription
consumerDescription = ConsumerDescription
pConsumerDescription_
}
describeStreamConsumerResponse_httpStatus :: Lens.Lens' DescribeStreamConsumerResponse Prelude.Int
describeStreamConsumerResponse_httpStatus :: Lens' DescribeStreamConsumerResponse Int
describeStreamConsumerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamConsumerResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeStreamConsumerResponse' :: DescribeStreamConsumerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeStreamConsumerResponse
s@DescribeStreamConsumerResponse' {} Int
a -> DescribeStreamConsumerResponse
s {$sel:httpStatus:DescribeStreamConsumerResponse' :: Int
httpStatus = Int
a} :: DescribeStreamConsumerResponse)
describeStreamConsumerResponse_consumerDescription :: Lens.Lens' DescribeStreamConsumerResponse ConsumerDescription
describeStreamConsumerResponse_consumerDescription :: Lens' DescribeStreamConsumerResponse ConsumerDescription
describeStreamConsumerResponse_consumerDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStreamConsumerResponse' {ConsumerDescription
consumerDescription :: ConsumerDescription
$sel:consumerDescription:DescribeStreamConsumerResponse' :: DescribeStreamConsumerResponse -> ConsumerDescription
consumerDescription} -> ConsumerDescription
consumerDescription) (\s :: DescribeStreamConsumerResponse
s@DescribeStreamConsumerResponse' {} ConsumerDescription
a -> DescribeStreamConsumerResponse
s {$sel:consumerDescription:DescribeStreamConsumerResponse' :: ConsumerDescription
consumerDescription = ConsumerDescription
a} :: DescribeStreamConsumerResponse)
instance
Prelude.NFData
DescribeStreamConsumerResponse
where
rnf :: DescribeStreamConsumerResponse -> ()
rnf DescribeStreamConsumerResponse' {Int
ConsumerDescription
consumerDescription :: ConsumerDescription
httpStatus :: Int
$sel:consumerDescription:DescribeStreamConsumerResponse' :: DescribeStreamConsumerResponse -> ConsumerDescription
$sel:httpStatus:DescribeStreamConsumerResponse' :: DescribeStreamConsumerResponse -> 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 ConsumerDescription
consumerDescription