{-# 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.DocumentClassifierProperties
-- 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.DocumentClassifierProperties where

import Amazonka.Comprehend.Types.ClassifierMetadata
import Amazonka.Comprehend.Types.DocumentClassifierInputDataConfig
import Amazonka.Comprehend.Types.DocumentClassifierMode
import Amazonka.Comprehend.Types.DocumentClassifierOutputDataConfig
import Amazonka.Comprehend.Types.LanguageCode
import Amazonka.Comprehend.Types.ModelStatus
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 a document classifier.
--
-- /See:/ 'newDocumentClassifierProperties' smart constructor.
data DocumentClassifierProperties = DocumentClassifierProperties'
  { -- | Information about the document classifier, including the number of
    -- documents used for training the classifier, the number of documents used
    -- for test the classifier, and an accuracy rating.
    DocumentClassifierProperties
-> Maybe (Sensitive ClassifierMetadata)
classifierMetadata :: Prelude.Maybe (Data.Sensitive ClassifierMetadata),
    -- | The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM)
    -- role that grants Amazon Comprehend read access to your input data.
    DocumentClassifierProperties -> Maybe Text
dataAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) that identifies the document classifier.
    DocumentClassifierProperties -> Maybe Text
documentClassifierArn :: Prelude.Maybe Prelude.Text,
    -- | The time that training the document classifier completed.
    DocumentClassifierProperties -> Maybe POSIX
endTime :: Prelude.Maybe Data.POSIX,
    -- | The input data configuration that you supplied when you created the
    -- document classifier for training.
    DocumentClassifierProperties
-> Maybe DocumentClassifierInputDataConfig
inputDataConfig :: Prelude.Maybe DocumentClassifierInputDataConfig,
    -- | The language code for the language of the documents that the classifier
    -- was trained on.
    DocumentClassifierProperties -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
    -- | Additional information about the status of the classifier.
    DocumentClassifierProperties -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | Indicates the mode in which the specific classifier was trained. This
    -- also indicates the format of input documents and the format of the
    -- confusion matrix. Each classifier can only be trained in one mode and
    -- this cannot be changed once the classifier is trained.
    DocumentClassifierProperties -> Maybe DocumentClassifierMode
mode :: Prelude.Maybe DocumentClassifierMode,
    -- | 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\"@
    DocumentClassifierProperties -> Maybe Text
modelKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Provides output results configuration parameters for custom classifier
    -- jobs.
    DocumentClassifierProperties
-> Maybe DocumentClassifierOutputDataConfig
outputDataConfig :: Prelude.Maybe DocumentClassifierOutputDataConfig,
    -- | The Amazon Resource Name (ARN) of the source model. This model was
    -- imported from a different AWS account to create the document classifier
    -- model in your AWS account.
    DocumentClassifierProperties -> Maybe Text
sourceModelArn :: Prelude.Maybe Prelude.Text,
    -- | The status of the document classifier. If the status is @TRAINED@ the
    -- classifier is ready to use. If the status is @FAILED@ you can see
    -- additional information about why the classifier wasn\'t trained in the
    -- @Message@ field.
    DocumentClassifierProperties -> Maybe ModelStatus
status :: Prelude.Maybe ModelStatus,
    -- | The time that the document classifier was submitted for training.
    DocumentClassifierProperties -> Maybe POSIX
submitTime :: Prelude.Maybe Data.POSIX,
    -- | The time that training of the document classifier was completed.
    -- Indicates the time when the training completes on documentation
    -- classifiers. You are billed for the time interval between this time and
    -- the value of TrainingStartTime.
    DocumentClassifierProperties -> Maybe POSIX
trainingEndTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the time when the training starts on documentation
    -- classifiers. You are billed for the time interval between this time and
    -- the value of TrainingEndTime.
    DocumentClassifierProperties -> Maybe POSIX
trainingStartTime :: Prelude.Maybe Data.POSIX,
    -- | The version name that you assigned to the document classifier.
    DocumentClassifierProperties -> Maybe Text
versionName :: Prelude.Maybe Prelude.Text,
    -- | 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\"@
    DocumentClassifierProperties -> Maybe Text
volumeKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Configuration parameters for a private Virtual Private Cloud (VPC)
    -- containing the resources you are using for your custom classifier. For
    -- more information, see
    -- <https://docs.aws.amazon.com/vppc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
    DocumentClassifierProperties -> Maybe VpcConfig
vpcConfig :: Prelude.Maybe VpcConfig
  }
  deriving (DocumentClassifierProperties
-> DocumentClassifierProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DocumentClassifierProperties
-> DocumentClassifierProperties -> Bool
$c/= :: DocumentClassifierProperties
-> DocumentClassifierProperties -> Bool
== :: DocumentClassifierProperties
-> DocumentClassifierProperties -> Bool
$c== :: DocumentClassifierProperties
-> DocumentClassifierProperties -> Bool
Prelude.Eq, Int -> DocumentClassifierProperties -> ShowS
[DocumentClassifierProperties] -> ShowS
DocumentClassifierProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DocumentClassifierProperties] -> ShowS
$cshowList :: [DocumentClassifierProperties] -> ShowS
show :: DocumentClassifierProperties -> String
$cshow :: DocumentClassifierProperties -> String
showsPrec :: Int -> DocumentClassifierProperties -> ShowS
$cshowsPrec :: Int -> DocumentClassifierProperties -> ShowS
Prelude.Show, forall x.
Rep DocumentClassifierProperties x -> DocumentClassifierProperties
forall x.
DocumentClassifierProperties -> Rep DocumentClassifierProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DocumentClassifierProperties x -> DocumentClassifierProperties
$cfrom :: forall x.
DocumentClassifierProperties -> Rep DocumentClassifierProperties x
Prelude.Generic)

-- |
-- Create a value of 'DocumentClassifierProperties' 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:
--
-- 'classifierMetadata', 'documentClassifierProperties_classifierMetadata' - Information about the document classifier, including the number of
-- documents used for training the classifier, the number of documents used
-- for test the classifier, and an accuracy rating.
--
-- 'dataAccessRoleArn', 'documentClassifierProperties_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM)
-- role that grants Amazon Comprehend read access to your input data.
--
-- 'documentClassifierArn', 'documentClassifierProperties_documentClassifierArn' - The Amazon Resource Name (ARN) that identifies the document classifier.
--
-- 'endTime', 'documentClassifierProperties_endTime' - The time that training the document classifier completed.
--
-- 'inputDataConfig', 'documentClassifierProperties_inputDataConfig' - The input data configuration that you supplied when you created the
-- document classifier for training.
--
-- 'languageCode', 'documentClassifierProperties_languageCode' - The language code for the language of the documents that the classifier
-- was trained on.
--
-- 'message', 'documentClassifierProperties_message' - Additional information about the status of the classifier.
--
-- 'mode', 'documentClassifierProperties_mode' - Indicates the mode in which the specific classifier was trained. This
-- also indicates the format of input documents and the format of the
-- confusion matrix. Each classifier can only be trained in one mode and
-- this cannot be changed once the classifier is trained.
--
-- 'modelKmsKeyId', 'documentClassifierProperties_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\"@
--
-- 'outputDataConfig', 'documentClassifierProperties_outputDataConfig' - Provides output results configuration parameters for custom classifier
-- jobs.
--
-- 'sourceModelArn', 'documentClassifierProperties_sourceModelArn' - The Amazon Resource Name (ARN) of the source model. This model was
-- imported from a different AWS account to create the document classifier
-- model in your AWS account.
--
-- 'status', 'documentClassifierProperties_status' - The status of the document classifier. If the status is @TRAINED@ the
-- classifier is ready to use. If the status is @FAILED@ you can see
-- additional information about why the classifier wasn\'t trained in the
-- @Message@ field.
--
-- 'submitTime', 'documentClassifierProperties_submitTime' - The time that the document classifier was submitted for training.
--
-- 'trainingEndTime', 'documentClassifierProperties_trainingEndTime' - The time that training of the document classifier was completed.
-- Indicates the time when the training completes on documentation
-- classifiers. You are billed for the time interval between this time and
-- the value of TrainingStartTime.
--
-- 'trainingStartTime', 'documentClassifierProperties_trainingStartTime' - Indicates the time when the training starts on documentation
-- classifiers. You are billed for the time interval between this time and
-- the value of TrainingEndTime.
--
-- 'versionName', 'documentClassifierProperties_versionName' - The version name that you assigned to the document classifier.
--
-- 'volumeKmsKeyId', 'documentClassifierProperties_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', 'documentClassifierProperties_vpcConfig' - Configuration parameters for a private Virtual Private Cloud (VPC)
-- containing the resources you are using for your custom classifier. For
-- more information, see
-- <https://docs.aws.amazon.com/vppc/latest/userguide/what-is-amazon-vpc.html Amazon VPC>.
newDocumentClassifierProperties ::
  DocumentClassifierProperties
newDocumentClassifierProperties :: DocumentClassifierProperties
newDocumentClassifierProperties =
  DocumentClassifierProperties'
    { $sel:classifierMetadata:DocumentClassifierProperties' :: Maybe (Sensitive ClassifierMetadata)
classifierMetadata =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataAccessRoleArn:DocumentClassifierProperties' :: Maybe Text
dataAccessRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:documentClassifierArn:DocumentClassifierProperties' :: Maybe Text
documentClassifierArn = forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:DocumentClassifierProperties' :: Maybe POSIX
endTime = forall a. Maybe a
Prelude.Nothing,
      $sel:inputDataConfig:DocumentClassifierProperties' :: Maybe DocumentClassifierInputDataConfig
inputDataConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:languageCode:DocumentClassifierProperties' :: Maybe LanguageCode
languageCode = forall a. Maybe a
Prelude.Nothing,
      $sel:message:DocumentClassifierProperties' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
      $sel:mode:DocumentClassifierProperties' :: Maybe DocumentClassifierMode
mode = forall a. Maybe a
Prelude.Nothing,
      $sel:modelKmsKeyId:DocumentClassifierProperties' :: Maybe Text
modelKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:outputDataConfig:DocumentClassifierProperties' :: Maybe DocumentClassifierOutputDataConfig
outputDataConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceModelArn:DocumentClassifierProperties' :: Maybe Text
sourceModelArn = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DocumentClassifierProperties' :: Maybe ModelStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:submitTime:DocumentClassifierProperties' :: Maybe POSIX
submitTime = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingEndTime:DocumentClassifierProperties' :: Maybe POSIX
trainingEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingStartTime:DocumentClassifierProperties' :: Maybe POSIX
trainingStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:versionName:DocumentClassifierProperties' :: Maybe Text
versionName = forall a. Maybe a
Prelude.Nothing,
      $sel:volumeKmsKeyId:DocumentClassifierProperties' :: Maybe Text
volumeKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:vpcConfig:DocumentClassifierProperties' :: Maybe VpcConfig
vpcConfig = forall a. Maybe a
Prelude.Nothing
    }

-- | Information about the document classifier, including the number of
-- documents used for training the classifier, the number of documents used
-- for test the classifier, and an accuracy rating.
documentClassifierProperties_classifierMetadata :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe ClassifierMetadata)
documentClassifierProperties_classifierMetadata :: Lens' DocumentClassifierProperties (Maybe ClassifierMetadata)
documentClassifierProperties_classifierMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe (Sensitive ClassifierMetadata)
classifierMetadata :: Maybe (Sensitive ClassifierMetadata)
$sel:classifierMetadata:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe (Sensitive ClassifierMetadata)
classifierMetadata} -> Maybe (Sensitive ClassifierMetadata)
classifierMetadata) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe (Sensitive ClassifierMetadata)
a -> DocumentClassifierProperties
s {$sel:classifierMetadata:DocumentClassifierProperties' :: Maybe (Sensitive ClassifierMetadata)
classifierMetadata = Maybe (Sensitive ClassifierMetadata)
a} :: DocumentClassifierProperties) 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. Iso' (Sensitive a) a
Data._Sensitive

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

-- | The Amazon Resource Name (ARN) that identifies the document classifier.
documentClassifierProperties_documentClassifierArn :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.Text)
documentClassifierProperties_documentClassifierArn :: Lens' DocumentClassifierProperties (Maybe Text)
documentClassifierProperties_documentClassifierArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe Text
documentClassifierArn :: Maybe Text
$sel:documentClassifierArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
documentClassifierArn} -> Maybe Text
documentClassifierArn) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe Text
a -> DocumentClassifierProperties
s {$sel:documentClassifierArn:DocumentClassifierProperties' :: Maybe Text
documentClassifierArn = Maybe Text
a} :: DocumentClassifierProperties)

-- | The time that training the document classifier completed.
documentClassifierProperties_endTime :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.UTCTime)
documentClassifierProperties_endTime :: Lens' DocumentClassifierProperties (Maybe UTCTime)
documentClassifierProperties_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe POSIX
a -> DocumentClassifierProperties
s {$sel:endTime:DocumentClassifierProperties' :: Maybe POSIX
endTime = Maybe POSIX
a} :: DocumentClassifierProperties) 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 input data configuration that you supplied when you created the
-- document classifier for training.
documentClassifierProperties_inputDataConfig :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe DocumentClassifierInputDataConfig)
documentClassifierProperties_inputDataConfig :: Lens'
  DocumentClassifierProperties
  (Maybe DocumentClassifierInputDataConfig)
documentClassifierProperties_inputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe DocumentClassifierInputDataConfig
inputDataConfig :: Maybe DocumentClassifierInputDataConfig
$sel:inputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierInputDataConfig
inputDataConfig} -> Maybe DocumentClassifierInputDataConfig
inputDataConfig) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe DocumentClassifierInputDataConfig
a -> DocumentClassifierProperties
s {$sel:inputDataConfig:DocumentClassifierProperties' :: Maybe DocumentClassifierInputDataConfig
inputDataConfig = Maybe DocumentClassifierInputDataConfig
a} :: DocumentClassifierProperties)

-- | The language code for the language of the documents that the classifier
-- was trained on.
documentClassifierProperties_languageCode :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe LanguageCode)
documentClassifierProperties_languageCode :: Lens' DocumentClassifierProperties (Maybe LanguageCode)
documentClassifierProperties_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe LanguageCode
a -> DocumentClassifierProperties
s {$sel:languageCode:DocumentClassifierProperties' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: DocumentClassifierProperties)

-- | Additional information about the status of the classifier.
documentClassifierProperties_message :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.Text)
documentClassifierProperties_message :: Lens' DocumentClassifierProperties (Maybe Text)
documentClassifierProperties_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe Text
message :: Maybe Text
$sel:message:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
message} -> Maybe Text
message) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe Text
a -> DocumentClassifierProperties
s {$sel:message:DocumentClassifierProperties' :: Maybe Text
message = Maybe Text
a} :: DocumentClassifierProperties)

-- | Indicates the mode in which the specific classifier was trained. This
-- also indicates the format of input documents and the format of the
-- confusion matrix. Each classifier can only be trained in one mode and
-- this cannot be changed once the classifier is trained.
documentClassifierProperties_mode :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe DocumentClassifierMode)
documentClassifierProperties_mode :: Lens' DocumentClassifierProperties (Maybe DocumentClassifierMode)
documentClassifierProperties_mode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe DocumentClassifierMode
mode :: Maybe DocumentClassifierMode
$sel:mode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe DocumentClassifierMode
mode} -> Maybe DocumentClassifierMode
mode) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe DocumentClassifierMode
a -> DocumentClassifierProperties
s {$sel:mode:DocumentClassifierProperties' :: Maybe DocumentClassifierMode
mode = Maybe DocumentClassifierMode
a} :: DocumentClassifierProperties)

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

-- | Provides output results configuration parameters for custom classifier
-- jobs.
documentClassifierProperties_outputDataConfig :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe DocumentClassifierOutputDataConfig)
documentClassifierProperties_outputDataConfig :: Lens'
  DocumentClassifierProperties
  (Maybe DocumentClassifierOutputDataConfig)
documentClassifierProperties_outputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe DocumentClassifierOutputDataConfig
outputDataConfig :: Maybe DocumentClassifierOutputDataConfig
$sel:outputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierOutputDataConfig
outputDataConfig} -> Maybe DocumentClassifierOutputDataConfig
outputDataConfig) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe DocumentClassifierOutputDataConfig
a -> DocumentClassifierProperties
s {$sel:outputDataConfig:DocumentClassifierProperties' :: Maybe DocumentClassifierOutputDataConfig
outputDataConfig = Maybe DocumentClassifierOutputDataConfig
a} :: DocumentClassifierProperties)

-- | The Amazon Resource Name (ARN) of the source model. This model was
-- imported from a different AWS account to create the document classifier
-- model in your AWS account.
documentClassifierProperties_sourceModelArn :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.Text)
documentClassifierProperties_sourceModelArn :: Lens' DocumentClassifierProperties (Maybe Text)
documentClassifierProperties_sourceModelArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe Text
sourceModelArn :: Maybe Text
$sel:sourceModelArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
sourceModelArn} -> Maybe Text
sourceModelArn) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe Text
a -> DocumentClassifierProperties
s {$sel:sourceModelArn:DocumentClassifierProperties' :: Maybe Text
sourceModelArn = Maybe Text
a} :: DocumentClassifierProperties)

