{-# 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.EntityRecognizerProperties
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Comprehend.Types.EntityRecognizerProperties where

import Amazonka.Comprehend.Types.EntityRecognizerInputDataConfig
import Amazonka.Comprehend.Types.EntityRecognizerMetadata
import Amazonka.Comprehend.Types.LanguageCode
import Amazonka.Comprehend.Types.ModelStatus
import Amazonka.Comprehend.Types.VpcConfig
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | Describes information about an entity recognizer.
--
-- /See:/ 'newEntityRecognizerProperties' smart constructor.
data EntityRecognizerProperties = EntityRecognizerProperties'
  { -- | Provides the status of the entity recognizer.
    EntityRecognizerProperties -> Maybe ModelStatus
status :: Prelude.Maybe ModelStatus,
    -- | The language of the input documents. All documents must be in the same
    -- language. Only English (\"en\") is currently supported.
    EntityRecognizerProperties -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
    -- | The time that training of the entity recognizer was completed.
    EntityRecognizerProperties -> Maybe POSIX
trainingEndTime :: Prelude.Maybe Core.POSIX,
    -- | The version name you assigned to the entity recognizer.
    EntityRecognizerProperties -> Maybe Text
versionName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) that identifies the entity recognizer.
    EntityRecognizerProperties -> Maybe Text
entityRecognizerArn :: Prelude.Maybe Prelude.Text,
    -- | ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
    -- uses to encrypt trained custom models. The ModelKmsKeyId 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\"@
    EntityRecognizerProperties -> Maybe Text
modelKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The input data properties of an entity recognizer.
    EntityRecognizerProperties -> Maybe EntityRecognizerInputDataConfig
inputDataConfig :: Prelude.Maybe EntityRecognizerInputDataConfig,
    -- | Configuration parameters for a private Virtual Private Cloud (VPC)
    -- containing the resources you are using for your custom entity
    -- recognizer. For more information, see
    -- <https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
    EntityRecognizerProperties -> Maybe VpcConfig
vpcConfig :: Prelude.Maybe VpcConfig,
    -- | 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\"@
    EntityRecognizerProperties -> Maybe Text
volumeKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The time that the recognizer creation completed.
    EntityRecognizerProperties -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | The time that training of the entity recognizer started.
    EntityRecognizerProperties -> Maybe POSIX
trainingStartTime :: Prelude.Maybe Core.POSIX,
    -- | The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM)
    -- role that grants Amazon Comprehend read access to your input data.
    EntityRecognizerProperties -> Maybe Text
dataAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | Provides information about an entity recognizer.
    EntityRecognizerProperties
-> Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata :: Prelude.Maybe (Core.Sensitive EntityRecognizerMetadata),
    -- | A description of the status of the recognizer.
    EntityRecognizerProperties -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | The time that the recognizer was submitted for processing.
    EntityRecognizerProperties -> Maybe POSIX
submitTime :: Prelude.Maybe Core.POSIX
  }
  deriving (EntityRecognizerProperties -> EntityRecognizerProperties -> Bool
(EntityRecognizerProperties -> EntityRecognizerProperties -> Bool)
-> (EntityRecognizerProperties
    -> EntityRecognizerProperties -> Bool)
-> Eq EntityRecognizerProperties
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EntityRecognizerProperties -> EntityRecognizerProperties -> Bool
$c/= :: EntityRecognizerProperties -> EntityRecognizerProperties -> Bool
== :: EntityRecognizerProperties -> EntityRecognizerProperties -> Bool
$c== :: EntityRecognizerProperties -> EntityRecognizerProperties -> Bool
Prelude.Eq, Int -> EntityRecognizerProperties -> ShowS
[EntityRecognizerProperties] -> ShowS
EntityRecognizerProperties -> String
(Int -> EntityRecognizerProperties -> ShowS)
-> (EntityRecognizerProperties -> String)
-> ([EntityRecognizerProperties] -> ShowS)
-> Show EntityRecognizerProperties
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EntityRecognizerProperties] -> ShowS
$cshowList :: [EntityRecognizerProperties] -> ShowS
show :: EntityRecognizerProperties -> String
$cshow :: EntityRecognizerProperties -> String
showsPrec :: Int -> EntityRecognizerProperties -> ShowS
$cshowsPrec :: Int -> EntityRecognizerProperties -> ShowS
Prelude.Show, (forall x.
 EntityRecognizerProperties -> Rep EntityRecognizerProperties x)
-> (forall x.
    Rep EntityRecognizerProperties x -> EntityRecognizerProperties)
-> Generic EntityRecognizerProperties
forall x.
Rep EntityRecognizerProperties x -> EntityRecognizerProperties
forall x.
EntityRecognizerProperties -> Rep EntityRecognizerProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EntityRecognizerProperties x -> EntityRecognizerProperties
$cfrom :: forall x.
EntityRecognizerProperties -> Rep EntityRecognizerProperties x
Prelude.Generic)

-- |
-- Create a value of 'EntityRecognizerProperties' 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:
--
-- 'status', 'entityRecognizerProperties_status' - Provides the status of the entity recognizer.
--
-- 'languageCode', 'entityRecognizerProperties_languageCode' - The language of the input documents. All documents must be in the same
-- language. Only English (\"en\") is currently supported.
--
-- 'trainingEndTime', 'entityRecognizerProperties_trainingEndTime' - The time that training of the entity recognizer was completed.
--
-- 'versionName', 'entityRecognizerProperties_versionName' - The version name you assigned to the entity recognizer.
--
-- 'entityRecognizerArn', 'entityRecognizerProperties_entityRecognizerArn' - The Amazon Resource Name (ARN) that identifies the entity recognizer.
--
-- 'modelKmsKeyId', 'entityRecognizerProperties_modelKmsKeyId' - ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
-- uses to encrypt trained custom models. The ModelKmsKeyId 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\"@
--
-- 'inputDataConfig', 'entityRecognizerProperties_inputDataConfig' - The input data properties of an entity recognizer.
--
-- 'vpcConfig', 'entityRecognizerProperties_vpcConfig' - Configuration parameters for a private Virtual Private Cloud (VPC)
-- containing the resources you are using for your custom entity
-- recognizer. For more information, see
-- <https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
--
-- 'volumeKmsKeyId', 'entityRecognizerProperties_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\"@
--
-- 'endTime', 'entityRecognizerProperties_endTime' - The time that the recognizer creation completed.
--
-- 'trainingStartTime', 'entityRecognizerProperties_trainingStartTime' - The time that training of the entity recognizer started.
--
-- 'dataAccessRoleArn', 'entityRecognizerProperties_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM)
-- role that grants Amazon Comprehend read access to your input data.
--
-- 'recognizerMetadata', 'entityRecognizerProperties_recognizerMetadata' - Provides information about an entity recognizer.
--
-- 'message', 'entityRecognizerProperties_message' - A description of the status of the recognizer.
--
-- 'submitTime', 'entityRecognizerProperties_submitTime' - The time that the recognizer was submitted for processing.
newEntityRecognizerProperties ::
  EntityRecognizerProperties
newEntityRecognizerProperties :: EntityRecognizerProperties
newEntityRecognizerProperties =
  EntityRecognizerProperties' :: Maybe ModelStatus
-> Maybe LanguageCode
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe EntityRecognizerInputDataConfig
-> Maybe VpcConfig
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe (Sensitive EntityRecognizerMetadata)
-> Maybe Text
-> Maybe POSIX
-> EntityRecognizerProperties
EntityRecognizerProperties'
    { $sel:status:EntityRecognizerProperties' :: Maybe ModelStatus
status =
        Maybe ModelStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:languageCode:EntityRecognizerProperties' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingEndTime:EntityRecognizerProperties' :: Maybe POSIX
trainingEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:versionName:EntityRecognizerProperties' :: Maybe Text
versionName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:entityRecognizerArn:EntityRecognizerProperties' :: Maybe Text
entityRecognizerArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modelKmsKeyId:EntityRecognizerProperties' :: Maybe Text
modelKmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:inputDataConfig:EntityRecognizerProperties' :: Maybe EntityRecognizerInputDataConfig
inputDataConfig = Maybe EntityRecognizerInputDataConfig
forall a. Maybe a
Prelude.Nothing,
      $sel:vpcConfig:EntityRecognizerProperties' :: Maybe VpcConfig
vpcConfig = Maybe VpcConfig
forall a. Maybe a
Prelude.Nothing,
      $sel:volumeKmsKeyId:EntityRecognizerProperties' :: Maybe Text
volumeKmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:EntityRecognizerProperties' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingStartTime:EntityRecognizerProperties' :: Maybe POSIX
trainingStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:dataAccessRoleArn:EntityRecognizerProperties' :: Maybe Text
dataAccessRoleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:recognizerMetadata:EntityRecognizerProperties' :: Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata = Maybe (Sensitive EntityRecognizerMetadata)
forall a. Maybe a
Prelude.Nothing,
      $sel:message:EntityRecognizerProperties' :: Maybe Text
message = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:submitTime:EntityRecognizerProperties' :: Maybe POSIX
submitTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing
    }

-- | Provides the status of the entity recognizer.
entityRecognizerProperties_status :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe ModelStatus)
entityRecognizerProperties_status :: (Maybe ModelStatus -> f (Maybe ModelStatus))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_status = (EntityRecognizerProperties -> Maybe ModelStatus)
-> (EntityRecognizerProperties
    -> Maybe ModelStatus -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe ModelStatus)
     (Maybe ModelStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe ModelStatus
status :: Maybe ModelStatus
$sel:status:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe ModelStatus
status} -> Maybe ModelStatus
status) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe ModelStatus
a -> EntityRecognizerProperties
s {$sel:status:EntityRecognizerProperties' :: Maybe ModelStatus
status = Maybe ModelStatus
a} :: EntityRecognizerProperties)

-- | The language of the input documents. All documents must be in the same
-- language. Only English (\"en\") is currently supported.
entityRecognizerProperties_languageCode :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe LanguageCode)
entityRecognizerProperties_languageCode :: (Maybe LanguageCode -> f (Maybe LanguageCode))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_languageCode = (EntityRecognizerProperties -> Maybe LanguageCode)
-> (EntityRecognizerProperties
    -> Maybe LanguageCode -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe LanguageCode)
     (Maybe LanguageCode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe LanguageCode
a -> EntityRecognizerProperties
s {$sel:languageCode:EntityRecognizerProperties' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: EntityRecognizerProperties)

-- | The time that training of the entity recognizer was completed.
entityRecognizerProperties_trainingEndTime :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.UTCTime)
entityRecognizerProperties_trainingEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_trainingEndTime = (EntityRecognizerProperties -> Maybe POSIX)
-> (EntityRecognizerProperties
    -> Maybe POSIX -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe POSIX
trainingEndTime :: Maybe POSIX
$sel:trainingEndTime:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe POSIX
trainingEndTime} -> Maybe POSIX
trainingEndTime) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe POSIX
a -> EntityRecognizerProperties
s {$sel:trainingEndTime:EntityRecognizerProperties' :: Maybe POSIX
trainingEndTime = Maybe POSIX
a} :: EntityRecognizerProperties) ((Maybe POSIX -> f (Maybe POSIX))
 -> EntityRecognizerProperties -> f EntityRecognizerProperties)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties
-> f EntityRecognizerProperties
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The version name you assigned to the entity recognizer.
entityRecognizerProperties_versionName :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.Text)
entityRecognizerProperties_versionName :: (Maybe Text -> f (Maybe Text))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_versionName = (EntityRecognizerProperties -> Maybe Text)
-> (EntityRecognizerProperties
    -> Maybe Text -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe Text
versionName :: Maybe Text
$sel:versionName:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe Text
versionName} -> Maybe Text
versionName) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe Text
a -> EntityRecognizerProperties
s {$sel:versionName:EntityRecognizerProperties' :: Maybe Text
versionName = Maybe Text
a} :: EntityRecognizerProperties)

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

-- | ID for the AWS Key Management Service (KMS) key that Amazon Comprehend
-- uses to encrypt trained custom models. The ModelKmsKeyId 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\"@
entityRecognizerProperties_modelKmsKeyId :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.Text)
entityRecognizerProperties_modelKmsKeyId :: (Maybe Text -> f (Maybe Text))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_modelKmsKeyId = (EntityRecognizerProperties -> Maybe Text)
-> (EntityRecognizerProperties
    -> Maybe Text -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe Text
modelKmsKeyId :: Maybe Text
$sel:modelKmsKeyId:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe Text
modelKmsKeyId} -> Maybe Text
modelKmsKeyId) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe Text
a -> EntityRecognizerProperties
s {$sel:modelKmsKeyId:EntityRecognizerProperties' :: Maybe Text
modelKmsKeyId = Maybe Text
a} :: EntityRecognizerProperties)

-- | The input data properties of an entity recognizer.
entityRecognizerProperties_inputDataConfig :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe EntityRecognizerInputDataConfig)
entityRecognizerProperties_inputDataConfig :: (Maybe EntityRecognizerInputDataConfig
 -> f (Maybe EntityRecognizerInputDataConfig))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_inputDataConfig = (EntityRecognizerProperties
 -> Maybe EntityRecognizerInputDataConfig)
-> (EntityRecognizerProperties
    -> Maybe EntityRecognizerInputDataConfig
    -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe EntityRecognizerInputDataConfig)
     (Maybe EntityRecognizerInputDataConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe EntityRecognizerInputDataConfig
inputDataConfig :: Maybe EntityRecognizerInputDataConfig
$sel:inputDataConfig:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe EntityRecognizerInputDataConfig
inputDataConfig} -> Maybe EntityRecognizerInputDataConfig
inputDataConfig) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe EntityRecognizerInputDataConfig
a -> EntityRecognizerProperties
s {$sel:inputDataConfig:EntityRecognizerProperties' :: Maybe EntityRecognizerInputDataConfig
inputDataConfig = Maybe EntityRecognizerInputDataConfig
a} :: EntityRecognizerProperties)

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

-- | 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\"@
entityRecognizerProperties_volumeKmsKeyId :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.Text)
entityRecognizerProperties_volumeKmsKeyId :: (Maybe Text -> f (Maybe Text))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_volumeKmsKeyId = (EntityRecognizerProperties -> Maybe Text)
-> (EntityRecognizerProperties
    -> Maybe Text -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe Text
volumeKmsKeyId :: Maybe Text
$sel:volumeKmsKeyId:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe Text
volumeKmsKeyId} -> Maybe Text
volumeKmsKeyId) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe Text
a -> EntityRecognizerProperties
s {$sel:volumeKmsKeyId:EntityRecognizerProperties' :: Maybe Text
volumeKmsKeyId = Maybe Text
a} :: EntityRecognizerProperties)

-- | The time that the recognizer creation completed.
entityRecognizerProperties_endTime :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.UTCTime)
entityRecognizerProperties_endTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_endTime = (EntityRecognizerProperties -> Maybe POSIX)
-> (EntityRecognizerProperties
    -> Maybe POSIX -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe POSIX
a -> EntityRecognizerProperties
s {$sel:endTime:EntityRecognizerProperties' :: Maybe POSIX
endTime = Maybe POSIX
a} :: EntityRecognizerProperties) ((Maybe POSIX -> f (Maybe POSIX))
 -> EntityRecognizerProperties -> f EntityRecognizerProperties)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties
-> f EntityRecognizerProperties
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The time that training of the entity recognizer started.
entityRecognizerProperties_trainingStartTime :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.UTCTime)
entityRecognizerProperties_trainingStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_trainingStartTime = (EntityRecognizerProperties -> Maybe POSIX)
-> (EntityRecognizerProperties
    -> Maybe POSIX -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe POSIX
trainingStartTime :: Maybe POSIX
$sel:trainingStartTime:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe POSIX
trainingStartTime} -> Maybe POSIX
trainingStartTime) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe POSIX
a -> EntityRecognizerProperties
s {$sel:trainingStartTime:EntityRecognizerProperties' :: Maybe POSIX
trainingStartTime = Maybe POSIX
a} :: EntityRecognizerProperties) ((Maybe POSIX -> f (Maybe POSIX))
 -> EntityRecognizerProperties -> f EntityRecognizerProperties)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties
-> f EntityRecognizerProperties
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

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

-- | Provides information about an entity recognizer.
entityRecognizerProperties_recognizerMetadata :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe EntityRecognizerMetadata)
entityRecognizerProperties_recognizerMetadata :: (Maybe EntityRecognizerMetadata
 -> f (Maybe EntityRecognizerMetadata))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_recognizerMetadata = (EntityRecognizerProperties
 -> Maybe (Sensitive EntityRecognizerMetadata))
-> (EntityRecognizerProperties
    -> Maybe (Sensitive EntityRecognizerMetadata)
    -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe (Sensitive EntityRecognizerMetadata))
     (Maybe (Sensitive EntityRecognizerMetadata))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata :: Maybe (Sensitive EntityRecognizerMetadata)
$sel:recognizerMetadata:EntityRecognizerProperties' :: EntityRecognizerProperties
-> Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata} -> Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe (Sensitive EntityRecognizerMetadata)
a -> EntityRecognizerProperties
s {$sel:recognizerMetadata:EntityRecognizerProperties' :: Maybe (Sensitive EntityRecognizerMetadata)
recognizerMetadata = Maybe (Sensitive EntityRecognizerMetadata)
a} :: EntityRecognizerProperties) ((Maybe (Sensitive EntityRecognizerMetadata)
  -> f (Maybe (Sensitive EntityRecognizerMetadata)))
 -> EntityRecognizerProperties -> f EntityRecognizerProperties)
-> ((Maybe EntityRecognizerMetadata
     -> f (Maybe EntityRecognizerMetadata))
    -> Maybe (Sensitive EntityRecognizerMetadata)
    -> f (Maybe (Sensitive EntityRecognizerMetadata)))
-> (Maybe EntityRecognizerMetadata
    -> f (Maybe EntityRecognizerMetadata))
-> EntityRecognizerProperties
-> f EntityRecognizerProperties
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (Sensitive EntityRecognizerMetadata)
  (Sensitive EntityRecognizerMetadata)
  EntityRecognizerMetadata
  EntityRecognizerMetadata
-> Iso
     (Maybe (Sensitive EntityRecognizerMetadata))
     (Maybe (Sensitive EntityRecognizerMetadata))
     (Maybe EntityRecognizerMetadata)
     (Maybe EntityRecognizerMetadata)
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 AnIso
  (Sensitive EntityRecognizerMetadata)
  (Sensitive EntityRecognizerMetadata)
  EntityRecognizerMetadata
  EntityRecognizerMetadata
forall a. Iso' (Sensitive a) a
Core._Sensitive

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

-- | The time that the recognizer was submitted for processing.
entityRecognizerProperties_submitTime :: Lens.Lens' EntityRecognizerProperties (Prelude.Maybe Prelude.UTCTime)
entityRecognizerProperties_submitTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties -> f EntityRecognizerProperties
entityRecognizerProperties_submitTime = (EntityRecognizerProperties -> Maybe POSIX)
-> (EntityRecognizerProperties
    -> Maybe POSIX -> EntityRecognizerProperties)
