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

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.Transcribe.Types.ContentRedaction
import Amazonka.Transcribe.Types.LanguageCode
import Amazonka.Transcribe.Types.ModelSettings
import Amazonka.Transcribe.Types.OutputLocationType
import Amazonka.Transcribe.Types.TranscriptionJobStatus

-- | Provides a summary of information about a transcription job.
--
-- /See:/ 'newTranscriptionJobSummary' smart constructor.
data TranscriptionJobSummary = TranscriptionJobSummary'
  { -- | A timestamp that shows when the job was created.
    TranscriptionJobSummary -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    -- | If the @TranscriptionJobStatus@ field is @FAILED@, a description of the
    -- error.
    TranscriptionJobSummary -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The content redaction settings of the transcription job.
    TranscriptionJobSummary -> Maybe ContentRedaction
contentRedaction :: Prelude.Maybe ContentRedaction,
    -- | A value between zero and one that Amazon Transcribe assigned to the
    -- language it identified in the source audio. A higher score indicates
    -- that Amazon Transcribe is more confident in the language it identified.
    TranscriptionJobSummary -> Maybe Double
identifiedLanguageScore :: Prelude.Maybe Prelude.Double,
    -- | The language code for the input speech.
    TranscriptionJobSummary -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
    -- | Indicates the location of the output of the transcription job.
    --
    -- If the value is @CUSTOMER_BUCKET@ then the location is the S3 bucket
    -- specified in the @outputBucketName@ field when the transcription job was
    -- started with the @StartTranscriptionJob@ operation.
    --
    -- If the value is @SERVICE_BUCKET@ then the output is stored by Amazon
    -- Transcribe and can be retrieved using the URI in the
    -- @GetTranscriptionJob@ response\'s @TranscriptFileUri@ field.
    TranscriptionJobSummary -> Maybe OutputLocationType
outputLocationType :: Prelude.Maybe OutputLocationType,
    -- | A timestamp that shows when the job started processing.
    TranscriptionJobSummary -> Maybe POSIX
startTime :: Prelude.Maybe Core.POSIX,
    -- | A timestamp that shows when the job was completed.
    TranscriptionJobSummary -> Maybe POSIX
completionTime :: Prelude.Maybe Core.POSIX,
    TranscriptionJobSummary -> Maybe ModelSettings
modelSettings :: Prelude.Maybe ModelSettings,
    -- | The status of the transcription job. When the status is @COMPLETED@, use
    -- the @GetTranscriptionJob@ operation to get the results of the
    -- transcription.
    TranscriptionJobSummary -> Maybe TranscriptionJobStatus
transcriptionJobStatus :: Prelude.Maybe TranscriptionJobStatus,
    -- | The name of the transcription job.
    TranscriptionJobSummary -> Maybe Text
transcriptionJobName :: Prelude.Maybe Prelude.Text,
    -- | Whether automatic language identification was enabled for a
    -- transcription job.
    TranscriptionJobSummary -> Maybe Bool
identifyLanguage :: Prelude.Maybe Prelude.Bool
  }
  deriving (TranscriptionJobSummary -> TranscriptionJobSummary -> Bool
(TranscriptionJobSummary -> TranscriptionJobSummary -> Bool)
-> (TranscriptionJobSummary -> TranscriptionJobSummary -> Bool)
-> Eq TranscriptionJobSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TranscriptionJobSummary -> TranscriptionJobSummary -> Bool
$c/= :: TranscriptionJobSummary -> TranscriptionJobSummary -> Bool
== :: TranscriptionJobSummary -> TranscriptionJobSummary -> Bool
$c== :: TranscriptionJobSummary -> TranscriptionJobSummary -> Bool
Prelude.Eq, ReadPrec [TranscriptionJobSummary]
ReadPrec TranscriptionJobSummary
Int -> ReadS TranscriptionJobSummary
ReadS [TranscriptionJobSummary]
(Int -> ReadS TranscriptionJobSummary)
-> ReadS [TranscriptionJobSummary]
-> ReadPrec TranscriptionJobSummary
-> ReadPrec [TranscriptionJobSummary]
-> Read TranscriptionJobSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TranscriptionJobSummary]
$creadListPrec :: ReadPrec [TranscriptionJobSummary]
readPrec :: ReadPrec TranscriptionJobSummary
$creadPrec :: ReadPrec TranscriptionJobSummary
readList :: ReadS [TranscriptionJobSummary]
$creadList :: ReadS [TranscriptionJobSummary]
readsPrec :: Int -> ReadS TranscriptionJobSummary
$creadsPrec :: Int -> ReadS TranscriptionJobSummary
Prelude.Read, Int -> TranscriptionJobSummary -> ShowS
[TranscriptionJobSummary] -> ShowS
TranscriptionJobSummary -> String
(Int -> TranscriptionJobSummary -> ShowS)
-> (TranscriptionJobSummary -> String)
-> ([TranscriptionJobSummary] -> ShowS)
-> Show TranscriptionJobSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TranscriptionJobSummary] -> ShowS
$cshowList :: [TranscriptionJobSummary] -> ShowS
show :: TranscriptionJobSummary -> String
$cshow :: TranscriptionJobSummary -> String
showsPrec :: Int -> TranscriptionJobSummary -> ShowS
$cshowsPrec :: Int -> TranscriptionJobSummary -> ShowS
Prelude.Show, (forall x.
 TranscriptionJobSummary -> Rep TranscriptionJobSummary x)
