{-# 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.Redshift.RestoreTableFromClusterSnapshot
(
restoreTableFromClusterSnapshot
, RestoreTableFromClusterSnapshot
, rtfcsTargetSchemaName
, rtfcsTargetDatabaseName
, rtfcsSourceSchemaName
, rtfcsClusterIdentifier
, rtfcsSnapshotIdentifier
, rtfcsSourceDatabaseName
, rtfcsSourceTableName
, rtfcsNewTableName
, restoreTableFromClusterSnapshotResponse
, RestoreTableFromClusterSnapshotResponse
, rtfcsrsTableRestoreStatus
, rtfcsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Redshift.Types
import Network.AWS.Redshift.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data RestoreTableFromClusterSnapshot = RestoreTableFromClusterSnapshot'
{ _rtfcsTargetSchemaName :: !(Maybe Text)
, _rtfcsTargetDatabaseName :: !(Maybe Text)
, _rtfcsSourceSchemaName :: !(Maybe Text)
, _rtfcsClusterIdentifier :: !Text
, _rtfcsSnapshotIdentifier :: !Text
, _rtfcsSourceDatabaseName :: !Text
, _rtfcsSourceTableName :: !Text
, _rtfcsNewTableName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreTableFromClusterSnapshot
:: Text
-> Text
-> Text
-> Text
-> Text
-> RestoreTableFromClusterSnapshot
restoreTableFromClusterSnapshot pClusterIdentifier_ pSnapshotIdentifier_ pSourceDatabaseName_ pSourceTableName_ pNewTableName_ =
RestoreTableFromClusterSnapshot'
{ _rtfcsTargetSchemaName = Nothing
, _rtfcsTargetDatabaseName = Nothing
, _rtfcsSourceSchemaName = Nothing
, _rtfcsClusterIdentifier = pClusterIdentifier_
, _rtfcsSnapshotIdentifier = pSnapshotIdentifier_
, _rtfcsSourceDatabaseName = pSourceDatabaseName_
, _rtfcsSourceTableName = pSourceTableName_
, _rtfcsNewTableName = pNewTableName_
}
rtfcsTargetSchemaName :: Lens' RestoreTableFromClusterSnapshot (Maybe Text)
rtfcsTargetSchemaName = lens _rtfcsTargetSchemaName (\ s a -> s{_rtfcsTargetSchemaName = a});
rtfcsTargetDatabaseName :: Lens' RestoreTableFromClusterSnapshot (Maybe Text)
rtfcsTargetDatabaseName = lens _rtfcsTargetDatabaseName (\ s a -> s{_rtfcsTargetDatabaseName = a});
rtfcsSourceSchemaName :: Lens' RestoreTableFromClusterSnapshot (Maybe Text)
rtfcsSourceSchemaName = lens _rtfcsSourceSchemaName (\ s a -> s{_rtfcsSourceSchemaName = a});
rtfcsClusterIdentifier :: Lens' RestoreTableFromClusterSnapshot Text
rtfcsClusterIdentifier = lens _rtfcsClusterIdentifier (\ s a -> s{_rtfcsClusterIdentifier = a});
rtfcsSnapshotIdentifier :: Lens' RestoreTableFromClusterSnapshot Text
rtfcsSnapshotIdentifier = lens _rtfcsSnapshotIdentifier (\ s a -> s{_rtfcsSnapshotIdentifier = a});
rtfcsSourceDatabaseName :: Lens' RestoreTableFromClusterSnapshot Text
rtfcsSourceDatabaseName = lens _rtfcsSourceDatabaseName (\ s a -> s{_rtfcsSourceDatabaseName = a});
rtfcsSourceTableName :: Lens' RestoreTableFromClusterSnapshot Text
rtfcsSourceTableName = lens _rtfcsSourceTableName (\ s a -> s{_rtfcsSourceTableName = a});
rtfcsNewTableName :: Lens' RestoreTableFromClusterSnapshot Text
rtfcsNewTableName = lens _rtfcsNewTableName (\ s a -> s{_rtfcsNewTableName = a});
instance AWSRequest RestoreTableFromClusterSnapshot
where
type Rs RestoreTableFromClusterSnapshot =
RestoreTableFromClusterSnapshotResponse
request = postQuery redshift
response
= receiveXMLWrapper
"RestoreTableFromClusterSnapshotResult"
(\ s h x ->
RestoreTableFromClusterSnapshotResponse' <$>
(x .@? "TableRestoreStatus") <*> (pure (fromEnum s)))
instance Hashable RestoreTableFromClusterSnapshot
instance NFData RestoreTableFromClusterSnapshot
instance ToHeaders RestoreTableFromClusterSnapshot
where
toHeaders = const mempty
instance ToPath RestoreTableFromClusterSnapshot where
toPath = const "/"
instance ToQuery RestoreTableFromClusterSnapshot
where
toQuery RestoreTableFromClusterSnapshot'{..}
= mconcat
["Action" =:
("RestoreTableFromClusterSnapshot" :: ByteString),
"Version" =: ("2012-12-01" :: ByteString),
"TargetSchemaName" =: _rtfcsTargetSchemaName,
"TargetDatabaseName" =: _rtfcsTargetDatabaseName,
"SourceSchemaName" =: _rtfcsSourceSchemaName,
"ClusterIdentifier" =: _rtfcsClusterIdentifier,
"SnapshotIdentifier" =: _rtfcsSnapshotIdentifier,
"SourceDatabaseName" =: _rtfcsSourceDatabaseName,
"SourceTableName" =: _rtfcsSourceTableName,
"NewTableName" =: _rtfcsNewTableName]
data RestoreTableFromClusterSnapshotResponse = RestoreTableFromClusterSnapshotResponse'
{ _rtfcsrsTableRestoreStatus :: !(Maybe TableRestoreStatus)
, _rtfcsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreTableFromClusterSnapshotResponse
:: Int
-> RestoreTableFromClusterSnapshotResponse
restoreTableFromClusterSnapshotResponse pResponseStatus_ =
RestoreTableFromClusterSnapshotResponse'
{ _rtfcsrsTableRestoreStatus = Nothing
, _rtfcsrsResponseStatus = pResponseStatus_
}
rtfcsrsTableRestoreStatus :: Lens' RestoreTableFromClusterSnapshotResponse (Maybe TableRestoreStatus)
rtfcsrsTableRestoreStatus = lens _rtfcsrsTableRestoreStatus (\ s a -> s{_rtfcsrsTableRestoreStatus = a});
rtfcsrsResponseStatus :: Lens' RestoreTableFromClusterSnapshotResponse Int
rtfcsrsResponseStatus = lens _rtfcsrsResponseStatus (\ s a -> s{_rtfcsrsResponseStatus = a});
instance NFData
RestoreTableFromClusterSnapshotResponse