module Network.AWS.EC2.DescribeVPCEndpointServices
(
describeVPCEndpointServices
, DescribeVPCEndpointServices
, dvesNextToken
, dvesDryRun
, dvesMaxResults
, describeVPCEndpointServicesResponse
, DescribeVPCEndpointServicesResponse
, dvesrsServiceNames
, dvesrsNextToken
, dvesrsStatus
) 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 DescribeVPCEndpointServices = DescribeVPCEndpointServices'
{ _dvesNextToken :: !(Maybe Text)
, _dvesDryRun :: !(Maybe Bool)
, _dvesMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVPCEndpointServices
:: DescribeVPCEndpointServices
describeVPCEndpointServices =
DescribeVPCEndpointServices'
{ _dvesNextToken = Nothing
, _dvesDryRun = Nothing
, _dvesMaxResults = Nothing
}
dvesNextToken :: Lens' DescribeVPCEndpointServices (Maybe Text)
dvesNextToken = lens _dvesNextToken (\ s a -> s{_dvesNextToken = a});
dvesDryRun :: Lens' DescribeVPCEndpointServices (Maybe Bool)
dvesDryRun = lens _dvesDryRun (\ s a -> s{_dvesDryRun = a});
dvesMaxResults :: Lens' DescribeVPCEndpointServices (Maybe Int)
dvesMaxResults = lens _dvesMaxResults (\ s a -> s{_dvesMaxResults = a});
instance AWSRequest DescribeVPCEndpointServices where
type Rs DescribeVPCEndpointServices =
DescribeVPCEndpointServicesResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribeVPCEndpointServicesResponse' <$>
(x .@? "serviceNameSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (x .@? "nextToken")
<*> (pure (fromEnum s)))
instance ToHeaders DescribeVPCEndpointServices where
toHeaders = const mempty
instance ToPath DescribeVPCEndpointServices where
toPath = const "/"
instance ToQuery DescribeVPCEndpointServices where
toQuery DescribeVPCEndpointServices'{..}
= mconcat
["Action" =:
("DescribeVpcEndpointServices" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
"NextToken" =: _dvesNextToken,
"DryRun" =: _dvesDryRun,
"MaxResults" =: _dvesMaxResults]
data DescribeVPCEndpointServicesResponse = DescribeVPCEndpointServicesResponse'
{ _dvesrsServiceNames :: !(Maybe [Text])
, _dvesrsNextToken :: !(Maybe Text)
, _dvesrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVPCEndpointServicesResponse
:: Int
-> DescribeVPCEndpointServicesResponse
describeVPCEndpointServicesResponse pStatus_ =
DescribeVPCEndpointServicesResponse'
{ _dvesrsServiceNames = Nothing
, _dvesrsNextToken = Nothing
, _dvesrsStatus = pStatus_
}
dvesrsServiceNames :: Lens' DescribeVPCEndpointServicesResponse [Text]
dvesrsServiceNames = lens _dvesrsServiceNames (\ s a -> s{_dvesrsServiceNames = a}) . _Default . _Coerce;
dvesrsNextToken :: Lens' DescribeVPCEndpointServicesResponse (Maybe Text)
dvesrsNextToken = lens _dvesrsNextToken (\ s a -> s{_dvesrsNextToken = a});
dvesrsStatus :: Lens' DescribeVPCEndpointServicesResponse Int
dvesrsStatus = lens _dvesrsStatus (\ s a -> s{_dvesrsStatus = a});