module Network.AWS.RDS.DescribeDBEngineVersions
(
describeDBEngineVersions
, DescribeDBEngineVersions
, ddevEngineVersion
, ddevDefaultOnly
, ddevFilters
, ddevEngine
, ddevDBParameterGroupFamily
, ddevListSupportedCharacterSets
, ddevMaxRecords
, ddevMarker
, describeDBEngineVersionsResponse
, DescribeDBEngineVersionsResponse
, ddevrsMarker
, ddevrsDBEngineVersions
, ddevrsStatus
) where
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.RDS.Types
import Network.AWS.RDS.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data DescribeDBEngineVersions = DescribeDBEngineVersions'
{ _ddevEngineVersion :: !(Maybe Text)
, _ddevDefaultOnly :: !(Maybe Bool)
, _ddevFilters :: !(Maybe [Filter])
, _ddevEngine :: !(Maybe Text)
, _ddevDBParameterGroupFamily :: !(Maybe Text)
, _ddevListSupportedCharacterSets :: !(Maybe Bool)
, _ddevMaxRecords :: !(Maybe Int)
, _ddevMarker :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDBEngineVersions
:: DescribeDBEngineVersions
describeDBEngineVersions =
DescribeDBEngineVersions'
{ _ddevEngineVersion = Nothing
, _ddevDefaultOnly = Nothing
, _ddevFilters = Nothing
, _ddevEngine = Nothing
, _ddevDBParameterGroupFamily = Nothing
, _ddevListSupportedCharacterSets = Nothing
, _ddevMaxRecords = Nothing
, _ddevMarker = Nothing
}
ddevEngineVersion :: Lens' DescribeDBEngineVersions (Maybe Text)
ddevEngineVersion = lens _ddevEngineVersion (\ s a -> s{_ddevEngineVersion = a});
ddevDefaultOnly :: Lens' DescribeDBEngineVersions (Maybe Bool)
ddevDefaultOnly = lens _ddevDefaultOnly (\ s a -> s{_ddevDefaultOnly = a});
ddevFilters :: Lens' DescribeDBEngineVersions [Filter]
ddevFilters = lens _ddevFilters (\ s a -> s{_ddevFilters = a}) . _Default . _Coerce;
ddevEngine :: Lens' DescribeDBEngineVersions (Maybe Text)
ddevEngine = lens _ddevEngine (\ s a -> s{_ddevEngine = a});
ddevDBParameterGroupFamily :: Lens' DescribeDBEngineVersions (Maybe Text)
ddevDBParameterGroupFamily = lens _ddevDBParameterGroupFamily (\ s a -> s{_ddevDBParameterGroupFamily = a});
ddevListSupportedCharacterSets :: Lens' DescribeDBEngineVersions (Maybe Bool)
ddevListSupportedCharacterSets = lens _ddevListSupportedCharacterSets (\ s a -> s{_ddevListSupportedCharacterSets = a});
ddevMaxRecords :: Lens' DescribeDBEngineVersions (Maybe Int)
ddevMaxRecords = lens _ddevMaxRecords (\ s a -> s{_ddevMaxRecords = a});
ddevMarker :: Lens' DescribeDBEngineVersions (Maybe Text)
ddevMarker = lens _ddevMarker (\ s a -> s{_ddevMarker = a});
instance AWSPager DescribeDBEngineVersions where
page rq rs
| stop (rs ^. ddevrsMarker) = Nothing
| stop (rs ^. ddevrsDBEngineVersions) = Nothing
| otherwise =
Just $ rq & ddevMarker .~ rs ^. ddevrsMarker
instance AWSRequest DescribeDBEngineVersions where
type Sv DescribeDBEngineVersions = RDS
type Rs DescribeDBEngineVersions =
DescribeDBEngineVersionsResponse
request = postQuery
response
= receiveXMLWrapper "DescribeDBEngineVersionsResult"
(\ s h x ->
DescribeDBEngineVersionsResponse' <$>
(x .@? "Marker") <*>
(x .@? "DBEngineVersions" .!@ mempty >>=
may (parseXMLList "DBEngineVersion"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeDBEngineVersions where
toHeaders = const mempty
instance ToPath DescribeDBEngineVersions where
toPath = const "/"
instance ToQuery DescribeDBEngineVersions where
toQuery DescribeDBEngineVersions'{..}
= mconcat
["Action" =:
("DescribeDBEngineVersions" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"EngineVersion" =: _ddevEngineVersion,
"DefaultOnly" =: _ddevDefaultOnly,
"Filters" =:
toQuery (toQueryList "Filter" <$> _ddevFilters),
"Engine" =: _ddevEngine,
"DBParameterGroupFamily" =:
_ddevDBParameterGroupFamily,
"ListSupportedCharacterSets" =:
_ddevListSupportedCharacterSets,
"MaxRecords" =: _ddevMaxRecords,
"Marker" =: _ddevMarker]
data DescribeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse'
{ _ddevrsMarker :: !(Maybe Text)
, _ddevrsDBEngineVersions :: !(Maybe [DBEngineVersion])
, _ddevrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDBEngineVersionsResponse
:: Int
-> DescribeDBEngineVersionsResponse
describeDBEngineVersionsResponse pStatus_ =
DescribeDBEngineVersionsResponse'
{ _ddevrsMarker = Nothing
, _ddevrsDBEngineVersions = Nothing
, _ddevrsStatus = pStatus_
}
ddevrsMarker :: Lens' DescribeDBEngineVersionsResponse (Maybe Text)
ddevrsMarker = lens _ddevrsMarker (\ s a -> s{_ddevrsMarker = a});
ddevrsDBEngineVersions :: Lens' DescribeDBEngineVersionsResponse [DBEngineVersion]
ddevrsDBEngineVersions = lens _ddevrsDBEngineVersions (\ s a -> s{_ddevrsDBEngineVersions = a}) . _Default . _Coerce;
ddevrsStatus :: Lens' DescribeDBEngineVersionsResponse Int
ddevrsStatus = lens _ddevrsStatus (\ s a -> s{_ddevrsStatus = a});