{-# 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.LookoutEquipment.Types.InferenceExecutionSummary
-- 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.LookoutEquipment.Types.InferenceExecutionSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.LookoutEquipment.Types.InferenceExecutionStatus
import Amazonka.LookoutEquipment.Types.InferenceInputConfiguration
import Amazonka.LookoutEquipment.Types.InferenceOutputConfiguration
import Amazonka.LookoutEquipment.Types.S3Object
import qualified Amazonka.Prelude as Prelude

-- | Contains information about the specific inference execution, including
-- input and output data configuration, inference scheduling information,
-- status, and so on.
--
-- /See:/ 'newInferenceExecutionSummary' smart constructor.
data InferenceExecutionSummary = InferenceExecutionSummary'
  { -- | Indicates the status of the inference execution.
    InferenceExecutionSummary -> Maybe InferenceExecutionStatus
status :: Prelude.Maybe InferenceExecutionStatus,
    -- | Specifies the reason for failure when an inference execution has failed.
    InferenceExecutionSummary -> Maybe Text
failedReason :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the ML model used for the inference
    -- execution.
    InferenceExecutionSummary -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | Indicates the time reference in the dataset at which the inference
    -- execution began.
    InferenceExecutionSummary -> Maybe POSIX
dataStartTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the ML model being used for the inference execution.
    InferenceExecutionSummary -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    InferenceExecutionSummary -> Maybe S3Object
customerResultObject :: Prelude.Maybe S3Object,
    -- | The Amazon Resource Name (ARN) of the inference scheduler being used for
    -- the inference execution.
    InferenceExecutionSummary -> Maybe Text
inferenceSchedulerArn :: Prelude.Maybe Prelude.Text,
    -- | Indicates the start time at which the inference scheduler began the
    -- specific inference execution.
    InferenceExecutionSummary -> Maybe POSIX
scheduledStartTime :: Prelude.Maybe Core.POSIX,
    -- | Specifies configuration information for the output results from for the
    -- inference execution, including the output S3 location.
    InferenceExecutionSummary -> Maybe InferenceOutputConfiguration
dataOutputConfiguration :: Prelude.Maybe InferenceOutputConfiguration,
    -- | Indicates the time reference in the dataset at which the inference
    -- execution stopped.
    InferenceExecutionSummary -> Maybe POSIX
dataEndTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the inference scheduler being used for the inference
    -- execution.
    InferenceExecutionSummary -> Maybe Text
inferenceSchedulerName :: Prelude.Maybe Prelude.Text,
    -- | Specifies configuration information for the input data for the inference
    -- scheduler, including delimiter, format, and dataset location.
    InferenceExecutionSummary -> Maybe InferenceInputConfiguration
dataInputConfiguration :: Prelude.Maybe InferenceInputConfiguration
  }
  deriving (InferenceExecutionSummary -> InferenceExecutionSummary -> Bool
(InferenceExecutionSummary -> InferenceExecutionSummary -> Bool)
-> (InferenceExecutionSummary -> InferenceExecutionSummary -> Bool)
-> Eq InferenceExecutionSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InferenceExecutionSummary -> InferenceExecutionSummary -> Bool
$c/= :: InferenceExecutionSummary -> InferenceExecutionSummary -> Bool
== :: InferenceExecutionSummary -> InferenceExecutionSummary -> Bool
$c== :: InferenceExecutionSummary -> InferenceExecutionSummary -> Bool
Prelude.Eq, ReadPrec [InferenceExecutionSummary]
ReadPrec InferenceExecutionSummary
Int -> ReadS InferenceExecutionSummary
ReadS [InferenceExecutionSummary]
(Int -> ReadS InferenceExecutionSummary)
-> ReadS [InferenceExecutionSummary]
-> ReadPrec InferenceExecutionSummary
-> ReadPrec [InferenceExecutionSummary]
-> Read InferenceExecutionSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [InferenceExecutionSummary]
$creadListPrec :: ReadPrec [InferenceExecutionSummary]
readPrec :: ReadPrec InferenceExecutionSummary
$creadPrec :: ReadPrec InferenceExecutionSummary
readList :: ReadS [InferenceExecutionSummary]
$creadList :: ReadS [InferenceExecutionSummary]
readsPrec :: Int -> ReadS InferenceExecutionSummary
$creadsPrec :: Int -> ReadS InferenceExecutionSummary
Prelude.Read, Int -> InferenceExecutionSummary -> ShowS
[InferenceExecutionSummary] -> ShowS
InferenceExecutionSummary -> String
(Int -> InferenceExecutionSummary -> ShowS)
-> (InferenceExecutionSummary -> String)
-> ([InferenceExecutionSummary] -> ShowS)
-> Show InferenceExecutionSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InferenceExecutionSummary] -> ShowS
$cshowList :: [InferenceExecutionSummary] -> ShowS
show :: InferenceExecutionSummary -> String
$cshow :: InferenceExecutionSummary -> String
showsPrec :: Int -> InferenceExecutionSummary -> ShowS
$cshowsPrec :: Int -> InferenceExecutionSummary -> ShowS
Prelude.Show, (forall x.
 InferenceExecutionSummary -> Rep InferenceExecutionSummary x)
-> (forall x.
    Rep InferenceExecutionSummary x -> InferenceExecutionSummary)
-> Generic InferenceExecutionSummary
forall x.
Rep InferenceExecutionSummary x -> InferenceExecutionSummary
forall x.
InferenceExecutionSummary -> Rep InferenceExecutionSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep InferenceExecutionSummary x -> InferenceExecutionSummary
$cfrom :: forall x.
InferenceExecutionSummary -> Rep InferenceExecutionSummary x
Prelude.Generic)

-- |
-- Create a value of 'InferenceExecutionSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'status', 'inferenceExecutionSummary_status' - Indicates the status of the inference execution.
--
-- 'failedReason', 'inferenceExecutionSummary_failedReason' - Specifies the reason for failure when an inference execution has failed.
--
-- 'modelArn', 'inferenceExecutionSummary_modelArn' - The Amazon Resource Name (ARN) of the ML model used for the inference
-- execution.
--
-- 'dataStartTime', 'inferenceExecutionSummary_dataStartTime' - Indicates the time reference in the dataset at which the inference
-- execution began.
--
-- 'modelName', 'inferenceExecutionSummary_modelName' - The name of the ML model being used for the inference execution.
--
-- 'customerResultObject', 'inferenceExecutionSummary_customerResultObject' -
--
-- 'inferenceSchedulerArn', 'inferenceExecutionSummary_inferenceSchedulerArn' - The Amazon Resource Name (ARN) of the inference scheduler being used for
-- the inference execution.
--
-- 'scheduledStartTime', 'inferenceExecutionSummary_scheduledStartTime' - Indicates the start time at which the inference scheduler began the
-- specific inference execution.
--
-- 'dataOutputConfiguration', 'inferenceExecutionSummary_dataOutputConfiguration' - Specifies configuration information for the output results from for the
-- inference execution, including the output S3 location.
--
-- 'dataEndTime', 'inferenceExecutionSummary_dataEndTime' - Indicates the time reference in the dataset at which the inference
-- execution stopped.
--
-- 'inferenceSchedulerName', 'inferenceExecutionSummary_inferenceSchedulerName' - The name of the inference scheduler being used for the inference
-- execution.
--
-- 'dataInputConfiguration', 'inferenceExecutionSummary_dataInputConfiguration' - Specifies configuration information for the input data for the inference
-- scheduler, including delimiter, format, and dataset location.
newInferenceExecutionSummary ::
  InferenceExecutionSummary
newInferenceExecutionSummary :: InferenceExecutionSummary
newInferenceExecutionSummary =
  InferenceExecutionSummary' :: Maybe InferenceExecutionStatus
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe S3Object
-> Maybe Text
-> Maybe POSIX
-> Maybe InferenceOutputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe InferenceInputConfiguration
-> InferenceExecutionSummary
InferenceExecutionSummary'
    { $sel:status:InferenceExecutionSummary' :: Maybe InferenceExecutionStatus
status =
        Maybe InferenceExecutionStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:failedReason:InferenceExecutionSummary' :: Maybe Text
failedReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:InferenceExecutionSummary' :: Maybe Text
modelArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dataStartTime:InferenceExecutionSummary' :: Maybe POSIX
dataStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:InferenceExecutionSummary' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:customerResultObject:InferenceExecutionSummary' :: Maybe S3Object
customerResultObject = Maybe S3Object
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerArn:InferenceExecutionSummary' :: Maybe Text
inferenceSchedulerArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:scheduledStartTime:InferenceExecutionSummary' :: Maybe POSIX
scheduledStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:dataOutputConfiguration:InferenceExecutionSummary' :: Maybe InferenceOutputConfiguration
dataOutputConfiguration = Maybe InferenceOutputConfiguration
forall a. Maybe a
Prelude.Nothing,
      $sel:dataEndTime:InferenceExecutionSummary' :: Maybe POSIX
dataEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerName:InferenceExecutionSummary' :: Maybe Text
inferenceSchedulerName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dataInputConfiguration:InferenceExecutionSummary' :: Maybe InferenceInputConfiguration
dataInputConfiguration = Maybe InferenceInputConfiguration
forall a. Maybe a
Prelude.Nothing
    }

-- | Indicates the status of the inference execution.
inferenceExecutionSummary_status :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe InferenceExecutionStatus)
inferenceExecutionSummary_status :: (Maybe InferenceExecutionStatus
 -> f (Maybe InferenceExecutionStatus))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_status = (InferenceExecutionSummary -> Maybe InferenceExecutionStatus)
-> (InferenceExecutionSummary
    -> Maybe InferenceExecutionStatus -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe InferenceExecutionStatus)
     (Maybe InferenceExecutionStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe InferenceExecutionStatus
status :: Maybe InferenceExecutionStatus
$sel:status:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe InferenceExecutionStatus
status} -> Maybe InferenceExecutionStatus
status) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe InferenceExecutionStatus
a -> InferenceExecutionSummary
s {$sel:status:InferenceExecutionSummary' :: Maybe InferenceExecutionStatus
status = Maybe InferenceExecutionStatus
a} :: InferenceExecutionSummary)

-- | Specifies the reason for failure when an inference execution has failed.
inferenceExecutionSummary_failedReason :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.Text)
inferenceExecutionSummary_failedReason :: (Maybe Text -> f (Maybe Text))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_failedReason = (InferenceExecutionSummary -> Maybe Text)
-> (InferenceExecutionSummary
    -> Maybe Text -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe Text
failedReason :: Maybe Text
$sel:failedReason:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe Text
failedReason} -> Maybe Text
failedReason) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe Text
a -> InferenceExecutionSummary
s {$sel:failedReason:InferenceExecutionSummary' :: Maybe Text
failedReason = Maybe Text
a} :: InferenceExecutionSummary)

-- | The Amazon Resource Name (ARN) of the ML model used for the inference
-- execution.
inferenceExecutionSummary_modelArn :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.Text)
inferenceExecutionSummary_modelArn :: (Maybe Text -> f (Maybe Text))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_modelArn = (InferenceExecutionSummary -> Maybe Text)
-> (InferenceExecutionSummary
    -> Maybe Text -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe Text
modelArn :: Maybe Text
$sel:modelArn:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe Text
modelArn} -> Maybe Text
modelArn) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe Text
a -> InferenceExecutionSummary
s {$sel:modelArn:InferenceExecutionSummary' :: Maybe Text
modelArn = Maybe Text
a} :: InferenceExecutionSummary)

-- | Indicates the time reference in the dataset at which the inference
-- execution began.
inferenceExecutionSummary_dataStartTime :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.UTCTime)
inferenceExecutionSummary_dataStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_dataStartTime = (InferenceExecutionSummary -> Maybe POSIX)
-> (InferenceExecutionSummary
    -> Maybe POSIX -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe POSIX
dataStartTime :: Maybe POSIX
$sel:dataStartTime:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe POSIX
dataStartTime} -> Maybe POSIX
dataStartTime) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe POSIX
a -> InferenceExecutionSummary
s {$sel:dataStartTime:InferenceExecutionSummary' :: Maybe POSIX
dataStartTime = Maybe POSIX
a} :: InferenceExecutionSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> InferenceExecutionSummary -> f InferenceExecutionSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary
-> f InferenceExecutionSummary
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 ML model being used for the inference execution.
inferenceExecutionSummary_modelName :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.Text)
inferenceExecutionSummary_modelName :: (Maybe Text -> f (Maybe Text))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_modelName = (InferenceExecutionSummary -> Maybe Text)
-> (InferenceExecutionSummary
    -> Maybe Text -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe Text
modelName :: Maybe Text
$sel:modelName:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe Text
a -> InferenceExecutionSummary
s {$sel:modelName:InferenceExecutionSummary' :: Maybe Text
modelName = Maybe Text
a} :: InferenceExecutionSummary)

-- |
inferenceExecutionSummary_customerResultObject :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe S3Object)
inferenceExecutionSummary_customerResultObject :: (Maybe S3Object -> f (Maybe S3Object))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_customerResultObject = (InferenceExecutionSummary -> Maybe S3Object)
-> (InferenceExecutionSummary
    -> Maybe S3Object -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe S3Object)
     (Maybe S3Object)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe S3Object
customerResultObject :: Maybe S3Object
$sel:customerResultObject:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe S3Object
customerResultObject} -> Maybe S3Object
customerResultObject) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe S3Object
a -> InferenceExecutionSummary
s {$sel:customerResultObject:InferenceExecutionSummary' :: Maybe S3Object
customerResultObject = Maybe S3Object
a} :: InferenceExecutionSummary)

-- | The Amazon Resource Name (ARN) of the inference scheduler being used for
-- the inference execution.
inferenceExecutionSummary_inferenceSchedulerArn :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.Text)
inferenceExecutionSummary_inferenceSchedulerArn :: (Maybe Text -> f (Maybe Text))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_inferenceSchedulerArn = (InferenceExecutionSummary -> Maybe Text)
-> (InferenceExecutionSummary
    -> Maybe Text -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe Text
inferenceSchedulerArn :: Maybe Text
$sel:inferenceSchedulerArn:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe Text
inferenceSchedulerArn} -> Maybe Text
inferenceSchedulerArn) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe Text
a -> InferenceExecutionSummary
s {$sel:inferenceSchedulerArn:InferenceExecutionSummary' :: Maybe Text
inferenceSchedulerArn = Maybe Text
a} :: InferenceExecutionSummary)

-- | Indicates the start time at which the inference scheduler began the
-- specific inference execution.
inferenceExecutionSummary_scheduledStartTime :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.UTCTime)
inferenceExecutionSummary_scheduledStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_scheduledStartTime = (InferenceExecutionSummary -> Maybe POSIX)
-> (InferenceExecutionSummary
    -> Maybe POSIX -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe POSIX
scheduledStartTime :: Maybe POSIX
$sel:scheduledStartTime:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe POSIX
scheduledStartTime} -> Maybe POSIX
scheduledStartTime) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe POSIX
a -> InferenceExecutionSummary
s {$sel:scheduledStartTime:InferenceExecutionSummary' :: Maybe POSIX
scheduledStartTime = Maybe POSIX
a} :: InferenceExecutionSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> InferenceExecutionSummary -> f InferenceExecutionSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary
-> f InferenceExecutionSummary
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

-- | Specifies configuration information for the output results from for the
-- inference execution, including the output S3 location.
inferenceExecutionSummary_dataOutputConfiguration :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe InferenceOutputConfiguration)
inferenceExecutionSummary_dataOutputConfiguration :: (Maybe InferenceOutputConfiguration
 -> f (Maybe InferenceOutputConfiguration))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_dataOutputConfiguration = (InferenceExecutionSummary -> Maybe InferenceOutputConfiguration)
-> (InferenceExecutionSummary
    -> Maybe InferenceOutputConfiguration -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe InferenceOutputConfiguration)
     (Maybe InferenceOutputConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe InferenceOutputConfiguration
dataOutputConfiguration :: Maybe InferenceOutputConfiguration
$sel:dataOutputConfiguration:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe InferenceOutputConfiguration
dataOutputConfiguration} -> Maybe InferenceOutputConfiguration
dataOutputConfiguration) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe InferenceOutputConfiguration
a -> InferenceExecutionSummary
s {$sel:dataOutputConfiguration:InferenceExecutionSummary' :: Maybe InferenceOutputConfiguration
dataOutputConfiguration = Maybe InferenceOutputConfiguration
a} :: InferenceExecutionSummary)

-- | Indicates the time reference in the dataset at which the inference
-- execution stopped.
inferenceExecutionSummary_dataEndTime :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.UTCTime)
inferenceExecutionSummary_dataEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_dataEndTime = (InferenceExecutionSummary -> Maybe POSIX)
-> (InferenceExecutionSummary
    -> Maybe POSIX -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe POSIX
dataEndTime :: Maybe POSIX
$sel:dataEndTime:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe POSIX
dataEndTime} -> Maybe POSIX
dataEndTime) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe POSIX
a -> InferenceExecutionSummary
s {$sel:dataEndTime:InferenceExecutionSummary' :: Maybe POSIX
dataEndTime = Maybe POSIX
a} :: InferenceExecutionSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> InferenceExecutionSummary -> f InferenceExecutionSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> InferenceExecutionSummary
-> f InferenceExecutionSummary
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 inference scheduler being used for the inference
-- execution.
inferenceExecutionSummary_inferenceSchedulerName :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe Prelude.Text)
inferenceExecutionSummary_inferenceSchedulerName :: (Maybe Text -> f (Maybe Text))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_inferenceSchedulerName = (InferenceExecutionSummary -> Maybe Text)
-> (InferenceExecutionSummary
    -> Maybe Text -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe Text
inferenceSchedulerName :: Maybe Text
$sel:inferenceSchedulerName:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe Text
inferenceSchedulerName} -> Maybe Text
inferenceSchedulerName) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe Text
a -> InferenceExecutionSummary
s {$sel:inferenceSchedulerName:InferenceExecutionSummary' :: Maybe Text
inferenceSchedulerName = Maybe Text
a} :: InferenceExecutionSummary)

