module Aws.SimpleDb.Commands.BatchPutAttributes
where
import Aws.Response
import Aws.Signature
import Aws.SimpleDb.Info
import Aws.SimpleDb.Metadata
import Aws.SimpleDb.Model
import Aws.SimpleDb.Query
import Aws.SimpleDb.Response
import Aws.Transaction
import Aws.Util
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
data BatchPutAttributes
= BatchPutAttributes {
bpaItems :: [Item [Attribute SetAttribute]]
, bpaDomainName :: T.Text
}
deriving (Show)
data BatchPutAttributesResponse
= BatchPutAttributesResponse
deriving (Show)
batchPutAttributes :: [Item [Attribute SetAttribute]] -> T.Text -> BatchPutAttributes
batchPutAttributes items domain = BatchPutAttributes { bpaItems = items, bpaDomainName = domain }
instance SignQuery BatchPutAttributes where
type Info BatchPutAttributes = SdbInfo
signQuery BatchPutAttributes{..}
= sdbSignQuery $
[("Action", "BatchPutAttributes")
, ("DomainName", T.encodeUtf8 bpaDomainName)] ++
queryList (itemQuery $ queryList (attributeQuery setAttributeQuery) "Attribute") "Item" bpaItems
instance ResponseIteratee BatchPutAttributesResponse where
type ResponseMetadata BatchPutAttributesResponse = SdbMetadata
responseIteratee = sdbResponseIteratee $ sdbCheckResponseType BatchPutAttributesResponse "BatchPutAttributesResponse"
instance Transaction BatchPutAttributes BatchPutAttributesResponse