module Network.AWS.DataPipeline.PutPipelineDefinition
(
putPipelineDefinition
, PutPipelineDefinition
, ppdParameterObjects
, ppdParameterValues
, ppdPipelineId
, ppdPipelineObjects
, putPipelineDefinitionResponse
, PutPipelineDefinitionResponse
, ppdrsValidationErrors
, ppdrsValidationWarnings
, ppdrsResponseStatus
, ppdrsErrored
) where
import Network.AWS.DataPipeline.Types
import Network.AWS.DataPipeline.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data PutPipelineDefinition = PutPipelineDefinition'
{ _ppdParameterObjects :: !(Maybe [ParameterObject])
, _ppdParameterValues :: !(Maybe [ParameterValue])
, _ppdPipelineId :: !Text
, _ppdPipelineObjects :: ![PipelineObject]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
putPipelineDefinition
:: Text
-> PutPipelineDefinition
putPipelineDefinition pPipelineId_ =
PutPipelineDefinition'
{ _ppdParameterObjects = Nothing
, _ppdParameterValues = Nothing
, _ppdPipelineId = pPipelineId_
, _ppdPipelineObjects = mempty
}
ppdParameterObjects :: Lens' PutPipelineDefinition [ParameterObject]
ppdParameterObjects = lens _ppdParameterObjects (\ s a -> s{_ppdParameterObjects = a}) . _Default . _Coerce;
ppdParameterValues :: Lens' PutPipelineDefinition [ParameterValue]
ppdParameterValues = lens _ppdParameterValues (\ s a -> s{_ppdParameterValues = a}) . _Default . _Coerce;
ppdPipelineId :: Lens' PutPipelineDefinition Text
ppdPipelineId = lens _ppdPipelineId (\ s a -> s{_ppdPipelineId = a});
ppdPipelineObjects :: Lens' PutPipelineDefinition [PipelineObject]
ppdPipelineObjects = lens _ppdPipelineObjects (\ s a -> s{_ppdPipelineObjects = a}) . _Coerce;
instance AWSRequest PutPipelineDefinition where
type Rs PutPipelineDefinition =
PutPipelineDefinitionResponse
request = postJSON dataPipeline
response
= receiveJSON
(\ s h x ->
PutPipelineDefinitionResponse' <$>
(x .?> "validationErrors" .!@ mempty) <*>
(x .?> "validationWarnings" .!@ mempty)
<*> (pure (fromEnum s))
<*> (x .:> "errored"))
instance ToHeaders PutPipelineDefinition where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DataPipeline.PutPipelineDefinition" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON PutPipelineDefinition where
toJSON PutPipelineDefinition'{..}
= object
(catMaybes
[("parameterObjects" .=) <$> _ppdParameterObjects,
("parameterValues" .=) <$> _ppdParameterValues,
Just ("pipelineId" .= _ppdPipelineId),
Just ("pipelineObjects" .= _ppdPipelineObjects)])
instance ToPath PutPipelineDefinition where
toPath = const "/"
instance ToQuery PutPipelineDefinition where
toQuery = const mempty
data PutPipelineDefinitionResponse = PutPipelineDefinitionResponse'
{ _ppdrsValidationErrors :: !(Maybe [ValidationError])
, _ppdrsValidationWarnings :: !(Maybe [ValidationWarning])
, _ppdrsResponseStatus :: !Int
, _ppdrsErrored :: !Bool
} deriving (Eq,Read,Show,Data,Typeable,Generic)
putPipelineDefinitionResponse
:: Int
-> Bool
-> PutPipelineDefinitionResponse
putPipelineDefinitionResponse pResponseStatus_ pErrored_ =
PutPipelineDefinitionResponse'
{ _ppdrsValidationErrors = Nothing
, _ppdrsValidationWarnings = Nothing
, _ppdrsResponseStatus = pResponseStatus_
, _ppdrsErrored = pErrored_
}
ppdrsValidationErrors :: Lens' PutPipelineDefinitionResponse [ValidationError]
ppdrsValidationErrors = lens _ppdrsValidationErrors (\ s a -> s{_ppdrsValidationErrors = a}) . _Default . _Coerce;
ppdrsValidationWarnings :: Lens' PutPipelineDefinitionResponse [ValidationWarning]
ppdrsValidationWarnings = lens _ppdrsValidationWarnings (\ s a -> s{_ppdrsValidationWarnings = a}) . _Default . _Coerce;
ppdrsResponseStatus :: Lens' PutPipelineDefinitionResponse Int
ppdrsResponseStatus = lens _ppdrsResponseStatus (\ s a -> s{_ppdrsResponseStatus = a});
ppdrsErrored :: Lens' PutPipelineDefinitionResponse Bool
ppdrsErrored = lens _ppdrsErrored (\ s a -> s{_ppdrsErrored = a});