{-# 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.Nimble.ListLaunchProfileMembers
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Get all users in a given launch profile membership.
--
-- This operation returns paginated results.
module Amazonka.Nimble.ListLaunchProfileMembers
  ( -- * Creating a Request
    ListLaunchProfileMembers (..),
    newListLaunchProfileMembers,

    -- * Request Lenses
    listLaunchProfileMembers_maxResults,
    listLaunchProfileMembers_nextToken,
    listLaunchProfileMembers_launchProfileId,
    listLaunchProfileMembers_studioId,

    -- * Destructuring the Response
    ListLaunchProfileMembersResponse (..),
    newListLaunchProfileMembersResponse,

    -- * Response Lenses
    listLaunchProfileMembersResponse_members,
    listLaunchProfileMembersResponse_nextToken,
    listLaunchProfileMembersResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListLaunchProfileMembers' smart constructor.
data ListLaunchProfileMembers = ListLaunchProfileMembers'
  { -- | The max number of results to return in the response.
    ListLaunchProfileMembers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token for the next set of results, or null if there are no more
    -- results.
    ListLaunchProfileMembers -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of the launch profile used to control access from the streaming
    -- session.
    ListLaunchProfileMembers -> Text
launchProfileId :: Prelude.Text,
    -- | The studio ID.
    ListLaunchProfileMembers -> Text
studioId :: Prelude.Text
  }
  deriving (ListLaunchProfileMembers -> ListLaunchProfileMembers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListLaunchProfileMembers -> ListLaunchProfileMembers -> Bool
$c/= :: ListLaunchProfileMembers -> ListLaunchProfileMembers -> Bool
== :: ListLaunchProfileMembers -> ListLaunchProfileMembers -> Bool
$c== :: ListLaunchProfileMembers -> ListLaunchProfileMembers -> Bool
Prelude.Eq, ReadPrec [ListLaunchProfileMembers]
ReadPrec ListLaunchProfileMembers
Int -> ReadS ListLaunchProfileMembers
ReadS [ListLaunchProfileMembers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListLaunchProfileMembers]
$creadListPrec :: ReadPrec [ListLaunchProfileMembers]
readPrec :: ReadPrec ListLaunchProfileMembers
$creadPrec :: ReadPrec ListLaunchProfileMembers
readList :: ReadS [ListLaunchProfileMembers]
$creadList :: ReadS [ListLaunchProfileMembers]
readsPrec :: Int -> ReadS ListLaunchProfileMembers
$creadsPrec :: Int -> ReadS ListLaunchProfileMembers
Prelude.Read, Int -> ListLaunchProfileMembers -> ShowS
[ListLaunchProfileMembers] -> ShowS
ListLaunchProfileMembers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListLaunchProfileMembers] -> ShowS
$cshowList :: [ListLaunchProfileMembers] -> ShowS
show :: ListLaunchProfileMembers -> String
$cshow :: ListLaunchProfileMembers -> String
showsPrec :: Int -> ListLaunchProfileMembers -> ShowS
$cshowsPrec :: Int -> ListLaunchProfileMembers -> ShowS
Prelude.Show, forall x.
Rep ListLaunchProfileMembers x -> ListLaunchProfileMembers
forall x.
ListLaunchProfileMembers -> Rep ListLaunchProfileMembers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListLaunchProfileMembers x -> ListLaunchProfileMembers
$cfrom :: forall x.
ListLaunchProfileMembers -> Rep ListLaunchProfileMembers x
Prelude.Generic)

-- |
-- Create a value of 'ListLaunchProfileMembers' 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:
--
-- 'maxResults', 'listLaunchProfileMembers_maxResults' - The max number of results to return in the response.
--
-- 'nextToken', 'listLaunchProfileMembers_nextToken' - The token for the next set of results, or null if there are no more
-- results.
--
-- 'launchProfileId', 'listLaunchProfileMembers_launchProfileId' - The ID of the launch profile used to control access from the streaming
-- session.
--
-- 'studioId', 'listLaunchProfileMembers_studioId' - The studio ID.
newListLaunchProfileMembers ::
  -- | 'launchProfileId'
  Prelude.Text ->
  -- | 'studioId'
  Prelude.Text ->
  ListLaunchProfileMembers
newListLaunchProfileMembers :: Text -> Text -> ListLaunchProfileMembers
newListLaunchProfileMembers
  Text
pLaunchProfileId_
  Text
pStudioId_ =
    ListLaunchProfileMembers'
      { $sel:maxResults:ListLaunchProfileMembers' :: Maybe Natural
maxResults =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:ListLaunchProfileMembers' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:launchProfileId:ListLaunchProfileMembers' :: Text
launchProfileId = Text
pLaunchProfileId_,
        $sel:studioId:ListLaunchProfileMembers' :: Text
studioId = Text
pStudioId_
      }

-- | The max number of results to return in the response.
listLaunchProfileMembers_maxResults :: Lens.Lens' ListLaunchProfileMembers (Prelude.Maybe Prelude.Natural)
listLaunchProfileMembers_maxResults :: Lens' ListLaunchProfileMembers (Maybe Natural)
listLaunchProfileMembers_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembers' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListLaunchProfileMembers
s@ListLaunchProfileMembers' {} Maybe Natural
a -> ListLaunchProfileMembers
s {$sel:maxResults:ListLaunchProfileMembers' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListLaunchProfileMembers)

-- | The token for the next set of results, or null if there are no more
-- results.
listLaunchProfileMembers_nextToken :: Lens.Lens' ListLaunchProfileMembers (Prelude.Maybe Prelude.Text)
listLaunchProfileMembers_nextToken :: Lens' ListLaunchProfileMembers (Maybe Text)
listLaunchProfileMembers_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembers' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListLaunchProfileMembers
s@ListLaunchProfileMembers' {} Maybe Text
a -> ListLaunchProfileMembers
s {$sel:nextToken:ListLaunchProfileMembers' :: Maybe Text
nextToken = Maybe Text
a} :: ListLaunchProfileMembers)

-- | The ID of the launch profile used to control access from the streaming
-- session.
listLaunchProfileMembers_launchProfileId :: Lens.Lens' ListLaunchProfileMembers Prelude.Text
listLaunchProfileMembers_launchProfileId :: Lens' ListLaunchProfileMembers Text
listLaunchProfileMembers_launchProfileId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembers' {Text
launchProfileId :: Text
$sel:launchProfileId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
launchProfileId} -> Text
launchProfileId) (\s :: ListLaunchProfileMembers
s@ListLaunchProfileMembers' {} Text
a -> ListLaunchProfileMembers
s {$sel:launchProfileId:ListLaunchProfileMembers' :: Text
launchProfileId = Text
a} :: ListLaunchProfileMembers)

-- | The studio ID.
listLaunchProfileMembers_studioId :: Lens.Lens' ListLaunchProfileMembers Prelude.Text
listLaunchProfileMembers_studioId :: Lens' ListLaunchProfileMembers Text
listLaunchProfileMembers_studioId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembers' {Text
studioId :: Text
$sel:studioId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
studioId} -> Text
studioId) (\s :: ListLaunchProfileMembers
s@ListLaunchProfileMembers' {} Text
a -> ListLaunchProfileMembers
s {$sel:studioId:ListLaunchProfileMembers' :: Text
studioId = Text
a} :: ListLaunchProfileMembers)

instance Core.AWSPager ListLaunchProfileMembers where
  page :: ListLaunchProfileMembers
-> AWSResponse ListLaunchProfileMembers
-> Maybe ListLaunchProfileMembers
page ListLaunchProfileMembers
rq AWSResponse ListLaunchProfileMembers
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListLaunchProfileMembers
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListLaunchProfileMembersResponse (Maybe Text)
listLaunchProfileMembersResponse_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 ListLaunchProfileMembers
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  ListLaunchProfileMembersResponse (Maybe [LaunchProfileMembership])
listLaunchProfileMembersResponse_members
            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.$ ListLaunchProfileMembers
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListLaunchProfileMembers (Maybe Text)
listLaunchProfileMembers_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListLaunchProfileMembers
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListLaunchProfileMembersResponse (Maybe Text)
listLaunchProfileMembersResponse_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 ListLaunchProfileMembers where
  type
    AWSResponse ListLaunchProfileMembers =
      ListLaunchProfileMembersResponse
  request :: (Service -> Service)
-> ListLaunchProfileMembers -> Request ListLaunchProfileMembers
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListLaunchProfileMembers
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListLaunchProfileMembers)))
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 [LaunchProfileMembership]
-> Maybe Text -> Int -> ListLaunchProfileMembersResponse
ListLaunchProfileMembersResponse'
            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
"members" 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.<*> (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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListLaunchProfileMembers where
  hashWithSalt :: Int -> ListLaunchProfileMembers -> Int
hashWithSalt Int
_salt ListLaunchProfileMembers' {Maybe Natural
Maybe Text
Text
studioId :: Text
launchProfileId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:studioId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:launchProfileId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:nextToken:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Text
$sel:maxResults:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Natural
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
launchProfileId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
studioId

instance Prelude.NFData ListLaunchProfileMembers where
  rnf :: ListLaunchProfileMembers -> ()
rnf ListLaunchProfileMembers' {Maybe Natural
Maybe Text
Text
studioId :: Text
launchProfileId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:studioId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:launchProfileId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:nextToken:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Text
$sel:maxResults:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Natural
..} =
    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 Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
launchProfileId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
studioId

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

instance Data.ToPath ListLaunchProfileMembers where
  toPath :: ListLaunchProfileMembers -> ByteString
toPath ListLaunchProfileMembers' {Maybe Natural
Maybe Text
Text
studioId :: Text
launchProfileId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:studioId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:launchProfileId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:nextToken:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Text
$sel:maxResults:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/2020-08-01/studios/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
studioId,
        ByteString
"/launch-profiles/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
launchProfileId,
        ByteString
"/membership"
      ]

instance Data.ToQuery ListLaunchProfileMembers where
  toQuery :: ListLaunchProfileMembers -> QueryString
toQuery ListLaunchProfileMembers' {Maybe Natural
Maybe Text
Text
studioId :: Text
launchProfileId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:studioId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:launchProfileId:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Text
$sel:nextToken:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Text
$sel:maxResults:ListLaunchProfileMembers' :: ListLaunchProfileMembers -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"maxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"nextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
      ]

-- | /See:/ 'newListLaunchProfileMembersResponse' smart constructor.
data ListLaunchProfileMembersResponse = ListLaunchProfileMembersResponse'
  { -- | A list of members.
    ListLaunchProfileMembersResponse -> Maybe [LaunchProfileMembership]
members :: Prelude.Maybe [LaunchProfileMembership],
    -- | The token for the next set of results, or null if there are no more
    -- results.
    ListLaunchProfileMembersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListLaunchProfileMembersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListLaunchProfileMembersResponse
-> ListLaunchProfileMembersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListLaunchProfileMembersResponse
-> ListLaunchProfileMembersResponse -> Bool
$c/= :: ListLaunchProfileMembersResponse
-> ListLaunchProfileMembersResponse -> Bool
== :: ListLaunchProfileMembersResponse
-> ListLaunchProfileMembersResponse -> Bool
$c== :: ListLaunchProfileMembersResponse
-> ListLaunchProfileMembersResponse -> Bool
Prelude.Eq, ReadPrec [ListLaunchProfileMembersResponse]
ReadPrec ListLaunchProfileMembersResponse
Int -> ReadS ListLaunchProfileMembersResponse
ReadS [ListLaunchProfileMembersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListLaunchProfileMembersResponse]
$creadListPrec :: ReadPrec [ListLaunchProfileMembersResponse]
readPrec :: ReadPrec ListLaunchProfileMembersResponse
$creadPrec :: ReadPrec ListLaunchProfileMembersResponse
readList :: ReadS [ListLaunchProfileMembersResponse]
$creadList :: ReadS [ListLaunchProfileMembersResponse]
readsPrec :: Int -> ReadS ListLaunchProfileMembersResponse
$creadsPrec :: Int -> ReadS ListLaunchProfileMembersResponse
Prelude.Read, Int -> ListLaunchProfileMembersResponse -> ShowS
[ListLaunchProfileMembersResponse] -> ShowS
ListLaunchProfileMembersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListLaunchProfileMembersResponse] -> ShowS
$cshowList :: [ListLaunchProfileMembersResponse] -> ShowS
show :: ListLaunchProfileMembersResponse -> String
$cshow :: ListLaunchProfileMembersResponse -> String
showsPrec :: Int -> ListLaunchProfileMembersResponse -> ShowS
$cshowsPrec :: Int -> ListLaunchProfileMembersResponse -> ShowS
Prelude.Show, forall x.
Rep ListLaunchProfileMembersResponse x
-> ListLaunchProfileMembersResponse
forall x.
ListLaunchProfileMembersResponse
-> Rep ListLaunchProfileMembersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListLaunchProfileMembersResponse x
-> ListLaunchProfileMembersResponse
$cfrom :: forall x.
ListLaunchProfileMembersResponse
-> Rep ListLaunchProfileMembersResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListLaunchProfileMembersResponse' 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:
--
-- 'members', 'listLaunchProfileMembersResponse_members' - A list of members.
--
-- 'nextToken', 'listLaunchProfileMembersResponse_nextToken' - The token for the next set of results, or null if there are no more
-- results.
--
-- 'httpStatus', 'listLaunchProfileMembersResponse_httpStatus' - The response's http status code.
newListLaunchProfileMembersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListLaunchProfileMembersResponse
newListLaunchProfileMembersResponse :: Int -> ListLaunchProfileMembersResponse
newListLaunchProfileMembersResponse Int
pHttpStatus_ =
  ListLaunchProfileMembersResponse'
    { $sel:members:ListLaunchProfileMembersResponse' :: Maybe [LaunchProfileMembership]
members =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListLaunchProfileMembersResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListLaunchProfileMembersResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list of members.
listLaunchProfileMembersResponse_members :: Lens.Lens' ListLaunchProfileMembersResponse (Prelude.Maybe [LaunchProfileMembership])
listLaunchProfileMembersResponse_members :: Lens'
  ListLaunchProfileMembersResponse (Maybe [LaunchProfileMembership])
listLaunchProfileMembersResponse_members = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembersResponse' {Maybe [LaunchProfileMembership]
members :: Maybe [LaunchProfileMembership]
$sel:members:ListLaunchProfileMembersResponse' :: ListLaunchProfileMembersResponse -> Maybe [LaunchProfileMembership]
members} -> Maybe [LaunchProfileMembership]
members) (\s :: ListLaunchProfileMembersResponse
s@ListLaunchProfileMembersResponse' {} Maybe [LaunchProfileMembership]
a -> ListLaunchProfileMembersResponse
s {$sel:members:ListLaunchProfileMembersResponse' :: Maybe [LaunchProfileMembership]
members = Maybe [LaunchProfileMembership]
a} :: ListLaunchProfileMembersResponse) 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 token for the next set of results, or null if there are no more
-- results.
listLaunchProfileMembersResponse_nextToken :: Lens.Lens' ListLaunchProfileMembersResponse (Prelude.Maybe Prelude.Text)
listLaunchProfileMembersResponse_nextToken :: Lens' ListLaunchProfileMembersResponse (Maybe Text)
listLaunchProfileMembersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListLaunchProfileMembersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListLaunchProfileMembersResponse' :: ListLaunchProfileMembersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListLaunchProfileMembersResponse
s@ListLaunchProfileMembersResponse' {} Maybe Text
a -> ListLaunchProfileMembersResponse
s {$sel:nextToken:ListLaunchProfileMembersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListLaunchProfileMembersResponse)

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

instance
  Prelude.NFData
    ListLaunchProfileMembersResponse
  where
  rnf :: ListLaunchProfileMembersResponse -> ()
rnf ListLaunchProfileMembersResponse' {Int
Maybe [LaunchProfileMembership]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
members :: Maybe [LaunchProfileMembership]
$sel:httpStatus:ListLaunchProfileMembersResponse' :: ListLaunchProfileMembersResponse -> Int
$sel:nextToken:ListLaunchProfileMembersResponse' :: ListLaunchProfileMembersResponse -> Maybe Text
$sel:members:ListLaunchProfileMembersResponse' :: ListLaunchProfileMembersResponse -> Maybe [LaunchProfileMembership]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [LaunchProfileMembership]
members
      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 Int
httpStatus