{-# 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.DescribeStudioLifecycleConfig
-- 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 the Studio Lifecycle Configuration.
module Amazonka.SageMaker.DescribeStudioLifecycleConfig
  ( -- * Creating a Request
    DescribeStudioLifecycleConfig (..),
    newDescribeStudioLifecycleConfig,

    -- * Request Lenses
    describeStudioLifecycleConfig_studioLifecycleConfigName,

    -- * Destructuring the Response
    DescribeStudioLifecycleConfigResponse (..),
    newDescribeStudioLifecycleConfigResponse,

    -- * Response Lenses
    describeStudioLifecycleConfigResponse_creationTime,
    describeStudioLifecycleConfigResponse_lastModifiedTime,
    describeStudioLifecycleConfigResponse_studioLifecycleConfigAppType,
    describeStudioLifecycleConfigResponse_studioLifecycleConfigArn,
    describeStudioLifecycleConfigResponse_studioLifecycleConfigContent,
    describeStudioLifecycleConfigResponse_studioLifecycleConfigName,
    describeStudioLifecycleConfigResponse_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:/ 'newDescribeStudioLifecycleConfig' smart constructor.
data DescribeStudioLifecycleConfig = DescribeStudioLifecycleConfig'
  { -- | The name of the Studio Lifecycle Configuration to describe.
    DescribeStudioLifecycleConfig -> Text
studioLifecycleConfigName :: Prelude.Text
  }
  deriving (DescribeStudioLifecycleConfig
-> DescribeStudioLifecycleConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStudioLifecycleConfig
-> DescribeStudioLifecycleConfig -> Bool
$c/= :: DescribeStudioLifecycleConfig
-> DescribeStudioLifecycleConfig -> Bool
== :: DescribeStudioLifecycleConfig
-> DescribeStudioLifecycleConfig -> Bool
$c== :: DescribeStudioLifecycleConfig
-> DescribeStudioLifecycleConfig -> Bool
Prelude.Eq, ReadPrec [DescribeStudioLifecycleConfig]
ReadPrec DescribeStudioLifecycleConfig
Int -> ReadS DescribeStudioLifecycleConfig
ReadS [DescribeStudioLifecycleConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStudioLifecycleConfig]
$creadListPrec :: ReadPrec [DescribeStudioLifecycleConfig]
readPrec :: ReadPrec DescribeStudioLifecycleConfig
$creadPrec :: ReadPrec DescribeStudioLifecycleConfig
readList :: ReadS [DescribeStudioLifecycleConfig]
$creadList :: ReadS [DescribeStudioLifecycleConfig]
readsPrec :: Int -> ReadS DescribeStudioLifecycleConfig
$creadsPrec :: Int -> ReadS DescribeStudioLifecycleConfig
Prelude.Read, Int -> DescribeStudioLifecycleConfig -> ShowS
[DescribeStudioLifecycleConfig] -> ShowS
DescribeStudioLifecycleConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStudioLifecycleConfig] -> ShowS
$cshowList :: [DescribeStudioLifecycleConfig] -> ShowS
show :: DescribeStudioLifecycleConfig -> String
$cshow :: DescribeStudioLifecycleConfig -> String
showsPrec :: Int -> DescribeStudioLifecycleConfig -> ShowS
$cshowsPrec :: Int -> DescribeStudioLifecycleConfig -> ShowS
Prelude.Show, forall x.
Rep DescribeStudioLifecycleConfig x
-> DescribeStudioLifecycleConfig
forall x.
DescribeStudioLifecycleConfig
-> Rep DescribeStudioLifecycleConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeStudioLifecycleConfig x
-> DescribeStudioLifecycleConfig
$cfrom :: forall x.
DescribeStudioLifecycleConfig
-> Rep DescribeStudioLifecycleConfig x
Prelude.Generic)

-- |
-- Create a value of 'DescribeStudioLifecycleConfig' 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:
--
-- 'studioLifecycleConfigName', 'describeStudioLifecycleConfig_studioLifecycleConfigName' - The name of the Studio Lifecycle Configuration to describe.
newDescribeStudioLifecycleConfig ::
  -- | 'studioLifecycleConfigName'
  Prelude.Text ->
  DescribeStudioLifecycleConfig
newDescribeStudioLifecycleConfig :: Text -> DescribeStudioLifecycleConfig
newDescribeStudioLifecycleConfig
  Text
pStudioLifecycleConfigName_ =
    DescribeStudioLifecycleConfig'
      { $sel:studioLifecycleConfigName:DescribeStudioLifecycleConfig' :: Text
studioLifecycleConfigName =
          Text
pStudioLifecycleConfigName_
      }

-- | The name of the Studio Lifecycle Configuration to describe.
describeStudioLifecycleConfig_studioLifecycleConfigName :: Lens.Lens' DescribeStudioLifecycleConfig Prelude.Text
describeStudioLifecycleConfig_studioLifecycleConfigName :: Lens' DescribeStudioLifecycleConfig Text
describeStudioLifecycleConfig_studioLifecycleConfigName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfig' {Text
studioLifecycleConfigName :: Text
$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfig' :: DescribeStudioLifecycleConfig -> Text
studioLifecycleConfigName} -> Text
studioLifecycleConfigName) (\s :: DescribeStudioLifecycleConfig
s@DescribeStudioLifecycleConfig' {} Text
a -> DescribeStudioLifecycleConfig
s {$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfig' :: Text
studioLifecycleConfigName = Text
a} :: DescribeStudioLifecycleConfig)

instance
  Core.AWSRequest
    DescribeStudioLifecycleConfig
  where
  type
    AWSResponse DescribeStudioLifecycleConfig =
      DescribeStudioLifecycleConfigResponse
  request :: (Service -> Service)
-> DescribeStudioLifecycleConfig
-> Request DescribeStudioLifecycleConfig
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 DescribeStudioLifecycleConfig
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeStudioLifecycleConfig)))
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 POSIX
-> Maybe POSIX
-> Maybe StudioLifecycleConfigAppType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeStudioLifecycleConfigResponse
DescribeStudioLifecycleConfigResponse'
            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
"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
"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
"StudioLifecycleConfigAppType")
            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
"StudioLifecycleConfigArn")
            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
"StudioLifecycleConfigContent")
            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
"StudioLifecycleConfigName")
            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
    DescribeStudioLifecycleConfig
  where
  hashWithSalt :: Int -> DescribeStudioLifecycleConfig -> Int
hashWithSalt Int
_salt DescribeStudioLifecycleConfig' {Text
studioLifecycleConfigName :: Text
$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfig' :: DescribeStudioLifecycleConfig -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
studioLifecycleConfigName

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

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

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

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

-- | /See:/ 'newDescribeStudioLifecycleConfigResponse' smart constructor.
data DescribeStudioLifecycleConfigResponse = DescribeStudioLifecycleConfigResponse'
  { -- | The creation time of the Studio Lifecycle Configuration.
    DescribeStudioLifecycleConfigResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | This value is equivalent to CreationTime because Studio Lifecycle
    -- Configurations are immutable.
    DescribeStudioLifecycleConfigResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The App type that the Lifecycle Configuration is attached to.
    DescribeStudioLifecycleConfigResponse
-> Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType :: Prelude.Maybe StudioLifecycleConfigAppType,
    -- | The ARN of the Lifecycle Configuration to describe.
    DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigArn :: Prelude.Maybe Prelude.Text,
    -- | The content of your Studio Lifecycle Configuration script.
    DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigContent :: Prelude.Maybe Prelude.Text,
    -- | The name of the Studio Lifecycle Configuration that is described.
    DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigName :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeStudioLifecycleConfigResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeStudioLifecycleConfigResponse
-> DescribeStudioLifecycleConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeStudioLifecycleConfigResponse
-> DescribeStudioLifecycleConfigResponse -> Bool
$c/= :: DescribeStudioLifecycleConfigResponse
-> DescribeStudioLifecycleConfigResponse -> Bool
== :: DescribeStudioLifecycleConfigResponse
-> DescribeStudioLifecycleConfigResponse -> Bool
$c== :: DescribeStudioLifecycleConfigResponse
-> DescribeStudioLifecycleConfigResponse -> Bool
Prelude.Eq, ReadPrec [DescribeStudioLifecycleConfigResponse]
ReadPrec DescribeStudioLifecycleConfigResponse
Int -> ReadS DescribeStudioLifecycleConfigResponse
ReadS [DescribeStudioLifecycleConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeStudioLifecycleConfigResponse]
$creadListPrec :: ReadPrec [DescribeStudioLifecycleConfigResponse]
readPrec :: ReadPrec DescribeStudioLifecycleConfigResponse
$creadPrec :: ReadPrec DescribeStudioLifecycleConfigResponse
readList :: ReadS [DescribeStudioLifecycleConfigResponse]
$creadList :: ReadS [DescribeStudioLifecycleConfigResponse]
readsPrec :: Int -> ReadS DescribeStudioLifecycleConfigResponse
$creadsPrec :: Int -> ReadS DescribeStudioLifecycleConfigResponse
Prelude.Read, Int -> DescribeStudioLifecycleConfigResponse -> ShowS
[DescribeStudioLifecycleConfigResponse] -> ShowS
DescribeStudioLifecycleConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeStudioLifecycleConfigResponse] -> ShowS
$cshowList :: [DescribeStudioLifecycleConfigResponse] -> ShowS
show :: DescribeStudioLifecycleConfigResponse -> String
$cshow :: DescribeStudioLifecycleConfigResponse -> String
showsPrec :: Int -> DescribeStudioLifecycleConfigResponse -> ShowS
$cshowsPrec :: Int -> DescribeStudioLifecycleConfigResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeStudioLifecycleConfigResponse x
-> DescribeStudioLifecycleConfigResponse
forall x.
DescribeStudioLifecycleConfigResponse
-> Rep DescribeStudioLifecycleConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeStudioLifecycleConfigResponse x
-> DescribeStudioLifecycleConfigResponse
$cfrom :: forall x.
DescribeStudioLifecycleConfigResponse
-> Rep DescribeStudioLifecycleConfigResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeStudioLifecycleConfigResponse' 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', 'describeStudioLifecycleConfigResponse_creationTime' - The creation time of the Studio Lifecycle Configuration.
--
-- 'lastModifiedTime', 'describeStudioLifecycleConfigResponse_lastModifiedTime' - This value is equivalent to CreationTime because Studio Lifecycle
-- Configurations are immutable.
--
-- 'studioLifecycleConfigAppType', 'describeStudioLifecycleConfigResponse_studioLifecycleConfigAppType' - The App type that the Lifecycle Configuration is attached to.
--
-- 'studioLifecycleConfigArn', 'describeStudioLifecycleConfigResponse_studioLifecycleConfigArn' - The ARN of the Lifecycle Configuration to describe.
--
-- 'studioLifecycleConfigContent', 'describeStudioLifecycleConfigResponse_studioLifecycleConfigContent' - The content of your Studio Lifecycle Configuration script.
--
-- 'studioLifecycleConfigName', 'describeStudioLifecycleConfigResponse_studioLifecycleConfigName' - The name of the Studio Lifecycle Configuration that is described.
--
-- 'httpStatus', 'describeStudioLifecycleConfigResponse_httpStatus' - The response's http status code.
newDescribeStudioLifecycleConfigResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeStudioLifecycleConfigResponse
newDescribeStudioLifecycleConfigResponse :: Int -> DescribeStudioLifecycleConfigResponse
newDescribeStudioLifecycleConfigResponse Int
pHttpStatus_ =
  DescribeStudioLifecycleConfigResponse'
    { $sel:creationTime:DescribeStudioLifecycleConfigResponse' :: Maybe POSIX
creationTime =
        forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeStudioLifecycleConfigResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:studioLifecycleConfigAppType:DescribeStudioLifecycleConfigResponse' :: Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType =
        forall a. Maybe a
Prelude.Nothing,
      $sel:studioLifecycleConfigArn:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:studioLifecycleConfigContent:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigContent =
        forall a. Maybe a
Prelude.Nothing,
      $sel:studioLifecycleConfigName:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeStudioLifecycleConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The creation time of the Studio Lifecycle Configuration.
describeStudioLifecycleConfigResponse_creationTime :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe Prelude.UTCTime)
describeStudioLifecycleConfigResponse_creationTime :: Lens' DescribeStudioLifecycleConfigResponse (Maybe UTCTime)
describeStudioLifecycleConfigResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe POSIX
a -> DescribeStudioLifecycleConfigResponse
s {$sel:creationTime:DescribeStudioLifecycleConfigResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeStudioLifecycleConfigResponse) 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

-- | This value is equivalent to CreationTime because Studio Lifecycle
-- Configurations are immutable.
describeStudioLifecycleConfigResponse_lastModifiedTime :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe Prelude.UTCTime)
describeStudioLifecycleConfigResponse_lastModifiedTime :: Lens' DescribeStudioLifecycleConfigResponse (Maybe UTCTime)
describeStudioLifecycleConfigResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe POSIX
a -> DescribeStudioLifecycleConfigResponse
s {$sel:lastModifiedTime:DescribeStudioLifecycleConfigResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeStudioLifecycleConfigResponse) 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 App type that the Lifecycle Configuration is attached to.
describeStudioLifecycleConfigResponse_studioLifecycleConfigAppType :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe StudioLifecycleConfigAppType)
describeStudioLifecycleConfigResponse_studioLifecycleConfigAppType :: Lens'
  DescribeStudioLifecycleConfigResponse
  (Maybe StudioLifecycleConfigAppType)
describeStudioLifecycleConfigResponse_studioLifecycleConfigAppType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType :: Maybe StudioLifecycleConfigAppType
$sel:studioLifecycleConfigAppType:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse
-> Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType} -> Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe StudioLifecycleConfigAppType
a -> DescribeStudioLifecycleConfigResponse
s {$sel:studioLifecycleConfigAppType:DescribeStudioLifecycleConfigResponse' :: Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType = Maybe StudioLifecycleConfigAppType
a} :: DescribeStudioLifecycleConfigResponse)

-- | The ARN of the Lifecycle Configuration to describe.
describeStudioLifecycleConfigResponse_studioLifecycleConfigArn :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe Prelude.Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigArn :: Lens' DescribeStudioLifecycleConfigResponse (Maybe Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe Text
studioLifecycleConfigArn :: Maybe Text
$sel:studioLifecycleConfigArn:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigArn} -> Maybe Text
studioLifecycleConfigArn) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe Text
a -> DescribeStudioLifecycleConfigResponse
s {$sel:studioLifecycleConfigArn:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigArn = Maybe Text
a} :: DescribeStudioLifecycleConfigResponse)

-- | The content of your Studio Lifecycle Configuration script.
describeStudioLifecycleConfigResponse_studioLifecycleConfigContent :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe Prelude.Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigContent :: Lens' DescribeStudioLifecycleConfigResponse (Maybe Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigContent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe Text
studioLifecycleConfigContent :: Maybe Text
$sel:studioLifecycleConfigContent:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigContent} -> Maybe Text
studioLifecycleConfigContent) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe Text
a -> DescribeStudioLifecycleConfigResponse
s {$sel:studioLifecycleConfigContent:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigContent = Maybe Text
a} :: DescribeStudioLifecycleConfigResponse)

-- | The name of the Studio Lifecycle Configuration that is described.
describeStudioLifecycleConfigResponse_studioLifecycleConfigName :: Lens.Lens' DescribeStudioLifecycleConfigResponse (Prelude.Maybe Prelude.Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigName :: Lens' DescribeStudioLifecycleConfigResponse (Maybe Text)
describeStudioLifecycleConfigResponse_studioLifecycleConfigName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeStudioLifecycleConfigResponse' {Maybe Text
studioLifecycleConfigName :: Maybe Text
$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
studioLifecycleConfigName} -> Maybe Text
studioLifecycleConfigName) (\s :: DescribeStudioLifecycleConfigResponse
s@DescribeStudioLifecycleConfigResponse' {} Maybe Text
a -> DescribeStudioLifecycleConfigResponse
s {$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfigResponse' :: Maybe Text
studioLifecycleConfigName = Maybe Text
a} :: DescribeStudioLifecycleConfigResponse)

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

instance
  Prelude.NFData
    DescribeStudioLifecycleConfigResponse
  where
  rnf :: DescribeStudioLifecycleConfigResponse -> ()
rnf DescribeStudioLifecycleConfigResponse' {Int
Maybe Text
Maybe POSIX
Maybe StudioLifecycleConfigAppType
httpStatus :: Int
studioLifecycleConfigName :: Maybe Text
studioLifecycleConfigContent :: Maybe Text
studioLifecycleConfigArn :: Maybe Text
studioLifecycleConfigAppType :: Maybe StudioLifecycleConfigAppType
lastModifiedTime :: Maybe POSIX
creationTime :: Maybe POSIX
$sel:httpStatus:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Int
$sel:studioLifecycleConfigName:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
$sel:studioLifecycleConfigContent:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
$sel:studioLifecycleConfigArn:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe Text
$sel:studioLifecycleConfigAppType:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse
-> Maybe StudioLifecycleConfigAppType
$sel:lastModifiedTime:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe POSIX
$sel:creationTime:DescribeStudioLifecycleConfigResponse' :: DescribeStudioLifecycleConfigResponse -> Maybe POSIX
..} =
    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 POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StudioLifecycleConfigAppType
studioLifecycleConfigAppType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
studioLifecycleConfigArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
studioLifecycleConfigContent
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
studioLifecycleConfigName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus