{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.DescribeEdgePackagingJob
-- 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)
--
-- A description of edge packaging jobs.
module Amazonka.SageMaker.DescribeEdgePackagingJob
  ( -- * Creating a Request
    DescribeEdgePackagingJob (..),
    newDescribeEdgePackagingJob,

    -- * Request Lenses
    describeEdgePackagingJob_edgePackagingJobName,

    -- * Destructuring the Response
    DescribeEdgePackagingJobResponse (..),
    newDescribeEdgePackagingJobResponse,

    -- * Response Lenses
    describeEdgePackagingJobResponse_creationTime,
    describeEdgePackagingJobResponse_resourceKey,
    describeEdgePackagingJobResponse_modelName,
    describeEdgePackagingJobResponse_modelSignature,
    describeEdgePackagingJobResponse_lastModifiedTime,
    describeEdgePackagingJobResponse_modelArtifact,
    describeEdgePackagingJobResponse_compilationJobName,
    describeEdgePackagingJobResponse_edgePackagingJobStatusMessage,
    describeEdgePackagingJobResponse_outputConfig,
    describeEdgePackagingJobResponse_modelVersion,
    describeEdgePackagingJobResponse_presetDeploymentOutput,
    describeEdgePackagingJobResponse_roleArn,
    describeEdgePackagingJobResponse_httpStatus,
    describeEdgePackagingJobResponse_edgePackagingJobArn,
    describeEdgePackagingJobResponse_edgePackagingJobName,
    describeEdgePackagingJobResponse_edgePackagingJobStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribeEdgePackagingJob' smart constructor.
data DescribeEdgePackagingJob = DescribeEdgePackagingJob'
  { -- | The name of the edge packaging job.
    DescribeEdgePackagingJob -> Text
edgePackagingJobName :: Prelude.Text
  }
  deriving (DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool
(DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool)
-> (DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool)
-> Eq DescribeEdgePackagingJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool
$c/= :: DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool
== :: DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool
$c== :: DescribeEdgePackagingJob -> DescribeEdgePackagingJob -> Bool
Prelude.Eq, ReadPrec [DescribeEdgePackagingJob]
ReadPrec DescribeEdgePackagingJob
Int -> ReadS DescribeEdgePackagingJob
ReadS [DescribeEdgePackagingJob]
(Int -> ReadS DescribeEdgePackagingJob)
-> ReadS [DescribeEdgePackagingJob]
-> ReadPrec DescribeEdgePackagingJob
-> ReadPrec [DescribeEdgePackagingJob]
-> Read DescribeEdgePackagingJob
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEdgePackagingJob]
$creadListPrec :: ReadPrec [DescribeEdgePackagingJob]
readPrec :: ReadPrec DescribeEdgePackagingJob
$creadPrec :: ReadPrec DescribeEdgePackagingJob
readList :: ReadS [DescribeEdgePackagingJob]
$creadList :: ReadS [DescribeEdgePackagingJob]
readsPrec :: Int -> ReadS DescribeEdgePackagingJob
$creadsPrec :: Int -> ReadS DescribeEdgePackagingJob
Prelude.Read, Int -> DescribeEdgePackagingJob -> ShowS
[DescribeEdgePackagingJob] -> ShowS
DescribeEdgePackagingJob -> String
(Int -> DescribeEdgePackagingJob -> ShowS)
-> (DescribeEdgePackagingJob -> String)
-> ([DescribeEdgePackagingJob] -> ShowS)
-> Show DescribeEdgePackagingJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEdgePackagingJob] -> ShowS
$cshowList :: [DescribeEdgePackagingJob] -> ShowS
show :: DescribeEdgePackagingJob -> String
$cshow :: DescribeEdgePackagingJob -> String
showsPrec :: Int -> DescribeEdgePackagingJob -> ShowS
$cshowsPrec :: Int -> DescribeEdgePackagingJob -> ShowS
Prelude.Show, (forall x.
 DescribeEdgePackagingJob -> Rep DescribeEdgePackagingJob x)
-> (forall x.
    Rep DescribeEdgePackagingJob x -> DescribeEdgePackagingJob)
-> Generic DescribeEdgePackagingJob
forall x.
Rep DescribeEdgePackagingJob x -> DescribeEdgePackagingJob
forall x.
DescribeEdgePackagingJob -> Rep DescribeEdgePackagingJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeEdgePackagingJob x -> DescribeEdgePackagingJob
$cfrom :: forall x.
DescribeEdgePackagingJob -> Rep DescribeEdgePackagingJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeEdgePackagingJob' 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:
--
-- 'edgePackagingJobName', 'describeEdgePackagingJob_edgePackagingJobName' - The name of the edge packaging job.
newDescribeEdgePackagingJob ::
  -- | 'edgePackagingJobName'
  Prelude.Text ->
  DescribeEdgePackagingJob
newDescribeEdgePackagingJob :: Text -> DescribeEdgePackagingJob
newDescribeEdgePackagingJob Text
pEdgePackagingJobName_ =
  DescribeEdgePackagingJob' :: Text -> DescribeEdgePackagingJob
DescribeEdgePackagingJob'
    { $sel:edgePackagingJobName:DescribeEdgePackagingJob' :: Text
edgePackagingJobName =
        Text
pEdgePackagingJobName_
    }

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

instance Core.AWSRequest DescribeEdgePackagingJob where
  type
    AWSResponse DescribeEdgePackagingJob =
      DescribeEdgePackagingJobResponse
  request :: DescribeEdgePackagingJob -> Request DescribeEdgePackagingJob
request = Service
-> DescribeEdgePackagingJob -> Request DescribeEdgePackagingJob
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeEdgePackagingJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeEdgePackagingJob)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeEdgePackagingJob))
-> Logger
-> Service
-> Proxy DescribeEdgePackagingJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeEdgePackagingJob)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe EdgeOutputConfig
-> Maybe Text
-> Maybe EdgePresetDeploymentOutput
-> Maybe Text
-> Int
-> Text
-> Text
-> EdgePackagingJobStatus
-> DescribeEdgePackagingJobResponse
DescribeEdgePackagingJobResponse'
            (Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe EdgeOutputConfig
 -> Maybe Text
 -> Maybe EdgePresetDeploymentOutput
 -> Maybe Text
 -> Int
 -> Text
 -> Text
 -> EdgePackagingJobStatus
 -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreationTime")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ResourceKey")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelName")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelSignature")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastModifiedTime")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelArtifact")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CompilationJobName")
            Either
  String
  (Maybe Text
   -> Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe EdgeOutputConfig
      -> Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EdgePackagingJobStatusMessage")
            Either
  String
  (Maybe EdgeOutputConfig
   -> Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe EdgeOutputConfig)
-> Either
     String
     (Maybe Text
      -> Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe EdgeOutputConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"OutputConfig")
            Either
  String
  (Maybe Text
   -> Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe EdgePresetDeploymentOutput
      -> Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelVersion")
            Either
  String
  (Maybe EdgePresetDeploymentOutput
   -> Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe EdgePresetDeploymentOutput)
-> Either
     String
     (Maybe Text
      -> Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe EdgePresetDeploymentOutput)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"PresetDeploymentOutput")
            Either
  String
  (Maybe Text
   -> Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Int
      -> Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"RoleArn")
            Either
  String
  (Int
   -> Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String Int
-> Either
     String
     (Text
      -> Text
      -> EdgePackagingJobStatus
      -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            Either
  String
  (Text
   -> Text
   -> EdgePackagingJobStatus
   -> DescribeEdgePackagingJobResponse)
-> Either String Text
-> Either
     String
     (Text
      -> EdgePackagingJobStatus -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"EdgePackagingJobArn")
            Either
  String
  (Text
   -> EdgePackagingJobStatus -> DescribeEdgePackagingJobResponse)
-> Either String Text
-> Either
     String (EdgePackagingJobStatus -> DescribeEdgePackagingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"EdgePackagingJobName")
            Either
  String (EdgePackagingJobStatus -> DescribeEdgePackagingJobResponse)
-> Either String EdgePackagingJobStatus
-> Either String DescribeEdgePackagingJobResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String EdgePackagingJobStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"EdgePackagingJobStatus")
      )

instance Prelude.Hashable DescribeEdgePackagingJob

instance Prelude.NFData DescribeEdgePackagingJob

instance Core.ToHeaders DescribeEdgePackagingJob where
  toHeaders :: DescribeEdgePackagingJob -> ResponseHeaders
toHeaders =
    ResponseHeaders -> DescribeEdgePackagingJob -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"SageMaker.DescribeEdgePackagingJob" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON DescribeEdgePackagingJob where
  toJSON :: DescribeEdgePackagingJob -> Value
toJSON DescribeEdgePackagingJob' {Text
edgePackagingJobName :: Text
$sel:edgePackagingJobName:DescribeEdgePackagingJob' :: DescribeEdgePackagingJob -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"EdgePackagingJobName"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
edgePackagingJobName
              )
          ]
      )

