{-# 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.SageMaker.Types.AutoMLJobSummary
-- 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.SageMaker.Types.AutoMLJobSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.AutoMLJobSecondaryStatus
import Amazonka.SageMaker.Types.AutoMLJobStatus
import Amazonka.SageMaker.Types.AutoMLPartialFailureReason

-- | Provides a summary about an AutoML job.
--
-- /See:/ 'newAutoMLJobSummary' smart constructor.
data AutoMLJobSummary = AutoMLJobSummary'
  { -- | The failure reason of an AutoML job.
    AutoMLJobSummary -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The list of reasons for partial failures within an AutoML job.
    AutoMLJobSummary -> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons :: Prelude.Maybe (Prelude.NonEmpty AutoMLPartialFailureReason),
    -- | The end time of an AutoML job.
    AutoMLJobSummary -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the AutoML job you are requesting.
    AutoMLJobSummary -> Text
autoMLJobName :: Prelude.Text,
    -- | The ARN of the AutoML job.
    AutoMLJobSummary -> Text
autoMLJobArn :: Prelude.Text,
    -- | The status of the AutoML job.
    AutoMLJobSummary -> AutoMLJobStatus
autoMLJobStatus :: AutoMLJobStatus,
    -- | The secondary status of the AutoML job.
    AutoMLJobSummary -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus :: AutoMLJobSecondaryStatus,
    -- | When the AutoML job was created.
    AutoMLJobSummary -> POSIX
creationTime :: Core.POSIX,
    -- | When the AutoML job was last modified.
    AutoMLJobSummary -> POSIX
lastModifiedTime :: Core.POSIX
  }
  deriving (AutoMLJobSummary -> AutoMLJobSummary -> Bool
(AutoMLJobSummary -> AutoMLJobSummary -> Bool)
-> (AutoMLJobSummary -> AutoMLJobSummary -> Bool)
-> Eq AutoMLJobSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AutoMLJobSummary -> AutoMLJobSummary -> Bool
$c/= :: AutoMLJobSummary -> AutoMLJobSummary -> Bool
== :: AutoMLJobSummary -> AutoMLJobSummary -> Bool
$c== :: AutoMLJobSummary -> AutoMLJobSummary -> Bool
Prelude.Eq, ReadPrec [AutoMLJobSummary]
ReadPrec AutoMLJobSummary
Int -> ReadS AutoMLJobSummary
ReadS [AutoMLJobSummary]
(Int -> ReadS AutoMLJobSummary)
-> ReadS [AutoMLJobSummary]
-> ReadPrec AutoMLJobSummary
-> ReadPrec [AutoMLJobSummary]
-> Read AutoMLJobSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AutoMLJobSummary]
$creadListPrec :: ReadPrec [AutoMLJobSummary]
readPrec :: ReadPrec AutoMLJobSummary
$creadPrec :: ReadPrec AutoMLJobSummary
readList :: ReadS [AutoMLJobSummary]
$creadList :: ReadS [AutoMLJobSummary]
readsPrec :: Int -> ReadS AutoMLJobSummary
$creadsPrec :: Int -> ReadS AutoMLJobSummary
Prelude.Read, Int -> AutoMLJobSummary -> ShowS
[AutoMLJobSummary] -> ShowS
AutoMLJobSummary -> String
(Int -> AutoMLJobSummary -> ShowS)
-> (AutoMLJobSummary -> String)
-> ([AutoMLJobSummary] -> ShowS)
-> Show AutoMLJobSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AutoMLJobSummary] -> ShowS
$cshowList :: [AutoMLJobSummary] -> ShowS
show :: AutoMLJobSummary -> String
$cshow :: AutoMLJobSummary -> String
showsPrec :: Int -> AutoMLJobSummary -> ShowS
$cshowsPrec :: Int -> AutoMLJobSummary -> ShowS
Prelude.Show, (forall x. AutoMLJobSummary -> Rep AutoMLJobSummary x)
-> (forall x. Rep AutoMLJobSummary x -> AutoMLJobSummary)
-> Generic AutoMLJobSummary
forall x. Rep AutoMLJobSummary x -> AutoMLJobSummary
forall x. AutoMLJobSummary -> Rep AutoMLJobSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AutoMLJobSummary x -> AutoMLJobSummary
$cfrom :: forall x. AutoMLJobSummary -> Rep AutoMLJobSummary x
Prelude.Generic)

-- |
-- Create a value of 'AutoMLJobSummary' 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:
--
-- 'failureReason', 'autoMLJobSummary_failureReason' - The failure reason of an AutoML job.
--
-- 'partialFailureReasons', 'autoMLJobSummary_partialFailureReasons' - The list of reasons for partial failures within an AutoML job.
--
-- 'endTime', 'autoMLJobSummary_endTime' - The end time of an AutoML job.
--
-- 'autoMLJobName', 'autoMLJobSummary_autoMLJobName' - The name of the AutoML job you are requesting.
--
-- 'autoMLJobArn', 'autoMLJobSummary_autoMLJobArn' - The ARN of the AutoML job.
--
-- 'autoMLJobStatus', 'autoMLJobSummary_autoMLJobStatus' - The status of the AutoML job.
--
-- 'autoMLJobSecondaryStatus', 'autoMLJobSummary_autoMLJobSecondaryStatus' - The secondary status of the AutoML job.
--
-- 'creationTime', 'autoMLJobSummary_creationTime' - When the AutoML job was created.
--
-- 'lastModifiedTime', 'autoMLJobSummary_lastModifiedTime' - When the AutoML job was last modified.
newAutoMLJobSummary ::
  -- | 'autoMLJobName'
  Prelude.Text ->
  -- | 'autoMLJobArn'
  Prelude.Text ->
  -- | 'autoMLJobStatus'
  AutoMLJobStatus ->
  -- | 'autoMLJobSecondaryStatus'
  AutoMLJobSecondaryStatus ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  AutoMLJobSummary
newAutoMLJobSummary :: Text
-> Text
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> UTCTime
-> UTCTime
-> AutoMLJobSummary
newAutoMLJobSummary
  Text
pAutoMLJobName_
  Text
pAutoMLJobArn_
  AutoMLJobStatus
pAutoMLJobStatus_
  AutoMLJobSecondaryStatus
pAutoMLJobSecondaryStatus_
  UTCTime
pCreationTime_
  UTCTime
pLastModifiedTime_ =
    AutoMLJobSummary' :: Maybe Text
-> Maybe (NonEmpty AutoMLPartialFailureReason)
-> Maybe POSIX
-> Text
-> Text
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> POSIX
-> POSIX
-> AutoMLJobSummary
AutoMLJobSummary'
      { $sel:failureReason:AutoMLJobSummary' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:partialFailureReasons:AutoMLJobSummary' :: Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons = Maybe (NonEmpty AutoMLPartialFailureReason)
forall a. Maybe a
Prelude.Nothing,
        $sel:endTime:AutoMLJobSummary' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:autoMLJobName:AutoMLJobSummary' :: Text
autoMLJobName = Text
pAutoMLJobName_,
        $sel:autoMLJobArn:AutoMLJobSummary' :: Text
autoMLJobArn = Text
pAutoMLJobArn_,
        $sel:autoMLJobStatus:AutoMLJobSummary' :: AutoMLJobStatus
autoMLJobStatus = AutoMLJobStatus
pAutoMLJobStatus_,
        $sel:autoMLJobSecondaryStatus:AutoMLJobSummary' :: AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus =
          AutoMLJobSecondaryStatus
pAutoMLJobSecondaryStatus_,
        $sel:creationTime:AutoMLJobSummary' :: POSIX
creationTime = Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:lastModifiedTime:AutoMLJobSummary' :: POSIX
lastModifiedTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_
      }

-- | The failure reason of an AutoML job.
autoMLJobSummary_failureReason :: Lens.Lens' AutoMLJobSummary (Prelude.Maybe Prelude.Text)
autoMLJobSummary_failureReason :: (Maybe Text -> f (Maybe Text))
-> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_failureReason = (AutoMLJobSummary -> Maybe Text)
-> (AutoMLJobSummary -> Maybe Text -> AutoMLJobSummary)
-> Lens AutoMLJobSummary AutoMLJobSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:AutoMLJobSummary' :: AutoMLJobSummary -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} Maybe Text
a -> AutoMLJobSummary
s {$sel:failureReason:AutoMLJobSummary' :: Maybe Text
failureReason = Maybe Text
a} :: AutoMLJobSummary)

