{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.OpenSearch.PurchaseReservedInstanceOffering
(
PurchaseReservedInstanceOffering (..),
newPurchaseReservedInstanceOffering,
purchaseReservedInstanceOffering_instanceCount,
purchaseReservedInstanceOffering_reservedInstanceOfferingId,
purchaseReservedInstanceOffering_reservationName,
PurchaseReservedInstanceOfferingResponse (..),
newPurchaseReservedInstanceOfferingResponse,
purchaseReservedInstanceOfferingResponse_reservationName,
purchaseReservedInstanceOfferingResponse_reservedInstanceId,
purchaseReservedInstanceOfferingResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.OpenSearch.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PurchaseReservedInstanceOffering = PurchaseReservedInstanceOffering'
{
PurchaseReservedInstanceOffering -> Maybe Natural
instanceCount :: Prelude.Maybe Prelude.Natural,
PurchaseReservedInstanceOffering -> Text
reservedInstanceOfferingId :: Prelude.Text,
PurchaseReservedInstanceOffering -> Text
reservationName :: Prelude.Text
}
deriving (PurchaseReservedInstanceOffering
-> PurchaseReservedInstanceOffering -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PurchaseReservedInstanceOffering
-> PurchaseReservedInstanceOffering -> Bool
$c/= :: PurchaseReservedInstanceOffering
-> PurchaseReservedInstanceOffering -> Bool
== :: PurchaseReservedInstanceOffering
-> PurchaseReservedInstanceOffering -> Bool
$c== :: PurchaseReservedInstanceOffering
-> PurchaseReservedInstanceOffering -> Bool
Prelude.Eq, ReadPrec [PurchaseReservedInstanceOffering]
ReadPrec PurchaseReservedInstanceOffering
Int -> ReadS PurchaseReservedInstanceOffering
ReadS [PurchaseReservedInstanceOffering]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PurchaseReservedInstanceOffering]
$creadListPrec :: ReadPrec [PurchaseReservedInstanceOffering]
readPrec :: ReadPrec PurchaseReservedInstanceOffering
$creadPrec :: ReadPrec PurchaseReservedInstanceOffering
readList :: ReadS [PurchaseReservedInstanceOffering]
$creadList :: ReadS [PurchaseReservedInstanceOffering]
readsPrec :: Int -> ReadS PurchaseReservedInstanceOffering
$creadsPrec :: Int -> ReadS PurchaseReservedInstanceOffering
Prelude.Read, Int -> PurchaseReservedInstanceOffering -> ShowS
[PurchaseReservedInstanceOffering] -> ShowS
PurchaseReservedInstanceOffering -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PurchaseReservedInstanceOffering] -> ShowS
$cshowList :: [PurchaseReservedInstanceOffering] -> ShowS
show :: PurchaseReservedInstanceOffering -> String
$cshow :: PurchaseReservedInstanceOffering -> String
showsPrec :: Int -> PurchaseReservedInstanceOffering -> ShowS
$cshowsPrec :: Int -> PurchaseReservedInstanceOffering -> ShowS
Prelude.Show, forall x.
Rep PurchaseReservedInstanceOffering x
-> PurchaseReservedInstanceOffering
forall x.
PurchaseReservedInstanceOffering
-> Rep PurchaseReservedInstanceOffering x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PurchaseReservedInstanceOffering x
-> PurchaseReservedInstanceOffering
$cfrom :: forall x.
PurchaseReservedInstanceOffering
-> Rep PurchaseReservedInstanceOffering x
Prelude.Generic)
newPurchaseReservedInstanceOffering ::
Prelude.Text ->
Prelude.Text ->
PurchaseReservedInstanceOffering
newPurchaseReservedInstanceOffering :: Text -> Text -> PurchaseReservedInstanceOffering
newPurchaseReservedInstanceOffering
Text
pReservedInstanceOfferingId_
Text
pReservationName_ =
PurchaseReservedInstanceOffering'
{ $sel:instanceCount:PurchaseReservedInstanceOffering' :: Maybe Natural
instanceCount =
forall a. Maybe a
Prelude.Nothing,
$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: Text
reservedInstanceOfferingId =
Text
pReservedInstanceOfferingId_,
$sel:reservationName:PurchaseReservedInstanceOffering' :: Text
reservationName = Text
pReservationName_
}
purchaseReservedInstanceOffering_instanceCount :: Lens.Lens' PurchaseReservedInstanceOffering (Prelude.Maybe Prelude.Natural)
purchaseReservedInstanceOffering_instanceCount :: Lens' PurchaseReservedInstanceOffering (Maybe Natural)
purchaseReservedInstanceOffering_instanceCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOffering' {Maybe Natural
instanceCount :: Maybe Natural
$sel:instanceCount:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Maybe Natural
instanceCount} -> Maybe Natural
instanceCount) (\s :: PurchaseReservedInstanceOffering
s@PurchaseReservedInstanceOffering' {} Maybe Natural
a -> PurchaseReservedInstanceOffering
s {$sel:instanceCount:PurchaseReservedInstanceOffering' :: Maybe Natural
instanceCount = Maybe Natural
a} :: PurchaseReservedInstanceOffering)
purchaseReservedInstanceOffering_reservedInstanceOfferingId :: Lens.Lens' PurchaseReservedInstanceOffering Prelude.Text
purchaseReservedInstanceOffering_reservedInstanceOfferingId :: Lens' PurchaseReservedInstanceOffering Text
purchaseReservedInstanceOffering_reservedInstanceOfferingId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOffering' {Text
reservedInstanceOfferingId :: Text
$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
reservedInstanceOfferingId} -> Text
reservedInstanceOfferingId) (\s :: PurchaseReservedInstanceOffering
s@PurchaseReservedInstanceOffering' {} Text
a -> PurchaseReservedInstanceOffering
s {$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: Text
reservedInstanceOfferingId = Text
a} :: PurchaseReservedInstanceOffering)
purchaseReservedInstanceOffering_reservationName :: Lens.Lens' PurchaseReservedInstanceOffering Prelude.Text
purchaseReservedInstanceOffering_reservationName :: Lens' PurchaseReservedInstanceOffering Text
purchaseReservedInstanceOffering_reservationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOffering' {Text
reservationName :: Text
$sel:reservationName:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
reservationName} -> Text
reservationName) (\s :: PurchaseReservedInstanceOffering
s@PurchaseReservedInstanceOffering' {} Text
a -> PurchaseReservedInstanceOffering
s {$sel:reservationName:PurchaseReservedInstanceOffering' :: Text
reservationName = Text
a} :: PurchaseReservedInstanceOffering)
instance
Core.AWSRequest
PurchaseReservedInstanceOffering
where
type
AWSResponse PurchaseReservedInstanceOffering =
PurchaseReservedInstanceOfferingResponse
request :: (Service -> Service)
-> PurchaseReservedInstanceOffering
-> Request PurchaseReservedInstanceOffering
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PurchaseReservedInstanceOffering
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse PurchaseReservedInstanceOffering)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text
-> Maybe Text -> Int -> PurchaseReservedInstanceOfferingResponse
PurchaseReservedInstanceOfferingResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ReservationName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ReservedInstanceId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
PurchaseReservedInstanceOffering
where
hashWithSalt :: Int -> PurchaseReservedInstanceOffering -> Int
hashWithSalt
Int
_salt
PurchaseReservedInstanceOffering' {Maybe Natural
Text
reservationName :: Text
reservedInstanceOfferingId :: Text
instanceCount :: Maybe Natural
$sel:reservationName:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:instanceCount:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
instanceCount
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
reservedInstanceOfferingId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
reservationName
instance
Prelude.NFData
PurchaseReservedInstanceOffering
where
rnf :: PurchaseReservedInstanceOffering -> ()
rnf PurchaseReservedInstanceOffering' {Maybe Natural
Text
reservationName :: Text
reservedInstanceOfferingId :: Text
instanceCount :: Maybe Natural
$sel:reservationName:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:instanceCount:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
instanceCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
reservedInstanceOfferingId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
reservationName
instance
Data.ToHeaders
PurchaseReservedInstanceOffering
where
toHeaders :: PurchaseReservedInstanceOffering -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON PurchaseReservedInstanceOffering where
toJSON :: PurchaseReservedInstanceOffering -> Value
toJSON PurchaseReservedInstanceOffering' {Maybe Natural
Text
reservationName :: Text
reservedInstanceOfferingId :: Text
instanceCount :: Maybe Natural
$sel:reservationName:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:reservedInstanceOfferingId:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Text
$sel:instanceCount:PurchaseReservedInstanceOffering' :: PurchaseReservedInstanceOffering -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"InstanceCount" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
instanceCount,
forall a. a -> Maybe a
Prelude.Just
( Key
"ReservedInstanceOfferingId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
reservedInstanceOfferingId
),
forall a. a -> Maybe a
Prelude.Just
(Key
"ReservationName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
reservationName)
]
)
instance Data.ToPath PurchaseReservedInstanceOffering where
toPath :: PurchaseReservedInstanceOffering -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/2021-01-01/opensearch/purchaseReservedInstanceOffering"
instance
Data.ToQuery
PurchaseReservedInstanceOffering
where
toQuery :: PurchaseReservedInstanceOffering -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PurchaseReservedInstanceOfferingResponse = PurchaseReservedInstanceOfferingResponse'
{
PurchaseReservedInstanceOfferingResponse -> Maybe Text
reservationName :: Prelude.Maybe Prelude.Text,
PurchaseReservedInstanceOfferingResponse -> Maybe Text
reservedInstanceId :: Prelude.Maybe Prelude.Text,
PurchaseReservedInstanceOfferingResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PurchaseReservedInstanceOfferingResponse
-> PurchaseReservedInstanceOfferingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PurchaseReservedInstanceOfferingResponse
-> PurchaseReservedInstanceOfferingResponse -> Bool
$c/= :: PurchaseReservedInstanceOfferingResponse
-> PurchaseReservedInstanceOfferingResponse -> Bool
== :: PurchaseReservedInstanceOfferingResponse
-> PurchaseReservedInstanceOfferingResponse -> Bool
$c== :: PurchaseReservedInstanceOfferingResponse
-> PurchaseReservedInstanceOfferingResponse -> Bool
Prelude.Eq, ReadPrec [PurchaseReservedInstanceOfferingResponse]
ReadPrec PurchaseReservedInstanceOfferingResponse
Int -> ReadS PurchaseReservedInstanceOfferingResponse
ReadS [PurchaseReservedInstanceOfferingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PurchaseReservedInstanceOfferingResponse]
$creadListPrec :: ReadPrec [PurchaseReservedInstanceOfferingResponse]
readPrec :: ReadPrec PurchaseReservedInstanceOfferingResponse
$creadPrec :: ReadPrec PurchaseReservedInstanceOfferingResponse
readList :: ReadS [PurchaseReservedInstanceOfferingResponse]
$creadList :: ReadS [PurchaseReservedInstanceOfferingResponse]
readsPrec :: Int -> ReadS PurchaseReservedInstanceOfferingResponse
$creadsPrec :: Int -> ReadS PurchaseReservedInstanceOfferingResponse
Prelude.Read, Int -> PurchaseReservedInstanceOfferingResponse -> ShowS
[PurchaseReservedInstanceOfferingResponse] -> ShowS
PurchaseReservedInstanceOfferingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PurchaseReservedInstanceOfferingResponse] -> ShowS
$cshowList :: [PurchaseReservedInstanceOfferingResponse] -> ShowS
show :: PurchaseReservedInstanceOfferingResponse -> String
$cshow :: PurchaseReservedInstanceOfferingResponse -> String
showsPrec :: Int -> PurchaseReservedInstanceOfferingResponse -> ShowS
$cshowsPrec :: Int -> PurchaseReservedInstanceOfferingResponse -> ShowS
Prelude.Show, forall x.
Rep PurchaseReservedInstanceOfferingResponse x
-> PurchaseReservedInstanceOfferingResponse
forall x.
PurchaseReservedInstanceOfferingResponse
-> Rep PurchaseReservedInstanceOfferingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PurchaseReservedInstanceOfferingResponse x
-> PurchaseReservedInstanceOfferingResponse
$cfrom :: forall x.
PurchaseReservedInstanceOfferingResponse
-> Rep PurchaseReservedInstanceOfferingResponse x
Prelude.Generic)
newPurchaseReservedInstanceOfferingResponse ::
Prelude.Int ->
PurchaseReservedInstanceOfferingResponse
newPurchaseReservedInstanceOfferingResponse :: Int -> PurchaseReservedInstanceOfferingResponse
newPurchaseReservedInstanceOfferingResponse
Int
pHttpStatus_ =
PurchaseReservedInstanceOfferingResponse'
{ $sel:reservationName:PurchaseReservedInstanceOfferingResponse' :: Maybe Text
reservationName =
forall a. Maybe a
Prelude.Nothing,
$sel:reservedInstanceId:PurchaseReservedInstanceOfferingResponse' :: Maybe Text
reservedInstanceId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:PurchaseReservedInstanceOfferingResponse' :: Int
httpStatus = Int
pHttpStatus_
}
purchaseReservedInstanceOfferingResponse_reservationName :: Lens.Lens' PurchaseReservedInstanceOfferingResponse (Prelude.Maybe Prelude.Text)
purchaseReservedInstanceOfferingResponse_reservationName :: Lens' PurchaseReservedInstanceOfferingResponse (Maybe Text)
purchaseReservedInstanceOfferingResponse_reservationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOfferingResponse' {Maybe Text
reservationName :: Maybe Text
$sel:reservationName:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Maybe Text
reservationName} -> Maybe Text
reservationName) (\s :: PurchaseReservedInstanceOfferingResponse
s@PurchaseReservedInstanceOfferingResponse' {} Maybe Text
a -> PurchaseReservedInstanceOfferingResponse
s {$sel:reservationName:PurchaseReservedInstanceOfferingResponse' :: Maybe Text
reservationName = Maybe Text
a} :: PurchaseReservedInstanceOfferingResponse)
purchaseReservedInstanceOfferingResponse_reservedInstanceId :: Lens.Lens' PurchaseReservedInstanceOfferingResponse (Prelude.Maybe Prelude.Text)
purchaseReservedInstanceOfferingResponse_reservedInstanceId :: Lens' PurchaseReservedInstanceOfferingResponse (Maybe Text)
purchaseReservedInstanceOfferingResponse_reservedInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOfferingResponse' {Maybe Text
reservedInstanceId :: Maybe Text
$sel:reservedInstanceId:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Maybe Text
reservedInstanceId} -> Maybe Text
reservedInstanceId) (\s :: PurchaseReservedInstanceOfferingResponse
s@PurchaseReservedInstanceOfferingResponse' {} Maybe Text
a -> PurchaseReservedInstanceOfferingResponse
s {$sel:reservedInstanceId:PurchaseReservedInstanceOfferingResponse' :: Maybe Text
reservedInstanceId = Maybe Text
a} :: PurchaseReservedInstanceOfferingResponse)
purchaseReservedInstanceOfferingResponse_httpStatus :: Lens.Lens' PurchaseReservedInstanceOfferingResponse Prelude.Int
purchaseReservedInstanceOfferingResponse_httpStatus :: Lens' PurchaseReservedInstanceOfferingResponse Int
purchaseReservedInstanceOfferingResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PurchaseReservedInstanceOfferingResponse' {Int
httpStatus :: Int
$sel:httpStatus:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PurchaseReservedInstanceOfferingResponse
s@PurchaseReservedInstanceOfferingResponse' {} Int
a -> PurchaseReservedInstanceOfferingResponse
s {$sel:httpStatus:PurchaseReservedInstanceOfferingResponse' :: Int
httpStatus = Int
a} :: PurchaseReservedInstanceOfferingResponse)
instance
Prelude.NFData
PurchaseReservedInstanceOfferingResponse
where
rnf :: PurchaseReservedInstanceOfferingResponse -> ()
rnf PurchaseReservedInstanceOfferingResponse' {Int
Maybe Text
httpStatus :: Int
reservedInstanceId :: Maybe Text
reservationName :: Maybe Text
$sel:httpStatus:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Int
$sel:reservedInstanceId:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Maybe Text
$sel:reservationName:PurchaseReservedInstanceOfferingResponse' :: PurchaseReservedInstanceOfferingResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
reservationName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
reservedInstanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus