{-# 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.AcceptReservedInstancesExchangeQuote
(
acceptReservedInstancesExchangeQuote
, AcceptReservedInstancesExchangeQuote
, arieqTargetConfigurations
, arieqDryRun
, arieqReservedInstanceIds
, acceptReservedInstancesExchangeQuoteResponse
, AcceptReservedInstancesExchangeQuoteResponse
, arieqrsExchangeId
, arieqrsResponseStatus
) 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 AcceptReservedInstancesExchangeQuote = AcceptReservedInstancesExchangeQuote'
{ _arieqTargetConfigurations :: !(Maybe [TargetConfigurationRequest])
, _arieqDryRun :: !(Maybe Bool)
, _arieqReservedInstanceIds :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
acceptReservedInstancesExchangeQuote
:: AcceptReservedInstancesExchangeQuote
acceptReservedInstancesExchangeQuote =
AcceptReservedInstancesExchangeQuote'
{ _arieqTargetConfigurations = Nothing
, _arieqDryRun = Nothing
, _arieqReservedInstanceIds = mempty
}
arieqTargetConfigurations :: Lens' AcceptReservedInstancesExchangeQuote [TargetConfigurationRequest]
arieqTargetConfigurations = lens _arieqTargetConfigurations (\ s a -> s{_arieqTargetConfigurations = a}) . _Default . _Coerce
arieqDryRun :: Lens' AcceptReservedInstancesExchangeQuote (Maybe Bool)
arieqDryRun = lens _arieqDryRun (\ s a -> s{_arieqDryRun = a})
arieqReservedInstanceIds :: Lens' AcceptReservedInstancesExchangeQuote [Text]
arieqReservedInstanceIds = lens _arieqReservedInstanceIds (\ s a -> s{_arieqReservedInstanceIds = a}) . _Coerce
instance AWSRequest
AcceptReservedInstancesExchangeQuote
where
type Rs AcceptReservedInstancesExchangeQuote =
AcceptReservedInstancesExchangeQuoteResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
AcceptReservedInstancesExchangeQuoteResponse' <$>
(x .@? "exchangeId") <*> (pure (fromEnum s)))
instance Hashable
AcceptReservedInstancesExchangeQuote
where
instance NFData AcceptReservedInstancesExchangeQuote
where
instance ToHeaders
AcceptReservedInstancesExchangeQuote
where
toHeaders = const mempty
instance ToPath AcceptReservedInstancesExchangeQuote
where
toPath = const "/"
instance ToQuery AcceptReservedInstancesExchangeQuote
where
toQuery AcceptReservedInstancesExchangeQuote'{..}
= mconcat
["Action" =:
("AcceptReservedInstancesExchangeQuote" ::
ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery
(toQueryList "TargetConfiguration" <$>
_arieqTargetConfigurations),
"DryRun" =: _arieqDryRun,
toQueryList "ReservedInstanceId"
_arieqReservedInstanceIds]
data AcceptReservedInstancesExchangeQuoteResponse = AcceptReservedInstancesExchangeQuoteResponse'
{ _arieqrsExchangeId :: !(Maybe Text)
, _arieqrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
acceptReservedInstancesExchangeQuoteResponse
:: Int
-> AcceptReservedInstancesExchangeQuoteResponse
acceptReservedInstancesExchangeQuoteResponse pResponseStatus_ =
AcceptReservedInstancesExchangeQuoteResponse'
{_arieqrsExchangeId = Nothing, _arieqrsResponseStatus = pResponseStatus_}
arieqrsExchangeId :: Lens' AcceptReservedInstancesExchangeQuoteResponse (Maybe Text)
arieqrsExchangeId = lens _arieqrsExchangeId (\ s a -> s{_arieqrsExchangeId = a})
arieqrsResponseStatus :: Lens' AcceptReservedInstancesExchangeQuoteResponse Int
arieqrsResponseStatus = lens _arieqrsResponseStatus (\ s a -> s{_arieqrsResponseStatus = a})
instance NFData
AcceptReservedInstancesExchangeQuoteResponse
where