{-# 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.Kendra.SubmitFeedback
(
SubmitFeedback (..),
newSubmitFeedback,
submitFeedback_clickFeedbackItems,
submitFeedback_relevanceFeedbackItems,
submitFeedback_indexId,
submitFeedback_queryId,
SubmitFeedbackResponse (..),
newSubmitFeedbackResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kendra.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data SubmitFeedback = SubmitFeedback'
{
SubmitFeedback -> Maybe [ClickFeedback]
clickFeedbackItems :: Prelude.Maybe [ClickFeedback],
SubmitFeedback -> Maybe [RelevanceFeedback]
relevanceFeedbackItems :: Prelude.Maybe [RelevanceFeedback],
SubmitFeedback -> Text
indexId :: Prelude.Text,
SubmitFeedback -> Text
queryId :: Prelude.Text
}
deriving (SubmitFeedback -> SubmitFeedback -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubmitFeedback -> SubmitFeedback -> Bool
$c/= :: SubmitFeedback -> SubmitFeedback -> Bool
== :: SubmitFeedback -> SubmitFeedback -> Bool
$c== :: SubmitFeedback -> SubmitFeedback -> Bool
Prelude.Eq, ReadPrec [SubmitFeedback]
ReadPrec SubmitFeedback
Int -> ReadS SubmitFeedback
ReadS [SubmitFeedback]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SubmitFeedback]
$creadListPrec :: ReadPrec [SubmitFeedback]
readPrec :: ReadPrec SubmitFeedback
$creadPrec :: ReadPrec SubmitFeedback
readList :: ReadS [SubmitFeedback]
$creadList :: ReadS [SubmitFeedback]
readsPrec :: Int -> ReadS SubmitFeedback
$creadsPrec :: Int -> ReadS SubmitFeedback
Prelude.Read, Int -> SubmitFeedback -> ShowS
[SubmitFeedback] -> ShowS
SubmitFeedback -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubmitFeedback] -> ShowS
$cshowList :: [SubmitFeedback] -> ShowS
show :: SubmitFeedback -> String
$cshow :: SubmitFeedback -> String
showsPrec :: Int -> SubmitFeedback -> ShowS
$cshowsPrec :: Int -> SubmitFeedback -> ShowS
Prelude.Show, forall x. Rep SubmitFeedback x -> SubmitFeedback
forall x. SubmitFeedback -> Rep SubmitFeedback x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SubmitFeedback x -> SubmitFeedback
$cfrom :: forall x. SubmitFeedback -> Rep SubmitFeedback x
Prelude.Generic)
newSubmitFeedback ::
Prelude.Text ->
Prelude.Text ->
SubmitFeedback
newSubmitFeedback :: Text -> Text -> SubmitFeedback
newSubmitFeedback Text
pIndexId_ Text
pQueryId_ =
SubmitFeedback'
{ $sel:clickFeedbackItems:SubmitFeedback' :: Maybe [ClickFeedback]
clickFeedbackItems =
forall a. Maybe a
Prelude.Nothing,
$sel:relevanceFeedbackItems:SubmitFeedback' :: Maybe [RelevanceFeedback]
relevanceFeedbackItems = forall a. Maybe a
Prelude.Nothing,
$sel:indexId:SubmitFeedback' :: Text
indexId = Text
pIndexId_,
$sel:queryId:SubmitFeedback' :: Text
queryId = Text
pQueryId_
}
submitFeedback_clickFeedbackItems :: Lens.Lens' SubmitFeedback (Prelude.Maybe [ClickFeedback])
submitFeedback_clickFeedbackItems :: Lens' SubmitFeedback (Maybe [ClickFeedback])
submitFeedback_clickFeedbackItems = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubmitFeedback' {Maybe [ClickFeedback]
clickFeedbackItems :: Maybe [ClickFeedback]
$sel:clickFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [ClickFeedback]
clickFeedbackItems} -> Maybe [ClickFeedback]
clickFeedbackItems) (\s :: SubmitFeedback
s@SubmitFeedback' {} Maybe [ClickFeedback]
a -> SubmitFeedback
s {$sel:clickFeedbackItems:SubmitFeedback' :: Maybe [ClickFeedback]
clickFeedbackItems = Maybe [ClickFeedback]
a} :: SubmitFeedback) 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
submitFeedback_relevanceFeedbackItems :: Lens.Lens' SubmitFeedback (Prelude.Maybe [RelevanceFeedback])
submitFeedback_relevanceFeedbackItems :: Lens' SubmitFeedback (Maybe [RelevanceFeedback])
submitFeedback_relevanceFeedbackItems = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubmitFeedback' {Maybe [RelevanceFeedback]
relevanceFeedbackItems :: Maybe [RelevanceFeedback]
$sel:relevanceFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [RelevanceFeedback]
relevanceFeedbackItems} -> Maybe [RelevanceFeedback]
relevanceFeedbackItems) (\s :: SubmitFeedback
s@SubmitFeedback' {} Maybe [RelevanceFeedback]
a -> SubmitFeedback
s {$sel:relevanceFeedbackItems:SubmitFeedback' :: Maybe [RelevanceFeedback]
relevanceFeedbackItems = Maybe [RelevanceFeedback]
a} :: SubmitFeedback) 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
submitFeedback_indexId :: Lens.Lens' SubmitFeedback Prelude.Text
submitFeedback_indexId :: Lens' SubmitFeedback Text
submitFeedback_indexId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubmitFeedback' {Text
indexId :: Text
$sel:indexId:SubmitFeedback' :: SubmitFeedback -> Text
indexId} -> Text
indexId) (\s :: SubmitFeedback
s@SubmitFeedback' {} Text
a -> SubmitFeedback
s {$sel:indexId:SubmitFeedback' :: Text
indexId = Text
a} :: SubmitFeedback)
submitFeedback_queryId :: Lens.Lens' SubmitFeedback Prelude.Text
submitFeedback_queryId :: Lens' SubmitFeedback Text
submitFeedback_queryId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubmitFeedback' {Text
queryId :: Text
$sel:queryId:SubmitFeedback' :: SubmitFeedback -> Text
queryId} -> Text
queryId) (\s :: SubmitFeedback
s@SubmitFeedback' {} Text
a -> SubmitFeedback
s {$sel:queryId:SubmitFeedback' :: Text
queryId = Text
a} :: SubmitFeedback)
instance Core.AWSRequest SubmitFeedback where
type
AWSResponse SubmitFeedback =
SubmitFeedbackResponse
request :: (Service -> Service) -> SubmitFeedback -> Request SubmitFeedback
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 SubmitFeedback
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse SubmitFeedback)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull SubmitFeedbackResponse
SubmitFeedbackResponse'
instance Prelude.Hashable SubmitFeedback where
hashWithSalt :: Int -> SubmitFeedback -> Int
hashWithSalt Int
_salt SubmitFeedback' {Maybe [ClickFeedback]
Maybe [RelevanceFeedback]
Text
queryId :: Text
indexId :: Text
relevanceFeedbackItems :: Maybe [RelevanceFeedback]
clickFeedbackItems :: Maybe [ClickFeedback]
$sel:queryId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:indexId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:relevanceFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [RelevanceFeedback]
$sel:clickFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [ClickFeedback]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ClickFeedback]
clickFeedbackItems
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [RelevanceFeedback]
relevanceFeedbackItems
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
indexId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
queryId
instance Prelude.NFData SubmitFeedback where
rnf :: SubmitFeedback -> ()
rnf SubmitFeedback' {Maybe [ClickFeedback]
Maybe [RelevanceFeedback]
Text
queryId :: Text
indexId :: Text
relevanceFeedbackItems :: Maybe [RelevanceFeedback]
clickFeedbackItems :: Maybe [ClickFeedback]
$sel:queryId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:indexId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:relevanceFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [RelevanceFeedback]
$sel:clickFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [ClickFeedback]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [ClickFeedback]
clickFeedbackItems
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RelevanceFeedback]
relevanceFeedbackItems
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
indexId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
queryId
instance Data.ToHeaders SubmitFeedback where
toHeaders :: SubmitFeedback -> [Header]
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 -> [Header]
Data.=# ( ByteString
"AWSKendraFrontendService.SubmitFeedback" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON SubmitFeedback where
toJSON :: SubmitFeedback -> Value
toJSON SubmitFeedback' {Maybe [ClickFeedback]
Maybe [RelevanceFeedback]
Text
queryId :: Text
indexId :: Text
relevanceFeedbackItems :: Maybe [RelevanceFeedback]
clickFeedbackItems :: Maybe [ClickFeedback]
$sel:queryId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:indexId:SubmitFeedback' :: SubmitFeedback -> Text
$sel:relevanceFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [RelevanceFeedback]
$sel:clickFeedbackItems:SubmitFeedback' :: SubmitFeedback -> Maybe [ClickFeedback]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClickFeedbackItems" 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 [ClickFeedback]
clickFeedbackItems,
(Key
"RelevanceFeedbackItems" 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 [RelevanceFeedback]
relevanceFeedbackItems,
forall a. a -> Maybe a
Prelude.Just (Key
"IndexId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
indexId),
forall a. a -> Maybe a
Prelude.Just (Key
"QueryId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
queryId)
]
)
instance Data.ToPath SubmitFeedback where
toPath :: SubmitFeedback -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery SubmitFeedback where
toQuery :: SubmitFeedback -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SubmitFeedbackResponse = SubmitFeedbackResponse'
{
}
deriving (SubmitFeedbackResponse -> SubmitFeedbackResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubmitFeedbackResponse -> SubmitFeedbackResponse -> Bool
$c/= :: SubmitFeedbackResponse -> SubmitFeedbackResponse -> Bool
== :: SubmitFeedbackResponse -> SubmitFeedbackResponse -> Bool
$c== :: SubmitFeedbackResponse -> SubmitFeedbackResponse -> Bool
Prelude.Eq, ReadPrec [SubmitFeedbackResponse]
ReadPrec SubmitFeedbackResponse
Int -> ReadS SubmitFeedbackResponse
ReadS [SubmitFeedbackResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SubmitFeedbackResponse]
$creadListPrec :: ReadPrec [SubmitFeedbackResponse]
readPrec :: ReadPrec SubmitFeedbackResponse
$creadPrec :: ReadPrec SubmitFeedbackResponse
readList :: ReadS [SubmitFeedbackResponse]
$creadList :: ReadS [SubmitFeedbackResponse]
readsPrec :: Int -> ReadS SubmitFeedbackResponse
$creadsPrec :: Int -> ReadS SubmitFeedbackResponse
Prelude.Read, Int -> SubmitFeedbackResponse -> ShowS
[SubmitFeedbackResponse] -> ShowS
SubmitFeedbackResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubmitFeedbackResponse] -> ShowS
$cshowList :: [SubmitFeedbackResponse] -> ShowS
show :: SubmitFeedbackResponse -> String
$cshow :: SubmitFeedbackResponse -> String
showsPrec :: Int -> SubmitFeedbackResponse -> ShowS
$cshowsPrec :: Int -> SubmitFeedbackResponse -> ShowS
Prelude.Show, forall x. Rep SubmitFeedbackResponse x -> SubmitFeedbackResponse
forall x. SubmitFeedbackResponse -> Rep SubmitFeedbackResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SubmitFeedbackResponse x -> SubmitFeedbackResponse
$cfrom :: forall x. SubmitFeedbackResponse -> Rep SubmitFeedbackResponse x
Prelude.Generic)
newSubmitFeedbackResponse ::
SubmitFeedbackResponse
newSubmitFeedbackResponse :: SubmitFeedbackResponse
newSubmitFeedbackResponse = SubmitFeedbackResponse
SubmitFeedbackResponse'
instance Prelude.NFData SubmitFeedbackResponse where
rnf :: SubmitFeedbackResponse -> ()
rnf SubmitFeedbackResponse
_ = ()