{-# 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.ListStudioLifecycleConfigs
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists the Studio Lifecycle Configurations in your Amazon Web Services
-- Account.
--
-- This operation returns paginated results.
module Amazonka.SageMaker.ListStudioLifecycleConfigs
  ( -- * Creating a Request
    ListStudioLifecycleConfigs (..),
    newListStudioLifecycleConfigs,

    -- * Request Lenses
    listStudioLifecycleConfigs_appTypeEquals,
    listStudioLifecycleConfigs_creationTimeAfter,
    listStudioLifecycleConfigs_creationTimeBefore,
    listStudioLifecycleConfigs_maxResults,
    listStudioLifecycleConfigs_modifiedTimeAfter,
    listStudioLifecycleConfigs_modifiedTimeBefore,
    listStudioLifecycleConfigs_nameContains,
    listStudioLifecycleConfigs_nextToken,
    listStudioLifecycleConfigs_sortBy,
    listStudioLifecycleConfigs_sortOrder,

    -- * Destructuring the Response
    ListStudioLifecycleConfigsResponse (..),
    newListStudioLifecycleConfigsResponse,

    -- * Response Lenses
    listStudioLifecycleConfigsResponse_nextToken,
    listStudioLifecycleConfigsResponse_studioLifecycleConfigs,
    listStudioLifecycleConfigsResponse_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:/ 'newListStudioLifecycleConfigs' smart constructor.
data ListStudioLifecycleConfigs = ListStudioLifecycleConfigs'
  { -- | A parameter to search for the App Type to which the Lifecycle
    -- Configuration is attached.
    ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigAppType
appTypeEquals :: Prelude.Maybe StudioLifecycleConfigAppType,
    -- | A filter that returns only Lifecycle Configurations created on or after
    -- the specified time.
    ListStudioLifecycleConfigs -> Maybe POSIX
creationTimeAfter :: Prelude.Maybe Data.POSIX,
    -- | A filter that returns only Lifecycle Configurations created on or before
    -- the specified time.
    ListStudioLifecycleConfigs -> Maybe POSIX
creationTimeBefore :: Prelude.Maybe Data.POSIX,
    -- | The maximum number of Studio Lifecycle Configurations to return in the
    -- response. The default value is 10.
    ListStudioLifecycleConfigs -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | A filter that returns only Lifecycle Configurations modified after the
    -- specified time.
    ListStudioLifecycleConfigs -> Maybe POSIX
modifiedTimeAfter :: Prelude.Maybe Data.POSIX,
    -- | A filter that returns only Lifecycle Configurations modified before the
    -- specified time.
    ListStudioLifecycleConfigs -> Maybe POSIX
modifiedTimeBefore :: Prelude.Maybe Data.POSIX,
    -- | A string in the Lifecycle Configuration name. This filter returns only
    -- Lifecycle Configurations whose name contains the specified string.
    ListStudioLifecycleConfigs -> Maybe Text
nameContains :: Prelude.Maybe Prelude.Text,
    -- | If the previous call to ListStudioLifecycleConfigs didn\'t return the
    -- full set of Lifecycle Configurations, the call returns a token for
    -- getting the next set of Lifecycle Configurations.
    ListStudioLifecycleConfigs -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The property used to sort results. The default value is CreationTime.
    ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigSortKey
sortBy :: Prelude.Maybe StudioLifecycleConfigSortKey,
    -- | The sort order. The default value is Descending.
    ListStudioLifecycleConfigs -> Maybe SortOrder
sortOrder :: Prelude.Maybe SortOrder
  }
  deriving (ListStudioLifecycleConfigs -> ListStudioLifecycleConfigs -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListStudioLifecycleConfigs -> ListStudioLifecycleConfigs -> Bool
$c/= :: ListStudioLifecycleConfigs -> ListStudioLifecycleConfigs -> Bool
== :: ListStudioLifecycleConfigs -> ListStudioLifecycleConfigs -> Bool
$c== :: ListStudioLifecycleConfigs -> ListStudioLifecycleConfigs -> Bool
Prelude.Eq, ReadPrec [ListStudioLifecycleConfigs]
ReadPrec ListStudioLifecycleConfigs
Int -> ReadS ListStudioLifecycleConfigs
ReadS [ListStudioLifecycleConfigs]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListStudioLifecycleConfigs]
$creadListPrec :: ReadPrec [ListStudioLifecycleConfigs]
readPrec :: ReadPrec ListStudioLifecycleConfigs
$creadPrec :: ReadPrec ListStudioLifecycleConfigs
readList :: ReadS [ListStudioLifecycleConfigs]
$creadList :: ReadS [ListStudioLifecycleConfigs]
readsPrec :: Int -> ReadS ListStudioLifecycleConfigs
$creadsPrec :: Int -> ReadS ListStudioLifecycleConfigs
Prelude.Read, Int -> ListStudioLifecycleConfigs -> ShowS
[ListStudioLifecycleConfigs] -> ShowS
ListStudioLifecycleConfigs -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListStudioLifecycleConfigs] -> ShowS
$cshowList :: [ListStudioLifecycleConfigs] -> ShowS
show :: ListStudioLifecycleConfigs -> String
$cshow :: ListStudioLifecycleConfigs -> String
showsPrec :: Int -> ListStudioLifecycleConfigs -> ShowS
$cshowsPrec :: Int -> ListStudioLifecycleConfigs -> ShowS
Prelude.Show, forall x.
Rep ListStudioLifecycleConfigs x -> ListStudioLifecycleConfigs
forall x.
ListStudioLifecycleConfigs -> Rep ListStudioLifecycleConfigs x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListStudioLifecycleConfigs x -> ListStudioLifecycleConfigs
$cfrom :: forall x.
ListStudioLifecycleConfigs -> Rep ListStudioLifecycleConfigs x
Prelude.Generic)

