{-# 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.Transcribe.Types.LanguageModel
-- 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.Transcribe.Types.LanguageModel where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Transcribe.Types.BaseModelName
import Amazonka.Transcribe.Types.CLMLanguageCode
import Amazonka.Transcribe.Types.InputDataConfig
import Amazonka.Transcribe.Types.ModelStatus

-- | Provides information about a custom language model, including the base
-- model name, when the model was created, the location of the files used
-- to train the model, when the model was last modified, the name you chose
-- for the model, its language, its processing state, and if there is an
-- upgrade available for the base model.
--
-- /See:/ 'newLanguageModel' smart constructor.
data LanguageModel = LanguageModel'
  { -- | The Amazon Transcribe standard language model, or base model, used to
    -- create your custom language model.
    LanguageModel -> Maybe BaseModelName
baseModelName :: Prelude.Maybe BaseModelName,
    -- | The date and time the specified custom language model was created.
    --
    -- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
    -- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
    -- May 4, 2022.
    LanguageModel -> Maybe POSIX
createTime :: Prelude.Maybe Data.POSIX,
    -- | If @ModelStatus@ is @FAILED@, @FailureReason@ contains information about
    -- why the custom language model request failed. See also:
    -- <https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonErrors.html Common Errors>.
    LanguageModel -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The Amazon S3 location of the input files used to train and tune your
    -- custom language model, in addition to the data access role ARN (Amazon
    -- Resource Name) that has permissions to access these data.
    LanguageModel -> Maybe InputDataConfig
inputDataConfig :: Prelude.Maybe InputDataConfig,
    -- | The language code used to create your custom language model. Each custom
    -- language model must contain terms in only one language, and the language
    -- you select for your custom language model must match the language of
    -- your training and tuning data.
    --
    -- For a list of supported languages and their associated language codes,
    -- refer to the
    -- <https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html Supported languages>
    -- table. Note that U.S. English (@en-US@) is the only language supported
    -- with Amazon Transcribe Medical.
    LanguageModel -> Maybe CLMLanguageCode
languageCode :: Prelude.Maybe CLMLanguageCode,
    -- | The date and time the specified custom language model was last modified.
    --
    -- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
    -- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
    -- May 4, 2022.
    LanguageModel -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | A unique name, chosen by you, for your custom language model.
    --
    -- This name is case sensitive, cannot contain spaces, and must be unique
    -- within an Amazon Web Services account.
    LanguageModel -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | The status of the specified custom language model. When the status
    -- displays as @COMPLETED@ the model is ready for use.
    LanguageModel -> Maybe ModelStatus
modelStatus :: Prelude.Maybe ModelStatus,
    -- | Shows if a more current base model is available for use with the
    -- specified custom language model.
    --
    -- If @false@, your custom language model is using the most up-to-date base
    -- model.
    --
    -- If @true@, there is a newer base model available than the one your
    -- language model is using.
    --
    -- Note that to update a base model, you must recreate the custom language
    -- model using the new base model. Base model upgrades for existing custom
    -- language models are not supported.
    LanguageModel -> Maybe Bool
upgradeAvailability :: Prelude.Maybe Prelude.Bool
  }
  deriving (LanguageModel -> LanguageModel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LanguageModel -> LanguageModel -> Bool
$c/= :: LanguageModel -> LanguageModel -> Bool
== :: LanguageModel -> LanguageModel -> Bool
$c== :: LanguageModel -> LanguageModel -> Bool
Prelude.Eq, ReadPrec [LanguageModel]
ReadPrec LanguageModel
Int -> ReadS LanguageModel
ReadS [LanguageModel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LanguageModel]
$creadListPrec :: ReadPrec [LanguageModel]
readPrec :: ReadPrec LanguageModel
$creadPrec :: ReadPrec LanguageModel
readList :: ReadS [LanguageModel]
$creadList :: ReadS [LanguageModel]
readsPrec :: Int -> ReadS LanguageModel
$creadsPrec :: Int -> ReadS LanguageModel
Prelude.Read, Int -> LanguageModel -> ShowS
[LanguageModel] -> ShowS
LanguageModel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LanguageModel] -> ShowS
$cshowList :: [LanguageModel] -> ShowS
show :: LanguageModel -> String
$cshow :: LanguageModel -> String
showsPrec :: Int -> LanguageModel -> ShowS
$cshowsPrec :: Int -> LanguageModel -> ShowS
Prelude.Show, forall x. Rep LanguageModel x -> LanguageModel
forall x. LanguageModel -> Rep LanguageModel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LanguageModel x -> LanguageModel
$cfrom :: forall x. LanguageModel -> Rep LanguageModel x
Prelude.Generic)

-- |
-- Create a value of 'LanguageModel' 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:
--
-- 'baseModelName', 'languageModel_baseModelName' - The Amazon Transcribe standard language model, or base model, used to
-- create your custom language model.
--
-- 'createTime', 'languageModel_createTime' - The date and time the specified custom language model was created.
--
-- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
-- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
-- May 4, 2022.
--
-- 'failureReason', 'languageModel_failureReason' - If @ModelStatus@ is @FAILED@, @FailureReason@ contains information about
-- why the custom language model request failed. See also:
-- <https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonErrors.html Common Errors>.
--
-- 'inputDataConfig', 'languageModel_inputDataConfig' - The Amazon S3 location of the input files used to train and tune your
-- custom language model, in addition to the data access role ARN (Amazon
-- Resource Name) that has permissions to access these data.
--
-- 'languageCode', 'languageModel_languageCode' - The language code used to create your custom language model. Each custom
-- language model must contain terms in only one language, and the language
-- you select for your custom language model must match the language of
-- your training and tuning data.
--
-- For a list of supported languages and their associated language codes,
-- refer to the
-- <https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html Supported languages>
-- table. Note that U.S. English (@en-US@) is the only language supported
-- with Amazon Transcribe Medical.
--
-- 'lastModifiedTime', 'languageModel_lastModifiedTime' - The date and time the specified custom language model was last modified.
--
-- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
-- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
-- May 4, 2022.
--
-- 'modelName', 'languageModel_modelName' - A unique name, chosen by you, for your custom language model.
--
-- This name is case sensitive, cannot contain spaces, and must be unique
-- within an Amazon Web Services account.
--
-- 'modelStatus', 'languageModel_modelStatus' - The status of the specified custom language model. When the status
-- displays as @COMPLETED@ the model is ready for use.
--
-- 'upgradeAvailability', 'languageModel_upgradeAvailability' - Shows if a more current base model is available for use with the
-- specified custom language model.
--
-- If @false@, your custom language model is using the most up-to-date base
-- model.
--
-- If @true@, there is a newer base model available than the one your
-- language model is using.
--
-- Note that to update a base model, you must recreate the custom language
-- model using the new base model. Base model upgrades for existing custom
-- language models are not supported.
newLanguageModel ::
  LanguageModel
newLanguageModel :: LanguageModel
newLanguageModel =
  LanguageModel'
    { $sel:baseModelName:LanguageModel' :: Maybe BaseModelName
baseModelName = forall a. Maybe a
Prelude.Nothing,
      $sel:createTime:LanguageModel' :: Maybe POSIX
createTime = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:LanguageModel' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:inputDataConfig:LanguageModel' :: Maybe InputDataConfig
inputDataConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:languageCode:LanguageModel' :: Maybe CLMLanguageCode
languageCode = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:LanguageModel' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:LanguageModel' :: Maybe Text
modelName = forall a. Maybe a
Prelude.Nothing,
      $sel:modelStatus:LanguageModel' :: Maybe ModelStatus
modelStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:upgradeAvailability:LanguageModel' :: Maybe Bool
upgradeAvailability = forall a. Maybe a
Prelude.Nothing
    }

-- | The Amazon Transcribe standard language model, or base model, used to
-- create your custom language model.
languageModel_baseModelName :: Lens.Lens' LanguageModel (Prelude.Maybe BaseModelName)
languageModel_baseModelName :: Lens' LanguageModel (Maybe BaseModelName)
languageModel_baseModelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe BaseModelName
baseModelName :: Maybe BaseModelName
$sel:baseModelName:LanguageModel' :: LanguageModel -> Maybe BaseModelName
baseModelName} -> Maybe BaseModelName
baseModelName) (\s :: LanguageModel
s@LanguageModel' {} Maybe BaseModelName
a -> LanguageModel
s {$sel:baseModelName:LanguageModel' :: Maybe BaseModelName
baseModelName = Maybe BaseModelName
a} :: LanguageModel)

-- | The date and time the specified custom language model was created.
--
-- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
-- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
-- May 4, 2022.
languageModel_createTime :: Lens.Lens' LanguageModel (Prelude.Maybe Prelude.UTCTime)
languageModel_createTime :: Lens' LanguageModel (Maybe UTCTime)
languageModel_createTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe POSIX
createTime :: Maybe POSIX
$sel:createTime:LanguageModel' :: LanguageModel -> Maybe POSIX
createTime} -> Maybe POSIX
createTime) (\s :: LanguageModel
s@LanguageModel' {} Maybe POSIX
a -> LanguageModel
s {$sel:createTime:LanguageModel' :: Maybe POSIX
createTime = Maybe POSIX
a} :: LanguageModel) 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

-- | If @ModelStatus@ is @FAILED@, @FailureReason@ contains information about
-- why the custom language model request failed. See also:
-- <https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonErrors.html Common Errors>.
languageModel_failureReason :: Lens.Lens' LanguageModel (Prelude.Maybe Prelude.Text)
languageModel_failureReason :: Lens' LanguageModel (Maybe Text)
languageModel_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:LanguageModel' :: LanguageModel -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: LanguageModel
s@LanguageModel' {} Maybe Text
a -> LanguageModel
s {$sel:failureReason:LanguageModel' :: Maybe Text
failureReason = Maybe Text
a} :: LanguageModel)

-- | The Amazon S3 location of the input files used to train and tune your
-- custom language model, in addition to the data access role ARN (Amazon
-- Resource Name) that has permissions to access these data.
languageModel_inputDataConfig :: Lens.Lens' LanguageModel (Prelude.Maybe InputDataConfig)
languageModel_inputDataConfig :: Lens' LanguageModel (Maybe InputDataConfig)
languageModel_inputDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe InputDataConfig
inputDataConfig :: Maybe InputDataConfig
$sel:inputDataConfig:LanguageModel' :: LanguageModel -> Maybe InputDataConfig
inputDataConfig} -> Maybe InputDataConfig
inputDataConfig) (\s :: LanguageModel
s@LanguageModel' {} Maybe InputDataConfig
a -> LanguageModel
s {$sel:inputDataConfig:LanguageModel' :: Maybe InputDataConfig
inputDataConfig = Maybe InputDataConfig
a} :: LanguageModel)

-- | The language code used to create your custom language model. Each custom
-- language model must contain terms in only one language, and the language
-- you select for your custom language model must match the language of
-- your training and tuning data.
--
-- For a list of supported languages and their associated language codes,
-- refer to the
-- <https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html Supported languages>
-- table. Note that U.S. English (@en-US@) is the only language supported
-- with Amazon Transcribe Medical.
languageModel_languageCode :: Lens.Lens' LanguageModel (Prelude.Maybe CLMLanguageCode)
languageModel_languageCode :: Lens' LanguageModel (Maybe CLMLanguageCode)
languageModel_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe CLMLanguageCode
languageCode :: Maybe CLMLanguageCode
$sel:languageCode:LanguageModel' :: LanguageModel -> Maybe CLMLanguageCode
languageCode} -> Maybe CLMLanguageCode
languageCode) (\s :: LanguageModel
s@LanguageModel' {} Maybe CLMLanguageCode
a -> LanguageModel
s {$sel:languageCode:LanguageModel' :: Maybe CLMLanguageCode
languageCode = Maybe CLMLanguageCode
a} :: LanguageModel)

-- | The date and time the specified custom language model was last modified.
--
-- Timestamps are in the format @YYYY-MM-DD\'T\'HH:MM:SS.SSSSSS-UTC@. For
-- example, @2022-05-04T12:32:58.761000-07:00@ represents 12:32 PM UTC-7 on
-- May 4, 2022.
languageModel_lastModifiedTime :: Lens.Lens' LanguageModel (Prelude.Maybe Prelude.UTCTime)
languageModel_lastModifiedTime :: Lens' LanguageModel (Maybe UTCTime)
languageModel_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:LanguageModel' :: LanguageModel -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: LanguageModel
s@LanguageModel' {} Maybe POSIX
a -> LanguageModel
s {$sel:lastModifiedTime:LanguageModel' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: LanguageModel) 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

-- | A unique name, chosen by you, for your custom language model.
--
-- This name is case sensitive, cannot contain spaces, and must be unique
-- within an Amazon Web Services account.
languageModel_modelName :: Lens.Lens' LanguageModel (Prelude.Maybe Prelude.Text)
languageModel_modelName :: Lens' LanguageModel (Maybe Text)
languageModel_modelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe Text
modelName :: Maybe Text
$sel:modelName:LanguageModel' :: LanguageModel -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: LanguageModel
s@LanguageModel' {} Maybe Text
a -> LanguageModel
s {$sel:modelName:LanguageModel' :: Maybe Text
modelName = Maybe Text
a} :: LanguageModel)

-- | The status of the specified custom language model. When the status
-- displays as @COMPLETED@ the model is ready for use.
languageModel_modelStatus :: Lens.Lens' LanguageModel (Prelude.Maybe ModelStatus)
languageModel_modelStatus :: Lens' LanguageModel (Maybe ModelStatus)
languageModel_modelStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe ModelStatus
modelStatus :: Maybe ModelStatus
$sel:modelStatus:LanguageModel' :: LanguageModel -> Maybe ModelStatus
modelStatus} -> Maybe ModelStatus
modelStatus) (\s :: LanguageModel
s@LanguageModel' {} Maybe ModelStatus
a -> LanguageModel
s {$sel:modelStatus:LanguageModel' :: Maybe ModelStatus
modelStatus = Maybe ModelStatus
a} :: LanguageModel)

-- | Shows if a more current base model is available for use with the
-- specified custom language model.
--
-- If @false@, your custom language model is using the most up-to-date base
-- model.
--
-- If @true@, there is a newer base model available than the one your
-- language model is using.
--
-- Note that to update a base model, you must recreate the custom language
-- model using the new base model. Base model upgrades for existing custom
-- language models are not supported.
languageModel_upgradeAvailability :: Lens.Lens' LanguageModel (Prelude.Maybe Prelude.Bool)
languageModel_upgradeAvailability :: Lens' LanguageModel (Maybe Bool)
languageModel_upgradeAvailability = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LanguageModel' {Maybe Bool
upgradeAvailability :: Maybe Bool
$sel:upgradeAvailability:LanguageModel' :: LanguageModel -> Maybe Bool
upgradeAvailability} -> Maybe Bool
upgradeAvailability) (\s :: LanguageModel
s@LanguageModel' {} Maybe Bool
a -> LanguageModel
s {$sel:upgradeAvailability:LanguageModel' :: Maybe Bool
upgradeAvailability = Maybe Bool
a} :: LanguageModel)

instance Data.FromJSON LanguageModel where
  parseJSON :: Value -> Parser LanguageModel
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"LanguageModel"
      ( \Object
x ->
          Maybe BaseModelName
-> Maybe POSIX
-> Maybe Text
-> Maybe InputDataConfig
-> Maybe CLMLanguageCode
-> Maybe POSIX
-> Maybe Text
-> Maybe ModelStatus
-> Maybe Bool
-> LanguageModel
LanguageModel'
            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
"BaseModelName")
            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
"CreateTime")
            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
"FailureReason")
            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
"LastModifiedTime")
            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
"ModelName")
            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
"ModelStatus")
            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
"UpgradeAvailability")
      )

instance Prelude.Hashable LanguageModel where
  hashWithSalt :: Int -> LanguageModel -> Int
hashWithSalt Int
_salt LanguageModel' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe BaseModelName
Maybe CLMLanguageCode
Maybe InputDataConfig
Maybe ModelStatus
upgradeAvailability :: Maybe Bool
modelStatus :: Maybe ModelStatus
modelName :: Maybe Text
lastModifiedTime :: Maybe POSIX
languageCode :: Maybe CLMLanguageCode
inputDataConfig :: Maybe InputDataConfig
failureReason :: Maybe Text
createTime :: Maybe POSIX
baseModelName :: Maybe BaseModelName
$sel:upgradeAvailability:LanguageModel' :: LanguageModel -> Maybe Bool
$sel:modelStatus:LanguageModel' :: LanguageModel -> Maybe ModelStatus
$sel:modelName:LanguageModel' :: LanguageModel -> Maybe Text
$sel:lastModifiedTime:LanguageModel' :: LanguageModel -> Maybe POSIX
$sel:languageCode:LanguageModel' :: LanguageModel -> Maybe CLMLanguageCode
$sel:inputDataConfig:LanguageModel' :: LanguageModel -> Maybe InputDataConfig
$sel:failureReason:LanguageModel' :: LanguageModel -> Maybe Text
$sel:createTime:LanguageModel' :: LanguageModel -> Maybe POSIX
$sel:baseModelName:LanguageModel' :: LanguageModel -> Maybe BaseModelName
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BaseModelName
baseModelName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
failureReason
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InputDataConfig
inputDataConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CLMLanguageCode
languageCode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelStatus
modelStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
upgradeAvailability

instance Prelude.NFData LanguageModel where
  rnf :: LanguageModel -> ()
rnf LanguageModel' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe BaseModelName
Maybe CLMLanguageCode
Maybe InputDataConfig
Maybe ModelStatus
upgradeAvailability :: Maybe Bool
modelStatus :: Maybe ModelStatus
modelName :: Maybe Text
lastModifiedTime :: Maybe POSIX
languageCode :: Maybe CLMLanguageCode
inputDataConfig :: Maybe InputDataConfig
failureReason :: Maybe Text
createTime :: Maybe POSIX
baseModelName :: Maybe BaseModelName
$sel:upgradeAvailability:LanguageModel' :: LanguageModel -> Maybe Bool
$sel:modelStatus:LanguageModel' :: LanguageModel -> Maybe ModelStatus
$sel:modelName:LanguageModel' :: LanguageModel -> Maybe Text
$sel:lastModifiedTime:LanguageModel' :: LanguageModel -> Maybe POSIX
$sel:languageCode:LanguageModel' :: LanguageModel -> Maybe CLMLanguageCode
$sel:inputDataConfig:LanguageModel' :: LanguageModel -> Maybe InputDataConfig
$sel:failureReason:LanguageModel' :: LanguageModel -> Maybe Text
$sel:createTime:LanguageModel' :: LanguageModel -> Maybe POSIX
$sel:baseModelName:LanguageModel' :: LanguageModel -> Maybe BaseModelName
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe BaseModelName
baseModelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InputDataConfig
inputDataConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CLMLanguageCode
languageCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelStatus
modelStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
upgradeAvailability