{-# 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.UpdateDatabase
(
updateDatabase
, UpdateDatabase
, udCatalogId
, udName
, udDatabaseInput
, updateDatabaseResponse
, UpdateDatabaseResponse
, udrsResponseStatus
) 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 UpdateDatabase = UpdateDatabase'
{ _udCatalogId :: !(Maybe Text)
, _udName :: !Text
, _udDatabaseInput :: !DatabaseInput
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDatabase
:: Text
-> DatabaseInput
-> UpdateDatabase
updateDatabase pName_ pDatabaseInput_ =
UpdateDatabase'
{ _udCatalogId = Nothing
, _udName = pName_
, _udDatabaseInput = pDatabaseInput_
}
udCatalogId :: Lens' UpdateDatabase (Maybe Text)
udCatalogId = lens _udCatalogId (\ s a -> s{_udCatalogId = a})
udName :: Lens' UpdateDatabase Text
udName = lens _udName (\ s a -> s{_udName = a})
udDatabaseInput :: Lens' UpdateDatabase DatabaseInput
udDatabaseInput = lens _udDatabaseInput (\ s a -> s{_udDatabaseInput = a})
instance AWSRequest UpdateDatabase where
type Rs UpdateDatabase = UpdateDatabaseResponse
request = postJSON glue
response
= receiveEmpty
(\ s h x ->
UpdateDatabaseResponse' <$> (pure (fromEnum s)))
instance Hashable UpdateDatabase where
instance NFData UpdateDatabase where
instance ToHeaders UpdateDatabase where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.UpdateDatabase" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateDatabase where
toJSON UpdateDatabase'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _udCatalogId,
Just ("Name" .= _udName),
Just ("DatabaseInput" .= _udDatabaseInput)])
instance ToPath UpdateDatabase where
toPath = const "/"
instance ToQuery UpdateDatabase where
toQuery = const mempty
newtype UpdateDatabaseResponse = UpdateDatabaseResponse'
{ _udrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDatabaseResponse
:: Int
-> UpdateDatabaseResponse
updateDatabaseResponse pResponseStatus_ =
UpdateDatabaseResponse' {_udrsResponseStatus = pResponseStatus_}
udrsResponseStatus :: Lens' UpdateDatabaseResponse Int
udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a})
instance NFData UpdateDatabaseResponse where