{-# 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 #-}
module Amazonka.Nimble.PutLaunchProfileMembers
(
PutLaunchProfileMembers (..),
newPutLaunchProfileMembers,
putLaunchProfileMembers_clientToken,
putLaunchProfileMembers_identityStoreId,
putLaunchProfileMembers_launchProfileId,
putLaunchProfileMembers_members,
putLaunchProfileMembers_studioId,
PutLaunchProfileMembersResponse (..),
newPutLaunchProfileMembersResponse,
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
data PutLaunchProfileMembers = PutLaunchProfileMembers'
{
PutLaunchProfileMembers -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
PutLaunchProfileMembers -> Text
identityStoreId :: Prelude.Text,
PutLaunchProfileMembers -> Text
launchProfileId :: Prelude.Text,
PutLaunchProfileMembers -> NonEmpty NewLaunchProfileMember
members :: Prelude.NonEmpty NewLaunchProfileMember,
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)
newPutLaunchProfileMembers ::
Prelude.Text ->
Prelude.Text ->
Prelude.NonEmpty NewLaunchProfileMember ->
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_
}
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)
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)
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)
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
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
data PutLaunchProfileMembersResponse = PutLaunchProfileMembersResponse'
{
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)
newPutLaunchProfileMembersResponse ::
Prelude.Int ->
PutLaunchProfileMembersResponse
newPutLaunchProfileMembersResponse :: Int -> PutLaunchProfileMembersResponse
newPutLaunchProfileMembersResponse Int
pHttpStatus_ =
PutLaunchProfileMembersResponse'
{ $sel:httpStatus:PutLaunchProfileMembersResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
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