{-# 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.MachineLearning.Types.BatchPrediction
-- 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.MachineLearning.Types.BatchPrediction where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MachineLearning.Types.EntityStatus
import qualified Amazonka.Prelude as Prelude

-- | Represents the output of a @GetBatchPrediction@ operation.
--
-- The content consists of the detailed metadata, the status, and the data
-- file information of a @Batch Prediction@.
--
-- /See:/ 'newBatchPrediction' smart constructor.
data BatchPrediction = BatchPrediction'
  { -- | The status of the @BatchPrediction@. This element can have one of the
    -- following values:
    --
    -- -   @PENDING@ - Amazon Machine Learning (Amazon ML) submitted a request
    --     to generate predictions for a batch of observations.
    --
    -- -   @INPROGRESS@ - The process is underway.
    --
    -- -   @FAILED@ - The request to perform a batch prediction did not run to
    --     completion. It is not usable.
    --
    -- -   @COMPLETED@ - The batch prediction process completed successfully.
    --
    -- -   @DELETED@ - The @BatchPrediction@ is marked as deleted. It is not
    --     usable.
    BatchPrediction -> Maybe EntityStatus
status :: Prelude.Maybe EntityStatus,
    -- | The time of the most recent edit to the @BatchPrediction@. The time is
    -- expressed in epoch time.
    BatchPrediction -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Core.POSIX,
    -- | The time that the @BatchPrediction@ was created. The time is expressed
    -- in epoch time.
    BatchPrediction -> Maybe POSIX
createdAt :: Prelude.Maybe Core.POSIX,
    BatchPrediction -> Maybe Integer
computeTime :: Prelude.Maybe Prelude.Integer,
    -- | The location of the data file or directory in Amazon Simple Storage
    -- Service (Amazon S3).
    BatchPrediction -> Maybe Text
inputDataLocationS3 :: Prelude.Maybe Prelude.Text,
    -- | The ID of the @MLModel@ that generated predictions for the
    -- @BatchPrediction@ request.
    BatchPrediction -> Maybe Text
mLModelId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the @DataSource@ that points to the group of observations to
    -- predict.
    BatchPrediction -> Maybe Text
batchPredictionDataSourceId :: Prelude.Maybe Prelude.Text,
    BatchPrediction -> Maybe Integer
totalRecordCount :: Prelude.Maybe Prelude.Integer,
    BatchPrediction -> Maybe POSIX
startedAt :: Prelude.Maybe Core.POSIX,
    -- | The ID assigned to the @BatchPrediction@ at creation. This value should
    -- be identical to the value of the @BatchPredictionID@ in the request.
    BatchPrediction -> Maybe Text
batchPredictionId :: Prelude.Maybe Prelude.Text,
    BatchPrediction -> Maybe POSIX
finishedAt :: Prelude.Maybe Core.POSIX,
    BatchPrediction -> Maybe Integer
invalidRecordCount :: Prelude.Maybe Prelude.Integer,
    -- | The AWS user account that invoked the @BatchPrediction@. The account
    -- type can be either an AWS root account or an AWS Identity and Access
    -- Management (IAM) user account.
    BatchPrediction -> Maybe Text
createdByIamUser :: Prelude.Maybe Prelude.Text,
    -- | A user-supplied name or description of the @BatchPrediction@.
    BatchPrediction -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | A description of the most recent details about processing the batch
    -- prediction request.
    BatchPrediction -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | The location of an Amazon S3 bucket or directory to receive the
    -- operation results. The following substrings are not allowed in the
    -- @s3 key@ portion of the @outputURI@ field: \':\', \'\/\/\', \'\/.\/\',
    -- \'\/..\/\'.
    BatchPrediction -> Maybe Text
outputUri :: Prelude.Maybe Prelude.Text
  }
  deriving (BatchPrediction -> BatchPrediction -> Bool
(BatchPrediction -> BatchPrediction -> Bool)
-> (BatchPrediction -> BatchPrediction -> Bool)
-> Eq BatchPrediction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchPrediction -> BatchPrediction -> Bool
$c/= :: BatchPrediction -> BatchPrediction -> Bool
== :: BatchPrediction -> BatchPrediction -> Bool
$c== :: BatchPrediction -> BatchPrediction -> Bool
Prelude.Eq, ReadPrec [BatchPrediction]
ReadPrec BatchPrediction
Int -> ReadS BatchPrediction
ReadS [BatchPrediction]
(Int -> ReadS BatchPrediction)
-> ReadS [BatchPrediction]
-> ReadPrec BatchPrediction
-> ReadPrec [BatchPrediction]
-> Read BatchPrediction
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchPrediction]
$creadListPrec :: ReadPrec [BatchPrediction]
readPrec :: ReadPrec BatchPrediction
$creadPrec :: ReadPrec BatchPrediction
readList :: ReadS [BatchPrediction]
$creadList :: ReadS [BatchPrediction]
readsPrec :: Int -> ReadS BatchPrediction
$creadsPrec :: Int -> ReadS BatchPrediction
Prelude.Read, Int -> BatchPrediction -> ShowS
[BatchPrediction] -> ShowS
BatchPrediction -> String
(Int -> BatchPrediction -> ShowS)
-> (BatchPrediction -> String)
-> ([BatchPrediction] -> ShowS)
-> Show BatchPrediction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchPrediction] -> ShowS
$cshowList :: [BatchPrediction] -> ShowS
show :: BatchPrediction -> String
$cshow :: BatchPrediction -> String
showsPrec :: Int -> BatchPrediction -> ShowS
$cshowsPrec :: Int -> BatchPrediction -> ShowS
Prelude.Show, (forall x. BatchPrediction -> Rep BatchPrediction x)
-> (forall x. Rep BatchPrediction x -> BatchPrediction)
-> Generic BatchPrediction
forall x. Rep BatchPrediction x -> BatchPrediction
forall x. BatchPrediction -> Rep BatchPrediction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BatchPrediction x -> BatchPrediction
$cfrom :: forall x. BatchPrediction -> Rep BatchPrediction x
Prelude.Generic)

-- |
-- Create a value of 'BatchPrediction' 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', 'batchPrediction_status' - The status of the @BatchPrediction@. This element can have one of the
-- following values:
--
-- -   @PENDING@ - Amazon Machine Learning (Amazon ML) submitted a request
--     to generate predictions for a batch of observations.
--
-- -   @INPROGRESS@ - The process is underway.
--
-- -   @FAILED@ - The request to perform a batch prediction did not run to
--     completion. It is not usable.
--
-- -   @COMPLETED@ - The batch prediction process completed successfully.
--
-- -   @DELETED@ - The @BatchPrediction@ is marked as deleted. It is not
--     usable.
--
-- 'lastUpdatedAt', 'batchPrediction_lastUpdatedAt' - The time of the most recent edit to the @BatchPrediction@. The time is
-- expressed in epoch time.
--
-- 'createdAt', 'batchPrediction_createdAt' - The time that the @BatchPrediction@ was created. The time is expressed
-- in epoch time.
--
-- 'computeTime', 'batchPrediction_computeTime' - Undocumented member.
--
-- 'inputDataLocationS3', 'batchPrediction_inputDataLocationS3' - The location of the data file or directory in Amazon Simple Storage
-- Service (Amazon S3).
--
-- 'mLModelId', 'batchPrediction_mLModelId' - The ID of the @MLModel@ that generated predictions for the
-- @BatchPrediction@ request.
--
-- 'batchPredictionDataSourceId', 'batchPrediction_batchPredictionDataSourceId' - The ID of the @DataSource@ that points to the group of observations to
-- predict.
--
-- 'totalRecordCount', 'batchPrediction_totalRecordCount' - Undocumented member.
--
-- 'startedAt', 'batchPrediction_startedAt' - Undocumented member.
--
-- 'batchPredictionId', 'batchPrediction_batchPredictionId' - The ID assigned to the @BatchPrediction@ at creation. This value should
-- be identical to the value of the @BatchPredictionID@ in the request.
--
-- 'finishedAt', 'batchPrediction_finishedAt' - Undocumented member.
--
-- 'invalidRecordCount', 'batchPrediction_invalidRecordCount' - Undocumented member.
--
-- 'createdByIamUser', 'batchPrediction_createdByIamUser' - The AWS user account that invoked the @BatchPrediction@. The account
-- type can be either an AWS root account or an AWS Identity and Access
-- Management (IAM) user account.
--
-- 'name', 'batchPrediction_name' - A user-supplied name or description of the @BatchPrediction@.
--
-- 'message', 'batchPrediction_message' - A description of the most recent details about processing the batch
-- prediction request.
--
-- 'outputUri', 'batchPrediction_outputUri' - The location of an Amazon S3 bucket or directory to receive the
-- operation results. The following substrings are not allowed in the
-- @s3 key@ portion of the @outputURI@ field: \':\', \'\/\/\', \'\/.\/\',
-- \'\/..\/\'.
newBatchPrediction ::
  BatchPrediction
newBatchPrediction :: BatchPrediction
newBatchPrediction =
  BatchPrediction' :: Maybe EntityStatus
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> BatchPrediction
BatchPrediction'
    { $sel:status:BatchPrediction' :: Maybe EntityStatus
status = Maybe EntityStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedAt:BatchPrediction' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:BatchPrediction' :: Maybe POSIX
createdAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:computeTime:BatchPrediction' :: Maybe Integer
computeTime = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:inputDataLocationS3:BatchPrediction' :: Maybe Text
inputDataLocationS3 = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:mLModelId:BatchPrediction' :: Maybe Text
mLModelId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:batchPredictionDataSourceId:BatchPrediction' :: Maybe Text
batchPredictionDataSourceId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:totalRecordCount:BatchPrediction' :: Maybe Integer
totalRecordCount = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:startedAt:BatchPrediction' :: Maybe POSIX
startedAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:batchPredictionId:BatchPrediction' :: Maybe Text
batchPredictionId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:finishedAt:BatchPrediction' :: Maybe POSIX
finishedAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:invalidRecordCount:BatchPrediction' :: Maybe Integer
invalidRecordCount = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:createdByIamUser:BatchPrediction' :: Maybe Text
createdByIamUser = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:name:BatchPrediction' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:message:BatchPrediction' :: Maybe Text
message = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:outputUri:BatchPrediction' :: Maybe Text
outputUri = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The status of the @BatchPrediction@. This element can have one of the
-- following values:
--
-- -   @PENDING@ - Amazon Machine Learning (Amazon ML) submitted a request
--     to generate predictions for a batch of observations.
--
-- -   @INPROGRESS@ - The process is underway.
--
-- -   @FAILED@ - The request to perform a batch prediction did not run to
--     completion. It is not usable.
--
-- -   @COMPLETED@ - The batch prediction process completed successfully.
--
-- -   @DELETED@ - The @BatchPrediction@ is marked as deleted. It is not
--     usable.
batchPrediction_status :: Lens.Lens' BatchPrediction (Prelude.Maybe EntityStatus)
batchPrediction_status :: (Maybe EntityStatus -> f (Maybe EntityStatus))
-> BatchPrediction -> f BatchPrediction
batchPrediction_status = (BatchPrediction -> Maybe EntityStatus)
-> (BatchPrediction -> Maybe EntityStatus -> BatchPrediction)
-> Lens
     BatchPrediction
     BatchPrediction
     (Maybe EntityStatus)
     (Maybe EntityStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe EntityStatus
status :: Maybe EntityStatus
$sel:status:BatchPrediction' :: BatchPrediction -> Maybe EntityStatus
status} -> Maybe EntityStatus
status) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe EntityStatus
a -> BatchPrediction
s {$sel:status:BatchPrediction' :: Maybe EntityStatus
status = Maybe EntityStatus
a} :: BatchPrediction)

-- | The time of the most recent edit to the @BatchPrediction@. The time is
-- expressed in epoch time.
batchPrediction_lastUpdatedAt :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.UTCTime)
batchPrediction_lastUpdatedAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction -> f BatchPrediction
batchPrediction_lastUpdatedAt = (BatchPrediction -> Maybe POSIX)
-> (BatchPrediction -> Maybe POSIX -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe POSIX
lastUpdatedAt :: Maybe POSIX
$sel:lastUpdatedAt:BatchPrediction' :: BatchPrediction -> Maybe POSIX
lastUpdatedAt} -> Maybe POSIX
lastUpdatedAt) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe POSIX
a -> BatchPrediction
s {$sel:lastUpdatedAt:BatchPrediction' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
a} :: BatchPrediction) ((Maybe POSIX -> f (Maybe POSIX))
 -> BatchPrediction -> f BatchPrediction)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction
-> f BatchPrediction
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 time that the @BatchPrediction@ was created. The time is expressed
-- in epoch time.
batchPrediction_createdAt :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.UTCTime)
batchPrediction_createdAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction -> f BatchPrediction
batchPrediction_createdAt = (BatchPrediction -> Maybe POSIX)
-> (BatchPrediction -> Maybe POSIX -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:BatchPrediction' :: BatchPrediction -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe POSIX
a -> BatchPrediction
s {$sel:createdAt:BatchPrediction' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: BatchPrediction) ((Maybe POSIX -> f (Maybe POSIX))
 -> BatchPrediction -> f BatchPrediction)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction
-> f BatchPrediction
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.
batchPrediction_computeTime :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Integer)
batchPrediction_computeTime :: (Maybe Integer -> f (Maybe Integer))
-> BatchPrediction -> f BatchPrediction
batchPrediction_computeTime = (BatchPrediction -> Maybe Integer)
-> (BatchPrediction -> Maybe Integer -> BatchPrediction)
-> Lens
     BatchPrediction BatchPrediction (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Integer
computeTime :: Maybe Integer
$sel:computeTime:BatchPrediction' :: BatchPrediction -> Maybe Integer
computeTime} -> Maybe Integer
computeTime) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Integer
a -> BatchPrediction
s {$sel:computeTime:BatchPrediction' :: Maybe Integer
computeTime = Maybe Integer
a} :: BatchPrediction)

-- | The location of the data file or directory in Amazon Simple Storage
-- Service (Amazon S3).
batchPrediction_inputDataLocationS3 :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_inputDataLocationS3 :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_inputDataLocationS3 = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
inputDataLocationS3 :: Maybe Text
$sel:inputDataLocationS3:BatchPrediction' :: BatchPrediction -> Maybe Text
inputDataLocationS3} -> Maybe Text
inputDataLocationS3) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:inputDataLocationS3:BatchPrediction' :: Maybe Text
inputDataLocationS3 = Maybe Text
a} :: BatchPrediction)

-- | The ID of the @MLModel@ that generated predictions for the
-- @BatchPrediction@ request.
batchPrediction_mLModelId :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_mLModelId :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_mLModelId = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
mLModelId :: Maybe Text
$sel:mLModelId:BatchPrediction' :: BatchPrediction -> Maybe Text
mLModelId} -> Maybe Text
mLModelId) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:mLModelId:BatchPrediction' :: Maybe Text
mLModelId = Maybe Text
a} :: BatchPrediction)

-- | The ID of the @DataSource@ that points to the group of observations to
-- predict.
batchPrediction_batchPredictionDataSourceId :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_batchPredictionDataSourceId :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_batchPredictionDataSourceId = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
batchPredictionDataSourceId :: Maybe Text
$sel:batchPredictionDataSourceId:BatchPrediction' :: BatchPrediction -> Maybe Text
batchPredictionDataSourceId} -> Maybe Text
batchPredictionDataSourceId) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:batchPredictionDataSourceId:BatchPrediction' :: Maybe Text
batchPredictionDataSourceId = Maybe Text
a} :: BatchPrediction)

-- | Undocumented member.
batchPrediction_totalRecordCount :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Integer)
batchPrediction_totalRecordCount :: (Maybe Integer -> f (Maybe Integer))
-> BatchPrediction -> f BatchPrediction
batchPrediction_totalRecordCount = (BatchPrediction -> Maybe Integer)
-> (BatchPrediction -> Maybe Integer -> BatchPrediction)
-> Lens
     BatchPrediction BatchPrediction (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Integer
totalRecordCount :: Maybe Integer
$sel:totalRecordCount:BatchPrediction' :: BatchPrediction -> Maybe Integer
totalRecordCount} -> Maybe Integer
totalRecordCount) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Integer
a -> BatchPrediction
s {$sel:totalRecordCount:BatchPrediction' :: Maybe Integer
totalRecordCount = Maybe Integer
a} :: BatchPrediction)

-- | Undocumented member.
batchPrediction_startedAt :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.UTCTime)
batchPrediction_startedAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction -> f BatchPrediction
batchPrediction_startedAt = (BatchPrediction -> Maybe POSIX)
-> (BatchPrediction -> Maybe POSIX -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe POSIX
startedAt :: Maybe POSIX
$sel:startedAt:BatchPrediction' :: BatchPrediction -> Maybe POSIX
startedAt} -> Maybe POSIX
startedAt) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe POSIX
a -> BatchPrediction
s {$sel:startedAt:BatchPrediction' :: Maybe POSIX
startedAt = Maybe POSIX
a} :: BatchPrediction) ((Maybe POSIX -> f (Maybe POSIX))
 -> BatchPrediction -> f BatchPrediction)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction
-> f BatchPrediction
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 ID assigned to the @BatchPrediction@ at creation. This value should
-- be identical to the value of the @BatchPredictionID@ in the request.
batchPrediction_batchPredictionId :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_batchPredictionId :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_batchPredictionId = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
batchPredictionId :: Maybe Text
$sel:batchPredictionId:BatchPrediction' :: BatchPrediction -> Maybe Text
batchPredictionId} -> Maybe Text
batchPredictionId) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:batchPredictionId:BatchPrediction' :: Maybe Text
batchPredictionId = Maybe Text
a} :: BatchPrediction)

-- | Undocumented member.
batchPrediction_finishedAt :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.UTCTime)
batchPrediction_finishedAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction -> f BatchPrediction
batchPrediction_finishedAt = (BatchPrediction -> Maybe POSIX)
-> (BatchPrediction -> Maybe POSIX -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe POSIX
finishedAt :: Maybe POSIX
$sel:finishedAt:BatchPrediction' :: BatchPrediction -> Maybe POSIX
finishedAt} -> Maybe POSIX
finishedAt) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe POSIX
a -> BatchPrediction
s {$sel:finishedAt:BatchPrediction' :: Maybe POSIX
finishedAt = Maybe POSIX
a} :: BatchPrediction) ((Maybe POSIX -> f (Maybe POSIX))
 -> BatchPrediction -> f BatchPrediction)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> BatchPrediction
-> f BatchPrediction
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.
batchPrediction_invalidRecordCount :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Integer)
batchPrediction_invalidRecordCount :: (Maybe Integer -> f (Maybe Integer))
-> BatchPrediction -> f BatchPrediction
batchPrediction_invalidRecordCount = (BatchPrediction -> Maybe Integer)
-> (BatchPrediction -> Maybe Integer -> BatchPrediction)
-> Lens
     BatchPrediction BatchPrediction (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Integer
invalidRecordCount :: Maybe Integer
$sel:invalidRecordCount:BatchPrediction' :: BatchPrediction -> Maybe Integer
invalidRecordCount} -> Maybe Integer
invalidRecordCount) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Integer
a -> BatchPrediction
s {$sel:invalidRecordCount:BatchPrediction' :: Maybe Integer
invalidRecordCount = Maybe Integer
a} :: BatchPrediction)

-- | The AWS user account that invoked the @BatchPrediction@. The account
-- type can be either an AWS root account or an AWS Identity and Access
-- Management (IAM) user account.
batchPrediction_createdByIamUser :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_createdByIamUser :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_createdByIamUser = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
createdByIamUser :: Maybe Text
$sel:createdByIamUser:BatchPrediction' :: BatchPrediction -> Maybe Text
createdByIamUser} -> Maybe Text
createdByIamUser) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:createdByIamUser:BatchPrediction' :: Maybe Text
createdByIamUser = Maybe Text
a} :: BatchPrediction)

-- | A user-supplied name or description of the @BatchPrediction@.
batchPrediction_name :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_name :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_name = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
name :: Maybe Text
$sel:name:BatchPrediction' :: BatchPrediction -> Maybe Text
name} -> Maybe Text
name) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:name:BatchPrediction' :: Maybe Text
name = Maybe Text
a} :: BatchPrediction)

-- | A description of the most recent details about processing the batch
-- prediction request.
batchPrediction_message :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_message :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_message = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
message :: Maybe Text
$sel:message:BatchPrediction' :: BatchPrediction -> Maybe Text
message} -> Maybe Text
message) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:message:BatchPrediction' :: Maybe Text
message = Maybe Text
a} :: BatchPrediction)

-- | The location of an Amazon S3 bucket or directory to receive the
-- operation results. The following substrings are not allowed in the
-- @s3 key@ portion of the @outputURI@ field: \':\', \'\/\/\', \'\/.\/\',
-- \'\/..\/\'.
batchPrediction_outputUri :: Lens.Lens' BatchPrediction (Prelude.Maybe Prelude.Text)
batchPrediction_outputUri :: (Maybe Text -> f (Maybe Text))
-> BatchPrediction -> f BatchPrediction
batchPrediction_outputUri = (BatchPrediction -> Maybe Text)
-> (BatchPrediction -> Maybe Text -> BatchPrediction)
-> Lens BatchPrediction BatchPrediction (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPrediction' {Maybe Text
outputUri :: Maybe Text
$sel:outputUri:BatchPrediction' :: BatchPrediction -> Maybe Text
outputUri} -> Maybe Text
outputUri) (\s :: BatchPrediction
s@BatchPrediction' {} Maybe Text
a -> BatchPrediction
s {$sel:outputUri:BatchPrediction' :: Maybe Text
outputUri = Maybe Text
a} :: BatchPrediction)

instance Core.FromJSON BatchPrediction where
  parseJSON :: Value -> Parser BatchPrediction
parseJSON =
    String
-> (Object -> Parser BatchPrediction)
-> Value
-> Parser BatchPrediction
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"BatchPrediction"
      ( \Object
x ->
          Maybe EntityStatus
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> BatchPrediction
BatchPrediction'
            (Maybe EntityStatus
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Integer
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Integer
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Integer
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> BatchPrediction)
-> Parser (Maybe EntityStatus)
-> Parser
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe EntityStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"LastUpdatedAt")
            Parser
  (Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"CreatedAt")
            Parser
  (Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ComputeTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"InputDataLocationS3")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"MLModelId")
            Parser
  (Maybe Text
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser
     (Maybe Integer
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"BatchPredictionDataSourceId")
            Parser
  (Maybe Integer
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Integer)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TotalRecordCount")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"StartedAt")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"BatchPredictionId")
            Parser
  (Maybe POSIX
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> BatchPrediction)
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
"FinishedAt")
            Parser
  (Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> BatchPrediction)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Text -> Maybe Text -> BatchPrediction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InvalidRecordCount")
            Parser
  (Maybe Text
   -> Maybe Text -> Maybe Text -> Maybe Text -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Text -> Maybe Text -> BatchPrediction)
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
"CreatedByIamUser")
            Parser (Maybe Text -> Maybe Text -> Maybe Text -> BatchPrediction)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> BatchPrediction)
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
"Name")
            Parser (Maybe Text -> Maybe Text -> BatchPrediction)
-> Parser (Maybe Text) -> Parser (Maybe Text -> BatchPrediction)
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
"Message")
            Parser (Maybe Text -> BatchPrediction)
-> Parser (Maybe Text) -> Parser BatchPrediction
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
"OutputUri")
      )

instance Prelude.Hashable BatchPrediction

instance Prelude.NFData BatchPrediction