{-# 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.CostExplorer.GetSavingsPlansPurchaseRecommendation
(
GetSavingsPlansPurchaseRecommendation (..),
newGetSavingsPlansPurchaseRecommendation,
getSavingsPlansPurchaseRecommendation_nextPageToken,
getSavingsPlansPurchaseRecommendation_accountScope,
getSavingsPlansPurchaseRecommendation_filter,
getSavingsPlansPurchaseRecommendation_pageSize,
getSavingsPlansPurchaseRecommendation_savingsPlansType,
getSavingsPlansPurchaseRecommendation_termInYears,
getSavingsPlansPurchaseRecommendation_paymentOption,
getSavingsPlansPurchaseRecommendation_lookbackPeriodInDays,
GetSavingsPlansPurchaseRecommendationResponse (..),
newGetSavingsPlansPurchaseRecommendationResponse,
getSavingsPlansPurchaseRecommendationResponse_nextPageToken,
getSavingsPlansPurchaseRecommendationResponse_savingsPlansPurchaseRecommendation,
getSavingsPlansPurchaseRecommendationResponse_metadata,
getSavingsPlansPurchaseRecommendationResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import Amazonka.CostExplorer.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSavingsPlansPurchaseRecommendation = GetSavingsPlansPurchaseRecommendation'
{
GetSavingsPlansPurchaseRecommendation -> Maybe Text
nextPageToken :: Prelude.Maybe Prelude.Text,
GetSavingsPlansPurchaseRecommendation -> Maybe AccountScope
accountScope :: Prelude.Maybe AccountScope,
GetSavingsPlansPurchaseRecommendation -> Maybe Expression
filter' :: Prelude.Maybe Expression,
GetSavingsPlansPurchaseRecommendation -> Maybe Natural
pageSize :: Prelude.Maybe Prelude.Natural,
GetSavingsPlansPurchaseRecommendation -> SupportedSavingsPlansType
savingsPlansType :: SupportedSavingsPlansType,
GetSavingsPlansPurchaseRecommendation -> TermInYears
termInYears :: TermInYears,
GetSavingsPlansPurchaseRecommendation -> PaymentOption
paymentOption :: PaymentOption,
GetSavingsPlansPurchaseRecommendation -> LookbackPeriodInDays
lookbackPeriodInDays :: LookbackPeriodInDays
}
deriving (GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool
(GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool)
-> (GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool)
-> Eq GetSavingsPlansPurchaseRecommendation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool
$c/= :: GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool
== :: GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool
$c== :: GetSavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendation -> Bool
Prelude.Eq, ReadPrec [GetSavingsPlansPurchaseRecommendation]
ReadPrec GetSavingsPlansPurchaseRecommendation
Int -> ReadS GetSavingsPlansPurchaseRecommendation
ReadS [GetSavingsPlansPurchaseRecommendation]
(Int -> ReadS GetSavingsPlansPurchaseRecommendation)
-> ReadS [GetSavingsPlansPurchaseRecommendation]
-> ReadPrec GetSavingsPlansPurchaseRecommendation
-> ReadPrec [GetSavingsPlansPurchaseRecommendation]
-> Read GetSavingsPlansPurchaseRecommendation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSavingsPlansPurchaseRecommendation]
$creadListPrec :: ReadPrec [GetSavingsPlansPurchaseRecommendation]
readPrec :: ReadPrec GetSavingsPlansPurchaseRecommendation
$creadPrec :: ReadPrec GetSavingsPlansPurchaseRecommendation
readList :: ReadS [GetSavingsPlansPurchaseRecommendation]
$creadList :: ReadS [GetSavingsPlansPurchaseRecommendation]
readsPrec :: Int -> ReadS GetSavingsPlansPurchaseRecommendation
$creadsPrec :: Int -> ReadS GetSavingsPlansPurchaseRecommendation
Prelude.Read, Int -> GetSavingsPlansPurchaseRecommendation -> ShowS
[GetSavingsPlansPurchaseRecommendation] -> ShowS
GetSavingsPlansPurchaseRecommendation -> String
(Int -> GetSavingsPlansPurchaseRecommendation -> ShowS)
-> (GetSavingsPlansPurchaseRecommendation -> String)
-> ([GetSavingsPlansPurchaseRecommendation] -> ShowS)
-> Show GetSavingsPlansPurchaseRecommendation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSavingsPlansPurchaseRecommendation] -> ShowS
$cshowList :: [GetSavingsPlansPurchaseRecommendation] -> ShowS
show :: GetSavingsPlansPurchaseRecommendation -> String
$cshow :: GetSavingsPlansPurchaseRecommendation -> String
showsPrec :: Int -> GetSavingsPlansPurchaseRecommendation -> ShowS
$cshowsPrec :: Int -> GetSavingsPlansPurchaseRecommendation -> ShowS
Prelude.Show, (forall x.
GetSavingsPlansPurchaseRecommendation
-> Rep GetSavingsPlansPurchaseRecommendation x)
-> (forall x.
Rep GetSavingsPlansPurchaseRecommendation x
-> GetSavingsPlansPurchaseRecommendation)
-> Generic GetSavingsPlansPurchaseRecommendation
forall x.
Rep GetSavingsPlansPurchaseRecommendation x
-> GetSavingsPlansPurchaseRecommendation
forall x.
GetSavingsPlansPurchaseRecommendation
-> Rep GetSavingsPlansPurchaseRecommendation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSavingsPlansPurchaseRecommendation x
-> GetSavingsPlansPurchaseRecommendation
$cfrom :: forall x.
GetSavingsPlansPurchaseRecommendation
-> Rep GetSavingsPlansPurchaseRecommendation x
Prelude.Generic)
newGetSavingsPlansPurchaseRecommendation ::
SupportedSavingsPlansType ->
TermInYears ->
PaymentOption ->
LookbackPeriodInDays ->
GetSavingsPlansPurchaseRecommendation
newGetSavingsPlansPurchaseRecommendation :: SupportedSavingsPlansType
-> TermInYears
-> PaymentOption
-> LookbackPeriodInDays
-> GetSavingsPlansPurchaseRecommendation
newGetSavingsPlansPurchaseRecommendation
SupportedSavingsPlansType
pSavingsPlansType_
TermInYears
pTermInYears_
PaymentOption
pPaymentOption_
LookbackPeriodInDays
pLookbackPeriodInDays_ =
GetSavingsPlansPurchaseRecommendation' :: Maybe Text
-> Maybe AccountScope
-> Maybe Expression
-> Maybe Natural
-> SupportedSavingsPlansType
-> TermInYears
-> PaymentOption
-> LookbackPeriodInDays
-> GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation'
{ $sel:nextPageToken:GetSavingsPlansPurchaseRecommendation' :: Maybe Text
nextPageToken =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:accountScope:GetSavingsPlansPurchaseRecommendation' :: Maybe AccountScope
accountScope = Maybe AccountScope
forall a. Maybe a
Prelude.Nothing,
$sel:filter':GetSavingsPlansPurchaseRecommendation' :: Maybe Expression
filter' = Maybe Expression
forall a. Maybe a
Prelude.Nothing,
$sel:pageSize:GetSavingsPlansPurchaseRecommendation' :: Maybe Natural
pageSize = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:savingsPlansType:GetSavingsPlansPurchaseRecommendation' :: SupportedSavingsPlansType
savingsPlansType =
SupportedSavingsPlansType
pSavingsPlansType_,
$sel:termInYears:GetSavingsPlansPurchaseRecommendation' :: TermInYears
termInYears = TermInYears
pTermInYears_,
$sel:paymentOption:GetSavingsPlansPurchaseRecommendation' :: PaymentOption
paymentOption = PaymentOption
pPaymentOption_,
$sel:lookbackPeriodInDays:GetSavingsPlansPurchaseRecommendation' :: LookbackPeriodInDays
lookbackPeriodInDays =
LookbackPeriodInDays
pLookbackPeriodInDays_
}
getSavingsPlansPurchaseRecommendation_nextPageToken :: Lens.Lens' GetSavingsPlansPurchaseRecommendation (Prelude.Maybe Prelude.Text)
getSavingsPlansPurchaseRecommendation_nextPageToken :: (Maybe Text -> f (Maybe Text))
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_nextPageToken = (GetSavingsPlansPurchaseRecommendation -> Maybe Text)
-> (GetSavingsPlansPurchaseRecommendation
-> Maybe Text -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {Maybe Text
nextPageToken :: Maybe Text
$sel:nextPageToken:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Text
nextPageToken} -> Maybe Text
nextPageToken) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} Maybe Text
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:nextPageToken:GetSavingsPlansPurchaseRecommendation' :: Maybe Text
nextPageToken = Maybe Text
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_accountScope :: Lens.Lens' GetSavingsPlansPurchaseRecommendation (Prelude.Maybe AccountScope)
getSavingsPlansPurchaseRecommendation_accountScope :: (Maybe AccountScope -> f (Maybe AccountScope))
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_accountScope = (GetSavingsPlansPurchaseRecommendation -> Maybe AccountScope)
-> (GetSavingsPlansPurchaseRecommendation
-> Maybe AccountScope -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
(Maybe AccountScope)
(Maybe AccountScope)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {Maybe AccountScope
accountScope :: Maybe AccountScope
$sel:accountScope:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe AccountScope
accountScope} -> Maybe AccountScope
accountScope) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} Maybe AccountScope
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:accountScope:GetSavingsPlansPurchaseRecommendation' :: Maybe AccountScope
accountScope = Maybe AccountScope
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_filter :: Lens.Lens' GetSavingsPlansPurchaseRecommendation (Prelude.Maybe Expression)
getSavingsPlansPurchaseRecommendation_filter :: (Maybe Expression -> f (Maybe Expression))
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_filter = (GetSavingsPlansPurchaseRecommendation -> Maybe Expression)
-> (GetSavingsPlansPurchaseRecommendation
-> Maybe Expression -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
(Maybe Expression)
(Maybe Expression)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {Maybe Expression
filter' :: Maybe Expression
$sel:filter':GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Expression
filter'} -> Maybe Expression
filter') (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} Maybe Expression
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:filter':GetSavingsPlansPurchaseRecommendation' :: Maybe Expression
filter' = Maybe Expression
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_pageSize :: Lens.Lens' GetSavingsPlansPurchaseRecommendation (Prelude.Maybe Prelude.Natural)
getSavingsPlansPurchaseRecommendation_pageSize :: (Maybe Natural -> f (Maybe Natural))
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_pageSize = (GetSavingsPlansPurchaseRecommendation -> Maybe Natural)
-> (GetSavingsPlansPurchaseRecommendation
-> Maybe Natural -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
(Maybe Natural)
(Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {Maybe Natural
pageSize :: Maybe Natural
$sel:pageSize:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Natural
pageSize} -> Maybe Natural
pageSize) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} Maybe Natural
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:pageSize:GetSavingsPlansPurchaseRecommendation' :: Maybe Natural
pageSize = Maybe Natural
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_savingsPlansType :: Lens.Lens' GetSavingsPlansPurchaseRecommendation SupportedSavingsPlansType
getSavingsPlansPurchaseRecommendation_savingsPlansType :: (SupportedSavingsPlansType -> f SupportedSavingsPlansType)
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_savingsPlansType = (GetSavingsPlansPurchaseRecommendation
-> SupportedSavingsPlansType)
-> (GetSavingsPlansPurchaseRecommendation
-> SupportedSavingsPlansType
-> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
SupportedSavingsPlansType
SupportedSavingsPlansType
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {SupportedSavingsPlansType
savingsPlansType :: SupportedSavingsPlansType
$sel:savingsPlansType:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> SupportedSavingsPlansType
savingsPlansType} -> SupportedSavingsPlansType
savingsPlansType) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} SupportedSavingsPlansType
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:savingsPlansType:GetSavingsPlansPurchaseRecommendation' :: SupportedSavingsPlansType
savingsPlansType = SupportedSavingsPlansType
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_termInYears :: Lens.Lens' GetSavingsPlansPurchaseRecommendation TermInYears
getSavingsPlansPurchaseRecommendation_termInYears :: (TermInYears -> f TermInYears)
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_termInYears = (GetSavingsPlansPurchaseRecommendation -> TermInYears)
-> (GetSavingsPlansPurchaseRecommendation
-> TermInYears -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
TermInYears
TermInYears
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {TermInYears
termInYears :: TermInYears
$sel:termInYears:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> TermInYears
termInYears} -> TermInYears
termInYears) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} TermInYears
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:termInYears:GetSavingsPlansPurchaseRecommendation' :: TermInYears
termInYears = TermInYears
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_paymentOption :: Lens.Lens' GetSavingsPlansPurchaseRecommendation PaymentOption
getSavingsPlansPurchaseRecommendation_paymentOption :: (PaymentOption -> f PaymentOption)
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_paymentOption = (GetSavingsPlansPurchaseRecommendation -> PaymentOption)
-> (GetSavingsPlansPurchaseRecommendation
-> PaymentOption -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
PaymentOption
PaymentOption
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {PaymentOption
paymentOption :: PaymentOption
$sel:paymentOption:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> PaymentOption
paymentOption} -> PaymentOption
paymentOption) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} PaymentOption
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:paymentOption:GetSavingsPlansPurchaseRecommendation' :: PaymentOption
paymentOption = PaymentOption
a} :: GetSavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendation_lookbackPeriodInDays :: Lens.Lens' GetSavingsPlansPurchaseRecommendation LookbackPeriodInDays
getSavingsPlansPurchaseRecommendation_lookbackPeriodInDays :: (LookbackPeriodInDays -> f LookbackPeriodInDays)
-> GetSavingsPlansPurchaseRecommendation
-> f GetSavingsPlansPurchaseRecommendation
getSavingsPlansPurchaseRecommendation_lookbackPeriodInDays = (GetSavingsPlansPurchaseRecommendation -> LookbackPeriodInDays)
-> (GetSavingsPlansPurchaseRecommendation
-> LookbackPeriodInDays -> GetSavingsPlansPurchaseRecommendation)
-> Lens
GetSavingsPlansPurchaseRecommendation
GetSavingsPlansPurchaseRecommendation
LookbackPeriodInDays
LookbackPeriodInDays
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendation' {LookbackPeriodInDays
lookbackPeriodInDays :: LookbackPeriodInDays
$sel:lookbackPeriodInDays:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> LookbackPeriodInDays
lookbackPeriodInDays} -> LookbackPeriodInDays
lookbackPeriodInDays) (\s :: GetSavingsPlansPurchaseRecommendation
s@GetSavingsPlansPurchaseRecommendation' {} LookbackPeriodInDays
a -> GetSavingsPlansPurchaseRecommendation
s {$sel:lookbackPeriodInDays:GetSavingsPlansPurchaseRecommendation' :: LookbackPeriodInDays
lookbackPeriodInDays = LookbackPeriodInDays
a} :: GetSavingsPlansPurchaseRecommendation)
instance
Core.AWSRequest
GetSavingsPlansPurchaseRecommendation
where
type
AWSResponse
GetSavingsPlansPurchaseRecommendation =
GetSavingsPlansPurchaseRecommendationResponse
request :: GetSavingsPlansPurchaseRecommendation
-> Request GetSavingsPlansPurchaseRecommendation
request = Service
-> GetSavingsPlansPurchaseRecommendation
-> Request GetSavingsPlansPurchaseRecommendation
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
response :: Logger
-> Service
-> Proxy GetSavingsPlansPurchaseRecommendation
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse GetSavingsPlansPurchaseRecommendation)))
response =
(Int
-> ResponseHeaders
-> Object
-> Either
String (AWSResponse GetSavingsPlansPurchaseRecommendation))
-> Logger
-> Service
-> Proxy GetSavingsPlansPurchaseRecommendation
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse GetSavingsPlansPurchaseRecommendation)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text
-> Maybe SavingsPlansPurchaseRecommendation
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int
-> GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse'
(Maybe Text
-> Maybe SavingsPlansPurchaseRecommendation
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int
-> GetSavingsPlansPurchaseRecommendationResponse)
-> Either String (Maybe Text)
-> Either
String
(Maybe SavingsPlansPurchaseRecommendation
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int
-> GetSavingsPlansPurchaseRecommendationResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NextPageToken")
Either
String
(Maybe SavingsPlansPurchaseRecommendation
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int
-> GetSavingsPlansPurchaseRecommendationResponse)
-> Either String (Maybe SavingsPlansPurchaseRecommendation)
-> Either
String
(Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int -> GetSavingsPlansPurchaseRecommendationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe SavingsPlansPurchaseRecommendation)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"SavingsPlansPurchaseRecommendation")
Either
String
(Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int -> GetSavingsPlansPurchaseRecommendationResponse)
-> Either String (Maybe SavingsPlansPurchaseRecommendationMetadata)
-> Either
String (Int -> GetSavingsPlansPurchaseRecommendationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe SavingsPlansPurchaseRecommendationMetadata)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Metadata")
Either
String (Int -> GetSavingsPlansPurchaseRecommendationResponse)
-> Either String Int
-> Either String GetSavingsPlansPurchaseRecommendationResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
GetSavingsPlansPurchaseRecommendation
instance
Prelude.NFData
GetSavingsPlansPurchaseRecommendation
instance
Core.ToHeaders
GetSavingsPlansPurchaseRecommendation
where
toHeaders :: GetSavingsPlansPurchaseRecommendation -> ResponseHeaders
toHeaders =
ResponseHeaders
-> GetSavingsPlansPurchaseRecommendation -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"AWSInsightsIndexService.GetSavingsPlansPurchaseRecommendation" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Core.ToJSON
GetSavingsPlansPurchaseRecommendation
where
toJSON :: GetSavingsPlansPurchaseRecommendation -> Value
toJSON GetSavingsPlansPurchaseRecommendation' {Maybe Natural
Maybe Text
Maybe AccountScope
Maybe Expression
LookbackPeriodInDays
PaymentOption
SupportedSavingsPlansType
TermInYears
lookbackPeriodInDays :: LookbackPeriodInDays
paymentOption :: PaymentOption
termInYears :: TermInYears
savingsPlansType :: SupportedSavingsPlansType
pageSize :: Maybe Natural
filter' :: Maybe Expression
accountScope :: Maybe AccountScope
nextPageToken :: Maybe Text
$sel:lookbackPeriodInDays:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> LookbackPeriodInDays
$sel:paymentOption:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> PaymentOption
$sel:termInYears:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> TermInYears
$sel:savingsPlansType:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> SupportedSavingsPlansType
$sel:pageSize:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Natural
$sel:filter':GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Expression
$sel:accountScope:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe AccountScope
$sel:nextPageToken:GetSavingsPlansPurchaseRecommendation' :: GetSavingsPlansPurchaseRecommendation -> Maybe Text
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"NextPageToken" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextPageToken,
(Text
"AccountScope" Text -> AccountScope -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AccountScope -> Pair) -> Maybe AccountScope -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AccountScope
accountScope,
(Text
"Filter" Text -> Expression -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Expression -> Pair) -> Maybe Expression -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Expression
filter',
(Text
"PageSize" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
pageSize,
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
(Text
"SavingsPlansType" Text -> SupportedSavingsPlansType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= SupportedSavingsPlansType
savingsPlansType),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"TermInYears" Text -> TermInYears -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= TermInYears
termInYears),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"PaymentOption" Text -> PaymentOption -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= PaymentOption
paymentOption),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
( Text
"LookbackPeriodInDays"
Text -> LookbackPeriodInDays -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= LookbackPeriodInDays
lookbackPeriodInDays
)
]
)
instance
Core.ToPath
GetSavingsPlansPurchaseRecommendation
where
toPath :: GetSavingsPlansPurchaseRecommendation -> ByteString
toPath = ByteString -> GetSavingsPlansPurchaseRecommendation -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Core.ToQuery
GetSavingsPlansPurchaseRecommendation
where
toQuery :: GetSavingsPlansPurchaseRecommendation -> QueryString
toQuery = QueryString -> GetSavingsPlansPurchaseRecommendation -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty
data GetSavingsPlansPurchaseRecommendationResponse = GetSavingsPlansPurchaseRecommendationResponse'
{
GetSavingsPlansPurchaseRecommendationResponse -> Maybe Text
nextPageToken :: Prelude.Maybe Prelude.Text,
GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation :: Prelude.Maybe SavingsPlansPurchaseRecommendation,
GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendationMetadata
metadata :: Prelude.Maybe SavingsPlansPurchaseRecommendationMetadata,
GetSavingsPlansPurchaseRecommendationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool
(GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool)
-> (GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool)
-> Eq GetSavingsPlansPurchaseRecommendationResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool
$c/= :: GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool
== :: GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool
$c== :: GetSavingsPlansPurchaseRecommendationResponse
-> GetSavingsPlansPurchaseRecommendationResponse -> Bool
Prelude.Eq, ReadPrec [GetSavingsPlansPurchaseRecommendationResponse]
ReadPrec GetSavingsPlansPurchaseRecommendationResponse
Int -> ReadS GetSavingsPlansPurchaseRecommendationResponse
ReadS [GetSavingsPlansPurchaseRecommendationResponse]
(Int -> ReadS GetSavingsPlansPurchaseRecommendationResponse)
-> ReadS [GetSavingsPlansPurchaseRecommendationResponse]
-> ReadPrec GetSavingsPlansPurchaseRecommendationResponse
-> ReadPrec [GetSavingsPlansPurchaseRecommendationResponse]
-> Read GetSavingsPlansPurchaseRecommendationResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSavingsPlansPurchaseRecommendationResponse]
$creadListPrec :: ReadPrec [GetSavingsPlansPurchaseRecommendationResponse]
readPrec :: ReadPrec GetSavingsPlansPurchaseRecommendationResponse
$creadPrec :: ReadPrec GetSavingsPlansPurchaseRecommendationResponse
readList :: ReadS [GetSavingsPlansPurchaseRecommendationResponse]
$creadList :: ReadS [GetSavingsPlansPurchaseRecommendationResponse]
readsPrec :: Int -> ReadS GetSavingsPlansPurchaseRecommendationResponse
$creadsPrec :: Int -> ReadS GetSavingsPlansPurchaseRecommendationResponse
Prelude.Read, Int -> GetSavingsPlansPurchaseRecommendationResponse -> ShowS
[GetSavingsPlansPurchaseRecommendationResponse] -> ShowS
GetSavingsPlansPurchaseRecommendationResponse -> String
(Int -> GetSavingsPlansPurchaseRecommendationResponse -> ShowS)
-> (GetSavingsPlansPurchaseRecommendationResponse -> String)
-> ([GetSavingsPlansPurchaseRecommendationResponse] -> ShowS)
-> Show GetSavingsPlansPurchaseRecommendationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSavingsPlansPurchaseRecommendationResponse] -> ShowS
$cshowList :: [GetSavingsPlansPurchaseRecommendationResponse] -> ShowS
show :: GetSavingsPlansPurchaseRecommendationResponse -> String
$cshow :: GetSavingsPlansPurchaseRecommendationResponse -> String
showsPrec :: Int -> GetSavingsPlansPurchaseRecommendationResponse -> ShowS
$cshowsPrec :: Int -> GetSavingsPlansPurchaseRecommendationResponse -> ShowS
Prelude.Show, (forall x.
GetSavingsPlansPurchaseRecommendationResponse
-> Rep GetSavingsPlansPurchaseRecommendationResponse x)
-> (forall x.
Rep GetSavingsPlansPurchaseRecommendationResponse x
-> GetSavingsPlansPurchaseRecommendationResponse)
-> Generic GetSavingsPlansPurchaseRecommendationResponse
forall x.
Rep GetSavingsPlansPurchaseRecommendationResponse x
-> GetSavingsPlansPurchaseRecommendationResponse
forall x.
GetSavingsPlansPurchaseRecommendationResponse
-> Rep GetSavingsPlansPurchaseRecommendationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSavingsPlansPurchaseRecommendationResponse x
-> GetSavingsPlansPurchaseRecommendationResponse
$cfrom :: forall x.
GetSavingsPlansPurchaseRecommendationResponse
-> Rep GetSavingsPlansPurchaseRecommendationResponse x
Prelude.Generic)
newGetSavingsPlansPurchaseRecommendationResponse ::
Prelude.Int ->
GetSavingsPlansPurchaseRecommendationResponse
newGetSavingsPlansPurchaseRecommendationResponse :: Int -> GetSavingsPlansPurchaseRecommendationResponse
newGetSavingsPlansPurchaseRecommendationResponse
Int
pHttpStatus_ =
GetSavingsPlansPurchaseRecommendationResponse' :: Maybe Text
-> Maybe SavingsPlansPurchaseRecommendation
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> Int
-> GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse'
{ $sel:nextPageToken:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe Text
nextPageToken =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:savingsPlansPurchaseRecommendation:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation =
Maybe SavingsPlansPurchaseRecommendation
forall a. Maybe a
Prelude.Nothing,
$sel:metadata:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe SavingsPlansPurchaseRecommendationMetadata
metadata = Maybe SavingsPlansPurchaseRecommendationMetadata
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSavingsPlansPurchaseRecommendationResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSavingsPlansPurchaseRecommendationResponse_nextPageToken :: Lens.Lens' GetSavingsPlansPurchaseRecommendationResponse (Prelude.Maybe Prelude.Text)
getSavingsPlansPurchaseRecommendationResponse_nextPageToken :: (Maybe Text -> f (Maybe Text))
-> GetSavingsPlansPurchaseRecommendationResponse
-> f GetSavingsPlansPurchaseRecommendationResponse
getSavingsPlansPurchaseRecommendationResponse_nextPageToken = (GetSavingsPlansPurchaseRecommendationResponse -> Maybe Text)
-> (GetSavingsPlansPurchaseRecommendationResponse
-> Maybe Text -> GetSavingsPlansPurchaseRecommendationResponse)
-> Lens
GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendationResponse' {Maybe Text
nextPageToken :: Maybe Text
$sel:nextPageToken:GetSavingsPlansPurchaseRecommendationResponse' :: GetSavingsPlansPurchaseRecommendationResponse -> Maybe Text
nextPageToken} -> Maybe Text
nextPageToken) (\s :: GetSavingsPlansPurchaseRecommendationResponse
s@GetSavingsPlansPurchaseRecommendationResponse' {} Maybe Text
a -> GetSavingsPlansPurchaseRecommendationResponse
s {$sel:nextPageToken:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe Text
nextPageToken = Maybe Text
a} :: GetSavingsPlansPurchaseRecommendationResponse)
getSavingsPlansPurchaseRecommendationResponse_savingsPlansPurchaseRecommendation :: Lens.Lens' GetSavingsPlansPurchaseRecommendationResponse (Prelude.Maybe SavingsPlansPurchaseRecommendation)
getSavingsPlansPurchaseRecommendationResponse_savingsPlansPurchaseRecommendation :: (Maybe SavingsPlansPurchaseRecommendation
-> f (Maybe SavingsPlansPurchaseRecommendation))
-> GetSavingsPlansPurchaseRecommendationResponse
-> f GetSavingsPlansPurchaseRecommendationResponse
getSavingsPlansPurchaseRecommendationResponse_savingsPlansPurchaseRecommendation = (GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendation)
-> (GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendation
-> GetSavingsPlansPurchaseRecommendationResponse)
-> Lens
GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse
(Maybe SavingsPlansPurchaseRecommendation)
(Maybe SavingsPlansPurchaseRecommendation)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendationResponse' {Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation :: Maybe SavingsPlansPurchaseRecommendation
$sel:savingsPlansPurchaseRecommendation:GetSavingsPlansPurchaseRecommendationResponse' :: GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation} -> Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation) (\s :: GetSavingsPlansPurchaseRecommendationResponse
s@GetSavingsPlansPurchaseRecommendationResponse' {} Maybe SavingsPlansPurchaseRecommendation
a -> GetSavingsPlansPurchaseRecommendationResponse
s {$sel:savingsPlansPurchaseRecommendation:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe SavingsPlansPurchaseRecommendation
savingsPlansPurchaseRecommendation = Maybe SavingsPlansPurchaseRecommendation
a} :: GetSavingsPlansPurchaseRecommendationResponse)
getSavingsPlansPurchaseRecommendationResponse_metadata :: Lens.Lens' GetSavingsPlansPurchaseRecommendationResponse (Prelude.Maybe SavingsPlansPurchaseRecommendationMetadata)
getSavingsPlansPurchaseRecommendationResponse_metadata :: (Maybe SavingsPlansPurchaseRecommendationMetadata
-> f (Maybe SavingsPlansPurchaseRecommendationMetadata))
-> GetSavingsPlansPurchaseRecommendationResponse
-> f GetSavingsPlansPurchaseRecommendationResponse
getSavingsPlansPurchaseRecommendationResponse_metadata = (GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendationMetadata)
-> (GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendationMetadata
-> GetSavingsPlansPurchaseRecommendationResponse)
-> Lens
GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse
(Maybe SavingsPlansPurchaseRecommendationMetadata)
(Maybe SavingsPlansPurchaseRecommendationMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendationResponse' {Maybe SavingsPlansPurchaseRecommendationMetadata
metadata :: Maybe SavingsPlansPurchaseRecommendationMetadata
$sel:metadata:GetSavingsPlansPurchaseRecommendationResponse' :: GetSavingsPlansPurchaseRecommendationResponse
-> Maybe SavingsPlansPurchaseRecommendationMetadata
metadata} -> Maybe SavingsPlansPurchaseRecommendationMetadata
metadata) (\s :: GetSavingsPlansPurchaseRecommendationResponse
s@GetSavingsPlansPurchaseRecommendationResponse' {} Maybe SavingsPlansPurchaseRecommendationMetadata
a -> GetSavingsPlansPurchaseRecommendationResponse
s {$sel:metadata:GetSavingsPlansPurchaseRecommendationResponse' :: Maybe SavingsPlansPurchaseRecommendationMetadata
metadata = Maybe SavingsPlansPurchaseRecommendationMetadata
a} :: GetSavingsPlansPurchaseRecommendationResponse)
getSavingsPlansPurchaseRecommendationResponse_httpStatus :: Lens.Lens' GetSavingsPlansPurchaseRecommendationResponse Prelude.Int
getSavingsPlansPurchaseRecommendationResponse_httpStatus :: (Int -> f Int)
-> GetSavingsPlansPurchaseRecommendationResponse
-> f GetSavingsPlansPurchaseRecommendationResponse
getSavingsPlansPurchaseRecommendationResponse_httpStatus = (GetSavingsPlansPurchaseRecommendationResponse -> Int)
-> (GetSavingsPlansPurchaseRecommendationResponse
-> Int -> GetSavingsPlansPurchaseRecommendationResponse)
-> Lens
GetSavingsPlansPurchaseRecommendationResponse
GetSavingsPlansPurchaseRecommendationResponse
Int
Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansPurchaseRecommendationResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSavingsPlansPurchaseRecommendationResponse' :: GetSavingsPlansPurchaseRecommendationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSavingsPlansPurchaseRecommendationResponse
s@GetSavingsPlansPurchaseRecommendationResponse' {} Int
a -> GetSavingsPlansPurchaseRecommendationResponse
s {$sel:httpStatus:GetSavingsPlansPurchaseRecommendationResponse' :: Int
httpStatus = Int
a} :: GetSavingsPlansPurchaseRecommendationResponse)
instance
Prelude.NFData
GetSavingsPlansPurchaseRecommendationResponse