{-# 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.DescribeImageVersion
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes a version of a SageMaker image.
module Amazonka.SageMaker.DescribeImageVersion
  ( -- * Creating a Request
    DescribeImageVersion (..),
    newDescribeImageVersion,

    -- * Request Lenses
    describeImageVersion_alias,
    describeImageVersion_version,
    describeImageVersion_imageName,

    -- * Destructuring the Response
    DescribeImageVersionResponse (..),
    newDescribeImageVersionResponse,

    -- * Response Lenses
    describeImageVersionResponse_baseImage,
    describeImageVersionResponse_containerImage,
    describeImageVersionResponse_creationTime,
    describeImageVersionResponse_failureReason,
    describeImageVersionResponse_horovod,
    describeImageVersionResponse_imageArn,
    describeImageVersionResponse_imageVersionArn,
    describeImageVersionResponse_imageVersionStatus,
    describeImageVersionResponse_jobType,
    describeImageVersionResponse_lastModifiedTime,
    describeImageVersionResponse_mLFramework,
    describeImageVersionResponse_processor,
    describeImageVersionResponse_programmingLang,
    describeImageVersionResponse_releaseNotes,
    describeImageVersionResponse_vendorGuidance,
    describeImageVersionResponse_version,
    describeImageVersionResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeImageVersion' smart constructor.
data DescribeImageVersion = DescribeImageVersion'
  { -- | The alias of the image version.
    DescribeImageVersion -> Maybe Text
alias :: Prelude.Maybe Prelude.Text,
    -- | The version of the image. If not specified, the latest version is
    -- described.
    DescribeImageVersion -> Maybe Natural
version :: Prelude.Maybe Prelude.Natural,
    -- | The name of the image.
    DescribeImageVersion -> Text
imageName :: Prelude.Text
  }
  deriving (DescribeImageVersion -> DescribeImageVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeImageVersion -> DescribeImageVersion -> Bool
$c/= :: DescribeImageVersion -> DescribeImageVersion -> Bool
== :: DescribeImageVersion -> DescribeImageVersion -> Bool
$c== :: DescribeImageVersion -> DescribeImageVersion -> Bool
Prelude.Eq, ReadPrec [DescribeImageVersion]
ReadPrec DescribeImageVersion
Int -> ReadS DescribeImageVersion
ReadS [DescribeImageVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeImageVersion]
$creadListPrec :: ReadPrec [DescribeImageVersion]
readPrec :: ReadPrec DescribeImageVersion
$creadPrec :: ReadPrec DescribeImageVersion
readList :: ReadS [DescribeImageVersion]
$creadList :: ReadS [DescribeImageVersion]
readsPrec :: Int -> ReadS DescribeImageVersion
$creadsPrec :: Int -> ReadS DescribeImageVersion
Prelude.Read, Int -> DescribeImageVersion -> ShowS
[DescribeImageVersion] -> ShowS
DescribeImageVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeImageVersion] -> ShowS
$cshowList :: [DescribeImageVersion] -> ShowS
show :: DescribeImageVersion -> String
$cshow :: DescribeImageVersion -> String
showsPrec :: Int -> DescribeImageVersion -> ShowS
$cshowsPrec :: Int -> DescribeImageVersion -> ShowS
Prelude.Show, forall x. Rep DescribeImageVersion x -> DescribeImageVersion
forall x. DescribeImageVersion -> Rep DescribeImageVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeImageVersion x -> DescribeImageVersion
$cfrom :: forall x. DescribeImageVersion -> Rep DescribeImageVersion x
Prelude.Generic)

-- |
-- Create a value of 'DescribeImageVersion' 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:
--
-- 'alias', 'describeImageVersion_alias' - The alias of the image version.
--
-- 'version', 'describeImageVersion_version' - The version of the image. If not specified, the latest version is
-- described.
--
-- 'imageName', 'describeImageVersion_imageName' - The name of the image.
newDescribeImageVersion ::
  -- | 'imageName'
  Prelude.Text ->
  DescribeImageVersion
newDescribeImageVersion :: Text -> DescribeImageVersion
newDescribeImageVersion Text
pImageName_ =
  DescribeImageVersion'
    { $sel:alias:DescribeImageVersion' :: Maybe Text
alias = forall a. Maybe a
Prelude.Nothing,
      $sel:version:DescribeImageVersion' :: Maybe Natural
version = forall a. Maybe a
Prelude.Nothing,
      $sel:imageName:DescribeImageVersion' :: Text
imageName = Text
pImageName_
    }

-- | The alias of the image version.
describeImageVersion_alias :: Lens.Lens' DescribeImageVersion (Prelude.Maybe Prelude.Text)
describeImageVersion_alias :: Lens' DescribeImageVersion (Maybe Text)
describeImageVersion_alias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersion' {Maybe Text
alias :: Maybe Text
$sel:alias:DescribeImageVersion' :: DescribeImageVersion -> Maybe Text
alias} -> Maybe Text
alias) (\s :: DescribeImageVersion
s@DescribeImageVersion' {} Maybe Text
a -> DescribeImageVersion
s {$sel:alias:DescribeImageVersion' :: Maybe Text
alias = Maybe Text
a} :: DescribeImageVersion)

-- | The version of the image. If not specified, the latest version is
-- described.
describeImageVersion_version :: Lens.Lens' DescribeImageVersion (Prelude.Maybe Prelude.Natural)
describeImageVersion_version :: Lens' DescribeImageVersion (Maybe Natural)
describeImageVersion_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersion' {Maybe Natural
version :: Maybe Natural
$sel:version:DescribeImageVersion' :: DescribeImageVersion -> Maybe Natural
version} -> Maybe Natural
version) (\s :: DescribeImageVersion
s@DescribeImageVersion' {} Maybe Natural
a -> DescribeImageVersion
s {$sel:version:DescribeImageVersion' :: Maybe Natural
version = Maybe Natural
a} :: DescribeImageVersion)

-- | The name of the image.
describeImageVersion_imageName :: Lens.Lens' DescribeImageVersion Prelude.Text
describeImageVersion_imageName :: Lens' DescribeImageVersion Text
describeImageVersion_imageName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersion' {Text
imageName :: Text
$sel:imageName:DescribeImageVersion' :: DescribeImageVersion -> Text
imageName} -> Text
imageName) (\s :: DescribeImageVersion
s@DescribeImageVersion' {} Text
a -> DescribeImageVersion
s {$sel:imageName:DescribeImageVersion' :: Text
imageName = Text
a} :: DescribeImageVersion)

instance Core.AWSRequest DescribeImageVersion where
  type
    AWSResponse DescribeImageVersion =
      DescribeImageVersionResponse
  request :: (Service -> Service)
-> DescribeImageVersion -> Request DescribeImageVersion
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeImageVersion
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeImageVersion)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe ImageVersionStatus
-> Maybe JobType
-> Maybe POSIX
-> Maybe Text
-> Maybe Processor
-> Maybe Text
-> Maybe Text
-> Maybe VendorGuidance
-> Maybe Natural
-> Int
-> DescribeImageVersionResponse
DescribeImageVersionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"BaseImage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ContainerImage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"FailureReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Horovod")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ImageArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ImageVersionArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ImageVersionStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"JobType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LastModifiedTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"MLFramework")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Processor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ProgrammingLang")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ReleaseNotes")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"VendorGuidance")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Version")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeImageVersion where
  hashWithSalt :: Int -> DescribeImageVersion -> Int
hashWithSalt Int
_salt DescribeImageVersion' {Maybe Natural
Maybe Text
Text
imageName :: Text
version :: Maybe Natural
alias :: Maybe Text
$sel:imageName:DescribeImageVersion' :: DescribeImageVersion -> Text
$sel:version:DescribeImageVersion' :: DescribeImageVersion -> Maybe Natural
$sel:alias:DescribeImageVersion' :: DescribeImageVersion -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
alias
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
version
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
imageName

instance Prelude.NFData DescribeImageVersion where
  rnf :: DescribeImageVersion -> ()
rnf DescribeImageVersion' {Maybe Natural
Maybe Text
Text
imageName :: Text
version :: Maybe Natural
alias :: Maybe Text
$sel:imageName:DescribeImageVersion' :: DescribeImageVersion -> Text
$sel:version:DescribeImageVersion' :: DescribeImageVersion -> Maybe Natural
$sel:alias:DescribeImageVersion' :: DescribeImageVersion -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alias
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
version
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
imageName

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

instance Data.ToJSON DescribeImageVersion where
  toJSON :: DescribeImageVersion -> Value
toJSON DescribeImageVersion' {Maybe Natural
Maybe Text
Text
imageName :: Text
version :: Maybe Natural
alias :: Maybe Text
$sel:imageName:DescribeImageVersion' :: DescribeImageVersion -> Text
$sel:version:DescribeImageVersion' :: DescribeImageVersion -> Maybe Natural
$sel:alias:DescribeImageVersion' :: DescribeImageVersion -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Alias" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
alias,
            (Key
"Version" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
version,
            forall a. a -> Maybe a
Prelude.Just (Key
"ImageName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
imageName)
          ]
      )

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

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

-- | /See:/ 'newDescribeImageVersionResponse' smart constructor.
data DescribeImageVersionResponse = DescribeImageVersionResponse'
  { -- | The registry path of the container image on which this image version is
    -- based.
    DescribeImageVersionResponse -> Maybe Text
baseImage :: Prelude.Maybe Prelude.Text,
    -- | The registry path of the container image that contains this image
    -- version.
    DescribeImageVersionResponse -> Maybe Text
containerImage :: Prelude.Maybe Prelude.Text,
    -- | When the version was created.
    DescribeImageVersionResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | When a create or delete operation fails, the reason for the failure.
    DescribeImageVersionResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | Indicates Horovod compatibility.
    DescribeImageVersionResponse -> Maybe Bool
horovod :: Prelude.Maybe Prelude.Bool,
    -- | The ARN of the image the version is based on.
    DescribeImageVersionResponse -> Maybe Text
imageArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the version.
    DescribeImageVersionResponse -> Maybe Text
imageVersionArn :: Prelude.Maybe Prelude.Text,
    -- | The status of the version.
    DescribeImageVersionResponse -> Maybe ImageVersionStatus
imageVersionStatus :: Prelude.Maybe ImageVersionStatus,
    -- | Indicates SageMaker job type compatibility.
    --
    -- -   @TRAINING@: The image version is compatible with SageMaker training
    --     jobs.
    --
    -- -   @INFERENCE@: The image version is compatible with SageMaker
    --     inference jobs.
    --
    -- -   @NOTEBOOK_KERNEL@: The image version is compatible with SageMaker
    --     notebook kernels.
    DescribeImageVersionResponse -> Maybe JobType
jobType :: Prelude.Maybe JobType,
    -- | When the version was last modified.
    DescribeImageVersionResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The machine learning framework vended in the image version.
    DescribeImageVersionResponse -> Maybe Text
mLFramework :: Prelude.Maybe Prelude.Text,
    -- | Indicates CPU or GPU compatibility.
    --
    -- -   @CPU@: The image version is compatible with CPU.
    --
    -- -   @GPU@: The image version is compatible with GPU.
    DescribeImageVersionResponse -> Maybe Processor
processor :: Prelude.Maybe Processor,
    -- | The supported programming language and its version.
    DescribeImageVersionResponse -> Maybe Text
programmingLang :: Prelude.Maybe Prelude.Text,
    -- | The maintainer description of the image version.
    DescribeImageVersionResponse -> Maybe Text
releaseNotes :: Prelude.Maybe Prelude.Text,
    -- | The stability of the image version specified by the maintainer.
    --
    -- -   @NOT_PROVIDED@: The maintainers did not provide a status for image
    --     version stability.
    --
    -- -   @STABLE@: The image version is stable.
    --
    -- -   @TO_BE_ARCHIVED@: The image version is set to be archived. Custom
    --     image versions that are set to be archived are automatically
    --     archived after three months.
    --
    -- -   @ARCHIVED@: The image version is archived. Archived image versions
    --     are not searchable and are no longer actively supported.
    DescribeImageVersionResponse -> Maybe VendorGuidance
vendorGuidance :: Prelude.Maybe VendorGuidance,
    -- | The version number.
    DescribeImageVersionResponse -> Maybe Natural
version :: Prelude.Maybe Prelude.Natural,
    -- | The response's http status code.
    DescribeImageVersionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeImageVersionResponse
-> DescribeImageVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeImageVersionResponse
-> DescribeImageVersionResponse -> Bool
$c/= :: DescribeImageVersionResponse
-> DescribeImageVersionResponse -> Bool
== :: DescribeImageVersionResponse
-> DescribeImageVersionResponse -> Bool
$c== :: DescribeImageVersionResponse
-> DescribeImageVersionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeImageVersionResponse]
ReadPrec DescribeImageVersionResponse
Int -> ReadS DescribeImageVersionResponse
ReadS [DescribeImageVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeImageVersionResponse]
$creadListPrec :: ReadPrec [DescribeImageVersionResponse]
readPrec :: ReadPrec DescribeImageVersionResponse
$creadPrec :: ReadPrec DescribeImageVersionResponse
readList :: ReadS [DescribeImageVersionResponse]
$creadList :: ReadS [DescribeImageVersionResponse]
readsPrec :: Int -> ReadS DescribeImageVersionResponse
$creadsPrec :: Int -> ReadS DescribeImageVersionResponse
Prelude.Read, Int -> DescribeImageVersionResponse -> ShowS
[DescribeImageVersionResponse] -> ShowS
DescribeImageVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeImageVersionResponse] -> ShowS
$cshowList :: [DescribeImageVersionResponse] -> ShowS
show :: DescribeImageVersionResponse -> String
$cshow :: DescribeImageVersionResponse -> String
showsPrec :: Int -> DescribeImageVersionResponse -> ShowS
$cshowsPrec :: Int -> DescribeImageVersionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeImageVersionResponse x -> DescribeImageVersionResponse
forall x.
DescribeImageVersionResponse -> Rep DescribeImageVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeImageVersionResponse x -> DescribeImageVersionResponse
$cfrom :: forall x.
DescribeImageVersionResponse -> Rep DescribeImageVersionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeImageVersionResponse' 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:
--
-- 'baseImage', 'describeImageVersionResponse_baseImage' - The registry path of the container image on which this image version is
-- based.
--
-- 'containerImage', 'describeImageVersionResponse_containerImage' - The registry path of the container image that contains this image
-- version.
--
-- 'creationTime', 'describeImageVersionResponse_creationTime' - When the version was created.
--
-- 'failureReason', 'describeImageVersionResponse_failureReason' - When a create or delete operation fails, the reason for the failure.
--
-- 'horovod', 'describeImageVersionResponse_horovod' - Indicates Horovod compatibility.
--
-- 'imageArn', 'describeImageVersionResponse_imageArn' - The ARN of the image the version is based on.
--
-- 'imageVersionArn', 'describeImageVersionResponse_imageVersionArn' - The ARN of the version.
--
-- 'imageVersionStatus', 'describeImageVersionResponse_imageVersionStatus' - The status of the version.
--
-- 'jobType', 'describeImageVersionResponse_jobType' - Indicates SageMaker job type compatibility.
--
-- -   @TRAINING@: The image version is compatible with SageMaker training
--     jobs.
--
-- -   @INFERENCE@: The image version is compatible with SageMaker
--     inference jobs.
--
-- -   @NOTEBOOK_KERNEL@: The image version is compatible with SageMaker
--     notebook kernels.
--
-- 'lastModifiedTime', 'describeImageVersionResponse_lastModifiedTime' - When the version was last modified.
--
-- 'mLFramework', 'describeImageVersionResponse_mLFramework' - The machine learning framework vended in the image version.
--
-- 'processor', 'describeImageVersionResponse_processor' - Indicates CPU or GPU compatibility.
--
-- -   @CPU@: The image version is compatible with CPU.
--
-- -   @GPU@: The image version is compatible with GPU.
--
-- 'programmingLang', 'describeImageVersionResponse_programmingLang' - The supported programming language and its version.
--
-- 'releaseNotes', 'describeImageVersionResponse_releaseNotes' - The maintainer description of the image version.
--
-- 'vendorGuidance', 'describeImageVersionResponse_vendorGuidance' - The stability of the image version specified by the maintainer.
--
-- -   @NOT_PROVIDED@: The maintainers did not provide a status for image
--     version stability.
--
-- -   @STABLE@: The image version is stable.
--
-- -   @TO_BE_ARCHIVED@: The image version is set to be archived. Custom
--     image versions that are set to be archived are automatically
--     archived after three months.
--
-- -   @ARCHIVED@: The image version is archived. Archived image versions
--     are not searchable and are no longer actively supported.
--
-- 'version', 'describeImageVersionResponse_version' - The version number.
--
-- 'httpStatus', 'describeImageVersionResponse_httpStatus' - The response's http status code.
newDescribeImageVersionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeImageVersionResponse
newDescribeImageVersionResponse :: Int -> DescribeImageVersionResponse
newDescribeImageVersionResponse Int
pHttpStatus_ =
  DescribeImageVersionResponse'
    { $sel:baseImage:DescribeImageVersionResponse' :: Maybe Text
baseImage =
        forall a. Maybe a
Prelude.Nothing,
      $sel:containerImage:DescribeImageVersionResponse' :: Maybe Text
containerImage = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribeImageVersionResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:DescribeImageVersionResponse' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:horovod:DescribeImageVersionResponse' :: Maybe Bool
horovod = forall a. Maybe a
Prelude.Nothing,
      $sel:imageArn:DescribeImageVersionResponse' :: Maybe Text
imageArn = forall a. Maybe a
Prelude.Nothing,
      $sel:imageVersionArn:DescribeImageVersionResponse' :: Maybe Text
imageVersionArn = forall a. Maybe a
Prelude.Nothing,
      $sel:imageVersionStatus:DescribeImageVersionResponse' :: Maybe ImageVersionStatus
imageVersionStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:jobType:DescribeImageVersionResponse' :: Maybe JobType
jobType = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeImageVersionResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:mLFramework:DescribeImageVersionResponse' :: Maybe Text
mLFramework = forall a. Maybe a
Prelude.Nothing,
      $sel:processor:DescribeImageVersionResponse' :: Maybe Processor
processor = forall a. Maybe a
Prelude.Nothing,
      $sel:programmingLang:DescribeImageVersionResponse' :: Maybe Text
programmingLang = forall a. Maybe a
Prelude.Nothing,
      $sel:releaseNotes:DescribeImageVersionResponse' :: Maybe Text
releaseNotes = forall a. Maybe a
Prelude.Nothing,
      $sel:vendorGuidance:DescribeImageVersionResponse' :: Maybe VendorGuidance
vendorGuidance = forall a. Maybe a
Prelude.Nothing,
      $sel:version:DescribeImageVersionResponse' :: Maybe Natural
version = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeImageVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The registry path of the container image on which this image version is
-- based.
describeImageVersionResponse_baseImage :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_baseImage :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_baseImage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
baseImage :: Maybe Text
$sel:baseImage:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
baseImage} -> Maybe Text
baseImage) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:baseImage:DescribeImageVersionResponse' :: Maybe Text
baseImage = Maybe Text
a} :: DescribeImageVersionResponse)

-- | The registry path of the container image that contains this image
-- version.
describeImageVersionResponse_containerImage :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_containerImage :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_containerImage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
containerImage :: Maybe Text
$sel:containerImage:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
containerImage} -> Maybe Text
containerImage) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:containerImage:DescribeImageVersionResponse' :: Maybe Text
containerImage = Maybe Text
a} :: DescribeImageVersionResponse)

-- | When the version was created.
describeImageVersionResponse_creationTime :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.UTCTime)
describeImageVersionResponse_creationTime :: Lens' DescribeImageVersionResponse (Maybe UTCTime)
describeImageVersionResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe POSIX
a -> DescribeImageVersionResponse
s {$sel:creationTime:DescribeImageVersionResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeImageVersionResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | When a create or delete operation fails, the reason for the failure.
describeImageVersionResponse_failureReason :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_failureReason :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:failureReason:DescribeImageVersionResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeImageVersionResponse)

-- | Indicates Horovod compatibility.
describeImageVersionResponse_horovod :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Bool)
describeImageVersionResponse_horovod :: Lens' DescribeImageVersionResponse (Maybe Bool)
describeImageVersionResponse_horovod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Bool
horovod :: Maybe Bool
$sel:horovod:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Bool
horovod} -> Maybe Bool
horovod) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Bool
a -> DescribeImageVersionResponse
s {$sel:horovod:DescribeImageVersionResponse' :: Maybe Bool
horovod = Maybe Bool
a} :: DescribeImageVersionResponse)

-- | The ARN of the image the version is based on.
describeImageVersionResponse_imageArn :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_imageArn :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_imageArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
imageArn :: Maybe Text
$sel:imageArn:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
imageArn} -> Maybe Text
imageArn) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:imageArn:DescribeImageVersionResponse' :: Maybe Text
imageArn = Maybe Text
a} :: DescribeImageVersionResponse)

-- | The ARN of the version.
describeImageVersionResponse_imageVersionArn :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_imageVersionArn :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_imageVersionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
imageVersionArn :: Maybe Text
$sel:imageVersionArn:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
imageVersionArn} -> Maybe Text
imageVersionArn) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:imageVersionArn:DescribeImageVersionResponse' :: Maybe Text
imageVersionArn = Maybe Text
a} :: DescribeImageVersionResponse)

-- | The status of the version.
describeImageVersionResponse_imageVersionStatus :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe ImageVersionStatus)
describeImageVersionResponse_imageVersionStatus :: Lens' DescribeImageVersionResponse (Maybe ImageVersionStatus)
describeImageVersionResponse_imageVersionStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe ImageVersionStatus
imageVersionStatus :: Maybe ImageVersionStatus
$sel:imageVersionStatus:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe ImageVersionStatus
imageVersionStatus} -> Maybe ImageVersionStatus
imageVersionStatus) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe ImageVersionStatus
a -> DescribeImageVersionResponse
s {$sel:imageVersionStatus:DescribeImageVersionResponse' :: Maybe ImageVersionStatus
imageVersionStatus = Maybe ImageVersionStatus
a} :: DescribeImageVersionResponse)

-- | Indicates SageMaker job type compatibility.
--
-- -   @TRAINING@: The image version is compatible with SageMaker training
--     jobs.
--
-- -   @INFERENCE@: The image version is compatible with SageMaker
--     inference jobs.
--
-- -   @NOTEBOOK_KERNEL@: The image version is compatible with SageMaker
--     notebook kernels.
describeImageVersionResponse_jobType :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe JobType)
describeImageVersionResponse_jobType :: Lens' DescribeImageVersionResponse (Maybe JobType)
describeImageVersionResponse_jobType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe JobType
jobType :: Maybe JobType
$sel:jobType:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe JobType
jobType} -> Maybe JobType
jobType) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe JobType
a -> DescribeImageVersionResponse
s {$sel:jobType:DescribeImageVersionResponse' :: Maybe JobType
jobType = Maybe JobType
a} :: DescribeImageVersionResponse)

-- | When the version was last modified.
describeImageVersionResponse_lastModifiedTime :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.UTCTime)
describeImageVersionResponse_lastModifiedTime :: Lens' DescribeImageVersionResponse (Maybe UTCTime)
describeImageVersionResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe POSIX
a -> DescribeImageVersionResponse
s {$sel:lastModifiedTime:DescribeImageVersionResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeImageVersionResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The machine learning framework vended in the image version.
describeImageVersionResponse_mLFramework :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_mLFramework :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_mLFramework = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
mLFramework :: Maybe Text
$sel:mLFramework:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
mLFramework} -> Maybe Text
mLFramework) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:mLFramework:DescribeImageVersionResponse' :: Maybe Text
mLFramework = Maybe Text
a} :: DescribeImageVersionResponse)

-- | Indicates CPU or GPU compatibility.
--
-- -   @CPU@: The image version is compatible with CPU.
--
-- -   @GPU@: The image version is compatible with GPU.
describeImageVersionResponse_processor :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Processor)
describeImageVersionResponse_processor :: Lens' DescribeImageVersionResponse (Maybe Processor)
describeImageVersionResponse_processor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Processor
processor :: Maybe Processor
$sel:processor:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Processor
processor} -> Maybe Processor
processor) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Processor
a -> DescribeImageVersionResponse
s {$sel:processor:DescribeImageVersionResponse' :: Maybe Processor
processor = Maybe Processor
a} :: DescribeImageVersionResponse)

-- | The supported programming language and its version.
describeImageVersionResponse_programmingLang :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_programmingLang :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_programmingLang = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
programmingLang :: Maybe Text
$sel:programmingLang:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
programmingLang} -> Maybe Text
programmingLang) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:programmingLang:DescribeImageVersionResponse' :: Maybe Text
programmingLang = Maybe Text
a} :: DescribeImageVersionResponse)

-- | The maintainer description of the image version.
describeImageVersionResponse_releaseNotes :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Text)
describeImageVersionResponse_releaseNotes :: Lens' DescribeImageVersionResponse (Maybe Text)
describeImageVersionResponse_releaseNotes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Text
releaseNotes :: Maybe Text
$sel:releaseNotes:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
releaseNotes} -> Maybe Text
releaseNotes) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Text
a -> DescribeImageVersionResponse
s {$sel:releaseNotes:DescribeImageVersionResponse' :: Maybe Text
releaseNotes = Maybe Text
a} :: DescribeImageVersionResponse)

-- | The stability of the image version specified by the maintainer.
--
-- -   @NOT_PROVIDED@: The maintainers did not provide a status for image
--     version stability.
--
-- -   @STABLE@: The image version is stable.
--
-- -   @TO_BE_ARCHIVED@: The image version is set to be archived. Custom
--     image versions that are set to be archived are automatically
--     archived after three months.
--
-- -   @ARCHIVED@: The image version is archived. Archived image versions
--     are not searchable and are no longer actively supported.
describeImageVersionResponse_vendorGuidance :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe VendorGuidance)
describeImageVersionResponse_vendorGuidance :: Lens' DescribeImageVersionResponse (Maybe VendorGuidance)
describeImageVersionResponse_vendorGuidance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe VendorGuidance
vendorGuidance :: Maybe VendorGuidance
$sel:vendorGuidance:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe VendorGuidance
vendorGuidance} -> Maybe VendorGuidance
vendorGuidance) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe VendorGuidance
a -> DescribeImageVersionResponse
s {$sel:vendorGuidance:DescribeImageVersionResponse' :: Maybe VendorGuidance
vendorGuidance = Maybe VendorGuidance
a} :: DescribeImageVersionResponse)

-- | The version number.
describeImageVersionResponse_version :: Lens.Lens' DescribeImageVersionResponse (Prelude.Maybe Prelude.Natural)
describeImageVersionResponse_version :: Lens' DescribeImageVersionResponse (Maybe Natural)
describeImageVersionResponse_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeImageVersionResponse' {Maybe Natural
version :: Maybe Natural
$sel:version:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Natural
version} -> Maybe Natural
version) (\s :: DescribeImageVersionResponse
s@DescribeImageVersionResponse' {} Maybe Natural
a -> DescribeImageVersionResponse
s {$sel:version:DescribeImageVersionResponse' :: Maybe Natural
version = Maybe Natural
a} :: DescribeImageVersionResponse)

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

instance Prelude.NFData DescribeImageVersionResponse where
  rnf :: DescribeImageVersionResponse -> ()
rnf DescribeImageVersionResponse' {Int
Maybe Bool
Maybe Natural
Maybe Text
Maybe POSIX
Maybe ImageVersionStatus
Maybe JobType
Maybe Processor
Maybe VendorGuidance
httpStatus :: Int
version :: Maybe Natural
vendorGuidance :: Maybe VendorGuidance
releaseNotes :: Maybe Text
programmingLang :: Maybe Text
processor :: Maybe Processor
mLFramework :: Maybe Text
lastModifiedTime :: Maybe POSIX
jobType :: Maybe JobType
imageVersionStatus :: Maybe ImageVersionStatus
imageVersionArn :: Maybe Text
imageArn :: Maybe Text
horovod :: Maybe Bool
failureReason :: Maybe Text
creationTime :: Maybe POSIX
containerImage :: Maybe Text
baseImage :: Maybe Text
$sel:httpStatus:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Int
$sel:version:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Natural
$sel:vendorGuidance:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe VendorGuidance
$sel:releaseNotes:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:programmingLang:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:processor:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Processor
$sel:mLFramework:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:lastModifiedTime:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe POSIX
$sel:jobType:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe JobType
$sel:imageVersionStatus:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe ImageVersionStatus
$sel:imageVersionArn:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:imageArn:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:horovod:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Bool
$sel:failureReason:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:creationTime:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe POSIX
$sel:containerImage:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
$sel:baseImage:DescribeImageVersionResponse' :: DescribeImageVersionResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
baseImage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
containerImage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
horovod
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
imageArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
imageVersionArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ImageVersionStatus
imageVersionStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe JobType
jobType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
mLFramework
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Processor
processor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
programmingLang
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
releaseNotes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VendorGuidance
vendorGuidance
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
version
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus