{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# 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.Types.EntitiesDetectionJobProperties
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Comprehend.Types.EntitiesDetectionJobProperties where

import Amazonka.Comprehend.Types.InputDataConfig
import Amazonka.Comprehend.Types.JobStatus
import Amazonka.Comprehend.Types.LanguageCode
import Amazonka.Comprehend.Types.OutputDataConfig
import Amazonka.Comprehend.Types.VpcConfig
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

-- | Provides information about an entities detection job.
--
-- /See:/ 'newEntitiesDetectionJobProperties' smart constructor.
data EntitiesDetectionJobProperties = EntitiesDetectionJobProperties'
  { -- | The Amazon Resource Name (ARN) that gives Amazon Comprehend read access
    -- to your input data.
    EntitiesDetectionJobProperties -> Maybe Text
dataAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | The time that the entities detection job completed
    EntitiesDetectionJobProperties -> Maybe POSIX
endTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) that identifies the entity recognizer.
    EntitiesDetectionJobProperties -> Maybe Text
entityRecognizerArn :: Prelude.Maybe Prelude.Text,
    -- | The input data configuration that you supplied when you created the
    -- entities detection job.
    EntitiesDetectionJobProperties -> Maybe InputDataConfig
inputDataConfig :: Prelude.Maybe InputDataConfig,
    -- | The Amazon Resource Name (ARN) of the entities 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>:entities-detection-job\/\<job-id>@
    --
    -- The following is an example job ARN:
    --
    -- @arn:aws:comprehend:us-west-2:111122223333:entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
    EntitiesDetectionJobProperties -> Maybe Text
jobArn :: Prelude.Maybe Prelude.Text,
    -- | The identifier assigned to the entities detection job.
    EntitiesDetectionJobProperties -> Maybe Text
jobId :: Prelude.Maybe Prelude.Text,
    -- | The name that you assigned the entities detection job.
    EntitiesDetectionJobProperties -> Maybe Text
jobName :: Prelude.Maybe Prelude.Text,
    -- | The current status of the entities detection job. If the status is
    -- @FAILED@, the @Message@ field shows the reason for the failure.
    EntitiesDetectionJobProperties -> Maybe JobStatus
jobStatus :: Prelude.Maybe JobStatus,
    -- | The language code of the input documents.
    EntitiesDetectionJobProperties -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
    -- | A description of the status of a job.
    EntitiesDetectionJobProperties -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | The output data configuration that you supplied when you created the
    -- entities detection job.
    EntitiesDetectionJobProperties -> Maybe OutputDataConfig
outputDataConfig :: Prelude.Maybe OutputDataConfig,
    -- | The time that the entities detection job was submitted for processing.
    EntitiesDetectionJobProperties -> Maybe POSIX
submitTime :: Prelude.Maybe Data.POSIX,
    -- | ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
    -- uses to encrypt data on the storage volume attached to the ML compute
    -- instance(s) that process the analysis job. The VolumeKmsKeyId can be
    -- either of the following formats:
    --
    -- -   KMS Key ID: @\"1234abcd-12ab-34cd-56ef-1234567890ab\"@
    --
    -- -   Amazon Resource Name (ARN) of a KMS Key:
    --     @\"arn:aws:kms:us-west-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab\"@
    EntitiesDetectionJobProperties -> Maybe Text
volumeKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Configuration parameters for a private Virtual Private Cloud (VPC)
    -- containing the resources you are using for your entity detection job.
    -- For more information, see
    -- <https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
    EntitiesDetectionJobProperties -> Maybe VpcConfig
vpcConfig :: Prelude.Maybe VpcConfig
  }
  deriving (EntitiesDetectionJobProperties
-> EntitiesDetectionJobProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EntitiesDetectionJobProperties
-> EntitiesDetectionJobProperties -> Bool
$c/= :: EntitiesDetectionJobProperties
-> EntitiesDetectionJobProperties -> Bool
== :: EntitiesDetectionJobProperties
-> EntitiesDetectionJobProperties -> Bool
$c== :: EntitiesDetectionJobProperties
-> EntitiesDetectionJobProperties -> Bool
Prelude.Eq, ReadPrec [EntitiesDetectionJobProperties]
ReadPrec EntitiesDetectionJobProperties
Int -> ReadS EntitiesDetectionJobProperties
ReadS [EntitiesDetectionJobProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EntitiesDetectionJobProperties]
$creadListPrec :: ReadPrec [EntitiesDetectionJobProperties]
readPrec :: ReadPrec EntitiesDetectionJobProperties
$creadPrec :: ReadPrec EntitiesDetectionJobProperties
readList :: ReadS [EntitiesDetectionJobProperties]
$creadList :: ReadS [EntitiesDetectionJobProperties]
readsPrec :: Int -> ReadS EntitiesDetectionJobProperties
$creadsPrec :: Int -> ReadS EntitiesDetectionJobProperties
Prelude.Read, Int -> EntitiesDetectionJobProperties -> ShowS
[EntitiesDetectionJobProperties] -> ShowS
EntitiesDetectionJobProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EntitiesDetectionJobProperties] -> ShowS
$cshowList :: [EntitiesDetectionJobProperties] -> ShowS
show :: EntitiesDetectionJobProperties -> String
$cshow :: EntitiesDetectionJobProperties -> String
showsPrec :: Int -> EntitiesDetectionJobProperties -> ShowS
$cshowsPrec :: Int -> EntitiesDetectionJobProperties -> ShowS
Prelude.Show, forall x.
Rep EntitiesDetectionJobProperties x
-> EntitiesDetectionJobProperties
forall x.
EntitiesDetectionJobProperties
-> Rep EntitiesDetectionJobProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EntitiesDetectionJobProperties x
-> EntitiesDetectionJobProperties
$cfrom :: forall x.
EntitiesDetectionJobProperties
-> Rep EntitiesDetectionJobProperties x
Prelude.Generic)

