{-# 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.Cloud9.UpdateEnvironmentMembership
(
UpdateEnvironmentMembership (..),
newUpdateEnvironmentMembership,
updateEnvironmentMembership_environmentId,
updateEnvironmentMembership_userArn,
updateEnvironmentMembership_permissions,
UpdateEnvironmentMembershipResponse (..),
newUpdateEnvironmentMembershipResponse,
updateEnvironmentMembershipResponse_membership,
updateEnvironmentMembershipResponse_httpStatus,
)
where
import Amazonka.Cloud9.Types
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
data UpdateEnvironmentMembership = UpdateEnvironmentMembership'
{
UpdateEnvironmentMembership -> Text
environmentId :: Prelude.Text,
UpdateEnvironmentMembership -> Text
userArn :: Prelude.Text,
UpdateEnvironmentMembership -> MemberPermissions
permissions :: MemberPermissions
}
deriving (UpdateEnvironmentMembership -> UpdateEnvironmentMembership -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEnvironmentMembership -> UpdateEnvironmentMembership -> Bool
$c/= :: UpdateEnvironmentMembership -> UpdateEnvironmentMembership -> Bool
== :: UpdateEnvironmentMembership -> UpdateEnvironmentMembership -> Bool
$c== :: UpdateEnvironmentMembership -> UpdateEnvironmentMembership -> Bool
Prelude.Eq, ReadPrec [UpdateEnvironmentMembership]
ReadPrec UpdateEnvironmentMembership
Int -> ReadS UpdateEnvironmentMembership
ReadS [UpdateEnvironmentMembership]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEnvironmentMembership]
$creadListPrec :: ReadPrec [UpdateEnvironmentMembership]
readPrec :: ReadPrec UpdateEnvironmentMembership
$creadPrec :: ReadPrec UpdateEnvironmentMembership
readList :: ReadS [UpdateEnvironmentMembership]
$creadList :: ReadS [UpdateEnvironmentMembership]
readsPrec :: Int -> ReadS UpdateEnvironmentMembership
$creadsPrec :: Int -> ReadS UpdateEnvironmentMembership
Prelude.Read, Int -> UpdateEnvironmentMembership -> ShowS
[UpdateEnvironmentMembership] -> ShowS
UpdateEnvironmentMembership -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEnvironmentMembership] -> ShowS
$cshowList :: [UpdateEnvironmentMembership] -> ShowS
show :: UpdateEnvironmentMembership -> String
$cshow :: UpdateEnvironmentMembership -> String
showsPrec :: Int -> UpdateEnvironmentMembership -> ShowS
$cshowsPrec :: Int -> UpdateEnvironmentMembership -> ShowS
Prelude.Show, forall x.
Rep UpdateEnvironmentMembership x -> UpdateEnvironmentMembership
forall x.
UpdateEnvironmentMembership -> Rep UpdateEnvironmentMembership x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateEnvironmentMembership x -> UpdateEnvironmentMembership
$cfrom :: forall x.
UpdateEnvironmentMembership -> Rep UpdateEnvironmentMembership x
Prelude.Generic)
newUpdateEnvironmentMembership ::
Prelude.Text ->
Prelude.Text ->
MemberPermissions ->
UpdateEnvironmentMembership
newUpdateEnvironmentMembership :: Text -> Text -> MemberPermissions -> UpdateEnvironmentMembership
newUpdateEnvironmentMembership
Text
pEnvironmentId_
Text
pUserArn_
MemberPermissions
pPermissions_ =
UpdateEnvironmentMembership'
{ $sel:environmentId:UpdateEnvironmentMembership' :: Text
environmentId =
Text
pEnvironmentId_,
$sel:userArn:UpdateEnvironmentMembership' :: Text
userArn = Text
pUserArn_,
$sel:permissions:UpdateEnvironmentMembership' :: MemberPermissions
permissions = MemberPermissions
pPermissions_
}
updateEnvironmentMembership_environmentId :: Lens.Lens' UpdateEnvironmentMembership Prelude.Text
updateEnvironmentMembership_environmentId :: Lens' UpdateEnvironmentMembership Text
updateEnvironmentMembership_environmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentMembership' {Text
environmentId :: Text
$sel:environmentId:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
environmentId} -> Text
environmentId) (\s :: UpdateEnvironmentMembership
s@UpdateEnvironmentMembership' {} Text
a -> UpdateEnvironmentMembership
s {$sel:environmentId:UpdateEnvironmentMembership' :: Text
environmentId = Text
a} :: UpdateEnvironmentMembership)
updateEnvironmentMembership_userArn :: Lens.Lens' UpdateEnvironmentMembership Prelude.Text
updateEnvironmentMembership_userArn :: Lens' UpdateEnvironmentMembership Text
updateEnvironmentMembership_userArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentMembership' {Text
userArn :: Text
$sel:userArn:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
userArn} -> Text
userArn) (\s :: UpdateEnvironmentMembership
s@UpdateEnvironmentMembership' {} Text
a -> UpdateEnvironmentMembership
s {$sel:userArn:UpdateEnvironmentMembership' :: Text
userArn = Text
a} :: UpdateEnvironmentMembership)
updateEnvironmentMembership_permissions :: Lens.Lens' UpdateEnvironmentMembership MemberPermissions
updateEnvironmentMembership_permissions :: Lens' UpdateEnvironmentMembership MemberPermissions
updateEnvironmentMembership_permissions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentMembership' {MemberPermissions
permissions :: MemberPermissions
$sel:permissions:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> MemberPermissions
permissions} -> MemberPermissions
permissions) (\s :: UpdateEnvironmentMembership
s@UpdateEnvironmentMembership' {} MemberPermissions
a -> UpdateEnvironmentMembership
s {$sel:permissions:UpdateEnvironmentMembership' :: MemberPermissions
permissions = MemberPermissions
a} :: UpdateEnvironmentMembership)
instance Core.AWSRequest UpdateEnvironmentMembership where
type
AWSResponse UpdateEnvironmentMembership =
UpdateEnvironmentMembershipResponse
request :: (Service -> Service)
-> UpdateEnvironmentMembership
-> Request UpdateEnvironmentMembership
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 UpdateEnvironmentMembership
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateEnvironmentMembership)))
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 EnvironmentMember
-> Int -> UpdateEnvironmentMembershipResponse
UpdateEnvironmentMembershipResponse'
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
"membership")
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 UpdateEnvironmentMembership where
hashWithSalt :: Int -> UpdateEnvironmentMembership -> Int
hashWithSalt Int
_salt UpdateEnvironmentMembership' {Text
MemberPermissions
permissions :: MemberPermissions
userArn :: Text
environmentId :: Text
$sel:permissions:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> MemberPermissions
$sel:userArn:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
$sel:environmentId:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
environmentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MemberPermissions
permissions
instance Prelude.NFData UpdateEnvironmentMembership where
rnf :: UpdateEnvironmentMembership -> ()
rnf UpdateEnvironmentMembership' {Text
MemberPermissions
permissions :: MemberPermissions
userArn :: Text
environmentId :: Text
$sel:permissions:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> MemberPermissions
$sel:userArn:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
$sel:environmentId:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
environmentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MemberPermissions
permissions
instance Data.ToHeaders UpdateEnvironmentMembership where
toHeaders :: UpdateEnvironmentMembership -> 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
"AWSCloud9WorkspaceManagementService.UpdateEnvironmentMembership" ::
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 UpdateEnvironmentMembership where
toJSON :: UpdateEnvironmentMembership -> Value
toJSON UpdateEnvironmentMembership' {Text
MemberPermissions
permissions :: MemberPermissions
userArn :: Text
environmentId :: Text
$sel:permissions:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> MemberPermissions
$sel:userArn:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
$sel:environmentId:UpdateEnvironmentMembership' :: UpdateEnvironmentMembership -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"environmentId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
environmentId),
forall a. a -> Maybe a
Prelude.Just (Key
"userArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userArn),
forall a. a -> Maybe a
Prelude.Just (Key
"permissions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MemberPermissions
permissions)
]
)
instance Data.ToPath UpdateEnvironmentMembership where
toPath :: UpdateEnvironmentMembership -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateEnvironmentMembership where
toQuery :: UpdateEnvironmentMembership -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateEnvironmentMembershipResponse = UpdateEnvironmentMembershipResponse'
{
UpdateEnvironmentMembershipResponse -> Maybe EnvironmentMember
membership :: Prelude.Maybe EnvironmentMember,
UpdateEnvironmentMembershipResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateEnvironmentMembershipResponse
-> UpdateEnvironmentMembershipResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEnvironmentMembershipResponse
-> UpdateEnvironmentMembershipResponse -> Bool
$c/= :: UpdateEnvironmentMembershipResponse
-> UpdateEnvironmentMembershipResponse -> Bool
== :: UpdateEnvironmentMembershipResponse
-> UpdateEnvironmentMembershipResponse -> Bool
$c== :: UpdateEnvironmentMembershipResponse
-> UpdateEnvironmentMembershipResponse -> Bool
Prelude.Eq, ReadPrec [UpdateEnvironmentMembershipResponse]
ReadPrec UpdateEnvironmentMembershipResponse
Int -> ReadS UpdateEnvironmentMembershipResponse
ReadS [UpdateEnvironmentMembershipResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEnvironmentMembershipResponse]
$creadListPrec :: ReadPrec [UpdateEnvironmentMembershipResponse]
readPrec :: ReadPrec UpdateEnvironmentMembershipResponse
$creadPrec :: ReadPrec UpdateEnvironmentMembershipResponse
readList :: ReadS [UpdateEnvironmentMembershipResponse]
$creadList :: ReadS [UpdateEnvironmentMembershipResponse]
readsPrec :: Int -> ReadS UpdateEnvironmentMembershipResponse
$creadsPrec :: Int -> ReadS UpdateEnvironmentMembershipResponse
Prelude.Read, Int -> UpdateEnvironmentMembershipResponse -> ShowS
[UpdateEnvironmentMembershipResponse] -> ShowS
UpdateEnvironmentMembershipResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEnvironmentMembershipResponse] -> ShowS
$cshowList :: [UpdateEnvironmentMembershipResponse] -> ShowS
show :: UpdateEnvironmentMembershipResponse -> String
$cshow :: UpdateEnvironmentMembershipResponse -> String
showsPrec :: Int -> UpdateEnvironmentMembershipResponse -> ShowS
$cshowsPrec :: Int -> UpdateEnvironmentMembershipResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateEnvironmentMembershipResponse x
-> UpdateEnvironmentMembershipResponse
forall x.
UpdateEnvironmentMembershipResponse
-> Rep UpdateEnvironmentMembershipResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateEnvironmentMembershipResponse x
-> UpdateEnvironmentMembershipResponse
$cfrom :: forall x.
UpdateEnvironmentMembershipResponse
-> Rep UpdateEnvironmentMembershipResponse x
Prelude.Generic)
newUpdateEnvironmentMembershipResponse ::
Prelude.Int ->
UpdateEnvironmentMembershipResponse
newUpdateEnvironmentMembershipResponse :: Int -> UpdateEnvironmentMembershipResponse
newUpdateEnvironmentMembershipResponse Int
pHttpStatus_ =
UpdateEnvironmentMembershipResponse'
{ $sel:membership:UpdateEnvironmentMembershipResponse' :: Maybe EnvironmentMember
membership =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateEnvironmentMembershipResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateEnvironmentMembershipResponse_membership :: Lens.Lens' UpdateEnvironmentMembershipResponse (Prelude.Maybe EnvironmentMember)
updateEnvironmentMembershipResponse_membership :: Lens' UpdateEnvironmentMembershipResponse (Maybe EnvironmentMember)
updateEnvironmentMembershipResponse_membership = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentMembershipResponse' {Maybe EnvironmentMember
membership :: Maybe EnvironmentMember
$sel:membership:UpdateEnvironmentMembershipResponse' :: UpdateEnvironmentMembershipResponse -> Maybe EnvironmentMember
membership} -> Maybe EnvironmentMember
membership) (\s :: UpdateEnvironmentMembershipResponse
s@UpdateEnvironmentMembershipResponse' {} Maybe EnvironmentMember
a -> UpdateEnvironmentMembershipResponse
s {$sel:membership:UpdateEnvironmentMembershipResponse' :: Maybe EnvironmentMember
membership = Maybe EnvironmentMember
a} :: UpdateEnvironmentMembershipResponse)
updateEnvironmentMembershipResponse_httpStatus :: Lens.Lens' UpdateEnvironmentMembershipResponse Prelude.Int
updateEnvironmentMembershipResponse_httpStatus :: Lens' UpdateEnvironmentMembershipResponse Int
updateEnvironmentMembershipResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentMembershipResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateEnvironmentMembershipResponse' :: UpdateEnvironmentMembershipResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateEnvironmentMembershipResponse
s@UpdateEnvironmentMembershipResponse' {} Int
a -> UpdateEnvironmentMembershipResponse
s {$sel:httpStatus:UpdateEnvironmentMembershipResponse' :: Int
httpStatus = Int
a} :: UpdateEnvironmentMembershipResponse)
instance
Prelude.NFData
UpdateEnvironmentMembershipResponse
where
rnf :: UpdateEnvironmentMembershipResponse -> ()
rnf UpdateEnvironmentMembershipResponse' {Int
Maybe EnvironmentMember
httpStatus :: Int
membership :: Maybe EnvironmentMember
$sel:httpStatus:UpdateEnvironmentMembershipResponse' :: UpdateEnvironmentMembershipResponse -> Int
$sel:membership:UpdateEnvironmentMembershipResponse' :: UpdateEnvironmentMembershipResponse -> Maybe EnvironmentMember
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentMember
membership
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus