{-# 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.ElasticBeanstalk.DescribeEvents
(
describeEvents
, DescribeEvents
, deRequestId
, deTemplateName
, deStartTime
, deSeverity
, deNextToken
, deVersionLabel
, deEnvironmentName
, deMaxRecords
, deEndTime
, deApplicationName
, deEnvironmentId
, describeEventsResponse
, DescribeEventsResponse
, dersNextToken
, dersEvents
, dersResponseStatus
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEvents = DescribeEvents'
{ _deRequestId :: !(Maybe Text)
, _deTemplateName :: !(Maybe Text)
, _deStartTime :: !(Maybe ISO8601)
, _deSeverity :: !(Maybe EventSeverity)
, _deNextToken :: !(Maybe Text)
, _deVersionLabel :: !(Maybe Text)
, _deEnvironmentName :: !(Maybe Text)
, _deMaxRecords :: !(Maybe Nat)
, _deEndTime :: !(Maybe ISO8601)
, _deApplicationName :: !(Maybe Text)
, _deEnvironmentId :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeEvents
:: DescribeEvents
describeEvents =
DescribeEvents'
{ _deRequestId = Nothing
, _deTemplateName = Nothing
, _deStartTime = Nothing
, _deSeverity = Nothing
, _deNextToken = Nothing
, _deVersionLabel = Nothing
, _deEnvironmentName = Nothing
, _deMaxRecords = Nothing
, _deEndTime = Nothing
, _deApplicationName = Nothing
, _deEnvironmentId = Nothing
}
deRequestId :: Lens' DescribeEvents (Maybe Text)
deRequestId = lens _deRequestId (\ s a -> s{_deRequestId = a});
deTemplateName :: Lens' DescribeEvents (Maybe Text)
deTemplateName = lens _deTemplateName (\ s a -> s{_deTemplateName = a});
deStartTime :: Lens' DescribeEvents (Maybe UTCTime)
deStartTime = lens _deStartTime (\ s a -> s{_deStartTime = a}) . mapping _Time;
deSeverity :: Lens' DescribeEvents (Maybe EventSeverity)
deSeverity = lens _deSeverity (\ s a -> s{_deSeverity = a});
deNextToken :: Lens' DescribeEvents (Maybe Text)
deNextToken = lens _deNextToken (\ s a -> s{_deNextToken = a});
deVersionLabel :: Lens' DescribeEvents (Maybe Text)
deVersionLabel = lens _deVersionLabel (\ s a -> s{_deVersionLabel = a});
deEnvironmentName :: Lens' DescribeEvents (Maybe Text)
deEnvironmentName = lens _deEnvironmentName (\ s a -> s{_deEnvironmentName = a});
deMaxRecords :: Lens' DescribeEvents (Maybe Natural)
deMaxRecords = lens _deMaxRecords (\ s a -> s{_deMaxRecords = a}) . mapping _Nat;
deEndTime :: Lens' DescribeEvents (Maybe UTCTime)
deEndTime = lens _deEndTime (\ s a -> s{_deEndTime = a}) . mapping _Time;
deApplicationName :: Lens' DescribeEvents (Maybe Text)
deApplicationName = lens _deApplicationName (\ s a -> s{_deApplicationName = a});
deEnvironmentId :: Lens' DescribeEvents (Maybe Text)
deEnvironmentId = lens _deEnvironmentId (\ s a -> s{_deEnvironmentId = a});
instance AWSPager DescribeEvents where
page rq rs
| stop (rs ^. dersNextToken) = Nothing
| stop (rs ^. dersEvents) = Nothing
| otherwise =
Just $ rq & deNextToken .~ rs ^. dersNextToken
instance AWSRequest DescribeEvents where
type Rs DescribeEvents = DescribeEventsResponse
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper "DescribeEventsResult"
(\ s h x ->
DescribeEventsResponse' <$>
(x .@? "NextToken") <*>
(x .@? "Events" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DescribeEvents
instance NFData DescribeEvents
instance ToHeaders DescribeEvents where
toHeaders = const mempty
instance ToPath DescribeEvents where
toPath = const "/"
instance ToQuery DescribeEvents where
toQuery DescribeEvents'{..}
= mconcat
["Action" =: ("DescribeEvents" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"RequestId" =: _deRequestId,
"TemplateName" =: _deTemplateName,
"StartTime" =: _deStartTime,
"Severity" =: _deSeverity,
"NextToken" =: _deNextToken,
"VersionLabel" =: _deVersionLabel,
"EnvironmentName" =: _deEnvironmentName,
"MaxRecords" =: _deMaxRecords,
"EndTime" =: _deEndTime,
"ApplicationName" =: _deApplicationName,
"EnvironmentId" =: _deEnvironmentId]
data DescribeEventsResponse = DescribeEventsResponse'
{ _dersNextToken :: !(Maybe Text)
, _dersEvents :: !(Maybe [EventDescription])
, _dersResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeEventsResponse
:: Int
-> DescribeEventsResponse
describeEventsResponse pResponseStatus_ =
DescribeEventsResponse'
{ _dersNextToken = Nothing
, _dersEvents = Nothing
, _dersResponseStatus = pResponseStatus_
}
dersNextToken :: Lens' DescribeEventsResponse (Maybe Text)
dersNextToken = lens _dersNextToken (\ s a -> s{_dersNextToken = a});
dersEvents :: Lens' DescribeEventsResponse [EventDescription]
dersEvents = lens _dersEvents (\ s a -> s{_dersEvents = a}) . _Default . _Coerce;
dersResponseStatus :: Lens' DescribeEventsResponse Int
dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a});
instance NFData DescribeEventsResponse