{-# 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