{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Glue.GetDataflowGraph
(
GetDataflowGraph (..),
newGetDataflowGraph,
getDataflowGraph_pythonScript,
GetDataflowGraphResponse (..),
newGetDataflowGraphResponse,
getDataflowGraphResponse_dagEdges,
getDataflowGraphResponse_dagNodes,
getDataflowGraphResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import Amazonka.Glue.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetDataflowGraph = GetDataflowGraph'
{
GetDataflowGraph -> Maybe Text
pythonScript :: Prelude.Maybe Prelude.Text
}
deriving (GetDataflowGraph -> GetDataflowGraph -> Bool
(GetDataflowGraph -> GetDataflowGraph -> Bool)
-> (GetDataflowGraph -> GetDataflowGraph -> Bool)
-> Eq GetDataflowGraph
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDataflowGraph -> GetDataflowGraph -> Bool
$c/= :: GetDataflowGraph -> GetDataflowGraph -> Bool
== :: GetDataflowGraph -> GetDataflowGraph -> Bool
$c== :: GetDataflowGraph -> GetDataflowGraph -> Bool
Prelude.Eq, ReadPrec [GetDataflowGraph]
ReadPrec GetDataflowGraph
Int -> ReadS GetDataflowGraph
ReadS [GetDataflowGraph]
(Int -> ReadS GetDataflowGraph)
-> ReadS [GetDataflowGraph]
-> ReadPrec GetDataflowGraph
-> ReadPrec [GetDataflowGraph]
-> Read GetDataflowGraph
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDataflowGraph]
$creadListPrec :: ReadPrec [GetDataflowGraph]
readPrec :: ReadPrec GetDataflowGraph
$creadPrec :: ReadPrec GetDataflowGraph
readList :: ReadS [GetDataflowGraph]
$creadList :: ReadS [GetDataflowGraph]
readsPrec :: Int -> ReadS GetDataflowGraph
$creadsPrec :: Int -> ReadS GetDataflowGraph
Prelude.Read, Int -> GetDataflowGraph -> ShowS
[GetDataflowGraph] -> ShowS
GetDataflowGraph -> String
(Int -> GetDataflowGraph -> ShowS)
-> (GetDataflowGraph -> String)
-> ([GetDataflowGraph] -> ShowS)
-> Show GetDataflowGraph
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDataflowGraph] -> ShowS
$cshowList :: [GetDataflowGraph] -> ShowS
show :: GetDataflowGraph -> String
$cshow :: GetDataflowGraph -> String
showsPrec :: Int -> GetDataflowGraph -> ShowS
$cshowsPrec :: Int -> GetDataflowGraph -> ShowS
Prelude.Show, (forall x. GetDataflowGraph -> Rep GetDataflowGraph x)
-> (forall x. Rep GetDataflowGraph x -> GetDataflowGraph)
-> Generic GetDataflowGraph
forall x. Rep GetDataflowGraph x -> GetDataflowGraph
forall x. GetDataflowGraph -> Rep GetDataflowGraph x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetDataflowGraph x -> GetDataflowGraph
$cfrom :: forall x. GetDataflowGraph -> Rep GetDataflowGraph x
Prelude.Generic)
newGetDataflowGraph ::
GetDataflowGraph
newGetDataflowGraph :: GetDataflowGraph
newGetDataflowGraph =
GetDataflowGraph' :: Maybe Text -> GetDataflowGraph
GetDataflowGraph' {$sel:pythonScript:GetDataflowGraph' :: Maybe Text
pythonScript = Maybe Text
forall a. Maybe a
Prelude.Nothing}
getDataflowGraph_pythonScript :: Lens.Lens' GetDataflowGraph (Prelude.Maybe Prelude.Text)
getDataflowGraph_pythonScript :: (Maybe Text -> f (Maybe Text))
-> GetDataflowGraph -> f GetDataflowGraph
getDataflowGraph_pythonScript = (GetDataflowGraph -> Maybe Text)
-> (GetDataflowGraph -> Maybe Text -> GetDataflowGraph)
-> Lens GetDataflowGraph GetDataflowGraph (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataflowGraph' {Maybe Text
pythonScript :: Maybe Text
$sel:pythonScript:GetDataflowGraph' :: GetDataflowGraph -> Maybe Text
pythonScript} -> Maybe Text
pythonScript) (\s :: GetDataflowGraph
s@GetDataflowGraph' {} Maybe Text
a -> GetDataflowGraph
s {$sel:pythonScript:GetDataflowGraph' :: Maybe Text
pythonScript = Maybe Text
a} :: GetDataflowGraph)
instance Core.AWSRequest GetDataflowGraph where
type
AWSResponse GetDataflowGraph =
GetDataflowGraphResponse
request :: GetDataflowGraph -> Request GetDataflowGraph
request = Service -> GetDataflowGraph -> Request GetDataflowGraph
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
response :: Logger
-> Service
-> Proxy GetDataflowGraph
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetDataflowGraph)))
response =
(Int
-> ResponseHeaders
-> Object
-> Either String (AWSResponse GetDataflowGraph))
-> Logger
-> Service
-> Proxy GetDataflowGraph
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetDataflowGraph)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [CodeGenEdge]
-> Maybe [CodeGenNode] -> Int -> GetDataflowGraphResponse
GetDataflowGraphResponse'
(Maybe [CodeGenEdge]
-> Maybe [CodeGenNode] -> Int -> GetDataflowGraphResponse)
-> Either String (Maybe [CodeGenEdge])
-> Either
String (Maybe [CodeGenNode] -> Int -> GetDataflowGraphResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe (Maybe [CodeGenEdge]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DagEdges" Either String (Maybe (Maybe [CodeGenEdge]))
-> Maybe [CodeGenEdge] -> Either String (Maybe [CodeGenEdge])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [CodeGenEdge]
forall a. Monoid a => a
Prelude.mempty)
Either
String (Maybe [CodeGenNode] -> Int -> GetDataflowGraphResponse)
-> Either String (Maybe [CodeGenNode])
-> Either String (Int -> GetDataflowGraphResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [CodeGenNode]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DagNodes" Either String (Maybe (Maybe [CodeGenNode]))
-> Maybe [CodeGenNode] -> Either String (Maybe [CodeGenNode])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [CodeGenNode]
forall a. Monoid a => a
Prelude.mempty)
Either String (Int -> GetDataflowGraphResponse)
-> Either String Int -> Either String GetDataflowGraphResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetDataflowGraph
instance Prelude.NFData GetDataflowGraph
instance Core.ToHeaders GetDataflowGraph where
toHeaders :: GetDataflowGraph -> ResponseHeaders
toHeaders =
ResponseHeaders -> GetDataflowGraph -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# (ByteString
"AWSGlue.GetDataflowGraph" :: Prelude.ByteString),
HeaderName
"Content-Type"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Core.ToJSON GetDataflowGraph where
toJSON :: GetDataflowGraph -> Value
toJSON GetDataflowGraph' {Maybe Text
pythonScript :: Maybe Text
$sel:pythonScript:GetDataflowGraph' :: GetDataflowGraph -> Maybe Text
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Text
"PythonScript" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
pythonScript]
)
instance Core.ToPath GetDataflowGraph where
toPath :: GetDataflowGraph -> ByteString
toPath = ByteString -> GetDataflowGraph -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Core.ToQuery GetDataflowGraph where
toQuery :: GetDataflowGraph -> QueryString
toQuery = QueryString -> GetDataflowGraph -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty
data GetDataflowGraphResponse = GetDataflowGraphResponse'
{
GetDataflowGraphResponse -> Maybe [CodeGenEdge]
dagEdges :: Prelude.Maybe [CodeGenEdge],
GetDataflowGraphResponse -> Maybe [CodeGenNode]
dagNodes :: Prelude.Maybe [CodeGenNode],
GetDataflowGraphResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool
(GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool)
-> (GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool)
-> Eq GetDataflowGraphResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool
$c/= :: GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool
== :: GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool
$c== :: GetDataflowGraphResponse -> GetDataflowGraphResponse -> Bool
Prelude.Eq, ReadPrec [GetDataflowGraphResponse]
ReadPrec GetDataflowGraphResponse
Int -> ReadS GetDataflowGraphResponse
ReadS [GetDataflowGraphResponse]
(Int -> ReadS GetDataflowGraphResponse)
-> ReadS [GetDataflowGraphResponse]
-> ReadPrec GetDataflowGraphResponse
-> ReadPrec [GetDataflowGraphResponse]
-> Read GetDataflowGraphResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDataflowGraphResponse]
$creadListPrec :: ReadPrec [GetDataflowGraphResponse]
readPrec :: ReadPrec GetDataflowGraphResponse
$creadPrec :: ReadPrec GetDataflowGraphResponse
readList :: ReadS [GetDataflowGraphResponse]
$creadList :: ReadS [GetDataflowGraphResponse]
readsPrec :: Int -> ReadS GetDataflowGraphResponse
$creadsPrec :: Int -> ReadS GetDataflowGraphResponse
Prelude.Read, Int -> GetDataflowGraphResponse -> ShowS
[GetDataflowGraphResponse] -> ShowS
GetDataflowGraphResponse -> String
(Int -> GetDataflowGraphResponse -> ShowS)
-> (GetDataflowGraphResponse -> String)
-> ([GetDataflowGraphResponse] -> ShowS)
-> Show GetDataflowGraphResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDataflowGraphResponse] -> ShowS
$cshowList :: [GetDataflowGraphResponse] -> ShowS
show :: GetDataflowGraphResponse -> String
$cshow :: GetDataflowGraphResponse -> String
showsPrec :: Int -> GetDataflowGraphResponse -> ShowS
$cshowsPrec :: Int -> GetDataflowGraphResponse -> ShowS
Prelude.Show, (forall x.
GetDataflowGraphResponse -> Rep GetDataflowGraphResponse x)
-> (forall x.
Rep GetDataflowGraphResponse x -> GetDataflowGraphResponse)
-> Generic GetDataflowGraphResponse
forall x.
Rep GetDataflowGraphResponse x -> GetDataflowGraphResponse
forall x.
GetDataflowGraphResponse -> Rep GetDataflowGraphResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetDataflowGraphResponse x -> GetDataflowGraphResponse
$cfrom :: forall x.
GetDataflowGraphResponse -> Rep GetDataflowGraphResponse x
Prelude.Generic)
newGetDataflowGraphResponse ::
Prelude.Int ->
GetDataflowGraphResponse
newGetDataflowGraphResponse :: Int -> GetDataflowGraphResponse
newGetDataflowGraphResponse Int
pHttpStatus_ =
GetDataflowGraphResponse' :: Maybe [CodeGenEdge]
-> Maybe [CodeGenNode] -> Int -> GetDataflowGraphResponse
GetDataflowGraphResponse'
{ $sel:dagEdges:GetDataflowGraphResponse' :: Maybe [CodeGenEdge]
dagEdges =
Maybe [CodeGenEdge]
forall a. Maybe a
Prelude.Nothing,
$sel:dagNodes:GetDataflowGraphResponse' :: Maybe [CodeGenNode]
dagNodes = Maybe [CodeGenNode]
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetDataflowGraphResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getDataflowGraphResponse_dagEdges :: Lens.Lens' GetDataflowGraphResponse (Prelude.Maybe [CodeGenEdge])
getDataflowGraphResponse_dagEdges :: (Maybe [CodeGenEdge] -> f (Maybe [CodeGenEdge]))
-> GetDataflowGraphResponse -> f GetDataflowGraphResponse
getDataflowGraphResponse_dagEdges = (GetDataflowGraphResponse -> Maybe [CodeGenEdge])
-> (GetDataflowGraphResponse
-> Maybe [CodeGenEdge] -> GetDataflowGraphResponse)
-> Lens
GetDataflowGraphResponse
GetDataflowGraphResponse
(Maybe [CodeGenEdge])
(Maybe [CodeGenEdge])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataflowGraphResponse' {Maybe [CodeGenEdge]
dagEdges :: Maybe [CodeGenEdge]
$sel:dagEdges:GetDataflowGraphResponse' :: GetDataflowGraphResponse -> Maybe [CodeGenEdge]
dagEdges} -> Maybe [CodeGenEdge]
dagEdges) (\s :: GetDataflowGraphResponse
s@GetDataflowGraphResponse' {} Maybe [CodeGenEdge]
a -> GetDataflowGraphResponse
s {$sel:dagEdges:GetDataflowGraphResponse' :: Maybe [CodeGenEdge]
dagEdges = Maybe [CodeGenEdge]
a} :: GetDataflowGraphResponse) ((Maybe [CodeGenEdge] -> f (Maybe [CodeGenEdge]))
-> GetDataflowGraphResponse -> f GetDataflowGraphResponse)
-> ((Maybe [CodeGenEdge] -> f (Maybe [CodeGenEdge]))
-> Maybe [CodeGenEdge] -> f (Maybe [CodeGenEdge]))
-> (Maybe [CodeGenEdge] -> f (Maybe [CodeGenEdge]))
-> GetDataflowGraphResponse
-> f GetDataflowGraphResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [CodeGenEdge] [CodeGenEdge] [CodeGenEdge] [CodeGenEdge]
-> Iso
(Maybe [CodeGenEdge])
(Maybe [CodeGenEdge])
(Maybe [CodeGenEdge])
(Maybe [CodeGenEdge])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [CodeGenEdge] [CodeGenEdge] [CodeGenEdge] [CodeGenEdge]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getDataflowGraphResponse_dagNodes :: Lens.Lens' GetDataflowGraphResponse (Prelude.Maybe [CodeGenNode])
getDataflowGraphResponse_dagNodes :: (Maybe [CodeGenNode] -> f (Maybe [CodeGenNode]))
-> GetDataflowGraphResponse -> f GetDataflowGraphResponse
getDataflowGraphResponse_dagNodes = (GetDataflowGraphResponse -> Maybe [CodeGenNode])
-> (GetDataflowGraphResponse
-> Maybe [CodeGenNode] -> GetDataflowGraphResponse)
-> Lens
GetDataflowGraphResponse
GetDataflowGraphResponse
(Maybe [CodeGenNode])
(Maybe [CodeGenNode])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataflowGraphResponse' {Maybe [CodeGenNode]
dagNodes :: Maybe [CodeGenNode]
$sel:dagNodes:GetDataflowGraphResponse' :: GetDataflowGraphResponse -> Maybe [CodeGenNode]
dagNodes} -> Maybe [CodeGenNode]
dagNodes) (\s :: GetDataflowGraphResponse
s@GetDataflowGraphResponse' {} Maybe [CodeGenNode]
a -> GetDataflowGraphResponse
s {$sel:dagNodes:GetDataflowGraphResponse' :: Maybe [CodeGenNode]
dagNodes = Maybe [CodeGenNode]
a} :: GetDataflowGraphResponse) ((Maybe [CodeGenNode] -> f (Maybe [CodeGenNode]))
-> GetDataflowGraphResponse -> f GetDataflowGraphResponse)
-> ((Maybe [CodeGenNode] -> f (Maybe [CodeGenNode]))
-> Maybe [CodeGenNode] -> f (Maybe [CodeGenNode]))
-> (Maybe [CodeGenNode] -> f (Maybe [CodeGenNode]))
-> GetDataflowGraphResponse
-> f GetDataflowGraphResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [CodeGenNode] [CodeGenNode] [CodeGenNode] [CodeGenNode]
-> Iso
(Maybe [CodeGenNode])
(Maybe [CodeGenNode])
(Maybe [CodeGenNode])
(Maybe [CodeGenNode])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [CodeGenNode] [CodeGenNode] [CodeGenNode] [CodeGenNode]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getDataflowGraphResponse_httpStatus :: Lens.Lens' GetDataflowGraphResponse Prelude.Int
getDataflowGraphResponse_httpStatus :: (Int -> f Int)
-> GetDataflowGraphResponse -> f GetDataflowGraphResponse
getDataflowGraphResponse_httpStatus = (GetDataflowGraphResponse -> Int)
-> (GetDataflowGraphResponse -> Int -> GetDataflowGraphResponse)
-> Lens GetDataflowGraphResponse GetDataflowGraphResponse Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataflowGraphResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetDataflowGraphResponse' :: GetDataflowGraphResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetDataflowGraphResponse
s@GetDataflowGraphResponse' {} Int
a -> GetDataflowGraphResponse
s {$sel:httpStatus:GetDataflowGraphResponse' :: Int
httpStatus = Int
a} :: GetDataflowGraphResponse)
instance Prelude.NFData GetDataflowGraphResponse