{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} module Aws.ElasticTranscoder.Commands.DeleteJob ( DeleteJob(..) , DeleteJobResponse(..) ) where import Aws.Core import Aws.ElasticTranscoder.Core import Control.Applicative import qualified Data.Text as T import Data.Aeson data DeleteJob = DeleteJob { djJob :: JobId } deriving (Show,Eq) data DeleteJobResponse = DeleteJobResponse deriving (Show,Eq) instance SignQuery DeleteJob where type ServiceConfiguration DeleteJob = EtsConfiguration signQuery DeleteJob {..} = etsSignQuery EtsQuery { etsqMethod = Delete , etsqRequest = "jobs/" `T.append` _JobId djJob , etsqQuery = [] , etsqBody = Nothing } instance ResponseConsumer DeleteJob DeleteJobResponse where type ResponseMetadata DeleteJobResponse = EtsMetadata responseConsumer _ mref = etsResponseConsumer mref $ \rsp -> cnv <$> jsonConsumer rsp where cnv :: Value -> DeleteJobResponse cnv _ = DeleteJobResponse instance Transaction DeleteJob DeleteJobResponse instance AsMemoryResponse DeleteJobResponse where type MemoryResponse DeleteJobResponse = DeleteJobResponse loadToMemory = return