module Network.AWS.SQS.Types.Sum where
import Network.AWS.Prelude
data MessageAttribute
= All
| ApproximateFirstReceiveTimestamp
| ApproximateReceiveCount
| SenderId
| SentTimestamp
deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
instance FromText MessageAttribute where
parser = takeLowerText >>= \case
"all" -> pure All
"approximatefirstreceivetimestamp" -> pure ApproximateFirstReceiveTimestamp
"approximatereceivecount" -> pure ApproximateReceiveCount
"senderid" -> pure SenderId
"senttimestamp" -> pure SentTimestamp
e -> fromTextError $ "Failure parsing MessageAttribute from value: '" <> e
<> "'. Accepted values: All, ApproximateFirstReceiveTimestamp, ApproximateReceiveCount, SenderId, SentTimestamp"
instance ToText MessageAttribute where
toText = \case
All -> "All"
ApproximateFirstReceiveTimestamp -> "ApproximateFirstReceiveTimestamp"
ApproximateReceiveCount -> "ApproximateReceiveCount"
SenderId -> "SenderId"
SentTimestamp -> "SentTimestamp"
instance Hashable MessageAttribute
instance ToByteString MessageAttribute
instance ToQuery MessageAttribute
instance ToHeader MessageAttribute
instance FromXML MessageAttribute where
parseXML = parseXMLText "MessageAttribute"
data QueueAttributeName
= ApproximateNumberOfMessages
| ApproximateNumberOfMessagesDelayed
| ApproximateNumberOfMessagesNotVisible
| CreatedTimestamp
| DelaySeconds
| LastModifiedTimestamp
| MaximumMessageSize
| MessageRetentionPeriod
| Policy
| QueueARN
| ReceiveMessageWaitTimeSeconds
| RedrivePolicy
| VisibilityTimeout
deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
instance FromText QueueAttributeName where
parser = takeLowerText >>= \case
"approximatenumberofmessages" -> pure ApproximateNumberOfMessages
"approximatenumberofmessagesdelayed" -> pure ApproximateNumberOfMessagesDelayed
"approximatenumberofmessagesnotvisible" -> pure ApproximateNumberOfMessagesNotVisible
"createdtimestamp" -> pure CreatedTimestamp
"delayseconds" -> pure DelaySeconds
"lastmodifiedtimestamp" -> pure LastModifiedTimestamp
"maximummessagesize" -> pure MaximumMessageSize
"messageretentionperiod" -> pure MessageRetentionPeriod
"policy" -> pure Policy
"queuearn" -> pure QueueARN
"receivemessagewaittimeseconds" -> pure ReceiveMessageWaitTimeSeconds
"redrivepolicy" -> pure RedrivePolicy
"visibilitytimeout" -> pure VisibilityTimeout
e -> fromTextError $ "Failure parsing QueueAttributeName from value: '" <> e
<> "'. Accepted values: ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, DelaySeconds, LastModifiedTimestamp, MaximumMessageSize, MessageRetentionPeriod, Policy, QueueArn, ReceiveMessageWaitTimeSeconds, RedrivePolicy, VisibilityTimeout"
instance ToText QueueAttributeName where
toText = \case
ApproximateNumberOfMessages -> "ApproximateNumberOfMessages"
ApproximateNumberOfMessagesDelayed -> "ApproximateNumberOfMessagesDelayed"
ApproximateNumberOfMessagesNotVisible -> "ApproximateNumberOfMessagesNotVisible"
CreatedTimestamp -> "CreatedTimestamp"
DelaySeconds -> "DelaySeconds"
LastModifiedTimestamp -> "LastModifiedTimestamp"
MaximumMessageSize -> "MaximumMessageSize"
MessageRetentionPeriod -> "MessageRetentionPeriod"
Policy -> "Policy"
QueueARN -> "QueueArn"
ReceiveMessageWaitTimeSeconds -> "ReceiveMessageWaitTimeSeconds"
RedrivePolicy -> "RedrivePolicy"
VisibilityTimeout -> "VisibilityTimeout"
instance Hashable QueueAttributeName
instance ToByteString QueueAttributeName
instance ToQuery QueueAttributeName
instance ToHeader QueueAttributeName
instance FromXML QueueAttributeName where
parseXML = parseXMLText "QueueAttributeName"