amazonka-redshift-1.4.0: gen/Network/AWS/Redshift/DescribeTableRestoreStatus.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.Redshift.DescribeTableRestoreStatus
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists the status of one or more table restore requests made using the
-- < RestoreTableFromClusterSnapshot> API action. If you don\'t specify a
-- value for the 'TableRestoreRequestId' parameter, then
-- 'DescribeTableRestoreStatus' returns the status of all in-progress table
-- restore requests. Otherwise 'DescribeTableRestoreStatus' returns the
-- status of the table specified by 'TableRestoreRequestId'.
module Network.AWS.Redshift.DescribeTableRestoreStatus
(
-- * Creating a Request
describeTableRestoreStatus
, DescribeTableRestoreStatus
-- * Request Lenses
, dtrssTableRestoreRequestId
, dtrssClusterIdentifier
, dtrssMarker
, dtrssMaxRecords
-- * Destructuring the Response
, describeTableRestoreStatusResponse
, DescribeTableRestoreStatusResponse
-- * Response Lenses
, dtrsrsMarker
, dtrsrsTableRestoreStatusDetails
, dtrsrsResponseStatus
) 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
-- | /See:/ 'describeTableRestoreStatus' smart constructor.
data DescribeTableRestoreStatus = DescribeTableRestoreStatus'
{ _dtrssTableRestoreRequestId :: !(Maybe Text)
, _dtrssClusterIdentifier :: !(Maybe Text)
, _dtrssMarker :: !(Maybe Text)
, _dtrssMaxRecords :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DescribeTableRestoreStatus' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'dtrssTableRestoreRequestId'
--
-- * 'dtrssClusterIdentifier'
--
-- * 'dtrssMarker'
--
-- * 'dtrssMaxRecords'
describeTableRestoreStatus
:: DescribeTableRestoreStatus
describeTableRestoreStatus =
DescribeTableRestoreStatus'
{ _dtrssTableRestoreRequestId = Nothing
, _dtrssClusterIdentifier = Nothing
, _dtrssMarker = Nothing
, _dtrssMaxRecords = Nothing
}
-- | The identifier of the table restore request to return status for. If you
-- don\'t specify a 'TableRestoreRequestId' value, then
-- 'DescribeTableRestoreStatus' returns the status of all in-progress table
-- restore requests.
dtrssTableRestoreRequestId :: Lens' DescribeTableRestoreStatus (Maybe Text)
dtrssTableRestoreRequestId = lens _dtrssTableRestoreRequestId (\ s a -> s{_dtrssTableRestoreRequestId = a});
-- | The Amazon Redshift cluster that the table is being restored to.
dtrssClusterIdentifier :: Lens' DescribeTableRestoreStatus (Maybe Text)
dtrssClusterIdentifier = lens _dtrssClusterIdentifier (\ s a -> s{_dtrssClusterIdentifier = a});
-- | An optional pagination token provided by a previous
-- 'DescribeTableRestoreStatus' request. If this parameter is specified,
-- the response includes only records beyond the marker, up to the value
-- specified by the 'MaxRecords' parameter.
dtrssMarker :: Lens' DescribeTableRestoreStatus (Maybe Text)
dtrssMarker = lens _dtrssMarker (\ s a -> s{_dtrssMarker = a});
-- | The maximum number of records to include in the response. If more
-- records exist than the specified 'MaxRecords' value, a pagination token
-- called a marker is included in the response so that the remaining
-- results can be retrieved.
dtrssMaxRecords :: Lens' DescribeTableRestoreStatus (Maybe Int)
dtrssMaxRecords = lens _dtrssMaxRecords (\ s a -> s{_dtrssMaxRecords = a});
instance AWSRequest DescribeTableRestoreStatus where
type Rs DescribeTableRestoreStatus =
DescribeTableRestoreStatusResponse
request = postQuery redshift
response
= receiveXMLWrapper
"DescribeTableRestoreStatusResult"
(\ s h x ->
DescribeTableRestoreStatusResponse' <$>
(x .@? "Marker") <*>
(x .@? "TableRestoreStatusDetails" .!@ mempty >>=
may (parseXMLList "TableRestoreStatus"))
<*> (pure (fromEnum s)))
instance Hashable DescribeTableRestoreStatus
instance ToHeaders DescribeTableRestoreStatus where
toHeaders = const mempty
instance ToPath DescribeTableRestoreStatus where
toPath = const "/"
instance ToQuery DescribeTableRestoreStatus where
toQuery DescribeTableRestoreStatus'{..}
= mconcat
["Action" =:
("DescribeTableRestoreStatus" :: ByteString),
"Version" =: ("2012-12-01" :: ByteString),
"TableRestoreRequestId" =:
_dtrssTableRestoreRequestId,
"ClusterIdentifier" =: _dtrssClusterIdentifier,
"Marker" =: _dtrssMarker,
"MaxRecords" =: _dtrssMaxRecords]
-- | /See:/ 'describeTableRestoreStatusResponse' smart constructor.
data DescribeTableRestoreStatusResponse = DescribeTableRestoreStatusResponse'
{ _dtrsrsMarker :: !(Maybe Text)
, _dtrsrsTableRestoreStatusDetails :: !(Maybe [TableRestoreStatus])
, _dtrsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DescribeTableRestoreStatusResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'dtrsrsMarker'
--
-- * 'dtrsrsTableRestoreStatusDetails'
--
-- * 'dtrsrsResponseStatus'
describeTableRestoreStatusResponse
:: Int -- ^ 'dtrsrsResponseStatus'
-> DescribeTableRestoreStatusResponse
describeTableRestoreStatusResponse pResponseStatus_ =
DescribeTableRestoreStatusResponse'
{ _dtrsrsMarker = Nothing
, _dtrsrsTableRestoreStatusDetails = Nothing
, _dtrsrsResponseStatus = pResponseStatus_
}
-- | A pagination token that can be used in a subsequent
-- < DescribeTableRestoreStatus> request.
dtrsrsMarker :: Lens' DescribeTableRestoreStatusResponse (Maybe Text)
dtrsrsMarker = lens _dtrsrsMarker (\ s a -> s{_dtrsrsMarker = a});
-- | A list of status details for one or more table restore requests.
dtrsrsTableRestoreStatusDetails :: Lens' DescribeTableRestoreStatusResponse [TableRestoreStatus]
dtrsrsTableRestoreStatusDetails = lens _dtrsrsTableRestoreStatusDetails (\ s a -> s{_dtrsrsTableRestoreStatusDetails = a}) . _Default . _Coerce;
-- | The response status code.
dtrsrsResponseStatus :: Lens' DescribeTableRestoreStatusResponse Int
dtrsrsResponseStatus = lens _dtrsrsResponseStatus (\ s a -> s{_dtrsrsResponseStatus = a});