-- |
-- Create a value of 'EntitiesDetectionJobProperties' 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:
--
-- 'dataAccessRoleArn', 'entitiesDetectionJobProperties_dataAccessRoleArn' - The Amazon Resource Name (ARN) that gives Amazon Comprehend read access
-- to your input data.
--
-- 'endTime', 'entitiesDetectionJobProperties_endTime' - The time that the entities detection job completed
--
-- 'entityRecognizerArn', 'entitiesDetectionJobProperties_entityRecognizerArn' - The Amazon Resource Name (ARN) that identifies the entity recognizer.
--
-- 'inputDataConfig', 'entitiesDetectionJobProperties_inputDataConfig' - The input data configuration that you supplied when you created the
-- entities detection job.
--
-- 'jobArn', 'entitiesDetectionJobProperties_jobArn' - The Amazon Resource Name (ARN) of the entities 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>:entities-detection-job\/\<job-id>@
--
-- The following is an example job ARN:
--
-- @arn:aws:comprehend:us-west-2:111122223333:entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
--
-- 'jobId', 'entitiesDetectionJobProperties_jobId' - The identifier assigned to the entities detection job.
--
-- 'jobName', 'entitiesDetectionJobProperties_jobName' - The name that you assigned the entities detection job.
--
-- 'jobStatus', 'entitiesDetectionJobProperties_jobStatus' - The current status of the entities detection job. If the status is
-- @FAILED@, the @Message@ field shows the reason for the failure.
--
-- 'languageCode', 'entitiesDetectionJobProperties_languageCode' - The language code of the input documents.
--
-- 'message', 'entitiesDetectionJobProperties_message' - A description of the status of a job.
--
-- 'outputDataConfig', 'entitiesDetectionJobProperties_outputDataConfig' - The output data configuration that you supplied when you created the
-- entities detection job.
--
-- 'submitTime', 'entitiesDetectionJobProperties_submitTime' - The time that the entities detection job was submitted for processing.
--
-- 'volumeKmsKeyId', 'entitiesDetectionJobProperties_volumeKmsKeyId' - ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
-- uses to encrypt data on the storage volume attached to the ML compute
-- instance(s) that process the analysis job. The VolumeKmsKeyId can be
-- either of the following formats:
--
-- -   KMS Key ID: @\"1234abcd-12ab-34cd-56ef-1234567890ab\"@
--
-- -   Amazon Resource Name (ARN) of a KMS Key:
--     @\"arn:aws:kms:us-west-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab\"@
--
-- 'vpcConfig', 'entitiesDetectionJobProperties_vpcConfig' - Configuration parameters for a private Virtual Private Cloud (VPC)
-- containing the resources you are using for your entity detection job.
-- For more information, see
-- <https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
newEntitiesDetectionJobProperties ::
  EntitiesDetectionJobProperties
newEntitiesDetectionJobProperties :: EntitiesDetectionJobProperties
newEntitiesDetectionJobProperties =
  EntitiesDetectionJobProperties'
    { $sel:dataAccessRoleArn:EntitiesDetectionJobProperties' :: Maybe Text
dataAccessRoleArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:EntitiesDetectionJobProperties' :: Maybe POSIX
endTime = forall a. Maybe a
Prelude.Nothing,
      $sel:entityRecognizerArn:EntitiesDetectionJobProperties' :: Maybe Text
entityRecognizerArn = forall a. Maybe a
Prelude.Nothing,
      $sel:inputDataConfig:EntitiesDetectionJobProperties' :: Maybe InputDataConfig
inputDataConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:jobArn:EntitiesDetectionJobProperties' :: Maybe Text
jobArn = forall a. Maybe a
Prelude.Nothing,
      $sel:jobId:EntitiesDetectionJobProperties' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
      $sel:jobName:EntitiesDetectionJobProperties' :: Maybe Text
jobName = forall a. Maybe a
Prelude.Nothing,
      $sel:jobStatus:EntitiesDetectionJobProperties' :: Maybe JobStatus
jobStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:languageCode:EntitiesDetectionJobProperties' :: Maybe LanguageCode
languageCode = forall a. Maybe a
Prelude.Nothing,
      $sel:message:EntitiesDetectionJobProperties' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
      $sel:outputDataConfig:EntitiesDetectionJobProperties' :: Maybe OutputDataConfig
outputDataConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:submitTime:EntitiesDetectionJobProperties' :: Maybe POSIX
submitTime = forall a. Maybe a
Prelude.Nothing,
      $sel:volumeKmsKeyId:EntitiesDetectionJobProperties' :: Maybe Text
volumeKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:vpcConfig:EntitiesDetectionJobProperties' :: Maybe VpcConfig
vpcConfig = forall a. Maybe a
Prelude.Nothing
    }

