module Network.AWS.Glue.GetDataflowGraph
(
getDataflowGraph
, GetDataflowGraph
, gdgPythonScript
, getDataflowGraphResponse
, GetDataflowGraphResponse
, gdgrsDagEdges
, gdgrsDagNodes
, gdgrsResponseStatus
) where
import Network.AWS.Glue.Types
import Network.AWS.Glue.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype GetDataflowGraph = GetDataflowGraph'
{ _gdgPythonScript :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDataflowGraph
:: GetDataflowGraph
getDataflowGraph = GetDataflowGraph' {_gdgPythonScript = Nothing}
gdgPythonScript :: Lens' GetDataflowGraph (Maybe Text)
gdgPythonScript = lens _gdgPythonScript (\ s a -> s{_gdgPythonScript = a});
instance AWSRequest GetDataflowGraph where
type Rs GetDataflowGraph = GetDataflowGraphResponse
request = postJSON glue
response
= receiveJSON
(\ s h x ->
GetDataflowGraphResponse' <$>
(x .?> "DagEdges" .!@ mempty) <*>
(x .?> "DagNodes" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetDataflowGraph where
instance NFData GetDataflowGraph where
instance ToHeaders GetDataflowGraph where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.GetDataflowGraph" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetDataflowGraph where
toJSON GetDataflowGraph'{..}
= object
(catMaybes
[("PythonScript" .=) <$> _gdgPythonScript])
instance ToPath GetDataflowGraph where
toPath = const "/"
instance ToQuery GetDataflowGraph where
toQuery = const mempty
data GetDataflowGraphResponse = GetDataflowGraphResponse'
{ _gdgrsDagEdges :: !(Maybe [CodeGenEdge])
, _gdgrsDagNodes :: !(Maybe [CodeGenNode])
, _gdgrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDataflowGraphResponse
:: Int
-> GetDataflowGraphResponse
getDataflowGraphResponse pResponseStatus_ =
GetDataflowGraphResponse'
{ _gdgrsDagEdges = Nothing
, _gdgrsDagNodes = Nothing
, _gdgrsResponseStatus = pResponseStatus_
}
gdgrsDagEdges :: Lens' GetDataflowGraphResponse [CodeGenEdge]
gdgrsDagEdges = lens _gdgrsDagEdges (\ s a -> s{_gdgrsDagEdges = a}) . _Default . _Coerce;
gdgrsDagNodes :: Lens' GetDataflowGraphResponse [CodeGenNode]
gdgrsDagNodes = lens _gdgrsDagNodes (\ s a -> s{_gdgrsDagNodes = a}) . _Default . _Coerce;
gdgrsResponseStatus :: Lens' GetDataflowGraphResponse Int
gdgrsResponseStatus = lens _gdgrsResponseStatus (\ s a -> s{_gdgrsResponseStatus = a});
instance NFData GetDataflowGraphResponse where