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