-> Lens
     EntityRecognizerProperties
     EntityRecognizerProperties
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EntityRecognizerProperties' {Maybe POSIX
submitTime :: Maybe POSIX
$sel:submitTime:EntityRecognizerProperties' :: EntityRecognizerProperties -> Maybe POSIX
submitTime} -> Maybe POSIX
submitTime) (\s :: EntityRecognizerProperties
s@EntityRecognizerProperties' {} Maybe POSIX
a -> EntityRecognizerProperties
s {$sel:submitTime:EntityRecognizerProperties' :: Maybe POSIX
submitTime = Maybe POSIX
a} :: EntityRecognizerProperties) ((Maybe POSIX -> f (Maybe POSIX))
 -> EntityRecognizerProperties -> f EntityRecognizerProperties)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EntityRecognizerProperties
-> f EntityRecognizerProperties
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

instance Core.FromJSON EntityRecognizerProperties where
  parseJSON :: Value -> Parser EntityRecognizerProperties
parseJSON =
    String
-> (Object -> Parser EntityRecognizerProperties)
-> Value
-> Parser EntityRecognizerProperties
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"EntityRecognizerProperties"
      ( \Object
x ->
          Maybe ModelStatus
-> Maybe LanguageCode
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe EntityRecognizerInputDataConfig
-> Maybe VpcConfig
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe (Sensitive EntityRecognizerMetadata)
-> Maybe Text
-> Maybe POSIX
-> EntityRecognizerProperties
EntityRecognizerProperties'
            (Maybe ModelStatus
 -> Maybe LanguageCode
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe EntityRecognizerInputDataConfig
 -> Maybe VpcConfig
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe (Sensitive EntityRecognizerMetadata)
 -> Maybe Text
 -> Maybe POSIX
 -> EntityRecognizerProperties)
-> Parser (Maybe ModelStatus)
-> Parser
     (Maybe LanguageCode
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe ModelStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe LanguageCode
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe LanguageCode)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LanguageCode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LanguageCode")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TrainingEndTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VersionName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EntityRecognizerArn")
            Parser
  (Maybe Text
   -> Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser
     (Maybe EntityRecognizerInputDataConfig
      -> Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ModelKmsKeyId")
            Parser
  (Maybe EntityRecognizerInputDataConfig
   -> Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe EntityRecognizerInputDataConfig)
-> Parser
     (Maybe VpcConfig
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe EntityRecognizerInputDataConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InputDataConfig")
            Parser
  (Maybe VpcConfig
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe VpcConfig)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe VpcConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VpcConfig")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VolumeKmsKeyId")
            Parser
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EndTime")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text
      -> Maybe POSIX
      -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TrainingStartTime")
            Parser
  (Maybe Text
   -> Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text
   -> Maybe POSIX
   -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser
     (Maybe (Sensitive EntityRecognizerMetadata)
      -> Maybe Text -> Maybe POSIX -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DataAccessRoleArn")
            Parser
  (Maybe (Sensitive EntityRecognizerMetadata)
   -> Maybe Text -> Maybe POSIX -> EntityRecognizerProperties)
-> Parser (Maybe (Sensitive EntityRecognizerMetadata))
-> Parser (Maybe Text -> Maybe POSIX -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe (Sensitive EntityRecognizerMetadata))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RecognizerMetadata")
            Parser (Maybe Text -> Maybe POSIX -> EntityRecognizerProperties)
-> Parser (Maybe Text)
-> Parser (Maybe POSIX -> EntityRecognizerProperties)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Message")
            Parser (Maybe POSIX -> EntityRecognizerProperties)
-> Parser (Maybe POSIX) -> Parser EntityRecognizerProperties
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SubmitTime")
      )

instance Prelude.Hashable EntityRecognizerProperties

instance Prelude.NFData EntityRecognizerProperties