{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Comprehend.StartPiiEntitiesDetectionJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Starts an asynchronous PII entity detection job for a collection of
-- documents.
module Amazonka.Comprehend.StartPiiEntitiesDetectionJob
  ( -- * Creating a Request
    StartPiiEntitiesDetectionJob (..),
    newStartPiiEntitiesDetectionJob,

    -- * Request Lenses
    startPiiEntitiesDetectionJob_clientRequestToken,
    startPiiEntitiesDetectionJob_jobName,
    startPiiEntitiesDetectionJob_redactionConfig,
    startPiiEntitiesDetectionJob_tags,
    startPiiEntitiesDetectionJob_inputDataConfig,
    startPiiEntitiesDetectionJob_outputDataConfig,
    startPiiEntitiesDetectionJob_mode,
    startPiiEntitiesDetectionJob_dataAccessRoleArn,
    startPiiEntitiesDetectionJob_languageCode,

    -- * Destructuring the Response
    StartPiiEntitiesDetectionJobResponse (..),
    newStartPiiEntitiesDetectionJobResponse,

    -- * Response Lenses
    startPiiEntitiesDetectionJobResponse_jobArn,
    startPiiEntitiesDetectionJobResponse_jobId,
    startPiiEntitiesDetectionJobResponse_jobStatus,
    startPiiEntitiesDetectionJobResponse_httpStatus,
  )
where

import Amazonka.Comprehend.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newStartPiiEntitiesDetectionJob' smart constructor.
data StartPiiEntitiesDetectionJob = StartPiiEntitiesDetectionJob'
  { -- | A unique identifier for the request. If you don\'t set the client
    -- request token, Amazon Comprehend generates one.
    StartPiiEntitiesDetectionJob -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
    -- | The identifier of the job.
    StartPiiEntitiesDetectionJob -> Maybe Text
jobName :: Prelude.Maybe Prelude.Text,
    -- | Provides configuration parameters for PII entity redaction.
    --
    -- This parameter is required if you set the @Mode@ parameter to
    -- @ONLY_REDACTION@. In that case, you must provide a @RedactionConfig@
    -- definition that includes the @PiiEntityTypes@ parameter.
    StartPiiEntitiesDetectionJob -> Maybe RedactionConfig
redactionConfig :: Prelude.Maybe RedactionConfig,
    -- | Tags to be associated with the PII entities detection job. A tag is a
    -- key-value pair that adds metadata to a resource used by Amazon
    -- Comprehend. For example, a tag with \"Sales\" as the key might be added
    -- to a resource to indicate its use by the sales department.
    StartPiiEntitiesDetectionJob -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The input properties for a PII entities detection job.
    StartPiiEntitiesDetectionJob -> InputDataConfig
inputDataConfig :: InputDataConfig,
    -- | Provides configuration parameters for the output of PII entity detection
    -- jobs.
    StartPiiEntitiesDetectionJob -> OutputDataConfig
outputDataConfig :: OutputDataConfig,
    -- | Specifies whether the output provides the locations (offsets) of PII
    -- entities or a file in which PII entities are redacted.
    StartPiiEntitiesDetectionJob -> PiiEntitiesDetectionMode
mode :: PiiEntitiesDetectionMode,
    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management
    -- (IAM) role that grants Amazon Comprehend read access to your input data.
    StartPiiEntitiesDetectionJob -> Text
dataAccessRoleArn :: Prelude.Text,
    -- | The language of the input documents. Currently, English is the only
    -- valid language.
    StartPiiEntitiesDetectionJob -> LanguageCode
languageCode :: LanguageCode
  }
  deriving (StartPiiEntitiesDetectionJob
-> StartPiiEntitiesDetectionJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartPiiEntitiesDetectionJob
-> StartPiiEntitiesDetectionJob -> Bool
$c/= :: StartPiiEntitiesDetectionJob
-> StartPiiEntitiesDetectionJob -> Bool
== :: StartPiiEntitiesDetectionJob
-> StartPiiEntitiesDetectionJob -> Bool
$c== :: StartPiiEntitiesDetectionJob
-> StartPiiEntitiesDetectionJob -> Bool
Prelude.Eq, ReadPrec [StartPiiEntitiesDetectionJob]
ReadPrec StartPiiEntitiesDetectionJob
Int -> ReadS StartPiiEntitiesDetectionJob
ReadS [StartPiiEntitiesDetectionJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartPiiEntitiesDetectionJob]
$creadListPrec :: ReadPrec [StartPiiEntitiesDetectionJob]
readPrec :: ReadPrec StartPiiEntitiesDetectionJob
$creadPrec :: ReadPrec StartPiiEntitiesDetectionJob
readList :: ReadS [StartPiiEntitiesDetectionJob]
$creadList :: ReadS [StartPiiEntitiesDetectionJob]
readsPrec :: Int -> ReadS StartPiiEntitiesDetectionJob
$creadsPrec :: Int -> ReadS StartPiiEntitiesDetectionJob
Prelude.Read, Int -> StartPiiEntitiesDetectionJob -> ShowS
[StartPiiEntitiesDetectionJob] -> ShowS
StartPiiEntitiesDetectionJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartPiiEntitiesDetectionJob] -> ShowS
$cshowList :: [StartPiiEntitiesDetectionJob] -> ShowS
show :: StartPiiEntitiesDetectionJob -> String
$cshow :: StartPiiEntitiesDetectionJob -> String
showsPrec :: Int -> StartPiiEntitiesDetectionJob -> ShowS
$cshowsPrec :: Int -> StartPiiEntitiesDetectionJob -> ShowS
Prelude.Show, forall x.
Rep StartPiiEntitiesDetectionJob x -> StartPiiEntitiesDetectionJob
forall x.
StartPiiEntitiesDetectionJob -> Rep StartPiiEntitiesDetectionJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartPiiEntitiesDetectionJob x -> StartPiiEntitiesDetectionJob
$cfrom :: forall x.
StartPiiEntitiesDetectionJob -> Rep StartPiiEntitiesDetectionJob x
Prelude.Generic)

-- |
-- Create a value of 'StartPiiEntitiesDetectionJob' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'clientRequestToken', 'startPiiEntitiesDetectionJob_clientRequestToken' - A unique identifier for the request. If you don\'t set the client
-- request token, Amazon Comprehend generates one.
--
-- 'jobName', 'startPiiEntitiesDetectionJob_jobName' - The identifier of the job.
--
-- 'redactionConfig', 'startPiiEntitiesDetectionJob_redactionConfig' - Provides configuration parameters for PII entity redaction.
--
-- This parameter is required if you set the @Mode@ parameter to
-- @ONLY_REDACTION@. In that case, you must provide a @RedactionConfig@
-- definition that includes the @PiiEntityTypes@ parameter.
--
-- 'tags', 'startPiiEntitiesDetectionJob_tags' - Tags to be associated with the PII entities detection job. A tag is a
-- key-value pair that adds metadata to a resource used by Amazon
-- Comprehend. For example, a tag with \"Sales\" as the key might be added
-- to a resource to indicate its use by the sales department.
--
-- 'inputDataConfig', 'startPiiEntitiesDetectionJob_inputDataConfig' - The input properties for a PII entities detection job.
--
-- 'outputDataConfig', 'startPiiEntitiesDetectionJob_outputDataConfig' - Provides configuration parameters for the output of PII entity detection
-- jobs.
--
-- 'mode', 'startPiiEntitiesDetectionJob_mode' - Specifies whether the output provides the locations (offsets) of PII
-- entities or a file in which PII entities are redacted.
--
-- 'dataAccessRoleArn', 'startPiiEntitiesDetectionJob_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management
-- (IAM) role that grants Amazon Comprehend read access to your input data.
--
-- 'languageCode', 'startPiiEntitiesDetectionJob_languageCode' - The language of the input documents. Currently, English is the only
-- valid language.
newStartPiiEntitiesDetectionJob ::
  -- | 'inputDataConfig'
  InputDataConfig ->
  -- | 'outputDataConfig'
  OutputDataConfig ->
  -- | 'mode'
  PiiEntitiesDetectionMode ->
  -- | 'dataAccessRoleArn'
  Prelude.Text ->
  -- | 'languageCode'
  LanguageCode ->
  StartPiiEntitiesDetectionJob
