{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} module Aws.ElasticTranscoder.Commands.GetPipeline ( GetPipeline(..) , GetPipelineResponse(..) ) where import Aws.Core import Aws.ElasticTranscoder.Core import Control.Applicative import qualified Data.Text as T data GetPipeline = GetPipeline { gplPipeline :: PipelineId } deriving (Show,Eq) data GetPipelineResponse = GetPipelineResponse { gprName :: PipelineName , gprInputBucket :: S3Object , gprOutputBucket :: S3Object , gprRole :: IAMRole , gprNotifications :: Notifications , gprId :: PipelineId , gprStatus :: PipelineStatus } deriving (Show,Eq) instance SignQuery GetPipeline where type ServiceConfiguration GetPipeline = EtsConfiguration signQuery GetPipeline{..} = etsSignQuery EtsQuery { etsqMethod = Get , etsqRequest = "pipeline/" `T.append` _PipelineId gplPipeline , etsqQuery = [] , etsqBody = Nothing } instance ResponseConsumer GetPipeline GetPipelineResponse where type ResponseMetadata GetPipelineResponse = EtsMetadata responseConsumer _ mref = etsResponseConsumer mref $ \rsp -> cnv <$> jsonConsumer rsp where cnv (PipelineSingle(PipelineIdStatus a b c d e f g)) = GetPipelineResponse a b c d e f g instance Transaction GetPipeline GetPipelineResponse instance AsMemoryResponse GetPipelineResponse where type MemoryResponse GetPipelineResponse = GetPipelineResponse loadToMemory = return