instance Core.ToPath DescribeEdgePackagingJob where
  toPath :: DescribeEdgePackagingJob -> ByteString
toPath = ByteString -> DescribeEdgePackagingJob -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Core.ToQuery DescribeEdgePackagingJob where
  toQuery :: DescribeEdgePackagingJob -> QueryString
toQuery = QueryString -> DescribeEdgePackagingJob -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeEdgePackagingJobResponse' smart constructor.
data DescribeEdgePackagingJobResponse = DescribeEdgePackagingJobResponse'
  { -- | The timestamp of when the packaging job was created.
    DescribeEdgePackagingJobResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    -- | The Amazon Web Services KMS key to use when encrypting the EBS volume
    -- the job run on.
    DescribeEdgePackagingJobResponse -> Maybe Text
resourceKey :: Prelude.Maybe Prelude.Text,
    -- | The name of the model.
    DescribeEdgePackagingJobResponse -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | The signature document of files in the model artifact.
    DescribeEdgePackagingJobResponse -> Maybe Text
modelSignature :: Prelude.Maybe Prelude.Text,
    -- | The timestamp of when the job was last updated.
    DescribeEdgePackagingJobResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | The Amazon Simple Storage (S3) URI where model artifacts ares stored.
    DescribeEdgePackagingJobResponse -> Maybe Text
modelArtifact :: Prelude.Maybe Prelude.Text,
    -- | The name of the SageMaker Neo compilation job that is used to locate
    -- model artifacts that are being packaged.
    DescribeEdgePackagingJobResponse -> Maybe Text
compilationJobName :: Prelude.Maybe Prelude.Text,
    -- | Returns a message describing the job status and error messages.
    DescribeEdgePackagingJobResponse -> Maybe Text
edgePackagingJobStatusMessage :: Prelude.Maybe Prelude.Text,
    -- | The output configuration for the edge packaging job.
    DescribeEdgePackagingJobResponse -> Maybe EdgeOutputConfig
outputConfig :: Prelude.Maybe EdgeOutputConfig,
    -- | The version of the model.
    DescribeEdgePackagingJobResponse -> Maybe Text
modelVersion :: Prelude.Maybe Prelude.Text,
    -- | The output of a SageMaker Edge Manager deployable resource.
    DescribeEdgePackagingJobResponse
-> Maybe EdgePresetDeploymentOutput
presetDeploymentOutput :: Prelude.Maybe EdgePresetDeploymentOutput,
    -- | The Amazon Resource Name (ARN) of an IAM role that enables Amazon
    -- SageMaker to download and upload the model, and to contact Neo.
    DescribeEdgePackagingJobResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeEdgePackagingJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the edge packaging job.
    DescribeEdgePackagingJobResponse -> Text
edgePackagingJobArn :: Prelude.Text,
    -- | The name of the edge packaging job.
    DescribeEdgePackagingJobResponse -> Text
edgePackagingJobName :: Prelude.Text,
    -- | The current status of the packaging job.
    DescribeEdgePackagingJobResponse -> EdgePackagingJobStatus
edgePackagingJobStatus :: EdgePackagingJobStatus
  }
  deriving (DescribeEdgePackagingJobResponse
-> DescribeEdgePackagingJobResponse -> Bool
(DescribeEdgePackagingJobResponse
 -> DescribeEdgePackagingJobResponse -> Bool)
-> (DescribeEdgePackagingJobResponse
    -> DescribeEdgePackagingJobResponse -> Bool)
-> Eq DescribeEdgePackagingJobResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEdgePackagingJobResponse
-> DescribeEdgePackagingJobResponse -> Bool
$c/= :: DescribeEdgePackagingJobResponse
-> DescribeEdgePackagingJobResponse -> Bool
== :: DescribeEdgePackagingJobResponse
-> DescribeEdgePackagingJobResponse -> Bool
$c== :: DescribeEdgePackagingJobResponse
-> DescribeEdgePackagingJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeEdgePackagingJobResponse]
ReadPrec DescribeEdgePackagingJobResponse
Int -> ReadS DescribeEdgePackagingJobResponse
ReadS [DescribeEdgePackagingJobResponse]
(Int -> ReadS DescribeEdgePackagingJobResponse)
-> ReadS [DescribeEdgePackagingJobResponse]
-> ReadPrec DescribeEdgePackagingJobResponse
-> ReadPrec [DescribeEdgePackagingJobResponse]
-> Read DescribeEdgePackagingJobResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEdgePackagingJobResponse]
$creadListPrec :: ReadPrec [DescribeEdgePackagingJobResponse]
readPrec :: ReadPrec DescribeEdgePackagingJobResponse
$creadPrec :: ReadPrec DescribeEdgePackagingJobResponse
readList :: ReadS [DescribeEdgePackagingJobResponse]
$creadList :: ReadS [DescribeEdgePackagingJobResponse]
readsPrec :: Int -> ReadS DescribeEdgePackagingJobResponse
$creadsPrec :: Int -> ReadS DescribeEdgePackagingJobResponse
Prelude.Read, Int -> DescribeEdgePackagingJobResponse -> ShowS
[DescribeEdgePackagingJobResponse] -> ShowS
DescribeEdgePackagingJobResponse -> String
(Int -> DescribeEdgePackagingJobResponse -> ShowS)
-> (DescribeEdgePackagingJobResponse -> String)
-> ([DescribeEdgePackagingJobResponse] -> ShowS)
-> Show DescribeEdgePackagingJobResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEdgePackagingJobResponse] -> ShowS
$cshowList :: [DescribeEdgePackagingJobResponse] -> ShowS
show :: DescribeEdgePackagingJobResponse -> String
$cshow :: DescribeEdgePackagingJobResponse -> String
showsPrec :: Int -> DescribeEdgePackagingJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeEdgePackagingJobResponse -> ShowS
Prelude.Show, (forall x.
 DescribeEdgePackagingJobResponse
 -> Rep DescribeEdgePackagingJobResponse x)
-> (forall x.
    Rep DescribeEdgePackagingJobResponse x
    -> DescribeEdgePackagingJobResponse)
-> Generic DescribeEdgePackagingJobResponse
forall x.
Rep DescribeEdgePackagingJobResponse x
-> DescribeEdgePackagingJobResponse
forall x.
DescribeEdgePackagingJobResponse
-> Rep DescribeEdgePackagingJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeEdgePackagingJobResponse x
-> DescribeEdgePackagingJobResponse
$cfrom :: forall x.
DescribeEdgePackagingJobResponse
-> Rep DescribeEdgePackagingJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeEdgePackagingJobResponse' 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', 'describeEdgePackagingJobResponse_creationTime' - The timestamp of when the packaging job was created.
--
-- 'resourceKey', 'describeEdgePackagingJobResponse_resourceKey' - The Amazon Web Services KMS key to use when encrypting the EBS volume
-- the job run on.
--
-- 'modelName', 'describeEdgePackagingJobResponse_modelName' - The name of the model.
--
-- 'modelSignature', 'describeEdgePackagingJobResponse_modelSignature' - The signature document of files in the model artifact.
--
-- 'lastModifiedTime', 'describeEdgePackagingJobResponse_lastModifiedTime' - The timestamp of when the job was last updated.
--
-- 'modelArtifact', 'describeEdgePackagingJobResponse_modelArtifact' - The Amazon Simple Storage (S3) URI where model artifacts ares stored.
--
-- 'compilationJobName', 'describeEdgePackagingJobResponse_compilationJobName' - The name of the SageMaker Neo compilation job that is used to locate
-- model artifacts that are being packaged.
--
-- 'edgePackagingJobStatusMessage', 'describeEdgePackagingJobResponse_edgePackagingJobStatusMessage' - Returns a message describing the job status and error messages.
--
-- 'outputConfig', 'describeEdgePackagingJobResponse_outputConfig' - The output configuration for the edge packaging job.
--
-- 'modelVersion', 'describeEdgePackagingJobResponse_modelVersion' - The version of the model.
--
-- 'presetDeploymentOutput', 'describeEdgePackagingJobResponse_presetDeploymentOutput' - The output of a SageMaker Edge Manager deployable resource.
--
-- 'roleArn', 'describeEdgePackagingJobResponse_roleArn' - The Amazon Resource Name (ARN) of an IAM role that enables Amazon
-- SageMaker to download and upload the model, and to contact Neo.
--
-- 'httpStatus', 'describeEdgePackagingJobResponse_httpStatus' - The response's http status code.
--
-- 'edgePackagingJobArn', 'describeEdgePackagingJobResponse_edgePackagingJobArn' - The Amazon Resource Name (ARN) of the edge packaging job.
--
-- 'edgePackagingJobName', 'describeEdgePackagingJobResponse_edgePackagingJobName' - The name of the edge packaging job.
--
-- 'edgePackagingJobStatus', 'describeEdgePackagingJobResponse_edgePackagingJobStatus' - The current status of the packaging job.
newDescribeEdgePackagingJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'edgePackagingJobArn'
  Prelude.Text ->
  -- | 'edgePackagingJobName'
  Prelude.Text ->
  -- | 'edgePackagingJobStatus'
  EdgePackagingJobStatus ->
  DescribeEdgePackagingJobResponse
newDescribeEdgePackagingJobResponse :: Int
-> Text
-> Text
-> EdgePackagingJobStatus
-> DescribeEdgePackagingJobResponse
newDescribeEdgePackagingJobResponse
  Int
pHttpStatus_
  Text
pEdgePackagingJobArn_
  Text
pEdgePackagingJobName_
  EdgePackagingJobStatus
pEdgePackagingJobStatus_ =
    DescribeEdgePackagingJobResponse' :: Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe EdgeOutputConfig
-> Maybe Text
-> Maybe EdgePresetDeploymentOutput
-> Maybe Text
-> Int
-> Text
-> Text
-> EdgePackagingJobStatus
-> DescribeEdgePackagingJobResponse
DescribeEdgePackagingJobResponse'
      { $sel:creationTime:DescribeEdgePackagingJobResponse' :: Maybe POSIX
creationTime =
          Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:resourceKey:DescribeEdgePackagingJobResponse' :: Maybe Text
resourceKey = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:modelName:DescribeEdgePackagingJobResponse' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:modelSignature:DescribeEdgePackagingJobResponse' :: Maybe Text
modelSignature = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:lastModifiedTime:DescribeEdgePackagingJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:modelArtifact:DescribeEdgePackagingJobResponse' :: Maybe Text
modelArtifact = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:compilationJobName:DescribeEdgePackagingJobResponse' :: Maybe Text
compilationJobName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:edgePackagingJobStatusMessage:DescribeEdgePackagingJobResponse' :: Maybe Text
edgePackagingJobStatusMessage =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:outputConfig:DescribeEdgePackagingJobResponse' :: Maybe EdgeOutputConfig
outputConfig = Maybe EdgeOutputConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:modelVersion:DescribeEdgePackagingJobResponse' :: Maybe Text
modelVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:presetDeploymentOutput:DescribeEdgePackagingJobResponse' :: Maybe EdgePresetDeploymentOutput
presetDeploymentOutput = Maybe EdgePresetDeploymentOutput
forall a. Maybe a
Prelude.Nothing,
        $sel:roleArn:DescribeEdgePackagingJobResponse' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeEdgePackagingJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:edgePackagingJobArn:DescribeEdgePackagingJobResponse' :: Text
edgePackagingJobArn =
          Text
pEdgePackagingJobArn_,
        $sel:edgePackagingJobName:DescribeEdgePackagingJobResponse' :: Text
edgePackagingJobName =
          Text
pEdgePackagingJobName_,
        $sel:edgePackagingJobStatus:DescribeEdgePackagingJobResponse' :: EdgePackagingJobStatus
edgePackagingJobStatus =
          EdgePackagingJobStatus
pEdgePackagingJobStatus_
      }

