{-# 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.DynamoDB.EnableKinesisStreamingDestination
(
EnableKinesisStreamingDestination (..),
newEnableKinesisStreamingDestination,
enableKinesisStreamingDestination_tableName,
enableKinesisStreamingDestination_streamArn,
KinesisStreamingDestinationOutput (..),
newKinesisStreamingDestinationOutput,
kinesisStreamingDestinationOutput_destinationStatus,
kinesisStreamingDestinationOutput_streamArn,
kinesisStreamingDestinationOutput_tableName,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DynamoDB.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data EnableKinesisStreamingDestination = EnableKinesisStreamingDestination'
{
EnableKinesisStreamingDestination -> Text
tableName :: Prelude.Text,
EnableKinesisStreamingDestination -> Text
streamArn :: Prelude.Text
}
deriving (EnableKinesisStreamingDestination
-> EnableKinesisStreamingDestination -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EnableKinesisStreamingDestination
-> EnableKinesisStreamingDestination -> Bool
$c/= :: EnableKinesisStreamingDestination
-> EnableKinesisStreamingDestination -> Bool
== :: EnableKinesisStreamingDestination
-> EnableKinesisStreamingDestination -> Bool
$c== :: EnableKinesisStreamingDestination
-> EnableKinesisStreamingDestination -> Bool
Prelude.Eq, ReadPrec [EnableKinesisStreamingDestination]
ReadPrec EnableKinesisStreamingDestination
Int -> ReadS EnableKinesisStreamingDestination
ReadS [EnableKinesisStreamingDestination]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EnableKinesisStreamingDestination]
$creadListPrec :: ReadPrec [EnableKinesisStreamingDestination]
readPrec :: ReadPrec EnableKinesisStreamingDestination
$creadPrec :: ReadPrec EnableKinesisStreamingDestination
readList :: ReadS [EnableKinesisStreamingDestination]
$creadList :: ReadS [EnableKinesisStreamingDestination]
readsPrec :: Int -> ReadS EnableKinesisStreamingDestination
$creadsPrec :: Int -> ReadS EnableKinesisStreamingDestination
Prelude.Read, Int -> EnableKinesisStreamingDestination -> ShowS
[EnableKinesisStreamingDestination] -> ShowS
EnableKinesisStreamingDestination -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EnableKinesisStreamingDestination] -> ShowS
$cshowList :: [EnableKinesisStreamingDestination] -> ShowS
show :: EnableKinesisStreamingDestination -> String
$cshow :: EnableKinesisStreamingDestination -> String
showsPrec :: Int -> EnableKinesisStreamingDestination -> ShowS
$cshowsPrec :: Int -> EnableKinesisStreamingDestination -> ShowS
Prelude.Show, forall x.
Rep EnableKinesisStreamingDestination x
-> EnableKinesisStreamingDestination
forall x.
EnableKinesisStreamingDestination
-> Rep EnableKinesisStreamingDestination x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EnableKinesisStreamingDestination x
-> EnableKinesisStreamingDestination
$cfrom :: forall x.
EnableKinesisStreamingDestination
-> Rep EnableKinesisStreamingDestination x
Prelude.Generic)
newEnableKinesisStreamingDestination ::
Prelude.Text ->
Prelude.Text ->
EnableKinesisStreamingDestination
newEnableKinesisStreamingDestination :: Text -> Text -> EnableKinesisStreamingDestination
newEnableKinesisStreamingDestination
Text
pTableName_
Text
pStreamArn_ =
EnableKinesisStreamingDestination'
{ $sel:tableName:EnableKinesisStreamingDestination' :: Text
tableName =
Text
pTableName_,
$sel:streamArn:EnableKinesisStreamingDestination' :: Text
streamArn = Text
pStreamArn_
}
enableKinesisStreamingDestination_tableName :: Lens.Lens' EnableKinesisStreamingDestination Prelude.Text
enableKinesisStreamingDestination_tableName :: Lens' EnableKinesisStreamingDestination Text
enableKinesisStreamingDestination_tableName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnableKinesisStreamingDestination' {Text
tableName :: Text
$sel:tableName:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
tableName} -> Text
tableName) (\s :: EnableKinesisStreamingDestination
s@EnableKinesisStreamingDestination' {} Text
a -> EnableKinesisStreamingDestination
s {$sel:tableName:EnableKinesisStreamingDestination' :: Text
tableName = Text
a} :: EnableKinesisStreamingDestination)
enableKinesisStreamingDestination_streamArn :: Lens.Lens' EnableKinesisStreamingDestination Prelude.Text
enableKinesisStreamingDestination_streamArn :: Lens' EnableKinesisStreamingDestination Text
enableKinesisStreamingDestination_streamArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnableKinesisStreamingDestination' {Text
streamArn :: Text
$sel:streamArn:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
streamArn} -> Text
streamArn) (\s :: EnableKinesisStreamingDestination
s@EnableKinesisStreamingDestination' {} Text
a -> EnableKinesisStreamingDestination
s {$sel:streamArn:EnableKinesisStreamingDestination' :: Text
streamArn = Text
a} :: EnableKinesisStreamingDestination)
instance
Core.AWSRequest
EnableKinesisStreamingDestination
where
type
AWSResponse EnableKinesisStreamingDestination =
KinesisStreamingDestinationOutput
request :: (Service -> Service)
-> EnableKinesisStreamingDestination
-> Request EnableKinesisStreamingDestination
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 EnableKinesisStreamingDestination
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse EnableKinesisStreamingDestination)))
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 -> forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
instance
Prelude.Hashable
EnableKinesisStreamingDestination
where
hashWithSalt :: Int -> EnableKinesisStreamingDestination -> Int
hashWithSalt
Int
_salt
EnableKinesisStreamingDestination' {Text
streamArn :: Text
tableName :: Text
$sel:streamArn:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
$sel:tableName:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
tableName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
streamArn
instance
Prelude.NFData
EnableKinesisStreamingDestination
where
rnf :: EnableKinesisStreamingDestination -> ()
rnf EnableKinesisStreamingDestination' {Text
streamArn :: Text
tableName :: Text
$sel:streamArn:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
$sel:tableName:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
tableName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
streamArn
instance
Data.ToHeaders
EnableKinesisStreamingDestination
where
toHeaders :: EnableKinesisStreamingDestination -> 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
"DynamoDB_20120810.EnableKinesisStreamingDestination" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
EnableKinesisStreamingDestination
where
toJSON :: EnableKinesisStreamingDestination -> Value
toJSON EnableKinesisStreamingDestination' {Text
streamArn :: Text
tableName :: Text
$sel:streamArn:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
$sel:tableName:EnableKinesisStreamingDestination' :: EnableKinesisStreamingDestination -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"TableName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
tableName),
forall a. a -> Maybe a
Prelude.Just (Key
"StreamArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
streamArn)
]
)
instance
Data.ToPath
EnableKinesisStreamingDestination
where
toPath :: EnableKinesisStreamingDestination -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
EnableKinesisStreamingDestination
where
toQuery :: EnableKinesisStreamingDestination -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty