module Network.AWS.EC2.DescribeFlowLogs
(
describeFlowLogs
, DescribeFlowLogs
, dNextToken
, dFilter
, dFlowLogIds
, dMaxResults
, describeFlowLogsResponse
, DescribeFlowLogsResponse
, dflsrsNextToken
, dflsrsFlowLogs
, dflsrsStatus
) 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 DescribeFlowLogs = DescribeFlowLogs'
{ _dNextToken :: !(Maybe Text)
, _dFilter :: !(Maybe [Filter])
, _dFlowLogIds :: !(Maybe [Text])
, _dMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeFlowLogs
:: DescribeFlowLogs
describeFlowLogs =
DescribeFlowLogs'
{ _dNextToken = Nothing
, _dFilter = Nothing
, _dFlowLogIds = Nothing
, _dMaxResults = Nothing
}
dNextToken :: Lens' DescribeFlowLogs (Maybe Text)
dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});
dFilter :: Lens' DescribeFlowLogs [Filter]
dFilter = lens _dFilter (\ s a -> s{_dFilter = a}) . _Default . _Coerce;
dFlowLogIds :: Lens' DescribeFlowLogs [Text]
dFlowLogIds = lens _dFlowLogIds (\ s a -> s{_dFlowLogIds = a}) . _Default . _Coerce;
dMaxResults :: Lens' DescribeFlowLogs (Maybe Int)
dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a});
instance AWSRequest DescribeFlowLogs where
type Rs DescribeFlowLogs = DescribeFlowLogsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribeFlowLogsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "flowLogSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeFlowLogs where
toHeaders = const mempty
instance ToPath DescribeFlowLogs where
toPath = const "/"
instance ToQuery DescribeFlowLogs where
toQuery DescribeFlowLogs'{..}
= mconcat
["Action" =: ("DescribeFlowLogs" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
"NextToken" =: _dNextToken,
toQuery (toQueryList "Filter" <$> _dFilter),
toQuery (toQueryList "FlowLogId" <$> _dFlowLogIds),
"MaxResults" =: _dMaxResults]
data DescribeFlowLogsResponse = DescribeFlowLogsResponse'
{ _dflsrsNextToken :: !(Maybe Text)
, _dflsrsFlowLogs :: !(Maybe [FlowLog])
, _dflsrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeFlowLogsResponse
:: Int
-> DescribeFlowLogsResponse
describeFlowLogsResponse pStatus_ =
DescribeFlowLogsResponse'
{ _dflsrsNextToken = Nothing
, _dflsrsFlowLogs = Nothing
, _dflsrsStatus = pStatus_
}
dflsrsNextToken :: Lens' DescribeFlowLogsResponse (Maybe Text)
dflsrsNextToken = lens _dflsrsNextToken (\ s a -> s{_dflsrsNextToken = a});
dflsrsFlowLogs :: Lens' DescribeFlowLogsResponse [FlowLog]
dflsrsFlowLogs = lens _dflsrsFlowLogs (\ s a -> s{_dflsrsFlowLogs = a}) . _Default . _Coerce;
dflsrsStatus :: Lens' DescribeFlowLogsResponse Int
dflsrsStatus = lens _dflsrsStatus (\ s a -> s{_dflsrsStatus = a});