{-# 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 -- 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 table restore -- requests ordered by the date and time of the request in ascending order. -- 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 NFData 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}); instance NFData DescribeTableRestoreStatusResponse