{-# 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.Glue.DeleteUserDefinedFunction
(
deleteUserDefinedFunction
, DeleteUserDefinedFunction
, dudfCatalogId
, dudfDatabaseName
, dudfFunctionName
, deleteUserDefinedFunctionResponse
, DeleteUserDefinedFunctionResponse
, dudfrsResponseStatus
) 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
data DeleteUserDefinedFunction = DeleteUserDefinedFunction'
{ _dudfCatalogId :: !(Maybe Text)
, _dudfDatabaseName :: !Text
, _dudfFunctionName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteUserDefinedFunction
:: Text
-> Text
-> DeleteUserDefinedFunction
deleteUserDefinedFunction pDatabaseName_ pFunctionName_ =
DeleteUserDefinedFunction'
{ _dudfCatalogId = Nothing
, _dudfDatabaseName = pDatabaseName_
, _dudfFunctionName = pFunctionName_
}
dudfCatalogId :: Lens' DeleteUserDefinedFunction (Maybe Text)
dudfCatalogId = lens _dudfCatalogId (\ s a -> s{_dudfCatalogId = a})
dudfDatabaseName :: Lens' DeleteUserDefinedFunction Text
dudfDatabaseName = lens _dudfDatabaseName (\ s a -> s{_dudfDatabaseName = a})
dudfFunctionName :: Lens' DeleteUserDefinedFunction Text
dudfFunctionName = lens _dudfFunctionName (\ s a -> s{_dudfFunctionName = a})
instance AWSRequest DeleteUserDefinedFunction where
type Rs DeleteUserDefinedFunction =
DeleteUserDefinedFunctionResponse
request = postJSON glue
response
= receiveEmpty
(\ s h x ->
DeleteUserDefinedFunctionResponse' <$>
(pure (fromEnum s)))
instance Hashable DeleteUserDefinedFunction where
instance NFData DeleteUserDefinedFunction where
instance ToHeaders DeleteUserDefinedFunction where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.DeleteUserDefinedFunction" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteUserDefinedFunction where
toJSON DeleteUserDefinedFunction'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _dudfCatalogId,
Just ("DatabaseName" .= _dudfDatabaseName),
Just ("FunctionName" .= _dudfFunctionName)])
instance ToPath DeleteUserDefinedFunction where
toPath = const "/"
instance ToQuery DeleteUserDefinedFunction where
toQuery = const mempty
newtype DeleteUserDefinedFunctionResponse = DeleteUserDefinedFunctionResponse'
{ _dudfrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteUserDefinedFunctionResponse
:: Int
-> DeleteUserDefinedFunctionResponse
deleteUserDefinedFunctionResponse pResponseStatus_ =
DeleteUserDefinedFunctionResponse' {_dudfrsResponseStatus = pResponseStatus_}
dudfrsResponseStatus :: Lens' DeleteUserDefinedFunctionResponse Int
dudfrsResponseStatus = lens _dudfrsResponseStatus (\ s a -> s{_dudfrsResponseStatus = a})
instance NFData DeleteUserDefinedFunctionResponse
where