module Network.AWS.Redshift.DescribeDefaultClusterParameters
(
DescribeDefaultClusterParameters
, describeDefaultClusterParameters
, ddcpMarker
, ddcpMaxRecords
, ddcpParameterGroupFamily
, DescribeDefaultClusterParametersResponse
, describeDefaultClusterParametersResponse
, ddcprDefaultClusterParameters
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.Redshift.Types
import qualified GHC.Exts
data DescribeDefaultClusterParameters = DescribeDefaultClusterParameters
{ _ddcpMarker :: Maybe Text
, _ddcpMaxRecords :: Maybe Int
, _ddcpParameterGroupFamily :: Text
} deriving (Eq, Ord, Show)
describeDefaultClusterParameters :: Text
-> DescribeDefaultClusterParameters
describeDefaultClusterParameters p1 = DescribeDefaultClusterParameters
{ _ddcpParameterGroupFamily = p1
, _ddcpMaxRecords = Nothing
, _ddcpMarker = Nothing
}
ddcpMarker :: Lens' DescribeDefaultClusterParameters (Maybe Text)
ddcpMarker = lens _ddcpMarker (\s a -> s { _ddcpMarker = a })
ddcpMaxRecords :: Lens' DescribeDefaultClusterParameters (Maybe Int)
ddcpMaxRecords = lens _ddcpMaxRecords (\s a -> s { _ddcpMaxRecords = a })
ddcpParameterGroupFamily :: Lens' DescribeDefaultClusterParameters Text
ddcpParameterGroupFamily =
lens _ddcpParameterGroupFamily
(\s a -> s { _ddcpParameterGroupFamily = a })
newtype DescribeDefaultClusterParametersResponse = DescribeDefaultClusterParametersResponse
{ _ddcprDefaultClusterParameters :: DefaultClusterParameters
} deriving (Eq, Show)
describeDefaultClusterParametersResponse :: DefaultClusterParameters
-> DescribeDefaultClusterParametersResponse
describeDefaultClusterParametersResponse p1 = DescribeDefaultClusterParametersResponse
{ _ddcprDefaultClusterParameters = p1
}
ddcprDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters
ddcprDefaultClusterParameters =
lens _ddcprDefaultClusterParameters
(\s a -> s { _ddcprDefaultClusterParameters = a })
instance ToPath DescribeDefaultClusterParameters where
toPath = const "/"
instance ToQuery DescribeDefaultClusterParameters where
toQuery DescribeDefaultClusterParameters{..} = mconcat
[ "Marker" =? _ddcpMarker
, "MaxRecords" =? _ddcpMaxRecords
, "ParameterGroupFamily" =? _ddcpParameterGroupFamily
]
instance ToHeaders DescribeDefaultClusterParameters
instance AWSRequest DescribeDefaultClusterParameters where
type Sv DescribeDefaultClusterParameters = Redshift
type Rs DescribeDefaultClusterParameters = DescribeDefaultClusterParametersResponse
request = post "DescribeDefaultClusterParameters"
response = xmlResponse
instance FromXML DescribeDefaultClusterParametersResponse where
parseXML = withElement "DescribeDefaultClusterParametersResult" $ \x -> DescribeDefaultClusterParametersResponse
<$> x .@ "DefaultClusterParameters"
instance AWSPager DescribeDefaultClusterParameters where
page rq rs
| stop (rq ^. ddcpMarker) = Nothing
| otherwise = (\x -> rq & ddcpMarker ?~ x)
<$> (rs ^. ddcprDefaultClusterParameters . dcpMarker)