{-# 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.DescribeAppImageConfig
-- 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 an AppImageConfig.
module Amazonka.SageMaker.DescribeAppImageConfig
  ( -- * Creating a Request
    DescribeAppImageConfig (..),
    newDescribeAppImageConfig,

    -- * Request Lenses
    describeAppImageConfig_appImageConfigName,

    -- * Destructuring the Response
    DescribeAppImageConfigResponse (..),
    newDescribeAppImageConfigResponse,

    -- * Response Lenses
    describeAppImageConfigResponse_appImageConfigArn,
    describeAppImageConfigResponse_appImageConfigName,
    describeAppImageConfigResponse_creationTime,
    describeAppImageConfigResponse_kernelGatewayImageConfig,
    describeAppImageConfigResponse_lastModifiedTime,
    describeAppImageConfigResponse_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:/ 'newDescribeAppImageConfig' smart constructor.
data DescribeAppImageConfig = DescribeAppImageConfig'
  { -- | The name of the AppImageConfig to describe.
    DescribeAppImageConfig -> Text
appImageConfigName :: Prelude.Text
  }
  deriving (DescribeAppImageConfig -> DescribeAppImageConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAppImageConfig -> DescribeAppImageConfig -> Bool
$c/= :: DescribeAppImageConfig -> DescribeAppImageConfig -> Bool
== :: DescribeAppImageConfig -> DescribeAppImageConfig -> Bool
$c== :: DescribeAppImageConfig -> DescribeAppImageConfig -> Bool
Prelude.Eq, ReadPrec [DescribeAppImageConfig]
ReadPrec DescribeAppImageConfig
Int -> ReadS DescribeAppImageConfig
ReadS [DescribeAppImageConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAppImageConfig]
$creadListPrec :: ReadPrec [DescribeAppImageConfig]
readPrec :: ReadPrec DescribeAppImageConfig
$creadPrec :: ReadPrec DescribeAppImageConfig
readList :: ReadS [DescribeAppImageConfig]
$creadList :: ReadS [DescribeAppImageConfig]
readsPrec :: Int -> ReadS DescribeAppImageConfig
$creadsPrec :: Int -> ReadS DescribeAppImageConfig
Prelude.Read, Int -> DescribeAppImageConfig -> ShowS
[DescribeAppImageConfig] -> ShowS
DescribeAppImageConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAppImageConfig] -> ShowS
$cshowList :: [DescribeAppImageConfig] -> ShowS
show :: DescribeAppImageConfig -> String
$cshow :: DescribeAppImageConfig -> String
showsPrec :: Int -> DescribeAppImageConfig -> ShowS
$cshowsPrec :: Int -> DescribeAppImageConfig -> ShowS
Prelude.Show, forall x. Rep DescribeAppImageConfig x -> DescribeAppImageConfig
forall x. DescribeAppImageConfig -> Rep DescribeAppImageConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAppImageConfig x -> DescribeAppImageConfig
$cfrom :: forall x. DescribeAppImageConfig -> Rep DescribeAppImageConfig x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAppImageConfig' 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:
--
-- 'appImageConfigName', 'describeAppImageConfig_appImageConfigName' - The name of the AppImageConfig to describe.
newDescribeAppImageConfig ::
  -- | 'appImageConfigName'
  Prelude.Text ->
  DescribeAppImageConfig
newDescribeAppImageConfig :: Text -> DescribeAppImageConfig
newDescribeAppImageConfig Text
pAppImageConfigName_ =
  DescribeAppImageConfig'
    { $sel:appImageConfigName:DescribeAppImageConfig' :: Text
appImageConfigName =
        Text
pAppImageConfigName_
    }

-- | The name of the AppImageConfig to describe.
describeAppImageConfig_appImageConfigName :: Lens.Lens' DescribeAppImageConfig Prelude.Text
describeAppImageConfig_appImageConfigName :: Lens' DescribeAppImageConfig Text
describeAppImageConfig_appImageConfigName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfig' {Text
appImageConfigName :: Text
$sel:appImageConfigName:DescribeAppImageConfig' :: DescribeAppImageConfig -> Text
appImageConfigName} -> Text
appImageConfigName) (\s :: DescribeAppImageConfig
s@DescribeAppImageConfig' {} Text
a -> DescribeAppImageConfig
s {$sel:appImageConfigName:DescribeAppImageConfig' :: Text
appImageConfigName = Text
a} :: DescribeAppImageConfig)

