{-# 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.FinSpaceData.AssociateUserToPermissionGroup
(
AssociateUserToPermissionGroup (..),
newAssociateUserToPermissionGroup,
associateUserToPermissionGroup_clientToken,
associateUserToPermissionGroup_permissionGroupId,
associateUserToPermissionGroup_userId,
AssociateUserToPermissionGroupResponse (..),
newAssociateUserToPermissionGroupResponse,
associateUserToPermissionGroupResponse_statusCode,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FinSpaceData.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data AssociateUserToPermissionGroup = AssociateUserToPermissionGroup'
{
AssociateUserToPermissionGroup -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
AssociateUserToPermissionGroup -> Text
permissionGroupId :: Prelude.Text,
AssociateUserToPermissionGroup -> Text
userId :: Prelude.Text
}
deriving (AssociateUserToPermissionGroup
-> AssociateUserToPermissionGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateUserToPermissionGroup
-> AssociateUserToPermissionGroup -> Bool
$c/= :: AssociateUserToPermissionGroup
-> AssociateUserToPermissionGroup -> Bool
== :: AssociateUserToPermissionGroup
-> AssociateUserToPermissionGroup -> Bool
$c== :: AssociateUserToPermissionGroup
-> AssociateUserToPermissionGroup -> Bool
Prelude.Eq, ReadPrec [AssociateUserToPermissionGroup]
ReadPrec AssociateUserToPermissionGroup
Int -> ReadS AssociateUserToPermissionGroup
ReadS [AssociateUserToPermissionGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateUserToPermissionGroup]
$creadListPrec :: ReadPrec [AssociateUserToPermissionGroup]
readPrec :: ReadPrec AssociateUserToPermissionGroup
$creadPrec :: ReadPrec AssociateUserToPermissionGroup
readList :: ReadS [AssociateUserToPermissionGroup]
$creadList :: ReadS [AssociateUserToPermissionGroup]
readsPrec :: Int -> ReadS AssociateUserToPermissionGroup
$creadsPrec :: Int -> ReadS AssociateUserToPermissionGroup
Prelude.Read, Int -> AssociateUserToPermissionGroup -> ShowS
[AssociateUserToPermissionGroup] -> ShowS
AssociateUserToPermissionGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateUserToPermissionGroup] -> ShowS
$cshowList :: [AssociateUserToPermissionGroup] -> ShowS
show :: AssociateUserToPermissionGroup -> String
$cshow :: AssociateUserToPermissionGroup -> String
showsPrec :: Int -> AssociateUserToPermissionGroup -> ShowS
$cshowsPrec :: Int -> AssociateUserToPermissionGroup -> ShowS
Prelude.Show, forall x.
Rep AssociateUserToPermissionGroup x
-> AssociateUserToPermissionGroup
forall x.
AssociateUserToPermissionGroup
-> Rep AssociateUserToPermissionGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateUserToPermissionGroup x
-> AssociateUserToPermissionGroup
$cfrom :: forall x.
AssociateUserToPermissionGroup
-> Rep AssociateUserToPermissionGroup x
Prelude.Generic)
newAssociateUserToPermissionGroup ::
Prelude.Text ->
Prelude.Text ->
AssociateUserToPermissionGroup
newAssociateUserToPermissionGroup :: Text -> Text -> AssociateUserToPermissionGroup
newAssociateUserToPermissionGroup
Text
pPermissionGroupId_
Text
pUserId_ =
AssociateUserToPermissionGroup'
{ $sel:clientToken:AssociateUserToPermissionGroup' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: Text
permissionGroupId = Text
pPermissionGroupId_,
$sel:userId:AssociateUserToPermissionGroup' :: Text
userId = Text
pUserId_
}
associateUserToPermissionGroup_clientToken :: Lens.Lens' AssociateUserToPermissionGroup (Prelude.Maybe Prelude.Text)
associateUserToPermissionGroup_clientToken :: Lens' AssociateUserToPermissionGroup (Maybe Text)
associateUserToPermissionGroup_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateUserToPermissionGroup' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: AssociateUserToPermissionGroup
s@AssociateUserToPermissionGroup' {} Maybe Text
a -> AssociateUserToPermissionGroup
s {$sel:clientToken:AssociateUserToPermissionGroup' :: Maybe Text
clientToken = Maybe Text
a} :: AssociateUserToPermissionGroup)
associateUserToPermissionGroup_permissionGroupId :: Lens.Lens' AssociateUserToPermissionGroup Prelude.Text
associateUserToPermissionGroup_permissionGroupId :: Lens' AssociateUserToPermissionGroup Text
associateUserToPermissionGroup_permissionGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateUserToPermissionGroup' {Text
permissionGroupId :: Text
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
permissionGroupId} -> Text
permissionGroupId) (\s :: AssociateUserToPermissionGroup
s@AssociateUserToPermissionGroup' {} Text
a -> AssociateUserToPermissionGroup
s {$sel:permissionGroupId:AssociateUserToPermissionGroup' :: Text
permissionGroupId = Text
a} :: AssociateUserToPermissionGroup)
associateUserToPermissionGroup_userId :: Lens.Lens' AssociateUserToPermissionGroup Prelude.Text
associateUserToPermissionGroup_userId :: Lens' AssociateUserToPermissionGroup Text
associateUserToPermissionGroup_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateUserToPermissionGroup' {Text
userId :: Text
$sel:userId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
userId} -> Text
userId) (\s :: AssociateUserToPermissionGroup
s@AssociateUserToPermissionGroup' {} Text
a -> AssociateUserToPermissionGroup
s {$sel:userId:AssociateUserToPermissionGroup' :: Text
userId = Text
a} :: AssociateUserToPermissionGroup)
instance
Core.AWSRequest
AssociateUserToPermissionGroup
where
type
AWSResponse AssociateUserToPermissionGroup =
AssociateUserToPermissionGroupResponse
request :: (Service -> Service)
-> AssociateUserToPermissionGroup
-> Request AssociateUserToPermissionGroup
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 AssociateUserToPermissionGroup
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse AssociateUserToPermissionGroup)))
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 -> AssociateUserToPermissionGroupResponse
AssociateUserToPermissionGroupResponse'
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
AssociateUserToPermissionGroup
where
hashWithSalt :: Int -> AssociateUserToPermissionGroup -> Int
hashWithSalt
Int
_salt
AssociateUserToPermissionGroup' {Maybe Text
Text
userId :: Text
permissionGroupId :: Text
clientToken :: Maybe Text
$sel:userId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:clientToken:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> 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
permissionGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userId
instance
Prelude.NFData
AssociateUserToPermissionGroup
where
rnf :: AssociateUserToPermissionGroup -> ()
rnf AssociateUserToPermissionGroup' {Maybe Text
Text
userId :: Text
permissionGroupId :: Text
clientToken :: Maybe Text
$sel:userId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:clientToken:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> 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
permissionGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userId
instance
Data.ToHeaders
AssociateUserToPermissionGroup
where
toHeaders :: AssociateUserToPermissionGroup -> 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.ToJSON AssociateUserToPermissionGroup where
toJSON :: AssociateUserToPermissionGroup -> Value
toJSON AssociateUserToPermissionGroup' {Maybe Text
Text
userId :: Text
permissionGroupId :: Text
clientToken :: Maybe Text
$sel:userId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:clientToken:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"clientToken" 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
clientToken]
)
instance Data.ToPath AssociateUserToPermissionGroup where
toPath :: AssociateUserToPermissionGroup -> ByteString
toPath AssociateUserToPermissionGroup' {Maybe Text
Text
userId :: Text
permissionGroupId :: Text
clientToken :: Maybe Text
$sel:userId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:permissionGroupId:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Text
$sel:clientToken:AssociateUserToPermissionGroup' :: AssociateUserToPermissionGroup -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/permission-group/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
permissionGroupId,
ByteString
"/users/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
userId
]
instance Data.ToQuery AssociateUserToPermissionGroup where
toQuery :: AssociateUserToPermissionGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AssociateUserToPermissionGroupResponse = AssociateUserToPermissionGroupResponse'
{
AssociateUserToPermissionGroupResponse -> Int
statusCode :: Prelude.Int
}
deriving (AssociateUserToPermissionGroupResponse
-> AssociateUserToPermissionGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateUserToPermissionGroupResponse
-> AssociateUserToPermissionGroupResponse -> Bool
$c/= :: AssociateUserToPermissionGroupResponse
-> AssociateUserToPermissionGroupResponse -> Bool
== :: AssociateUserToPermissionGroupResponse
-> AssociateUserToPermissionGroupResponse -> Bool
$c== :: AssociateUserToPermissionGroupResponse
-> AssociateUserToPermissionGroupResponse -> Bool
Prelude.Eq, ReadPrec [AssociateUserToPermissionGroupResponse]
ReadPrec AssociateUserToPermissionGroupResponse
Int -> ReadS AssociateUserToPermissionGroupResponse
ReadS [AssociateUserToPermissionGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateUserToPermissionGroupResponse]
$creadListPrec :: ReadPrec [AssociateUserToPermissionGroupResponse]
readPrec :: ReadPrec AssociateUserToPermissionGroupResponse
$creadPrec :: ReadPrec AssociateUserToPermissionGroupResponse
readList :: ReadS [AssociateUserToPermissionGroupResponse]
$creadList :: ReadS [AssociateUserToPermissionGroupResponse]
readsPrec :: Int -> ReadS AssociateUserToPermissionGroupResponse
$creadsPrec :: Int -> ReadS AssociateUserToPermissionGroupResponse
Prelude.Read, Int -> AssociateUserToPermissionGroupResponse -> ShowS
[AssociateUserToPermissionGroupResponse] -> ShowS
AssociateUserToPermissionGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateUserToPermissionGroupResponse] -> ShowS
$cshowList :: [AssociateUserToPermissionGroupResponse] -> ShowS
show :: AssociateUserToPermissionGroupResponse -> String
$cshow :: AssociateUserToPermissionGroupResponse -> String
showsPrec :: Int -> AssociateUserToPermissionGroupResponse -> ShowS
$cshowsPrec :: Int -> AssociateUserToPermissionGroupResponse -> ShowS
Prelude.Show, forall x.
Rep AssociateUserToPermissionGroupResponse x
-> AssociateUserToPermissionGroupResponse
forall x.
AssociateUserToPermissionGroupResponse
-> Rep AssociateUserToPermissionGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateUserToPermissionGroupResponse x
-> AssociateUserToPermissionGroupResponse
$cfrom :: forall x.
AssociateUserToPermissionGroupResponse
-> Rep AssociateUserToPermissionGroupResponse x
Prelude.Generic)
newAssociateUserToPermissionGroupResponse ::
Prelude.Int ->
AssociateUserToPermissionGroupResponse
newAssociateUserToPermissionGroupResponse :: Int -> AssociateUserToPermissionGroupResponse
newAssociateUserToPermissionGroupResponse
Int
pStatusCode_ =
AssociateUserToPermissionGroupResponse'
{ $sel:statusCode:AssociateUserToPermissionGroupResponse' :: Int
statusCode =
Int
pStatusCode_
}
associateUserToPermissionGroupResponse_statusCode :: Lens.Lens' AssociateUserToPermissionGroupResponse Prelude.Int
associateUserToPermissionGroupResponse_statusCode :: Lens' AssociateUserToPermissionGroupResponse Int
associateUserToPermissionGroupResponse_statusCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateUserToPermissionGroupResponse' {Int
statusCode :: Int
$sel:statusCode:AssociateUserToPermissionGroupResponse' :: AssociateUserToPermissionGroupResponse -> Int
statusCode} -> Int
statusCode) (\s :: AssociateUserToPermissionGroupResponse
s@AssociateUserToPermissionGroupResponse' {} Int
a -> AssociateUserToPermissionGroupResponse
s {$sel:statusCode:AssociateUserToPermissionGroupResponse' :: Int
statusCode = Int
a} :: AssociateUserToPermissionGroupResponse)
instance
Prelude.NFData
AssociateUserToPermissionGroupResponse
where
rnf :: AssociateUserToPermissionGroupResponse -> ()
rnf AssociateUserToPermissionGroupResponse' {Int
statusCode :: Int
$sel:statusCode:AssociateUserToPermissionGroupResponse' :: AssociateUserToPermissionGroupResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
statusCode