module Network.AWS.EC2.CancelSpotFleetRequests
(
CancelSpotFleetRequests
, cancelSpotFleetRequests
, csfrDryRun
, csfrSpotFleetRequestIds
, csfrTerminateInstances
, CancelSpotFleetRequestsResponse
, cancelSpotFleetRequestsResponse
, csfrrSuccessfulFleetRequests
, csfrrUnsuccessfulFleetRequests
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data CancelSpotFleetRequests = CancelSpotFleetRequests
{ _csfrDryRun :: Maybe Bool
, _csfrSpotFleetRequestIds :: List "item" Text
, _csfrTerminateInstances :: Bool
} deriving (Eq, Ord, Read, Show)
cancelSpotFleetRequests :: Bool
-> CancelSpotFleetRequests
cancelSpotFleetRequests p1 = CancelSpotFleetRequests
{ _csfrTerminateInstances = p1
, _csfrDryRun = Nothing
, _csfrSpotFleetRequestIds = mempty
}
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 })
. _List
csfrTerminateInstances :: Lens' CancelSpotFleetRequests Bool
csfrTerminateInstances =
lens _csfrTerminateInstances (\s a -> s { _csfrTerminateInstances = a })
data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse
{ _csfrrSuccessfulFleetRequests :: List "item" CancelSpotFleetRequestsSuccessItem
, _csfrrUnsuccessfulFleetRequests :: List "item" CancelSpotFleetRequestsErrorItem
} deriving (Eq, Read, Show)
cancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse
cancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse
{ _csfrrUnsuccessfulFleetRequests = mempty
, _csfrrSuccessfulFleetRequests = mempty
}
csfrrSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]
csfrrSuccessfulFleetRequests =
lens _csfrrSuccessfulFleetRequests
(\s a -> s { _csfrrSuccessfulFleetRequests = a })
. _List
csfrrUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]
csfrrUnsuccessfulFleetRequests =
lens _csfrrUnsuccessfulFleetRequests
(\s a -> s { _csfrrUnsuccessfulFleetRequests = a })
. _List
instance ToPath CancelSpotFleetRequests where
toPath = const "/"
instance ToQuery CancelSpotFleetRequests where
toQuery CancelSpotFleetRequests{..} = mconcat
[ "DryRun" =? _csfrDryRun
, "SpotFleetRequestId" `toQueryList` _csfrSpotFleetRequestIds
, "TerminateInstances" =? _csfrTerminateInstances
]
instance ToHeaders CancelSpotFleetRequests
instance AWSRequest CancelSpotFleetRequests where
type Sv CancelSpotFleetRequests = EC2
type Rs CancelSpotFleetRequests = CancelSpotFleetRequestsResponse
request = post "CancelSpotFleetRequests"
response = xmlResponse
instance FromXML CancelSpotFleetRequestsResponse where
parseXML x = CancelSpotFleetRequestsResponse
<$> x .@? "successfulFleetRequestSet" .!@ mempty
<*> x .@? "unsuccessfulFleetRequestSet" .!@ mempty