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