{-# 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.Transfer.DescribeExecution
(
DescribeExecution (..),
newDescribeExecution,
describeExecution_executionId,
describeExecution_workflowId,
DescribeExecutionResponse (..),
newDescribeExecutionResponse,
describeExecutionResponse_httpStatus,
describeExecutionResponse_workflowId,
describeExecutionResponse_execution,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Transfer.Types
data DescribeExecution = DescribeExecution'
{
DescribeExecution -> Text
executionId :: Prelude.Text,
DescribeExecution -> Text
workflowId :: Prelude.Text
}
deriving (DescribeExecution -> DescribeExecution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeExecution -> DescribeExecution -> Bool
$c/= :: DescribeExecution -> DescribeExecution -> Bool
== :: DescribeExecution -> DescribeExecution -> Bool
$c== :: DescribeExecution -> DescribeExecution -> Bool
Prelude.Eq, ReadPrec [DescribeExecution]
ReadPrec DescribeExecution
Int -> ReadS DescribeExecution
ReadS [DescribeExecution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeExecution]
$creadListPrec :: ReadPrec [DescribeExecution]
readPrec :: ReadPrec DescribeExecution
$creadPrec :: ReadPrec DescribeExecution
readList :: ReadS [DescribeExecution]
$creadList :: ReadS [DescribeExecution]
readsPrec :: Int -> ReadS DescribeExecution
$creadsPrec :: Int -> ReadS DescribeExecution
Prelude.Read, Int -> DescribeExecution -> ShowS
[DescribeExecution] -> ShowS
DescribeExecution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeExecution] -> ShowS
$cshowList :: [DescribeExecution] -> ShowS
show :: DescribeExecution -> String
$cshow :: DescribeExecution -> String
showsPrec :: Int -> DescribeExecution -> ShowS
$cshowsPrec :: Int -> DescribeExecution -> ShowS
Prelude.Show, forall x. Rep DescribeExecution x -> DescribeExecution
forall x. DescribeExecution -> Rep DescribeExecution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeExecution x -> DescribeExecution
$cfrom :: forall x. DescribeExecution -> Rep DescribeExecution x
Prelude.Generic)
newDescribeExecution ::
Prelude.Text ->
Prelude.Text ->
DescribeExecution
newDescribeExecution :: Text -> Text -> DescribeExecution
newDescribeExecution Text
pExecutionId_ Text
pWorkflowId_ =
DescribeExecution'
{ $sel:executionId:DescribeExecution' :: Text
executionId = Text
pExecutionId_,
$sel:workflowId:DescribeExecution' :: Text
workflowId = Text
pWorkflowId_
}
describeExecution_executionId :: Lens.Lens' DescribeExecution Prelude.Text
describeExecution_executionId :: Lens' DescribeExecution Text
describeExecution_executionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExecution' {Text
executionId :: Text
$sel:executionId:DescribeExecution' :: DescribeExecution -> Text
executionId} -> Text
executionId) (\s :: DescribeExecution
s@DescribeExecution' {} Text
a -> DescribeExecution
s {$sel:executionId:DescribeExecution' :: Text
executionId = Text
a} :: DescribeExecution)
describeExecution_workflowId :: Lens.Lens' DescribeExecution Prelude.Text
describeExecution_workflowId :: Lens' DescribeExecution Text
describeExecution_workflowId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExecution' {Text
workflowId :: Text
$sel:workflowId:DescribeExecution' :: DescribeExecution -> Text
workflowId} -> Text
workflowId) (\s :: DescribeExecution
s@DescribeExecution' {} Text
a -> DescribeExecution
s {$sel:workflowId:DescribeExecution' :: Text
workflowId = Text
a} :: DescribeExecution)
instance Core.AWSRequest DescribeExecution where
type
AWSResponse DescribeExecution =
DescribeExecutionResponse
request :: (Service -> Service)
-> DescribeExecution -> Request DescribeExecution
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeExecution
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeExecution)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> Text -> DescribedExecution -> DescribeExecutionResponse
DescribeExecutionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"WorkflowId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Execution")
)
instance Prelude.Hashable DescribeExecution where
hashWithSalt :: Int -> DescribeExecution -> Int
hashWithSalt Int
_salt DescribeExecution' {Text
workflowId :: Text
executionId :: Text
$sel:workflowId:DescribeExecution' :: DescribeExecution -> Text
$sel:executionId:DescribeExecution' :: DescribeExecution -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
executionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workflowId
instance Prelude.NFData DescribeExecution where
rnf :: DescribeExecution -> ()
rnf DescribeExecution' {Text
workflowId :: Text
executionId :: Text
$sel:workflowId:DescribeExecution' :: DescribeExecution -> Text
$sel:executionId:DescribeExecution' :: DescribeExecution -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
executionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workflowId
instance Data.ToHeaders DescribeExecution where
toHeaders :: DescribeExecution -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"TransferService.DescribeExecution" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeExecution where
toJSON :: DescribeExecution -> Value
toJSON DescribeExecution' {Text
workflowId :: Text
executionId :: Text
$sel:workflowId:DescribeExecution' :: DescribeExecution -> Text
$sel:executionId:DescribeExecution' :: DescribeExecution -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"ExecutionId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
executionId),
forall a. a -> Maybe a
Prelude.Just (Key
"WorkflowId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
workflowId)
]
)
instance Data.ToPath DescribeExecution where
toPath :: DescribeExecution -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeExecution where
toQuery :: DescribeExecution -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeExecutionResponse = DescribeExecutionResponse'
{
DescribeExecutionResponse -> Int
httpStatus :: Prelude.Int,
DescribeExecutionResponse -> Text
workflowId :: Prelude.Text,
DescribeExecutionResponse -> DescribedExecution
execution :: DescribedExecution
}
deriving (DescribeExecutionResponse -> DescribeExecutionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeExecutionResponse -> DescribeExecutionResponse -> Bool
$c/= :: DescribeExecutionResponse -> DescribeExecutionResponse -> Bool
== :: DescribeExecutionResponse -> DescribeExecutionResponse -> Bool
$c== :: DescribeExecutionResponse -> DescribeExecutionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeExecutionResponse]
ReadPrec DescribeExecutionResponse
Int -> ReadS DescribeExecutionResponse
ReadS [DescribeExecutionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeExecutionResponse]
$creadListPrec :: ReadPrec [DescribeExecutionResponse]
readPrec :: ReadPrec DescribeExecutionResponse
$creadPrec :: ReadPrec DescribeExecutionResponse
readList :: ReadS [DescribeExecutionResponse]
$creadList :: ReadS [DescribeExecutionResponse]
readsPrec :: Int -> ReadS DescribeExecutionResponse
$creadsPrec :: Int -> ReadS DescribeExecutionResponse
Prelude.Read, Int -> DescribeExecutionResponse -> ShowS
[DescribeExecutionResponse] -> ShowS
DescribeExecutionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeExecutionResponse] -> ShowS
$cshowList :: [DescribeExecutionResponse] -> ShowS
show :: DescribeExecutionResponse -> String
$cshow :: DescribeExecutionResponse -> String
showsPrec :: Int -> DescribeExecutionResponse -> ShowS
$cshowsPrec :: Int -> DescribeExecutionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeExecutionResponse x -> DescribeExecutionResponse
forall x.
DescribeExecutionResponse -> Rep DescribeExecutionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeExecutionResponse x -> DescribeExecutionResponse
$cfrom :: forall x.
DescribeExecutionResponse -> Rep DescribeExecutionResponse x
Prelude.Generic)
newDescribeExecutionResponse ::
Prelude.Int ->
Prelude.Text ->
DescribedExecution ->
DescribeExecutionResponse
newDescribeExecutionResponse :: Int -> Text -> DescribedExecution -> DescribeExecutionResponse
newDescribeExecutionResponse
Int
pHttpStatus_
Text
pWorkflowId_
DescribedExecution
pExecution_ =
DescribeExecutionResponse'
{ $sel:httpStatus:DescribeExecutionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:workflowId:DescribeExecutionResponse' :: Text
workflowId = Text
pWorkflowId_,
$sel:execution:DescribeExecutionResponse' :: DescribedExecution
execution = DescribedExecution
pExecution_
}
describeExecutionResponse_httpStatus :: Lens.Lens' DescribeExecutionResponse Prelude.Int
describeExecutionResponse_httpStatus :: Lens' DescribeExecutionResponse Int
describeExecutionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExecutionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeExecutionResponse' :: DescribeExecutionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeExecutionResponse
s@DescribeExecutionResponse' {} Int
a -> DescribeExecutionResponse
s {$sel:httpStatus:DescribeExecutionResponse' :: Int
httpStatus = Int
a} :: DescribeExecutionResponse)
describeExecutionResponse_workflowId :: Lens.Lens' DescribeExecutionResponse Prelude.Text
describeExecutionResponse_workflowId :: Lens' DescribeExecutionResponse Text
describeExecutionResponse_workflowId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExecutionResponse' {Text
workflowId :: Text
$sel:workflowId:DescribeExecutionResponse' :: DescribeExecutionResponse -> Text
workflowId} -> Text
workflowId) (\s :: DescribeExecutionResponse
s@DescribeExecutionResponse' {} Text
a -> DescribeExecutionResponse
s {$sel:workflowId:DescribeExecutionResponse' :: Text
workflowId = Text
a} :: DescribeExecutionResponse)
describeExecutionResponse_execution :: Lens.Lens' DescribeExecutionResponse DescribedExecution
describeExecutionResponse_execution :: Lens' DescribeExecutionResponse DescribedExecution
describeExecutionResponse_execution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExecutionResponse' {DescribedExecution
execution :: DescribedExecution
$sel:execution:DescribeExecutionResponse' :: DescribeExecutionResponse -> DescribedExecution
execution} -> DescribedExecution
execution) (\s :: DescribeExecutionResponse
s@DescribeExecutionResponse' {} DescribedExecution
a -> DescribeExecutionResponse
s {$sel:execution:DescribeExecutionResponse' :: DescribedExecution
execution = DescribedExecution
a} :: DescribeExecutionResponse)
instance Prelude.NFData DescribeExecutionResponse where
rnf :: DescribeExecutionResponse -> ()
rnf DescribeExecutionResponse' {Int
Text
DescribedExecution
execution :: DescribedExecution
workflowId :: Text
httpStatus :: Int
$sel:execution:DescribeExecutionResponse' :: DescribeExecutionResponse -> DescribedExecution
$sel:workflowId:DescribeExecutionResponse' :: DescribeExecutionResponse -> Text
$sel:httpStatus:DescribeExecutionResponse' :: DescribeExecutionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workflowId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DescribedExecution
execution