{-# 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.ListPermissionGroupsByUser
(
ListPermissionGroupsByUser (..),
newListPermissionGroupsByUser,
listPermissionGroupsByUser_nextToken,
listPermissionGroupsByUser_userId,
listPermissionGroupsByUser_maxResults,
ListPermissionGroupsByUserResponse (..),
newListPermissionGroupsByUserResponse,
listPermissionGroupsByUserResponse_nextToken,
listPermissionGroupsByUserResponse_permissionGroups,
listPermissionGroupsByUserResponse_httpStatus,
)
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 ListPermissionGroupsByUser = ListPermissionGroupsByUser'
{
ListPermissionGroupsByUser -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListPermissionGroupsByUser -> Text
userId :: Prelude.Text,
ListPermissionGroupsByUser -> Natural
maxResults :: Prelude.Natural
}
deriving (ListPermissionGroupsByUser -> ListPermissionGroupsByUser -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPermissionGroupsByUser -> ListPermissionGroupsByUser -> Bool
$c/= :: ListPermissionGroupsByUser -> ListPermissionGroupsByUser -> Bool
== :: ListPermissionGroupsByUser -> ListPermissionGroupsByUser -> Bool
$c== :: ListPermissionGroupsByUser -> ListPermissionGroupsByUser -> Bool
Prelude.Eq, ReadPrec [ListPermissionGroupsByUser]
ReadPrec ListPermissionGroupsByUser
Int -> ReadS ListPermissionGroupsByUser
ReadS [ListPermissionGroupsByUser]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPermissionGroupsByUser]
$creadListPrec :: ReadPrec [ListPermissionGroupsByUser]
readPrec :: ReadPrec ListPermissionGroupsByUser
$creadPrec :: ReadPrec ListPermissionGroupsByUser
readList :: ReadS [ListPermissionGroupsByUser]
$creadList :: ReadS [ListPermissionGroupsByUser]
readsPrec :: Int -> ReadS ListPermissionGroupsByUser
$creadsPrec :: Int -> ReadS ListPermissionGroupsByUser
Prelude.Read, Int -> ListPermissionGroupsByUser -> ShowS
[ListPermissionGroupsByUser] -> ShowS
ListPermissionGroupsByUser -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPermissionGroupsByUser] -> ShowS
$cshowList :: [ListPermissionGroupsByUser] -> ShowS
show :: ListPermissionGroupsByUser -> String
$cshow :: ListPermissionGroupsByUser -> String
showsPrec :: Int -> ListPermissionGroupsByUser -> ShowS
$cshowsPrec :: Int -> ListPermissionGroupsByUser -> ShowS
Prelude.Show, forall x.
Rep ListPermissionGroupsByUser x -> ListPermissionGroupsByUser
forall x.
ListPermissionGroupsByUser -> Rep ListPermissionGroupsByUser x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListPermissionGroupsByUser x -> ListPermissionGroupsByUser
$cfrom :: forall x.
ListPermissionGroupsByUser -> Rep ListPermissionGroupsByUser x
Prelude.Generic)
newListPermissionGroupsByUser ::
Prelude.Text ->
Prelude.Natural ->
ListPermissionGroupsByUser
newListPermissionGroupsByUser :: Text -> Natural -> ListPermissionGroupsByUser
newListPermissionGroupsByUser Text
pUserId_ Natural
pMaxResults_ =
ListPermissionGroupsByUser'
{ $sel:nextToken:ListPermissionGroupsByUser' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:userId:ListPermissionGroupsByUser' :: Text
userId = Text
pUserId_,
$sel:maxResults:ListPermissionGroupsByUser' :: Natural
maxResults = Natural
pMaxResults_
}
listPermissionGroupsByUser_nextToken :: Lens.Lens' ListPermissionGroupsByUser (Prelude.Maybe Prelude.Text)
listPermissionGroupsByUser_nextToken :: Lens' ListPermissionGroupsByUser (Maybe Text)
listPermissionGroupsByUser_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUser' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPermissionGroupsByUser
s@ListPermissionGroupsByUser' {} Maybe Text
a -> ListPermissionGroupsByUser
s {$sel:nextToken:ListPermissionGroupsByUser' :: Maybe Text
nextToken = Maybe Text
a} :: ListPermissionGroupsByUser)
listPermissionGroupsByUser_userId :: Lens.Lens' ListPermissionGroupsByUser Prelude.Text
listPermissionGroupsByUser_userId :: Lens' ListPermissionGroupsByUser Text
listPermissionGroupsByUser_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUser' {Text
userId :: Text
$sel:userId:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Text
userId} -> Text
userId) (\s :: ListPermissionGroupsByUser
s@ListPermissionGroupsByUser' {} Text
a -> ListPermissionGroupsByUser
s {$sel:userId:ListPermissionGroupsByUser' :: Text
userId = Text
a} :: ListPermissionGroupsByUser)
listPermissionGroupsByUser_maxResults :: Lens.Lens' ListPermissionGroupsByUser Prelude.Natural
listPermissionGroupsByUser_maxResults :: Lens' ListPermissionGroupsByUser Natural
listPermissionGroupsByUser_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUser' {Natural
maxResults :: Natural
$sel:maxResults:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Natural
maxResults} -> Natural
maxResults) (\s :: ListPermissionGroupsByUser
s@ListPermissionGroupsByUser' {} Natural
a -> ListPermissionGroupsByUser
s {$sel:maxResults:ListPermissionGroupsByUser' :: Natural
maxResults = Natural
a} :: ListPermissionGroupsByUser)
instance Core.AWSRequest ListPermissionGroupsByUser where
type
AWSResponse ListPermissionGroupsByUser =
ListPermissionGroupsByUserResponse
request :: (Service -> Service)
-> ListPermissionGroupsByUser -> Request ListPermissionGroupsByUser
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 ListPermissionGroupsByUser
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListPermissionGroupsByUser)))
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 Text
-> Maybe [PermissionGroupByUser]
-> Int
-> ListPermissionGroupsByUserResponse
ListPermissionGroupsByUserResponse'
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
"nextToken")
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
"permissionGroups"
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable ListPermissionGroupsByUser where
hashWithSalt :: Int -> ListPermissionGroupsByUser -> Int
hashWithSalt Int
_salt ListPermissionGroupsByUser' {Natural
Maybe Text
Text
maxResults :: Natural
userId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Natural
$sel:userId:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Text
$sel:nextToken:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
maxResults
instance Prelude.NFData ListPermissionGroupsByUser where
rnf :: ListPermissionGroupsByUser -> ()
rnf ListPermissionGroupsByUser' {Natural
Maybe Text
Text
maxResults :: Natural
userId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Natural
$sel:userId:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Text
$sel:nextToken:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Maybe Text
..} =
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
userId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
maxResults
instance Data.ToHeaders ListPermissionGroupsByUser where
toHeaders :: ListPermissionGroupsByUser -> 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 ListPermissionGroupsByUser where
toPath :: ListPermissionGroupsByUser -> ByteString
toPath ListPermissionGroupsByUser' {Natural
Maybe Text
Text
maxResults :: Natural
userId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Natural
$sel:userId:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Text
$sel:nextToken:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/user/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
userId, ByteString
"/permission-groups"]
instance Data.ToQuery ListPermissionGroupsByUser where
toQuery :: ListPermissionGroupsByUser -> QueryString
toQuery ListPermissionGroupsByUser' {Natural
Maybe Text
Text
maxResults :: Natural
userId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Natural
$sel:userId:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Text
$sel:nextToken:ListPermissionGroupsByUser' :: ListPermissionGroupsByUser -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"nextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
ByteString
"maxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Natural
maxResults
]
data ListPermissionGroupsByUserResponse = ListPermissionGroupsByUserResponse'
{
ListPermissionGroupsByUserResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListPermissionGroupsByUserResponse -> Maybe [PermissionGroupByUser]
permissionGroups :: Prelude.Maybe [PermissionGroupByUser],
ListPermissionGroupsByUserResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListPermissionGroupsByUserResponse
-> ListPermissionGroupsByUserResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPermissionGroupsByUserResponse
-> ListPermissionGroupsByUserResponse -> Bool
$c/= :: ListPermissionGroupsByUserResponse
-> ListPermissionGroupsByUserResponse -> Bool
== :: ListPermissionGroupsByUserResponse
-> ListPermissionGroupsByUserResponse -> Bool
$c== :: ListPermissionGroupsByUserResponse
-> ListPermissionGroupsByUserResponse -> Bool
Prelude.Eq, Int -> ListPermissionGroupsByUserResponse -> ShowS
[ListPermissionGroupsByUserResponse] -> ShowS
ListPermissionGroupsByUserResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPermissionGroupsByUserResponse] -> ShowS
$cshowList :: [ListPermissionGroupsByUserResponse] -> ShowS
show :: ListPermissionGroupsByUserResponse -> String
$cshow :: ListPermissionGroupsByUserResponse -> String
showsPrec :: Int -> ListPermissionGroupsByUserResponse -> ShowS
$cshowsPrec :: Int -> ListPermissionGroupsByUserResponse -> ShowS
Prelude.Show, forall x.
Rep ListPermissionGroupsByUserResponse x
-> ListPermissionGroupsByUserResponse
forall x.
ListPermissionGroupsByUserResponse
-> Rep ListPermissionGroupsByUserResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListPermissionGroupsByUserResponse x
-> ListPermissionGroupsByUserResponse
$cfrom :: forall x.
ListPermissionGroupsByUserResponse
-> Rep ListPermissionGroupsByUserResponse x
Prelude.Generic)
newListPermissionGroupsByUserResponse ::
Prelude.Int ->
ListPermissionGroupsByUserResponse
newListPermissionGroupsByUserResponse :: Int -> ListPermissionGroupsByUserResponse
newListPermissionGroupsByUserResponse Int
pHttpStatus_ =
ListPermissionGroupsByUserResponse'
{ $sel:nextToken:ListPermissionGroupsByUserResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:permissionGroups:ListPermissionGroupsByUserResponse' :: Maybe [PermissionGroupByUser]
permissionGroups = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListPermissionGroupsByUserResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listPermissionGroupsByUserResponse_nextToken :: Lens.Lens' ListPermissionGroupsByUserResponse (Prelude.Maybe Prelude.Text)
listPermissionGroupsByUserResponse_nextToken :: Lens' ListPermissionGroupsByUserResponse (Maybe Text)
listPermissionGroupsByUserResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUserResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPermissionGroupsByUserResponse
s@ListPermissionGroupsByUserResponse' {} Maybe Text
a -> ListPermissionGroupsByUserResponse
s {$sel:nextToken:ListPermissionGroupsByUserResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListPermissionGroupsByUserResponse)
listPermissionGroupsByUserResponse_permissionGroups :: Lens.Lens' ListPermissionGroupsByUserResponse (Prelude.Maybe [PermissionGroupByUser])
listPermissionGroupsByUserResponse_permissionGroups :: Lens'
ListPermissionGroupsByUserResponse (Maybe [PermissionGroupByUser])
listPermissionGroupsByUserResponse_permissionGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUserResponse' {Maybe [PermissionGroupByUser]
permissionGroups :: Maybe [PermissionGroupByUser]
$sel:permissionGroups:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Maybe [PermissionGroupByUser]
permissionGroups} -> Maybe [PermissionGroupByUser]
permissionGroups) (\s :: ListPermissionGroupsByUserResponse
s@ListPermissionGroupsByUserResponse' {} Maybe [PermissionGroupByUser]
a -> ListPermissionGroupsByUserResponse
s {$sel:permissionGroups:ListPermissionGroupsByUserResponse' :: Maybe [PermissionGroupByUser]
permissionGroups = Maybe [PermissionGroupByUser]
a} :: ListPermissionGroupsByUserResponse) 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
listPermissionGroupsByUserResponse_httpStatus :: Lens.Lens' ListPermissionGroupsByUserResponse Prelude.Int
listPermissionGroupsByUserResponse_httpStatus :: Lens' ListPermissionGroupsByUserResponse Int
listPermissionGroupsByUserResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPermissionGroupsByUserResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListPermissionGroupsByUserResponse
s@ListPermissionGroupsByUserResponse' {} Int
a -> ListPermissionGroupsByUserResponse
s {$sel:httpStatus:ListPermissionGroupsByUserResponse' :: Int
httpStatus = Int
a} :: ListPermissionGroupsByUserResponse)
instance
Prelude.NFData
ListPermissionGroupsByUserResponse
where
rnf :: ListPermissionGroupsByUserResponse -> ()
rnf ListPermissionGroupsByUserResponse' {Int
Maybe [PermissionGroupByUser]
Maybe Text
httpStatus :: Int
permissionGroups :: Maybe [PermissionGroupByUser]
nextToken :: Maybe Text
$sel:httpStatus:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Int
$sel:permissionGroups:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Maybe [PermissionGroupByUser]
$sel:nextToken:ListPermissionGroupsByUserResponse' :: ListPermissionGroupsByUserResponse -> Maybe Text
..} =
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 Maybe [PermissionGroupByUser]
permissionGroups
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus