{-# 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.PutLaunchProfileMembers
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Add\/update users with given persona to launch profile membership.
module Amazonka.Nimble.PutLaunchProfileMembers
  ( -- * Creating a Request
    PutLaunchProfileMembers (..),
    newPutLaunchProfileMembers,

    -- * Request Lenses
    putLaunchProfileMembers_clientToken,
    putLaunchProfileMembers_identityStoreId,
    putLaunchProfileMembers_launchProfileId,
    putLaunchProfileMembers_members,
    putLaunchProfileMembers_studioId,

    -- * Destructuring the Response
    PutLaunchProfileMembersResponse (..),
    newPutLaunchProfileMembersResponse,

    -- * Response Lenses
    putLaunchProfileMembersResponse_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:/ 'newPutLaunchProfileMembers' smart constructor.
data PutLaunchProfileMembers = PutLaunchProfileMembers'
  { -- | Unique, case-sensitive identifier that you provide to ensure the
    -- idempotency of the request. If you don’t specify a client token, the
    -- Amazon Web Services SDK automatically generates a client token and uses
    -- it for the request to ensure idempotency.
    PutLaunchProfileMembers -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of the identity store.
    PutLaunchProfileMembers -> Text
identityStoreId :: Prelude.Text,
    -- | The ID of the launch profile used to control access from the streaming
    -- session.
    PutLaunchProfileMembers -> Text
launchProfileId :: Prelude.Text,
    -- | A list of members.
    PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
members :: Prelude.NonEmpty NewLaunchProfileMember,
    -- | The studio ID.
    PutLaunchProfileMembers -> Text
studioId :: Prelude.Text
  }
  deriving (PutLaunchProfileMembers -> PutLaunchProfileMembers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutLaunchProfileMembers -> PutLaunchProfileMembers -> Bool
$c/= :: PutLaunchProfileMembers -> PutLaunchProfileMembers -> Bool
== :: PutLaunchProfileMembers -> PutLaunchProfileMembers -> Bool
$c== :: PutLaunchProfileMembers -> PutLaunchProfileMembers -> Bool
Prelude.Eq, ReadPrec [PutLaunchProfileMembers]
ReadPrec PutLaunchProfileMembers
Int -> ReadS PutLaunchProfileMembers
ReadS [PutLaunchProfileMembers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutLaunchProfileMembers]
$creadListPrec :: ReadPrec [PutLaunchProfileMembers]
readPrec :: ReadPrec PutLaunchProfileMembers
$creadPrec :: ReadPrec PutLaunchProfileMembers
readList :: ReadS [PutLaunchProfileMembers]
$creadList :: ReadS [PutLaunchProfileMembers]
readsPrec :: Int -> ReadS PutLaunchProfileMembers
$creadsPrec :: Int -> ReadS PutLaunchProfileMembers
Prelude.Read, Int -> PutLaunchProfileMembers -> ShowS
[PutLaunchProfileMembers] -> ShowS
PutLaunchProfileMembers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutLaunchProfileMembers] -> ShowS
$cshowList :: [PutLaunchProfileMembers] -> ShowS
show :: PutLaunchProfileMembers -> String
$cshow :: PutLaunchProfileMembers -> String
showsPrec :: Int -> PutLaunchProfileMembers -> ShowS
$cshowsPrec :: Int -> PutLaunchProfileMembers -> ShowS
Prelude.Show, forall x. Rep PutLaunchProfileMembers x -> PutLaunchProfileMembers
forall x. PutLaunchProfileMembers -> Rep PutLaunchProfileMembers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutLaunchProfileMembers x -> PutLaunchProfileMembers
$cfrom :: forall x. PutLaunchProfileMembers -> Rep PutLaunchProfileMembers x
Prelude.Generic)

-- |
-- Create a value of 'PutLaunchProfileMembers' 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:
--
-- 'clientToken', 'putLaunchProfileMembers_clientToken' - Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request. If you don’t specify a client token, the
-- Amazon Web Services SDK automatically generates a client token and uses
-- it for the request to ensure idempotency.
--
-- 'identityStoreId', 'putLaunchProfileMembers_identityStoreId' - The ID of the identity store.
--
-- 'launchProfileId', 'putLaunchProfileMembers_launchProfileId' - The ID of the launch profile used to control access from the streaming
-- session.
--
-- 'members', 'putLaunchProfileMembers_members' - A list of members.
--
-- 'studioId', 'putLaunchProfileMembers_studioId' - The studio ID.
newPutLaunchProfileMembers ::
  -- | 'identityStoreId'
  Prelude.Text ->
  -- | 'launchProfileId'
  Prelude.Text ->
  -- | 'members'
  Prelude.NonEmpty NewLaunchProfileMember ->
  -- | 'studioId'
  Prelude.Text ->
  PutLaunchProfileMembers
newPutLaunchProfileMembers :: Text
-> Text
-> NonEmpty NewLaunchProfileMember
-> Text
-> PutLaunchProfileMembers
newPutLaunchProfileMembers
  Text
pIdentityStoreId_
  Text
pLaunchProfileId_
  NonEmpty NewLaunchProfileMember
pMembers_
  Text
pStudioId_ =
    PutLaunchProfileMembers'
      { $sel:clientToken:PutLaunchProfileMembers' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:identityStoreId:PutLaunchProfileMembers' :: Text
identityStoreId = Text
pIdentityStoreId_,
        $sel:launchProfileId:PutLaunchProfileMembers' :: Text
launchProfileId = Text
pLaunchProfileId_,
        $sel:members:PutLaunchProfileMembers' :: NonEmpty NewLaunchProfileMember
members = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty NewLaunchProfileMember
pMembers_,
        $sel:studioId:PutLaunchProfileMembers' :: Text
studioId = Text
pStudioId_
      }

-- | Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request. If you don’t specify a client token, the
-- Amazon Web Services SDK automatically generates a client token and uses
-- it for the request to ensure idempotency.
putLaunchProfileMembers_clientToken :: Lens.Lens' PutLaunchProfileMembers (Prelude.Maybe Prelude.Text)
putLaunchProfileMembers_clientToken :: Lens' PutLaunchProfileMembers (Maybe Text)
putLaunchProfileMembers_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutLaunchProfileMembers' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: PutLaunchProfileMembers
s@PutLaunchProfileMembers' {} Maybe Text
a -> PutLaunchProfileMembers
s {$sel:clientToken:PutLaunchProfileMembers' :: Maybe Text
clientToken = Maybe Text
a} :: PutLaunchProfileMembers)

-- | The ID of the identity store.
putLaunchProfileMembers_identityStoreId :: Lens.Lens' PutLaunchProfileMembers Prelude.Text
putLaunchProfileMembers_identityStoreId :: Lens' PutLaunchProfileMembers Text
putLaunchProfileMembers_identityStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutLaunchProfileMembers' {Text
identityStoreId :: Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
identityStoreId} -> Text
identityStoreId) (\s :: PutLaunchProfileMembers
s@PutLaunchProfileMembers' {} Text
a -> PutLaunchProfileMembers
s {$sel:identityStoreId:PutLaunchProfileMembers' :: Text
identityStoreId = Text
a} :: PutLaunchProfileMembers)

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

-- | A list of members.
putLaunchProfileMembers_members :: Lens.Lens' PutLaunchProfileMembers (Prelude.NonEmpty NewLaunchProfileMember)
putLaunchProfileMembers_members :: Lens' PutLaunchProfileMembers (NonEmpty NewLaunchProfileMember)
putLaunchProfileMembers_members = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutLaunchProfileMembers' {NonEmpty NewLaunchProfileMember
members :: NonEmpty NewLaunchProfileMember
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
members} -> NonEmpty NewLaunchProfileMember
members) (\s :: PutLaunchProfileMembers
s@PutLaunchProfileMembers' {} NonEmpty NewLaunchProfileMember
a -> PutLaunchProfileMembers
s {$sel:members:PutLaunchProfileMembers' :: NonEmpty NewLaunchProfileMember
members = NonEmpty NewLaunchProfileMember
a} :: PutLaunchProfileMembers) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance Core.AWSRequest PutLaunchProfileMembers where
  type
    AWSResponse PutLaunchProfileMembers =
      PutLaunchProfileMembersResponse
  request :: (Service -> Service)
-> PutLaunchProfileMembers -> Request PutLaunchProfileMembers
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 PutLaunchProfileMembers
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse PutLaunchProfileMembers)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> PutLaunchProfileMembersResponse
PutLaunchProfileMembersResponse'
            forall (f :: * -> *) a b. Functor 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 PutLaunchProfileMembers where
  hashWithSalt :: Int -> PutLaunchProfileMembers -> Int
hashWithSalt Int
_salt PutLaunchProfileMembers' {Maybe Text
NonEmpty NewLaunchProfileMember
Text
studioId :: Text
members :: NonEmpty NewLaunchProfileMember
launchProfileId :: Text
identityStoreId :: Text
clientToken :: Maybe Text
$sel:studioId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
$sel:launchProfileId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
identityStoreId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
launchProfileId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty NewLaunchProfileMember
members
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
studioId

instance Prelude.NFData PutLaunchProfileMembers where
  rnf :: PutLaunchProfileMembers -> ()
rnf PutLaunchProfileMembers' {Maybe Text
NonEmpty NewLaunchProfileMember
Text
studioId :: Text
members :: NonEmpty NewLaunchProfileMember
launchProfileId :: Text
identityStoreId :: Text
clientToken :: Maybe Text
$sel:studioId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
$sel:launchProfileId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
identityStoreId
      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 NonEmpty NewLaunchProfileMember
members
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
studioId

instance Data.ToHeaders PutLaunchProfileMembers where
  toHeaders :: PutLaunchProfileMembers -> ResponseHeaders
toHeaders PutLaunchProfileMembers' {Maybe Text
NonEmpty NewLaunchProfileMember
Text
studioId :: Text
members :: NonEmpty NewLaunchProfileMember
launchProfileId :: Text
identityStoreId :: Text
clientToken :: Maybe Text
$sel:studioId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
$sel:launchProfileId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ HeaderName
"X-Amz-Client-Token" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
clientToken,
        HeaderName
"Content-Type"
          forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
      ]

instance Data.ToJSON PutLaunchProfileMembers where
  toJSON :: PutLaunchProfileMembers -> Value
toJSON PutLaunchProfileMembers' {Maybe Text
NonEmpty NewLaunchProfileMember
Text
studioId :: Text
members :: NonEmpty NewLaunchProfileMember
launchProfileId :: Text
identityStoreId :: Text
clientToken :: Maybe Text
$sel:studioId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
$sel:launchProfileId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"identityStoreId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
identityStoreId),
            forall a. a -> Maybe a
Prelude.Just (Key
"members" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty NewLaunchProfileMember
members)
          ]
      )

instance Data.ToPath PutLaunchProfileMembers where
  toPath :: PutLaunchProfileMembers -> ByteString
toPath PutLaunchProfileMembers' {Maybe Text
NonEmpty NewLaunchProfileMember
Text
studioId :: Text
members :: NonEmpty NewLaunchProfileMember
launchProfileId :: Text
identityStoreId :: Text
clientToken :: Maybe Text
$sel:studioId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:members:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
$sel:launchProfileId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:identityStoreId:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Text
$sel:clientToken:PutLaunchProfileMembers' :: PutLaunchProfileMembers -> Maybe Text
..} =
    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 PutLaunchProfileMembers where
  toQuery :: PutLaunchProfileMembers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newPutLaunchProfileMembersResponse' smart constructor.
data PutLaunchProfileMembersResponse = PutLaunchProfileMembersResponse'
  { -- | The response's http status code.
    PutLaunchProfileMembersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (PutLaunchProfileMembersResponse
-> PutLaunchProfileMembersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutLaunchProfileMembersResponse
-> PutLaunchProfileMembersResponse -> Bool
$c/= :: PutLaunchProfileMembersResponse
-> PutLaunchProfileMembersResponse -> Bool
== :: PutLaunchProfileMembersResponse
-> PutLaunchProfileMembersResponse -> Bool
$c== :: PutLaunchProfileMembersResponse
-> PutLaunchProfileMembersResponse -> Bool
Prelude.Eq, ReadPrec [PutLaunchProfileMembersResponse]
ReadPrec PutLaunchProfileMembersResponse
Int -> ReadS PutLaunchProfileMembersResponse
ReadS [PutLaunchProfileMembersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutLaunchProfileMembersResponse]
$creadListPrec :: ReadPrec [PutLaunchProfileMembersResponse]
readPrec :: ReadPrec PutLaunchProfileMembersResponse
$creadPrec :: ReadPrec PutLaunchProfileMembersResponse
readList :: ReadS [PutLaunchProfileMembersResponse]
$creadList :: ReadS [PutLaunchProfileMembersResponse]
readsPrec :: Int -> ReadS PutLaunchProfileMembersResponse
$creadsPrec :: Int -> ReadS PutLaunchProfileMembersResponse
Prelude.Read, Int -> PutLaunchProfileMembersResponse -> ShowS
[PutLaunchProfileMembersResponse] -> ShowS
PutLaunchProfileMembersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutLaunchProfileMembersResponse] -> ShowS
$cshowList :: [PutLaunchProfileMembersResponse] -> ShowS
show :: PutLaunchProfileMembersResponse -> String
$cshow :: PutLaunchProfileMembersResponse -> String
showsPrec :: Int -> PutLaunchProfileMembersResponse -> ShowS
$cshowsPrec :: Int -> PutLaunchProfileMembersResponse -> ShowS
Prelude.Show, forall x.
Rep PutLaunchProfileMembersResponse x
-> PutLaunchProfileMembersResponse
forall x.
PutLaunchProfileMembersResponse
-> Rep PutLaunchProfileMembersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutLaunchProfileMembersResponse x
-> PutLaunchProfileMembersResponse
$cfrom :: forall x.
PutLaunchProfileMembersResponse
-> Rep PutLaunchProfileMembersResponse x
Prelude.Generic)

-- |
-- Create a value of 'PutLaunchProfileMembersResponse' 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:
--
-- 'httpStatus', 'putLaunchProfileMembersResponse_httpStatus' - The response's http status code.
newPutLaunchProfileMembersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  PutLaunchProfileMembersResponse
newPutLaunchProfileMembersResponse :: Int -> PutLaunchProfileMembersResponse
newPutLaunchProfileMembersResponse Int
pHttpStatus_ =
  PutLaunchProfileMembersResponse'
    { $sel:httpStatus:PutLaunchProfileMembersResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

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

instance
  Prelude.NFData
    PutLaunchProfileMembersResponse
  where
  rnf :: PutLaunchProfileMembersResponse -> ()
rnf PutLaunchProfileMembersResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutLaunchProfileMembersResponse' :: PutLaunchProfileMembersResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus