{-# 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.MechanicalTurk.DeleteWorkerBlock
(
deleteWorkerBlock
, DeleteWorkerBlock
, dwbReason
, dwbWorkerId
, deleteWorkerBlockResponse
, DeleteWorkerBlockResponse
, dwbrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MechanicalTurk.Types
import Network.AWS.MechanicalTurk.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteWorkerBlock = DeleteWorkerBlock'
{ _dwbReason :: !(Maybe Text)
, _dwbWorkerId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteWorkerBlock
:: Text
-> DeleteWorkerBlock
deleteWorkerBlock pWorkerId_ =
DeleteWorkerBlock' {_dwbReason = Nothing, _dwbWorkerId = pWorkerId_}
dwbReason :: Lens' DeleteWorkerBlock (Maybe Text)
dwbReason = lens _dwbReason (\ s a -> s{_dwbReason = a})
dwbWorkerId :: Lens' DeleteWorkerBlock Text
dwbWorkerId = lens _dwbWorkerId (\ s a -> s{_dwbWorkerId = a})
instance AWSRequest DeleteWorkerBlock where
type Rs DeleteWorkerBlock = DeleteWorkerBlockResponse
request = postJSON mechanicalTurk
response
= receiveEmpty
(\ s h x ->
DeleteWorkerBlockResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteWorkerBlock where
instance NFData DeleteWorkerBlock where
instance ToHeaders DeleteWorkerBlock where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("MTurkRequesterServiceV20170117.DeleteWorkerBlock"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteWorkerBlock where
toJSON DeleteWorkerBlock'{..}
= object
(catMaybes
[("Reason" .=) <$> _dwbReason,
Just ("WorkerId" .= _dwbWorkerId)])
instance ToPath DeleteWorkerBlock where
toPath = const "/"
instance ToQuery DeleteWorkerBlock where
toQuery = const mempty
newtype DeleteWorkerBlockResponse = DeleteWorkerBlockResponse'
{ _dwbrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteWorkerBlockResponse
:: Int
-> DeleteWorkerBlockResponse
deleteWorkerBlockResponse pResponseStatus_ =
DeleteWorkerBlockResponse' {_dwbrsResponseStatus = pResponseStatus_}
dwbrsResponseStatus :: Lens' DeleteWorkerBlockResponse Int
dwbrsResponseStatus = lens _dwbrsResponseStatus (\ s a -> s{_dwbrsResponseStatus = a})
instance NFData DeleteWorkerBlockResponse where