module Network.AWS.RDS.DescribeDBClusters
(
describeDBClusters
, DescribeDBClusters
, ddcDBClusterIdentifier
, ddcFilters
, ddcMarker
, ddcMaxRecords
, describeDBClustersResponse
, DescribeDBClustersResponse
, ddcrsDBClusters
, ddcrsMarker
, ddcrsResponseStatus
) where
import Network.AWS.Prelude
import Network.AWS.RDS.Types
import Network.AWS.RDS.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data DescribeDBClusters = DescribeDBClusters'
{ _ddcDBClusterIdentifier :: !(Maybe Text)
, _ddcFilters :: !(Maybe [Filter])
, _ddcMarker :: !(Maybe Text)
, _ddcMaxRecords :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDBClusters
:: DescribeDBClusters
describeDBClusters =
DescribeDBClusters'
{ _ddcDBClusterIdentifier = Nothing
, _ddcFilters = Nothing
, _ddcMarker = Nothing
, _ddcMaxRecords = Nothing
}
ddcDBClusterIdentifier :: Lens' DescribeDBClusters (Maybe Text)
ddcDBClusterIdentifier = lens _ddcDBClusterIdentifier (\ s a -> s{_ddcDBClusterIdentifier = a});
ddcFilters :: Lens' DescribeDBClusters [Filter]
ddcFilters = lens _ddcFilters (\ s a -> s{_ddcFilters = a}) . _Default . _Coerce;
ddcMarker :: Lens' DescribeDBClusters (Maybe Text)
ddcMarker = lens _ddcMarker (\ s a -> s{_ddcMarker = a});
ddcMaxRecords :: Lens' DescribeDBClusters (Maybe Int)
ddcMaxRecords = lens _ddcMaxRecords (\ s a -> s{_ddcMaxRecords = a});
instance AWSRequest DescribeDBClusters where
type Rs DescribeDBClusters =
DescribeDBClustersResponse
request = postQuery rDS
response
= receiveXMLWrapper "DescribeDBClustersResult"
(\ s h x ->
DescribeDBClustersResponse' <$>
(x .@? "DBClusters" .!@ mempty >>=
may (parseXMLList "DBCluster"))
<*> (x .@? "Marker")
<*> (pure (fromEnum s)))
instance ToHeaders DescribeDBClusters where
toHeaders = const mempty
instance ToPath DescribeDBClusters where
toPath = const "/"
instance ToQuery DescribeDBClusters where
toQuery DescribeDBClusters'{..}
= mconcat
["Action" =: ("DescribeDBClusters" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"DBClusterIdentifier" =: _ddcDBClusterIdentifier,
"Filters" =:
toQuery (toQueryList "Filter" <$> _ddcFilters),
"Marker" =: _ddcMarker,
"MaxRecords" =: _ddcMaxRecords]
data DescribeDBClustersResponse = DescribeDBClustersResponse'
{ _ddcrsDBClusters :: !(Maybe [DBCluster])
, _ddcrsMarker :: !(Maybe Text)
, _ddcrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDBClustersResponse
:: Int
-> DescribeDBClustersResponse
describeDBClustersResponse pResponseStatus_ =
DescribeDBClustersResponse'
{ _ddcrsDBClusters = Nothing
, _ddcrsMarker = Nothing
, _ddcrsResponseStatus = pResponseStatus_
}
ddcrsDBClusters :: Lens' DescribeDBClustersResponse [DBCluster]
ddcrsDBClusters = lens _ddcrsDBClusters (\ s a -> s{_ddcrsDBClusters = a}) . _Default . _Coerce;
ddcrsMarker :: Lens' DescribeDBClustersResponse (Maybe Text)
ddcrsMarker = lens _ddcrsMarker (\ s a -> s{_ddcrsMarker = a});
ddcrsResponseStatus :: Lens' DescribeDBClustersResponse Int
ddcrsResponseStatus = lens _ddcrsResponseStatus (\ s a -> s{_ddcrsResponseStatus = a});