module Network.AWS.RDS.PurchaseReservedDBInstancesOffering
(
purchaseReservedDBInstancesOffering
, PurchaseReservedDBInstancesOffering
, prdioDBInstanceCount
, prdioReservedDBInstanceId
, prdioTags
, prdioReservedDBInstancesOfferingId
, purchaseReservedDBInstancesOfferingResponse
, PurchaseReservedDBInstancesOfferingResponse
, prdiorsReservedDBInstance
, prdiorsStatus
) where
import Network.AWS.Prelude
import Network.AWS.RDS.Types
import Network.AWS.RDS.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data PurchaseReservedDBInstancesOffering = PurchaseReservedDBInstancesOffering'
{ _prdioDBInstanceCount :: !(Maybe Int)
, _prdioReservedDBInstanceId :: !(Maybe Text)
, _prdioTags :: !(Maybe [Tag])
, _prdioReservedDBInstancesOfferingId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
purchaseReservedDBInstancesOffering
:: Text
-> PurchaseReservedDBInstancesOffering
purchaseReservedDBInstancesOffering pReservedDBInstancesOfferingId_ =
PurchaseReservedDBInstancesOffering'
{ _prdioDBInstanceCount = Nothing
, _prdioReservedDBInstanceId = Nothing
, _prdioTags = Nothing
, _prdioReservedDBInstancesOfferingId = pReservedDBInstancesOfferingId_
}
prdioDBInstanceCount :: Lens' PurchaseReservedDBInstancesOffering (Maybe Int)
prdioDBInstanceCount = lens _prdioDBInstanceCount (\ s a -> s{_prdioDBInstanceCount = a});
prdioReservedDBInstanceId :: Lens' PurchaseReservedDBInstancesOffering (Maybe Text)
prdioReservedDBInstanceId = lens _prdioReservedDBInstanceId (\ s a -> s{_prdioReservedDBInstanceId = a});
prdioTags :: Lens' PurchaseReservedDBInstancesOffering [Tag]
prdioTags = lens _prdioTags (\ s a -> s{_prdioTags = a}) . _Default . _Coerce;
prdioReservedDBInstancesOfferingId :: Lens' PurchaseReservedDBInstancesOffering Text
prdioReservedDBInstancesOfferingId = lens _prdioReservedDBInstancesOfferingId (\ s a -> s{_prdioReservedDBInstancesOfferingId = a});
instance AWSRequest
PurchaseReservedDBInstancesOffering where
type Sv PurchaseReservedDBInstancesOffering = RDS
type Rs PurchaseReservedDBInstancesOffering =
PurchaseReservedDBInstancesOfferingResponse
request = postQuery
response
= receiveXMLWrapper
"PurchaseReservedDBInstancesOfferingResult"
(\ s h x ->
PurchaseReservedDBInstancesOfferingResponse' <$>
(x .@? "ReservedDBInstance") <*> (pure (fromEnum s)))
instance ToHeaders
PurchaseReservedDBInstancesOffering where
toHeaders = const mempty
instance ToPath PurchaseReservedDBInstancesOffering
where
toPath = const "/"
instance ToQuery PurchaseReservedDBInstancesOffering
where
toQuery PurchaseReservedDBInstancesOffering'{..}
= mconcat
["Action" =:
("PurchaseReservedDBInstancesOffering" ::
ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"DBInstanceCount" =: _prdioDBInstanceCount,
"ReservedDBInstanceId" =: _prdioReservedDBInstanceId,
"Tags" =: toQuery (toQueryList "Tag" <$> _prdioTags),
"ReservedDBInstancesOfferingId" =:
_prdioReservedDBInstancesOfferingId]
data PurchaseReservedDBInstancesOfferingResponse = PurchaseReservedDBInstancesOfferingResponse'
{ _prdiorsReservedDBInstance :: !(Maybe ReservedDBInstance)
, _prdiorsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
purchaseReservedDBInstancesOfferingResponse
:: Int
-> PurchaseReservedDBInstancesOfferingResponse
purchaseReservedDBInstancesOfferingResponse pStatus_ =
PurchaseReservedDBInstancesOfferingResponse'
{ _prdiorsReservedDBInstance = Nothing
, _prdiorsStatus = pStatus_
}
prdiorsReservedDBInstance :: Lens' PurchaseReservedDBInstancesOfferingResponse (Maybe ReservedDBInstance)
prdiorsReservedDBInstance = lens _prdiorsReservedDBInstance (\ s a -> s{_prdiorsReservedDBInstance = a});
prdiorsStatus :: Lens' PurchaseReservedDBInstancesOfferingResponse Int
prdiorsStatus = lens _prdiorsStatus (\ s a -> s{_prdiorsStatus = a});