{-# 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.PollForActivityTask
(
pollForActivityTask
, PollForActivityTask
, pfatIdentity
, pfatDomain
, pfatTaskList
, pollForActivityTaskResponse
, PollForActivityTaskResponse
, pfatrsActivityType
, pfatrsActivityId
, pfatrsInput
, pfatrsTaskToken
, pfatrsWorkflowExecution
, pfatrsResponseStatus
, pfatrsStartedEventId
) 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 PollForActivityTask = PollForActivityTask'
{ _pfatIdentity :: !(Maybe Text)
, _pfatDomain :: !Text
, _pfatTaskList :: !TaskList
} deriving (Eq,Read,Show,Data,Typeable,Generic)
pollForActivityTask
:: Text
-> TaskList
-> PollForActivityTask
pollForActivityTask pDomain_ pTaskList_ =
PollForActivityTask'
{ _pfatIdentity = Nothing
, _pfatDomain = pDomain_
, _pfatTaskList = pTaskList_
}
pfatIdentity :: Lens' PollForActivityTask (Maybe Text)
pfatIdentity = lens _pfatIdentity (\ s a -> s{_pfatIdentity = a});
pfatDomain :: Lens' PollForActivityTask Text
pfatDomain = lens _pfatDomain (\ s a -> s{_pfatDomain = a});
pfatTaskList :: Lens' PollForActivityTask TaskList
pfatTaskList = lens _pfatTaskList (\ s a -> s{_pfatTaskList = a});
instance AWSRequest PollForActivityTask where
type Rs PollForActivityTask =
PollForActivityTaskResponse
request = postJSON swf
response
= receiveJSON
(\ s h x ->
PollForActivityTaskResponse' <$>
(x .?> "activityType") <*> (x .?> "activityId") <*>
(x .?> "input")
<*> (x .?> "taskToken")
<*> (x .?> "workflowExecution")
<*> (pure (fromEnum s))
<*> (x .:> "startedEventId"))
instance Hashable PollForActivityTask
instance NFData PollForActivityTask
instance ToHeaders PollForActivityTask where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SimpleWorkflowService.PollForActivityTask" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON PollForActivityTask where
toJSON PollForActivityTask'{..}
= object
(catMaybes
[("identity" .=) <$> _pfatIdentity,
Just ("domain" .= _pfatDomain),
Just ("taskList" .= _pfatTaskList)])
instance ToPath PollForActivityTask where
toPath = const "/"
instance ToQuery PollForActivityTask where
toQuery = const mempty
data PollForActivityTaskResponse = PollForActivityTaskResponse'
{ _pfatrsActivityType :: !(Maybe ActivityType)
, _pfatrsActivityId :: !(Maybe Text)
, _pfatrsInput :: !(Maybe Text)
, _pfatrsTaskToken :: !(Maybe Text)
, _pfatrsWorkflowExecution :: !(Maybe WorkflowExecution)
, _pfatrsResponseStatus :: !Int
, _pfatrsStartedEventId :: !Integer
} deriving (Eq,Read,Show,Data,Typeable,Generic)
pollForActivityTaskResponse
:: Int
-> Integer
-> PollForActivityTaskResponse
pollForActivityTaskResponse pResponseStatus_ pStartedEventId_ =
PollForActivityTaskResponse'
{ _pfatrsActivityType = Nothing
, _pfatrsActivityId = Nothing
, _pfatrsInput = Nothing
, _pfatrsTaskToken = Nothing
, _pfatrsWorkflowExecution = Nothing
, _pfatrsResponseStatus = pResponseStatus_
, _pfatrsStartedEventId = pStartedEventId_
}
pfatrsActivityType :: Lens' PollForActivityTaskResponse (Maybe ActivityType)
pfatrsActivityType = lens _pfatrsActivityType (\ s a -> s{_pfatrsActivityType = a});
pfatrsActivityId :: Lens' PollForActivityTaskResponse (Maybe Text)
pfatrsActivityId = lens _pfatrsActivityId (\ s a -> s{_pfatrsActivityId = a});
pfatrsInput :: Lens' PollForActivityTaskResponse (Maybe Text)
pfatrsInput = lens _pfatrsInput (\ s a -> s{_pfatrsInput = a});
pfatrsTaskToken :: Lens' PollForActivityTaskResponse (Maybe Text)
pfatrsTaskToken = lens _pfatrsTaskToken (\ s a -> s{_pfatrsTaskToken = a});
pfatrsWorkflowExecution :: Lens' PollForActivityTaskResponse (Maybe WorkflowExecution)
pfatrsWorkflowExecution = lens _pfatrsWorkflowExecution (\ s a -> s{_pfatrsWorkflowExecution = a});
pfatrsResponseStatus :: Lens' PollForActivityTaskResponse Int
pfatrsResponseStatus = lens _pfatrsResponseStatus (\ s a -> s{_pfatrsResponseStatus = a});
pfatrsStartedEventId :: Lens' PollForActivityTaskResponse Integer
pfatrsStartedEventId = lens _pfatrsStartedEventId (\ s a -> s{_pfatrsStartedEventId = a});
instance NFData PollForActivityTaskResponse