newStartPiiEntitiesDetectionJob :: InputDataConfig
-> OutputDataConfig
-> PiiEntitiesDetectionMode
-> Text
-> LanguageCode
-> StartPiiEntitiesDetectionJob
newStartPiiEntitiesDetectionJob
  InputDataConfig
pInputDataConfig_
  OutputDataConfig
pOutputDataConfig_
  PiiEntitiesDetectionMode
pMode_
  Text
pDataAccessRoleArn_
  LanguageCode
pLanguageCode_ =
    StartPiiEntitiesDetectionJob'
      { $sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: Maybe Text
clientRequestToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:jobName:StartPiiEntitiesDetectionJob' :: Maybe Text
jobName = forall a. Maybe a
Prelude.Nothing,
        $sel:redactionConfig:StartPiiEntitiesDetectionJob' :: Maybe RedactionConfig
redactionConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:StartPiiEntitiesDetectionJob' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: InputDataConfig
inputDataConfig = InputDataConfig
pInputDataConfig_,
        $sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: OutputDataConfig
outputDataConfig = OutputDataConfig
pOutputDataConfig_,
        $sel:mode:StartPiiEntitiesDetectionJob' :: PiiEntitiesDetectionMode
mode = PiiEntitiesDetectionMode
pMode_,
        $sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: Text
dataAccessRoleArn = Text
pDataAccessRoleArn_,
        $sel:languageCode:StartPiiEntitiesDetectionJob' :: LanguageCode
languageCode = LanguageCode
pLanguageCode_
      }

-- | A unique identifier for the request. If you don\'t set the client
-- request token, Amazon Comprehend generates one.
startPiiEntitiesDetectionJob_clientRequestToken :: Lens.Lens' StartPiiEntitiesDetectionJob (Prelude.Maybe Prelude.Text)
startPiiEntitiesDetectionJob_clientRequestToken :: Lens' StartPiiEntitiesDetectionJob (Maybe Text)
startPiiEntitiesDetectionJob_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} Maybe Text
a -> StartPiiEntitiesDetectionJob
s {$sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: Maybe Text
clientRequestToken = Maybe Text
a} :: StartPiiEntitiesDetectionJob)

-- | The identifier of the job.
startPiiEntitiesDetectionJob_jobName :: Lens.Lens' StartPiiEntitiesDetectionJob (Prelude.Maybe Prelude.Text)
startPiiEntitiesDetectionJob_jobName :: Lens' StartPiiEntitiesDetectionJob (Maybe Text)
startPiiEntitiesDetectionJob_jobName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {Maybe Text
jobName :: Maybe Text
$sel:jobName:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
jobName} -> Maybe Text
jobName) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} Maybe Text
a -> StartPiiEntitiesDetectionJob
s {$sel:jobName:StartPiiEntitiesDetectionJob' :: Maybe Text
jobName = Maybe Text
a} :: StartPiiEntitiesDetectionJob)

-- | Provides configuration parameters for PII entity redaction.
--
-- This parameter is required if you set the @Mode@ parameter to
-- @ONLY_REDACTION@. In that case, you must provide a @RedactionConfig@
-- definition that includes the @PiiEntityTypes@ parameter.
startPiiEntitiesDetectionJob_redactionConfig :: Lens.Lens' StartPiiEntitiesDetectionJob (Prelude.Maybe RedactionConfig)
startPiiEntitiesDetectionJob_redactionConfig :: Lens' StartPiiEntitiesDetectionJob (Maybe RedactionConfig)
startPiiEntitiesDetectionJob_redactionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {Maybe RedactionConfig
redactionConfig :: Maybe RedactionConfig
$sel:redactionConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe RedactionConfig
redactionConfig} -> Maybe RedactionConfig
redactionConfig) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} Maybe RedactionConfig
a -> StartPiiEntitiesDetectionJob
s {$sel:redactionConfig:StartPiiEntitiesDetectionJob' :: Maybe RedactionConfig
redactionConfig = Maybe RedactionConfig
a} :: StartPiiEntitiesDetectionJob)

-- | Tags to be associated with the PII entities detection job. A tag is a
-- key-value pair that adds metadata to a resource used by Amazon
-- Comprehend. For example, a tag with \"Sales\" as the key might be added
-- to a resource to indicate its use by the sales department.
startPiiEntitiesDetectionJob_tags :: Lens.Lens' StartPiiEntitiesDetectionJob (Prelude.Maybe [Tag])
startPiiEntitiesDetectionJob_tags :: Lens' StartPiiEntitiesDetectionJob (Maybe [Tag])
startPiiEntitiesDetectionJob_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} Maybe [Tag]
a -> StartPiiEntitiesDetectionJob
s {$sel:tags:StartPiiEntitiesDetectionJob' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: StartPiiEntitiesDetectionJob) 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

-- | The input properties for a PII entities detection job.
startPiiEntitiesDetectionJob_inputDataConfig :: Lens.Lens' StartPiiEntitiesDetectionJob InputDataConfig
startPiiEntitiesDetectionJob_inputDataConfig :: Lens' StartPiiEntitiesDetectionJob InputDataConfig
startPiiEntitiesDetectionJob_inputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {InputDataConfig
inputDataConfig :: InputDataConfig
$sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> InputDataConfig
inputDataConfig} -> InputDataConfig
inputDataConfig) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} InputDataConfig
a -> StartPiiEntitiesDetectionJob
s {$sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: InputDataConfig
inputDataConfig = InputDataConfig
a} :: StartPiiEntitiesDetectionJob)

-- | Provides configuration parameters for the output of PII entity detection
-- jobs.
startPiiEntitiesDetectionJob_outputDataConfig :: Lens.Lens' StartPiiEntitiesDetectionJob OutputDataConfig
startPiiEntitiesDetectionJob_outputDataConfig :: Lens' StartPiiEntitiesDetectionJob OutputDataConfig
startPiiEntitiesDetectionJob_outputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {OutputDataConfig
outputDataConfig :: OutputDataConfig
$sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> OutputDataConfig
outputDataConfig} -> OutputDataConfig
outputDataConfig) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} OutputDataConfig
a -> StartPiiEntitiesDetectionJob
s {$sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: OutputDataConfig
outputDataConfig = OutputDataConfig
a} :: StartPiiEntitiesDetectionJob)

-- | Specifies whether the output provides the locations (offsets) of PII
-- entities or a file in which PII entities are redacted.
startPiiEntitiesDetectionJob_mode :: Lens.Lens' StartPiiEntitiesDetectionJob PiiEntitiesDetectionMode
startPiiEntitiesDetectionJob_mode :: Lens' StartPiiEntitiesDetectionJob PiiEntitiesDetectionMode
startPiiEntitiesDetectionJob_mode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {PiiEntitiesDetectionMode
mode :: PiiEntitiesDetectionMode
$sel:mode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> PiiEntitiesDetectionMode
mode} -> PiiEntitiesDetectionMode
mode) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} PiiEntitiesDetectionMode
a -> StartPiiEntitiesDetectionJob
s {$sel:mode:StartPiiEntitiesDetectionJob' :: PiiEntitiesDetectionMode
mode = PiiEntitiesDetectionMode
a} :: StartPiiEntitiesDetectionJob)

-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management
-- (IAM) role that grants Amazon Comprehend read access to your input data.
startPiiEntitiesDetectionJob_dataAccessRoleArn :: Lens.Lens' StartPiiEntitiesDetectionJob Prelude.Text
startPiiEntitiesDetectionJob_dataAccessRoleArn :: Lens' StartPiiEntitiesDetectionJob Text
startPiiEntitiesDetectionJob_dataAccessRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {Text
dataAccessRoleArn :: Text
$sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Text
dataAccessRoleArn} -> Text
dataAccessRoleArn) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} Text
a -> StartPiiEntitiesDetectionJob
s {$sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: Text
dataAccessRoleArn = Text
a} :: StartPiiEntitiesDetectionJob)

