{-# 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.DescribeStateMachine
(
describeStateMachine
, DescribeStateMachine
, dsmStateMachineARN
, describeStateMachineResponse
, DescribeStateMachineResponse
, dsmrsStatus
, dsmrsResponseStatus
, dsmrsStateMachineARN
, dsmrsName
, dsmrsDefinition
, dsmrsRoleARN
, dsmrsCreationDate
) 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 DescribeStateMachine = DescribeStateMachine'
{ _dsmStateMachineARN :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStateMachine
:: Text
-> DescribeStateMachine
describeStateMachine pStateMachineARN_ =
DescribeStateMachine' {_dsmStateMachineARN = pStateMachineARN_}
dsmStateMachineARN :: Lens' DescribeStateMachine Text
dsmStateMachineARN = lens _dsmStateMachineARN (\ s a -> s{_dsmStateMachineARN = a})
instance AWSRequest DescribeStateMachine where
type Rs DescribeStateMachine =
DescribeStateMachineResponse
request = postJSON stepFunctions
response
= receiveJSON
(\ s h x ->
DescribeStateMachineResponse' <$>
(x .?> "status") <*> (pure (fromEnum s)) <*>
(x .:> "stateMachineArn")
<*> (x .:> "name")
<*> (x .:> "definition")
<*> (x .:> "roleArn")
<*> (x .:> "creationDate"))
instance Hashable DescribeStateMachine where
instance NFData DescribeStateMachine where
instance ToHeaders DescribeStateMachine where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSStepFunctions.DescribeStateMachine" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON DescribeStateMachine where
toJSON DescribeStateMachine'{..}
= object
(catMaybes
[Just ("stateMachineArn" .= _dsmStateMachineARN)])
instance ToPath DescribeStateMachine where
toPath = const "/"
instance ToQuery DescribeStateMachine where
toQuery = const mempty
data DescribeStateMachineResponse = DescribeStateMachineResponse'
{ _dsmrsStatus :: !(Maybe StateMachineStatus)
, _dsmrsResponseStatus :: !Int
, _dsmrsStateMachineARN :: !Text
, _dsmrsName :: !Text
, _dsmrsDefinition :: !Text
, _dsmrsRoleARN :: !Text
, _dsmrsCreationDate :: !POSIX
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStateMachineResponse
:: Int
-> Text
-> Text
-> Text
-> Text
-> UTCTime
-> DescribeStateMachineResponse
describeStateMachineResponse pResponseStatus_ pStateMachineARN_ pName_ pDefinition_ pRoleARN_ pCreationDate_ =
DescribeStateMachineResponse'
{ _dsmrsStatus = Nothing
, _dsmrsResponseStatus = pResponseStatus_
, _dsmrsStateMachineARN = pStateMachineARN_
, _dsmrsName = pName_
, _dsmrsDefinition = pDefinition_
, _dsmrsRoleARN = pRoleARN_
, _dsmrsCreationDate = _Time # pCreationDate_
}
dsmrsStatus :: Lens' DescribeStateMachineResponse (Maybe StateMachineStatus)
dsmrsStatus = lens _dsmrsStatus (\ s a -> s{_dsmrsStatus = a})
dsmrsResponseStatus :: Lens' DescribeStateMachineResponse Int
dsmrsResponseStatus = lens _dsmrsResponseStatus (\ s a -> s{_dsmrsResponseStatus = a})
dsmrsStateMachineARN :: Lens' DescribeStateMachineResponse Text
dsmrsStateMachineARN = lens _dsmrsStateMachineARN (\ s a -> s{_dsmrsStateMachineARN = a})
dsmrsName :: Lens' DescribeStateMachineResponse Text
dsmrsName = lens _dsmrsName (\ s a -> s{_dsmrsName = a})
dsmrsDefinition :: Lens' DescribeStateMachineResponse Text
dsmrsDefinition = lens _dsmrsDefinition (\ s a -> s{_dsmrsDefinition = a})
dsmrsRoleARN :: Lens' DescribeStateMachineResponse Text
dsmrsRoleARN = lens _dsmrsRoleARN (\ s a -> s{_dsmrsRoleARN = a})
dsmrsCreationDate :: Lens' DescribeStateMachineResponse UTCTime
dsmrsCreationDate = lens _dsmrsCreationDate (\ s a -> s{_dsmrsCreationDate = a}) . _Time
instance NFData DescribeStateMachineResponse where