{-# 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.EdgePackagingJobSummary
-- 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.EdgePackagingJobSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.EdgePackagingJobStatus

-- | Summary of edge packaging job.
--
-- /See:/ 'newEdgePackagingJobSummary' smart constructor.
data EdgePackagingJobSummary = EdgePackagingJobSummary'
  { -- | The timestamp of when the job was created.
    EdgePackagingJobSummary -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the model.
    EdgePackagingJobSummary -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | The timestamp of when the edge packaging job was last updated.
    EdgePackagingJobSummary -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the SageMaker Neo compilation job.
    EdgePackagingJobSummary -> Maybe Text
compilationJobName :: Prelude.Maybe Prelude.Text,
    -- | The version of the model.
    EdgePackagingJobSummary -> Maybe Text
modelVersion :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the edge packaging job.
    EdgePackagingJobSummary -> Text
edgePackagingJobArn :: Prelude.Text,
    -- | The name of the edge packaging job.
    EdgePackagingJobSummary -> Text
edgePackagingJobName :: Prelude.Text,
    -- | The status of the edge packaging job.
    EdgePackagingJobSummary -> EdgePackagingJobStatus
edgePackagingJobStatus :: EdgePackagingJobStatus
  }
  deriving (EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool
(EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool)
-> (EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool)
-> Eq EdgePackagingJobSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool
$c/= :: EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool
== :: EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool
$c== :: EdgePackagingJobSummary -> EdgePackagingJobSummary -> Bool
Prelude.Eq, ReadPrec [EdgePackagingJobSummary]
ReadPrec EdgePackagingJobSummary
Int -> ReadS EdgePackagingJobSummary
ReadS [EdgePackagingJobSummary]
(Int -> ReadS EdgePackagingJobSummary)
-> ReadS [EdgePackagingJobSummary]
-> ReadPrec EdgePackagingJobSummary
-> ReadPrec [EdgePackagingJobSummary]
-> Read EdgePackagingJobSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EdgePackagingJobSummary]
$creadListPrec :: ReadPrec [EdgePackagingJobSummary]
readPrec :: ReadPrec EdgePackagingJobSummary
$creadPrec :: ReadPrec EdgePackagingJobSummary
readList :: ReadS [EdgePackagingJobSummary]
$creadList :: ReadS [EdgePackagingJobSummary]
readsPrec :: Int -> ReadS EdgePackagingJobSummary
$creadsPrec :: Int -> ReadS EdgePackagingJobSummary
Prelude.Read, Int -> EdgePackagingJobSummary -> ShowS
[EdgePackagingJobSummary] -> ShowS
EdgePackagingJobSummary -> String
(Int -> EdgePackagingJobSummary -> ShowS)
-> (EdgePackagingJobSummary -> String)
-> ([EdgePackagingJobSummary] -> ShowS)
-> Show EdgePackagingJobSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EdgePackagingJobSummary] -> ShowS
$cshowList :: [EdgePackagingJobSummary] -> ShowS
show :: EdgePackagingJobSummary -> String
$cshow :: EdgePackagingJobSummary -> String
showsPrec :: Int -> EdgePackagingJobSummary -> ShowS
$cshowsPrec :: Int -> EdgePackagingJobSummary -> ShowS
Prelude.Show, (forall x.
 EdgePackagingJobSummary -> Rep EdgePackagingJobSummary x)
-> (forall x.
    Rep EdgePackagingJobSummary x -> EdgePackagingJobSummary)
-> Generic EdgePackagingJobSummary
forall x. Rep EdgePackagingJobSummary x -> EdgePackagingJobSummary
forall x. EdgePackagingJobSummary -> Rep EdgePackagingJobSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EdgePackagingJobSummary x -> EdgePackagingJobSummary
$cfrom :: forall x. EdgePackagingJobSummary -> Rep EdgePackagingJobSummary x
Prelude.Generic)

-- |
-- Create a value of 'EdgePackagingJobSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'creationTime', 'edgePackagingJobSummary_creationTime' - The timestamp of when the job was created.
--
-- 'modelName', 'edgePackagingJobSummary_modelName' - The name of the model.
--
-- 'lastModifiedTime', 'edgePackagingJobSummary_lastModifiedTime' - The timestamp of when the edge packaging job was last updated.
--
-- 'compilationJobName', 'edgePackagingJobSummary_compilationJobName' - The name of the SageMaker Neo compilation job.
--
-- 'modelVersion', 'edgePackagingJobSummary_modelVersion' - The version of the model.
--
-- 'edgePackagingJobArn', 'edgePackagingJobSummary_edgePackagingJobArn' - The Amazon Resource Name (ARN) of the edge packaging job.
--
-- 'edgePackagingJobName', 'edgePackagingJobSummary_edgePackagingJobName' - The name of the edge packaging job.
--
-- 'edgePackagingJobStatus', 'edgePackagingJobSummary_edgePackagingJobStatus' - The status of the edge packaging job.
newEdgePackagingJobSummary ::
  -- | 'edgePackagingJobArn'
  Prelude.Text ->
  -- | 'edgePackagingJobName'
  Prelude.Text ->
  -- | 'edgePackagingJobStatus'
  EdgePackagingJobStatus ->
  EdgePackagingJobSummary
newEdgePackagingJobSummary :: Text -> Text -> EdgePackagingJobStatus -> EdgePackagingJobSummary
newEdgePackagingJobSummary
  Text
pEdgePackagingJobArn_
  Text
pEdgePackagingJobName_
  EdgePackagingJobStatus
pEdgePackagingJobStatus_ =
    EdgePackagingJobSummary' :: Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> EdgePackagingJobStatus
-> EdgePackagingJobSummary
EdgePackagingJobSummary'
      { $sel:creationTime:EdgePackagingJobSummary' :: Maybe POSIX
creationTime =
          Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:modelName:EdgePackagingJobSummary' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:lastModifiedTime:EdgePackagingJobSummary' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:compilationJobName:EdgePackagingJobSummary' :: Maybe Text
compilationJobName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:modelVersion:EdgePackagingJobSummary' :: Maybe Text
modelVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:edgePackagingJobArn:EdgePackagingJobSummary' :: Text
edgePackagingJobArn = Text
pEdgePackagingJobArn_,
        $sel:edgePackagingJobName:EdgePackagingJobSummary' :: Text
edgePackagingJobName = Text
pEdgePackagingJobName_,
        $sel:edgePackagingJobStatus:EdgePackagingJobSummary' :: EdgePackagingJobStatus
edgePackagingJobStatus = EdgePackagingJobStatus
pEdgePackagingJobStatus_
      }

-- | The timestamp of when the job was created.
edgePackagingJobSummary_creationTime :: Lens.Lens' EdgePackagingJobSummary (Prelude.Maybe Prelude.UTCTime)
edgePackagingJobSummary_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_creationTime = (EdgePackagingJobSummary -> Maybe POSIX)
-> (EdgePackagingJobSummary
    -> Maybe POSIX -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Maybe POSIX
a -> EdgePackagingJobSummary
s {$sel:creationTime:EdgePackagingJobSummary' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: EdgePackagingJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> EdgePackagingJobSummary -> f EdgePackagingJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EdgePackagingJobSummary
-> f EdgePackagingJobSummary
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 model.
edgePackagingJobSummary_modelName :: Lens.Lens' EdgePackagingJobSummary (Prelude.Maybe Prelude.Text)
edgePackagingJobSummary_modelName :: (Maybe Text -> f (Maybe Text))
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_modelName = (EdgePackagingJobSummary -> Maybe Text)
-> (EdgePackagingJobSummary
    -> Maybe Text -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Maybe Text
modelName :: Maybe Text
$sel:modelName:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Maybe Text
a -> EdgePackagingJobSummary
s {$sel:modelName:EdgePackagingJobSummary' :: Maybe Text
modelName = Maybe Text
a} :: EdgePackagingJobSummary)

-- | The timestamp of when the edge packaging job was last updated.
edgePackagingJobSummary_lastModifiedTime :: Lens.Lens' EdgePackagingJobSummary (Prelude.Maybe Prelude.UTCTime)
edgePackagingJobSummary_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_lastModifiedTime = (EdgePackagingJobSummary -> Maybe POSIX)
-> (EdgePackagingJobSummary
    -> Maybe POSIX -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Maybe POSIX
a -> EdgePackagingJobSummary
s {$sel:lastModifiedTime:EdgePackagingJobSummary' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: EdgePackagingJobSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> EdgePackagingJobSummary -> f EdgePackagingJobSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> EdgePackagingJobSummary
-> f EdgePackagingJobSummary
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 SageMaker Neo compilation job.
edgePackagingJobSummary_compilationJobName :: Lens.Lens' EdgePackagingJobSummary (Prelude.Maybe Prelude.Text)
edgePackagingJobSummary_compilationJobName :: (Maybe Text -> f (Maybe Text))
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_compilationJobName = (EdgePackagingJobSummary -> Maybe Text)
-> (EdgePackagingJobSummary
    -> Maybe Text -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Maybe Text
compilationJobName :: Maybe Text
$sel:compilationJobName:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Maybe Text
compilationJobName} -> Maybe Text
compilationJobName) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Maybe Text
a -> EdgePackagingJobSummary
s {$sel:compilationJobName:EdgePackagingJobSummary' :: Maybe Text
compilationJobName = Maybe Text
a} :: EdgePackagingJobSummary)

-- | The version of the model.
edgePackagingJobSummary_modelVersion :: Lens.Lens' EdgePackagingJobSummary (Prelude.Maybe Prelude.Text)
edgePackagingJobSummary_modelVersion :: (Maybe Text -> f (Maybe Text))
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_modelVersion = (EdgePackagingJobSummary -> Maybe Text)
-> (EdgePackagingJobSummary
    -> Maybe Text -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Maybe Text
modelVersion :: Maybe Text
$sel:modelVersion:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Maybe Text
modelVersion} -> Maybe Text
modelVersion) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Maybe Text
a -> EdgePackagingJobSummary
s {$sel:modelVersion:EdgePackagingJobSummary' :: Maybe Text
modelVersion = Maybe Text
a} :: EdgePackagingJobSummary)

-- | The Amazon Resource Name (ARN) of the edge packaging job.
edgePackagingJobSummary_edgePackagingJobArn :: Lens.Lens' EdgePackagingJobSummary Prelude.Text
edgePackagingJobSummary_edgePackagingJobArn :: (Text -> f Text)
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_edgePackagingJobArn = (EdgePackagingJobSummary -> Text)
-> (EdgePackagingJobSummary -> Text -> EdgePackagingJobSummary)
-> Lens EdgePackagingJobSummary EdgePackagingJobSummary Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Text
edgePackagingJobArn :: Text
$sel:edgePackagingJobArn:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Text
edgePackagingJobArn} -> Text
edgePackagingJobArn) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Text
a -> EdgePackagingJobSummary
s {$sel:edgePackagingJobArn:EdgePackagingJobSummary' :: Text
edgePackagingJobArn = Text
a} :: EdgePackagingJobSummary)

-- | The name of the edge packaging job.
edgePackagingJobSummary_edgePackagingJobName :: Lens.Lens' EdgePackagingJobSummary Prelude.Text
edgePackagingJobSummary_edgePackagingJobName :: (Text -> f Text)
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_edgePackagingJobName = (EdgePackagingJobSummary -> Text)
-> (EdgePackagingJobSummary -> Text -> EdgePackagingJobSummary)
-> Lens EdgePackagingJobSummary EdgePackagingJobSummary Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {Text
edgePackagingJobName :: Text
$sel:edgePackagingJobName:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> Text
edgePackagingJobName} -> Text
edgePackagingJobName) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} Text
a -> EdgePackagingJobSummary
s {$sel:edgePackagingJobName:EdgePackagingJobSummary' :: Text
edgePackagingJobName = Text
a} :: EdgePackagingJobSummary)

-- | The status of the edge packaging job.
edgePackagingJobSummary_edgePackagingJobStatus :: Lens.Lens' EdgePackagingJobSummary EdgePackagingJobStatus
edgePackagingJobSummary_edgePackagingJobStatus :: (EdgePackagingJobStatus -> f EdgePackagingJobStatus)
-> EdgePackagingJobSummary -> f EdgePackagingJobSummary
edgePackagingJobSummary_edgePackagingJobStatus = (EdgePackagingJobSummary -> EdgePackagingJobStatus)
-> (EdgePackagingJobSummary
    -> EdgePackagingJobStatus -> EdgePackagingJobSummary)
-> Lens
     EdgePackagingJobSummary
     EdgePackagingJobSummary
     EdgePackagingJobStatus
     EdgePackagingJobStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgePackagingJobSummary' {EdgePackagingJobStatus
edgePackagingJobStatus :: EdgePackagingJobStatus
$sel:edgePackagingJobStatus:EdgePackagingJobSummary' :: EdgePackagingJobSummary -> EdgePackagingJobStatus
edgePackagingJobStatus} -> EdgePackagingJobStatus
edgePackagingJobStatus) (\s :: EdgePackagingJobSummary
s@EdgePackagingJobSummary' {} EdgePackagingJobStatus
a -> EdgePackagingJobSummary
s {$sel:edgePackagingJobStatus:EdgePackagingJobSummary' :: EdgePackagingJobStatus
edgePackagingJobStatus = EdgePackagingJobStatus
a} :: EdgePackagingJobSummary)

instance Core.FromJSON EdgePackagingJobSummary where
  parseJSON :: Value -> Parser EdgePackagingJobSummary
parseJSON =
    String
-> (Object -> Parser EdgePackagingJobSummary)
-> Value
-> Parser EdgePackagingJobSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"EdgePackagingJobSummary"
      ( \Object
x ->
          Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> EdgePackagingJobStatus
-> EdgePackagingJobSummary
EdgePackagingJobSummary'
            (Maybe POSIX
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Text
 -> Text
 -> EdgePackagingJobStatus
 -> EdgePackagingJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> EdgePackagingJobSummary)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CreationTime")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> EdgePackagingJobSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> EdgePackagingJobSummary)
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 POSIX
   -> Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> EdgePackagingJobSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> EdgePackagingJobSummary)
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
"LastModifiedTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> EdgePackagingJobSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> EdgePackagingJobSummary)
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
"CompilationJobName")
            Parser
  (Maybe Text
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> EdgePackagingJobSummary)
-> Parser (Maybe Text)
-> Parser
     (Text -> Text -> EdgePackagingJobStatus -> EdgePackagingJobSummary)
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
"ModelVersion")
            Parser
  (Text -> Text -> EdgePackagingJobStatus -> EdgePackagingJobSummary)
-> Parser Text
-> Parser
     (Text -> EdgePackagingJobStatus -> EdgePackagingJobSummary)
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
"EdgePackagingJobArn")
            Parser (Text -> EdgePackagingJobStatus -> EdgePackagingJobSummary)
-> Parser Text
-> Parser (EdgePackagingJobStatus -> EdgePackagingJobSummary)
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
"EdgePackagingJobName")
            Parser (EdgePackagingJobStatus -> EdgePackagingJobSummary)
-> Parser EdgePackagingJobStatus -> Parser EdgePackagingJobSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser EdgePackagingJobStatus
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"EdgePackagingJobStatus")
      )

instance Prelude.Hashable EdgePackagingJobSummary

instance Prelude.NFData EdgePackagingJobSummary