{-# 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.DescribeRecommender
(
DescribeRecommender (..),
newDescribeRecommender,
describeRecommender_recommenderArn,
DescribeRecommenderResponse (..),
newDescribeRecommenderResponse,
describeRecommenderResponse_recommender,
describeRecommenderResponse_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 DescribeRecommender = DescribeRecommender'
{
DescribeRecommender -> Text
recommenderArn :: Prelude.Text
}
deriving (DescribeRecommender -> DescribeRecommender -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRecommender -> DescribeRecommender -> Bool
$c/= :: DescribeRecommender -> DescribeRecommender -> Bool
== :: DescribeRecommender -> DescribeRecommender -> Bool
$c== :: DescribeRecommender -> DescribeRecommender -> Bool
Prelude.Eq, ReadPrec [DescribeRecommender]
ReadPrec DescribeRecommender
Int -> ReadS DescribeRecommender
ReadS [DescribeRecommender]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRecommender]
$creadListPrec :: ReadPrec [DescribeRecommender]
readPrec :: ReadPrec DescribeRecommender
$creadPrec :: ReadPrec DescribeRecommender
readList :: ReadS [DescribeRecommender]
$creadList :: ReadS [DescribeRecommender]
readsPrec :: Int -> ReadS DescribeRecommender
$creadsPrec :: Int -> ReadS DescribeRecommender
Prelude.Read, Int -> DescribeRecommender -> ShowS
[DescribeRecommender] -> ShowS
DescribeRecommender -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRecommender] -> ShowS
$cshowList :: [DescribeRecommender] -> ShowS
show :: DescribeRecommender -> String
$cshow :: DescribeRecommender -> String
showsPrec :: Int -> DescribeRecommender -> ShowS
$cshowsPrec :: Int -> DescribeRecommender -> ShowS
Prelude.Show, forall x. Rep DescribeRecommender x -> DescribeRecommender
forall x. DescribeRecommender -> Rep DescribeRecommender x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeRecommender x -> DescribeRecommender
$cfrom :: forall x. DescribeRecommender -> Rep DescribeRecommender x
Prelude.Generic)
newDescribeRecommender ::
Prelude.Text ->
DescribeRecommender
newDescribeRecommender :: Text -> DescribeRecommender
newDescribeRecommender Text
pRecommenderArn_ =
DescribeRecommender'
{ $sel:recommenderArn:DescribeRecommender' :: Text
recommenderArn =
Text
pRecommenderArn_
}
describeRecommender_recommenderArn :: Lens.Lens' DescribeRecommender Prelude.Text
describeRecommender_recommenderArn :: Lens' DescribeRecommender Text
describeRecommender_recommenderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRecommender' {Text
recommenderArn :: Text
$sel:recommenderArn:DescribeRecommender' :: DescribeRecommender -> Text
recommenderArn} -> Text
recommenderArn) (\s :: DescribeRecommender
s@DescribeRecommender' {} Text
a -> DescribeRecommender
s {$sel:recommenderArn:DescribeRecommender' :: Text
recommenderArn = Text
a} :: DescribeRecommender)
instance Core.AWSRequest DescribeRecommender where
type
AWSResponse DescribeRecommender =
DescribeRecommenderResponse
request :: (Service -> Service)
-> DescribeRecommender -> Request DescribeRecommender
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 DescribeRecommender
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeRecommender)))
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 Recommender -> Int -> DescribeRecommenderResponse
DescribeRecommenderResponse'
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
"recommender")
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 DescribeRecommender where
hashWithSalt :: Int -> DescribeRecommender -> Int
hashWithSalt Int
_salt DescribeRecommender' {Text
recommenderArn :: Text
$sel:recommenderArn:DescribeRecommender' :: DescribeRecommender -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
recommenderArn
instance Prelude.NFData DescribeRecommender where
rnf :: DescribeRecommender -> ()
rnf DescribeRecommender' {Text
recommenderArn :: Text
$sel:recommenderArn:DescribeRecommender' :: DescribeRecommender -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
recommenderArn
instance Data.ToHeaders DescribeRecommender where
toHeaders :: DescribeRecommender -> 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.DescribeRecommender" ::
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 DescribeRecommender where
toJSON :: DescribeRecommender -> Value
toJSON DescribeRecommender' {Text
recommenderArn :: Text
$sel:recommenderArn:DescribeRecommender' :: DescribeRecommender -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"recommenderArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
recommenderArn)
]
)
instance Data.ToPath DescribeRecommender where
toPath :: DescribeRecommender -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeRecommender where
toQuery :: DescribeRecommender -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeRecommenderResponse = DescribeRecommenderResponse'
{
DescribeRecommenderResponse -> Maybe Recommender
recommender :: Prelude.Maybe Recommender,
DescribeRecommenderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeRecommenderResponse -> DescribeRecommenderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRecommenderResponse -> DescribeRecommenderResponse -> Bool
$c/= :: DescribeRecommenderResponse -> DescribeRecommenderResponse -> Bool
== :: DescribeRecommenderResponse -> DescribeRecommenderResponse -> Bool
$c== :: DescribeRecommenderResponse -> DescribeRecommenderResponse -> Bool
Prelude.Eq, ReadPrec [DescribeRecommenderResponse]
ReadPrec DescribeRecommenderResponse
Int -> ReadS DescribeRecommenderResponse
ReadS [DescribeRecommenderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRecommenderResponse]
$creadListPrec :: ReadPrec [DescribeRecommenderResponse]
readPrec :: ReadPrec DescribeRecommenderResponse
$creadPrec :: ReadPrec DescribeRecommenderResponse
readList :: ReadS [DescribeRecommenderResponse]
$creadList :: ReadS [DescribeRecommenderResponse]
readsPrec :: Int -> ReadS DescribeRecommenderResponse
$creadsPrec :: Int -> ReadS DescribeRecommenderResponse
Prelude.Read, Int -> DescribeRecommenderResponse -> ShowS
[DescribeRecommenderResponse] -> ShowS
DescribeRecommenderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRecommenderResponse] -> ShowS
$cshowList :: [DescribeRecommenderResponse] -> ShowS
show :: DescribeRecommenderResponse -> String
$cshow :: DescribeRecommenderResponse -> String
showsPrec :: Int -> DescribeRecommenderResponse -> ShowS
$cshowsPrec :: Int -> DescribeRecommenderResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeRecommenderResponse x -> DescribeRecommenderResponse
forall x.
DescribeRecommenderResponse -> Rep DescribeRecommenderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeRecommenderResponse x -> DescribeRecommenderResponse
$cfrom :: forall x.
DescribeRecommenderResponse -> Rep DescribeRecommenderResponse x
Prelude.Generic)
newDescribeRecommenderResponse ::
Prelude.Int ->
DescribeRecommenderResponse
newDescribeRecommenderResponse :: Int -> DescribeRecommenderResponse
newDescribeRecommenderResponse Int
pHttpStatus_ =
DescribeRecommenderResponse'
{ $sel:recommender:DescribeRecommenderResponse' :: Maybe Recommender
recommender =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeRecommenderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeRecommenderResponse_recommender :: Lens.Lens' DescribeRecommenderResponse (Prelude.Maybe Recommender)
describeRecommenderResponse_recommender :: Lens' DescribeRecommenderResponse (Maybe Recommender)
describeRecommenderResponse_recommender = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRecommenderResponse' {Maybe Recommender
recommender :: Maybe Recommender
$sel:recommender:DescribeRecommenderResponse' :: DescribeRecommenderResponse -> Maybe Recommender
recommender} -> Maybe Recommender
recommender) (\s :: DescribeRecommenderResponse
s@DescribeRecommenderResponse' {} Maybe Recommender
a -> DescribeRecommenderResponse
s {$sel:recommender:DescribeRecommenderResponse' :: Maybe Recommender
recommender = Maybe Recommender
a} :: DescribeRecommenderResponse)
describeRecommenderResponse_httpStatus :: Lens.Lens' DescribeRecommenderResponse Prelude.Int
describeRecommenderResponse_httpStatus :: Lens' DescribeRecommenderResponse Int
describeRecommenderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRecommenderResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeRecommenderResponse' :: DescribeRecommenderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeRecommenderResponse
s@DescribeRecommenderResponse' {} Int
a -> DescribeRecommenderResponse
s {$sel:httpStatus:DescribeRecommenderResponse' :: Int
httpStatus = Int
a} :: DescribeRecommenderResponse)
instance Prelude.NFData DescribeRecommenderResponse where
rnf :: DescribeRecommenderResponse -> ()
rnf DescribeRecommenderResponse' {Int
Maybe Recommender
httpStatus :: Int
recommender :: Maybe Recommender
$sel:httpStatus:DescribeRecommenderResponse' :: DescribeRecommenderResponse -> Int
$sel:recommender:DescribeRecommenderResponse' :: DescribeRecommenderResponse -> Maybe Recommender
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Recommender
recommender
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus