module Network.AWS.DataPipeline.PutPipelineDefinition
(
PutPipelineDefinition
, putPipelineDefinition
, ppdParameterObjects
, ppdParameterValues
, ppdPipelineId
, ppdPipelineObjects
, PutPipelineDefinitionResponse
, putPipelineDefinitionResponse
, ppdrErrored
, ppdrValidationErrors
, ppdrValidationWarnings
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.DataPipeline.Types
import qualified GHC.Exts
data PutPipelineDefinition = PutPipelineDefinition
{ _ppdParameterObjects :: List "parameterObjects" ParameterObject
, _ppdParameterValues :: List "parameterValues" ParameterValue
, _ppdPipelineId :: Text
, _ppdPipelineObjects :: List "pipelineObjects" PipelineObject
} deriving (Eq, Read, Show)
putPipelineDefinition :: Text
-> PutPipelineDefinition
putPipelineDefinition p1 = PutPipelineDefinition
{ _ppdPipelineId = p1
, _ppdPipelineObjects = mempty
, _ppdParameterObjects = mempty
, _ppdParameterValues = mempty
}
ppdParameterObjects :: Lens' PutPipelineDefinition [ParameterObject]
ppdParameterObjects =
lens _ppdParameterObjects (\s a -> s { _ppdParameterObjects = a })
. _List
ppdParameterValues :: Lens' PutPipelineDefinition [ParameterValue]
ppdParameterValues =
lens _ppdParameterValues (\s a -> s { _ppdParameterValues = a })
. _List
ppdPipelineId :: Lens' PutPipelineDefinition Text
ppdPipelineId = lens _ppdPipelineId (\s a -> s { _ppdPipelineId = a })
ppdPipelineObjects :: Lens' PutPipelineDefinition [PipelineObject]
ppdPipelineObjects =
lens _ppdPipelineObjects (\s a -> s { _ppdPipelineObjects = a })
. _List
data PutPipelineDefinitionResponse = PutPipelineDefinitionResponse
{ _ppdrErrored :: Bool
, _ppdrValidationErrors :: List "validationErrors" ValidationError
, _ppdrValidationWarnings :: List "validationWarnings" ValidationWarning
} deriving (Eq, Read, Show)
putPipelineDefinitionResponse :: Bool
-> PutPipelineDefinitionResponse
putPipelineDefinitionResponse p1 = PutPipelineDefinitionResponse
{ _ppdrErrored = p1
, _ppdrValidationErrors = mempty
, _ppdrValidationWarnings = mempty
}
ppdrErrored :: Lens' PutPipelineDefinitionResponse Bool
ppdrErrored = lens _ppdrErrored (\s a -> s { _ppdrErrored = a })
ppdrValidationErrors :: Lens' PutPipelineDefinitionResponse [ValidationError]
ppdrValidationErrors =
lens _ppdrValidationErrors (\s a -> s { _ppdrValidationErrors = a })
. _List
ppdrValidationWarnings :: Lens' PutPipelineDefinitionResponse [ValidationWarning]
ppdrValidationWarnings =
lens _ppdrValidationWarnings (\s a -> s { _ppdrValidationWarnings = a })
. _List
instance ToPath PutPipelineDefinition where
toPath = const "/"
instance ToQuery PutPipelineDefinition where
toQuery = const mempty
instance ToHeaders PutPipelineDefinition
instance ToJSON PutPipelineDefinition where
toJSON PutPipelineDefinition{..} = object
[ "pipelineId" .= _ppdPipelineId
, "pipelineObjects" .= _ppdPipelineObjects
, "parameterObjects" .= _ppdParameterObjects
, "parameterValues" .= _ppdParameterValues
]
instance AWSRequest PutPipelineDefinition where
type Sv PutPipelineDefinition = DataPipeline
type Rs PutPipelineDefinition = PutPipelineDefinitionResponse
request = post "PutPipelineDefinition"
response = jsonResponse
instance FromJSON PutPipelineDefinitionResponse where
parseJSON = withObject "PutPipelineDefinitionResponse" $ \o -> PutPipelineDefinitionResponse
<$> o .: "errored"
<*> o .:? "validationErrors" .!= mempty
<*> o .:? "validationWarnings" .!= mempty