module Network.AWS.DAX.DescribeParameters
(
describeParameters
, DescribeParameters
, dpNextToken
, dpSource
, dpMaxResults
, dpParameterGroupName
, describeParametersResponse
, DescribeParametersResponse
, dprsNextToken
, dprsParameters
, dprsResponseStatus
) where
import Network.AWS.DAX.Types
import Network.AWS.DAX.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeParameters = DescribeParameters'
{ _dpNextToken :: !(Maybe Text)
, _dpSource :: !(Maybe Text)
, _dpMaxResults :: !(Maybe Int)
, _dpParameterGroupName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeParameters
:: Text
-> DescribeParameters
describeParameters pParameterGroupName_ =
DescribeParameters'
{ _dpNextToken = Nothing
, _dpSource = Nothing
, _dpMaxResults = Nothing
, _dpParameterGroupName = pParameterGroupName_
}
dpNextToken :: Lens' DescribeParameters (Maybe Text)
dpNextToken = lens _dpNextToken (\ s a -> s{_dpNextToken = a});
dpSource :: Lens' DescribeParameters (Maybe Text)
dpSource = lens _dpSource (\ s a -> s{_dpSource = a});
dpMaxResults :: Lens' DescribeParameters (Maybe Int)
dpMaxResults = lens _dpMaxResults (\ s a -> s{_dpMaxResults = a});
dpParameterGroupName :: Lens' DescribeParameters Text
dpParameterGroupName = lens _dpParameterGroupName (\ s a -> s{_dpParameterGroupName = a});
instance AWSRequest DescribeParameters where
type Rs DescribeParameters =
DescribeParametersResponse
request = postJSON dax
response
= receiveJSON
(\ s h x ->
DescribeParametersResponse' <$>
(x .?> "NextToken") <*>
(x .?> "Parameters" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable DescribeParameters where
instance NFData DescribeParameters where
instance ToHeaders DescribeParameters where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonDAXV3.DescribeParameters" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeParameters where
toJSON DescribeParameters'{..}
= object
(catMaybes
[("NextToken" .=) <$> _dpNextToken,
("Source" .=) <$> _dpSource,
("MaxResults" .=) <$> _dpMaxResults,
Just
("ParameterGroupName" .= _dpParameterGroupName)])
instance ToPath DescribeParameters where
toPath = const "/"
instance ToQuery DescribeParameters where
toQuery = const mempty
data DescribeParametersResponse = DescribeParametersResponse'
{ _dprsNextToken :: !(Maybe Text)
, _dprsParameters :: !(Maybe [Parameter])
, _dprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeParametersResponse
:: Int
-> DescribeParametersResponse
describeParametersResponse pResponseStatus_ =
DescribeParametersResponse'
{ _dprsNextToken = Nothing
, _dprsParameters = Nothing
, _dprsResponseStatus = pResponseStatus_
}
dprsNextToken :: Lens' DescribeParametersResponse (Maybe Text)
dprsNextToken = lens _dprsNextToken (\ s a -> s{_dprsNextToken = a});
dprsParameters :: Lens' DescribeParametersResponse [Parameter]
dprsParameters = lens _dprsParameters (\ s a -> s{_dprsParameters = a}) . _Default . _Coerce;
dprsResponseStatus :: Lens' DescribeParametersResponse Int
dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});
instance NFData DescribeParametersResponse where