{-# 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.DataPipeline.ReportTaskProgress
(
reportTaskProgress
, ReportTaskProgress
, rtpFields
, rtpTaskId
, reportTaskProgressResponse
, ReportTaskProgressResponse
, rtprsResponseStatus
, rtprsCanceled
) where
import Network.AWS.DataPipeline.Types
import Network.AWS.DataPipeline.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ReportTaskProgress = ReportTaskProgress'
{ _rtpFields :: !(Maybe [Field])
, _rtpTaskId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
reportTaskProgress
:: Text
-> ReportTaskProgress
reportTaskProgress pTaskId_ =
ReportTaskProgress' {_rtpFields = Nothing, _rtpTaskId = pTaskId_}
rtpFields :: Lens' ReportTaskProgress [Field]
rtpFields = lens _rtpFields (\ s a -> s{_rtpFields = a}) . _Default . _Coerce
rtpTaskId :: Lens' ReportTaskProgress Text
rtpTaskId = lens _rtpTaskId (\ s a -> s{_rtpTaskId = a})
instance AWSRequest ReportTaskProgress where
type Rs ReportTaskProgress =
ReportTaskProgressResponse
request = postJSON dataPipeline
response
= receiveJSON
(\ s h x ->
ReportTaskProgressResponse' <$>
(pure (fromEnum s)) <*> (x .:> "canceled"))
instance Hashable ReportTaskProgress where
instance NFData ReportTaskProgress where
instance ToHeaders ReportTaskProgress where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DataPipeline.ReportTaskProgress" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ReportTaskProgress where
toJSON ReportTaskProgress'{..}
= object
(catMaybes
[("fields" .=) <$> _rtpFields,
Just ("taskId" .= _rtpTaskId)])
instance ToPath ReportTaskProgress where
toPath = const "/"
instance ToQuery ReportTaskProgress where
toQuery = const mempty
data ReportTaskProgressResponse = ReportTaskProgressResponse'
{ _rtprsResponseStatus :: !Int
, _rtprsCanceled :: !Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
reportTaskProgressResponse
:: Int
-> Bool
-> ReportTaskProgressResponse
reportTaskProgressResponse pResponseStatus_ pCanceled_ =
ReportTaskProgressResponse'
{_rtprsResponseStatus = pResponseStatus_, _rtprsCanceled = pCanceled_}
rtprsResponseStatus :: Lens' ReportTaskProgressResponse Int
rtprsResponseStatus = lens _rtprsResponseStatus (\ s a -> s{_rtprsResponseStatus = a})
rtprsCanceled :: Lens' ReportTaskProgressResponse Bool
rtprsCanceled = lens _rtprsCanceled (\ s a -> s{_rtprsCanceled = a})
instance NFData ReportTaskProgressResponse where