module Network.AWS.EC2.CancelSpotFleetRequests
(
cancelSpotFleetRequests
, CancelSpotFleetRequests
, csfrDryRun
, csfrSpotFleetRequestIds
, csfrTerminateInstances
, cancelSpotFleetRequestsResponse
, CancelSpotFleetRequestsResponse
, csfrrsSuccessfulFleetRequests
, csfrrsUnsuccessfulFleetRequests
, csfrrsResponseStatus
) 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 CancelSpotFleetRequests = CancelSpotFleetRequests'
{ _csfrDryRun :: !(Maybe Bool)
, _csfrSpotFleetRequestIds :: ![Text]
, _csfrTerminateInstances :: !Bool
} deriving (Eq,Read,Show,Data,Typeable,Generic)
cancelSpotFleetRequests
:: Bool
-> CancelSpotFleetRequests
cancelSpotFleetRequests pTerminateInstances_ =
CancelSpotFleetRequests'
{ _csfrDryRun = Nothing
, _csfrSpotFleetRequestIds = mempty
, _csfrTerminateInstances = pTerminateInstances_
}
csfrDryRun :: Lens' CancelSpotFleetRequests (Maybe Bool)
csfrDryRun = lens _csfrDryRun (\ s a -> s{_csfrDryRun = a});
csfrSpotFleetRequestIds :: Lens' CancelSpotFleetRequests [Text]
csfrSpotFleetRequestIds = lens _csfrSpotFleetRequestIds (\ s a -> s{_csfrSpotFleetRequestIds = a}) . _Coerce;
csfrTerminateInstances :: Lens' CancelSpotFleetRequests Bool
csfrTerminateInstances = lens _csfrTerminateInstances (\ s a -> s{_csfrTerminateInstances = a});
instance AWSRequest CancelSpotFleetRequests where
type Rs CancelSpotFleetRequests =
CancelSpotFleetRequestsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
CancelSpotFleetRequestsResponse' <$>
(x .@? "successfulFleetRequestSet" .!@ mempty >>=
may (parseXMLList "item"))
<*>
(x .@? "unsuccessfulFleetRequestSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders CancelSpotFleetRequests where
toHeaders = const mempty
instance ToPath CancelSpotFleetRequests where
toPath = const "/"
instance ToQuery CancelSpotFleetRequests where
toQuery CancelSpotFleetRequests'{..}
= mconcat
["Action" =:
("CancelSpotFleetRequests" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"DryRun" =: _csfrDryRun,
toQueryList "SpotFleetRequestId"
_csfrSpotFleetRequestIds,
"TerminateInstances" =: _csfrTerminateInstances]
data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse'
{ _csfrrsSuccessfulFleetRequests :: !(Maybe [CancelSpotFleetRequestsSuccessItem])
, _csfrrsUnsuccessfulFleetRequests :: !(Maybe [CancelSpotFleetRequestsErrorItem])
, _csfrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
cancelSpotFleetRequestsResponse
:: Int
-> CancelSpotFleetRequestsResponse
cancelSpotFleetRequestsResponse pResponseStatus_ =
CancelSpotFleetRequestsResponse'
{ _csfrrsSuccessfulFleetRequests = Nothing
, _csfrrsUnsuccessfulFleetRequests = Nothing
, _csfrrsResponseStatus = pResponseStatus_
}
csfrrsSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]
csfrrsSuccessfulFleetRequests = lens _csfrrsSuccessfulFleetRequests (\ s a -> s{_csfrrsSuccessfulFleetRequests = a}) . _Default . _Coerce;
csfrrsUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]
csfrrsUnsuccessfulFleetRequests = lens _csfrrsUnsuccessfulFleetRequests (\ s a -> s{_csfrrsUnsuccessfulFleetRequests = a}) . _Default . _Coerce;
csfrrsResponseStatus :: Lens' CancelSpotFleetRequestsResponse Int
csfrrsResponseStatus = lens _csfrrsResponseStatus (\ s a -> s{_csfrrsResponseStatus = a});