module Aws.ElasticTranscoder.Commands.UpdatePipelineStatus
( UpdatePipelineStatus(..)
) where
import Aws.Core
import Aws.ElasticTranscoder.Core
import Control.Applicative
import Data.Aeson
import Data.Text as T
data UpdatePipelineStatus
= UpdatePipelineStatus
{ upsId :: PipelineId
, upsStatus :: PipelineStatus
}
deriving (Show,Eq)
instance SignQuery UpdatePipelineStatus where
type ServiceConfiguration UpdatePipelineStatus = EtsConfiguration
signQuery UpdatePipelineStatus{..} = etsSignQuery
EtsQuery
{ etsqMethod = Get
, etsqRequest = "pipelines/" `T.append` _PipelineId upsId
`T.append` "/status"
, etsqQuery = []
, etsqBody = Just $ object [ "Status" .= upsStatus ]
}
instance ResponseConsumer UpdatePipelineStatus UpdatePipelineStatus where
type ResponseMetadata UpdatePipelineStatus = EtsMetadata
responseConsumer _ mref = etsResponseConsumer mref $ \rsp ->
cnv <$> jsonConsumer rsp
where
cnv (PipelineIdAndStatus a b) = UpdatePipelineStatus a b
instance Transaction UpdatePipelineStatus UpdatePipelineStatus
instance AsMemoryResponse UpdatePipelineStatus where
type MemoryResponse UpdatePipelineStatus = UpdatePipelineStatus
loadToMemory = return