{-# 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.SWF.RespondDecisionTaskCompleted
(
respondDecisionTaskCompleted
, RespondDecisionTaskCompleted
, rdtcDecisions
, rdtcExecutionContext
, rdtcTaskToken
, respondDecisionTaskCompletedResponse
, RespondDecisionTaskCompletedResponse
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SWF.Types
import Network.AWS.SWF.Types.Product
data RespondDecisionTaskCompleted = RespondDecisionTaskCompleted'
{ _rdtcDecisions :: !(Maybe [Decision])
, _rdtcExecutionContext :: !(Maybe Text)
, _rdtcTaskToken :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
respondDecisionTaskCompleted
:: Text
-> RespondDecisionTaskCompleted
respondDecisionTaskCompleted pTaskToken_ =
RespondDecisionTaskCompleted'
{ _rdtcDecisions = Nothing
, _rdtcExecutionContext = Nothing
, _rdtcTaskToken = pTaskToken_
}
rdtcDecisions :: Lens' RespondDecisionTaskCompleted [Decision]
rdtcDecisions = lens _rdtcDecisions (\ s a -> s{_rdtcDecisions = a}) . _Default . _Coerce;
rdtcExecutionContext :: Lens' RespondDecisionTaskCompleted (Maybe Text)
rdtcExecutionContext = lens _rdtcExecutionContext (\ s a -> s{_rdtcExecutionContext = a});
rdtcTaskToken :: Lens' RespondDecisionTaskCompleted Text
rdtcTaskToken = lens _rdtcTaskToken (\ s a -> s{_rdtcTaskToken = a});
instance AWSRequest RespondDecisionTaskCompleted
where
type Rs RespondDecisionTaskCompleted =
RespondDecisionTaskCompletedResponse
request = postJSON swf
response
= receiveNull RespondDecisionTaskCompletedResponse'
instance Hashable RespondDecisionTaskCompleted
instance NFData RespondDecisionTaskCompleted
instance ToHeaders RespondDecisionTaskCompleted where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SimpleWorkflowService.RespondDecisionTaskCompleted"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON RespondDecisionTaskCompleted where
toJSON RespondDecisionTaskCompleted'{..}
= object
(catMaybes
[("decisions" .=) <$> _rdtcDecisions,
("executionContext" .=) <$> _rdtcExecutionContext,
Just ("taskToken" .= _rdtcTaskToken)])
instance ToPath RespondDecisionTaskCompleted where
toPath = const "/"
instance ToQuery RespondDecisionTaskCompleted where
toQuery = const mempty
data RespondDecisionTaskCompletedResponse =
RespondDecisionTaskCompletedResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
respondDecisionTaskCompletedResponse
:: RespondDecisionTaskCompletedResponse
respondDecisionTaskCompletedResponse = RespondDecisionTaskCompletedResponse'
instance NFData RespondDecisionTaskCompletedResponse