module Network.AWS.DataPipeline.GetPipelineDefinition
(
GetPipelineDefinition
, getPipelineDefinition
, gpdPipelineId
, gpdVersion
, GetPipelineDefinitionResponse
, getPipelineDefinitionResponse
, gpdrParameterObjects
, gpdrParameterValues
, gpdrPipelineObjects
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.DataPipeline.Types
import qualified GHC.Exts
data GetPipelineDefinition = GetPipelineDefinition
{ _gpdPipelineId :: Text
, _gpdVersion :: Maybe Text
} deriving (Eq, Ord, Read, Show)
getPipelineDefinition :: Text
-> GetPipelineDefinition
getPipelineDefinition p1 = GetPipelineDefinition
{ _gpdPipelineId = p1
, _gpdVersion = Nothing
}
gpdPipelineId :: Lens' GetPipelineDefinition Text
gpdPipelineId = lens _gpdPipelineId (\s a -> s { _gpdPipelineId = a })
gpdVersion :: Lens' GetPipelineDefinition (Maybe Text)
gpdVersion = lens _gpdVersion (\s a -> s { _gpdVersion = a })
data GetPipelineDefinitionResponse = GetPipelineDefinitionResponse
{ _gpdrParameterObjects :: List "parameterObjects" ParameterObject
, _gpdrParameterValues :: List "parameterValues" ParameterValue
, _gpdrPipelineObjects :: List "pipelineObjects" PipelineObject
} deriving (Eq, Read, Show)
getPipelineDefinitionResponse :: GetPipelineDefinitionResponse
getPipelineDefinitionResponse = GetPipelineDefinitionResponse
{ _gpdrPipelineObjects = mempty
, _gpdrParameterObjects = mempty
, _gpdrParameterValues = mempty
}
gpdrParameterObjects :: Lens' GetPipelineDefinitionResponse [ParameterObject]
gpdrParameterObjects =
lens _gpdrParameterObjects (\s a -> s { _gpdrParameterObjects = a })
. _List
gpdrParameterValues :: Lens' GetPipelineDefinitionResponse [ParameterValue]
gpdrParameterValues =
lens _gpdrParameterValues (\s a -> s { _gpdrParameterValues = a })
. _List
gpdrPipelineObjects :: Lens' GetPipelineDefinitionResponse [PipelineObject]
gpdrPipelineObjects =
lens _gpdrPipelineObjects (\s a -> s { _gpdrPipelineObjects = a })
. _List
instance ToPath GetPipelineDefinition where
toPath = const "/"
instance ToQuery GetPipelineDefinition where
toQuery = const mempty
instance ToHeaders GetPipelineDefinition
instance ToJSON GetPipelineDefinition where
toJSON GetPipelineDefinition{..} = object
[ "pipelineId" .= _gpdPipelineId
, "version" .= _gpdVersion
]
instance AWSRequest GetPipelineDefinition where
type Sv GetPipelineDefinition = DataPipeline
type Rs GetPipelineDefinition = GetPipelineDefinitionResponse
request = post "GetPipelineDefinition"
response = jsonResponse
instance FromJSON GetPipelineDefinitionResponse where
parseJSON = withObject "GetPipelineDefinitionResponse" $ \o -> GetPipelineDefinitionResponse
<$> o .:? "parameterObjects" .!= mempty
<*> o .:? "parameterValues" .!= mempty
<*> o .:? "pipelineObjects" .!= mempty