{-# 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.ModifyFleet
(
modifyFleet
, ModifyFleet
, mfExcessCapacityTerminationPolicy
, mfDryRun
, mfFleetId
, mfTargetCapacitySpecification
, modifyFleetResponse
, ModifyFleetResponse
, mfrsReturn
, mfrsResponseStatus
) 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 ModifyFleet = ModifyFleet'
{ _mfExcessCapacityTerminationPolicy :: !(Maybe FleetExcessCapacityTerminationPolicy)
, _mfDryRun :: !(Maybe Bool)
, _mfFleetId :: !Text
, _mfTargetCapacitySpecification :: !TargetCapacitySpecificationRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyFleet
:: Text
-> TargetCapacitySpecificationRequest
-> ModifyFleet
modifyFleet pFleetId_ pTargetCapacitySpecification_ =
ModifyFleet'
{ _mfExcessCapacityTerminationPolicy = Nothing
, _mfDryRun = Nothing
, _mfFleetId = pFleetId_
, _mfTargetCapacitySpecification = pTargetCapacitySpecification_
}
mfExcessCapacityTerminationPolicy :: Lens' ModifyFleet (Maybe FleetExcessCapacityTerminationPolicy)
mfExcessCapacityTerminationPolicy = lens _mfExcessCapacityTerminationPolicy (\ s a -> s{_mfExcessCapacityTerminationPolicy = a})
mfDryRun :: Lens' ModifyFleet (Maybe Bool)
mfDryRun = lens _mfDryRun (\ s a -> s{_mfDryRun = a})
mfFleetId :: Lens' ModifyFleet Text
mfFleetId = lens _mfFleetId (\ s a -> s{_mfFleetId = a})
mfTargetCapacitySpecification :: Lens' ModifyFleet TargetCapacitySpecificationRequest
mfTargetCapacitySpecification = lens _mfTargetCapacitySpecification (\ s a -> s{_mfTargetCapacitySpecification = a})
instance AWSRequest ModifyFleet where
type Rs ModifyFleet = ModifyFleetResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
ModifyFleetResponse' <$>
(x .@? "return") <*> (pure (fromEnum s)))
instance Hashable ModifyFleet where
instance NFData ModifyFleet where
instance ToHeaders ModifyFleet where
toHeaders = const mempty
instance ToPath ModifyFleet where
toPath = const "/"
instance ToQuery ModifyFleet where
toQuery ModifyFleet'{..}
= mconcat
["Action" =: ("ModifyFleet" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"ExcessCapacityTerminationPolicy" =:
_mfExcessCapacityTerminationPolicy,
"DryRun" =: _mfDryRun, "FleetId" =: _mfFleetId,
"TargetCapacitySpecification" =:
_mfTargetCapacitySpecification]
data ModifyFleetResponse = ModifyFleetResponse'
{ _mfrsReturn :: !(Maybe Bool)
, _mfrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyFleetResponse
:: Int
-> ModifyFleetResponse
modifyFleetResponse pResponseStatus_ =
ModifyFleetResponse'
{_mfrsReturn = Nothing, _mfrsResponseStatus = pResponseStatus_}
mfrsReturn :: Lens' ModifyFleetResponse (Maybe Bool)
mfrsReturn = lens _mfrsReturn (\ s a -> s{_mfrsReturn = a})
mfrsResponseStatus :: Lens' ModifyFleetResponse Int
mfrsResponseStatus = lens _mfrsResponseStatus (\ s a -> s{_mfrsResponseStatus = a})
instance NFData ModifyFleetResponse where