{-# 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.DeleteDatabase
(
deleteDatabase
, DeleteDatabase
, ddCatalogId
, ddName
, deleteDatabaseResponse
, DeleteDatabaseResponse
, ddrsResponseStatus
) 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 DeleteDatabase = DeleteDatabase'
{ _ddCatalogId :: !(Maybe Text)
, _ddName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDatabase
:: Text
-> DeleteDatabase
deleteDatabase pName_ =
DeleteDatabase' {_ddCatalogId = Nothing, _ddName = pName_}
ddCatalogId :: Lens' DeleteDatabase (Maybe Text)
ddCatalogId = lens _ddCatalogId (\ s a -> s{_ddCatalogId = a})
ddName :: Lens' DeleteDatabase Text
ddName = lens _ddName (\ s a -> s{_ddName = a})
instance AWSRequest DeleteDatabase where
type Rs DeleteDatabase = DeleteDatabaseResponse
request = postJSON glue
response
= receiveEmpty
(\ s h x ->
DeleteDatabaseResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteDatabase where
instance NFData DeleteDatabase where
instance ToHeaders DeleteDatabase where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.DeleteDatabase" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteDatabase where
toJSON DeleteDatabase'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _ddCatalogId,
Just ("Name" .= _ddName)])
instance ToPath DeleteDatabase where
toPath = const "/"
instance ToQuery DeleteDatabase where
toQuery = const mempty
newtype DeleteDatabaseResponse = DeleteDatabaseResponse'
{ _ddrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDatabaseResponse
:: Int
-> DeleteDatabaseResponse
deleteDatabaseResponse pResponseStatus_ =
DeleteDatabaseResponse' {_ddrsResponseStatus = pResponseStatus_}
ddrsResponseStatus :: Lens' DeleteDatabaseResponse Int
ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})
instance NFData DeleteDatabaseResponse where