module Network.AWS.DirectConnect.DescribeVirtualGateways
(
describeVirtualGateways
, DescribeVirtualGateways
, describeVirtualGatewaysResponse
, DescribeVirtualGatewaysResponse
, dvgrsVirtualGateways
, dvgrsResponseStatus
) where
import Network.AWS.DirectConnect.Types
import Network.AWS.DirectConnect.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeVirtualGateways =
DescribeVirtualGateways'
deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVirtualGateways
:: DescribeVirtualGateways
describeVirtualGateways = DescribeVirtualGateways'
instance AWSRequest DescribeVirtualGateways where
type Rs DescribeVirtualGateways =
DescribeVirtualGatewaysResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DescribeVirtualGatewaysResponse' <$>
(x .?> "virtualGateways" .!@ mempty) <*>
(pure (fromEnum s)))
instance ToHeaders DescribeVirtualGateways where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DescribeVirtualGateways" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeVirtualGateways where
toJSON = const (Object mempty)
instance ToPath DescribeVirtualGateways where
toPath = const "/"
instance ToQuery DescribeVirtualGateways where
toQuery = const mempty
data DescribeVirtualGatewaysResponse = DescribeVirtualGatewaysResponse'
{ _dvgrsVirtualGateways :: !(Maybe [VirtualGateway])
, _dvgrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVirtualGatewaysResponse
:: Int
-> DescribeVirtualGatewaysResponse
describeVirtualGatewaysResponse pResponseStatus_ =
DescribeVirtualGatewaysResponse'
{ _dvgrsVirtualGateways = Nothing
, _dvgrsResponseStatus = pResponseStatus_
}
dvgrsVirtualGateways :: Lens' DescribeVirtualGatewaysResponse [VirtualGateway]
dvgrsVirtualGateways = lens _dvgrsVirtualGateways (\ s a -> s{_dvgrsVirtualGateways = a}) . _Default . _Coerce;
dvgrsResponseStatus :: Lens' DescribeVirtualGatewaysResponse Int
dvgrsResponseStatus = lens _dvgrsResponseStatus (\ s a -> s{_dvgrsResponseStatus = a});