{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.XRay.GetTraceSummaries
(
getTraceSummaries
, GetTraceSummaries
, gtsFilterExpression
, gtsNextToken
, gtsSampling
, gtsStartTime
, gtsEndTime
, getTraceSummariesResponse
, GetTraceSummariesResponse
, gtsrsTracesProcessedCount
, gtsrsNextToken
, gtsrsApproximateTime
, gtsrsTraceSummaries
, gtsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.XRay.Types
import Network.AWS.XRay.Types.Product
data GetTraceSummaries = GetTraceSummaries'
{ _gtsFilterExpression :: !(Maybe Text)
, _gtsNextToken :: !(Maybe Text)
, _gtsSampling :: !(Maybe Bool)
, _gtsStartTime :: !POSIX
, _gtsEndTime :: !POSIX
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getTraceSummaries
:: UTCTime
-> UTCTime
-> GetTraceSummaries
getTraceSummaries pStartTime_ pEndTime_ =
GetTraceSummaries'
{ _gtsFilterExpression = Nothing
, _gtsNextToken = Nothing
, _gtsSampling = Nothing
, _gtsStartTime = _Time # pStartTime_
, _gtsEndTime = _Time # pEndTime_
}
gtsFilterExpression :: Lens' GetTraceSummaries (Maybe Text)
gtsFilterExpression = lens _gtsFilterExpression (\ s a -> s{_gtsFilterExpression = a});
gtsNextToken :: Lens' GetTraceSummaries (Maybe Text)
gtsNextToken = lens _gtsNextToken (\ s a -> s{_gtsNextToken = a});
gtsSampling :: Lens' GetTraceSummaries (Maybe Bool)
gtsSampling = lens _gtsSampling (\ s a -> s{_gtsSampling = a});
gtsStartTime :: Lens' GetTraceSummaries UTCTime
gtsStartTime = lens _gtsStartTime (\ s a -> s{_gtsStartTime = a}) . _Time;
gtsEndTime :: Lens' GetTraceSummaries UTCTime
gtsEndTime = lens _gtsEndTime (\ s a -> s{_gtsEndTime = a}) . _Time;
instance AWSRequest GetTraceSummaries where
type Rs GetTraceSummaries = GetTraceSummariesResponse
request = postJSON xRay
response
= receiveJSON
(\ s h x ->
GetTraceSummariesResponse' <$>
(x .?> "TracesProcessedCount") <*>
(x .?> "NextToken")
<*> (x .?> "ApproximateTime")
<*> (x .?> "TraceSummaries" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetTraceSummaries
instance NFData GetTraceSummaries
instance ToHeaders GetTraceSummaries where
toHeaders = const mempty
instance ToJSON GetTraceSummaries where
toJSON GetTraceSummaries'{..}
= object
(catMaybes
[("FilterExpression" .=) <$> _gtsFilterExpression,
("NextToken" .=) <$> _gtsNextToken,
("Sampling" .=) <$> _gtsSampling,
Just ("StartTime" .= _gtsStartTime),
Just ("EndTime" .= _gtsEndTime)])
instance ToPath GetTraceSummaries where
toPath = const "/TraceSummaries"
instance ToQuery GetTraceSummaries where
toQuery = const mempty
data GetTraceSummariesResponse = GetTraceSummariesResponse'
{ _gtsrsTracesProcessedCount :: !(Maybe Integer)
, _gtsrsNextToken :: !(Maybe Text)
, _gtsrsApproximateTime :: !(Maybe POSIX)
, _gtsrsTraceSummaries :: !(Maybe [TraceSummary])
, _gtsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getTraceSummariesResponse
:: Int
-> GetTraceSummariesResponse
getTraceSummariesResponse pResponseStatus_ =
GetTraceSummariesResponse'
{ _gtsrsTracesProcessedCount = Nothing
, _gtsrsNextToken = Nothing
, _gtsrsApproximateTime = Nothing
, _gtsrsTraceSummaries = Nothing
, _gtsrsResponseStatus = pResponseStatus_
}
gtsrsTracesProcessedCount :: Lens' GetTraceSummariesResponse (Maybe Integer)
gtsrsTracesProcessedCount = lens _gtsrsTracesProcessedCount (\ s a -> s{_gtsrsTracesProcessedCount = a});
gtsrsNextToken :: Lens' GetTraceSummariesResponse (Maybe Text)
gtsrsNextToken = lens _gtsrsNextToken (\ s a -> s{_gtsrsNextToken = a});
gtsrsApproximateTime :: Lens' GetTraceSummariesResponse (Maybe UTCTime)
gtsrsApproximateTime = lens _gtsrsApproximateTime (\ s a -> s{_gtsrsApproximateTime = a}) . mapping _Time;
gtsrsTraceSummaries :: Lens' GetTraceSummariesResponse [TraceSummary]
gtsrsTraceSummaries = lens _gtsrsTraceSummaries (\ s a -> s{_gtsrsTraceSummaries = a}) . _Default . _Coerce;
gtsrsResponseStatus :: Lens' GetTraceSummariesResponse Int
gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a});
instance NFData GetTraceSummariesResponse