module Aws.Sqs.Commands.SetQueueAttributes where
import Aws.Response
import Aws.Sqs.Info
import Aws.Sqs.Metadata
import qualified Aws.Sqs.Model as M
import Aws.Sqs.Query
import Aws.Sqs.Response
import Aws.Signature
import Aws.Transaction
import qualified Data.Text as T
import qualified Data.Text.Encoding as TE
data SetQueueAttributes = SetQueueAttributes{
sqaAttribute :: M.QueueAttribute,
sqaValue :: T.Text,
sqaQueueName :: M.QueueName
}deriving (Show)
data SetQueueAttributesResponse = SetQueueAttributesResponse{
} deriving (Show)
instance ResponseConsumer r SetQueueAttributesResponse where
type ResponseMetadata SetQueueAttributesResponse = SqsMetadata
responseConsumer _ = sqsXmlResponseConsumer parse
where
parse _ = do
return SetQueueAttributesResponse {}
instance SignQuery SetQueueAttributes where
type Info SetQueueAttributes = SqsInfo
signQuery SetQueueAttributes {..} = sqsSignQuery SqsQuery {
sqsQueueName = Just sqaQueueName,
sqsQuery = [("Action", Just "SetQueueAttributes"),
("Attribute.Name", Just $ TE.encodeUtf8 $ M.printQueueAttribute sqaAttribute),
("Attribute.Value", Just $ TE.encodeUtf8 sqaValue)]}
instance Transaction SetQueueAttributes SetQueueAttributesResponse