{-# 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.ElasticSearch.PurchaseReservedElasticsearchInstanceOffering
(
purchaseReservedElasticsearchInstanceOffering
, PurchaseReservedElasticsearchInstanceOffering
, preioInstanceCount
, preioReservedElasticsearchInstanceOfferingId
, preioReservationName
, purchaseReservedElasticsearchInstanceOfferingResponse
, PurchaseReservedElasticsearchInstanceOfferingResponse
, preiorsReservedElasticsearchInstanceId
, preiorsReservationName
, preiorsResponseStatus
) where
import Network.AWS.ElasticSearch.Types
import Network.AWS.ElasticSearch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data PurchaseReservedElasticsearchInstanceOffering = PurchaseReservedElasticsearchInstanceOffering'
{ _preioInstanceCount :: !(Maybe Nat)
, _preioReservedElasticsearchInstanceOfferingId :: !Text
, _preioReservationName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
purchaseReservedElasticsearchInstanceOffering
:: Text
-> Text
-> PurchaseReservedElasticsearchInstanceOffering
purchaseReservedElasticsearchInstanceOffering pReservedElasticsearchInstanceOfferingId_ pReservationName_ =
PurchaseReservedElasticsearchInstanceOffering'
{ _preioInstanceCount = Nothing
, _preioReservedElasticsearchInstanceOfferingId =
pReservedElasticsearchInstanceOfferingId_
, _preioReservationName = pReservationName_
}
preioInstanceCount :: Lens' PurchaseReservedElasticsearchInstanceOffering (Maybe Natural)
preioInstanceCount = lens _preioInstanceCount (\ s a -> s{_preioInstanceCount = a}) . mapping _Nat
preioReservedElasticsearchInstanceOfferingId :: Lens' PurchaseReservedElasticsearchInstanceOffering Text
preioReservedElasticsearchInstanceOfferingId = lens _preioReservedElasticsearchInstanceOfferingId (\ s a -> s{_preioReservedElasticsearchInstanceOfferingId = a})
preioReservationName :: Lens' PurchaseReservedElasticsearchInstanceOffering Text
preioReservationName = lens _preioReservationName (\ s a -> s{_preioReservationName = a})
instance AWSRequest
PurchaseReservedElasticsearchInstanceOffering
where
type Rs PurchaseReservedElasticsearchInstanceOffering
=
PurchaseReservedElasticsearchInstanceOfferingResponse
request = postJSON elasticSearch
response
= receiveJSON
(\ s h x ->
PurchaseReservedElasticsearchInstanceOfferingResponse'
<$>
(x .?> "ReservedElasticsearchInstanceId") <*>
(x .?> "ReservationName")
<*> (pure (fromEnum s)))
instance Hashable
PurchaseReservedElasticsearchInstanceOffering
where
instance NFData
PurchaseReservedElasticsearchInstanceOffering
where
instance ToHeaders
PurchaseReservedElasticsearchInstanceOffering
where
toHeaders = const mempty
instance ToJSON
PurchaseReservedElasticsearchInstanceOffering
where
toJSON
PurchaseReservedElasticsearchInstanceOffering'{..}
= object
(catMaybes
[("InstanceCount" .=) <$> _preioInstanceCount,
Just
("ReservedElasticsearchInstanceOfferingId" .=
_preioReservedElasticsearchInstanceOfferingId),
Just ("ReservationName" .= _preioReservationName)])
instance ToPath
PurchaseReservedElasticsearchInstanceOffering
where
toPath
= const
"/2015-01-01/es/purchaseReservedInstanceOffering"
instance ToQuery
PurchaseReservedElasticsearchInstanceOffering
where
toQuery = const mempty
data PurchaseReservedElasticsearchInstanceOfferingResponse = PurchaseReservedElasticsearchInstanceOfferingResponse'
{ _preiorsReservedElasticsearchInstanceId :: !(Maybe Text)
, _preiorsReservationName :: !(Maybe Text)
, _preiorsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
purchaseReservedElasticsearchInstanceOfferingResponse
:: Int
-> PurchaseReservedElasticsearchInstanceOfferingResponse
purchaseReservedElasticsearchInstanceOfferingResponse pResponseStatus_ =
PurchaseReservedElasticsearchInstanceOfferingResponse'
{ _preiorsReservedElasticsearchInstanceId = Nothing
, _preiorsReservationName = Nothing
, _preiorsResponseStatus = pResponseStatus_
}
preiorsReservedElasticsearchInstanceId :: Lens' PurchaseReservedElasticsearchInstanceOfferingResponse (Maybe Text)
preiorsReservedElasticsearchInstanceId = lens _preiorsReservedElasticsearchInstanceId (\ s a -> s{_preiorsReservedElasticsearchInstanceId = a})
preiorsReservationName :: Lens' PurchaseReservedElasticsearchInstanceOfferingResponse (Maybe Text)
preiorsReservationName = lens _preiorsReservationName (\ s a -> s{_preiorsReservationName = a})
preiorsResponseStatus :: Lens' PurchaseReservedElasticsearchInstanceOfferingResponse Int
preiorsResponseStatus = lens _preiorsResponseStatus (\ s a -> s{_preiorsResponseStatus = a})
instance NFData
PurchaseReservedElasticsearchInstanceOfferingResponse
where