{-# 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.EC2.DescribeFleetHistory
(
describeFleetHistory
, DescribeFleetHistory
, dfhNextToken
, dfhEventType
, dfhDryRun
, dfhMaxResults
, dfhFleetId
, dfhStartTime
, describeFleetHistoryResponse
, DescribeFleetHistoryResponse
, dfhrsStartTime
, dfhrsLastEvaluatedTime
, dfhrsNextToken
, dfhrsHistoryRecords
, dfhrsFleetId
, dfhrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeFleetHistory = DescribeFleetHistory'
{ _dfhNextToken :: !(Maybe Text)
, _dfhEventType :: !(Maybe FleetEventType)
, _dfhDryRun :: !(Maybe Bool)
, _dfhMaxResults :: !(Maybe Int)
, _dfhFleetId :: !Text
, _dfhStartTime :: !ISO8601
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeFleetHistory
:: Text
-> UTCTime
-> DescribeFleetHistory
describeFleetHistory pFleetId_ pStartTime_ =
DescribeFleetHistory'
{ _dfhNextToken = Nothing
, _dfhEventType = Nothing
, _dfhDryRun = Nothing
, _dfhMaxResults = Nothing
, _dfhFleetId = pFleetId_
, _dfhStartTime = _Time # pStartTime_
}
dfhNextToken :: Lens' DescribeFleetHistory (Maybe Text)
dfhNextToken = lens _dfhNextToken (\ s a -> s{_dfhNextToken = a})
dfhEventType :: Lens' DescribeFleetHistory (Maybe FleetEventType)
dfhEventType = lens _dfhEventType (\ s a -> s{_dfhEventType = a})
dfhDryRun :: Lens' DescribeFleetHistory (Maybe Bool)
dfhDryRun = lens _dfhDryRun (\ s a -> s{_dfhDryRun = a})
dfhMaxResults :: Lens' DescribeFleetHistory (Maybe Int)
dfhMaxResults = lens _dfhMaxResults (\ s a -> s{_dfhMaxResults = a})
dfhFleetId :: Lens' DescribeFleetHistory Text
dfhFleetId = lens _dfhFleetId (\ s a -> s{_dfhFleetId = a})
dfhStartTime :: Lens' DescribeFleetHistory UTCTime
dfhStartTime = lens _dfhStartTime (\ s a -> s{_dfhStartTime = a}) . _Time
instance AWSRequest DescribeFleetHistory where
type Rs DescribeFleetHistory =
DescribeFleetHistoryResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeFleetHistoryResponse' <$>
(x .@? "startTime") <*> (x .@? "lastEvaluatedTime")
<*> (x .@? "nextToken")
<*>
(x .@? "historyRecordSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (x .@? "fleetId")
<*> (pure (fromEnum s)))
instance Hashable DescribeFleetHistory where
instance NFData DescribeFleetHistory where
instance ToHeaders DescribeFleetHistory where
toHeaders = const mempty
instance ToPath DescribeFleetHistory where
toPath = const "/"
instance ToQuery DescribeFleetHistory where
toQuery DescribeFleetHistory'{..}
= mconcat
["Action" =: ("DescribeFleetHistory" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"NextToken" =: _dfhNextToken,
"EventType" =: _dfhEventType, "DryRun" =: _dfhDryRun,
"MaxResults" =: _dfhMaxResults,
"FleetId" =: _dfhFleetId,
"StartTime" =: _dfhStartTime]
data DescribeFleetHistoryResponse = DescribeFleetHistoryResponse'
{ _dfhrsStartTime :: !(Maybe ISO8601)
, _dfhrsLastEvaluatedTime :: !(Maybe ISO8601)
, _dfhrsNextToken :: !(Maybe Text)
, _dfhrsHistoryRecords :: !(Maybe [HistoryRecordEntry])
, _dfhrsFleetId :: !(Maybe Text)
, _dfhrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeFleetHistoryResponse
:: Int
-> DescribeFleetHistoryResponse
describeFleetHistoryResponse pResponseStatus_ =
DescribeFleetHistoryResponse'
{ _dfhrsStartTime = Nothing
, _dfhrsLastEvaluatedTime = Nothing
, _dfhrsNextToken = Nothing
, _dfhrsHistoryRecords = Nothing
, _dfhrsFleetId = Nothing
, _dfhrsResponseStatus = pResponseStatus_
}
dfhrsStartTime :: Lens' DescribeFleetHistoryResponse (Maybe UTCTime)
dfhrsStartTime = lens _dfhrsStartTime (\ s a -> s{_dfhrsStartTime = a}) . mapping _Time
dfhrsLastEvaluatedTime :: Lens' DescribeFleetHistoryResponse (Maybe UTCTime)
dfhrsLastEvaluatedTime = lens _dfhrsLastEvaluatedTime (\ s a -> s{_dfhrsLastEvaluatedTime = a}) . mapping _Time
dfhrsNextToken :: Lens' DescribeFleetHistoryResponse (Maybe Text)
dfhrsNextToken = lens _dfhrsNextToken (\ s a -> s{_dfhrsNextToken = a})
dfhrsHistoryRecords :: Lens' DescribeFleetHistoryResponse [HistoryRecordEntry]
dfhrsHistoryRecords = lens _dfhrsHistoryRecords (\ s a -> s{_dfhrsHistoryRecords = a}) . _Default . _Coerce
dfhrsFleetId :: Lens' DescribeFleetHistoryResponse (Maybe Text)
dfhrsFleetId = lens _dfhrsFleetId (\ s a -> s{_dfhrsFleetId = a})
dfhrsResponseStatus :: Lens' DescribeFleetHistoryResponse Int
dfhrsResponseStatus = lens _dfhrsResponseStatus (\ s a -> s{_dfhrsResponseStatus = a})
instance NFData DescribeFleetHistoryResponse where