module Network.AWS.Glue.DeleteJob
(
deleteJob
, DeleteJob
, djJobName
, deleteJobResponse
, DeleteJobResponse
, djrsJobName
, djrsResponseStatus
) where
import Network.AWS.Glue.Types
import Network.AWS.Glue.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteJob = DeleteJob'
{ _djJobName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteJob
:: Text
-> DeleteJob
deleteJob pJobName_ = DeleteJob' {_djJobName = pJobName_}
djJobName :: Lens' DeleteJob Text
djJobName = lens _djJobName (\ s a -> s{_djJobName = a});
instance AWSRequest DeleteJob where
type Rs DeleteJob = DeleteJobResponse
request = postJSON glue
response
= receiveJSON
(\ s h x ->
DeleteJobResponse' <$>
(x .?> "JobName") <*> (pure (fromEnum s)))
instance Hashable DeleteJob where
instance NFData DeleteJob where
instance ToHeaders DeleteJob where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.DeleteJob" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteJob where
toJSON DeleteJob'{..}
= object (catMaybes [Just ("JobName" .= _djJobName)])
instance ToPath DeleteJob where
toPath = const "/"
instance ToQuery DeleteJob where
toQuery = const mempty
data DeleteJobResponse = DeleteJobResponse'
{ _djrsJobName :: !(Maybe Text)
, _djrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteJobResponse
:: Int
-> DeleteJobResponse
deleteJobResponse pResponseStatus_ =
DeleteJobResponse'
{_djrsJobName = Nothing, _djrsResponseStatus = pResponseStatus_}
djrsJobName :: Lens' DeleteJobResponse (Maybe Text)
djrsJobName = lens _djrsJobName (\ s a -> s{_djrsJobName = a});
djrsResponseStatus :: Lens' DeleteJobResponse Int
djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a});
instance NFData DeleteJobResponse where