module Network.AWS.SQS.Types
(
SQS
, RESTError
, ns
, DeleteMessageBatchRequestEntry
, deleteMessageBatchRequestEntry
, dmbreId
, dmbreReceiptHandle
, MessageAttributeValue
, messageAttributeValue
, mavBinaryListValues
, mavBinaryValue
, mavDataType
, mavStringListValues
, mavStringValue
, ChangeMessageVisibilityBatchResultEntry
, changeMessageVisibilityBatchResultEntry
, cmvbreId
, ChangeMessageVisibilityBatchRequestEntry
, changeMessageVisibilityBatchRequestEntry
, cmvbre1Id
, cmvbre1ReceiptHandle
, cmvbre1VisibilityTimeout
, DeleteMessageBatchResultEntry
, deleteMessageBatchResultEntry
, dmbre1Id
, Message
, message
, mAttributes
, mBody
, mMD5OfBody
, mMD5OfMessageAttributes
, mMessageAttributes
, mMessageId
, mReceiptHandle
, SendMessageBatchRequestEntry
, sendMessageBatchRequestEntry
, smbreDelaySeconds
, smbreId
, smbreMessageAttributes
, smbreMessageBody
, SendMessageBatchResultEntry
, sendMessageBatchResultEntry
, smbre1Id
, smbre1MD5OfMessageAttributes
, smbre1MD5OfMessageBody
, smbre1MessageId
, BatchResultErrorEntry
, batchResultErrorEntry
, breeCode
, breeId
, breeMessage
, breeSenderFault
) where
import Network.AWS.Prelude
import Network.AWS.Signing
import qualified GHC.Exts
data SQS
instance AWSService SQS where
type Sg SQS = V4
type Er SQS = RESTError
service = service'
where
service' :: Service SQS
service' = Service
{ _svcAbbrev = "SQS"
, _svcPrefix = "sqs"
, _svcVersion = "2012-11-05"
, _svcTargetPrefix = Nothing
, _svcJSONVersion = Nothing
, _svcHandle = handle
, _svcRetry = retry
}
handle :: Status
-> Maybe (LazyByteString -> ServiceError RESTError)
handle = restError statusSuccess service'
retry :: Retry SQS
retry = Exponential
{ _retryBase = 0.05
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check :: Status
-> RESTError
-> Bool
check (statusCode -> s) (awsErrorCode -> e)
| s == 403 && "RequestThrottled" == e = True
| s == 500 = True
| s == 509 = True
| s == 503 = True
| otherwise = False
ns :: Text
ns = "http://queue.amazonaws.com/doc/2012-11-05/"
data DeleteMessageBatchRequestEntry = DeleteMessageBatchRequestEntry
{ _dmbreId :: Text
, _dmbreReceiptHandle :: Text
} deriving (Eq, Ord, Read, Show)
deleteMessageBatchRequestEntry :: Text
-> Text
-> DeleteMessageBatchRequestEntry
deleteMessageBatchRequestEntry p1 p2 = DeleteMessageBatchRequestEntry
{ _dmbreId = p1
, _dmbreReceiptHandle = p2
}
dmbreId :: Lens' DeleteMessageBatchRequestEntry Text
dmbreId = lens _dmbreId (\s a -> s { _dmbreId = a })
dmbreReceiptHandle :: Lens' DeleteMessageBatchRequestEntry Text
dmbreReceiptHandle =
lens _dmbreReceiptHandle (\s a -> s { _dmbreReceiptHandle = a })
instance FromXML DeleteMessageBatchRequestEntry where
parseXML x = DeleteMessageBatchRequestEntry
<$> x .@ "Id"
<*> x .@ "ReceiptHandle"
instance ToQuery DeleteMessageBatchRequestEntry where
toQuery DeleteMessageBatchRequestEntry{..} = mconcat
[ "Id" =? _dmbreId
, "ReceiptHandle" =? _dmbreReceiptHandle
]
data MessageAttributeValue = MessageAttributeValue
{ _mavBinaryListValues :: List "member" Base64
, _mavBinaryValue :: Maybe Base64
, _mavDataType :: Text
, _mavStringListValues :: List "member" Text
, _mavStringValue :: Maybe Text
} deriving (Eq, Read, Show)
messageAttributeValue :: Text
-> MessageAttributeValue
messageAttributeValue p1 = MessageAttributeValue
{ _mavDataType = p1
, _mavStringValue = Nothing
, _mavBinaryValue = Nothing
, _mavStringListValues = mempty
, _mavBinaryListValues = mempty
}
mavBinaryListValues :: Lens' MessageAttributeValue [Base64]
mavBinaryListValues =
lens _mavBinaryListValues (\s a -> s { _mavBinaryListValues = a })
. _List
mavBinaryValue :: Lens' MessageAttributeValue (Maybe Base64)
mavBinaryValue = lens _mavBinaryValue (\s a -> s { _mavBinaryValue = a })
mavDataType :: Lens' MessageAttributeValue Text
mavDataType = lens _mavDataType (\s a -> s { _mavDataType = a })
mavStringListValues :: Lens' MessageAttributeValue [Text]
mavStringListValues =
lens _mavStringListValues (\s a -> s { _mavStringListValues = a })
. _List
mavStringValue :: Lens' MessageAttributeValue (Maybe Text)
mavStringValue = lens _mavStringValue (\s a -> s { _mavStringValue = a })
instance FromXML MessageAttributeValue where
parseXML x = MessageAttributeValue
<$> x .@? "BinaryListValue" .!@ mempty
<*> x .@? "BinaryValue"
<*> x .@ "DataType"
<*> x .@? "StringListValue" .!@ mempty
<*> x .@? "StringValue"
instance ToQuery MessageAttributeValue where
toQuery MessageAttributeValue{..} = mconcat
[ "BinaryListValue" =? _mavBinaryListValues
, "BinaryValue" =? _mavBinaryValue
, "DataType" =? _mavDataType
, "StringListValue" =? _mavStringListValues
, "StringValue" =? _mavStringValue
]
newtype ChangeMessageVisibilityBatchResultEntry = ChangeMessageVisibilityBatchResultEntry
{ _cmvbreId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
changeMessageVisibilityBatchResultEntry :: Text
-> ChangeMessageVisibilityBatchResultEntry
changeMessageVisibilityBatchResultEntry p1 = ChangeMessageVisibilityBatchResultEntry
{ _cmvbreId = p1
}
cmvbreId :: Lens' ChangeMessageVisibilityBatchResultEntry Text
cmvbreId = lens _cmvbreId (\s a -> s { _cmvbreId = a })
instance FromXML ChangeMessageVisibilityBatchResultEntry where
parseXML x = ChangeMessageVisibilityBatchResultEntry
<$> x .@ "Id"
instance ToQuery ChangeMessageVisibilityBatchResultEntry where
toQuery ChangeMessageVisibilityBatchResultEntry{..} = mconcat
[ "Id" =? _cmvbreId
]
data ChangeMessageVisibilityBatchRequestEntry = ChangeMessageVisibilityBatchRequestEntry
{ _cmvbre1Id :: Text
, _cmvbre1ReceiptHandle :: Text
, _cmvbre1VisibilityTimeout :: Maybe Int
} deriving (Eq, Ord, Read, Show)
changeMessageVisibilityBatchRequestEntry :: Text
-> Text
-> ChangeMessageVisibilityBatchRequestEntry
changeMessageVisibilityBatchRequestEntry p1 p2 = ChangeMessageVisibilityBatchRequestEntry
{ _cmvbre1Id = p1
, _cmvbre1ReceiptHandle = p2
, _cmvbre1VisibilityTimeout = Nothing
}
cmvbre1Id :: Lens' ChangeMessageVisibilityBatchRequestEntry Text
cmvbre1Id = lens _cmvbre1Id (\s a -> s { _cmvbre1Id = a })
cmvbre1ReceiptHandle :: Lens' ChangeMessageVisibilityBatchRequestEntry Text
cmvbre1ReceiptHandle =
lens _cmvbre1ReceiptHandle (\s a -> s { _cmvbre1ReceiptHandle = a })
cmvbre1VisibilityTimeout :: Lens' ChangeMessageVisibilityBatchRequestEntry (Maybe Int)
cmvbre1VisibilityTimeout =
lens _cmvbre1VisibilityTimeout
(\s a -> s { _cmvbre1VisibilityTimeout = a })
instance FromXML ChangeMessageVisibilityBatchRequestEntry where
parseXML x = ChangeMessageVisibilityBatchRequestEntry
<$> x .@ "Id"
<*> x .@ "ReceiptHandle"
<*> x .@? "VisibilityTimeout"
instance ToQuery ChangeMessageVisibilityBatchRequestEntry where
toQuery ChangeMessageVisibilityBatchRequestEntry{..} = mconcat
[ "Id" =? _cmvbre1Id
, "ReceiptHandle" =? _cmvbre1ReceiptHandle
, "VisibilityTimeout" =? _cmvbre1VisibilityTimeout
]
newtype DeleteMessageBatchResultEntry = DeleteMessageBatchResultEntry
{ _dmbre1Id :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
deleteMessageBatchResultEntry :: Text
-> DeleteMessageBatchResultEntry
deleteMessageBatchResultEntry p1 = DeleteMessageBatchResultEntry
{ _dmbre1Id = p1
}
dmbre1Id :: Lens' DeleteMessageBatchResultEntry Text
dmbre1Id = lens _dmbre1Id (\s a -> s { _dmbre1Id = a })
instance FromXML DeleteMessageBatchResultEntry where
parseXML x = DeleteMessageBatchResultEntry
<$> x .@ "Id"
instance ToQuery DeleteMessageBatchResultEntry where
toQuery DeleteMessageBatchResultEntry{..} = mconcat
[ "Id" =? _dmbre1Id
]
data Message = Message
{ _mAttributes :: EMap "entry" "Name" "Value" Text Text
, _mBody :: Maybe Text
, _mMD5OfBody :: Maybe Text
, _mMD5OfMessageAttributes :: Maybe Text
, _mMessageAttributes :: EMap "entry" "Name" "Value" Text MessageAttributeValue
, _mMessageId :: Maybe Text
, _mReceiptHandle :: Maybe Text
} deriving (Eq, Read, Show)
message :: Message
message = Message
{ _mMessageId = Nothing
, _mReceiptHandle = Nothing
, _mMD5OfBody = Nothing
, _mBody = Nothing
, _mAttributes = mempty
, _mMD5OfMessageAttributes = Nothing
, _mMessageAttributes = mempty
}
mAttributes :: Lens' Message (HashMap Text Text)
mAttributes = lens _mAttributes (\s a -> s { _mAttributes = a }) . _EMap
mBody :: Lens' Message (Maybe Text)
mBody = lens _mBody (\s a -> s { _mBody = a })
mMD5OfBody :: Lens' Message (Maybe Text)
mMD5OfBody = lens _mMD5OfBody (\s a -> s { _mMD5OfBody = a })
mMD5OfMessageAttributes :: Lens' Message (Maybe Text)
mMD5OfMessageAttributes =
lens _mMD5OfMessageAttributes (\s a -> s { _mMD5OfMessageAttributes = a })
mMessageAttributes :: Lens' Message (HashMap Text MessageAttributeValue)
mMessageAttributes =
lens _mMessageAttributes (\s a -> s { _mMessageAttributes = a })
. _EMap
mMessageId :: Lens' Message (Maybe Text)
mMessageId = lens _mMessageId (\s a -> s { _mMessageId = a })
mReceiptHandle :: Lens' Message (Maybe Text)
mReceiptHandle = lens _mReceiptHandle (\s a -> s { _mReceiptHandle = a })
instance FromXML Message where
parseXML x = Message
<$> parseXML x
<*> x .@? "Body"
<*> x .@? "MD5OfBody"
<*> x .@? "MD5OfMessageAttributes"
<*> parseXML x
<*> x .@? "MessageId"
<*> x .@? "ReceiptHandle"
instance ToQuery Message where
toQuery Message{..} = mconcat
[ toQuery _mAttributes
, "Body" =? _mBody
, "MD5OfBody" =? _mMD5OfBody
, "MD5OfMessageAttributes" =? _mMD5OfMessageAttributes
, toQuery _mMessageAttributes
, "MessageId" =? _mMessageId
, "ReceiptHandle" =? _mReceiptHandle
]
data SendMessageBatchRequestEntry = SendMessageBatchRequestEntry
{ _smbreDelaySeconds :: Maybe Int
, _smbreId :: Text
, _smbreMessageAttributes :: EMap "entry" "Name" "Value" Text MessageAttributeValue
, _smbreMessageBody :: Text
} deriving (Eq, Read, Show)
sendMessageBatchRequestEntry :: Text
-> Text
-> SendMessageBatchRequestEntry
sendMessageBatchRequestEntry p1 p2 = SendMessageBatchRequestEntry
{ _smbreId = p1
, _smbreMessageBody = p2
, _smbreDelaySeconds = Nothing
, _smbreMessageAttributes = mempty
}
smbreDelaySeconds :: Lens' SendMessageBatchRequestEntry (Maybe Int)
smbreDelaySeconds =
lens _smbreDelaySeconds (\s a -> s { _smbreDelaySeconds = a })
smbreId :: Lens' SendMessageBatchRequestEntry Text
smbreId = lens _smbreId (\s a -> s { _smbreId = a })
smbreMessageAttributes :: Lens' SendMessageBatchRequestEntry (HashMap Text MessageAttributeValue)
smbreMessageAttributes =
lens _smbreMessageAttributes (\s a -> s { _smbreMessageAttributes = a })
. _EMap
smbreMessageBody :: Lens' SendMessageBatchRequestEntry Text
smbreMessageBody = lens _smbreMessageBody (\s a -> s { _smbreMessageBody = a })
instance FromXML SendMessageBatchRequestEntry where
parseXML x = SendMessageBatchRequestEntry
<$> x .@? "DelaySeconds"
<*> x .@ "Id"
<*> parseXML x
<*> x .@ "MessageBody"
instance ToQuery SendMessageBatchRequestEntry where
toQuery SendMessageBatchRequestEntry{..} = mconcat
[ "DelaySeconds" =? _smbreDelaySeconds
, "Id" =? _smbreId
, toQuery _smbreMessageAttributes
, "MessageBody" =? _smbreMessageBody
]
data SendMessageBatchResultEntry = SendMessageBatchResultEntry
{ _smbre1Id :: Text
, _smbre1MD5OfMessageAttributes :: Maybe Text
, _smbre1MD5OfMessageBody :: Text
, _smbre1MessageId :: Text
} deriving (Eq, Ord, Read, Show)
sendMessageBatchResultEntry :: Text
-> Text
-> Text
-> SendMessageBatchResultEntry
sendMessageBatchResultEntry p1 p2 p3 = SendMessageBatchResultEntry
{ _smbre1Id = p1
, _smbre1MessageId = p2
, _smbre1MD5OfMessageBody = p3
, _smbre1MD5OfMessageAttributes = Nothing
}
smbre1Id :: Lens' SendMessageBatchResultEntry Text
smbre1Id = lens _smbre1Id (\s a -> s { _smbre1Id = a })
smbre1MD5OfMessageAttributes :: Lens' SendMessageBatchResultEntry (Maybe Text)
smbre1MD5OfMessageAttributes =
lens _smbre1MD5OfMessageAttributes
(\s a -> s { _smbre1MD5OfMessageAttributes = a })
smbre1MD5OfMessageBody :: Lens' SendMessageBatchResultEntry Text
smbre1MD5OfMessageBody =
lens _smbre1MD5OfMessageBody (\s a -> s { _smbre1MD5OfMessageBody = a })
smbre1MessageId :: Lens' SendMessageBatchResultEntry Text
smbre1MessageId = lens _smbre1MessageId (\s a -> s { _smbre1MessageId = a })
instance FromXML SendMessageBatchResultEntry where
parseXML x = SendMessageBatchResultEntry
<$> x .@ "Id"
<*> x .@? "MD5OfMessageAttributes"
<*> x .@ "MD5OfMessageBody"
<*> x .@ "MessageId"
instance ToQuery SendMessageBatchResultEntry where
toQuery SendMessageBatchResultEntry{..} = mconcat
[ "Id" =? _smbre1Id
, "MD5OfMessageAttributes" =? _smbre1MD5OfMessageAttributes
, "MD5OfMessageBody" =? _smbre1MD5OfMessageBody
, "MessageId" =? _smbre1MessageId
]
data BatchResultErrorEntry = BatchResultErrorEntry
{ _breeCode :: Text
, _breeId :: Text
, _breeMessage :: Maybe Text
, _breeSenderFault :: Bool
} deriving (Eq, Ord, Read, Show)
batchResultErrorEntry :: Text
-> Bool
-> Text
-> BatchResultErrorEntry
batchResultErrorEntry p1 p2 p3 = BatchResultErrorEntry
{ _breeId = p1
, _breeSenderFault = p2
, _breeCode = p3
, _breeMessage = Nothing
}
breeCode :: Lens' BatchResultErrorEntry Text
breeCode = lens _breeCode (\s a -> s { _breeCode = a })
breeId :: Lens' BatchResultErrorEntry Text
breeId = lens _breeId (\s a -> s { _breeId = a })
breeMessage :: Lens' BatchResultErrorEntry (Maybe Text)
breeMessage = lens _breeMessage (\s a -> s { _breeMessage = a })
breeSenderFault :: Lens' BatchResultErrorEntry Bool
breeSenderFault = lens _breeSenderFault (\s a -> s { _breeSenderFault = a })
instance FromXML BatchResultErrorEntry where
parseXML x = BatchResultErrorEntry
<$> x .@ "Code"
<*> x .@ "Id"
<*> x .@? "Message"
<*> x .@ "SenderFault"
instance ToQuery BatchResultErrorEntry where
toQuery BatchResultErrorEntry{..} = mconcat
[ "Code" =? _breeCode
, "Id" =? _breeId
, "Message" =? _breeMessage
, "SenderFault" =? _breeSenderFault
]