-- |
-- Create a value of 'ListStudioLifecycleConfigs' 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:
--
-- 'appTypeEquals', 'listStudioLifecycleConfigs_appTypeEquals' - A parameter to search for the App Type to which the Lifecycle
-- Configuration is attached.
--
-- 'creationTimeAfter', 'listStudioLifecycleConfigs_creationTimeAfter' - A filter that returns only Lifecycle Configurations created on or after
-- the specified time.
--
-- 'creationTimeBefore', 'listStudioLifecycleConfigs_creationTimeBefore' - A filter that returns only Lifecycle Configurations created on or before
-- the specified time.
--
-- 'maxResults', 'listStudioLifecycleConfigs_maxResults' - The maximum number of Studio Lifecycle Configurations to return in the
-- response. The default value is 10.
--
-- 'modifiedTimeAfter', 'listStudioLifecycleConfigs_modifiedTimeAfter' - A filter that returns only Lifecycle Configurations modified after the
-- specified time.
--
-- 'modifiedTimeBefore', 'listStudioLifecycleConfigs_modifiedTimeBefore' - A filter that returns only Lifecycle Configurations modified before the
-- specified time.
--
-- 'nameContains', 'listStudioLifecycleConfigs_nameContains' - A string in the Lifecycle Configuration name. This filter returns only
-- Lifecycle Configurations whose name contains the specified string.
--
-- 'nextToken', 'listStudioLifecycleConfigs_nextToken' - If the previous call to ListStudioLifecycleConfigs didn\'t return the
-- full set of Lifecycle Configurations, the call returns a token for
-- getting the next set of Lifecycle Configurations.
--
-- 'sortBy', 'listStudioLifecycleConfigs_sortBy' - The property used to sort results. The default value is CreationTime.
--
-- 'sortOrder', 'listStudioLifecycleConfigs_sortOrder' - The sort order. The default value is Descending.
newListStudioLifecycleConfigs ::
  ListStudioLifecycleConfigs
newListStudioLifecycleConfigs :: ListStudioLifecycleConfigs
newListStudioLifecycleConfigs =
  ListStudioLifecycleConfigs'
    { $sel:appTypeEquals:ListStudioLifecycleConfigs' :: Maybe StudioLifecycleConfigAppType
appTypeEquals =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTimeAfter:ListStudioLifecycleConfigs' :: Maybe POSIX
creationTimeAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTimeBefore:ListStudioLifecycleConfigs' :: Maybe POSIX
creationTimeBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListStudioLifecycleConfigs' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: Maybe POSIX
modifiedTimeAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: Maybe POSIX
modifiedTimeBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:nameContains:ListStudioLifecycleConfigs' :: Maybe Text
nameContains = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListStudioLifecycleConfigs' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:sortBy:ListStudioLifecycleConfigs' :: Maybe StudioLifecycleConfigSortKey
sortBy = forall a. Maybe a
Prelude.Nothing,
      $sel:sortOrder:ListStudioLifecycleConfigs' :: Maybe SortOrder
sortOrder = forall a. Maybe a
Prelude.Nothing
    }

-- | A parameter to search for the App Type to which the Lifecycle
-- Configuration is attached.
listStudioLifecycleConfigs_appTypeEquals :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe StudioLifecycleConfigAppType)
listStudioLifecycleConfigs_appTypeEquals :: Lens'
  ListStudioLifecycleConfigs (Maybe StudioLifecycleConfigAppType)
listStudioLifecycleConfigs_appTypeEquals = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe StudioLifecycleConfigAppType
appTypeEquals :: Maybe StudioLifecycleConfigAppType
$sel:appTypeEquals:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigAppType
appTypeEquals} -> Maybe StudioLifecycleConfigAppType
appTypeEquals) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe StudioLifecycleConfigAppType
a -> ListStudioLifecycleConfigs
s {$sel:appTypeEquals:ListStudioLifecycleConfigs' :: Maybe StudioLifecycleConfigAppType
appTypeEquals = Maybe StudioLifecycleConfigAppType
a} :: ListStudioLifecycleConfigs)

-- | A filter that returns only Lifecycle Configurations created on or after
-- the specified time.
listStudioLifecycleConfigs_creationTimeAfter :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.UTCTime)
listStudioLifecycleConfigs_creationTimeAfter :: Lens' ListStudioLifecycleConfigs (Maybe UTCTime)
listStudioLifecycleConfigs_creationTimeAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe POSIX
creationTimeAfter :: Maybe POSIX
$sel:creationTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
creationTimeAfter} -> Maybe POSIX
creationTimeAfter) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe POSIX
a -> ListStudioLifecycleConfigs
s {$sel:creationTimeAfter:ListStudioLifecycleConfigs' :: Maybe POSIX
creationTimeAfter = Maybe POSIX
a} :: ListStudioLifecycleConfigs) 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

-- | A filter that returns only Lifecycle Configurations created on or before
-- the specified time.
listStudioLifecycleConfigs_creationTimeBefore :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.UTCTime)
listStudioLifecycleConfigs_creationTimeBefore :: Lens' ListStudioLifecycleConfigs (Maybe UTCTime)
listStudioLifecycleConfigs_creationTimeBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe POSIX
creationTimeBefore :: Maybe POSIX
$sel:creationTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
creationTimeBefore} -> Maybe POSIX
creationTimeBefore) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe POSIX
a -> ListStudioLifecycleConfigs
s {$sel:creationTimeBefore:ListStudioLifecycleConfigs' :: Maybe POSIX
creationTimeBefore = Maybe POSIX
a} :: ListStudioLifecycleConfigs) 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 maximum number of Studio Lifecycle Configurations to return in the
-- response. The default value is 10.
listStudioLifecycleConfigs_maxResults :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.Natural)
listStudioLifecycleConfigs_maxResults :: Lens' ListStudioLifecycleConfigs (Maybe Natural)
listStudioLifecycleConfigs_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe Natural
a -> ListStudioLifecycleConfigs
s {$sel:maxResults:ListStudioLifecycleConfigs' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListStudioLifecycleConfigs)

-- | A filter that returns only Lifecycle Configurations modified after the
-- specified time.
listStudioLifecycleConfigs_modifiedTimeAfter :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.UTCTime)
listStudioLifecycleConfigs_modifiedTimeAfter :: Lens' ListStudioLifecycleConfigs (Maybe UTCTime)
listStudioLifecycleConfigs_modifiedTimeAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe POSIX
modifiedTimeAfter :: Maybe POSIX
$sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
modifiedTimeAfter} -> Maybe POSIX
modifiedTimeAfter) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe POSIX
a -> ListStudioLifecycleConfigs
s {$sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: Maybe POSIX
modifiedTimeAfter = Maybe POSIX
a} :: ListStudioLifecycleConfigs) 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

-- | A filter that returns only Lifecycle Configurations modified before the
-- specified time.
listStudioLifecycleConfigs_modifiedTimeBefore :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.UTCTime)
listStudioLifecycleConfigs_modifiedTimeBefore :: Lens' ListStudioLifecycleConfigs (Maybe UTCTime)
listStudioLifecycleConfigs_modifiedTimeBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe POSIX
modifiedTimeBefore :: Maybe POSIX
$sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
modifiedTimeBefore} -> Maybe POSIX
modifiedTimeBefore) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe POSIX
a -> ListStudioLifecycleConfigs
s {$sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: Maybe POSIX
modifiedTimeBefore = Maybe POSIX
a} :: ListStudioLifecycleConfigs) 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

-- | A string in the Lifecycle Configuration name. This filter returns only
-- Lifecycle Configurations whose name contains the specified string.
listStudioLifecycleConfigs_nameContains :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.Text)
listStudioLifecycleConfigs_nameContains :: Lens' ListStudioLifecycleConfigs (Maybe Text)
listStudioLifecycleConfigs_nameContains = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe Text
nameContains :: Maybe Text
$sel:nameContains:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
nameContains} -> Maybe Text
nameContains) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe Text
a -> ListStudioLifecycleConfigs
s {$sel:nameContains:ListStudioLifecycleConfigs' :: Maybe Text
nameContains = Maybe Text
a} :: ListStudioLifecycleConfigs)

-- | If the previous call to ListStudioLifecycleConfigs didn\'t return the
-- full set of Lifecycle Configurations, the call returns a token for
-- getting the next set of Lifecycle Configurations.
listStudioLifecycleConfigs_nextToken :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe Prelude.Text)
listStudioLifecycleConfigs_nextToken :: Lens' ListStudioLifecycleConfigs (Maybe Text)
listStudioLifecycleConfigs_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe Text
a -> ListStudioLifecycleConfigs
s {$sel:nextToken:ListStudioLifecycleConfigs' :: Maybe Text
nextToken = Maybe Text
a} :: ListStudioLifecycleConfigs)

-- | The property used to sort results. The default value is CreationTime.
listStudioLifecycleConfigs_sortBy :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe StudioLifecycleConfigSortKey)
listStudioLifecycleConfigs_sortBy :: Lens'
  ListStudioLifecycleConfigs (Maybe StudioLifecycleConfigSortKey)
listStudioLifecycleConfigs_sortBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe StudioLifecycleConfigSortKey
sortBy :: Maybe StudioLifecycleConfigSortKey
$sel:sortBy:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigSortKey
sortBy} -> Maybe StudioLifecycleConfigSortKey
sortBy) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe StudioLifecycleConfigSortKey
a -> ListStudioLifecycleConfigs
s {$sel:sortBy:ListStudioLifecycleConfigs' :: Maybe StudioLifecycleConfigSortKey
sortBy = Maybe StudioLifecycleConfigSortKey
a} :: ListStudioLifecycleConfigs)

-- | The sort order. The default value is Descending.
listStudioLifecycleConfigs_sortOrder :: Lens.Lens' ListStudioLifecycleConfigs (Prelude.Maybe SortOrder)
listStudioLifecycleConfigs_sortOrder :: Lens' ListStudioLifecycleConfigs (Maybe SortOrder)
listStudioLifecycleConfigs_sortOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigs' {Maybe SortOrder
sortOrder :: Maybe SortOrder
$sel:sortOrder:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe SortOrder
sortOrder} -> Maybe SortOrder
sortOrder) (\s :: ListStudioLifecycleConfigs
s@ListStudioLifecycleConfigs' {} Maybe SortOrder
a -> ListStudioLifecycleConfigs
s {$sel:sortOrder:ListStudioLifecycleConfigs' :: Maybe SortOrder
sortOrder = Maybe SortOrder
a} :: ListStudioLifecycleConfigs)

instance Core.AWSPager ListStudioLifecycleConfigs where
  page :: ListStudioLifecycleConfigs
-> AWSResponse ListStudioLifecycleConfigs
-> Maybe ListStudioLifecycleConfigs
page ListStudioLifecycleConfigs
rq AWSResponse ListStudioLifecycleConfigs
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListStudioLifecycleConfigs
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListStudioLifecycleConfigsResponse (Maybe Text)
listStudioLifecycleConfigsResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListStudioLifecycleConfigs
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  ListStudioLifecycleConfigsResponse
  (Maybe [StudioLifecycleConfigDetails])
listStudioLifecycleConfigsResponse_studioLifecycleConfigs
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListStudioLifecycleConfigs
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListStudioLifecycleConfigs (Maybe Text)
listStudioLifecycleConfigs_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListStudioLifecycleConfigs
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListStudioLifecycleConfigsResponse (Maybe Text)
listStudioLifecycleConfigsResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListStudioLifecycleConfigs where
  type
    AWSResponse ListStudioLifecycleConfigs =
      ListStudioLifecycleConfigsResponse
  request :: (Service -> Service)
-> ListStudioLifecycleConfigs -> Request ListStudioLifecycleConfigs
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 ListStudioLifecycleConfigs
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListStudioLifecycleConfigs)))
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 [StudioLifecycleConfigDetails]
-> Int
-> ListStudioLifecycleConfigsResponse
ListStudioLifecycleConfigsResponse'
            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
"NextToken")
            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
"StudioLifecycleConfigs"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            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 ListStudioLifecycleConfigs where
  hashWithSalt :: Int -> ListStudioLifecycleConfigs -> Int
hashWithSalt Int
_salt ListStudioLifecycleConfigs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe SortOrder
Maybe StudioLifecycleConfigAppType
Maybe StudioLifecycleConfigSortKey
sortOrder :: Maybe SortOrder
sortBy :: Maybe StudioLifecycleConfigSortKey
nextToken :: Maybe Text
nameContains :: Maybe Text
modifiedTimeBefore :: Maybe POSIX
modifiedTimeAfter :: Maybe POSIX
maxResults :: Maybe Natural
creationTimeBefore :: Maybe POSIX
creationTimeAfter :: Maybe POSIX
appTypeEquals :: Maybe StudioLifecycleConfigAppType
$sel:sortOrder:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe SortOrder
$sel:sortBy:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigSortKey
$sel:nextToken:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:nameContains:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:maxResults:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Natural
$sel:creationTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:creationTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:appTypeEquals:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigAppType
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StudioLifecycleConfigAppType
appTypeEquals
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTimeAfter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTimeBefore
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
modifiedTimeAfter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
modifiedTimeBefore
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nameContains
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StudioLifecycleConfigSortKey
sortBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SortOrder
sortOrder

instance Prelude.NFData ListStudioLifecycleConfigs where
  rnf :: ListStudioLifecycleConfigs -> ()
rnf ListStudioLifecycleConfigs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe SortOrder
Maybe StudioLifecycleConfigAppType
Maybe StudioLifecycleConfigSortKey
sortOrder :: Maybe SortOrder
sortBy :: Maybe StudioLifecycleConfigSortKey
nextToken :: Maybe Text
nameContains :: Maybe Text
modifiedTimeBefore :: Maybe POSIX
modifiedTimeAfter :: Maybe POSIX
maxResults :: Maybe Natural
creationTimeBefore :: Maybe POSIX
creationTimeAfter :: Maybe POSIX
appTypeEquals :: Maybe StudioLifecycleConfigAppType
$sel:sortOrder:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe SortOrder
$sel:sortBy:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigSortKey
$sel:nextToken:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:nameContains:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:maxResults:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Natural
$sel:creationTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:creationTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:appTypeEquals:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigAppType
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe StudioLifecycleConfigAppType
appTypeEquals
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTimeAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTimeBefore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
modifiedTimeAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
modifiedTimeBefore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nameContains
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StudioLifecycleConfigSortKey
sortBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SortOrder
sortOrder

instance Data.ToHeaders ListStudioLifecycleConfigs where
  toHeaders :: ListStudioLifecycleConfigs -> 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.ListStudioLifecycleConfigs" ::
                          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 ListStudioLifecycleConfigs where
  toJSON :: ListStudioLifecycleConfigs -> Value
toJSON ListStudioLifecycleConfigs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe SortOrder
Maybe StudioLifecycleConfigAppType
Maybe StudioLifecycleConfigSortKey
sortOrder :: Maybe SortOrder
sortBy :: Maybe StudioLifecycleConfigSortKey
nextToken :: Maybe Text
nameContains :: Maybe Text
modifiedTimeBefore :: Maybe POSIX
modifiedTimeAfter :: Maybe POSIX
maxResults :: Maybe Natural
creationTimeBefore :: Maybe POSIX
creationTimeAfter :: Maybe POSIX
appTypeEquals :: Maybe StudioLifecycleConfigAppType
$sel:sortOrder:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe SortOrder
$sel:sortBy:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigSortKey
$sel:nextToken:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:nameContains:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Text
$sel:modifiedTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:modifiedTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:maxResults:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe Natural
$sel:creationTimeBefore:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:creationTimeAfter:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe POSIX
$sel:appTypeEquals:ListStudioLifecycleConfigs' :: ListStudioLifecycleConfigs -> Maybe StudioLifecycleConfigAppType
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"AppTypeEquals" 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 StudioLifecycleConfigAppType
appTypeEquals,
            (Key
"CreationTimeAfter" 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 POSIX
creationTimeAfter,
            (Key
"CreationTimeBefore" 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 POSIX
creationTimeBefore,
            (Key
"MaxResults" 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
maxResults,
            (Key
"ModifiedTimeAfter" 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 POSIX
modifiedTimeAfter,
            (Key
"ModifiedTimeBefore" 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 POSIX
modifiedTimeBefore,
            (Key
"NameContains" 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
nameContains,
            (Key
"NextToken" 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
nextToken,
            (Key
"SortBy" 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 StudioLifecycleConfigSortKey
sortBy,
            (Key
"SortOrder" 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 SortOrder
sortOrder
          ]
      )

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

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

-- | /See:/ 'newListStudioLifecycleConfigsResponse' smart constructor.
data ListStudioLifecycleConfigsResponse = ListStudioLifecycleConfigsResponse'
  { -- | A token for getting the next set of actions, if there are any.
    ListStudioLifecycleConfigsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A list of Lifecycle Configurations and their properties.
    ListStudioLifecycleConfigsResponse
-> Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs :: Prelude.Maybe [StudioLifecycleConfigDetails],
    -- | The response's http status code.
    ListStudioLifecycleConfigsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListStudioLifecycleConfigsResponse
-> ListStudioLifecycleConfigsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListStudioLifecycleConfigsResponse
-> ListStudioLifecycleConfigsResponse -> Bool
$c/= :: ListStudioLifecycleConfigsResponse
-> ListStudioLifecycleConfigsResponse -> Bool
== :: ListStudioLifecycleConfigsResponse
-> ListStudioLifecycleConfigsResponse -> Bool
$c== :: ListStudioLifecycleConfigsResponse
-> ListStudioLifecycleConfigsResponse -> Bool
Prelude.Eq, ReadPrec [ListStudioLifecycleConfigsResponse]
ReadPrec ListStudioLifecycleConfigsResponse
Int -> ReadS ListStudioLifecycleConfigsResponse
ReadS [ListStudioLifecycleConfigsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListStudioLifecycleConfigsResponse]
$creadListPrec :: ReadPrec [ListStudioLifecycleConfigsResponse]
readPrec :: ReadPrec ListStudioLifecycleConfigsResponse
$creadPrec :: ReadPrec ListStudioLifecycleConfigsResponse
readList :: ReadS [ListStudioLifecycleConfigsResponse]
$creadList :: ReadS [ListStudioLifecycleConfigsResponse]
readsPrec :: Int -> ReadS ListStudioLifecycleConfigsResponse
$creadsPrec :: Int -> ReadS ListStudioLifecycleConfigsResponse
Prelude.Read, Int -> ListStudioLifecycleConfigsResponse -> ShowS
[ListStudioLifecycleConfigsResponse] -> ShowS
ListStudioLifecycleConfigsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListStudioLifecycleConfigsResponse] -> ShowS
$cshowList :: [ListStudioLifecycleConfigsResponse] -> ShowS
show :: ListStudioLifecycleConfigsResponse -> String
$cshow :: ListStudioLifecycleConfigsResponse -> String
showsPrec :: Int -> ListStudioLifecycleConfigsResponse -> ShowS
$cshowsPrec :: Int -> ListStudioLifecycleConfigsResponse -> ShowS
Prelude.Show, forall x.
Rep ListStudioLifecycleConfigsResponse x
-> ListStudioLifecycleConfigsResponse
forall x.
ListStudioLifecycleConfigsResponse
-> Rep ListStudioLifecycleConfigsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListStudioLifecycleConfigsResponse x
-> ListStudioLifecycleConfigsResponse
$cfrom :: forall x.
ListStudioLifecycleConfigsResponse
-> Rep ListStudioLifecycleConfigsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListStudioLifecycleConfigsResponse' 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:
--
-- 'nextToken', 'listStudioLifecycleConfigsResponse_nextToken' - A token for getting the next set of actions, if there are any.
--
-- 'studioLifecycleConfigs', 'listStudioLifecycleConfigsResponse_studioLifecycleConfigs' - A list of Lifecycle Configurations and their properties.
--
-- 'httpStatus', 'listStudioLifecycleConfigsResponse_httpStatus' - The response's http status code.
newListStudioLifecycleConfigsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListStudioLifecycleConfigsResponse
newListStudioLifecycleConfigsResponse :: Int -> ListStudioLifecycleConfigsResponse
newListStudioLifecycleConfigsResponse Int
pHttpStatus_ =
  ListStudioLifecycleConfigsResponse'
    { $sel:nextToken:ListStudioLifecycleConfigsResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:studioLifecycleConfigs:ListStudioLifecycleConfigsResponse' :: Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListStudioLifecycleConfigsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A token for getting the next set of actions, if there are any.
listStudioLifecycleConfigsResponse_nextToken :: Lens.Lens' ListStudioLifecycleConfigsResponse (Prelude.Maybe Prelude.Text)
listStudioLifecycleConfigsResponse_nextToken :: Lens' ListStudioLifecycleConfigsResponse (Maybe Text)
listStudioLifecycleConfigsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListStudioLifecycleConfigsResponse' :: ListStudioLifecycleConfigsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListStudioLifecycleConfigsResponse
s@ListStudioLifecycleConfigsResponse' {} Maybe Text
a -> ListStudioLifecycleConfigsResponse
s {$sel:nextToken:ListStudioLifecycleConfigsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListStudioLifecycleConfigsResponse)

-- | A list of Lifecycle Configurations and their properties.
listStudioLifecycleConfigsResponse_studioLifecycleConfigs :: Lens.Lens' ListStudioLifecycleConfigsResponse (Prelude.Maybe [StudioLifecycleConfigDetails])
listStudioLifecycleConfigsResponse_studioLifecycleConfigs :: Lens'
  ListStudioLifecycleConfigsResponse
  (Maybe [StudioLifecycleConfigDetails])
listStudioLifecycleConfigsResponse_studioLifecycleConfigs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListStudioLifecycleConfigsResponse' {Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs :: Maybe [StudioLifecycleConfigDetails]
$sel:studioLifecycleConfigs:ListStudioLifecycleConfigsResponse' :: ListStudioLifecycleConfigsResponse
-> Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs} -> Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs) (\s :: ListStudioLifecycleConfigsResponse
s@ListStudioLifecycleConfigsResponse' {} Maybe [StudioLifecycleConfigDetails]
a -> ListStudioLifecycleConfigsResponse
s {$sel:studioLifecycleConfigs:ListStudioLifecycleConfigsResponse' :: Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs = Maybe [StudioLifecycleConfigDetails]
a} :: ListStudioLifecycleConfigsResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance
  Prelude.NFData
    ListStudioLifecycleConfigsResponse
  where
  rnf :: ListStudioLifecycleConfigsResponse -> ()
rnf ListStudioLifecycleConfigsResponse' {Int
Maybe [StudioLifecycleConfigDetails]
Maybe Text
httpStatus :: Int
studioLifecycleConfigs :: Maybe [StudioLifecycleConfigDetails]
nextToken :: Maybe Text
$sel:httpStatus:ListStudioLifecycleConfigsResponse' :: ListStudioLifecycleConfigsResponse -> Int
$sel:studioLifecycleConfigs:ListStudioLifecycleConfigsResponse' :: ListStudioLifecycleConfigsResponse
-> Maybe [StudioLifecycleConfigDetails]
$sel:nextToken:ListStudioLifecycleConfigsResponse' :: ListStudioLifecycleConfigsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [StudioLifecycleConfigDetails]
studioLifecycleConfigs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus