{-# 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.BatchDeleteDocument
(
BatchDeleteDocument (..),
newBatchDeleteDocument,
batchDeleteDocument_dataSourceSyncJobMetricTarget,
batchDeleteDocument_indexId,
batchDeleteDocument_documentIdList,
BatchDeleteDocumentResponse (..),
newBatchDeleteDocumentResponse,
batchDeleteDocumentResponse_failedDocuments,
batchDeleteDocumentResponse_httpStatus,
)
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 BatchDeleteDocument = BatchDeleteDocument'
{ BatchDeleteDocument -> Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget :: Prelude.Maybe DataSourceSyncJobMetricTarget,
BatchDeleteDocument -> Text
indexId :: Prelude.Text,
BatchDeleteDocument -> NonEmpty Text
documentIdList :: Prelude.NonEmpty Prelude.Text
}
deriving (BatchDeleteDocument -> BatchDeleteDocument -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchDeleteDocument -> BatchDeleteDocument -> Bool
$c/= :: BatchDeleteDocument -> BatchDeleteDocument -> Bool
== :: BatchDeleteDocument -> BatchDeleteDocument -> Bool
$c== :: BatchDeleteDocument -> BatchDeleteDocument -> Bool
Prelude.Eq, ReadPrec [BatchDeleteDocument]
ReadPrec BatchDeleteDocument
Int -> ReadS BatchDeleteDocument
ReadS [BatchDeleteDocument]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchDeleteDocument]
$creadListPrec :: ReadPrec [BatchDeleteDocument]
readPrec :: ReadPrec BatchDeleteDocument
$creadPrec :: ReadPrec BatchDeleteDocument
readList :: ReadS [BatchDeleteDocument]
$creadList :: ReadS [BatchDeleteDocument]
readsPrec :: Int -> ReadS BatchDeleteDocument
$creadsPrec :: Int -> ReadS BatchDeleteDocument
Prelude.Read, Int -> BatchDeleteDocument -> ShowS
[BatchDeleteDocument] -> ShowS
BatchDeleteDocument -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchDeleteDocument] -> ShowS
$cshowList :: [BatchDeleteDocument] -> ShowS
show :: BatchDeleteDocument -> String
$cshow :: BatchDeleteDocument -> String
showsPrec :: Int -> BatchDeleteDocument -> ShowS
$cshowsPrec :: Int -> BatchDeleteDocument -> ShowS
Prelude.Show, forall x. Rep BatchDeleteDocument x -> BatchDeleteDocument
forall x. BatchDeleteDocument -> Rep BatchDeleteDocument x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BatchDeleteDocument x -> BatchDeleteDocument
$cfrom :: forall x. BatchDeleteDocument -> Rep BatchDeleteDocument x
Prelude.Generic)
newBatchDeleteDocument ::
Prelude.Text ->
Prelude.NonEmpty Prelude.Text ->
BatchDeleteDocument
newBatchDeleteDocument :: Text -> NonEmpty Text -> BatchDeleteDocument
newBatchDeleteDocument Text
pIndexId_ NonEmpty Text
pDocumentIdList_ =
BatchDeleteDocument'
{ $sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget =
forall a. Maybe a
Prelude.Nothing,
$sel:indexId:BatchDeleteDocument' :: Text
indexId = Text
pIndexId_,
$sel:documentIdList:BatchDeleteDocument' :: NonEmpty Text
documentIdList =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pDocumentIdList_
}
batchDeleteDocument_dataSourceSyncJobMetricTarget :: Lens.Lens' BatchDeleteDocument (Prelude.Maybe DataSourceSyncJobMetricTarget)
batchDeleteDocument_dataSourceSyncJobMetricTarget :: Lens' BatchDeleteDocument (Maybe DataSourceSyncJobMetricTarget)
batchDeleteDocument_dataSourceSyncJobMetricTarget = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchDeleteDocument' {Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget :: Maybe DataSourceSyncJobMetricTarget
$sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: BatchDeleteDocument -> Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget} -> Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget) (\s :: BatchDeleteDocument
s@BatchDeleteDocument' {} Maybe DataSourceSyncJobMetricTarget
a -> BatchDeleteDocument
s {$sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget = Maybe DataSourceSyncJobMetricTarget
a} :: BatchDeleteDocument)
batchDeleteDocument_indexId :: Lens.Lens' BatchDeleteDocument Prelude.Text
batchDeleteDocument_indexId :: Lens' BatchDeleteDocument Text
batchDeleteDocument_indexId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchDeleteDocument' {Text
indexId :: Text
$sel:indexId:BatchDeleteDocument' :: BatchDeleteDocument -> Text
indexId} -> Text
indexId) (\s :: BatchDeleteDocument
s@BatchDeleteDocument' {} Text
a -> BatchDeleteDocument
s {$sel:indexId:BatchDeleteDocument' :: Text
indexId = Text
a} :: BatchDeleteDocument)
batchDeleteDocument_documentIdList :: Lens.Lens' BatchDeleteDocument (Prelude.NonEmpty Prelude.Text)
batchDeleteDocument_documentIdList :: Lens' BatchDeleteDocument (NonEmpty Text)
batchDeleteDocument_documentIdList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchDeleteDocument' {NonEmpty Text
documentIdList :: NonEmpty Text
$sel:documentIdList:BatchDeleteDocument' :: BatchDeleteDocument -> NonEmpty Text
documentIdList} -> NonEmpty Text
documentIdList) (\s :: BatchDeleteDocument
s@BatchDeleteDocument' {} NonEmpty Text
a -> BatchDeleteDocument
s {$sel:documentIdList:BatchDeleteDocument' :: NonEmpty Text
documentIdList = NonEmpty Text
a} :: BatchDeleteDocument) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest BatchDeleteDocument where
type
AWSResponse BatchDeleteDocument =
BatchDeleteDocumentResponse
request :: (Service -> Service)
-> BatchDeleteDocument -> Request BatchDeleteDocument
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 BatchDeleteDocument
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse BatchDeleteDocument)))
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 [BatchDeleteDocumentResponseFailedDocument]
-> Int -> BatchDeleteDocumentResponse
BatchDeleteDocumentResponse'
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
"FailedDocuments"
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 BatchDeleteDocument where
hashWithSalt :: Int -> BatchDeleteDocument -> Int
hashWithSalt Int
_salt BatchDeleteDocument' {Maybe DataSourceSyncJobMetricTarget
NonEmpty Text
Text
documentIdList :: NonEmpty Text
indexId :: Text
dataSourceSyncJobMetricTarget :: Maybe DataSourceSyncJobMetricTarget
$sel:documentIdList:BatchDeleteDocument' :: BatchDeleteDocument -> NonEmpty Text
$sel:indexId:BatchDeleteDocument' :: BatchDeleteDocument -> Text
$sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: BatchDeleteDocument -> Maybe DataSourceSyncJobMetricTarget
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
indexId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
documentIdList
instance Prelude.NFData BatchDeleteDocument where
rnf :: BatchDeleteDocument -> ()
rnf BatchDeleteDocument' {Maybe DataSourceSyncJobMetricTarget
NonEmpty Text
Text
documentIdList :: NonEmpty Text
indexId :: Text
dataSourceSyncJobMetricTarget :: Maybe DataSourceSyncJobMetricTarget
$sel:documentIdList:BatchDeleteDocument' :: BatchDeleteDocument -> NonEmpty Text
$sel:indexId:BatchDeleteDocument' :: BatchDeleteDocument -> Text
$sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: BatchDeleteDocument -> Maybe DataSourceSyncJobMetricTarget
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget
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 NonEmpty Text
documentIdList
instance Data.ToHeaders BatchDeleteDocument where
toHeaders :: BatchDeleteDocument -> 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
"AWSKendraFrontendService.BatchDeleteDocument" ::
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 BatchDeleteDocument where
toJSON :: BatchDeleteDocument -> Value
toJSON BatchDeleteDocument' {Maybe DataSourceSyncJobMetricTarget
NonEmpty Text
Text
documentIdList :: NonEmpty Text
indexId :: Text
dataSourceSyncJobMetricTarget :: Maybe DataSourceSyncJobMetricTarget
$sel:documentIdList:BatchDeleteDocument' :: BatchDeleteDocument -> NonEmpty Text
$sel:indexId:BatchDeleteDocument' :: BatchDeleteDocument -> Text
$sel:dataSourceSyncJobMetricTarget:BatchDeleteDocument' :: BatchDeleteDocument -> Maybe DataSourceSyncJobMetricTarget
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DataSourceSyncJobMetricTarget" 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 DataSourceSyncJobMetricTarget
dataSourceSyncJobMetricTarget,
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
"DocumentIdList" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
documentIdList)
]
)
instance Data.ToPath BatchDeleteDocument where
toPath :: BatchDeleteDocument -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery BatchDeleteDocument where
toQuery :: BatchDeleteDocument -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data BatchDeleteDocumentResponse = BatchDeleteDocumentResponse'
{
BatchDeleteDocumentResponse
-> Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments :: Prelude.Maybe [BatchDeleteDocumentResponseFailedDocument],
BatchDeleteDocumentResponse -> Int
httpStatus :: Prelude.Int
}
deriving (BatchDeleteDocumentResponse -> BatchDeleteDocumentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchDeleteDocumentResponse -> BatchDeleteDocumentResponse -> Bool
$c/= :: BatchDeleteDocumentResponse -> BatchDeleteDocumentResponse -> Bool
== :: BatchDeleteDocumentResponse -> BatchDeleteDocumentResponse -> Bool
$c== :: BatchDeleteDocumentResponse -> BatchDeleteDocumentResponse -> Bool
Prelude.Eq, ReadPrec [BatchDeleteDocumentResponse]
ReadPrec BatchDeleteDocumentResponse
Int -> ReadS BatchDeleteDocumentResponse
ReadS [BatchDeleteDocumentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchDeleteDocumentResponse]
$creadListPrec :: ReadPrec [BatchDeleteDocumentResponse]
readPrec :: ReadPrec BatchDeleteDocumentResponse
$creadPrec :: ReadPrec BatchDeleteDocumentResponse
readList :: ReadS [BatchDeleteDocumentResponse]
$creadList :: ReadS [BatchDeleteDocumentResponse]
readsPrec :: Int -> ReadS BatchDeleteDocumentResponse
$creadsPrec :: Int -> ReadS BatchDeleteDocumentResponse
Prelude.Read, Int -> BatchDeleteDocumentResponse -> ShowS
[BatchDeleteDocumentResponse] -> ShowS
BatchDeleteDocumentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchDeleteDocumentResponse] -> ShowS
$cshowList :: [BatchDeleteDocumentResponse] -> ShowS
show :: BatchDeleteDocumentResponse -> String
$cshow :: BatchDeleteDocumentResponse -> String
showsPrec :: Int -> BatchDeleteDocumentResponse -> ShowS
$cshowsPrec :: Int -> BatchDeleteDocumentResponse -> ShowS
Prelude.Show, forall x.
Rep BatchDeleteDocumentResponse x -> BatchDeleteDocumentResponse
forall x.
BatchDeleteDocumentResponse -> Rep BatchDeleteDocumentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BatchDeleteDocumentResponse x -> BatchDeleteDocumentResponse
$cfrom :: forall x.
BatchDeleteDocumentResponse -> Rep BatchDeleteDocumentResponse x
Prelude.Generic)
newBatchDeleteDocumentResponse ::
Prelude.Int ->
BatchDeleteDocumentResponse
newBatchDeleteDocumentResponse :: Int -> BatchDeleteDocumentResponse
newBatchDeleteDocumentResponse Int
pHttpStatus_ =
BatchDeleteDocumentResponse'
{ $sel:failedDocuments:BatchDeleteDocumentResponse' :: Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:BatchDeleteDocumentResponse' :: Int
httpStatus = Int
pHttpStatus_
}
batchDeleteDocumentResponse_failedDocuments :: Lens.Lens' BatchDeleteDocumentResponse (Prelude.Maybe [BatchDeleteDocumentResponseFailedDocument])
batchDeleteDocumentResponse_failedDocuments :: Lens'
BatchDeleteDocumentResponse
(Maybe [BatchDeleteDocumentResponseFailedDocument])
batchDeleteDocumentResponse_failedDocuments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchDeleteDocumentResponse' {Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments :: Maybe [BatchDeleteDocumentResponseFailedDocument]
$sel:failedDocuments:BatchDeleteDocumentResponse' :: BatchDeleteDocumentResponse
-> Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments} -> Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments) (\s :: BatchDeleteDocumentResponse
s@BatchDeleteDocumentResponse' {} Maybe [BatchDeleteDocumentResponseFailedDocument]
a -> BatchDeleteDocumentResponse
s {$sel:failedDocuments:BatchDeleteDocumentResponse' :: Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments = Maybe [BatchDeleteDocumentResponseFailedDocument]
a} :: BatchDeleteDocumentResponse) 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
batchDeleteDocumentResponse_httpStatus :: Lens.Lens' BatchDeleteDocumentResponse Prelude.Int
batchDeleteDocumentResponse_httpStatus :: Lens' BatchDeleteDocumentResponse Int
batchDeleteDocumentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchDeleteDocumentResponse' {Int
httpStatus :: Int
$sel:httpStatus:BatchDeleteDocumentResponse' :: BatchDeleteDocumentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: BatchDeleteDocumentResponse
s@BatchDeleteDocumentResponse' {} Int
a -> BatchDeleteDocumentResponse
s {$sel:httpStatus:BatchDeleteDocumentResponse' :: Int
httpStatus = Int
a} :: BatchDeleteDocumentResponse)
instance Prelude.NFData BatchDeleteDocumentResponse where
rnf :: BatchDeleteDocumentResponse -> ()
rnf BatchDeleteDocumentResponse' {Int
Maybe [BatchDeleteDocumentResponseFailedDocument]
httpStatus :: Int
failedDocuments :: Maybe [BatchDeleteDocumentResponseFailedDocument]
$sel:httpStatus:BatchDeleteDocumentResponse' :: BatchDeleteDocumentResponse -> Int
$sel:failedDocuments:BatchDeleteDocumentResponse' :: BatchDeleteDocumentResponse
-> Maybe [BatchDeleteDocumentResponseFailedDocument]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [BatchDeleteDocumentResponseFailedDocument]
failedDocuments
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus