{-# 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.GetConsoleOutput
(
getConsoleOutput
, GetConsoleOutput
, gcoDryRun
, gcoInstanceId
, getConsoleOutputResponse
, GetConsoleOutputResponse
, gcorsInstanceId
, gcorsOutput
, gcorsTimestamp
, gcorsResponseStatus
) 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 GetConsoleOutput = GetConsoleOutput'
{ _gcoDryRun :: !(Maybe Bool)
, _gcoInstanceId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getConsoleOutput
:: Text
-> GetConsoleOutput
getConsoleOutput pInstanceId_ =
GetConsoleOutput'
{ _gcoDryRun = Nothing
, _gcoInstanceId = pInstanceId_
}
gcoDryRun :: Lens' GetConsoleOutput (Maybe Bool)
gcoDryRun = lens _gcoDryRun (\ s a -> s{_gcoDryRun = a});
gcoInstanceId :: Lens' GetConsoleOutput Text
gcoInstanceId = lens _gcoInstanceId (\ s a -> s{_gcoInstanceId = a});
instance AWSRequest GetConsoleOutput where
type Rs GetConsoleOutput = GetConsoleOutputResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
GetConsoleOutputResponse' <$>
(x .@? "instanceId") <*> (x .@? "output") <*>
(x .@? "timestamp")
<*> (pure (fromEnum s)))
instance Hashable GetConsoleOutput
instance NFData GetConsoleOutput
instance ToHeaders GetConsoleOutput where
toHeaders = const mempty
instance ToPath GetConsoleOutput where
toPath = const "/"
instance ToQuery GetConsoleOutput where
toQuery GetConsoleOutput'{..}
= mconcat
["Action" =: ("GetConsoleOutput" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
"DryRun" =: _gcoDryRun,
"InstanceId" =: _gcoInstanceId]
data GetConsoleOutputResponse = GetConsoleOutputResponse'
{ _gcorsInstanceId :: !(Maybe Text)
, _gcorsOutput :: !(Maybe Text)
, _gcorsTimestamp :: !(Maybe ISO8601)
, _gcorsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getConsoleOutputResponse
:: Int
-> GetConsoleOutputResponse
getConsoleOutputResponse pResponseStatus_ =
GetConsoleOutputResponse'
{ _gcorsInstanceId = Nothing
, _gcorsOutput = Nothing
, _gcorsTimestamp = Nothing
, _gcorsResponseStatus = pResponseStatus_
}
gcorsInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text)
gcorsInstanceId = lens _gcorsInstanceId (\ s a -> s{_gcorsInstanceId = a});
gcorsOutput :: Lens' GetConsoleOutputResponse (Maybe Text)
gcorsOutput = lens _gcorsOutput (\ s a -> s{_gcorsOutput = a});
gcorsTimestamp :: Lens' GetConsoleOutputResponse (Maybe UTCTime)
gcorsTimestamp = lens _gcorsTimestamp (\ s a -> s{_gcorsTimestamp = a}) . mapping _Time;
gcorsResponseStatus :: Lens' GetConsoleOutputResponse Int
gcorsResponseStatus = lens _gcorsResponseStatus (\ s a -> s{_gcorsResponseStatus = a});
instance NFData GetConsoleOutputResponse