{-# 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.RDS.DescribeDBClusterSnapshots -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns information about DB cluster snapshots. This API supports pagination. -- -- For more information on Amazon Aurora, see in the /Amazon RDS User Guide./ module Network.AWS.RDS.DescribeDBClusterSnapshots ( -- * Creating a Request describeDBClusterSnapshots , DescribeDBClusterSnapshots -- * Request Lenses , ddbcsDBClusterIdentifier , ddbcsDBClusterSnapshotIdentifier , ddbcsFilters , ddbcsSnapshotType , ddbcsMarker , ddbcsMaxRecords -- * Destructuring the Response , describeDBClusterSnapshotsResponse , DescribeDBClusterSnapshotsResponse -- * Response Lenses , ddbcsrsMarker , ddbcsrsDBClusterSnapshots , ddbcsrsResponseStatus ) where import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.RDS.Types import Network.AWS.RDS.Types.Product import Network.AWS.Request import Network.AWS.Response -- | -- -- /See:/ 'describeDBClusterSnapshots' smart constructor. data DescribeDBClusterSnapshots = DescribeDBClusterSnapshots' { _ddbcsDBClusterIdentifier :: !(Maybe Text) , _ddbcsDBClusterSnapshotIdentifier :: !(Maybe Text) , _ddbcsFilters :: !(Maybe [Filter]) , _ddbcsSnapshotType :: !(Maybe Text) , _ddbcsMarker :: !(Maybe Text) , _ddbcsMaxRecords :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DescribeDBClusterSnapshots' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ddbcsDBClusterIdentifier' -- -- * 'ddbcsDBClusterSnapshotIdentifier' -- -- * 'ddbcsFilters' -- -- * 'ddbcsSnapshotType' -- -- * 'ddbcsMarker' -- -- * 'ddbcsMaxRecords' describeDBClusterSnapshots :: DescribeDBClusterSnapshots describeDBClusterSnapshots = DescribeDBClusterSnapshots' { _ddbcsDBClusterIdentifier = Nothing , _ddbcsDBClusterSnapshotIdentifier = Nothing , _ddbcsFilters = Nothing , _ddbcsSnapshotType = Nothing , _ddbcsMarker = Nothing , _ddbcsMaxRecords = Nothing } -- | A DB cluster identifier to retrieve the list of DB cluster snapshots for. This parameter cannot be used in conjunction with the 'DBClusterSnapshotIdentifier' parameter. This parameter is not case-sensitive. -- -- Constraints: -- -- - Must contain from 1 to 63 alphanumeric characters or hyphens -- - First character must be a letter -- - Cannot end with a hyphen or contain two consecutive hyphens ddbcsDBClusterIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text) ddbcsDBClusterIdentifier = lens _ddbcsDBClusterIdentifier (\ s a -> s{_ddbcsDBClusterIdentifier = a}); -- | A specific DB cluster snapshot identifier to describe. This parameter cannot be used in conjunction with the 'DBClusterIdentifier' parameter. This value is stored as a lowercase string. -- -- Constraints: -- -- - Must be 1 to 255 alphanumeric characters -- - First character must be a letter -- - Cannot end with a hyphen or contain two consecutive hyphens -- - If this is the identifier of an automated snapshot, the 'SnapshotType' parameter must also be specified. ddbcsDBClusterSnapshotIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text) ddbcsDBClusterSnapshotIdentifier = lens _ddbcsDBClusterSnapshotIdentifier (\ s a -> s{_ddbcsDBClusterSnapshotIdentifier = a}); -- | This parameter is not currently supported. ddbcsFilters :: Lens' DescribeDBClusterSnapshots [Filter] ddbcsFilters = lens _ddbcsFilters (\ s a -> s{_ddbcsFilters = a}) . _Default . _Coerce; -- | The type of DB cluster snapshots that will be returned. Values can be 'automated' or 'manual'. If this parameter is not specified, the returned results will include all snapshot types. ddbcsSnapshotType :: Lens' DescribeDBClusterSnapshots (Maybe Text) ddbcsSnapshotType = lens _ddbcsSnapshotType (\ s a -> s{_ddbcsSnapshotType = a}); -- | An optional pagination token provided by a previous 'DescribeDBClusterSnapshots' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'. ddbcsMarker :: Lens' DescribeDBClusterSnapshots (Maybe Text) ddbcsMarker = lens _ddbcsMarker (\ s a -> s{_ddbcsMarker = 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. -- -- Default: 100 -- -- Constraints: Minimum 20, maximum 100. ddbcsMaxRecords :: Lens' DescribeDBClusterSnapshots (Maybe Int) ddbcsMaxRecords = lens _ddbcsMaxRecords (\ s a -> s{_ddbcsMaxRecords = a}); instance AWSRequest DescribeDBClusterSnapshots where type Rs DescribeDBClusterSnapshots = DescribeDBClusterSnapshotsResponse request = postQuery rds response = receiveXMLWrapper "DescribeDBClusterSnapshotsResult" (\ s h x -> DescribeDBClusterSnapshotsResponse' <$> (x .@? "Marker") <*> (x .@? "DBClusterSnapshots" .!@ mempty >>= may (parseXMLList "DBClusterSnapshot")) <*> (pure (fromEnum s))) instance Hashable DescribeDBClusterSnapshots instance NFData DescribeDBClusterSnapshots instance ToHeaders DescribeDBClusterSnapshots where toHeaders = const mempty instance ToPath DescribeDBClusterSnapshots where toPath = const "/" instance ToQuery DescribeDBClusterSnapshots where toQuery DescribeDBClusterSnapshots'{..} = mconcat ["Action" =: ("DescribeDBClusterSnapshots" :: ByteString), "Version" =: ("2014-10-31" :: ByteString), "DBClusterIdentifier" =: _ddbcsDBClusterIdentifier, "DBClusterSnapshotIdentifier" =: _ddbcsDBClusterSnapshotIdentifier, "Filters" =: toQuery (toQueryList "Filter" <$> _ddbcsFilters), "SnapshotType" =: _ddbcsSnapshotType, "Marker" =: _ddbcsMarker, "MaxRecords" =: _ddbcsMaxRecords] -- | Provides a list of DB cluster snapshots for the user as the result of a call to the < DescribeDBClusterSnapshots> action. -- -- /See:/ 'describeDBClusterSnapshotsResponse' smart constructor. data DescribeDBClusterSnapshotsResponse = DescribeDBClusterSnapshotsResponse' { _ddbcsrsMarker :: !(Maybe Text) , _ddbcsrsDBClusterSnapshots :: !(Maybe [DBClusterSnapshot]) , _ddbcsrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DescribeDBClusterSnapshotsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ddbcsrsMarker' -- -- * 'ddbcsrsDBClusterSnapshots' -- -- * 'ddbcsrsResponseStatus' describeDBClusterSnapshotsResponse :: Int -- ^ 'ddbcsrsResponseStatus' -> DescribeDBClusterSnapshotsResponse describeDBClusterSnapshotsResponse pResponseStatus_ = DescribeDBClusterSnapshotsResponse' { _ddbcsrsMarker = Nothing , _ddbcsrsDBClusterSnapshots = Nothing , _ddbcsrsResponseStatus = pResponseStatus_ } -- | An optional pagination token provided by a previous < DescribeDBClusterSnapshots> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'. ddbcsrsMarker :: Lens' DescribeDBClusterSnapshotsResponse (Maybe Text) ddbcsrsMarker = lens _ddbcsrsMarker (\ s a -> s{_ddbcsrsMarker = a}); -- | Provides a list of DB cluster snapshots for the user. ddbcsrsDBClusterSnapshots :: Lens' DescribeDBClusterSnapshotsResponse [DBClusterSnapshot] ddbcsrsDBClusterSnapshots = lens _ddbcsrsDBClusterSnapshots (\ s a -> s{_ddbcsrsDBClusterSnapshots = a}) . _Default . _Coerce; -- | The response status code. ddbcsrsResponseStatus :: Lens' DescribeDBClusterSnapshotsResponse Int ddbcsrsResponseStatus = lens _ddbcsrsResponseStatus (\ s a -> s{_ddbcsrsResponseStatus = a}); instance NFData DescribeDBClusterSnapshotsResponse