module Network.AWS.EC2.DescribeVPCEndpoints
(
describeVPCEndpoints
, DescribeVPCEndpoints
, dvpceFilters
, dvpceNextToken
, dvpceVPCEndpointIds
, dvpceDryRun
, dvpceMaxResults
, describeVPCEndpointsResponse
, DescribeVPCEndpointsResponse
, dvpcersNextToken
, dvpcersVPCEndpoints
, dvpcersResponseStatus
) 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 DescribeVPCEndpoints = DescribeVPCEndpoints'
{ _dvpceFilters :: !(Maybe [Filter])
, _dvpceNextToken :: !(Maybe Text)
, _dvpceVPCEndpointIds :: !(Maybe [Text])
, _dvpceDryRun :: !(Maybe Bool)
, _dvpceMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVPCEndpoints
:: DescribeVPCEndpoints
describeVPCEndpoints =
DescribeVPCEndpoints'
{ _dvpceFilters = Nothing
, _dvpceNextToken = Nothing
, _dvpceVPCEndpointIds = Nothing
, _dvpceDryRun = Nothing
, _dvpceMaxResults = Nothing
}
dvpceFilters :: Lens' DescribeVPCEndpoints [Filter]
dvpceFilters = lens _dvpceFilters (\ s a -> s{_dvpceFilters = a}) . _Default . _Coerce;
dvpceNextToken :: Lens' DescribeVPCEndpoints (Maybe Text)
dvpceNextToken = lens _dvpceNextToken (\ s a -> s{_dvpceNextToken = a});
dvpceVPCEndpointIds :: Lens' DescribeVPCEndpoints [Text]
dvpceVPCEndpointIds = lens _dvpceVPCEndpointIds (\ s a -> s{_dvpceVPCEndpointIds = a}) . _Default . _Coerce;
dvpceDryRun :: Lens' DescribeVPCEndpoints (Maybe Bool)
dvpceDryRun = lens _dvpceDryRun (\ s a -> s{_dvpceDryRun = a});
dvpceMaxResults :: Lens' DescribeVPCEndpoints (Maybe Int)
dvpceMaxResults = lens _dvpceMaxResults (\ s a -> s{_dvpceMaxResults = a});
instance AWSRequest DescribeVPCEndpoints where
type Rs DescribeVPCEndpoints =
DescribeVPCEndpointsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribeVPCEndpointsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "vpcEndpointSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeVPCEndpoints where
toHeaders = const mempty
instance ToPath DescribeVPCEndpoints where
toPath = const "/"
instance ToQuery DescribeVPCEndpoints where
toQuery DescribeVPCEndpoints'{..}
= mconcat
["Action" =: ("DescribeVpcEndpoints" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
toQuery (toQueryList "Filter" <$> _dvpceFilters),
"NextToken" =: _dvpceNextToken,
toQuery
(toQueryList "VpcEndpointId" <$>
_dvpceVPCEndpointIds),
"DryRun" =: _dvpceDryRun,
"MaxResults" =: _dvpceMaxResults]
data DescribeVPCEndpointsResponse = DescribeVPCEndpointsResponse'
{ _dvpcersNextToken :: !(Maybe Text)
, _dvpcersVPCEndpoints :: !(Maybe [VPCEndpoint])
, _dvpcersResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVPCEndpointsResponse
:: Int
-> DescribeVPCEndpointsResponse
describeVPCEndpointsResponse pResponseStatus_ =
DescribeVPCEndpointsResponse'
{ _dvpcersNextToken = Nothing
, _dvpcersVPCEndpoints = Nothing
, _dvpcersResponseStatus = pResponseStatus_
}
dvpcersNextToken :: Lens' DescribeVPCEndpointsResponse (Maybe Text)
dvpcersNextToken = lens _dvpcersNextToken (\ s a -> s{_dvpcersNextToken = a});
dvpcersVPCEndpoints :: Lens' DescribeVPCEndpointsResponse [VPCEndpoint]
dvpcersVPCEndpoints = lens _dvpcersVPCEndpoints (\ s a -> s{_dvpcersVPCEndpoints = a}) . _Default . _Coerce;
dvpcersResponseStatus :: Lens' DescribeVPCEndpointsResponse Int
dvpcersResponseStatus = lens _dvpcersResponseStatus (\ s a -> s{_dvpcersResponseStatus = a});