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