-- | The status of the document classifier. If the status is @TRAINED@ the
-- classifier is ready to use. If the status is @FAILED@ you can see
-- additional information about why the classifier wasn\'t trained in the
-- @Message@ field.
documentClassifierProperties_status :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe ModelStatus)
documentClassifierProperties_status :: Lens' DocumentClassifierProperties (Maybe ModelStatus)
documentClassifierProperties_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe ModelStatus
status :: Maybe ModelStatus
$sel:status:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe ModelStatus
status} -> Maybe ModelStatus
status) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe ModelStatus
a -> DocumentClassifierProperties
s {$sel:status:DocumentClassifierProperties' :: Maybe ModelStatus
status = Maybe ModelStatus
a} :: DocumentClassifierProperties)

-- | The time that the document classifier was submitted for training.
documentClassifierProperties_submitTime :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.UTCTime)
documentClassifierProperties_submitTime :: Lens' DocumentClassifierProperties (Maybe UTCTime)
documentClassifierProperties_submitTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe POSIX
submitTime :: Maybe POSIX
$sel:submitTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
submitTime} -> Maybe POSIX
submitTime) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe POSIX
a -> DocumentClassifierProperties
s {$sel:submitTime:DocumentClassifierProperties' :: Maybe POSIX
submitTime = Maybe POSIX
a} :: DocumentClassifierProperties) 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 time that training of the document classifier was completed.
-- Indicates the time when the training completes on documentation
-- classifiers. You are billed for the time interval between this time and
-- the value of TrainingStartTime.
documentClassifierProperties_trainingEndTime :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.UTCTime)
documentClassifierProperties_trainingEndTime :: Lens' DocumentClassifierProperties (Maybe UTCTime)
documentClassifierProperties_trainingEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe POSIX
trainingEndTime :: Maybe POSIX
$sel:trainingEndTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
trainingEndTime} -> Maybe POSIX
trainingEndTime) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe POSIX
a -> DocumentClassifierProperties
s {$sel:trainingEndTime:DocumentClassifierProperties' :: Maybe POSIX
trainingEndTime = Maybe POSIX
a} :: DocumentClassifierProperties) 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

-- | Indicates the time when the training starts on documentation
-- classifiers. You are billed for the time interval between this time and
-- the value of TrainingEndTime.
documentClassifierProperties_trainingStartTime :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.UTCTime)
documentClassifierProperties_trainingStartTime :: Lens' DocumentClassifierProperties (Maybe UTCTime)
documentClassifierProperties_trainingStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe POSIX
trainingStartTime :: Maybe POSIX
$sel:trainingStartTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
trainingStartTime} -> Maybe POSIX
trainingStartTime) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe POSIX
a -> DocumentClassifierProperties
s {$sel:trainingStartTime:DocumentClassifierProperties' :: Maybe POSIX
trainingStartTime = Maybe POSIX
a} :: DocumentClassifierProperties) 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 version name that you assigned to the document classifier.
documentClassifierProperties_versionName :: Lens.Lens' DocumentClassifierProperties (Prelude.Maybe Prelude.Text)
documentClassifierProperties_versionName :: Lens' DocumentClassifierProperties (Maybe Text)
documentClassifierProperties_versionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentClassifierProperties' {Maybe Text
versionName :: Maybe Text
$sel:versionName:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
versionName} -> Maybe Text
versionName) (\s :: DocumentClassifierProperties
s@DocumentClassifierProperties' {} Maybe Text
a -> DocumentClassifierProperties
s {$sel:versionName:DocumentClassifierProperties' :: Maybe Text
versionName = Maybe Text
a} :: DocumentClassifierProperties)

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

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

instance Data.FromJSON DocumentClassifierProperties where
  parseJSON :: Value -> Parser DocumentClassifierProperties
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"DocumentClassifierProperties"
      ( \Object
x ->
          Maybe (Sensitive ClassifierMetadata)
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe DocumentClassifierInputDataConfig
-> Maybe LanguageCode
-> Maybe Text
-> Maybe DocumentClassifierMode
-> Maybe Text
-> Maybe DocumentClassifierOutputDataConfig
-> Maybe Text
-> Maybe ModelStatus
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe VpcConfig
-> DocumentClassifierProperties
DocumentClassifierProperties'
            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
"ClassifierMetadata")
            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
"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
"DocumentClassifierArn")
            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
"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
"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
"Mode")
            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
"ModelKmsKeyId")
            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
"SourceModelArn")
            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
"Status")
            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
"TrainingEndTime")
            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
"TrainingStartTime")
            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
"VersionName")
            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
    DocumentClassifierProperties
  where
  hashWithSalt :: Int -> DocumentClassifierProperties -> Int
hashWithSalt Int
_salt DocumentClassifierProperties' {Maybe Text
Maybe (Sensitive ClassifierMetadata)
Maybe POSIX
Maybe DocumentClassifierMode
Maybe DocumentClassifierOutputDataConfig
Maybe LanguageCode
Maybe ModelStatus
Maybe DocumentClassifierInputDataConfig
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
volumeKmsKeyId :: Maybe Text
versionName :: Maybe Text
trainingStartTime :: Maybe POSIX
trainingEndTime :: Maybe POSIX
submitTime :: Maybe POSIX
status :: Maybe ModelStatus
sourceModelArn :: Maybe Text
outputDataConfig :: Maybe DocumentClassifierOutputDataConfig
modelKmsKeyId :: Maybe Text
mode :: Maybe DocumentClassifierMode
message :: Maybe Text
languageCode :: Maybe LanguageCode
inputDataConfig :: Maybe DocumentClassifierInputDataConfig
endTime :: Maybe POSIX
documentClassifierArn :: Maybe Text
dataAccessRoleArn :: Maybe Text
classifierMetadata :: Maybe (Sensitive ClassifierMetadata)
$sel:vpcConfig:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe VpcConfig
$sel:volumeKmsKeyId:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:versionName:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:trainingStartTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:trainingEndTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:submitTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:status:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe ModelStatus
$sel:sourceModelArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:outputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierOutputDataConfig
$sel:modelKmsKeyId:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:mode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe DocumentClassifierMode
$sel:message:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:languageCode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe LanguageCode
$sel:inputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierInputDataConfig
$sel:endTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:documentClassifierArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:dataAccessRoleArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:classifierMetadata:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe (Sensitive ClassifierMetadata)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive ClassifierMetadata)
classifierMetadata
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dataAccessRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
documentClassifierArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
endTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DocumentClassifierInputDataConfig
inputDataConfig
      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 DocumentClassifierMode
mode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelKmsKeyId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DocumentClassifierOutputDataConfig
outputDataConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceModelArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
submitTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
trainingEndTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
trainingStartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
versionName
      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 DocumentClassifierProperties where
  rnf :: DocumentClassifierProperties -> ()
rnf DocumentClassifierProperties' {Maybe Text
Maybe (Sensitive ClassifierMetadata)
Maybe POSIX
Maybe DocumentClassifierMode
Maybe DocumentClassifierOutputDataConfig
Maybe LanguageCode
Maybe ModelStatus
Maybe DocumentClassifierInputDataConfig
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
volumeKmsKeyId :: Maybe Text
versionName :: Maybe Text
trainingStartTime :: Maybe POSIX
trainingEndTime :: Maybe POSIX
submitTime :: Maybe POSIX
status :: Maybe ModelStatus
sourceModelArn :: Maybe Text
outputDataConfig :: Maybe DocumentClassifierOutputDataConfig
modelKmsKeyId :: Maybe Text
mode :: Maybe DocumentClassifierMode
message :: Maybe Text
languageCode :: Maybe LanguageCode
inputDataConfig :: Maybe DocumentClassifierInputDataConfig
endTime :: Maybe POSIX
documentClassifierArn :: Maybe Text
dataAccessRoleArn :: Maybe Text
classifierMetadata :: Maybe (Sensitive ClassifierMetadata)
$sel:vpcConfig:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe VpcConfig
$sel:volumeKmsKeyId:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:versionName:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:trainingStartTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:trainingEndTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:submitTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:status:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe ModelStatus
$sel:sourceModelArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:outputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierOutputDataConfig
$sel:modelKmsKeyId:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:mode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe DocumentClassifierMode
$sel:message:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:languageCode:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe LanguageCode
$sel:inputDataConfig:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe DocumentClassifierInputDataConfig
$sel:endTime:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe POSIX
$sel:documentClassifierArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:dataAccessRoleArn:DocumentClassifierProperties' :: DocumentClassifierProperties -> Maybe Text
$sel:classifierMetadata:DocumentClassifierProperties' :: DocumentClassifierProperties
-> Maybe (Sensitive ClassifierMetadata)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive ClassifierMetadata)
classifierMetadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
documentClassifierArn
      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 DocumentClassifierInputDataConfig
inputDataConfig
      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 DocumentClassifierMode
mode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelKmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DocumentClassifierOutputDataConfig
outputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceModelArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelStatus
status
      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 POSIX
trainingEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
trainingStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
versionName
      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