{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.StepFunctions.SendTaskHeartbeat -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Used by workers to report to the service that the task represented by the specified @taskToken@ is still making progress. This action resets the @Heartbeat@ clock. The @Heartbeat@ threshold is specified in the state machine's Amazon States Language definition. This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an @ActivityTimedOut@ event. -- -- module Network.AWS.StepFunctions.SendTaskHeartbeat ( -- * Creating a Request sendTaskHeartbeat , SendTaskHeartbeat -- * Request Lenses , sthTaskToken -- * Destructuring the Response , sendTaskHeartbeatResponse , SendTaskHeartbeatResponse -- * Response Lenses , sthrsResponseStatus ) 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 -- | /See:/ 'sendTaskHeartbeat' smart constructor. newtype SendTaskHeartbeat = SendTaskHeartbeat' { _sthTaskToken :: Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'SendTaskHeartbeat' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sthTaskToken' - The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see 'GetActivityTaskOutput$taskToken' ). sendTaskHeartbeat :: Text -- ^ 'sthTaskToken' -> SendTaskHeartbeat sendTaskHeartbeat pTaskToken_ = SendTaskHeartbeat' {_sthTaskToken = pTaskToken_} -- | The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see 'GetActivityTaskOutput$taskToken' ). sthTaskToken :: Lens' SendTaskHeartbeat Text sthTaskToken = lens _sthTaskToken (\ s a -> s{_sthTaskToken = a}) instance AWSRequest SendTaskHeartbeat where type Rs SendTaskHeartbeat = SendTaskHeartbeatResponse request = postJSON stepFunctions response = receiveEmpty (\ s h x -> SendTaskHeartbeatResponse' <$> (pure (fromEnum s))) instance Hashable SendTaskHeartbeat where instance NFData SendTaskHeartbeat where instance ToHeaders SendTaskHeartbeat where toHeaders = const (mconcat ["X-Amz-Target" =# ("AWSStepFunctions.SendTaskHeartbeat" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.0" :: ByteString)]) instance ToJSON SendTaskHeartbeat where toJSON SendTaskHeartbeat'{..} = object (catMaybes [Just ("taskToken" .= _sthTaskToken)]) instance ToPath SendTaskHeartbeat where toPath = const "/" instance ToQuery SendTaskHeartbeat where toQuery = const mempty -- | /See:/ 'sendTaskHeartbeatResponse' smart constructor. newtype SendTaskHeartbeatResponse = SendTaskHeartbeatResponse' { _sthrsResponseStatus :: Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'SendTaskHeartbeatResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sthrsResponseStatus' - -- | The response status code. sendTaskHeartbeatResponse :: Int -- ^ 'sthrsResponseStatus' -> SendTaskHeartbeatResponse sendTaskHeartbeatResponse pResponseStatus_ = SendTaskHeartbeatResponse' {_sthrsResponseStatus = pResponseStatus_} -- | -- | The response status code. sthrsResponseStatus :: Lens' SendTaskHeartbeatResponse Int sthrsResponseStatus = lens _sthrsResponseStatus (\ s a -> s{_sthrsResponseStatus = a}) instance NFData SendTaskHeartbeatResponse where