{-# 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.DeleteFleets
(
deleteFleets
, DeleteFleets
, dfDryRun
, dfFleetIds
, dfTerminateInstances
, deleteFleetsResponse
, DeleteFleetsResponse
, dfrsSuccessfulFleetDeletions
, dfrsUnsuccessfulFleetDeletions
, dfrsResponseStatus
) 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 DeleteFleets = DeleteFleets'
{ _dfDryRun :: !(Maybe Bool)
, _dfFleetIds :: ![Text]
, _dfTerminateInstances :: !Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteFleets
:: Bool
-> DeleteFleets
deleteFleets pTerminateInstances_ =
DeleteFleets'
{ _dfDryRun = Nothing
, _dfFleetIds = mempty
, _dfTerminateInstances = pTerminateInstances_
}
dfDryRun :: Lens' DeleteFleets (Maybe Bool)
dfDryRun = lens _dfDryRun (\ s a -> s{_dfDryRun = a})
dfFleetIds :: Lens' DeleteFleets [Text]
dfFleetIds = lens _dfFleetIds (\ s a -> s{_dfFleetIds = a}) . _Coerce
dfTerminateInstances :: Lens' DeleteFleets Bool
dfTerminateInstances = lens _dfTerminateInstances (\ s a -> s{_dfTerminateInstances = a})
instance AWSRequest DeleteFleets where
type Rs DeleteFleets = DeleteFleetsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DeleteFleetsResponse' <$>
(x .@? "successfulFleetDeletionSet" .!@ mempty >>=
may (parseXMLList "item"))
<*>
(x .@? "unsuccessfulFleetDeletionSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DeleteFleets where
instance NFData DeleteFleets where
instance ToHeaders DeleteFleets where
toHeaders = const mempty
instance ToPath DeleteFleets where
toPath = const "/"
instance ToQuery DeleteFleets where
toQuery DeleteFleets'{..}
= mconcat
["Action" =: ("DeleteFleets" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"DryRun" =: _dfDryRun,
toQueryList "FleetId" _dfFleetIds,
"TerminateInstances" =: _dfTerminateInstances]
data DeleteFleetsResponse = DeleteFleetsResponse'
{ _dfrsSuccessfulFleetDeletions :: !(Maybe [DeleteFleetSuccessItem])
, _dfrsUnsuccessfulFleetDeletions :: !(Maybe [DeleteFleetErrorItem])
, _dfrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteFleetsResponse
:: Int
-> DeleteFleetsResponse
deleteFleetsResponse pResponseStatus_ =
DeleteFleetsResponse'
{ _dfrsSuccessfulFleetDeletions = Nothing
, _dfrsUnsuccessfulFleetDeletions = Nothing
, _dfrsResponseStatus = pResponseStatus_
}
dfrsSuccessfulFleetDeletions :: Lens' DeleteFleetsResponse [DeleteFleetSuccessItem]
dfrsSuccessfulFleetDeletions = lens _dfrsSuccessfulFleetDeletions (\ s a -> s{_dfrsSuccessfulFleetDeletions = a}) . _Default . _Coerce
dfrsUnsuccessfulFleetDeletions :: Lens' DeleteFleetsResponse [DeleteFleetErrorItem]
dfrsUnsuccessfulFleetDeletions = lens _dfrsUnsuccessfulFleetDeletions (\ s a -> s{_dfrsUnsuccessfulFleetDeletions = a}) . _Default . _Coerce
dfrsResponseStatus :: Lens' DeleteFleetsResponse Int
dfrsResponseStatus = lens _dfrsResponseStatus (\ s a -> s{_dfrsResponseStatus = a})
instance NFData DeleteFleetsResponse where