-- | The Amazon Resource Name (ARN) that gives Amazon Comprehend read access
-- to your input data.
entitiesDetectionJobProperties_dataAccessRoleArn :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_dataAccessRoleArn :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_dataAccessRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
dataAccessRoleArn :: Maybe Text
$sel:dataAccessRoleArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
dataAccessRoleArn} -> Maybe Text
dataAccessRoleArn) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:dataAccessRoleArn:EntitiesDetectionJobProperties' :: Maybe Text
dataAccessRoleArn = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The time that the entities detection job completed
entitiesDetectionJobProperties_endTime :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.UTCTime)
entitiesDetectionJobProperties_endTime :: Lens' EntitiesDetectionJobProperties (Maybe UTCTime)
entitiesDetectionJobProperties_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe POSIX
a -> EntitiesDetectionJobProperties
s {$sel:endTime:EntitiesDetectionJobProperties' :: Maybe POSIX
endTime = Maybe POSIX
a} :: EntitiesDetectionJobProperties) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The Amazon Resource Name (ARN) that identifies the entity recognizer.
entitiesDetectionJobProperties_entityRecognizerArn :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_entityRecognizerArn :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_entityRecognizerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
entityRecognizerArn :: Maybe Text
$sel:entityRecognizerArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
entityRecognizerArn} -> Maybe Text
entityRecognizerArn) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:entityRecognizerArn:EntitiesDetectionJobProperties' :: Maybe Text
entityRecognizerArn = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The input data configuration that you supplied when you created the
-- entities detection job.
entitiesDetectionJobProperties_inputDataConfig :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe InputDataConfig)
entitiesDetectionJobProperties_inputDataConfig :: Lens' EntitiesDetectionJobProperties (Maybe InputDataConfig)
entitiesDetectionJobProperties_inputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe InputDataConfig
inputDataConfig :: Maybe InputDataConfig
$sel:inputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe InputDataConfig
inputDataConfig} -> Maybe InputDataConfig
inputDataConfig) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe InputDataConfig
a -> EntitiesDetectionJobProperties
s {$sel:inputDataConfig:EntitiesDetectionJobProperties' :: Maybe InputDataConfig
inputDataConfig = Maybe InputDataConfig
a} :: EntitiesDetectionJobProperties)

-- | The Amazon Resource Name (ARN) of the entities 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>:entities-detection-job\/\<job-id>@
--
-- The following is an example job ARN:
--
-- @arn:aws:comprehend:us-west-2:111122223333:entities-detection-job\/1234abcd12ab34cd56ef1234567890ab@
entitiesDetectionJobProperties_jobArn :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_jobArn :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_jobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
jobArn :: Maybe Text
$sel:jobArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
jobArn} -> Maybe Text
jobArn) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:jobArn:EntitiesDetectionJobProperties' :: Maybe Text
jobArn = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The identifier assigned to the entities detection job.
entitiesDetectionJobProperties_jobId :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_jobId :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
jobId :: Maybe Text
$sel:jobId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
jobId} -> Maybe Text
jobId) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:jobId:EntitiesDetectionJobProperties' :: Maybe Text
jobId = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The name that you assigned the entities detection job.
entitiesDetectionJobProperties_jobName :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_jobName :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_jobName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
jobName :: Maybe Text
$sel:jobName:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
jobName} -> Maybe Text
jobName) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:jobName:EntitiesDetectionJobProperties' :: Maybe Text
jobName = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The current status of the entities detection job. If the status is
-- @FAILED@, the @Message@ field shows the reason for the failure.
entitiesDetectionJobProperties_jobStatus :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe JobStatus)
entitiesDetectionJobProperties_jobStatus :: Lens' EntitiesDetectionJobProperties (Maybe JobStatus)
entitiesDetectionJobProperties_jobStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe JobStatus
jobStatus :: Maybe JobStatus
$sel:jobStatus:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe JobStatus
jobStatus} -> Maybe JobStatus
jobStatus) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe JobStatus
a -> EntitiesDetectionJobProperties
s {$sel:jobStatus:EntitiesDetectionJobProperties' :: Maybe JobStatus
jobStatus = Maybe JobStatus
a} :: EntitiesDetectionJobProperties)