-- | The language of the input documents. Currently, English is the only
-- valid language.
startPiiEntitiesDetectionJob_languageCode :: Lens.Lens' StartPiiEntitiesDetectionJob LanguageCode
startPiiEntitiesDetectionJob_languageCode :: Lens' StartPiiEntitiesDetectionJob LanguageCode
startPiiEntitiesDetectionJob_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJob' {LanguageCode
languageCode :: LanguageCode
$sel:languageCode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> LanguageCode
languageCode} -> LanguageCode
languageCode) (\s :: StartPiiEntitiesDetectionJob
s@StartPiiEntitiesDetectionJob' {} LanguageCode
a -> StartPiiEntitiesDetectionJob
s {$sel:languageCode:StartPiiEntitiesDetectionJob' :: LanguageCode
languageCode = LanguageCode
a} :: StartPiiEntitiesDetectionJob)

instance Core.AWSRequest StartPiiEntitiesDetectionJob where
  type
    AWSResponse StartPiiEntitiesDetectionJob =
      StartPiiEntitiesDetectionJobResponse
  request :: (Service -> Service)
-> StartPiiEntitiesDetectionJob
-> Request StartPiiEntitiesDetectionJob
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 StartPiiEntitiesDetectionJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse StartPiiEntitiesDetectionJob)))
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 Text
-> Maybe JobStatus
-> Int
-> StartPiiEntitiesDetectionJobResponse
StartPiiEntitiesDetectionJobResponse'
            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
"JobArn")
            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
"JobId")
            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
"JobStatus")
            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
    StartPiiEntitiesDetectionJob
  where
  hashWithSalt :: Int -> StartPiiEntitiesDetectionJob -> Int
hashWithSalt Int
_salt StartPiiEntitiesDetectionJob' {Maybe [Tag]
Maybe Text
Maybe RedactionConfig
Text
InputDataConfig
LanguageCode
OutputDataConfig
PiiEntitiesDetectionMode
languageCode :: LanguageCode
dataAccessRoleArn :: Text
mode :: PiiEntitiesDetectionMode
outputDataConfig :: OutputDataConfig
inputDataConfig :: InputDataConfig
tags :: Maybe [Tag]
redactionConfig :: Maybe RedactionConfig
jobName :: Maybe Text
clientRequestToken :: Maybe Text
$sel:languageCode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> LanguageCode
$sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Text
$sel:mode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> PiiEntitiesDetectionMode
$sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> OutputDataConfig
$sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> InputDataConfig
$sel:tags:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe [Tag]
$sel:redactionConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe RedactionConfig
$sel:jobName:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
$sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedactionConfig
redactionConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InputDataConfig
inputDataConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` OutputDataConfig
outputDataConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PiiEntitiesDetectionMode
mode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
dataAccessRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` LanguageCode
languageCode

instance Prelude.NFData StartPiiEntitiesDetectionJob where
  rnf :: StartPiiEntitiesDetectionJob -> ()
rnf StartPiiEntitiesDetectionJob' {Maybe [Tag]
Maybe Text
Maybe RedactionConfig
Text
InputDataConfig
LanguageCode
OutputDataConfig
PiiEntitiesDetectionMode
languageCode :: LanguageCode
dataAccessRoleArn :: Text
mode :: PiiEntitiesDetectionMode
outputDataConfig :: OutputDataConfig
inputDataConfig :: InputDataConfig
tags :: Maybe [Tag]
redactionConfig :: Maybe RedactionConfig
jobName :: Maybe Text
clientRequestToken :: Maybe Text
$sel:languageCode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> LanguageCode
$sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Text
$sel:mode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> PiiEntitiesDetectionMode
$sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> OutputDataConfig
$sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> InputDataConfig
$sel:tags:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe [Tag]
$sel:redactionConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe RedactionConfig
$sel:jobName:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
$sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RedactionConfig
redactionConfig
      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 InputDataConfig
inputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf OutputDataConfig
outputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PiiEntitiesDetectionMode
mode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
dataAccessRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf LanguageCode
languageCode

instance Data.ToHeaders StartPiiEntitiesDetectionJob where
  toHeaders :: StartPiiEntitiesDetectionJob -> 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
