{-# 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.CreateRecommender
(
CreateRecommender (..),
newCreateRecommender,
createRecommender_recommenderConfig,
createRecommender_tags,
createRecommender_name,
createRecommender_datasetGroupArn,
createRecommender_recipeArn,
CreateRecommenderResponse (..),
newCreateRecommenderResponse,
createRecommenderResponse_recommenderArn,
createRecommenderResponse_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 CreateRecommender = CreateRecommender'
{
CreateRecommender -> Maybe RecommenderConfig
recommenderConfig :: Prelude.Maybe RecommenderConfig,
CreateRecommender -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateRecommender -> Text
name :: Prelude.Text,
CreateRecommender -> Text
datasetGroupArn :: Prelude.Text,
CreateRecommender -> Text
recipeArn :: Prelude.Text
}
deriving (CreateRecommender -> CreateRecommender -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRecommender -> CreateRecommender -> Bool
$c/= :: CreateRecommender -> CreateRecommender -> Bool
== :: CreateRecommender -> CreateRecommender -> Bool
$c== :: CreateRecommender -> CreateRecommender -> Bool
Prelude.Eq, ReadPrec [CreateRecommender]
ReadPrec CreateRecommender
Int -> ReadS CreateRecommender
ReadS [CreateRecommender]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRecommender]
$creadListPrec :: ReadPrec [CreateRecommender]
readPrec :: ReadPrec CreateRecommender
$creadPrec :: ReadPrec CreateRecommender
readList :: ReadS [CreateRecommender]
$creadList :: ReadS [CreateRecommender]
readsPrec :: Int -> ReadS CreateRecommender
$creadsPrec :: Int -> ReadS CreateRecommender
Prelude.Read, Int -> CreateRecommender -> ShowS
[CreateRecommender] -> ShowS
CreateRecommender -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRecommender] -> ShowS
$cshowList :: [CreateRecommender] -> ShowS
show :: CreateRecommender -> String
$cshow :: CreateRecommender -> String
showsPrec :: Int -> CreateRecommender -> ShowS
$cshowsPrec :: Int -> CreateRecommender -> ShowS
Prelude.Show, forall x. Rep CreateRecommender x -> CreateRecommender
forall x. CreateRecommender -> Rep CreateRecommender x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateRecommender x -> CreateRecommender
$cfrom :: forall x. CreateRecommender -> Rep CreateRecommender x
Prelude.Generic)
newCreateRecommender ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
CreateRecommender
newCreateRecommender :: Text -> Text -> Text -> CreateRecommender
newCreateRecommender
Text
pName_
Text
pDatasetGroupArn_
Text
pRecipeArn_ =
CreateRecommender'
{ $sel:recommenderConfig:CreateRecommender' :: Maybe RecommenderConfig
recommenderConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateRecommender' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateRecommender' :: Text
name = Text
pName_,
$sel:datasetGroupArn:CreateRecommender' :: Text
datasetGroupArn = Text
pDatasetGroupArn_,
$sel:recipeArn:CreateRecommender' :: Text
recipeArn = Text
pRecipeArn_
}
createRecommender_recommenderConfig :: Lens.Lens' CreateRecommender (Prelude.Maybe RecommenderConfig)
createRecommender_recommenderConfig :: Lens' CreateRecommender (Maybe RecommenderConfig)
createRecommender_recommenderConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommender' {Maybe RecommenderConfig
recommenderConfig :: Maybe RecommenderConfig
$sel:recommenderConfig:CreateRecommender' :: CreateRecommender -> Maybe RecommenderConfig
recommenderConfig} -> Maybe RecommenderConfig
recommenderConfig) (\s :: CreateRecommender
s@CreateRecommender' {} Maybe RecommenderConfig
a -> CreateRecommender
s {$sel:recommenderConfig:CreateRecommender' :: Maybe RecommenderConfig
recommenderConfig = Maybe RecommenderConfig
a} :: CreateRecommender)
createRecommender_tags :: Lens.Lens' CreateRecommender (Prelude.Maybe [Tag])
createRecommender_tags :: Lens' CreateRecommender (Maybe [Tag])
createRecommender_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommender' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateRecommender' :: CreateRecommender -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateRecommender
s@CreateRecommender' {} Maybe [Tag]
a -> CreateRecommender
s {$sel:tags:CreateRecommender' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateRecommender) 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
createRecommender_name :: Lens.Lens' CreateRecommender Prelude.Text
createRecommender_name :: Lens' CreateRecommender Text
createRecommender_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommender' {Text
name :: Text
$sel:name:CreateRecommender' :: CreateRecommender -> Text
name} -> Text
name) (\s :: CreateRecommender
s@CreateRecommender' {} Text
a -> CreateRecommender
s {$sel:name:CreateRecommender' :: Text
name = Text
a} :: CreateRecommender)
createRecommender_datasetGroupArn :: Lens.Lens' CreateRecommender Prelude.Text
createRecommender_datasetGroupArn :: Lens' CreateRecommender Text
createRecommender_datasetGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommender' {Text
datasetGroupArn :: Text
$sel:datasetGroupArn:CreateRecommender' :: CreateRecommender -> Text
datasetGroupArn} -> Text
datasetGroupArn) (\s :: CreateRecommender
s@CreateRecommender' {} Text
a -> CreateRecommender
s {$sel:datasetGroupArn:CreateRecommender' :: Text
datasetGroupArn = Text
a} :: CreateRecommender)
createRecommender_recipeArn :: Lens.Lens' CreateRecommender Prelude.Text
createRecommender_recipeArn :: Lens' CreateRecommender Text
createRecommender_recipeArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommender' {Text
recipeArn :: Text
$sel:recipeArn:CreateRecommender' :: CreateRecommender -> Text
recipeArn} -> Text
recipeArn) (\s :: CreateRecommender
s@CreateRecommender' {} Text
a -> CreateRecommender
s {$sel:recipeArn:CreateRecommender' :: Text
recipeArn = Text
a} :: CreateRecommender)
instance Core.AWSRequest CreateRecommender where
type
AWSResponse CreateRecommender =
CreateRecommenderResponse
request :: (Service -> Service)
-> CreateRecommender -> Request CreateRecommender
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 CreateRecommender
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateRecommender)))
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 -> Int -> CreateRecommenderResponse
CreateRecommenderResponse'
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
"recommenderArn")
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 CreateRecommender where
hashWithSalt :: Int -> CreateRecommender -> Int
hashWithSalt Int
_salt CreateRecommender' {Maybe [Tag]
Maybe RecommenderConfig
Text
recipeArn :: Text
datasetGroupArn :: Text
name :: Text
tags :: Maybe [Tag]
recommenderConfig :: Maybe RecommenderConfig
$sel:recipeArn:CreateRecommender' :: CreateRecommender -> Text
$sel:datasetGroupArn:CreateRecommender' :: CreateRecommender -> Text
$sel:name:CreateRecommender' :: CreateRecommender -> Text
$sel:tags:CreateRecommender' :: CreateRecommender -> Maybe [Tag]
$sel:recommenderConfig:CreateRecommender' :: CreateRecommender -> Maybe RecommenderConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommenderConfig
recommenderConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetGroupArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
recipeArn
instance Prelude.NFData CreateRecommender where
rnf :: CreateRecommender -> ()
rnf CreateRecommender' {Maybe [Tag]
Maybe RecommenderConfig
Text
recipeArn :: Text
datasetGroupArn :: Text
name :: Text
tags :: Maybe [Tag]
recommenderConfig :: Maybe RecommenderConfig
$sel:recipeArn:CreateRecommender' :: CreateRecommender -> Text
$sel:datasetGroupArn:CreateRecommender' :: CreateRecommender -> Text
$sel:name:CreateRecommender' :: CreateRecommender -> Text
$sel:tags:CreateRecommender' :: CreateRecommender -> Maybe [Tag]
$sel:recommenderConfig:CreateRecommender' :: CreateRecommender -> Maybe RecommenderConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommenderConfig
recommenderConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datasetGroupArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
recipeArn
instance Data.ToHeaders CreateRecommender where
toHeaders :: CreateRecommender -> 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.CreateRecommender" ::
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 CreateRecommender where
toJSON :: CreateRecommender -> Value
toJSON CreateRecommender' {Maybe [Tag]
Maybe RecommenderConfig
Text
recipeArn :: Text
datasetGroupArn :: Text
name :: Text
tags :: Maybe [Tag]
recommenderConfig :: Maybe RecommenderConfig
$sel:recipeArn:CreateRecommender' :: CreateRecommender -> Text
$sel:datasetGroupArn:CreateRecommender' :: CreateRecommender -> Text
$sel:name:CreateRecommender' :: CreateRecommender -> Text
$sel:tags:CreateRecommender' :: CreateRecommender -> Maybe [Tag]
$sel:recommenderConfig:CreateRecommender' :: CreateRecommender -> Maybe RecommenderConfig
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"recommenderConfig" 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 RecommenderConfig
recommenderConfig,
(Key
"tags" 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 [Tag]
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just
(Key
"datasetGroupArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
datasetGroupArn),
forall a. a -> Maybe a
Prelude.Just (Key
"recipeArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
recipeArn)
]
)
instance Data.ToPath CreateRecommender where
toPath :: CreateRecommender -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateRecommender where
toQuery :: CreateRecommender -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateRecommenderResponse = CreateRecommenderResponse'
{
CreateRecommenderResponse -> Maybe Text
recommenderArn :: Prelude.Maybe Prelude.Text,
CreateRecommenderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateRecommenderResponse -> CreateRecommenderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRecommenderResponse -> CreateRecommenderResponse -> Bool
$c/= :: CreateRecommenderResponse -> CreateRecommenderResponse -> Bool
== :: CreateRecommenderResponse -> CreateRecommenderResponse -> Bool
$c== :: CreateRecommenderResponse -> CreateRecommenderResponse -> Bool
Prelude.Eq, ReadPrec [CreateRecommenderResponse]
ReadPrec CreateRecommenderResponse
Int -> ReadS CreateRecommenderResponse
ReadS [CreateRecommenderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRecommenderResponse]
$creadListPrec :: ReadPrec [CreateRecommenderResponse]
readPrec :: ReadPrec CreateRecommenderResponse
$creadPrec :: ReadPrec CreateRecommenderResponse
readList :: ReadS [CreateRecommenderResponse]
$creadList :: ReadS [CreateRecommenderResponse]
readsPrec :: Int -> ReadS CreateRecommenderResponse
$creadsPrec :: Int -> ReadS CreateRecommenderResponse
Prelude.Read, Int -> CreateRecommenderResponse -> ShowS
[CreateRecommenderResponse] -> ShowS
CreateRecommenderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRecommenderResponse] -> ShowS
$cshowList :: [CreateRecommenderResponse] -> ShowS
show :: CreateRecommenderResponse -> String
$cshow :: CreateRecommenderResponse -> String
showsPrec :: Int -> CreateRecommenderResponse -> ShowS
$cshowsPrec :: Int -> CreateRecommenderResponse -> ShowS
Prelude.Show, forall x.
Rep CreateRecommenderResponse x -> CreateRecommenderResponse
forall x.
CreateRecommenderResponse -> Rep CreateRecommenderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateRecommenderResponse x -> CreateRecommenderResponse
$cfrom :: forall x.
CreateRecommenderResponse -> Rep CreateRecommenderResponse x
Prelude.Generic)
newCreateRecommenderResponse ::
Prelude.Int ->
CreateRecommenderResponse
newCreateRecommenderResponse :: Int -> CreateRecommenderResponse
newCreateRecommenderResponse Int
pHttpStatus_ =
CreateRecommenderResponse'
{ $sel:recommenderArn:CreateRecommenderResponse' :: Maybe Text
recommenderArn =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateRecommenderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createRecommenderResponse_recommenderArn :: Lens.Lens' CreateRecommenderResponse (Prelude.Maybe Prelude.Text)
createRecommenderResponse_recommenderArn :: Lens' CreateRecommenderResponse (Maybe Text)
createRecommenderResponse_recommenderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommenderResponse' {Maybe Text
recommenderArn :: Maybe Text
$sel:recommenderArn:CreateRecommenderResponse' :: CreateRecommenderResponse -> Maybe Text
recommenderArn} -> Maybe Text
recommenderArn) (\s :: CreateRecommenderResponse
s@CreateRecommenderResponse' {} Maybe Text
a -> CreateRecommenderResponse
s {$sel:recommenderArn:CreateRecommenderResponse' :: Maybe Text
recommenderArn = Maybe Text
a} :: CreateRecommenderResponse)
createRecommenderResponse_httpStatus :: Lens.Lens' CreateRecommenderResponse Prelude.Int
createRecommenderResponse_httpStatus :: Lens' CreateRecommenderResponse Int
createRecommenderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRecommenderResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateRecommenderResponse' :: CreateRecommenderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateRecommenderResponse
s@CreateRecommenderResponse' {} Int
a -> CreateRecommenderResponse
s {$sel:httpStatus:CreateRecommenderResponse' :: Int
httpStatus = Int
a} :: CreateRecommenderResponse)
instance Prelude.NFData CreateRecommenderResponse where
rnf :: CreateRecommenderResponse -> ()
rnf CreateRecommenderResponse' {Int
Maybe Text
httpStatus :: Int
recommenderArn :: Maybe Text
$sel:httpStatus:CreateRecommenderResponse' :: CreateRecommenderResponse -> Int
$sel:recommenderArn:CreateRecommenderResponse' :: CreateRecommenderResponse -> Maybe Text
..} =
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 Int
httpStatus