{-# 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 #-}
module Network.AWS.RDS.DescribeSourceRegions
(
describeSourceRegions
, DescribeSourceRegions
, dsrRegionName
, dsrFilters
, dsrMarker
, dsrMaxRecords
, describeSourceRegionsResponse
, DescribeSourceRegionsResponse
, dsrrsMarker
, dsrrsSourceRegions
, dsrrsResponseStatus
) 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
data DescribeSourceRegions = DescribeSourceRegions'
{ _dsrRegionName :: !(Maybe Text)
, _dsrFilters :: !(Maybe [Filter])
, _dsrMarker :: !(Maybe Text)
, _dsrMaxRecords :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeSourceRegions
:: DescribeSourceRegions
describeSourceRegions =
DescribeSourceRegions'
{ _dsrRegionName = Nothing
, _dsrFilters = Nothing
, _dsrMarker = Nothing
, _dsrMaxRecords = Nothing
}
dsrRegionName :: Lens' DescribeSourceRegions (Maybe Text)
dsrRegionName = lens _dsrRegionName (\ s a -> s{_dsrRegionName = a});
dsrFilters :: Lens' DescribeSourceRegions [Filter]
dsrFilters = lens _dsrFilters (\ s a -> s{_dsrFilters = a}) . _Default . _Coerce;
dsrMarker :: Lens' DescribeSourceRegions (Maybe Text)
dsrMarker = lens _dsrMarker (\ s a -> s{_dsrMarker = a});
dsrMaxRecords :: Lens' DescribeSourceRegions (Maybe Int)
dsrMaxRecords = lens _dsrMaxRecords (\ s a -> s{_dsrMaxRecords = a});
instance AWSRequest DescribeSourceRegions where
type Rs DescribeSourceRegions =
DescribeSourceRegionsResponse
request = postQuery rds
response
= receiveXMLWrapper "DescribeSourceRegionsResult"
(\ s h x ->
DescribeSourceRegionsResponse' <$>
(x .@? "Marker") <*>
(x .@? "SourceRegions" .!@ mempty >>=
may (parseXMLList "SourceRegion"))
<*> (pure (fromEnum s)))
instance Hashable DescribeSourceRegions
instance NFData DescribeSourceRegions
instance ToHeaders DescribeSourceRegions where
toHeaders = const mempty
instance ToPath DescribeSourceRegions where
toPath = const "/"
instance ToQuery DescribeSourceRegions where
toQuery DescribeSourceRegions'{..}
= mconcat
["Action" =: ("DescribeSourceRegions" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"RegionName" =: _dsrRegionName,
"Filters" =:
toQuery (toQueryList "Filter" <$> _dsrFilters),
"Marker" =: _dsrMarker,
"MaxRecords" =: _dsrMaxRecords]
data DescribeSourceRegionsResponse = DescribeSourceRegionsResponse'
{ _dsrrsMarker :: !(Maybe Text)
, _dsrrsSourceRegions :: !(Maybe [SourceRegion])
, _dsrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeSourceRegionsResponse
:: Int
-> DescribeSourceRegionsResponse
describeSourceRegionsResponse pResponseStatus_ =
DescribeSourceRegionsResponse'
{ _dsrrsMarker = Nothing
, _dsrrsSourceRegions = Nothing
, _dsrrsResponseStatus = pResponseStatus_
}
dsrrsMarker :: Lens' DescribeSourceRegionsResponse (Maybe Text)
dsrrsMarker = lens _dsrrsMarker (\ s a -> s{_dsrrsMarker = a});
dsrrsSourceRegions :: Lens' DescribeSourceRegionsResponse [SourceRegion]
dsrrsSourceRegions = lens _dsrrsSourceRegions (\ s a -> s{_dsrrsSourceRegions = a}) . _Default . _Coerce;
dsrrsResponseStatus :: Lens' DescribeSourceRegionsResponse Int
dsrrsResponseStatus = lens _dsrrsResponseStatus (\ s a -> s{_dsrrsResponseStatus = a});
instance NFData DescribeSourceRegionsResponse