-- | The list of reasons for partial failures within an AutoML job.
autoMLJobSummary_partialFailureReasons :: Lens.Lens' AutoMLJobSummary (Prelude.Maybe (Prelude.NonEmpty AutoMLPartialFailureReason))
autoMLJobSummary_partialFailureReasons :: (Maybe (NonEmpty AutoMLPartialFailureReason)
 -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_partialFailureReasons = (AutoMLJobSummary -> Maybe (NonEmpty AutoMLPartialFailureReason))
-> (AutoMLJobSummary
    -> Maybe (NonEmpty AutoMLPartialFailureReason) -> AutoMLJobSummary)
-> Lens
     AutoMLJobSummary
     AutoMLJobSummary
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons :: Maybe (NonEmpty AutoMLPartialFailureReason)
$sel:partialFailureReasons:AutoMLJobSummary' :: AutoMLJobSummary -> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons} -> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} Maybe (NonEmpty AutoMLPartialFailureReason)
a -> AutoMLJobSummary
s {$sel:partialFailureReasons:AutoMLJobSummary' :: Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons = Maybe (NonEmpty AutoMLPartialFailureReason)
a} :: AutoMLJobSummary) ((Maybe (NonEmpty AutoMLPartialFailureReason)
  -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
 -> AutoMLJobSummary -> f AutoMLJobSummary)
-> ((Maybe (NonEmpty AutoMLPartialFailureReason)
     -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
    -> Maybe (NonEmpty AutoMLPartialFailureReason)
    -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> (Maybe (NonEmpty AutoMLPartialFailureReason)
    -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> AutoMLJobSummary
-> f AutoMLJobSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
-> Iso
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
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
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The end time of an AutoML job.
autoMLJobSummary_endTime :: Lens.Lens' AutoMLJobSummary (Prelude.Maybe Prelude.UTCTime)
autoMLJobSummary_endTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_endTime = (AutoMLJobSummary -> Maybe POSIX)
-> (AutoMLJobSummary -> Maybe POSIX -> AutoMLJobSummary)
-> Lens
     AutoMLJobSummary AutoMLJobSummary (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:AutoMLJobSummary' :: AutoMLJobSummary -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} Maybe POSIX
a -> AutoMLJobSummary
s {$sel:endTime:AutoMLJobSummary' :: Maybe POSIX
endTime = Maybe POSIX
a} :: AutoMLJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> AutoMLJobSummary -> f AutoMLJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> AutoMLJobSummary
-> f AutoMLJobSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the AutoML job you are requesting.
autoMLJobSummary_autoMLJobName :: Lens.Lens' AutoMLJobSummary Prelude.Text
autoMLJobSummary_autoMLJobName :: (Text -> f Text) -> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_autoMLJobName = (AutoMLJobSummary -> Text)
-> (AutoMLJobSummary -> Text -> AutoMLJobSummary)
-> Lens AutoMLJobSummary AutoMLJobSummary Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {Text
autoMLJobName :: Text
$sel:autoMLJobName:AutoMLJobSummary' :: AutoMLJobSummary -> Text
autoMLJobName} -> Text
autoMLJobName) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} Text
a -> AutoMLJobSummary
s {$sel:autoMLJobName:AutoMLJobSummary' :: Text
autoMLJobName = Text
a} :: AutoMLJobSummary)

-- | The ARN of the AutoML job.
autoMLJobSummary_autoMLJobArn :: Lens.Lens' AutoMLJobSummary Prelude.Text
autoMLJobSummary_autoMLJobArn :: (Text -> f Text) -> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_autoMLJobArn = (AutoMLJobSummary -> Text)
-> (AutoMLJobSummary -> Text -> AutoMLJobSummary)
-> Lens AutoMLJobSummary AutoMLJobSummary Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {Text
autoMLJobArn :: Text
$sel:autoMLJobArn:AutoMLJobSummary' :: AutoMLJobSummary -> Text
autoMLJobArn} -> Text
autoMLJobArn) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} Text
a -> AutoMLJobSummary
s {$sel:autoMLJobArn:AutoMLJobSummary' :: Text
autoMLJobArn = Text
a} :: AutoMLJobSummary)

-- | The status of the AutoML job.
autoMLJobSummary_autoMLJobStatus :: Lens.Lens' AutoMLJobSummary AutoMLJobStatus
autoMLJobSummary_autoMLJobStatus :: (AutoMLJobStatus -> f AutoMLJobStatus)
-> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_autoMLJobStatus = (AutoMLJobSummary -> AutoMLJobStatus)
-> (AutoMLJobSummary -> AutoMLJobStatus -> AutoMLJobSummary)
-> Lens
     AutoMLJobSummary AutoMLJobSummary AutoMLJobStatus AutoMLJobStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {AutoMLJobStatus
autoMLJobStatus :: AutoMLJobStatus
$sel:autoMLJobStatus:AutoMLJobSummary' :: AutoMLJobSummary -> AutoMLJobStatus
autoMLJobStatus} -> AutoMLJobStatus
autoMLJobStatus) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} AutoMLJobStatus
a -> AutoMLJobSummary
s {$sel:autoMLJobStatus:AutoMLJobSummary' :: AutoMLJobStatus
autoMLJobStatus = AutoMLJobStatus
a} :: AutoMLJobSummary)

-- | The secondary status of the AutoML job.
autoMLJobSummary_autoMLJobSecondaryStatus :: Lens.Lens' AutoMLJobSummary AutoMLJobSecondaryStatus
autoMLJobSummary_autoMLJobSecondaryStatus :: (AutoMLJobSecondaryStatus -> f AutoMLJobSecondaryStatus)
-> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_autoMLJobSecondaryStatus = (AutoMLJobSummary -> AutoMLJobSecondaryStatus)
-> (AutoMLJobSummary
    -> AutoMLJobSecondaryStatus -> AutoMLJobSummary)
-> Lens
     AutoMLJobSummary
     AutoMLJobSummary
     AutoMLJobSecondaryStatus
     AutoMLJobSecondaryStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus :: AutoMLJobSecondaryStatus
$sel:autoMLJobSecondaryStatus:AutoMLJobSummary' :: AutoMLJobSummary -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus} -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} AutoMLJobSecondaryStatus
a -> AutoMLJobSummary
s {$sel:autoMLJobSecondaryStatus:AutoMLJobSummary' :: AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus = AutoMLJobSecondaryStatus
a} :: AutoMLJobSummary)

-- | When the AutoML job was created.
autoMLJobSummary_creationTime :: Lens.Lens' AutoMLJobSummary Prelude.UTCTime
autoMLJobSummary_creationTime :: (UTCTime -> f UTCTime) -> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_creationTime = (AutoMLJobSummary -> POSIX)
-> (AutoMLJobSummary -> POSIX -> AutoMLJobSummary)
-> Lens AutoMLJobSummary AutoMLJobSummary POSIX POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {POSIX
creationTime :: POSIX
$sel:creationTime:AutoMLJobSummary' :: AutoMLJobSummary -> POSIX
creationTime} -> POSIX
creationTime) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} POSIX
a -> AutoMLJobSummary
s {$sel:creationTime:AutoMLJobSummary' :: POSIX
creationTime = POSIX
a} :: AutoMLJobSummary) ((POSIX -> f POSIX) -> AutoMLJobSummary -> f AutoMLJobSummary)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> AutoMLJobSummary
-> f AutoMLJobSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | When the AutoML job was last modified.
autoMLJobSummary_lastModifiedTime :: Lens.Lens' AutoMLJobSummary Prelude.UTCTime
autoMLJobSummary_lastModifiedTime :: (UTCTime -> f UTCTime) -> AutoMLJobSummary -> f AutoMLJobSummary
autoMLJobSummary_lastModifiedTime = (AutoMLJobSummary -> POSIX)
-> (AutoMLJobSummary -> POSIX -> AutoMLJobSummary)
-> Lens AutoMLJobSummary AutoMLJobSummary POSIX POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoMLJobSummary' {POSIX
lastModifiedTime :: POSIX
$sel:lastModifiedTime:AutoMLJobSummary' :: AutoMLJobSummary -> POSIX
lastModifiedTime} -> POSIX
lastModifiedTime) (\s :: AutoMLJobSummary
s@AutoMLJobSummary' {} POSIX
a -> AutoMLJobSummary
s {$sel:lastModifiedTime:AutoMLJobSummary' :: POSIX
lastModifiedTime = POSIX
a} :: AutoMLJobSummary) ((POSIX -> f POSIX) -> AutoMLJobSummary -> f AutoMLJobSummary)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> AutoMLJobSummary
-> f AutoMLJobSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

instance Core.FromJSON AutoMLJobSummary where
  parseJSON :: Value -> Parser AutoMLJobSummary
parseJSON =
    String
-> (Object -> Parser AutoMLJobSummary)
-> Value
-> Parser AutoMLJobSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"AutoMLJobSummary"
      ( \Object
x ->
          Maybe Text
-> Maybe (NonEmpty AutoMLPartialFailureReason)
-> Maybe POSIX
-> Text
-> Text
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> POSIX
-> POSIX
-> AutoMLJobSummary
AutoMLJobSummary'
            (Maybe Text
 -> Maybe (NonEmpty AutoMLPartialFailureReason)
 -> Maybe POSIX
 -> Text
 -> Text
 -> AutoMLJobStatus
 -> AutoMLJobSecondaryStatus
 -> POSIX
 -> POSIX
 -> AutoMLJobSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe (NonEmpty AutoMLPartialFailureReason)
      -> Maybe POSIX
      -> Text
      -> Text
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> POSIX
      -> POSIX
      -> AutoMLJobSummary)
forall (f :: * -> *) a b. Functor 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 (NonEmpty AutoMLPartialFailureReason)
   -> Maybe POSIX
   -> Text
   -> Text
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> POSIX
   -> POSIX
   -> AutoMLJobSummary)
-> Parser (Maybe (NonEmpty AutoMLPartialFailureReason))
-> Parser
     (Maybe POSIX
      -> Text
      -> Text
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> POSIX
      -> POSIX
      -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe (NonEmpty AutoMLPartialFailureReason))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PartialFailureReasons")
            Parser
  (Maybe POSIX
   -> Text
   -> Text
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> POSIX
   -> POSIX
   -> AutoMLJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Text
      -> Text
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> POSIX
      -> POSIX
      -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EndTime")
            Parser
  (Text
   -> Text
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> POSIX
   -> POSIX
   -> AutoMLJobSummary)
-> Parser Text
-> Parser
     (Text
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> POSIX
      -> POSIX
      -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"AutoMLJobName")
            Parser
  (Text
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> POSIX
   -> POSIX
   -> AutoMLJobSummary)
-> Parser Text
-> Parser
     (AutoMLJobStatus
      -> AutoMLJobSecondaryStatus -> POSIX -> POSIX -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"AutoMLJobArn")
            Parser
  (AutoMLJobStatus
   -> AutoMLJobSecondaryStatus -> POSIX -> POSIX -> AutoMLJobSummary)
-> Parser AutoMLJobStatus
-> Parser
     (AutoMLJobSecondaryStatus -> POSIX -> POSIX -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser AutoMLJobStatus
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"AutoMLJobStatus")
            Parser
  (AutoMLJobSecondaryStatus -> POSIX -> POSIX -> AutoMLJobSummary)
-> Parser AutoMLJobSecondaryStatus
-> Parser (POSIX -> POSIX -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser AutoMLJobSecondaryStatus
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"AutoMLJobSecondaryStatus")
            Parser (POSIX -> POSIX -> AutoMLJobSummary)
-> Parser POSIX -> Parser (POSIX -> AutoMLJobSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser POSIX
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"CreationTime")
            Parser (POSIX -> AutoMLJobSummary)
-> Parser POSIX -> Parser AutoMLJobSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser POSIX
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"LastModifiedTime")
      )

instance Prelude.Hashable AutoMLJobSummary

instance Prelude.NFData AutoMLJobSummary