{-# 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.RDS.PurchaseReservedDBInstancesOffering
(
purchaseReservedDBInstancesOffering
, PurchaseReservedDBInstancesOffering
, prdioDBInstanceCount
, prdioReservedDBInstanceId
, prdioTags
, prdioReservedDBInstancesOfferingId
, purchaseReservedDBInstancesOfferingResponse
, PurchaseReservedDBInstancesOfferingResponse
, prdiorsReservedDBInstance
, prdiorsResponseStatus
) where
import Network.AWS.Lens
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 Rs PurchaseReservedDBInstancesOffering =
PurchaseReservedDBInstancesOfferingResponse
request = postQuery rds
response
= receiveXMLWrapper
"PurchaseReservedDBInstancesOfferingResult"
(\ s h x ->
PurchaseReservedDBInstancesOfferingResponse' <$>
(x .@? "ReservedDBInstance") <*> (pure (fromEnum s)))
instance Hashable PurchaseReservedDBInstancesOffering
where
instance NFData PurchaseReservedDBInstancesOffering
where
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)
, _prdiorsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
purchaseReservedDBInstancesOfferingResponse
:: Int
-> PurchaseReservedDBInstancesOfferingResponse
purchaseReservedDBInstancesOfferingResponse pResponseStatus_ =
PurchaseReservedDBInstancesOfferingResponse'
{ _prdiorsReservedDBInstance = Nothing
, _prdiorsResponseStatus = pResponseStatus_
}
prdiorsReservedDBInstance :: Lens' PurchaseReservedDBInstancesOfferingResponse (Maybe ReservedDBInstance)
prdiorsReservedDBInstance = lens _prdiorsReservedDBInstance (\ s a -> s{_prdiorsReservedDBInstance = a})
prdiorsResponseStatus :: Lens' PurchaseReservedDBInstancesOfferingResponse Int
prdiorsResponseStatus = lens _prdiorsResponseStatus (\ s a -> s{_prdiorsResponseStatus = a})
instance NFData
PurchaseReservedDBInstancesOfferingResponse
where