module Network.AWS.EC2.DescribePrefixLists
(
describePrefixLists
, DescribePrefixLists
, dplFilters
, dplPrefixListIds
, dplNextToken
, dplDryRun
, dplMaxResults
, describePrefixListsResponse
, DescribePrefixListsResponse
, dplrsNextToken
, dplrsPrefixLists
, dplrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribePrefixLists = DescribePrefixLists'
{ _dplFilters :: !(Maybe [Filter])
, _dplPrefixListIds :: !(Maybe [Text])
, _dplNextToken :: !(Maybe Text)
, _dplDryRun :: !(Maybe Bool)
, _dplMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describePrefixLists
:: DescribePrefixLists
describePrefixLists =
DescribePrefixLists'
{ _dplFilters = Nothing
, _dplPrefixListIds = Nothing
, _dplNextToken = Nothing
, _dplDryRun = Nothing
, _dplMaxResults = Nothing
}
dplFilters :: Lens' DescribePrefixLists [Filter]
dplFilters = lens _dplFilters (\ s a -> s{_dplFilters = a}) . _Default . _Coerce;
dplPrefixListIds :: Lens' DescribePrefixLists [Text]
dplPrefixListIds = lens _dplPrefixListIds (\ s a -> s{_dplPrefixListIds = a}) . _Default . _Coerce;
dplNextToken :: Lens' DescribePrefixLists (Maybe Text)
dplNextToken = lens _dplNextToken (\ s a -> s{_dplNextToken = a});
dplDryRun :: Lens' DescribePrefixLists (Maybe Bool)
dplDryRun = lens _dplDryRun (\ s a -> s{_dplDryRun = a});
dplMaxResults :: Lens' DescribePrefixLists (Maybe Int)
dplMaxResults = lens _dplMaxResults (\ s a -> s{_dplMaxResults = a});
instance AWSRequest DescribePrefixLists where
type Rs DescribePrefixLists =
DescribePrefixListsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribePrefixListsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "prefixListSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribePrefixLists where
toHeaders = const mempty
instance ToPath DescribePrefixLists where
toPath = const "/"
instance ToQuery DescribePrefixLists where
toQuery DescribePrefixLists'{..}
= mconcat
["Action" =: ("DescribePrefixLists" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _dplFilters),
toQuery
(toQueryList "PrefixListId" <$> _dplPrefixListIds),
"NextToken" =: _dplNextToken, "DryRun" =: _dplDryRun,
"MaxResults" =: _dplMaxResults]
data DescribePrefixListsResponse = DescribePrefixListsResponse'
{ _dplrsNextToken :: !(Maybe Text)
, _dplrsPrefixLists :: !(Maybe [PrefixList])
, _dplrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describePrefixListsResponse
:: Int
-> DescribePrefixListsResponse
describePrefixListsResponse pResponseStatus_ =
DescribePrefixListsResponse'
{ _dplrsNextToken = Nothing
, _dplrsPrefixLists = Nothing
, _dplrsResponseStatus = pResponseStatus_
}
dplrsNextToken :: Lens' DescribePrefixListsResponse (Maybe Text)
dplrsNextToken = lens _dplrsNextToken (\ s a -> s{_dplrsNextToken = a});
dplrsPrefixLists :: Lens' DescribePrefixListsResponse [PrefixList]
dplrsPrefixLists = lens _dplrsPrefixLists (\ s a -> s{_dplrsPrefixLists = a}) . _Default . _Coerce;
dplrsResponseStatus :: Lens' DescribePrefixListsResponse Int
dplrsResponseStatus = lens _dplrsResponseStatus (\ s a -> s{_dplrsResponseStatus = a});