module Network.AWS.SQS.DeleteMessageBatch
(
DeleteMessageBatch
, deleteMessageBatch
, dmbEntries
, dmbQueueUrl
, DeleteMessageBatchResponse
, deleteMessageBatchResponse
, dmbrFailed
, dmbrSuccessful
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.SQS.Types
import qualified GHC.Exts
data DeleteMessageBatch = DeleteMessageBatch
{ _dmbEntries :: List "DeleteMessageBatchRequestEntry" DeleteMessageBatchRequestEntry
, _dmbQueueUrl :: Text
} deriving (Eq, Show)
deleteMessageBatch :: Text
-> [DeleteMessageBatchRequestEntry]
-> DeleteMessageBatch
deleteMessageBatch p1 p2 = DeleteMessageBatch
{ _dmbQueueUrl = p1
, _dmbEntries = withIso _List (const id) p2
}
dmbEntries :: Lens' DeleteMessageBatch [DeleteMessageBatchRequestEntry]
dmbEntries = lens _dmbEntries (\s a -> s { _dmbEntries = a }) . _List
dmbQueueUrl :: Lens' DeleteMessageBatch Text
dmbQueueUrl = lens _dmbQueueUrl (\s a -> s { _dmbQueueUrl = a })
data DeleteMessageBatchResponse = DeleteMessageBatchResponse
{ _dmbrFailed :: List "BatchResultErrorEntry" BatchResultErrorEntry
, _dmbrSuccessful :: List "DeleteMessageBatchResultEntry" DeleteMessageBatchResultEntry
} deriving (Eq, Show)
deleteMessageBatchResponse :: [DeleteMessageBatchResultEntry]
-> [BatchResultErrorEntry]
-> DeleteMessageBatchResponse
deleteMessageBatchResponse p1 p2 = DeleteMessageBatchResponse
{ _dmbrSuccessful = withIso _List (const id) p1
, _dmbrFailed = withIso _List (const id) p2
}
dmbrFailed :: Lens' DeleteMessageBatchResponse [BatchResultErrorEntry]
dmbrFailed = lens _dmbrFailed (\s a -> s { _dmbrFailed = a }) . _List
dmbrSuccessful :: Lens' DeleteMessageBatchResponse [DeleteMessageBatchResultEntry]
dmbrSuccessful = lens _dmbrSuccessful (\s a -> s { _dmbrSuccessful = a }) . _List
instance ToPath DeleteMessageBatch where
toPath = const "/"
instance ToQuery DeleteMessageBatch where
toQuery DeleteMessageBatch{..} = mconcat
[ toQuery _dmbEntries
, "QueueUrl" =? _dmbQueueUrl
]
instance ToHeaders DeleteMessageBatch
instance AWSRequest DeleteMessageBatch where
type Sv DeleteMessageBatch = SQS
type Rs DeleteMessageBatch = DeleteMessageBatchResponse
request = post "DeleteMessageBatch"
response = xmlResponse
instance FromXML DeleteMessageBatchResponse where
parseXML = withElement "DeleteMessageBatchResult" $ \x -> DeleteMessageBatchResponse
<$> parseXML x
<*> parseXML x