-> (forall x.
    Rep TranscriptionJobSummary x -> TranscriptionJobSummary)
-> Generic TranscriptionJobSummary
forall x. Rep TranscriptionJobSummary x -> TranscriptionJobSummary
forall x. TranscriptionJobSummary -> Rep TranscriptionJobSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TranscriptionJobSummary x -> TranscriptionJobSummary
$cfrom :: forall x. TranscriptionJobSummary -> Rep TranscriptionJobSummary x
Prelude.Generic)

-- |
-- Create a value of 'TranscriptionJobSummary' 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:
--
-- 'creationTime', 'transcriptionJobSummary_creationTime' - A timestamp that shows when the job was created.
--
-- 'failureReason', 'transcriptionJobSummary_failureReason' - If the @TranscriptionJobStatus@ field is @FAILED@, a description of the
-- error.
--
-- 'contentRedaction', 'transcriptionJobSummary_contentRedaction' - The content redaction settings of the transcription job.
--
-- 'identifiedLanguageScore', 'transcriptionJobSummary_identifiedLanguageScore' - A value between zero and one that Amazon Transcribe assigned to the
-- language it identified in the source audio. A higher score indicates
-- that Amazon Transcribe is more confident in the language it identified.
--
-- 'languageCode', 'transcriptionJobSummary_languageCode' - The language code for the input speech.
--
-- 'outputLocationType', 'transcriptionJobSummary_outputLocationType' - Indicates the location of the output of the transcription job.
--
-- If the value is @CUSTOMER_BUCKET@ then the location is the S3 bucket
-- specified in the @outputBucketName@ field when the transcription job was
-- started with the @StartTranscriptionJob@ operation.
--
-- If the value is @SERVICE_BUCKET@ then the output is stored by Amazon
-- Transcribe and can be retrieved using the URI in the
-- @GetTranscriptionJob@ response\'s @TranscriptFileUri@ field.
--
-- 'startTime', 'transcriptionJobSummary_startTime' - A timestamp that shows when the job started processing.
--
-- 'completionTime', 'transcriptionJobSummary_completionTime' - A timestamp that shows when the job was completed.
--
-- 'modelSettings', 'transcriptionJobSummary_modelSettings' - Undocumented member.
--
-- 'transcriptionJobStatus', 'transcriptionJobSummary_transcriptionJobStatus' - The status of the transcription job. When the status is @COMPLETED@, use
-- the @GetTranscriptionJob@ operation to get the results of the
-- transcription.
--
-- 'transcriptionJobName', 'transcriptionJobSummary_transcriptionJobName' - The name of the transcription job.
--
-- 'identifyLanguage', 'transcriptionJobSummary_identifyLanguage' - Whether automatic language identification was enabled for a
-- transcription job.
newTranscriptionJobSummary ::
  TranscriptionJobSummary