-- | The language code of the input documents.
entitiesDetectionJobProperties_languageCode :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe LanguageCode)
entitiesDetectionJobProperties_languageCode :: Lens' EntitiesDetectionJobProperties (Maybe LanguageCode)
entitiesDetectionJobProperties_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe LanguageCode
a -> EntitiesDetectionJobProperties
s {$sel:languageCode:EntitiesDetectionJobProperties' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: EntitiesDetectionJobProperties)

-- | A description of the status of a job.
entitiesDetectionJobProperties_message :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_message :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
message :: Maybe Text
$sel:message:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
message} -> Maybe Text
message) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:message:EntitiesDetectionJobProperties' :: Maybe Text
message = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | The output data configuration that you supplied when you created the
-- entities detection job.
entitiesDetectionJobProperties_outputDataConfig :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe OutputDataConfig)
entitiesDetectionJobProperties_outputDataConfig :: Lens' EntitiesDetectionJobProperties (Maybe OutputDataConfig)
entitiesDetectionJobProperties_outputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe OutputDataConfig
outputDataConfig :: Maybe OutputDataConfig
$sel:outputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe OutputDataConfig
outputDataConfig} -> Maybe OutputDataConfig
outputDataConfig) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe OutputDataConfig
a -> EntitiesDetectionJobProperties
s {$sel:outputDataConfig:EntitiesDetectionJobProperties' :: Maybe OutputDataConfig
outputDataConfig = Maybe OutputDataConfig
a} :: EntitiesDetectionJobProperties)

-- | The time that the entities detection job was submitted for processing.
entitiesDetectionJobProperties_submitTime :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.UTCTime)
entitiesDetectionJobProperties_submitTime :: Lens' EntitiesDetectionJobProperties (Maybe UTCTime)
entitiesDetectionJobProperties_submitTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe POSIX
submitTime :: Maybe POSIX
$sel:submitTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
submitTime} -> Maybe POSIX
submitTime) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe POSIX
a -> EntitiesDetectionJobProperties
s {$sel:submitTime:EntitiesDetectionJobProperties' :: Maybe POSIX
submitTime = Maybe POSIX
a} :: EntitiesDetectionJobProperties) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
-- uses to encrypt data on the storage volume attached to the ML compute
-- instance(s) that process the analysis job. The VolumeKmsKeyId can be
-- either of the following formats:
--
-- -   KMS Key ID: @\"1234abcd-12ab-34cd-56ef-1234567890ab\"@
--
-- -   Amazon Resource Name (ARN) of a KMS Key:
--     @\"arn:aws:kms:us-west-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab\"@
entitiesDetectionJobProperties_volumeKmsKeyId :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe Prelude.Text)
entitiesDetectionJobProperties_volumeKmsKeyId :: Lens' EntitiesDetectionJobProperties (Maybe Text)
entitiesDetectionJobProperties_volumeKmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe Text
volumeKmsKeyId :: Maybe Text
$sel:volumeKmsKeyId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
volumeKmsKeyId} -> Maybe Text
volumeKmsKeyId) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe Text
a -> EntitiesDetectionJobProperties
s {$sel:volumeKmsKeyId:EntitiesDetectionJobProperties' :: Maybe Text
volumeKmsKeyId = Maybe Text
a} :: EntitiesDetectionJobProperties)

-- | Configuration parameters for a private Virtual Private Cloud (VPC)
-- containing the resources you are using for your entity detection job.
-- For more information, see
-- <https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
entitiesDetectionJobProperties_vpcConfig :: Lens.Lens' EntitiesDetectionJobProperties (Prelude.Maybe VpcConfig)
entitiesDetectionJobProperties_vpcConfig :: Lens' EntitiesDetectionJobProperties (Maybe VpcConfig)
entitiesDetectionJobProperties_vpcConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntitiesDetectionJobProperties' {Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
$sel:vpcConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe VpcConfig
vpcConfig} -> Maybe VpcConfig
vpcConfig) (\s :: EntitiesDetectionJobProperties
s@EntitiesDetectionJobProperties' {} Maybe VpcConfig
a -> EntitiesDetectionJobProperties
s {$sel:vpcConfig:EntitiesDetectionJobProperties' :: Maybe VpcConfig
vpcConfig = Maybe VpcConfig
a} :: EntitiesDetectionJobProperties)

