{-# 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.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.Lens
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 Hashable CancelSpotFleetRequests where
instance NFData CancelSpotFleetRequests where
instance ToHeaders CancelSpotFleetRequests where
toHeaders = const mempty
instance ToPath CancelSpotFleetRequests where
toPath = const "/"
instance ToQuery CancelSpotFleetRequests where
toQuery CancelSpotFleetRequests'{..}
= mconcat
["Action" =:
("CancelSpotFleetRequests" :: ByteString),
"Version" =: ("2016-11-15" :: 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})
instance NFData CancelSpotFleetRequestsResponse where