"Comprehend_20171127.StartPiiEntitiesDetectionJob" ::
                          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 StartPiiEntitiesDetectionJob where
  toJSON :: StartPiiEntitiesDetectionJob -> Value
toJSON StartPiiEntitiesDetectionJob' {Maybe [Tag]
Maybe Text
Maybe RedactionConfig
Text
InputDataConfig
LanguageCode
OutputDataConfig
PiiEntitiesDetectionMode
languageCode :: LanguageCode
dataAccessRoleArn :: Text
mode :: PiiEntitiesDetectionMode
outputDataConfig :: OutputDataConfig
inputDataConfig :: InputDataConfig
tags :: Maybe [Tag]
redactionConfig :: Maybe RedactionConfig
jobName :: Maybe Text
clientRequestToken :: Maybe Text
$sel:languageCode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> LanguageCode
$sel:dataAccessRoleArn:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Text
$sel:mode:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> PiiEntitiesDetectionMode
$sel:outputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> OutputDataConfig
$sel:inputDataConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> InputDataConfig
$sel:tags:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe [Tag]
$sel:redactionConfig:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe RedactionConfig
$sel:jobName:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
$sel:clientRequestToken:StartPiiEntitiesDetectionJob' :: StartPiiEntitiesDetectionJob -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ClientRequestToken" 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
clientRequestToken,
            (Key
"JobName" 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
jobName,
            (Key
"RedactionConfig" 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 RedactionConfig
redactionConfig,
            (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
"InputDataConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= InputDataConfig
inputDataConfig),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"OutputDataConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= OutputDataConfig
outputDataConfig),
            forall a. a -> Maybe a
Prelude.Just (Key
"Mode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PiiEntitiesDetectionMode
mode),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"DataAccessRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
dataAccessRoleArn),
            forall a. a -> Maybe a
Prelude.Just (Key
"LanguageCode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= LanguageCode
languageCode)
          ]
      )

instance Data.ToPath StartPiiEntitiesDetectionJob where
  toPath :: StartPiiEntitiesDetectionJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery StartPiiEntitiesDetectionJob where
  toQuery :: StartPiiEntitiesDetectionJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newStartPiiEntitiesDetectionJobResponse' smart constructor.
data StartPiiEntitiesDetectionJobResponse = StartPiiEntitiesDetectionJobResponse'
  { -- | The Amazon Resource Name (ARN) of the PII entity detection job. It is a
    -- unique, fully qualified identifier for the job. It includes the AWS
    -- account, Region, and the job ID. The format of the ARN is as follows:
    --
    -- @arn:\<partition>:comprehend:\<region>:\<account-id>:pii-entities-detection-job\/\<job-id>@
    --
    -- The following is an example job ARN:
    --
    -- @arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
    StartPiiEntitiesDetectionJobResponse -> Maybe Text
jobArn :: Prelude.Maybe Prelude.Text,
    -- | The identifier generated for the job.
    StartPiiEntitiesDetectionJobResponse -> Maybe Text
jobId :: Prelude.Maybe Prelude.Text,
    -- | The status of the job.
    StartPiiEntitiesDetectionJobResponse -> Maybe JobStatus
jobStatus :: Prelude.Maybe JobStatus,
    -- | The response's http status code.
    StartPiiEntitiesDetectionJobResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (StartPiiEntitiesDetectionJobResponse
-> StartPiiEntitiesDetectionJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartPiiEntitiesDetectionJobResponse
-> StartPiiEntitiesDetectionJobResponse -> Bool
$c/= :: StartPiiEntitiesDetectionJobResponse
-> StartPiiEntitiesDetectionJobResponse -> Bool
== :: StartPiiEntitiesDetectionJobResponse
-> StartPiiEntitiesDetectionJobResponse -> Bool
$c== :: StartPiiEntitiesDetectionJobResponse
-> StartPiiEntitiesDetectionJobResponse -> Bool
Prelude.Eq, ReadPrec [StartPiiEntitiesDetectionJobResponse]
ReadPrec StartPiiEntitiesDetectionJobResponse
Int -> ReadS StartPiiEntitiesDetectionJobResponse
ReadS [StartPiiEntitiesDetectionJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartPiiEntitiesDetectionJobResponse]
$creadListPrec :: ReadPrec [StartPiiEntitiesDetectionJobResponse]
readPrec :: ReadPrec StartPiiEntitiesDetectionJobResponse
$creadPrec :: ReadPrec StartPiiEntitiesDetectionJobResponse
readList :: ReadS [StartPiiEntitiesDetectionJobResponse]
$creadList :: ReadS [StartPiiEntitiesDetectionJobResponse]
readsPrec :: Int -> ReadS StartPiiEntitiesDetectionJobResponse
$creadsPrec :: Int -> ReadS StartPiiEntitiesDetectionJobResponse
Prelude.Read, Int -> StartPiiEntitiesDetectionJobResponse -> ShowS
[StartPiiEntitiesDetectionJobResponse] -> ShowS
StartPiiEntitiesDetectionJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartPiiEntitiesDetectionJobResponse] -> ShowS
$cshowList :: [StartPiiEntitiesDetectionJobResponse] -> ShowS
show :: StartPiiEntitiesDetectionJobResponse -> String
$cshow :: StartPiiEntitiesDetectionJobResponse -> String
showsPrec :: Int -> StartPiiEntitiesDetectionJobResponse -> ShowS
$cshowsPrec :: Int -> StartPiiEntitiesDetectionJobResponse -> ShowS
Prelude.Show, forall x.
Rep StartPiiEntitiesDetectionJobResponse x
-> StartPiiEntitiesDetectionJobResponse
forall x.
StartPiiEntitiesDetectionJobResponse
-> Rep StartPiiEntitiesDetectionJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartPiiEntitiesDetectionJobResponse x
-> StartPiiEntitiesDetectionJobResponse
$cfrom :: forall x.
StartPiiEntitiesDetectionJobResponse
-> Rep StartPiiEntitiesDetectionJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartPiiEntitiesDetectionJobResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'jobArn', 'startPiiEntitiesDetectionJobResponse_jobArn' - The Amazon Resource Name (ARN) of the PII entity detection job. It is a
-- unique, fully qualified identifier for the job. It includes the AWS
-- account, Region, and the job ID. The format of the ARN is as follows:
--
-- @arn:\<partition>:comprehend:\<region>:\<account-id>:pii-entities-detection-job\/\<job-id>@
--
-- The following is an example job ARN:
--
-- @arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
--
-- 'jobId', 'startPiiEntitiesDetectionJobResponse_jobId' - The identifier generated for the job.
--
-- 'jobStatus', 'startPiiEntitiesDetectionJobResponse_jobStatus' - The status of the job.
--
-- 'httpStatus', 'startPiiEntitiesDetectionJobResponse_httpStatus' - The response's http status code.
newStartPiiEntitiesDetectionJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  StartPiiEntitiesDetectionJobResponse
newStartPiiEntitiesDetectionJobResponse :: Int -> StartPiiEntitiesDetectionJobResponse
newStartPiiEntitiesDetectionJobResponse Int
pHttpStatus_ =
  StartPiiEntitiesDetectionJobResponse'
    { $sel:jobArn:StartPiiEntitiesDetectionJobResponse' :: Maybe Text
jobArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:jobId:StartPiiEntitiesDetectionJobResponse' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
      $sel:jobStatus:StartPiiEntitiesDetectionJobResponse' :: Maybe JobStatus
jobStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:StartPiiEntitiesDetectionJobResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the PII entity detection job. It is a
-- unique, fully qualified identifier for the job. It includes the AWS
-- account, Region, and the job ID. The format of the ARN is as follows:
--
-- @arn:\<partition>:comprehend:\<region>:\<account-id>:pii-entities-detection-job\/\<job-id>@
--
-- The following is an example job ARN:
--
-- @arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
startPiiEntitiesDetectionJobResponse_jobArn :: Lens.Lens' StartPiiEntitiesDetectionJobResponse (Prelude.Maybe Prelude.Text)
startPiiEntitiesDetectionJobResponse_jobArn :: Lens' StartPiiEntitiesDetectionJobResponse (Maybe Text)
startPiiEntitiesDetectionJobResponse_jobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJobResponse' {Maybe Text
jobArn :: Maybe Text
$sel:jobArn:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe Text
jobArn} -> Maybe Text
jobArn) (\s :: StartPiiEntitiesDetectionJobResponse
s@StartPiiEntitiesDetectionJobResponse' {} Maybe Text
a -> StartPiiEntitiesDetectionJobResponse
s {$sel:jobArn:StartPiiEntitiesDetectionJobResponse' :: Maybe Text
jobArn = Maybe Text
a} :: StartPiiEntitiesDetectionJobResponse)

-- | The identifier generated for the job.
startPiiEntitiesDetectionJobResponse_jobId :: Lens.Lens' StartPiiEntitiesDetectionJobResponse (Prelude.Maybe Prelude.Text)
startPiiEntitiesDetectionJobResponse_jobId :: Lens' StartPiiEntitiesDetectionJobResponse (Maybe Text)
startPiiEntitiesDetectionJobResponse_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJobResponse' {Maybe Text
jobId :: Maybe Text
$sel:jobId:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe Text
jobId} -> Maybe Text
jobId) (\s :: StartPiiEntitiesDetectionJobResponse
s@StartPiiEntitiesDetectionJobResponse' {} Maybe Text
a -> StartPiiEntitiesDetectionJobResponse
s {$sel:jobId:StartPiiEntitiesDetectionJobResponse' :: Maybe Text
jobId = Maybe Text
a} :: StartPiiEntitiesDetectionJobResponse)

-- | The status of the job.
startPiiEntitiesDetectionJobResponse_jobStatus :: Lens.Lens' StartPiiEntitiesDetectionJobResponse (Prelude.Maybe JobStatus)
startPiiEntitiesDetectionJobResponse_jobStatus :: Lens' StartPiiEntitiesDetectionJobResponse (Maybe JobStatus)
startPiiEntitiesDetectionJobResponse_jobStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJobResponse' {Maybe JobStatus
jobStatus :: Maybe JobStatus
$sel:jobStatus:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe JobStatus
jobStatus} -> Maybe JobStatus
jobStatus) (\s :: StartPiiEntitiesDetectionJobResponse
s@StartPiiEntitiesDetectionJobResponse' {} Maybe JobStatus
a -> StartPiiEntitiesDetectionJobResponse
s {$sel:jobStatus:StartPiiEntitiesDetectionJobResponse' :: Maybe JobStatus
jobStatus = Maybe JobStatus
a} :: StartPiiEntitiesDetectionJobResponse)

-- | The response's http status code.
startPiiEntitiesDetectionJobResponse_httpStatus :: Lens.Lens' StartPiiEntitiesDetectionJobResponse Prelude.Int
startPiiEntitiesDetectionJobResponse_httpStatus :: Lens' StartPiiEntitiesDetectionJobResponse Int
startPiiEntitiesDetectionJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartPiiEntitiesDetectionJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartPiiEntitiesDetectionJobResponse
s@StartPiiEntitiesDetectionJobResponse' {} Int
a -> StartPiiEntitiesDetectionJobResponse
s {$sel:httpStatus:StartPiiEntitiesDetectionJobResponse' :: Int
httpStatus = Int
a} :: StartPiiEntitiesDetectionJobResponse)

instance
  Prelude.NFData
    StartPiiEntitiesDetectionJobResponse
  where
  rnf :: StartPiiEntitiesDetectionJobResponse -> ()
rnf StartPiiEntitiesDetectionJobResponse' {Int
Maybe Text
Maybe JobStatus
httpStatus :: Int
jobStatus :: Maybe JobStatus
jobId :: Maybe Text
jobArn :: Maybe Text
$sel:httpStatus:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Int
$sel:jobStatus:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe JobStatus
$sel:jobId:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe Text
$sel:jobArn:StartPiiEntitiesDetectionJobResponse' :: StartPiiEntitiesDetectionJobResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe JobStatus
jobStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus