{-# 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.ListUsersByPermissionGroup
(
ListUsersByPermissionGroup (..),
newListUsersByPermissionGroup,
listUsersByPermissionGroup_nextToken,
listUsersByPermissionGroup_permissionGroupId,
listUsersByPermissionGroup_maxResults,
ListUsersByPermissionGroupResponse (..),
newListUsersByPermissionGroupResponse,
listUsersByPermissionGroupResponse_nextToken,
listUsersByPermissionGroupResponse_users,
listUsersByPermissionGroupResponse_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 ListUsersByPermissionGroup = ListUsersByPermissionGroup'
{
ListUsersByPermissionGroup -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListUsersByPermissionGroup -> Text
permissionGroupId :: Prelude.Text,
ListUsersByPermissionGroup -> Natural
maxResults :: Prelude.Natural
}
deriving (ListUsersByPermissionGroup -> ListUsersByPermissionGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListUsersByPermissionGroup -> ListUsersByPermissionGroup -> Bool
$c/= :: ListUsersByPermissionGroup -> ListUsersByPermissionGroup -> Bool
== :: ListUsersByPermissionGroup -> ListUsersByPermissionGroup -> Bool
$c== :: ListUsersByPermissionGroup -> ListUsersByPermissionGroup -> Bool
Prelude.Eq, ReadPrec [ListUsersByPermissionGroup]
ReadPrec ListUsersByPermissionGroup
Int -> ReadS ListUsersByPermissionGroup
ReadS [ListUsersByPermissionGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListUsersByPermissionGroup]
$creadListPrec :: ReadPrec [ListUsersByPermissionGroup]
readPrec :: ReadPrec ListUsersByPermissionGroup
$creadPrec :: ReadPrec ListUsersByPermissionGroup
readList :: ReadS [ListUsersByPermissionGroup]
$creadList :: ReadS [ListUsersByPermissionGroup]
readsPrec :: Int -> ReadS ListUsersByPermissionGroup
$creadsPrec :: Int -> ReadS ListUsersByPermissionGroup
Prelude.Read, Int -> ListUsersByPermissionGroup -> ShowS
[ListUsersByPermissionGroup] -> ShowS
ListUsersByPermissionGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListUsersByPermissionGroup] -> ShowS
$cshowList :: [ListUsersByPermissionGroup] -> ShowS
show :: ListUsersByPermissionGroup -> String
$cshow :: ListUsersByPermissionGroup -> String
showsPrec :: Int -> ListUsersByPermissionGroup -> ShowS
$cshowsPrec :: Int -> ListUsersByPermissionGroup -> ShowS
Prelude.Show, forall x.
Rep ListUsersByPermissionGroup x -> ListUsersByPermissionGroup
forall x.
ListUsersByPermissionGroup -> Rep ListUsersByPermissionGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListUsersByPermissionGroup x -> ListUsersByPermissionGroup
$cfrom :: forall x.
ListUsersByPermissionGroup -> Rep ListUsersByPermissionGroup x
Prelude.Generic)
newListUsersByPermissionGroup ::
Prelude.Text ->
Prelude.Natural ->
ListUsersByPermissionGroup
newListUsersByPermissionGroup :: Text -> Natural -> ListUsersByPermissionGroup
newListUsersByPermissionGroup
Text
pPermissionGroupId_
Natural
pMaxResults_ =
ListUsersByPermissionGroup'
{ $sel:nextToken:ListUsersByPermissionGroup' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:permissionGroupId:ListUsersByPermissionGroup' :: Text
permissionGroupId = Text
pPermissionGroupId_,
$sel:maxResults:ListUsersByPermissionGroup' :: Natural
maxResults = Natural
pMaxResults_
}
listUsersByPermissionGroup_nextToken :: Lens.Lens' ListUsersByPermissionGroup (Prelude.Maybe Prelude.Text)
listUsersByPermissionGroup_nextToken :: Lens' ListUsersByPermissionGroup (Maybe Text)
listUsersByPermissionGroup_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroup' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListUsersByPermissionGroup
s@ListUsersByPermissionGroup' {} Maybe Text
a -> ListUsersByPermissionGroup
s {$sel:nextToken:ListUsersByPermissionGroup' :: Maybe Text
nextToken = Maybe Text
a} :: ListUsersByPermissionGroup)
listUsersByPermissionGroup_permissionGroupId :: Lens.Lens' ListUsersByPermissionGroup Prelude.Text
listUsersByPermissionGroup_permissionGroupId :: Lens' ListUsersByPermissionGroup Text
listUsersByPermissionGroup_permissionGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroup' {Text
permissionGroupId :: Text
$sel:permissionGroupId:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Text
permissionGroupId} -> Text
permissionGroupId) (\s :: ListUsersByPermissionGroup
s@ListUsersByPermissionGroup' {} Text
a -> ListUsersByPermissionGroup
s {$sel:permissionGroupId:ListUsersByPermissionGroup' :: Text
permissionGroupId = Text
a} :: ListUsersByPermissionGroup)
listUsersByPermissionGroup_maxResults :: Lens.Lens' ListUsersByPermissionGroup Prelude.Natural
listUsersByPermissionGroup_maxResults :: Lens' ListUsersByPermissionGroup Natural
listUsersByPermissionGroup_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroup' {Natural
maxResults :: Natural
$sel:maxResults:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Natural
maxResults} -> Natural
maxResults) (\s :: ListUsersByPermissionGroup
s@ListUsersByPermissionGroup' {} Natural
a -> ListUsersByPermissionGroup
s {$sel:maxResults:ListUsersByPermissionGroup' :: Natural
maxResults = Natural
a} :: ListUsersByPermissionGroup)
instance Core.AWSRequest ListUsersByPermissionGroup where
type
AWSResponse ListUsersByPermissionGroup =
ListUsersByPermissionGroupResponse
request :: (Service -> Service)
-> ListUsersByPermissionGroup -> Request ListUsersByPermissionGroup
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 ListUsersByPermissionGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListUsersByPermissionGroup)))
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 [UserByPermissionGroup]
-> Int
-> ListUsersByPermissionGroupResponse
ListUsersByPermissionGroupResponse'
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
"users" 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 ListUsersByPermissionGroup where
hashWithSalt :: Int -> ListUsersByPermissionGroup -> Int
hashWithSalt Int
_salt ListUsersByPermissionGroup' {Natural
Maybe Text
Text
maxResults :: Natural
permissionGroupId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Natural
$sel:permissionGroupId:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Text
$sel:nextToken:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> 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
permissionGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
maxResults
instance Prelude.NFData ListUsersByPermissionGroup where
rnf :: ListUsersByPermissionGroup -> ()
rnf ListUsersByPermissionGroup' {Natural
Maybe Text
Text
maxResults :: Natural
permissionGroupId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Natural
$sel:permissionGroupId:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Text
$sel:nextToken:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> 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
permissionGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
maxResults
instance Data.ToHeaders ListUsersByPermissionGroup where
toHeaders :: ListUsersByPermissionGroup -> 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 ListUsersByPermissionGroup where
toPath :: ListUsersByPermissionGroup -> ByteString
toPath ListUsersByPermissionGroup' {Natural
Maybe Text
Text
maxResults :: Natural
permissionGroupId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Natural
$sel:permissionGroupId:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Text
$sel:nextToken:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> 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"
]
instance Data.ToQuery ListUsersByPermissionGroup where
toQuery :: ListUsersByPermissionGroup -> QueryString
toQuery ListUsersByPermissionGroup' {Natural
Maybe Text
Text
maxResults :: Natural
permissionGroupId :: Text
nextToken :: Maybe Text
$sel:maxResults:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Natural
$sel:permissionGroupId:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> Text
$sel:nextToken:ListUsersByPermissionGroup' :: ListUsersByPermissionGroup -> 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 ListUsersByPermissionGroupResponse = ListUsersByPermissionGroupResponse'
{
ListUsersByPermissionGroupResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListUsersByPermissionGroupResponse -> Maybe [UserByPermissionGroup]
users :: Prelude.Maybe [UserByPermissionGroup],
ListUsersByPermissionGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListUsersByPermissionGroupResponse
-> ListUsersByPermissionGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListUsersByPermissionGroupResponse
-> ListUsersByPermissionGroupResponse -> Bool
$c/= :: ListUsersByPermissionGroupResponse
-> ListUsersByPermissionGroupResponse -> Bool
== :: ListUsersByPermissionGroupResponse
-> ListUsersByPermissionGroupResponse -> Bool
$c== :: ListUsersByPermissionGroupResponse
-> ListUsersByPermissionGroupResponse -> Bool
Prelude.Eq, Int -> ListUsersByPermissionGroupResponse -> ShowS
[ListUsersByPermissionGroupResponse] -> ShowS
ListUsersByPermissionGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListUsersByPermissionGroupResponse] -> ShowS
$cshowList :: [ListUsersByPermissionGroupResponse] -> ShowS
show :: ListUsersByPermissionGroupResponse -> String
$cshow :: ListUsersByPermissionGroupResponse -> String
showsPrec :: Int -> ListUsersByPermissionGroupResponse -> ShowS
$cshowsPrec :: Int -> ListUsersByPermissionGroupResponse -> ShowS
Prelude.Show, forall x.
Rep ListUsersByPermissionGroupResponse x
-> ListUsersByPermissionGroupResponse
forall x.
ListUsersByPermissionGroupResponse
-> Rep ListUsersByPermissionGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListUsersByPermissionGroupResponse x
-> ListUsersByPermissionGroupResponse
$cfrom :: forall x.
ListUsersByPermissionGroupResponse
-> Rep ListUsersByPermissionGroupResponse x
Prelude.Generic)
newListUsersByPermissionGroupResponse ::
Prelude.Int ->
ListUsersByPermissionGroupResponse
newListUsersByPermissionGroupResponse :: Int -> ListUsersByPermissionGroupResponse
newListUsersByPermissionGroupResponse Int
pHttpStatus_ =
ListUsersByPermissionGroupResponse'
{ $sel:nextToken:ListUsersByPermissionGroupResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:users:ListUsersByPermissionGroupResponse' :: Maybe [UserByPermissionGroup]
users = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListUsersByPermissionGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listUsersByPermissionGroupResponse_nextToken :: Lens.Lens' ListUsersByPermissionGroupResponse (Prelude.Maybe Prelude.Text)
listUsersByPermissionGroupResponse_nextToken :: Lens' ListUsersByPermissionGroupResponse (Maybe Text)
listUsersByPermissionGroupResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroupResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListUsersByPermissionGroupResponse
s@ListUsersByPermissionGroupResponse' {} Maybe Text
a -> ListUsersByPermissionGroupResponse
s {$sel:nextToken:ListUsersByPermissionGroupResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListUsersByPermissionGroupResponse)
listUsersByPermissionGroupResponse_users :: Lens.Lens' ListUsersByPermissionGroupResponse (Prelude.Maybe [UserByPermissionGroup])
listUsersByPermissionGroupResponse_users :: Lens'
ListUsersByPermissionGroupResponse (Maybe [UserByPermissionGroup])
listUsersByPermissionGroupResponse_users = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroupResponse' {Maybe [UserByPermissionGroup]
users :: Maybe [UserByPermissionGroup]
$sel:users:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> Maybe [UserByPermissionGroup]
users} -> Maybe [UserByPermissionGroup]
users) (\s :: ListUsersByPermissionGroupResponse
s@ListUsersByPermissionGroupResponse' {} Maybe [UserByPermissionGroup]
a -> ListUsersByPermissionGroupResponse
s {$sel:users:ListUsersByPermissionGroupResponse' :: Maybe [UserByPermissionGroup]
users = Maybe [UserByPermissionGroup]
a} :: ListUsersByPermissionGroupResponse) 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
listUsersByPermissionGroupResponse_httpStatus :: Lens.Lens' ListUsersByPermissionGroupResponse Prelude.Int
listUsersByPermissionGroupResponse_httpStatus :: Lens' ListUsersByPermissionGroupResponse Int
listUsersByPermissionGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListUsersByPermissionGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListUsersByPermissionGroupResponse
s@ListUsersByPermissionGroupResponse' {} Int
a -> ListUsersByPermissionGroupResponse
s {$sel:httpStatus:ListUsersByPermissionGroupResponse' :: Int
httpStatus = Int
a} :: ListUsersByPermissionGroupResponse)
instance
Prelude.NFData
ListUsersByPermissionGroupResponse
where
rnf :: ListUsersByPermissionGroupResponse -> ()
rnf ListUsersByPermissionGroupResponse' {Int
Maybe [UserByPermissionGroup]
Maybe Text
httpStatus :: Int
users :: Maybe [UserByPermissionGroup]
nextToken :: Maybe Text
$sel:httpStatus:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> Int
$sel:users:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> Maybe [UserByPermissionGroup]
$sel:nextToken:ListUsersByPermissionGroupResponse' :: ListUsersByPermissionGroupResponse -> 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 [UserByPermissionGroup]
users
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus