module Network.AWS.Redshift.DescribeDefaultClusterParameters
(
describeDefaultClusterParameters
, DescribeDefaultClusterParameters
, ddcpMaxRecords
, ddcpMarker
, ddcpParameterGroupFamily
, describeDefaultClusterParametersResponse
, DescribeDefaultClusterParametersResponse
, ddcprsStatus
, ddcprsDefaultClusterParameters
) where
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Redshift.Types
import Network.AWS.Redshift.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data DescribeDefaultClusterParameters = DescribeDefaultClusterParameters'
{ _ddcpMaxRecords :: !(Maybe Int)
, _ddcpMarker :: !(Maybe Text)
, _ddcpParameterGroupFamily :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDefaultClusterParameters
:: Text
-> DescribeDefaultClusterParameters
describeDefaultClusterParameters pParameterGroupFamily_ =
DescribeDefaultClusterParameters'
{ _ddcpMaxRecords = Nothing
, _ddcpMarker = Nothing
, _ddcpParameterGroupFamily = pParameterGroupFamily_
}
ddcpMaxRecords :: Lens' DescribeDefaultClusterParameters (Maybe Int)
ddcpMaxRecords = lens _ddcpMaxRecords (\ s a -> s{_ddcpMaxRecords = a});
ddcpMarker :: Lens' DescribeDefaultClusterParameters (Maybe Text)
ddcpMarker = lens _ddcpMarker (\ s a -> s{_ddcpMarker = a});
ddcpParameterGroupFamily :: Lens' DescribeDefaultClusterParameters Text
ddcpParameterGroupFamily = lens _ddcpParameterGroupFamily (\ s a -> s{_ddcpParameterGroupFamily = a});
instance AWSPager DescribeDefaultClusterParameters
where
page rq rs
| stop
(rs ^?
ddcprsDefaultClusterParameters . dcpMarker . _Just)
= Nothing
| stop
(rs ^.
ddcprsDefaultClusterParameters . dcpParameters)
= Nothing
| otherwise =
Just $ rq &
ddcpMarker .~
rs ^?
ddcprsDefaultClusterParameters . dcpMarker . _Just
instance AWSRequest DescribeDefaultClusterParameters
where
type Rs DescribeDefaultClusterParameters =
DescribeDefaultClusterParametersResponse
request = postQuery redshift
response
= receiveXMLWrapper
"DescribeDefaultClusterParametersResult"
(\ s h x ->
DescribeDefaultClusterParametersResponse' <$>
(pure (fromEnum s)) <*>
(x .@ "DefaultClusterParameters"))
instance ToHeaders DescribeDefaultClusterParameters
where
toHeaders = const mempty
instance ToPath DescribeDefaultClusterParameters
where
toPath = const "/"
instance ToQuery DescribeDefaultClusterParameters
where
toQuery DescribeDefaultClusterParameters'{..}
= mconcat
["Action" =:
("DescribeDefaultClusterParameters" :: ByteString),
"Version" =: ("2012-12-01" :: ByteString),
"MaxRecords" =: _ddcpMaxRecords,
"Marker" =: _ddcpMarker,
"ParameterGroupFamily" =: _ddcpParameterGroupFamily]
data DescribeDefaultClusterParametersResponse = DescribeDefaultClusterParametersResponse'
{ _ddcprsStatus :: !Int
, _ddcprsDefaultClusterParameters :: !DefaultClusterParameters
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeDefaultClusterParametersResponse
:: Int
-> DefaultClusterParameters
-> DescribeDefaultClusterParametersResponse
describeDefaultClusterParametersResponse pStatus_ pDefaultClusterParameters_ =
DescribeDefaultClusterParametersResponse'
{ _ddcprsStatus = pStatus_
, _ddcprsDefaultClusterParameters = pDefaultClusterParameters_
}
ddcprsStatus :: Lens' DescribeDefaultClusterParametersResponse Int
ddcprsStatus = lens _ddcprsStatus (\ s a -> s{_ddcprsStatus = a});
ddcprsDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters
ddcprsDefaultClusterParameters = lens _ddcprsDefaultClusterParameters (\ s a -> s{_ddcprsDefaultClusterParameters = a});