{-# 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.PutItem
(
PutItem (..),
newPutItem,
putItem_expressionAttributeNames,
putItem_returnValues,
putItem_expressionAttributeValues,
putItem_returnConsumedCapacity,
putItem_returnItemCollectionMetrics,
putItem_conditionExpression,
putItem_conditionalOperator,
putItem_expected,
putItem_tableName,
putItem_item,
PutItemResponse (..),
newPutItemResponse,
putItemResponse_itemCollectionMetrics,
putItemResponse_consumedCapacity,
putItemResponse_attributes,
putItemResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import Amazonka.DynamoDB.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutItem = PutItem'
{
PutItem -> Maybe (HashMap Text Text)
expressionAttributeNames :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
PutItem -> Maybe ReturnValue
returnValues :: Prelude.Maybe ReturnValue,
PutItem -> Maybe (HashMap Text AttributeValue)
expressionAttributeValues :: Prelude.Maybe (Prelude.HashMap Prelude.Text AttributeValue),
PutItem -> Maybe ReturnConsumedCapacity
returnConsumedCapacity :: Prelude.Maybe ReturnConsumedCapacity,
PutItem -> Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics :: Prelude.Maybe ReturnItemCollectionMetrics,
PutItem -> Maybe Text
conditionExpression :: Prelude.Maybe Prelude.Text,
PutItem -> Maybe ConditionalOperator
conditionalOperator :: Prelude.Maybe ConditionalOperator,
PutItem -> Maybe (HashMap Text ExpectedAttributeValue)
expected :: Prelude.Maybe (Prelude.HashMap Prelude.Text ExpectedAttributeValue),
PutItem -> Text
tableName :: Prelude.Text,
PutItem -> HashMap Text AttributeValue
item :: Prelude.HashMap Prelude.Text AttributeValue
}
deriving (PutItem -> PutItem -> Bool
(PutItem -> PutItem -> Bool)
-> (PutItem -> PutItem -> Bool) -> Eq PutItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutItem -> PutItem -> Bool
$c/= :: PutItem -> PutItem -> Bool
== :: PutItem -> PutItem -> Bool
$c== :: PutItem -> PutItem -> Bool
Prelude.Eq, ReadPrec [PutItem]
ReadPrec PutItem
Int -> ReadS PutItem
ReadS [PutItem]
(Int -> ReadS PutItem)
-> ReadS [PutItem]
-> ReadPrec PutItem
-> ReadPrec [PutItem]
-> Read PutItem
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutItem]
$creadListPrec :: ReadPrec [PutItem]
readPrec :: ReadPrec PutItem
$creadPrec :: ReadPrec PutItem
readList :: ReadS [PutItem]
$creadList :: ReadS [PutItem]
readsPrec :: Int -> ReadS PutItem
$creadsPrec :: Int -> ReadS PutItem
Prelude.Read, Int -> PutItem -> ShowS
[PutItem] -> ShowS
PutItem -> String
(Int -> PutItem -> ShowS)
-> (PutItem -> String) -> ([PutItem] -> ShowS) -> Show PutItem
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutItem] -> ShowS
$cshowList :: [PutItem] -> ShowS
show :: PutItem -> String
$cshow :: PutItem -> String
showsPrec :: Int -> PutItem -> ShowS
$cshowsPrec :: Int -> PutItem -> ShowS
Prelude.Show, (forall x. PutItem -> Rep PutItem x)
-> (forall x. Rep PutItem x -> PutItem) -> Generic PutItem
forall x. Rep PutItem x -> PutItem
forall x. PutItem -> Rep PutItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutItem x -> PutItem
$cfrom :: forall x. PutItem -> Rep PutItem x
Prelude.Generic)
newPutItem ::
Prelude.Text ->
PutItem
newPutItem :: Text -> PutItem
newPutItem Text
pTableName_ =
PutItem' :: Maybe (HashMap Text Text)
-> Maybe ReturnValue
-> Maybe (HashMap Text AttributeValue)
-> Maybe ReturnConsumedCapacity
-> Maybe ReturnItemCollectionMetrics
-> Maybe Text
-> Maybe ConditionalOperator
-> Maybe (HashMap Text ExpectedAttributeValue)
-> Text
-> HashMap Text AttributeValue
-> PutItem
PutItem'
{ $sel:expressionAttributeNames:PutItem' :: Maybe (HashMap Text Text)
expressionAttributeNames =
Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
$sel:returnValues:PutItem' :: Maybe ReturnValue
returnValues = Maybe ReturnValue
forall a. Maybe a
Prelude.Nothing,
$sel:expressionAttributeValues:PutItem' :: Maybe (HashMap Text AttributeValue)
expressionAttributeValues = Maybe (HashMap Text AttributeValue)
forall a. Maybe a
Prelude.Nothing,
$sel:returnConsumedCapacity:PutItem' :: Maybe ReturnConsumedCapacity
returnConsumedCapacity = Maybe ReturnConsumedCapacity
forall a. Maybe a
Prelude.Nothing,
$sel:returnItemCollectionMetrics:PutItem' :: Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics = Maybe ReturnItemCollectionMetrics
forall a. Maybe a
Prelude.Nothing,
$sel:conditionExpression:PutItem' :: Maybe Text
conditionExpression = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:conditionalOperator:PutItem' :: Maybe ConditionalOperator
conditionalOperator = Maybe ConditionalOperator
forall a. Maybe a
Prelude.Nothing,
$sel:expected:PutItem' :: Maybe (HashMap Text ExpectedAttributeValue)
expected = Maybe (HashMap Text ExpectedAttributeValue)
forall a. Maybe a
Prelude.Nothing,
$sel:tableName:PutItem' :: Text
tableName = Text
pTableName_,
$sel:item:PutItem' :: HashMap Text AttributeValue
item = HashMap Text AttributeValue
forall a. Monoid a => a
Prelude.mempty
}
putItem_expressionAttributeNames :: Lens.Lens' PutItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
putItem_expressionAttributeNames :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> PutItem -> f PutItem
putItem_expressionAttributeNames = (PutItem -> Maybe (HashMap Text Text))
-> (PutItem -> Maybe (HashMap Text Text) -> PutItem)
-> Lens
PutItem
PutItem
(Maybe (HashMap Text Text))
(Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe (HashMap Text Text)
expressionAttributeNames :: Maybe (HashMap Text Text)
$sel:expressionAttributeNames:PutItem' :: PutItem -> Maybe (HashMap Text Text)
expressionAttributeNames} -> Maybe (HashMap Text Text)
expressionAttributeNames) (\s :: PutItem
s@PutItem' {} Maybe (HashMap Text Text)
a -> PutItem
s {$sel:expressionAttributeNames:PutItem' :: Maybe (HashMap Text Text)
expressionAttributeNames = Maybe (HashMap Text Text)
a} :: PutItem) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> PutItem -> f PutItem)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> PutItem
-> f PutItem
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
(HashMap Text Text)
(HashMap Text Text)
(HashMap Text Text)
(HashMap Text Text)
-> Iso
(Maybe (HashMap Text Text))
(Maybe (HashMap Text Text))
(Maybe (HashMap Text Text))
(Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
(HashMap Text Text)
(HashMap Text Text)
(HashMap Text Text)
(HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putItem_returnValues :: Lens.Lens' PutItem (Prelude.Maybe ReturnValue)
putItem_returnValues :: (Maybe ReturnValue -> f (Maybe ReturnValue))
-> PutItem -> f PutItem
putItem_returnValues = (PutItem -> Maybe ReturnValue)
-> (PutItem -> Maybe ReturnValue -> PutItem)
-> Lens PutItem PutItem (Maybe ReturnValue) (Maybe ReturnValue)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe ReturnValue
returnValues :: Maybe ReturnValue
$sel:returnValues:PutItem' :: PutItem -> Maybe ReturnValue
returnValues} -> Maybe ReturnValue
returnValues) (\s :: PutItem
s@PutItem' {} Maybe ReturnValue
a -> PutItem
s {$sel:returnValues:PutItem' :: Maybe ReturnValue
returnValues = Maybe ReturnValue
a} :: PutItem)
putItem_expressionAttributeValues :: Lens.Lens' PutItem (Prelude.Maybe (Prelude.HashMap Prelude.Text AttributeValue))
putItem_expressionAttributeValues :: (Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItem -> f PutItem
putItem_expressionAttributeValues = (PutItem -> Maybe (HashMap Text AttributeValue))
-> (PutItem -> Maybe (HashMap Text AttributeValue) -> PutItem)
-> Lens
PutItem
PutItem
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe (HashMap Text AttributeValue)
expressionAttributeValues :: Maybe (HashMap Text AttributeValue)
$sel:expressionAttributeValues:PutItem' :: PutItem -> Maybe (HashMap Text AttributeValue)
expressionAttributeValues} -> Maybe (HashMap Text AttributeValue)
expressionAttributeValues) (\s :: PutItem
s@PutItem' {} Maybe (HashMap Text AttributeValue)
a -> PutItem
s {$sel:expressionAttributeValues:PutItem' :: Maybe (HashMap Text AttributeValue)
expressionAttributeValues = Maybe (HashMap Text AttributeValue)
a} :: PutItem) ((Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItem -> f PutItem)
-> ((Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> (Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItem
-> f PutItem
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
-> Iso
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putItem_returnConsumedCapacity :: Lens.Lens' PutItem (Prelude.Maybe ReturnConsumedCapacity)
putItem_returnConsumedCapacity :: (Maybe ReturnConsumedCapacity -> f (Maybe ReturnConsumedCapacity))
-> PutItem -> f PutItem
putItem_returnConsumedCapacity = (PutItem -> Maybe ReturnConsumedCapacity)
-> (PutItem -> Maybe ReturnConsumedCapacity -> PutItem)
-> Lens
PutItem
PutItem
(Maybe ReturnConsumedCapacity)
(Maybe ReturnConsumedCapacity)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe ReturnConsumedCapacity
returnConsumedCapacity :: Maybe ReturnConsumedCapacity
$sel:returnConsumedCapacity:PutItem' :: PutItem -> Maybe ReturnConsumedCapacity
returnConsumedCapacity} -> Maybe ReturnConsumedCapacity
returnConsumedCapacity) (\s :: PutItem
s@PutItem' {} Maybe ReturnConsumedCapacity
a -> PutItem
s {$sel:returnConsumedCapacity:PutItem' :: Maybe ReturnConsumedCapacity
returnConsumedCapacity = Maybe ReturnConsumedCapacity
a} :: PutItem)
putItem_returnItemCollectionMetrics :: Lens.Lens' PutItem (Prelude.Maybe ReturnItemCollectionMetrics)
putItem_returnItemCollectionMetrics :: (Maybe ReturnItemCollectionMetrics
-> f (Maybe ReturnItemCollectionMetrics))
-> PutItem -> f PutItem
putItem_returnItemCollectionMetrics = (PutItem -> Maybe ReturnItemCollectionMetrics)
-> (PutItem -> Maybe ReturnItemCollectionMetrics -> PutItem)
-> Lens
PutItem
PutItem
(Maybe ReturnItemCollectionMetrics)
(Maybe ReturnItemCollectionMetrics)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics :: Maybe ReturnItemCollectionMetrics
$sel:returnItemCollectionMetrics:PutItem' :: PutItem -> Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics} -> Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics) (\s :: PutItem
s@PutItem' {} Maybe ReturnItemCollectionMetrics
a -> PutItem
s {$sel:returnItemCollectionMetrics:PutItem' :: Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics = Maybe ReturnItemCollectionMetrics
a} :: PutItem)
putItem_conditionExpression :: Lens.Lens' PutItem (Prelude.Maybe Prelude.Text)
putItem_conditionExpression :: (Maybe Text -> f (Maybe Text)) -> PutItem -> f PutItem
putItem_conditionExpression = (PutItem -> Maybe Text)
-> (PutItem -> Maybe Text -> PutItem)
-> Lens PutItem PutItem (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe Text
conditionExpression :: Maybe Text
$sel:conditionExpression:PutItem' :: PutItem -> Maybe Text
conditionExpression} -> Maybe Text
conditionExpression) (\s :: PutItem
s@PutItem' {} Maybe Text
a -> PutItem
s {$sel:conditionExpression:PutItem' :: Maybe Text
conditionExpression = Maybe Text
a} :: PutItem)
putItem_conditionalOperator :: Lens.Lens' PutItem (Prelude.Maybe ConditionalOperator)
putItem_conditionalOperator :: (Maybe ConditionalOperator -> f (Maybe ConditionalOperator))
-> PutItem -> f PutItem
putItem_conditionalOperator = (PutItem -> Maybe ConditionalOperator)
-> (PutItem -> Maybe ConditionalOperator -> PutItem)
-> Lens
PutItem
PutItem
(Maybe ConditionalOperator)
(Maybe ConditionalOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe ConditionalOperator
conditionalOperator :: Maybe ConditionalOperator
$sel:conditionalOperator:PutItem' :: PutItem -> Maybe ConditionalOperator
conditionalOperator} -> Maybe ConditionalOperator
conditionalOperator) (\s :: PutItem
s@PutItem' {} Maybe ConditionalOperator
a -> PutItem
s {$sel:conditionalOperator:PutItem' :: Maybe ConditionalOperator
conditionalOperator = Maybe ConditionalOperator
a} :: PutItem)
putItem_expected :: Lens.Lens' PutItem (Prelude.Maybe (Prelude.HashMap Prelude.Text ExpectedAttributeValue))
putItem_expected :: (Maybe (HashMap Text ExpectedAttributeValue)
-> f (Maybe (HashMap Text ExpectedAttributeValue)))
-> PutItem -> f PutItem
putItem_expected = (PutItem -> Maybe (HashMap Text ExpectedAttributeValue))
-> (PutItem
-> Maybe (HashMap Text ExpectedAttributeValue) -> PutItem)
-> Lens
PutItem
PutItem
(Maybe (HashMap Text ExpectedAttributeValue))
(Maybe (HashMap Text ExpectedAttributeValue))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Maybe (HashMap Text ExpectedAttributeValue)
expected :: Maybe (HashMap Text ExpectedAttributeValue)
$sel:expected:PutItem' :: PutItem -> Maybe (HashMap Text ExpectedAttributeValue)
expected} -> Maybe (HashMap Text ExpectedAttributeValue)
expected) (\s :: PutItem
s@PutItem' {} Maybe (HashMap Text ExpectedAttributeValue)
a -> PutItem
s {$sel:expected:PutItem' :: Maybe (HashMap Text ExpectedAttributeValue)
expected = Maybe (HashMap Text ExpectedAttributeValue)
a} :: PutItem) ((Maybe (HashMap Text ExpectedAttributeValue)
-> f (Maybe (HashMap Text ExpectedAttributeValue)))
-> PutItem -> f PutItem)
-> ((Maybe (HashMap Text ExpectedAttributeValue)
-> f (Maybe (HashMap Text ExpectedAttributeValue)))
-> Maybe (HashMap Text ExpectedAttributeValue)
-> f (Maybe (HashMap Text ExpectedAttributeValue)))
-> (Maybe (HashMap Text ExpectedAttributeValue)
-> f (Maybe (HashMap Text ExpectedAttributeValue)))
-> PutItem
-> f PutItem
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
-> Iso
(Maybe (HashMap Text ExpectedAttributeValue))
(Maybe (HashMap Text ExpectedAttributeValue))
(Maybe (HashMap Text ExpectedAttributeValue))
(Maybe (HashMap Text ExpectedAttributeValue))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
(HashMap Text ExpectedAttributeValue)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putItem_tableName :: Lens.Lens' PutItem Prelude.Text
putItem_tableName :: (Text -> f Text) -> PutItem -> f PutItem
putItem_tableName = (PutItem -> Text)
-> (PutItem -> Text -> PutItem) -> Lens PutItem PutItem Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {Text
tableName :: Text
$sel:tableName:PutItem' :: PutItem -> Text
tableName} -> Text
tableName) (\s :: PutItem
s@PutItem' {} Text
a -> PutItem
s {$sel:tableName:PutItem' :: Text
tableName = Text
a} :: PutItem)
putItem_item :: Lens.Lens' PutItem (Prelude.HashMap Prelude.Text AttributeValue)
putItem_item :: (HashMap Text AttributeValue -> f (HashMap Text AttributeValue))
-> PutItem -> f PutItem
putItem_item = (PutItem -> HashMap Text AttributeValue)
-> (PutItem -> HashMap Text AttributeValue -> PutItem)
-> Lens
PutItem
PutItem
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItem' {HashMap Text AttributeValue
item :: HashMap Text AttributeValue
$sel:item:PutItem' :: PutItem -> HashMap Text AttributeValue
item} -> HashMap Text AttributeValue
item) (\s :: PutItem
s@PutItem' {} HashMap Text AttributeValue
a -> PutItem
s {$sel:item:PutItem' :: HashMap Text AttributeValue
item = HashMap Text AttributeValue
a} :: PutItem) ((HashMap Text AttributeValue -> f (HashMap Text AttributeValue))
-> PutItem -> f PutItem)
-> ((HashMap Text AttributeValue
-> f (HashMap Text AttributeValue))
-> HashMap Text AttributeValue -> f (HashMap Text AttributeValue))
-> (HashMap Text AttributeValue -> f (HashMap Text AttributeValue))
-> PutItem
-> f PutItem
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (HashMap Text AttributeValue -> f (HashMap Text AttributeValue))
-> HashMap Text AttributeValue -> f (HashMap Text AttributeValue)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest PutItem where
type AWSResponse PutItem = PutItemResponse
request :: PutItem -> Request PutItem
request = Service -> PutItem -> Request PutItem
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
response :: Logger
-> Service
-> Proxy PutItem
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutItem)))
response =
(Int
-> ResponseHeaders
-> Object
-> Either String (AWSResponse PutItem))
-> Logger
-> Service
-> Proxy PutItem
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutItem)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ItemCollectionMetrics
-> Maybe ConsumedCapacity
-> Maybe (HashMap Text AttributeValue)
-> Int
-> PutItemResponse
PutItemResponse'
(Maybe ItemCollectionMetrics
-> Maybe ConsumedCapacity
-> Maybe (HashMap Text AttributeValue)
-> Int
-> PutItemResponse)
-> Either String (Maybe ItemCollectionMetrics)
-> Either
String
(Maybe ConsumedCapacity
-> Maybe (HashMap Text AttributeValue) -> Int -> PutItemResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe ItemCollectionMetrics)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ItemCollectionMetrics")
Either
String
(Maybe ConsumedCapacity
-> Maybe (HashMap Text AttributeValue) -> Int -> PutItemResponse)
-> Either String (Maybe ConsumedCapacity)
-> Either
String
(Maybe (HashMap Text AttributeValue) -> Int -> PutItemResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ConsumedCapacity)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ConsumedCapacity")
Either
String
(Maybe (HashMap Text AttributeValue) -> Int -> PutItemResponse)
-> Either String (Maybe (HashMap Text AttributeValue))
-> Either String (Int -> PutItemResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe (Maybe (HashMap Text AttributeValue)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Attributes" Either String (Maybe (Maybe (HashMap Text AttributeValue)))
-> Maybe (HashMap Text AttributeValue)
-> Either String (Maybe (HashMap Text AttributeValue))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text AttributeValue)
forall a. Monoid a => a
Prelude.mempty)
Either String (Int -> PutItemResponse)
-> Either String Int -> Either String PutItemResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable PutItem
instance Prelude.NFData PutItem
instance Core.ToHeaders PutItem where
toHeaders :: PutItem -> ResponseHeaders
toHeaders =
ResponseHeaders -> PutItem -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# (ByteString
"DynamoDB_20120810.PutItem" :: Prelude.ByteString),
HeaderName
"Content-Type"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Core.ToJSON PutItem where
toJSON :: PutItem -> Value
toJSON PutItem' {Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text AttributeValue)
Maybe (HashMap Text ExpectedAttributeValue)
Maybe ConditionalOperator
Maybe ReturnConsumedCapacity
Maybe ReturnItemCollectionMetrics
Maybe ReturnValue
Text
HashMap Text AttributeValue
item :: HashMap Text AttributeValue
tableName :: Text
expected :: Maybe (HashMap Text ExpectedAttributeValue)
conditionalOperator :: Maybe ConditionalOperator
conditionExpression :: Maybe Text
returnItemCollectionMetrics :: Maybe ReturnItemCollectionMetrics
returnConsumedCapacity :: Maybe ReturnConsumedCapacity
expressionAttributeValues :: Maybe (HashMap Text AttributeValue)
returnValues :: Maybe ReturnValue
expressionAttributeNames :: Maybe (HashMap Text Text)
$sel:item:PutItem' :: PutItem -> HashMap Text AttributeValue
$sel:tableName:PutItem' :: PutItem -> Text
$sel:expected:PutItem' :: PutItem -> Maybe (HashMap Text ExpectedAttributeValue)
$sel:conditionalOperator:PutItem' :: PutItem -> Maybe ConditionalOperator
$sel:conditionExpression:PutItem' :: PutItem -> Maybe Text
$sel:returnItemCollectionMetrics:PutItem' :: PutItem -> Maybe ReturnItemCollectionMetrics
$sel:returnConsumedCapacity:PutItem' :: PutItem -> Maybe ReturnConsumedCapacity
$sel:expressionAttributeValues:PutItem' :: PutItem -> Maybe (HashMap Text AttributeValue)
$sel:returnValues:PutItem' :: PutItem -> Maybe ReturnValue
$sel:expressionAttributeNames:PutItem' :: PutItem -> Maybe (HashMap Text Text)
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"ExpressionAttributeNames" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
expressionAttributeNames,
(Text
"ReturnValues" Text -> ReturnValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (ReturnValue -> Pair) -> Maybe ReturnValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ReturnValue
returnValues,
(Text
"ExpressionAttributeValues" Text -> HashMap Text AttributeValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(HashMap Text AttributeValue -> Pair)
-> Maybe (HashMap Text AttributeValue) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text AttributeValue)
expressionAttributeValues,
(Text
"ReturnConsumedCapacity" Text -> ReturnConsumedCapacity -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ReturnConsumedCapacity -> Pair)
-> Maybe ReturnConsumedCapacity -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ReturnConsumedCapacity
returnConsumedCapacity,
(Text
"ReturnItemCollectionMetrics" Text -> ReturnItemCollectionMetrics -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ReturnItemCollectionMetrics -> Pair)
-> Maybe ReturnItemCollectionMetrics -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ReturnItemCollectionMetrics
returnItemCollectionMetrics,
(Text
"ConditionExpression" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
conditionExpression,
(Text
"ConditionalOperator" Text -> ConditionalOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ConditionalOperator -> Pair)
-> Maybe ConditionalOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ConditionalOperator
conditionalOperator,
(Text
"Expected" Text -> HashMap Text ExpectedAttributeValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text ExpectedAttributeValue -> Pair)
-> Maybe (HashMap Text ExpectedAttributeValue) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text ExpectedAttributeValue)
expected,
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"TableName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
tableName),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"Item" Text -> HashMap Text AttributeValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= HashMap Text AttributeValue
item)
]
)
instance Core.ToPath PutItem where
toPath :: PutItem -> ByteString
toPath = ByteString -> PutItem -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Core.ToQuery PutItem where
toQuery :: PutItem -> QueryString
toQuery = QueryString -> PutItem -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty
data PutItemResponse = PutItemResponse'
{
PutItemResponse -> Maybe ItemCollectionMetrics
itemCollectionMetrics :: Prelude.Maybe ItemCollectionMetrics,
PutItemResponse -> Maybe ConsumedCapacity
consumedCapacity :: Prelude.Maybe ConsumedCapacity,
PutItemResponse -> Maybe (HashMap Text AttributeValue)
attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text AttributeValue),
PutItemResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutItemResponse -> PutItemResponse -> Bool
(PutItemResponse -> PutItemResponse -> Bool)
-> (PutItemResponse -> PutItemResponse -> Bool)
-> Eq PutItemResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutItemResponse -> PutItemResponse -> Bool
$c/= :: PutItemResponse -> PutItemResponse -> Bool
== :: PutItemResponse -> PutItemResponse -> Bool
$c== :: PutItemResponse -> PutItemResponse -> Bool
Prelude.Eq, ReadPrec [PutItemResponse]
ReadPrec PutItemResponse
Int -> ReadS PutItemResponse
ReadS [PutItemResponse]
(Int -> ReadS PutItemResponse)
-> ReadS [PutItemResponse]
-> ReadPrec PutItemResponse
-> ReadPrec [PutItemResponse]
-> Read PutItemResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutItemResponse]
$creadListPrec :: ReadPrec [PutItemResponse]
readPrec :: ReadPrec PutItemResponse
$creadPrec :: ReadPrec PutItemResponse
readList :: ReadS [PutItemResponse]
$creadList :: ReadS [PutItemResponse]
readsPrec :: Int -> ReadS PutItemResponse
$creadsPrec :: Int -> ReadS PutItemResponse
Prelude.Read, Int -> PutItemResponse -> ShowS
[PutItemResponse] -> ShowS
PutItemResponse -> String
(Int -> PutItemResponse -> ShowS)
-> (PutItemResponse -> String)
-> ([PutItemResponse] -> ShowS)
-> Show PutItemResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutItemResponse] -> ShowS
$cshowList :: [PutItemResponse] -> ShowS
show :: PutItemResponse -> String
$cshow :: PutItemResponse -> String
showsPrec :: Int -> PutItemResponse -> ShowS
$cshowsPrec :: Int -> PutItemResponse -> ShowS
Prelude.Show, (forall x. PutItemResponse -> Rep PutItemResponse x)
-> (forall x. Rep PutItemResponse x -> PutItemResponse)
-> Generic PutItemResponse
forall x. Rep PutItemResponse x -> PutItemResponse
forall x. PutItemResponse -> Rep PutItemResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutItemResponse x -> PutItemResponse
$cfrom :: forall x. PutItemResponse -> Rep PutItemResponse x
Prelude.Generic)
newPutItemResponse ::
Prelude.Int ->
PutItemResponse
newPutItemResponse :: Int -> PutItemResponse
newPutItemResponse Int
pHttpStatus_ =
PutItemResponse' :: Maybe ItemCollectionMetrics
-> Maybe ConsumedCapacity
-> Maybe (HashMap Text AttributeValue)
-> Int
-> PutItemResponse
PutItemResponse'
{ $sel:itemCollectionMetrics:PutItemResponse' :: Maybe ItemCollectionMetrics
itemCollectionMetrics =
Maybe ItemCollectionMetrics
forall a. Maybe a
Prelude.Nothing,
$sel:consumedCapacity:PutItemResponse' :: Maybe ConsumedCapacity
consumedCapacity = Maybe ConsumedCapacity
forall a. Maybe a
Prelude.Nothing,
$sel:attributes:PutItemResponse' :: Maybe (HashMap Text AttributeValue)
attributes = Maybe (HashMap Text AttributeValue)
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:PutItemResponse' :: Int
httpStatus = Int
pHttpStatus_
}
putItemResponse_itemCollectionMetrics :: Lens.Lens' PutItemResponse (Prelude.Maybe ItemCollectionMetrics)
putItemResponse_itemCollectionMetrics :: (Maybe ItemCollectionMetrics -> f (Maybe ItemCollectionMetrics))
-> PutItemResponse -> f PutItemResponse
putItemResponse_itemCollectionMetrics = (PutItemResponse -> Maybe ItemCollectionMetrics)
-> (PutItemResponse
-> Maybe ItemCollectionMetrics -> PutItemResponse)
-> Lens
PutItemResponse
PutItemResponse
(Maybe ItemCollectionMetrics)
(Maybe ItemCollectionMetrics)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItemResponse' {Maybe ItemCollectionMetrics
itemCollectionMetrics :: Maybe ItemCollectionMetrics
$sel:itemCollectionMetrics:PutItemResponse' :: PutItemResponse -> Maybe ItemCollectionMetrics
itemCollectionMetrics} -> Maybe ItemCollectionMetrics
itemCollectionMetrics) (\s :: PutItemResponse
s@PutItemResponse' {} Maybe ItemCollectionMetrics
a -> PutItemResponse
s {$sel:itemCollectionMetrics:PutItemResponse' :: Maybe ItemCollectionMetrics
itemCollectionMetrics = Maybe ItemCollectionMetrics
a} :: PutItemResponse)
putItemResponse_consumedCapacity :: Lens.Lens' PutItemResponse (Prelude.Maybe ConsumedCapacity)
putItemResponse_consumedCapacity :: (Maybe ConsumedCapacity -> f (Maybe ConsumedCapacity))
-> PutItemResponse -> f PutItemResponse
putItemResponse_consumedCapacity = (PutItemResponse -> Maybe ConsumedCapacity)
-> (PutItemResponse -> Maybe ConsumedCapacity -> PutItemResponse)
-> Lens
PutItemResponse
PutItemResponse
(Maybe ConsumedCapacity)
(Maybe ConsumedCapacity)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItemResponse' {Maybe ConsumedCapacity
consumedCapacity :: Maybe ConsumedCapacity
$sel:consumedCapacity:PutItemResponse' :: PutItemResponse -> Maybe ConsumedCapacity
consumedCapacity} -> Maybe ConsumedCapacity
consumedCapacity) (\s :: PutItemResponse
s@PutItemResponse' {} Maybe ConsumedCapacity
a -> PutItemResponse
s {$sel:consumedCapacity:PutItemResponse' :: Maybe ConsumedCapacity
consumedCapacity = Maybe ConsumedCapacity
a} :: PutItemResponse)
putItemResponse_attributes :: Lens.Lens' PutItemResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text AttributeValue))
putItemResponse_attributes :: (Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItemResponse -> f PutItemResponse
putItemResponse_attributes = (PutItemResponse -> Maybe (HashMap Text AttributeValue))
-> (PutItemResponse
-> Maybe (HashMap Text AttributeValue) -> PutItemResponse)
-> Lens
PutItemResponse
PutItemResponse
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItemResponse' {Maybe (HashMap Text AttributeValue)
attributes :: Maybe (HashMap Text AttributeValue)
$sel:attributes:PutItemResponse' :: PutItemResponse -> Maybe (HashMap Text AttributeValue)
attributes} -> Maybe (HashMap Text AttributeValue)
attributes) (\s :: PutItemResponse
s@PutItemResponse' {} Maybe (HashMap Text AttributeValue)
a -> PutItemResponse
s {$sel:attributes:PutItemResponse' :: Maybe (HashMap Text AttributeValue)
attributes = Maybe (HashMap Text AttributeValue)
a} :: PutItemResponse) ((Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItemResponse -> f PutItemResponse)
-> ((Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> (Maybe (HashMap Text AttributeValue)
-> f (Maybe (HashMap Text AttributeValue)))
-> PutItemResponse
-> f PutItemResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
-> Iso
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
(Maybe (HashMap Text AttributeValue))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
(HashMap Text AttributeValue)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putItemResponse_httpStatus :: Lens.Lens' PutItemResponse Prelude.Int
putItemResponse_httpStatus :: (Int -> f Int) -> PutItemResponse -> f PutItemResponse
putItemResponse_httpStatus = (PutItemResponse -> Int)
-> (PutItemResponse -> Int -> PutItemResponse)
-> Lens PutItemResponse PutItemResponse Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutItemResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutItemResponse' :: PutItemResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutItemResponse
s@PutItemResponse' {} Int
a -> PutItemResponse
s {$sel:httpStatus:PutItemResponse' :: Int
httpStatus = Int
a} :: PutItemResponse)
instance Prelude.NFData PutItemResponse