{-# 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.PersonalizeRuntime.GetRecommendations
(
GetRecommendations (..),
newGetRecommendations,
getRecommendations_campaignArn,
getRecommendations_context,
getRecommendations_filterArn,
getRecommendations_filterValues,
getRecommendations_itemId,
getRecommendations_numResults,
getRecommendations_promotions,
getRecommendations_recommenderArn,
getRecommendations_userId,
GetRecommendationsResponse (..),
newGetRecommendationsResponse,
getRecommendationsResponse_itemList,
getRecommendationsResponse_recommendationId,
getRecommendationsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.PersonalizeRuntime.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetRecommendations = GetRecommendations'
{
GetRecommendations -> Maybe Text
campaignArn :: Prelude.Maybe Prelude.Text,
GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
context :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),
GetRecommendations -> Maybe Text
filterArn :: Prelude.Maybe Prelude.Text,
GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
filterValues :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),
GetRecommendations -> Maybe Text
itemId :: Prelude.Maybe Prelude.Text,
GetRecommendations -> Maybe Natural
numResults :: Prelude.Maybe Prelude.Natural,
GetRecommendations -> Maybe [Promotion]
promotions :: Prelude.Maybe [Promotion],
GetRecommendations -> Maybe Text
recommenderArn :: Prelude.Maybe Prelude.Text,
GetRecommendations -> Maybe Text
userId :: Prelude.Maybe Prelude.Text
}
deriving (GetRecommendations -> GetRecommendations -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRecommendations -> GetRecommendations -> Bool
$c/= :: GetRecommendations -> GetRecommendations -> Bool
== :: GetRecommendations -> GetRecommendations -> Bool
$c== :: GetRecommendations -> GetRecommendations -> Bool
Prelude.Eq, Int -> GetRecommendations -> ShowS
[GetRecommendations] -> ShowS
GetRecommendations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRecommendations] -> ShowS
$cshowList :: [GetRecommendations] -> ShowS
show :: GetRecommendations -> String
$cshow :: GetRecommendations -> String
showsPrec :: Int -> GetRecommendations -> ShowS
$cshowsPrec :: Int -> GetRecommendations -> ShowS
Prelude.Show, forall x. Rep GetRecommendations x -> GetRecommendations
forall x. GetRecommendations -> Rep GetRecommendations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetRecommendations x -> GetRecommendations
$cfrom :: forall x. GetRecommendations -> Rep GetRecommendations x
Prelude.Generic)
newGetRecommendations ::
GetRecommendations
newGetRecommendations :: GetRecommendations
newGetRecommendations =
GetRecommendations'
{ $sel:campaignArn:GetRecommendations' :: Maybe Text
campaignArn = forall a. Maybe a
Prelude.Nothing,
$sel:context:GetRecommendations' :: Maybe (HashMap Text (Sensitive Text))
context = forall a. Maybe a
Prelude.Nothing,
$sel:filterArn:GetRecommendations' :: Maybe Text
filterArn = forall a. Maybe a
Prelude.Nothing,
$sel:filterValues:GetRecommendations' :: Maybe (HashMap Text (Sensitive Text))
filterValues = forall a. Maybe a
Prelude.Nothing,
$sel:itemId:GetRecommendations' :: Maybe Text
itemId = forall a. Maybe a
Prelude.Nothing,
$sel:numResults:GetRecommendations' :: Maybe Natural
numResults = forall a. Maybe a
Prelude.Nothing,
$sel:promotions:GetRecommendations' :: Maybe [Promotion]
promotions = forall a. Maybe a
Prelude.Nothing,
$sel:recommenderArn:GetRecommendations' :: Maybe Text
recommenderArn = forall a. Maybe a
Prelude.Nothing,
$sel:userId:GetRecommendations' :: Maybe Text
userId = forall a. Maybe a
Prelude.Nothing
}
getRecommendations_campaignArn :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Text)
getRecommendations_campaignArn :: Lens' GetRecommendations (Maybe Text)
getRecommendations_campaignArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Text
campaignArn :: Maybe Text
$sel:campaignArn:GetRecommendations' :: GetRecommendations -> Maybe Text
campaignArn} -> Maybe Text
campaignArn) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Text
a -> GetRecommendations
s {$sel:campaignArn:GetRecommendations' :: Maybe Text
campaignArn = Maybe Text
a} :: GetRecommendations)
getRecommendations_context :: Lens.Lens' GetRecommendations (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getRecommendations_context :: Lens' GetRecommendations (Maybe (HashMap Text Text))
getRecommendations_context = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe (HashMap Text (Sensitive Text))
context :: Maybe (HashMap Text (Sensitive Text))
$sel:context:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
context} -> Maybe (HashMap Text (Sensitive Text))
context) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe (HashMap Text (Sensitive Text))
a -> GetRecommendations
s {$sel:context:GetRecommendations' :: Maybe (HashMap Text (Sensitive Text))
context = Maybe (HashMap Text (Sensitive Text))
a} :: GetRecommendations) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getRecommendations_filterArn :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Text)
getRecommendations_filterArn :: Lens' GetRecommendations (Maybe Text)
getRecommendations_filterArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Text
filterArn :: Maybe Text
$sel:filterArn:GetRecommendations' :: GetRecommendations -> Maybe Text
filterArn} -> Maybe Text
filterArn) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Text
a -> GetRecommendations
s {$sel:filterArn:GetRecommendations' :: Maybe Text
filterArn = Maybe Text
a} :: GetRecommendations)
getRecommendations_filterValues :: Lens.Lens' GetRecommendations (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getRecommendations_filterValues :: Lens' GetRecommendations (Maybe (HashMap Text Text))
getRecommendations_filterValues = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe (HashMap Text (Sensitive Text))
filterValues :: Maybe (HashMap Text (Sensitive Text))
$sel:filterValues:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
filterValues} -> Maybe (HashMap Text (Sensitive Text))
filterValues) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe (HashMap Text (Sensitive Text))
a -> GetRecommendations
s {$sel:filterValues:GetRecommendations' :: Maybe (HashMap Text (Sensitive Text))
filterValues = Maybe (HashMap Text (Sensitive Text))
a} :: GetRecommendations) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getRecommendations_itemId :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Text)
getRecommendations_itemId :: Lens' GetRecommendations (Maybe Text)
getRecommendations_itemId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Text
itemId :: Maybe Text
$sel:itemId:GetRecommendations' :: GetRecommendations -> Maybe Text
itemId} -> Maybe Text
itemId) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Text
a -> GetRecommendations
s {$sel:itemId:GetRecommendations' :: Maybe Text
itemId = Maybe Text
a} :: GetRecommendations)
getRecommendations_numResults :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Natural)
getRecommendations_numResults :: Lens' GetRecommendations (Maybe Natural)
getRecommendations_numResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Natural
numResults :: Maybe Natural
$sel:numResults:GetRecommendations' :: GetRecommendations -> Maybe Natural
numResults} -> Maybe Natural
numResults) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Natural
a -> GetRecommendations
s {$sel:numResults:GetRecommendations' :: Maybe Natural
numResults = Maybe Natural
a} :: GetRecommendations)
getRecommendations_promotions :: Lens.Lens' GetRecommendations (Prelude.Maybe [Promotion])
getRecommendations_promotions :: Lens' GetRecommendations (Maybe [Promotion])
getRecommendations_promotions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe [Promotion]
promotions :: Maybe [Promotion]
$sel:promotions:GetRecommendations' :: GetRecommendations -> Maybe [Promotion]
promotions} -> Maybe [Promotion]
promotions) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe [Promotion]
a -> GetRecommendations
s {$sel:promotions:GetRecommendations' :: Maybe [Promotion]
promotions = Maybe [Promotion]
a} :: GetRecommendations) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getRecommendations_recommenderArn :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Text)
getRecommendations_recommenderArn :: Lens' GetRecommendations (Maybe Text)
getRecommendations_recommenderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Text
recommenderArn :: Maybe Text
$sel:recommenderArn:GetRecommendations' :: GetRecommendations -> Maybe Text
recommenderArn} -> Maybe Text
recommenderArn) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Text
a -> GetRecommendations
s {$sel:recommenderArn:GetRecommendations' :: Maybe Text
recommenderArn = Maybe Text
a} :: GetRecommendations)
getRecommendations_userId :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Text)
getRecommendations_userId :: Lens' GetRecommendations (Maybe Text)
getRecommendations_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendations' {Maybe Text
userId :: Maybe Text
$sel:userId:GetRecommendations' :: GetRecommendations -> Maybe Text
userId} -> Maybe Text
userId) (\s :: GetRecommendations
s@GetRecommendations' {} Maybe Text
a -> GetRecommendations
s {$sel:userId:GetRecommendations' :: Maybe Text
userId = Maybe Text
a} :: GetRecommendations)
instance Core.AWSRequest GetRecommendations where
type
AWSResponse GetRecommendations =
GetRecommendationsResponse
request :: (Service -> Service)
-> GetRecommendations -> Request GetRecommendations
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 GetRecommendations
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetRecommendations)))
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 [PredictedItem]
-> Maybe Text -> Int -> GetRecommendationsResponse
GetRecommendationsResponse'
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
"itemList" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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
"recommendationId")
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 GetRecommendations where
hashWithSalt :: Int -> GetRecommendations -> Int
hashWithSalt Int
_salt GetRecommendations' {Maybe Natural
Maybe [Promotion]
Maybe Text
Maybe (HashMap Text (Sensitive Text))
userId :: Maybe Text
recommenderArn :: Maybe Text
promotions :: Maybe [Promotion]
numResults :: Maybe Natural
itemId :: Maybe Text
filterValues :: Maybe (HashMap Text (Sensitive Text))
filterArn :: Maybe Text
context :: Maybe (HashMap Text (Sensitive Text))
campaignArn :: Maybe Text
$sel:userId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:recommenderArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:promotions:GetRecommendations' :: GetRecommendations -> Maybe [Promotion]
$sel:numResults:GetRecommendations' :: GetRecommendations -> Maybe Natural
$sel:itemId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:filterValues:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:filterArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:context:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:campaignArn:GetRecommendations' :: GetRecommendations -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
campaignArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text (Sensitive Text))
context
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
filterArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text (Sensitive Text))
filterValues
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
itemId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
numResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Promotion]
promotions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
recommenderArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userId
instance Prelude.NFData GetRecommendations where
rnf :: GetRecommendations -> ()
rnf GetRecommendations' {Maybe Natural
Maybe [Promotion]
Maybe Text
Maybe (HashMap Text (Sensitive Text))
userId :: Maybe Text
recommenderArn :: Maybe Text
promotions :: Maybe [Promotion]
numResults :: Maybe Natural
itemId :: Maybe Text
filterValues :: Maybe (HashMap Text (Sensitive Text))
filterArn :: Maybe Text
context :: Maybe (HashMap Text (Sensitive Text))
campaignArn :: Maybe Text
$sel:userId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:recommenderArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:promotions:GetRecommendations' :: GetRecommendations -> Maybe [Promotion]
$sel:numResults:GetRecommendations' :: GetRecommendations -> Maybe Natural
$sel:itemId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:filterValues:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:filterArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:context:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:campaignArn:GetRecommendations' :: GetRecommendations -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
campaignArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text (Sensitive Text))
context
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
filterArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text (Sensitive Text))
filterValues
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
itemId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
numResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Promotion]
promotions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
recommenderArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userId
instance Data.ToHeaders GetRecommendations where
toHeaders :: GetRecommendations -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetRecommendations where
toJSON :: GetRecommendations -> Value
toJSON GetRecommendations' {Maybe Natural
Maybe [Promotion]
Maybe Text
Maybe (HashMap Text (Sensitive Text))
userId :: Maybe Text
recommenderArn :: Maybe Text
promotions :: Maybe [Promotion]
numResults :: Maybe Natural
itemId :: Maybe Text
filterValues :: Maybe (HashMap Text (Sensitive Text))
filterArn :: Maybe Text
context :: Maybe (HashMap Text (Sensitive Text))
campaignArn :: Maybe Text
$sel:userId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:recommenderArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:promotions:GetRecommendations' :: GetRecommendations -> Maybe [Promotion]
$sel:numResults:GetRecommendations' :: GetRecommendations -> Maybe Natural
$sel:itemId:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:filterValues:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:filterArn:GetRecommendations' :: GetRecommendations -> Maybe Text
$sel:context:GetRecommendations' :: GetRecommendations -> Maybe (HashMap Text (Sensitive Text))
$sel:campaignArn:GetRecommendations' :: GetRecommendations -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"campaignArn" 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 Text
campaignArn,
(Key
"context" 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 (HashMap Text (Sensitive Text))
context,
(Key
"filterArn" 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 Text
filterArn,
(Key
"filterValues" 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 (HashMap Text (Sensitive Text))
filterValues,
(Key
"itemId" 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 Text
itemId,
(Key
"numResults" 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
numResults,
(Key
"promotions" 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 [Promotion]
promotions,
(Key
"recommenderArn" 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 Text
recommenderArn,
(Key
"userId" 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 Text
userId
]
)
instance Data.ToPath GetRecommendations where
toPath :: GetRecommendations -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/recommendations"
instance Data.ToQuery GetRecommendations where
toQuery :: GetRecommendations -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetRecommendationsResponse = GetRecommendationsResponse'
{
GetRecommendationsResponse -> Maybe [PredictedItem]
itemList :: Prelude.Maybe [PredictedItem],
GetRecommendationsResponse -> Maybe Text
recommendationId :: Prelude.Maybe Prelude.Text,
GetRecommendationsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetRecommendationsResponse -> GetRecommendationsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRecommendationsResponse -> GetRecommendationsResponse -> Bool
$c/= :: GetRecommendationsResponse -> GetRecommendationsResponse -> Bool
== :: GetRecommendationsResponse -> GetRecommendationsResponse -> Bool
$c== :: GetRecommendationsResponse -> GetRecommendationsResponse -> Bool
Prelude.Eq, ReadPrec [GetRecommendationsResponse]
ReadPrec GetRecommendationsResponse
Int -> ReadS GetRecommendationsResponse
ReadS [GetRecommendationsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRecommendationsResponse]
$creadListPrec :: ReadPrec [GetRecommendationsResponse]
readPrec :: ReadPrec GetRecommendationsResponse
$creadPrec :: ReadPrec GetRecommendationsResponse
readList :: ReadS [GetRecommendationsResponse]
$creadList :: ReadS [GetRecommendationsResponse]
readsPrec :: Int -> ReadS GetRecommendationsResponse
$creadsPrec :: Int -> ReadS GetRecommendationsResponse
Prelude.Read, Int -> GetRecommendationsResponse -> ShowS
[GetRecommendationsResponse] -> ShowS
GetRecommendationsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRecommendationsResponse] -> ShowS
$cshowList :: [GetRecommendationsResponse] -> ShowS
show :: GetRecommendationsResponse -> String
$cshow :: GetRecommendationsResponse -> String
showsPrec :: Int -> GetRecommendationsResponse -> ShowS
$cshowsPrec :: Int -> GetRecommendationsResponse -> ShowS
Prelude.Show, forall x.
Rep GetRecommendationsResponse x -> GetRecommendationsResponse
forall x.
GetRecommendationsResponse -> Rep GetRecommendationsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetRecommendationsResponse x -> GetRecommendationsResponse
$cfrom :: forall x.
GetRecommendationsResponse -> Rep GetRecommendationsResponse x
Prelude.Generic)
newGetRecommendationsResponse ::
Prelude.Int ->
GetRecommendationsResponse
newGetRecommendationsResponse :: Int -> GetRecommendationsResponse
newGetRecommendationsResponse Int
pHttpStatus_ =
GetRecommendationsResponse'
{ $sel:itemList:GetRecommendationsResponse' :: Maybe [PredictedItem]
itemList =
forall a. Maybe a
Prelude.Nothing,
$sel:recommendationId:GetRecommendationsResponse' :: Maybe Text
recommendationId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetRecommendationsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getRecommendationsResponse_itemList :: Lens.Lens' GetRecommendationsResponse (Prelude.Maybe [PredictedItem])
getRecommendationsResponse_itemList :: Lens' GetRecommendationsResponse (Maybe [PredictedItem])
getRecommendationsResponse_itemList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendationsResponse' {Maybe [PredictedItem]
itemList :: Maybe [PredictedItem]
$sel:itemList:GetRecommendationsResponse' :: GetRecommendationsResponse -> Maybe [PredictedItem]
itemList} -> Maybe [PredictedItem]
itemList) (\s :: GetRecommendationsResponse
s@GetRecommendationsResponse' {} Maybe [PredictedItem]
a -> GetRecommendationsResponse
s {$sel:itemList:GetRecommendationsResponse' :: Maybe [PredictedItem]
itemList = Maybe [PredictedItem]
a} :: GetRecommendationsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getRecommendationsResponse_recommendationId :: Lens.Lens' GetRecommendationsResponse (Prelude.Maybe Prelude.Text)
getRecommendationsResponse_recommendationId :: Lens' GetRecommendationsResponse (Maybe Text)
getRecommendationsResponse_recommendationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendationsResponse' {Maybe Text
recommendationId :: Maybe Text
$sel:recommendationId:GetRecommendationsResponse' :: GetRecommendationsResponse -> Maybe Text
recommendationId} -> Maybe Text
recommendationId) (\s :: GetRecommendationsResponse
s@GetRecommendationsResponse' {} Maybe Text
a -> GetRecommendationsResponse
s {$sel:recommendationId:GetRecommendationsResponse' :: Maybe Text
recommendationId = Maybe Text
a} :: GetRecommendationsResponse)
getRecommendationsResponse_httpStatus :: Lens.Lens' GetRecommendationsResponse Prelude.Int
getRecommendationsResponse_httpStatus :: Lens' GetRecommendationsResponse Int
getRecommendationsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRecommendationsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetRecommendationsResponse' :: GetRecommendationsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetRecommendationsResponse
s@GetRecommendationsResponse' {} Int
a -> GetRecommendationsResponse
s {$sel:httpStatus:GetRecommendationsResponse' :: Int
httpStatus = Int
a} :: GetRecommendationsResponse)
instance Prelude.NFData GetRecommendationsResponse where
rnf :: GetRecommendationsResponse -> ()
rnf GetRecommendationsResponse' {Int
Maybe [PredictedItem]
Maybe Text
httpStatus :: Int
recommendationId :: Maybe Text
itemList :: Maybe [PredictedItem]
$sel:httpStatus:GetRecommendationsResponse' :: GetRecommendationsResponse -> Int
$sel:recommendationId:GetRecommendationsResponse' :: GetRecommendationsResponse -> Maybe Text
$sel:itemList:GetRecommendationsResponse' :: GetRecommendationsResponse -> Maybe [PredictedItem]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [PredictedItem]
itemList
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
recommendationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus