module Network.AWS.SQS.ChangeMessageVisibilityBatch
(
ChangeMessageVisibilityBatch
, changeMessageVisibilityBatch
, cmvbEntries
, cmvbQueueUrl
, ChangeMessageVisibilityBatchResponse
, changeMessageVisibilityBatchResponse
, cmvbrFailed
, cmvbrSuccessful
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.SQS.Types
import qualified GHC.Exts
data ChangeMessageVisibilityBatch = ChangeMessageVisibilityBatch
{ _cmvbEntries :: List "ChangeMessageVisibilityBatchRequestEntry" ChangeMessageVisibilityBatchRequestEntry
, _cmvbQueueUrl :: Text
} deriving (Eq, Show)
changeMessageVisibilityBatch :: Text
-> ChangeMessageVisibilityBatch
changeMessageVisibilityBatch p1 = ChangeMessageVisibilityBatch
{ _cmvbQueueUrl = p1
, _cmvbEntries = mempty
}
cmvbEntries :: Lens' ChangeMessageVisibilityBatch [ChangeMessageVisibilityBatchRequestEntry]
cmvbEntries = lens _cmvbEntries (\s a -> s { _cmvbEntries = a }) . _List
cmvbQueueUrl :: Lens' ChangeMessageVisibilityBatch Text
cmvbQueueUrl = lens _cmvbQueueUrl (\s a -> s { _cmvbQueueUrl = a })
data ChangeMessageVisibilityBatchResponse = ChangeMessageVisibilityBatchResponse
{ _cmvbrFailed :: List "BatchResultErrorEntry" BatchResultErrorEntry
, _cmvbrSuccessful :: List "ChangeMessageVisibilityBatchResultEntry" ChangeMessageVisibilityBatchResultEntry
} deriving (Eq, Show)
changeMessageVisibilityBatchResponse :: ChangeMessageVisibilityBatchResponse
changeMessageVisibilityBatchResponse = ChangeMessageVisibilityBatchResponse
{ _cmvbrSuccessful = mempty
, _cmvbrFailed = mempty
}
cmvbrFailed :: Lens' ChangeMessageVisibilityBatchResponse [BatchResultErrorEntry]
cmvbrFailed = lens _cmvbrFailed (\s a -> s { _cmvbrFailed = a }) . _List
cmvbrSuccessful :: Lens' ChangeMessageVisibilityBatchResponse [ChangeMessageVisibilityBatchResultEntry]
cmvbrSuccessful = lens _cmvbrSuccessful (\s a -> s { _cmvbrSuccessful = a }) . _List
instance ToPath ChangeMessageVisibilityBatch where
toPath = const "/"
instance ToQuery ChangeMessageVisibilityBatch where
toQuery ChangeMessageVisibilityBatch{..} = mconcat
[ toQuery _cmvbEntries
, "QueueUrl" =? _cmvbQueueUrl
]
instance ToHeaders ChangeMessageVisibilityBatch
instance AWSRequest ChangeMessageVisibilityBatch where
type Sv ChangeMessageVisibilityBatch = SQS
type Rs ChangeMessageVisibilityBatch = ChangeMessageVisibilityBatchResponse
request = post "ChangeMessageVisibilityBatch"
response = xmlResponse
instance FromXML ChangeMessageVisibilityBatchResponse where
parseXML = withElement "ChangeMessageVisibilityBatchResult" $ \x -> ChangeMessageVisibilityBatchResponse
<$> parseXML x
<*> parseXML x