newTranscriptionJobSummary :: TranscriptionJobSummary
newTranscriptionJobSummary =
  TranscriptionJobSummary' :: Maybe POSIX
-> Maybe Text
-> Maybe ContentRedaction
-> Maybe Double
-> Maybe LanguageCode
-> Maybe OutputLocationType
-> Maybe POSIX
-> Maybe POSIX
-> Maybe ModelSettings
-> Maybe TranscriptionJobStatus
-> Maybe Text
-> Maybe Bool
-> TranscriptionJobSummary
TranscriptionJobSummary'
    { $sel:creationTime:TranscriptionJobSummary' :: Maybe POSIX
creationTime =
        Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:TranscriptionJobSummary' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:contentRedaction:TranscriptionJobSummary' :: Maybe ContentRedaction
contentRedaction = Maybe ContentRedaction
forall a. Maybe a
Prelude.Nothing,
      $sel:identifiedLanguageScore:TranscriptionJobSummary' :: Maybe Double
identifiedLanguageScore = Maybe Double
forall a. Maybe a
Prelude.Nothing,
      $sel:languageCode:TranscriptionJobSummary' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
forall a. Maybe a
Prelude.Nothing,
      $sel:outputLocationType:TranscriptionJobSummary' :: Maybe OutputLocationType
outputLocationType = Maybe OutputLocationType
forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:TranscriptionJobSummary' :: Maybe POSIX
startTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:completionTime:TranscriptionJobSummary' :: Maybe POSIX
completionTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:modelSettings:TranscriptionJobSummary' :: Maybe ModelSettings
modelSettings = Maybe ModelSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:transcriptionJobStatus:TranscriptionJobSummary' :: Maybe TranscriptionJobStatus
transcriptionJobStatus = Maybe TranscriptionJobStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:transcriptionJobName:TranscriptionJobSummary' :: Maybe Text
transcriptionJobName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:identifyLanguage:TranscriptionJobSummary' :: Maybe Bool
identifyLanguage = Maybe Bool
forall a. Maybe a
Prelude.Nothing
    }

-- | A timestamp that shows when the job was created.
transcriptionJobSummary_creationTime :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.UTCTime)
transcriptionJobSummary_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_creationTime = (TranscriptionJobSummary -> Maybe POSIX)
-> (TranscriptionJobSummary
    -> Maybe POSIX -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe POSIX
a -> TranscriptionJobSummary
s {$sel:creationTime:TranscriptionJobSummary' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: TranscriptionJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> TranscriptionJobSummary -> f TranscriptionJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary
-> f TranscriptionJobSummary
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

-- | If the @TranscriptionJobStatus@ field is @FAILED@, a description of the
-- error.
transcriptionJobSummary_failureReason :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.Text)
transcriptionJobSummary_failureReason :: (Maybe Text -> f (Maybe Text))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_failureReason = (TranscriptionJobSummary -> Maybe Text)
-> (TranscriptionJobSummary
    -> Maybe Text -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe Text
a -> TranscriptionJobSummary
s {$sel:failureReason:TranscriptionJobSummary' :: Maybe Text
failureReason = Maybe Text
a} :: TranscriptionJobSummary)

-- | The content redaction settings of the transcription job.
transcriptionJobSummary_contentRedaction :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe ContentRedaction)
transcriptionJobSummary_contentRedaction :: (Maybe ContentRedaction -> f (Maybe ContentRedaction))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_contentRedaction = (TranscriptionJobSummary -> Maybe ContentRedaction)
-> (TranscriptionJobSummary
    -> Maybe ContentRedaction -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe ContentRedaction)
     (Maybe ContentRedaction)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe ContentRedaction
contentRedaction :: Maybe ContentRedaction
$sel:contentRedaction:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe ContentRedaction
contentRedaction} -> Maybe ContentRedaction
contentRedaction) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe ContentRedaction
a -> TranscriptionJobSummary
s {$sel:contentRedaction:TranscriptionJobSummary' :: Maybe ContentRedaction
contentRedaction = Maybe ContentRedaction
a} :: TranscriptionJobSummary)

-- | A value between zero and one that Amazon Transcribe assigned to the
-- language it identified in the source audio. A higher score indicates
-- that Amazon Transcribe is more confident in the language it identified.
transcriptionJobSummary_identifiedLanguageScore :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.Double)
transcriptionJobSummary_identifiedLanguageScore :: (Maybe Double -> f (Maybe Double))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_identifiedLanguageScore = (TranscriptionJobSummary -> Maybe Double)
-> (TranscriptionJobSummary
    -> Maybe Double -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe Double)
     (Maybe Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe Double
identifiedLanguageScore :: Maybe Double
$sel:identifiedLanguageScore:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe Double
identifiedLanguageScore} -> Maybe Double
identifiedLanguageScore) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe Double
a -> TranscriptionJobSummary
s {$sel:identifiedLanguageScore:TranscriptionJobSummary' :: Maybe Double
identifiedLanguageScore = Maybe Double
a} :: TranscriptionJobSummary)

-- | The language code for the input speech.
transcriptionJobSummary_languageCode :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe LanguageCode)
transcriptionJobSummary_languageCode :: (Maybe LanguageCode -> f (Maybe LanguageCode))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_languageCode = (TranscriptionJobSummary -> Maybe LanguageCode)
-> (TranscriptionJobSummary
    -> Maybe LanguageCode -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe LanguageCode)
     (Maybe LanguageCode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe LanguageCode
a -> TranscriptionJobSummary
s {$sel:languageCode:TranscriptionJobSummary' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: TranscriptionJobSummary)

-- | Indicates the location of the output of the transcription job.
--
-- If the value is @CUSTOMER_BUCKET@ then the location is the S3 bucket
-- specified in the @outputBucketName@ field when the transcription job was
-- started with the @StartTranscriptionJob@ operation.
--
-- If the value is @SERVICE_BUCKET@ then the output is stored by Amazon
-- Transcribe and can be retrieved using the URI in the
-- @GetTranscriptionJob@ response\'s @TranscriptFileUri@ field.
transcriptionJobSummary_outputLocationType :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe OutputLocationType)
transcriptionJobSummary_outputLocationType :: (Maybe OutputLocationType -> f (Maybe OutputLocationType))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_outputLocationType = (TranscriptionJobSummary -> Maybe OutputLocationType)
-> (TranscriptionJobSummary
    -> Maybe OutputLocationType -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe OutputLocationType)
     (Maybe OutputLocationType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe OutputLocationType
outputLocationType :: Maybe OutputLocationType
$sel:outputLocationType:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe OutputLocationType
outputLocationType} -> Maybe OutputLocationType
outputLocationType) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe OutputLocationType
a -> TranscriptionJobSummary
s {$sel:outputLocationType:TranscriptionJobSummary' :: Maybe OutputLocationType
outputLocationType = Maybe OutputLocationType
a} :: TranscriptionJobSummary)

-- | A timestamp that shows when the job started processing.
transcriptionJobSummary_startTime :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.UTCTime)
transcriptionJobSummary_startTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_startTime = (TranscriptionJobSummary -> Maybe POSIX)
-> (TranscriptionJobSummary
    -> Maybe POSIX -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe POSIX
a -> TranscriptionJobSummary
s {$sel:startTime:TranscriptionJobSummary' :: Maybe POSIX
startTime = Maybe POSIX
a} :: TranscriptionJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> TranscriptionJobSummary -> f TranscriptionJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary
-> f TranscriptionJobSummary
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

-- | A timestamp that shows when the job was completed.
transcriptionJobSummary_completionTime :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.UTCTime)
transcriptionJobSummary_completionTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_completionTime = (TranscriptionJobSummary -> Maybe POSIX)
-> (TranscriptionJobSummary
    -> Maybe POSIX -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe POSIX
completionTime :: Maybe POSIX
$sel:completionTime:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe POSIX
completionTime} -> Maybe POSIX
completionTime) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe POSIX
a -> TranscriptionJobSummary
s {$sel:completionTime:TranscriptionJobSummary' :: Maybe POSIX
completionTime = Maybe POSIX
a} :: TranscriptionJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> TranscriptionJobSummary -> f TranscriptionJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TranscriptionJobSummary
-> f TranscriptionJobSummary
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

-- | Undocumented member.
transcriptionJobSummary_modelSettings :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe ModelSettings)
transcriptionJobSummary_modelSettings :: (Maybe ModelSettings -> f (Maybe ModelSettings))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_modelSettings = (TranscriptionJobSummary -> Maybe ModelSettings)
-> (TranscriptionJobSummary
    -> Maybe ModelSettings -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe ModelSettings)
     (Maybe ModelSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe ModelSettings
modelSettings :: Maybe ModelSettings
$sel:modelSettings:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe ModelSettings
modelSettings} -> Maybe ModelSettings
modelSettings) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe ModelSettings
a -> TranscriptionJobSummary
s {$sel:modelSettings:TranscriptionJobSummary' :: Maybe ModelSettings
modelSettings = Maybe ModelSettings
a} :: TranscriptionJobSummary)

-- | The status of the transcription job. When the status is @COMPLETED@, use
-- the @GetTranscriptionJob@ operation to get the results of the
-- transcription.
transcriptionJobSummary_transcriptionJobStatus :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe TranscriptionJobStatus)
transcriptionJobSummary_transcriptionJobStatus :: (Maybe TranscriptionJobStatus -> f (Maybe TranscriptionJobStatus))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_transcriptionJobStatus = (TranscriptionJobSummary -> Maybe TranscriptionJobStatus)
-> (TranscriptionJobSummary
    -> Maybe TranscriptionJobStatus -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe TranscriptionJobStatus)
     (Maybe TranscriptionJobStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe TranscriptionJobStatus
transcriptionJobStatus :: Maybe TranscriptionJobStatus
$sel:transcriptionJobStatus:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe TranscriptionJobStatus
transcriptionJobStatus} -> Maybe TranscriptionJobStatus
transcriptionJobStatus) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe TranscriptionJobStatus
a -> TranscriptionJobSummary
s {$sel:transcriptionJobStatus:TranscriptionJobSummary' :: Maybe TranscriptionJobStatus
transcriptionJobStatus = Maybe TranscriptionJobStatus
a} :: TranscriptionJobSummary)

-- | The name of the transcription job.
transcriptionJobSummary_transcriptionJobName :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.Text)
transcriptionJobSummary_transcriptionJobName :: (Maybe Text -> f (Maybe Text))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_transcriptionJobName = (TranscriptionJobSummary -> Maybe Text)
-> (TranscriptionJobSummary
    -> Maybe Text -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe Text
transcriptionJobName :: Maybe Text
$sel:transcriptionJobName:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe Text
transcriptionJobName} -> Maybe Text
transcriptionJobName) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe Text
a -> TranscriptionJobSummary
s {$sel:transcriptionJobName:TranscriptionJobSummary' :: Maybe Text
transcriptionJobName = Maybe Text
a} :: TranscriptionJobSummary)

-- | Whether automatic language identification was enabled for a
-- transcription job.
transcriptionJobSummary_identifyLanguage :: Lens.Lens' TranscriptionJobSummary (Prelude.Maybe Prelude.Bool)
transcriptionJobSummary_identifyLanguage :: (Maybe Bool -> f (Maybe Bool))
-> TranscriptionJobSummary -> f TranscriptionJobSummary
transcriptionJobSummary_identifyLanguage = (TranscriptionJobSummary -> Maybe Bool)
-> (TranscriptionJobSummary
    -> Maybe Bool -> TranscriptionJobSummary)
-> Lens
     TranscriptionJobSummary
     TranscriptionJobSummary
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TranscriptionJobSummary' {Maybe Bool
identifyLanguage :: Maybe Bool
$sel:identifyLanguage:TranscriptionJobSummary' :: TranscriptionJobSummary -> Maybe Bool
identifyLanguage} -> Maybe Bool
identifyLanguage) (\s :: TranscriptionJobSummary
s@TranscriptionJobSummary' {} Maybe Bool
a -> TranscriptionJobSummary
s {$sel:identifyLanguage:TranscriptionJobSummary' :: Maybe Bool
identifyLanguage = Maybe Bool
a} :: TranscriptionJobSummary)

instance Core.FromJSON TranscriptionJobSummary where
  parseJSON :: Value -> Parser TranscriptionJobSummary
parseJSON =
    String
-> (Object -> Parser TranscriptionJobSummary)
-> Value
-> Parser TranscriptionJobSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"TranscriptionJobSummary"
      ( \Object
x ->
          Maybe POSIX
-> Maybe Text
-> Maybe ContentRedaction
-> Maybe Double
-> Maybe LanguageCode
-> Maybe OutputLocationType
-> Maybe POSIX
-> Maybe POSIX
-> Maybe ModelSettings
-> Maybe TranscriptionJobStatus
-> Maybe Text
-> Maybe Bool
-> TranscriptionJobSummary
TranscriptionJobSummary'
            (Maybe POSIX
 -> Maybe Text
 -> Maybe ContentRedaction
 -> Maybe Double
 -> Maybe LanguageCode
 -> Maybe OutputLocationType
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe ModelSettings
 -> Maybe TranscriptionJobStatus
 -> Maybe Text
 -> Maybe Bool
 -> TranscriptionJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe ContentRedaction
      -> Maybe Double
      -> Maybe LanguageCode
      -> Maybe OutputLocationType
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Functor 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
"CreationTime")
            Parser
  (Maybe Text
   -> Maybe ContentRedaction
   -> Maybe Double
   -> Maybe LanguageCode
   -> Maybe OutputLocationType
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe ContentRedaction
      -> Maybe Double
      -> Maybe LanguageCode
      -> Maybe OutputLocationType
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
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
"FailureReason")
            Parser
  (Maybe ContentRedaction
   -> Maybe Double
   -> Maybe LanguageCode
   -> Maybe OutputLocationType
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe ContentRedaction)
-> Parser
     (Maybe Double
      -> Maybe LanguageCode
      -> Maybe OutputLocationType
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ContentRedaction)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ContentRedaction")
            Parser
  (Maybe Double
   -> Maybe LanguageCode
   -> Maybe OutputLocationType
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe Double)
-> Parser
     (Maybe LanguageCode
      -> Maybe OutputLocationType
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"IdentifiedLanguageScore")
            Parser
  (Maybe LanguageCode
   -> Maybe OutputLocationType
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe LanguageCode)
-> Parser
     (Maybe OutputLocationType
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
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 OutputLocationType
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe OutputLocationType)
-> Parser
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe OutputLocationType)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OutputLocationType")
            Parser
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe POSIX
      -> Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
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
"StartTime")
            Parser
  (Maybe POSIX
   -> Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe ModelSettings
      -> Maybe TranscriptionJobStatus
      -> Maybe Text
      -> Maybe Bool
      -> TranscriptionJobSummary)
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
"CompletionTime")
            Parser
  (Maybe ModelSettings
   -> Maybe TranscriptionJobStatus
   -> Maybe Text
   -> Maybe Bool
   -> TranscriptionJobSummary)
-> Parser (Maybe ModelSettings)
-> Parser
     (Maybe TranscriptionJobStatus
      -> Maybe Text -> Maybe Bool -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ModelSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ModelSettings")
            Parser
  (Maybe TranscriptionJobStatus
   -> Maybe Text -> Maybe Bool -> TranscriptionJobSummary)
-> Parser (Maybe TranscriptionJobStatus)
-> Parser (Maybe Text -> Maybe Bool -> TranscriptionJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TranscriptionJobStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TranscriptionJobStatus")
            Parser (Maybe Text -> Maybe Bool -> TranscriptionJobSummary)
-> Parser (Maybe Text)
-> Parser (Maybe Bool -> TranscriptionJobSummary)
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
"TranscriptionJobName")
            Parser (Maybe Bool -> TranscriptionJobSummary)
-> Parser (Maybe Bool) -> Parser TranscriptionJobSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"IdentifyLanguage")
      )

instance Prelude.Hashable TranscriptionJobSummary

instance Prelude.NFData TranscriptionJobSummary