-- | The timestamp of when the packaging job was created.
describeEdgePackagingJobResponse_creationTime :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.UTCTime)
describeEdgePackagingJobResponse_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_creationTime = (DescribeEdgePackagingJobResponse -> Maybe POSIX)
-> (DescribeEdgePackagingJobResponse
    -> Maybe POSIX -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe POSIX
a -> DescribeEdgePackagingJobResponse
s {$sel:creationTime:DescribeEdgePackagingJobResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeEdgePackagingJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeEdgePackagingJobResponse
 -> f DescribeEdgePackagingJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
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 Amazon Web Services KMS key to use when encrypting the EBS volume
-- the job run on.
describeEdgePackagingJobResponse_resourceKey :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_resourceKey :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_resourceKey = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
resourceKey :: Maybe Text
$sel:resourceKey:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
resourceKey} -> Maybe Text
resourceKey) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:resourceKey:DescribeEdgePackagingJobResponse' :: Maybe Text
resourceKey = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The name of the model.
describeEdgePackagingJobResponse_modelName :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_modelName :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_modelName = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
modelName :: Maybe Text
$sel:modelName:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:modelName:DescribeEdgePackagingJobResponse' :: Maybe Text
modelName = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The signature document of files in the model artifact.
describeEdgePackagingJobResponse_modelSignature :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_modelSignature :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_modelSignature = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
modelSignature :: Maybe Text
$sel:modelSignature:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
modelSignature} -> Maybe Text
modelSignature) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:modelSignature:DescribeEdgePackagingJobResponse' :: Maybe Text
modelSignature = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The timestamp of when the job was last updated.
describeEdgePackagingJobResponse_lastModifiedTime :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.UTCTime)
describeEdgePackagingJobResponse_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_lastModifiedTime = (DescribeEdgePackagingJobResponse -> Maybe POSIX)
-> (DescribeEdgePackagingJobResponse
    -> Maybe POSIX -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe POSIX
a -> DescribeEdgePackagingJobResponse
s {$sel:lastModifiedTime:DescribeEdgePackagingJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeEdgePackagingJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeEdgePackagingJobResponse
 -> f DescribeEdgePackagingJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
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 Amazon Simple Storage (S3) URI where model artifacts ares stored.
describeEdgePackagingJobResponse_modelArtifact :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_modelArtifact :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_modelArtifact = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
modelArtifact :: Maybe Text
$sel:modelArtifact:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
modelArtifact} -> Maybe Text
modelArtifact) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:modelArtifact:DescribeEdgePackagingJobResponse' :: Maybe Text
modelArtifact = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The name of the SageMaker Neo compilation job that is used to locate
-- model artifacts that are being packaged.
describeEdgePackagingJobResponse_compilationJobName :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_compilationJobName :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_compilationJobName = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
compilationJobName :: Maybe Text
$sel:compilationJobName:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
compilationJobName} -> Maybe Text
compilationJobName) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:compilationJobName:DescribeEdgePackagingJobResponse' :: Maybe Text
compilationJobName = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | Returns a message describing the job status and error messages.
describeEdgePackagingJobResponse_edgePackagingJobStatusMessage :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_edgePackagingJobStatusMessage :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_edgePackagingJobStatusMessage = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
edgePackagingJobStatusMessage :: Maybe Text
$sel:edgePackagingJobStatusMessage:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
edgePackagingJobStatusMessage} -> Maybe Text
edgePackagingJobStatusMessage) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:edgePackagingJobStatusMessage:DescribeEdgePackagingJobResponse' :: Maybe Text
edgePackagingJobStatusMessage = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The output configuration for the edge packaging job.
describeEdgePackagingJobResponse_outputConfig :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe EdgeOutputConfig)
describeEdgePackagingJobResponse_outputConfig :: (Maybe EdgeOutputConfig -> f (Maybe EdgeOutputConfig))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_outputConfig = (DescribeEdgePackagingJobResponse -> Maybe EdgeOutputConfig)
-> (DescribeEdgePackagingJobResponse
    -> Maybe EdgeOutputConfig -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe EdgeOutputConfig)
     (Maybe EdgeOutputConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe EdgeOutputConfig
outputConfig :: Maybe EdgeOutputConfig
$sel:outputConfig:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe EdgeOutputConfig
outputConfig} -> Maybe EdgeOutputConfig
outputConfig) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe EdgeOutputConfig
a -> DescribeEdgePackagingJobResponse
s {$sel:outputConfig:DescribeEdgePackagingJobResponse' :: Maybe EdgeOutputConfig
outputConfig = Maybe EdgeOutputConfig
a} :: DescribeEdgePackagingJobResponse)

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

-- | The output of a SageMaker Edge Manager deployable resource.
describeEdgePackagingJobResponse_presetDeploymentOutput :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe EdgePresetDeploymentOutput)
describeEdgePackagingJobResponse_presetDeploymentOutput :: (Maybe EdgePresetDeploymentOutput
 -> f (Maybe EdgePresetDeploymentOutput))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_presetDeploymentOutput = (DescribeEdgePackagingJobResponse
 -> Maybe EdgePresetDeploymentOutput)
-> (DescribeEdgePackagingJobResponse
    -> Maybe EdgePresetDeploymentOutput
    -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe EdgePresetDeploymentOutput)
     (Maybe EdgePresetDeploymentOutput)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe EdgePresetDeploymentOutput
presetDeploymentOutput :: Maybe EdgePresetDeploymentOutput
$sel:presetDeploymentOutput:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse
-> Maybe EdgePresetDeploymentOutput
presetDeploymentOutput} -> Maybe EdgePresetDeploymentOutput
presetDeploymentOutput) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe EdgePresetDeploymentOutput
a -> DescribeEdgePackagingJobResponse
s {$sel:presetDeploymentOutput:DescribeEdgePackagingJobResponse' :: Maybe EdgePresetDeploymentOutput
presetDeploymentOutput = Maybe EdgePresetDeploymentOutput
a} :: DescribeEdgePackagingJobResponse)

-- | The Amazon Resource Name (ARN) of an IAM role that enables Amazon
-- SageMaker to download and upload the model, and to contact Neo.
describeEdgePackagingJobResponse_roleArn :: Lens.Lens' DescribeEdgePackagingJobResponse (Prelude.Maybe Prelude.Text)
describeEdgePackagingJobResponse_roleArn :: (Maybe Text -> f (Maybe Text))
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_roleArn = (DescribeEdgePackagingJobResponse -> Maybe Text)
-> (DescribeEdgePackagingJobResponse
    -> Maybe Text -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Maybe Text
a -> DescribeEdgePackagingJobResponse
s {$sel:roleArn:DescribeEdgePackagingJobResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeEdgePackagingJobResponse)

-- | The response's http status code.
describeEdgePackagingJobResponse_httpStatus :: Lens.Lens' DescribeEdgePackagingJobResponse Prelude.Int
describeEdgePackagingJobResponse_httpStatus :: (Int -> f Int)
-> DescribeEdgePackagingJobResponse
-> f DescribeEdgePackagingJobResponse
describeEdgePackagingJobResponse_httpStatus = (DescribeEdgePackagingJobResponse -> Int)
-> (DescribeEdgePackagingJobResponse
    -> Int -> DescribeEdgePackagingJobResponse)
-> Lens
     DescribeEdgePackagingJobResponse
     DescribeEdgePackagingJobResponse
     Int
     Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEdgePackagingJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeEdgePackagingJobResponse' :: DescribeEdgePackagingJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeEdgePackagingJobResponse
s@DescribeEdgePackagingJobResponse' {} Int
a -> DescribeEdgePackagingJobResponse
s {$sel:httpStatus:DescribeEdgePackagingJobResponse' :: Int
httpStatus = Int
a} :: DescribeEdgePackagingJobResponse)

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

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

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

instance
  Prelude.NFData
    DescribeEdgePackagingJobResponse