module Network.AWS.ElastiCache.PurchaseReservedCacheNodesOffering
(
purchaseReservedCacheNodesOffering
, PurchaseReservedCacheNodesOffering
, prcnoCacheNodeCount
, prcnoReservedCacheNodeId
, prcnoReservedCacheNodesOfferingId
, purchaseReservedCacheNodesOfferingResponse
, PurchaseReservedCacheNodesOfferingResponse
, prcnorsReservedCacheNode
, prcnorsResponseStatus
) where
import Network.AWS.ElastiCache.Types
import Network.AWS.ElastiCache.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data PurchaseReservedCacheNodesOffering = PurchaseReservedCacheNodesOffering'
{ _prcnoCacheNodeCount :: !(Maybe Int)
, _prcnoReservedCacheNodeId :: !(Maybe Text)
, _prcnoReservedCacheNodesOfferingId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
purchaseReservedCacheNodesOffering
:: Text
-> PurchaseReservedCacheNodesOffering
purchaseReservedCacheNodesOffering pReservedCacheNodesOfferingId_ =
PurchaseReservedCacheNodesOffering'
{ _prcnoCacheNodeCount = Nothing
, _prcnoReservedCacheNodeId = Nothing
, _prcnoReservedCacheNodesOfferingId = pReservedCacheNodesOfferingId_
}
prcnoCacheNodeCount :: Lens' PurchaseReservedCacheNodesOffering (Maybe Int)
prcnoCacheNodeCount = lens _prcnoCacheNodeCount (\ s a -> s{_prcnoCacheNodeCount = a});
prcnoReservedCacheNodeId :: Lens' PurchaseReservedCacheNodesOffering (Maybe Text)
prcnoReservedCacheNodeId = lens _prcnoReservedCacheNodeId (\ s a -> s{_prcnoReservedCacheNodeId = a});
prcnoReservedCacheNodesOfferingId :: Lens' PurchaseReservedCacheNodesOffering Text
prcnoReservedCacheNodesOfferingId = lens _prcnoReservedCacheNodesOfferingId (\ s a -> s{_prcnoReservedCacheNodesOfferingId = a});
instance AWSRequest
PurchaseReservedCacheNodesOffering where
type Rs PurchaseReservedCacheNodesOffering =
PurchaseReservedCacheNodesOfferingResponse
request = postQuery elastiCache
response
= receiveXMLWrapper
"PurchaseReservedCacheNodesOfferingResult"
(\ s h x ->
PurchaseReservedCacheNodesOfferingResponse' <$>
(x .@? "ReservedCacheNode") <*> (pure (fromEnum s)))
instance ToHeaders PurchaseReservedCacheNodesOffering
where
toHeaders = const mempty
instance ToPath PurchaseReservedCacheNodesOffering
where
toPath = const "/"
instance ToQuery PurchaseReservedCacheNodesOffering
where
toQuery PurchaseReservedCacheNodesOffering'{..}
= mconcat
["Action" =:
("PurchaseReservedCacheNodesOffering" :: ByteString),
"Version" =: ("2015-02-02" :: ByteString),
"CacheNodeCount" =: _prcnoCacheNodeCount,
"ReservedCacheNodeId" =: _prcnoReservedCacheNodeId,
"ReservedCacheNodesOfferingId" =:
_prcnoReservedCacheNodesOfferingId]
data PurchaseReservedCacheNodesOfferingResponse = PurchaseReservedCacheNodesOfferingResponse'
{ _prcnorsReservedCacheNode :: !(Maybe ReservedCacheNode)
, _prcnorsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
purchaseReservedCacheNodesOfferingResponse
:: Int
-> PurchaseReservedCacheNodesOfferingResponse
purchaseReservedCacheNodesOfferingResponse pResponseStatus_ =
PurchaseReservedCacheNodesOfferingResponse'
{ _prcnorsReservedCacheNode = Nothing
, _prcnorsResponseStatus = pResponseStatus_
}
prcnorsReservedCacheNode :: Lens' PurchaseReservedCacheNodesOfferingResponse (Maybe ReservedCacheNode)
prcnorsReservedCacheNode = lens _prcnorsReservedCacheNode (\ s a -> s{_prcnorsReservedCacheNode = a});
prcnorsResponseStatus :: Lens' PurchaseReservedCacheNodesOfferingResponse Int
prcnorsResponseStatus = lens _prcnorsResponseStatus (\ s a -> s{_prcnorsResponseStatus = a});