instance Data.FromJSON EntitiesDetectionJobProperties where
  parseJSON :: Value -> Parser EntitiesDetectionJobProperties
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"EntitiesDetectionJobProperties"
      ( \Object
x ->
          Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe InputDataConfig
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JobStatus
-> Maybe LanguageCode
-> Maybe Text
-> Maybe OutputDataConfig
-> Maybe POSIX
-> Maybe Text
-> Maybe VpcConfig
-> EntitiesDetectionJobProperties
EntitiesDetectionJobProperties'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DataAccessRoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EndTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EntityRecognizerArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InputDataConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (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 -> Parser (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 -> Parser (Maybe a)
Data..:? Key
"JobName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"JobStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LanguageCode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Message")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"OutputDataConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SubmitTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"VolumeKmsKeyId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"VpcConfig")
      )

instance
  Prelude.Hashable
    EntitiesDetectionJobProperties
  where
  hashWithSalt :: Int -> EntitiesDetectionJobProperties -> Int
hashWithSalt
    Int
_salt
    EntitiesDetectionJobProperties' {Maybe Text
Maybe POSIX
Maybe InputDataConfig
Maybe JobStatus
Maybe LanguageCode
Maybe OutputDataConfig
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
volumeKmsKeyId :: Maybe Text
submitTime :: Maybe POSIX
outputDataConfig :: Maybe OutputDataConfig
message :: Maybe Text
languageCode :: Maybe LanguageCode
jobStatus :: Maybe JobStatus
jobName :: Maybe Text
jobId :: Maybe Text
jobArn :: Maybe Text
inputDataConfig :: Maybe InputDataConfig
entityRecognizerArn :: Maybe Text
endTime :: Maybe POSIX
dataAccessRoleArn :: Maybe Text
$sel:vpcConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe VpcConfig
$sel:volumeKmsKeyId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:submitTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
$sel:outputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe OutputDataConfig
$sel:message:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:languageCode:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe LanguageCode
$sel:jobStatus:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe JobStatus
$sel:jobName:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:jobId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:jobArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:inputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe InputDataConfig
$sel:entityRecognizerArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:endTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
$sel:dataAccessRoleArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dataAccessRoleArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
endTime
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
entityRecognizerArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InputDataConfig
inputDataConfig
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe JobStatus
jobStatus
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LanguageCode
languageCode
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
message
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OutputDataConfig
outputDataConfig
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
submitTime
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
volumeKmsKeyId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VpcConfig
vpcConfig

instance
  Prelude.NFData
    EntitiesDetectionJobProperties
  where
  rnf :: EntitiesDetectionJobProperties -> ()
rnf EntitiesDetectionJobProperties' {Maybe Text
Maybe POSIX
Maybe InputDataConfig
Maybe JobStatus
Maybe LanguageCode
Maybe OutputDataConfig
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
volumeKmsKeyId :: Maybe Text
submitTime :: Maybe POSIX
outputDataConfig :: Maybe OutputDataConfig
message :: Maybe Text
languageCode :: Maybe LanguageCode
jobStatus :: Maybe JobStatus
jobName :: Maybe Text
jobId :: Maybe Text
jobArn :: Maybe Text
inputDataConfig :: Maybe InputDataConfig
entityRecognizerArn :: Maybe Text
endTime :: Maybe POSIX
dataAccessRoleArn :: Maybe Text
$sel:vpcConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe VpcConfig
$sel:volumeKmsKeyId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:submitTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
$sel:outputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe OutputDataConfig
$sel:message:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:languageCode:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe LanguageCode
$sel:jobStatus:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe JobStatus
$sel:jobName:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:jobId:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:jobArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:inputDataConfig:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe InputDataConfig
$sel:entityRecognizerArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
$sel:endTime:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe POSIX
$sel:dataAccessRoleArn:EntitiesDetectionJobProperties' :: EntitiesDetectionJobProperties -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
dataAccessRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
endTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
entityRecognizerArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InputDataConfig
inputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
jobName
      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 Maybe LanguageCode
languageCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
message
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OutputDataConfig
outputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
submitTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
volumeKmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VpcConfig
vpcConfig