{-# 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.Personalize.ListRecommenders
(
ListRecommenders (..),
newListRecommenders,
listRecommenders_datasetGroupArn,
listRecommenders_maxResults,
listRecommenders_nextToken,
ListRecommendersResponse (..),
newListRecommendersResponse,
listRecommendersResponse_nextToken,
listRecommendersResponse_recommenders,
listRecommendersResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Personalize.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListRecommenders = ListRecommenders'
{
ListRecommenders -> Maybe Text
datasetGroupArn :: Prelude.Maybe Prelude.Text,
ListRecommenders -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
ListRecommenders -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (ListRecommenders -> ListRecommenders -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListRecommenders -> ListRecommenders -> Bool
$c/= :: ListRecommenders -> ListRecommenders -> Bool
== :: ListRecommenders -> ListRecommenders -> Bool
$c== :: ListRecommenders -> ListRecommenders -> Bool
Prelude.Eq, ReadPrec [ListRecommenders]
ReadPrec ListRecommenders
Int -> ReadS ListRecommenders
ReadS [ListRecommenders]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListRecommenders]
$creadListPrec :: ReadPrec [ListRecommenders]
readPrec :: ReadPrec ListRecommenders
$creadPrec :: ReadPrec ListRecommenders
readList :: ReadS [ListRecommenders]
$creadList :: ReadS [ListRecommenders]
readsPrec :: Int -> ReadS ListRecommenders
$creadsPrec :: Int -> ReadS ListRecommenders
Prelude.Read, Int -> ListRecommenders -> ShowS
[ListRecommenders] -> ShowS
ListRecommenders -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListRecommenders] -> ShowS
$cshowList :: [ListRecommenders] -> ShowS
show :: ListRecommenders -> String
$cshow :: ListRecommenders -> String
showsPrec :: Int -> ListRecommenders -> ShowS
$cshowsPrec :: Int -> ListRecommenders -> ShowS
Prelude.Show, forall x. Rep ListRecommenders x -> ListRecommenders
forall x. ListRecommenders -> Rep ListRecommenders x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListRecommenders x -> ListRecommenders
$cfrom :: forall x. ListRecommenders -> Rep ListRecommenders x
Prelude.Generic)
newListRecommenders ::
ListRecommenders
newListRecommenders :: ListRecommenders
newListRecommenders =
ListRecommenders'
{ $sel:datasetGroupArn:ListRecommenders' :: Maybe Text
datasetGroupArn =
forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:ListRecommenders' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListRecommenders' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
listRecommenders_datasetGroupArn :: Lens.Lens' ListRecommenders (Prelude.Maybe Prelude.Text)
listRecommenders_datasetGroupArn :: Lens' ListRecommenders (Maybe Text)
listRecommenders_datasetGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommenders' {Maybe Text
datasetGroupArn :: Maybe Text
$sel:datasetGroupArn:ListRecommenders' :: ListRecommenders -> Maybe Text
datasetGroupArn} -> Maybe Text
datasetGroupArn) (\s :: ListRecommenders
s@ListRecommenders' {} Maybe Text
a -> ListRecommenders
s {$sel:datasetGroupArn:ListRecommenders' :: Maybe Text
datasetGroupArn = Maybe Text
a} :: ListRecommenders)
listRecommenders_maxResults :: Lens.Lens' ListRecommenders (Prelude.Maybe Prelude.Natural)
listRecommenders_maxResults :: Lens' ListRecommenders (Maybe Natural)
listRecommenders_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommenders' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListRecommenders' :: ListRecommenders -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListRecommenders
s@ListRecommenders' {} Maybe Natural
a -> ListRecommenders
s {$sel:maxResults:ListRecommenders' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListRecommenders)
listRecommenders_nextToken :: Lens.Lens' ListRecommenders (Prelude.Maybe Prelude.Text)
listRecommenders_nextToken :: Lens' ListRecommenders (Maybe Text)
listRecommenders_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommenders' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListRecommenders' :: ListRecommenders -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListRecommenders
s@ListRecommenders' {} Maybe Text
a -> ListRecommenders
s {$sel:nextToken:ListRecommenders' :: Maybe Text
nextToken = Maybe Text
a} :: ListRecommenders)
instance Core.AWSPager ListRecommenders where
page :: ListRecommenders
-> AWSResponse ListRecommenders -> Maybe ListRecommenders
page ListRecommenders
rq AWSResponse ListRecommenders
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListRecommenders
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListRecommendersResponse (Maybe Text)
listRecommendersResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListRecommenders
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListRecommendersResponse (Maybe [RecommenderSummary])
listRecommendersResponse_recommenders
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ ListRecommenders
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListRecommenders (Maybe Text)
listRecommenders_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListRecommenders
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListRecommendersResponse (Maybe Text)
listRecommendersResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest ListRecommenders where
type
AWSResponse ListRecommenders =
ListRecommendersResponse
request :: (Service -> Service)
-> ListRecommenders -> Request ListRecommenders
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 ListRecommenders
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListRecommenders)))
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 [RecommenderSummary] -> Int -> ListRecommendersResponse
ListRecommendersResponse'
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
"nextToken")
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
"recommenders" 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable ListRecommenders where
hashWithSalt :: Int -> ListRecommenders -> Int
hashWithSalt Int
_salt ListRecommenders' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
datasetGroupArn :: Maybe Text
$sel:nextToken:ListRecommenders' :: ListRecommenders -> Maybe Text
$sel:maxResults:ListRecommenders' :: ListRecommenders -> Maybe Natural
$sel:datasetGroupArn:ListRecommenders' :: ListRecommenders -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
datasetGroupArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
instance Prelude.NFData ListRecommenders where
rnf :: ListRecommenders -> ()
rnf ListRecommenders' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
datasetGroupArn :: Maybe Text
$sel:nextToken:ListRecommenders' :: ListRecommenders -> Maybe Text
$sel:maxResults:ListRecommenders' :: ListRecommenders -> Maybe Natural
$sel:datasetGroupArn:ListRecommenders' :: ListRecommenders -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetGroupArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
instance Data.ToHeaders ListRecommenders where
toHeaders :: ListRecommenders -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonPersonalize.ListRecommenders" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON ListRecommenders where
toJSON :: ListRecommenders -> Value
toJSON ListRecommenders' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
datasetGroupArn :: Maybe Text
$sel:nextToken:ListRecommenders' :: ListRecommenders -> Maybe Text
$sel:maxResults:ListRecommenders' :: ListRecommenders -> Maybe Natural
$sel:datasetGroupArn:ListRecommenders' :: ListRecommenders -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"datasetGroupArn" 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
datasetGroupArn,
(Key
"maxResults" 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
maxResults,
(Key
"nextToken" 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
nextToken
]
)
instance Data.ToPath ListRecommenders where
toPath :: ListRecommenders -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListRecommenders where
toQuery :: ListRecommenders -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListRecommendersResponse = ListRecommendersResponse'
{
ListRecommendersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListRecommendersResponse -> Maybe [RecommenderSummary]
recommenders :: Prelude.Maybe [RecommenderSummary],
ListRecommendersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListRecommendersResponse -> ListRecommendersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListRecommendersResponse -> ListRecommendersResponse -> Bool
$c/= :: ListRecommendersResponse -> ListRecommendersResponse -> Bool
== :: ListRecommendersResponse -> ListRecommendersResponse -> Bool
$c== :: ListRecommendersResponse -> ListRecommendersResponse -> Bool
Prelude.Eq, ReadPrec [ListRecommendersResponse]
ReadPrec ListRecommendersResponse
Int -> ReadS ListRecommendersResponse
ReadS [ListRecommendersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListRecommendersResponse]
$creadListPrec :: ReadPrec [ListRecommendersResponse]
readPrec :: ReadPrec ListRecommendersResponse
$creadPrec :: ReadPrec ListRecommendersResponse
readList :: ReadS [ListRecommendersResponse]
$creadList :: ReadS [ListRecommendersResponse]
readsPrec :: Int -> ReadS ListRecommendersResponse
$creadsPrec :: Int -> ReadS ListRecommendersResponse
Prelude.Read, Int -> ListRecommendersResponse -> ShowS
[ListRecommendersResponse] -> ShowS
ListRecommendersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListRecommendersResponse] -> ShowS
$cshowList :: [ListRecommendersResponse] -> ShowS
show :: ListRecommendersResponse -> String
$cshow :: ListRecommendersResponse -> String
showsPrec :: Int -> ListRecommendersResponse -> ShowS
$cshowsPrec :: Int -> ListRecommendersResponse -> ShowS
Prelude.Show, forall x.
Rep ListRecommendersResponse x -> ListRecommendersResponse
forall x.
ListRecommendersResponse -> Rep ListRecommendersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListRecommendersResponse x -> ListRecommendersResponse
$cfrom :: forall x.
ListRecommendersResponse -> Rep ListRecommendersResponse x
Prelude.Generic)
newListRecommendersResponse ::
Prelude.Int ->
ListRecommendersResponse
newListRecommendersResponse :: Int -> ListRecommendersResponse
newListRecommendersResponse Int
pHttpStatus_ =
ListRecommendersResponse'
{ $sel:nextToken:ListRecommendersResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:recommenders:ListRecommendersResponse' :: Maybe [RecommenderSummary]
recommenders = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListRecommendersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listRecommendersResponse_nextToken :: Lens.Lens' ListRecommendersResponse (Prelude.Maybe Prelude.Text)
listRecommendersResponse_nextToken :: Lens' ListRecommendersResponse (Maybe Text)
listRecommendersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommendersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListRecommendersResponse' :: ListRecommendersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListRecommendersResponse
s@ListRecommendersResponse' {} Maybe Text
a -> ListRecommendersResponse
s {$sel:nextToken:ListRecommendersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListRecommendersResponse)
listRecommendersResponse_recommenders :: Lens.Lens' ListRecommendersResponse (Prelude.Maybe [RecommenderSummary])
listRecommendersResponse_recommenders :: Lens' ListRecommendersResponse (Maybe [RecommenderSummary])
listRecommendersResponse_recommenders = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommendersResponse' {Maybe [RecommenderSummary]
recommenders :: Maybe [RecommenderSummary]
$sel:recommenders:ListRecommendersResponse' :: ListRecommendersResponse -> Maybe [RecommenderSummary]
recommenders} -> Maybe [RecommenderSummary]
recommenders) (\s :: ListRecommendersResponse
s@ListRecommendersResponse' {} Maybe [RecommenderSummary]
a -> ListRecommendersResponse
s {$sel:recommenders:ListRecommendersResponse' :: Maybe [RecommenderSummary]
recommenders = Maybe [RecommenderSummary]
a} :: ListRecommendersResponse) 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
listRecommendersResponse_httpStatus :: Lens.Lens' ListRecommendersResponse Prelude.Int
listRecommendersResponse_httpStatus :: Lens' ListRecommendersResponse Int
listRecommendersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecommendersResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListRecommendersResponse' :: ListRecommendersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListRecommendersResponse
s@ListRecommendersResponse' {} Int
a -> ListRecommendersResponse
s {$sel:httpStatus:ListRecommendersResponse' :: Int
httpStatus = Int
a} :: ListRecommendersResponse)
instance Prelude.NFData ListRecommendersResponse where
rnf :: ListRecommendersResponse -> ()
rnf ListRecommendersResponse' {Int
Maybe [RecommenderSummary]
Maybe Text
httpStatus :: Int
recommenders :: Maybe [RecommenderSummary]
nextToken :: Maybe Text
$sel:httpStatus:ListRecommendersResponse' :: ListRecommendersResponse -> Int
$sel:recommenders:ListRecommendersResponse' :: ListRecommendersResponse -> Maybe [RecommenderSummary]
$sel:nextToken:ListRecommendersResponse' :: ListRecommendersResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RecommenderSummary]
recommenders
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus