{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.StepFunctions.DescribeExecution
(
describeExecution
, DescribeExecution
, deExecutionARN
, describeExecutionResponse
, DescribeExecutionResponse
, dersStopDate
, dersName
, dersOutput
, dersResponseStatus
, dersExecutionARN
, dersStateMachineARN
, dersStatus
, dersStartDate
, dersInput
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StepFunctions.Types
import Network.AWS.StepFunctions.Types.Product
newtype DescribeExecution = DescribeExecution'
{ _deExecutionARN :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeExecution
:: Text
-> DescribeExecution
describeExecution pExecutionARN_ =
DescribeExecution' {_deExecutionARN = pExecutionARN_}
deExecutionARN :: Lens' DescribeExecution Text
deExecutionARN = lens _deExecutionARN (\ s a -> s{_deExecutionARN = a})
instance AWSRequest DescribeExecution where
type Rs DescribeExecution = DescribeExecutionResponse
request = postJSON stepFunctions
response
= receiveJSON
(\ s h x ->
DescribeExecutionResponse' <$>
(x .?> "stopDate") <*> (x .?> "name") <*>
(x .?> "output")
<*> (pure (fromEnum s))
<*> (x .:> "executionArn")
<*> (x .:> "stateMachineArn")
<*> (x .:> "status")
<*> (x .:> "startDate")
<*> (x .:> "input"))
instance Hashable DescribeExecution where
instance NFData DescribeExecution where
instance ToHeaders DescribeExecution where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSStepFunctions.DescribeExecution" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON DescribeExecution where
toJSON DescribeExecution'{..}
= object
(catMaybes
[Just ("executionArn" .= _deExecutionARN)])
instance ToPath DescribeExecution where
toPath = const "/"
instance ToQuery DescribeExecution where
toQuery = const mempty
data DescribeExecutionResponse = DescribeExecutionResponse'
{ _dersStopDate :: !(Maybe POSIX)
, _dersName :: !(Maybe Text)
, _dersOutput :: !(Maybe Text)
, _dersResponseStatus :: !Int
, _dersExecutionARN :: !Text
, _dersStateMachineARN :: !Text
, _dersStatus :: !ExecutionStatus
, _dersStartDate :: !POSIX
, _dersInput :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeExecutionResponse
:: Int
-> Text
-> Text
-> ExecutionStatus
-> UTCTime
-> Text
-> DescribeExecutionResponse
describeExecutionResponse pResponseStatus_ pExecutionARN_ pStateMachineARN_ pStatus_ pStartDate_ pInput_ =
DescribeExecutionResponse'
{ _dersStopDate = Nothing
, _dersName = Nothing
, _dersOutput = Nothing
, _dersResponseStatus = pResponseStatus_
, _dersExecutionARN = pExecutionARN_
, _dersStateMachineARN = pStateMachineARN_
, _dersStatus = pStatus_
, _dersStartDate = _Time # pStartDate_
, _dersInput = pInput_
}
dersStopDate :: Lens' DescribeExecutionResponse (Maybe UTCTime)
dersStopDate = lens _dersStopDate (\ s a -> s{_dersStopDate = a}) . mapping _Time
dersName :: Lens' DescribeExecutionResponse (Maybe Text)
dersName = lens _dersName (\ s a -> s{_dersName = a})
dersOutput :: Lens' DescribeExecutionResponse (Maybe Text)
dersOutput = lens _dersOutput (\ s a -> s{_dersOutput = a})
dersResponseStatus :: Lens' DescribeExecutionResponse Int
dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a})
dersExecutionARN :: Lens' DescribeExecutionResponse Text
dersExecutionARN = lens _dersExecutionARN (\ s a -> s{_dersExecutionARN = a})
dersStateMachineARN :: Lens' DescribeExecutionResponse Text
dersStateMachineARN = lens _dersStateMachineARN (\ s a -> s{_dersStateMachineARN = a})
dersStatus :: Lens' DescribeExecutionResponse ExecutionStatus
dersStatus = lens _dersStatus (\ s a -> s{_dersStatus = a})
dersStartDate :: Lens' DescribeExecutionResponse UTCTime
dersStartDate = lens _dersStartDate (\ s a -> s{_dersStartDate = a}) . _Time
dersInput :: Lens' DescribeExecutionResponse Text
dersInput = lens _dersInput (\ s a -> s{_dersInput = a})
instance NFData DescribeExecutionResponse where