{-# 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.BatchDeleteTableVersion
(
batchDeleteTableVersion
, BatchDeleteTableVersion
, bdtvCatalogId
, bdtvDatabaseName
, bdtvTableName
, bdtvVersionIds
, batchDeleteTableVersionResponse
, BatchDeleteTableVersionResponse
, bdtvrsErrors
, bdtvrsResponseStatus
) 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 BatchDeleteTableVersion = BatchDeleteTableVersion'
{ _bdtvCatalogId :: !(Maybe Text)
, _bdtvDatabaseName :: !Text
, _bdtvTableName :: !Text
, _bdtvVersionIds :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
batchDeleteTableVersion
:: Text
-> Text
-> BatchDeleteTableVersion
batchDeleteTableVersion pDatabaseName_ pTableName_ =
BatchDeleteTableVersion'
{ _bdtvCatalogId = Nothing
, _bdtvDatabaseName = pDatabaseName_
, _bdtvTableName = pTableName_
, _bdtvVersionIds = mempty
}
bdtvCatalogId :: Lens' BatchDeleteTableVersion (Maybe Text)
bdtvCatalogId = lens _bdtvCatalogId (\ s a -> s{_bdtvCatalogId = a})
bdtvDatabaseName :: Lens' BatchDeleteTableVersion Text
bdtvDatabaseName = lens _bdtvDatabaseName (\ s a -> s{_bdtvDatabaseName = a})
bdtvTableName :: Lens' BatchDeleteTableVersion Text
bdtvTableName = lens _bdtvTableName (\ s a -> s{_bdtvTableName = a})
bdtvVersionIds :: Lens' BatchDeleteTableVersion [Text]
bdtvVersionIds = lens _bdtvVersionIds (\ s a -> s{_bdtvVersionIds = a}) . _Coerce
instance AWSRequest BatchDeleteTableVersion where
type Rs BatchDeleteTableVersion =
BatchDeleteTableVersionResponse
request = postJSON glue
response
= receiveJSON
(\ s h x ->
BatchDeleteTableVersionResponse' <$>
(x .?> "Errors" .!@ mempty) <*> (pure (fromEnum s)))
instance Hashable BatchDeleteTableVersion where
instance NFData BatchDeleteTableVersion where
instance ToHeaders BatchDeleteTableVersion where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.BatchDeleteTableVersion" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON BatchDeleteTableVersion where
toJSON BatchDeleteTableVersion'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _bdtvCatalogId,
Just ("DatabaseName" .= _bdtvDatabaseName),
Just ("TableName" .= _bdtvTableName),
Just ("VersionIds" .= _bdtvVersionIds)])
instance ToPath BatchDeleteTableVersion where
toPath = const "/"
instance ToQuery BatchDeleteTableVersion where
toQuery = const mempty
data BatchDeleteTableVersionResponse = BatchDeleteTableVersionResponse'
{ _bdtvrsErrors :: !(Maybe [TableVersionError])
, _bdtvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
batchDeleteTableVersionResponse
:: Int
-> BatchDeleteTableVersionResponse
batchDeleteTableVersionResponse pResponseStatus_ =
BatchDeleteTableVersionResponse'
{_bdtvrsErrors = Nothing, _bdtvrsResponseStatus = pResponseStatus_}
bdtvrsErrors :: Lens' BatchDeleteTableVersionResponse [TableVersionError]
bdtvrsErrors = lens _bdtvrsErrors (\ s a -> s{_bdtvrsErrors = a}) . _Default . _Coerce
bdtvrsResponseStatus :: Lens' BatchDeleteTableVersionResponse Int
bdtvrsResponseStatus = lens _bdtvrsResponseStatus (\ s a -> s{_bdtvrsResponseStatus = a})
instance NFData BatchDeleteTableVersionResponse where