{-# 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.ElastiCache.DescribeEngineDefaultParameters
(
describeEngineDefaultParameters
, DescribeEngineDefaultParameters
, dedpMarker
, dedpMaxRecords
, dedpCacheParameterGroupFamily
, describeEngineDefaultParametersResponse
, DescribeEngineDefaultParametersResponse
, dedprsResponseStatus
, dedprsEngineDefaults
) where
import Network.AWS.ElastiCache.Types
import Network.AWS.ElastiCache.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEngineDefaultParameters = DescribeEngineDefaultParameters'
{ _dedpMarker :: !(Maybe Text)
, _dedpMaxRecords :: !(Maybe Int)
, _dedpCacheParameterGroupFamily :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEngineDefaultParameters
:: Text
-> DescribeEngineDefaultParameters
describeEngineDefaultParameters pCacheParameterGroupFamily_ =
DescribeEngineDefaultParameters'
{ _dedpMarker = Nothing
, _dedpMaxRecords = Nothing
, _dedpCacheParameterGroupFamily = pCacheParameterGroupFamily_
}
dedpMarker :: Lens' DescribeEngineDefaultParameters (Maybe Text)
dedpMarker = lens _dedpMarker (\ s a -> s{_dedpMarker = a})
dedpMaxRecords :: Lens' DescribeEngineDefaultParameters (Maybe Int)
dedpMaxRecords = lens _dedpMaxRecords (\ s a -> s{_dedpMaxRecords = a})
dedpCacheParameterGroupFamily :: Lens' DescribeEngineDefaultParameters Text
dedpCacheParameterGroupFamily = lens _dedpCacheParameterGroupFamily (\ s a -> s{_dedpCacheParameterGroupFamily = a})
instance AWSPager DescribeEngineDefaultParameters
where
page rq rs
| stop
(rs ^? dedprsEngineDefaults . edMarker . _Just)
= Nothing
| stop (rs ^. dedprsEngineDefaults . edParameters) =
Nothing
| otherwise =
Just $ rq &
dedpMarker .~
rs ^? dedprsEngineDefaults . edMarker . _Just
instance AWSRequest DescribeEngineDefaultParameters
where
type Rs DescribeEngineDefaultParameters =
DescribeEngineDefaultParametersResponse
request = postQuery elastiCache
response
= receiveXMLWrapper
"DescribeEngineDefaultParametersResult"
(\ s h x ->
DescribeEngineDefaultParametersResponse' <$>
(pure (fromEnum s)) <*> (x .@ "EngineDefaults"))
instance Hashable DescribeEngineDefaultParameters
where
instance NFData DescribeEngineDefaultParameters where
instance ToHeaders DescribeEngineDefaultParameters
where
toHeaders = const mempty
instance ToPath DescribeEngineDefaultParameters where
toPath = const "/"
instance ToQuery DescribeEngineDefaultParameters
where
toQuery DescribeEngineDefaultParameters'{..}
= mconcat
["Action" =:
("DescribeEngineDefaultParameters" :: ByteString),
"Version" =: ("2015-02-02" :: ByteString),
"Marker" =: _dedpMarker,
"MaxRecords" =: _dedpMaxRecords,
"CacheParameterGroupFamily" =:
_dedpCacheParameterGroupFamily]
data DescribeEngineDefaultParametersResponse = DescribeEngineDefaultParametersResponse'
{ _dedprsResponseStatus :: !Int
, _dedprsEngineDefaults :: !EngineDefaults
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEngineDefaultParametersResponse
:: Int
-> EngineDefaults
-> DescribeEngineDefaultParametersResponse
describeEngineDefaultParametersResponse pResponseStatus_ pEngineDefaults_ =
DescribeEngineDefaultParametersResponse'
{ _dedprsResponseStatus = pResponseStatus_
, _dedprsEngineDefaults = pEngineDefaults_
}
dedprsResponseStatus :: Lens' DescribeEngineDefaultParametersResponse Int
dedprsResponseStatus = lens _dedprsResponseStatus (\ s a -> s{_dedprsResponseStatus = a})
dedprsEngineDefaults :: Lens' DescribeEngineDefaultParametersResponse EngineDefaults
dedprsEngineDefaults = lens _dedprsEngineDefaults (\ s a -> s{_dedprsEngineDefaults = a})
instance NFData
DescribeEngineDefaultParametersResponse
where