-- | Specifies configuration information for the input data for the inference
-- scheduler, including delimiter, format, and dataset location.
inferenceExecutionSummary_dataInputConfiguration :: Lens.Lens' InferenceExecutionSummary (Prelude.Maybe InferenceInputConfiguration)
inferenceExecutionSummary_dataInputConfiguration :: (Maybe InferenceInputConfiguration
 -> f (Maybe InferenceInputConfiguration))
-> InferenceExecutionSummary -> f InferenceExecutionSummary
inferenceExecutionSummary_dataInputConfiguration = (InferenceExecutionSummary -> Maybe InferenceInputConfiguration)
-> (InferenceExecutionSummary
    -> Maybe InferenceInputConfiguration -> InferenceExecutionSummary)
-> Lens
     InferenceExecutionSummary
     InferenceExecutionSummary
     (Maybe InferenceInputConfiguration)
     (Maybe InferenceInputConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InferenceExecutionSummary' {Maybe InferenceInputConfiguration
dataInputConfiguration :: Maybe InferenceInputConfiguration
$sel:dataInputConfiguration:InferenceExecutionSummary' :: InferenceExecutionSummary -> Maybe InferenceInputConfiguration
dataInputConfiguration} -> Maybe InferenceInputConfiguration
dataInputConfiguration) (\s :: InferenceExecutionSummary
s@InferenceExecutionSummary' {} Maybe InferenceInputConfiguration
a -> InferenceExecutionSummary
s {$sel:dataInputConfiguration:InferenceExecutionSummary' :: Maybe InferenceInputConfiguration
dataInputConfiguration = Maybe InferenceInputConfiguration
a} :: InferenceExecutionSummary)

instance Core.FromJSON InferenceExecutionSummary where
  parseJSON :: Value -> Parser InferenceExecutionSummary
parseJSON =
    String
-> (Object -> Parser InferenceExecutionSummary)
-> Value
-> Parser InferenceExecutionSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"InferenceExecutionSummary"
      ( \Object
x ->
          Maybe InferenceExecutionStatus
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe S3Object
-> Maybe Text
-> Maybe POSIX
-> Maybe InferenceOutputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe InferenceInputConfiguration
-> InferenceExecutionSummary
InferenceExecutionSummary'
            (Maybe InferenceExecutionStatus
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe S3Object
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe InferenceOutputConfiguration
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe InferenceInputConfiguration
 -> InferenceExecutionSummary)
-> Parser (Maybe InferenceExecutionStatus)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe S3Object
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe InferenceExecutionStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe S3Object
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe S3Object
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"FailedReason")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe S3Object
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe S3Object
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"ModelArn")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe S3Object
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe S3Object
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"DataStartTime")
            Parser
  (Maybe Text
   -> Maybe S3Object
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe S3Object
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"ModelName")
            Parser
  (Maybe S3Object
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe S3Object)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe S3Object)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CustomerResultObject")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"InferenceSchedulerArn")
            Parser
  (Maybe POSIX
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
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
"ScheduledStartTime")
            Parser
  (Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe InferenceOutputConfiguration)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> InferenceExecutionSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InferenceOutputConfiguration)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DataOutputConfiguration")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> InferenceExecutionSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe InferenceInputConfiguration -> InferenceExecutionSummary)
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
"DataEndTime")
            Parser
  (Maybe Text
   -> Maybe InferenceInputConfiguration -> InferenceExecutionSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe InferenceInputConfiguration -> InferenceExecutionSummary)
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
"InferenceSchedulerName")
            Parser
  (Maybe InferenceInputConfiguration -> InferenceExecutionSummary)
-> Parser (Maybe InferenceInputConfiguration)
-> Parser InferenceExecutionSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InferenceInputConfiguration)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DataInputConfiguration")
      )

instance Prelude.Hashable InferenceExecutionSummary

instance Prelude.NFData InferenceExecutionSummary