module Aws.Sqs.Commands.RemovePermission 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 RemovePermission = RemovePermission{
rpLabel :: T.Text,
rpQueueName :: M.QueueName
}deriving (Show)
data RemovePermissionResponse = RemovePermissionResponse{
} deriving (Show)
instance ResponseConsumer r RemovePermissionResponse where
type ResponseMetadata RemovePermissionResponse = SqsMetadata
responseConsumer _ = sqsXmlResponseConsumer parse
where
parse _ = do
return RemovePermissionResponse {}
instance SignQuery RemovePermission where
type Info RemovePermission = SqsInfo
signQuery RemovePermission {..} = sqsSignQuery SqsQuery {
sqsQueueName = Just rpQueueName,
sqsQuery = [("Action", Just "RemovePermission"),
("Label", Just $ TE.encodeUtf8 rpLabel )]}
instance Transaction RemovePermission RemovePermissionResponse