module Network.AWS.EC2.MonitorInstances
(
monitorInstances
, MonitorInstances
, miDryRun
, miInstanceIds
, monitorInstancesResponse
, MonitorInstancesResponse
, mirsInstanceMonitorings
, mirsResponseStatus
) 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 MonitorInstances = MonitorInstances'
{ _miDryRun :: !(Maybe Bool)
, _miInstanceIds :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
monitorInstances
:: MonitorInstances
monitorInstances =
MonitorInstances'
{ _miDryRun = Nothing
, _miInstanceIds = mempty
}
miDryRun :: Lens' MonitorInstances (Maybe Bool)
miDryRun = lens _miDryRun (\ s a -> s{_miDryRun = a});
miInstanceIds :: Lens' MonitorInstances [Text]
miInstanceIds = lens _miInstanceIds (\ s a -> s{_miInstanceIds = a}) . _Coerce;
instance AWSRequest MonitorInstances where
type Rs MonitorInstances = MonitorInstancesResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
MonitorInstancesResponse' <$>
(x .@? "instancesSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders MonitorInstances where
toHeaders = const mempty
instance ToPath MonitorInstances where
toPath = const "/"
instance ToQuery MonitorInstances where
toQuery MonitorInstances'{..}
= mconcat
["Action" =: ("MonitorInstances" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
"DryRun" =: _miDryRun,
toQueryList "InstanceId" _miInstanceIds]
data MonitorInstancesResponse = MonitorInstancesResponse'
{ _mirsInstanceMonitorings :: !(Maybe [InstanceMonitoring])
, _mirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
monitorInstancesResponse
:: Int
-> MonitorInstancesResponse
monitorInstancesResponse pResponseStatus_ =
MonitorInstancesResponse'
{ _mirsInstanceMonitorings = Nothing
, _mirsResponseStatus = pResponseStatus_
}
mirsInstanceMonitorings :: Lens' MonitorInstancesResponse [InstanceMonitoring]
mirsInstanceMonitorings = lens _mirsInstanceMonitorings (\ s a -> s{_mirsInstanceMonitorings = a}) . _Default . _Coerce;
mirsResponseStatus :: Lens' MonitorInstancesResponse Int
mirsResponseStatus = lens _mirsResponseStatus (\ s a -> s{_mirsResponseStatus = a});