instance Core.AWSRequest DescribeAppImageConfig where
  type
    AWSResponse DescribeAppImageConfig =
      DescribeAppImageConfigResponse
  request :: (Service -> Service)
-> DescribeAppImageConfig -> Request DescribeAppImageConfig
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 DescribeAppImageConfig
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeAppImageConfig)))
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 KernelGatewayImageConfig
-> Maybe POSIX
-> Int
-> DescribeAppImageConfigResponse
DescribeAppImageConfigResponse'
            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
"AppImageConfigArn")
            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
"AppImageConfigName")
            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
"KernelGatewayImageConfig")
            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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeAppImageConfig where
  hashWithSalt :: Int -> DescribeAppImageConfig -> Int
hashWithSalt Int
_salt DescribeAppImageConfig' {Text
appImageConfigName :: Text
$sel:appImageConfigName:DescribeAppImageConfig' :: DescribeAppImageConfig -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appImageConfigName

instance Prelude.NFData DescribeAppImageConfig where
  rnf :: DescribeAppImageConfig -> ()
rnf DescribeAppImageConfig' {Text
appImageConfigName :: Text
$sel:appImageConfigName:DescribeAppImageConfig' :: DescribeAppImageConfig -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
appImageConfigName

instance Data.ToHeaders DescribeAppImageConfig where
  toHeaders :: DescribeAppImageConfig -> 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.DescribeAppImageConfig" ::
                          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 DescribeAppImageConfig where
  toJSON :: DescribeAppImageConfig -> Value
toJSON DescribeAppImageConfig' {Text
appImageConfigName :: Text
$sel:appImageConfigName:DescribeAppImageConfig' :: DescribeAppImageConfig -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"AppImageConfigName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
appImageConfigName)
          ]
      )

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

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

-- | /See:/ 'newDescribeAppImageConfigResponse' smart constructor.
data DescribeAppImageConfigResponse = DescribeAppImageConfigResponse'
  { -- | The Amazon Resource Name (ARN) of the AppImageConfig.
    DescribeAppImageConfigResponse -> Maybe Text
appImageConfigArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the AppImageConfig.
    DescribeAppImageConfigResponse -> Maybe Text
appImageConfigName :: Prelude.Maybe Prelude.Text,
    -- | When the AppImageConfig was created.
    DescribeAppImageConfigResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The configuration of a KernelGateway app.
    DescribeAppImageConfigResponse -> Maybe KernelGatewayImageConfig
kernelGatewayImageConfig :: Prelude.Maybe KernelGatewayImageConfig,
    -- | When the AppImageConfig was last modified.
    DescribeAppImageConfigResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The response's http status code.
    DescribeAppImageConfigResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeAppImageConfigResponse
-> DescribeAppImageConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAppImageConfigResponse
-> DescribeAppImageConfigResponse -> Bool
$c/= :: DescribeAppImageConfigResponse
-> DescribeAppImageConfigResponse -> Bool
== :: DescribeAppImageConfigResponse
-> DescribeAppImageConfigResponse -> Bool
$c== :: DescribeAppImageConfigResponse
-> DescribeAppImageConfigResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAppImageConfigResponse]
ReadPrec DescribeAppImageConfigResponse
Int -> ReadS DescribeAppImageConfigResponse
ReadS [DescribeAppImageConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAppImageConfigResponse]
$creadListPrec :: ReadPrec [DescribeAppImageConfigResponse]
readPrec :: ReadPrec DescribeAppImageConfigResponse
$creadPrec :: ReadPrec DescribeAppImageConfigResponse
readList :: ReadS [DescribeAppImageConfigResponse]
$creadList :: ReadS [DescribeAppImageConfigResponse]
readsPrec :: Int -> ReadS DescribeAppImageConfigResponse
$creadsPrec :: Int -> ReadS DescribeAppImageConfigResponse
Prelude.Read, Int -> DescribeAppImageConfigResponse -> ShowS
[DescribeAppImageConfigResponse] -> ShowS
DescribeAppImageConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAppImageConfigResponse] -> ShowS
$cshowList :: [DescribeAppImageConfigResponse] -> ShowS
show :: DescribeAppImageConfigResponse -> String
$cshow :: DescribeAppImageConfigResponse -> String
showsPrec :: Int -> DescribeAppImageConfigResponse -> ShowS
$cshowsPrec :: Int -> DescribeAppImageConfigResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAppImageConfigResponse x
-> DescribeAppImageConfigResponse
forall x.
DescribeAppImageConfigResponse
-> Rep DescribeAppImageConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAppImageConfigResponse x
-> DescribeAppImageConfigResponse
$cfrom :: forall x.
DescribeAppImageConfigResponse
-> Rep DescribeAppImageConfigResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAppImageConfigResponse' 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:
--
-- 'appImageConfigArn', 'describeAppImageConfigResponse_appImageConfigArn' - The Amazon Resource Name (ARN) of the AppImageConfig.
--
-- 'appImageConfigName', 'describeAppImageConfigResponse_appImageConfigName' - The name of the AppImageConfig.
--
-- 'creationTime', 'describeAppImageConfigResponse_creationTime' - When the AppImageConfig was created.
--
-- 'kernelGatewayImageConfig', 'describeAppImageConfigResponse_kernelGatewayImageConfig' - The configuration of a KernelGateway app.
--
-- 'lastModifiedTime', 'describeAppImageConfigResponse_lastModifiedTime' - When the AppImageConfig was last modified.
--
-- 'httpStatus', 'describeAppImageConfigResponse_httpStatus' - The response's http status code.
newDescribeAppImageConfigResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeAppImageConfigResponse
newDescribeAppImageConfigResponse :: Int -> DescribeAppImageConfigResponse
newDescribeAppImageConfigResponse Int
pHttpStatus_ =
  DescribeAppImageConfigResponse'
    { $sel:appImageConfigArn:DescribeAppImageConfigResponse' :: Maybe Text
appImageConfigArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:appImageConfigName:DescribeAppImageConfigResponse' :: Maybe Text
appImageConfigName = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribeAppImageConfigResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:kernelGatewayImageConfig:DescribeAppImageConfigResponse' :: Maybe KernelGatewayImageConfig
kernelGatewayImageConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeAppImageConfigResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeAppImageConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the AppImageConfig.
describeAppImageConfigResponse_appImageConfigArn :: Lens.Lens' DescribeAppImageConfigResponse (Prelude.Maybe Prelude.Text)
describeAppImageConfigResponse_appImageConfigArn :: Lens' DescribeAppImageConfigResponse (Maybe Text)
describeAppImageConfigResponse_appImageConfigArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Maybe Text
appImageConfigArn :: Maybe Text
$sel:appImageConfigArn:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe Text
appImageConfigArn} -> Maybe Text
appImageConfigArn) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Maybe Text
a -> DescribeAppImageConfigResponse
s {$sel:appImageConfigArn:DescribeAppImageConfigResponse' :: Maybe Text
appImageConfigArn = Maybe Text
a} :: DescribeAppImageConfigResponse)

-- | The name of the AppImageConfig.
describeAppImageConfigResponse_appImageConfigName :: Lens.Lens' DescribeAppImageConfigResponse (Prelude.Maybe Prelude.Text)
describeAppImageConfigResponse_appImageConfigName :: Lens' DescribeAppImageConfigResponse (Maybe Text)
describeAppImageConfigResponse_appImageConfigName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Maybe Text
appImageConfigName :: Maybe Text
$sel:appImageConfigName:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe Text
appImageConfigName} -> Maybe Text
appImageConfigName) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Maybe Text
a -> DescribeAppImageConfigResponse
s {$sel:appImageConfigName:DescribeAppImageConfigResponse' :: Maybe Text
appImageConfigName = Maybe Text
a} :: DescribeAppImageConfigResponse)

-- | When the AppImageConfig was created.
describeAppImageConfigResponse_creationTime :: Lens.Lens' DescribeAppImageConfigResponse (Prelude.Maybe Prelude.UTCTime)
describeAppImageConfigResponse_creationTime :: Lens' DescribeAppImageConfigResponse (Maybe UTCTime)
describeAppImageConfigResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Maybe POSIX
a -> DescribeAppImageConfigResponse
s {$sel:creationTime:DescribeAppImageConfigResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeAppImageConfigResponse) 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 configuration of a KernelGateway app.
describeAppImageConfigResponse_kernelGatewayImageConfig :: Lens.Lens' DescribeAppImageConfigResponse (Prelude.Maybe KernelGatewayImageConfig)
describeAppImageConfigResponse_kernelGatewayImageConfig :: Lens'
  DescribeAppImageConfigResponse (Maybe KernelGatewayImageConfig)
describeAppImageConfigResponse_kernelGatewayImageConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Maybe KernelGatewayImageConfig
kernelGatewayImageConfig :: Maybe KernelGatewayImageConfig
$sel:kernelGatewayImageConfig:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe KernelGatewayImageConfig
kernelGatewayImageConfig} -> Maybe KernelGatewayImageConfig
kernelGatewayImageConfig) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Maybe KernelGatewayImageConfig
a -> DescribeAppImageConfigResponse
s {$sel:kernelGatewayImageConfig:DescribeAppImageConfigResponse' :: Maybe KernelGatewayImageConfig
kernelGatewayImageConfig = Maybe KernelGatewayImageConfig
a} :: DescribeAppImageConfigResponse)

-- | When the AppImageConfig was last modified.
describeAppImageConfigResponse_lastModifiedTime :: Lens.Lens' DescribeAppImageConfigResponse (Prelude.Maybe Prelude.UTCTime)
describeAppImageConfigResponse_lastModifiedTime :: Lens' DescribeAppImageConfigResponse (Maybe UTCTime)
describeAppImageConfigResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Maybe POSIX
a -> DescribeAppImageConfigResponse
s {$sel:lastModifiedTime:DescribeAppImageConfigResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeAppImageConfigResponse) 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 response's http status code.
describeAppImageConfigResponse_httpStatus :: Lens.Lens' DescribeAppImageConfigResponse Prelude.Int
describeAppImageConfigResponse_httpStatus :: Lens' DescribeAppImageConfigResponse Int
describeAppImageConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppImageConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAppImageConfigResponse
s@DescribeAppImageConfigResponse' {} Int
a -> DescribeAppImageConfigResponse
s {$sel:httpStatus:DescribeAppImageConfigResponse' :: Int
httpStatus = Int
a} :: DescribeAppImageConfigResponse)

instance
  Prelude.NFData
    DescribeAppImageConfigResponse
  where
  rnf :: DescribeAppImageConfigResponse -> ()
rnf DescribeAppImageConfigResponse' {Int
Maybe Text
Maybe POSIX
Maybe KernelGatewayImageConfig
httpStatus :: Int
lastModifiedTime :: Maybe POSIX
kernelGatewayImageConfig :: Maybe KernelGatewayImageConfig
creationTime :: Maybe POSIX
appImageConfigName :: Maybe Text
appImageConfigArn :: Maybe Text
$sel:httpStatus:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Int
$sel:lastModifiedTime:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe POSIX
$sel:kernelGatewayImageConfig:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe KernelGatewayImageConfig
$sel:creationTime:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe POSIX
$sel:appImageConfigName:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe Text
$sel:appImageConfigArn:DescribeAppImageConfigResponse' :: DescribeAppImageConfigResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appImageConfigArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appImageConfigName
      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 KernelGatewayImageConfig
kernelGatewayImageConfig
      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 Int
httpStatus