{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.FinSpaceData.ListUsersByPermissionGroup
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists details of all the users in a specific permission group.
module Amazonka.FinSpaceData.ListUsersByPermissionGroup
  ( -- * Creating a Request
    ListUsersByPermissionGroup (..),
    newListUsersByPermissionGroup,

    -- * Request Lenses
    listUsersByPermissionGroup_nextToken,
    listUsersByPermissionGroup_permissionGroupId,
    listUsersByPermissionGroup_maxResults,

    -- * Destructuring the Response
    ListUsersByPermissionGroupResponse (..),
    newListUsersByPermissionGroupResponse,

    -- * Response Lenses
    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

-- | /See:/ 'newListUsersByPermissionGroup' smart constructor.
data ListUsersByPermissionGroup = ListUsersByPermissionGroup'
  { -- | A token that indicates where a results page should begin.
    ListUsersByPermissionGroup -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The unique identifier for the permission group.
    ListUsersByPermissionGroup -> Text
permissionGroupId :: Prelude.Text,
    -- | The maximum number of results per page.
    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)

-- |
-- Create a value of 'ListUsersByPermissionGroup' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listUsersByPermissionGroup_nextToken' - A token that indicates where a results page should begin.
--
-- 'permissionGroupId', 'listUsersByPermissionGroup_permissionGroupId' - The unique identifier for the permission group.
--
-- 'maxResults', 'listUsersByPermissionGroup_maxResults' - The maximum number of results per page.
newListUsersByPermissionGroup ::
  -- | 'permissionGroupId'
  Prelude.Text ->
  -- | 'maxResults'
  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_
      }

-- | A token that indicates where a results page should begin.
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)

-- | The unique identifier for the permission group.
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)

-- | The maximum number of results per page.
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
      ]

-- | /See:/ 'newListUsersByPermissionGroupResponse' smart constructor.
data ListUsersByPermissionGroupResponse = ListUsersByPermissionGroupResponse'
  { -- | A token that indicates where a results page should begin.
    ListUsersByPermissionGroupResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Lists details of all users in a specific permission group.
    ListUsersByPermissionGroupResponse -> Maybe [UserByPermissionGroup]
users :: Prelude.Maybe [UserByPermissionGroup],
    -- | The response's http status code.
    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)

-- |
-- Create a value of 'ListUsersByPermissionGroupResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listUsersByPermissionGroupResponse_nextToken' - A token that indicates where a results page should begin.
--
-- 'users', 'listUsersByPermissionGroupResponse_users' - Lists details of all users in a specific permission group.
--
-- 'httpStatus', 'listUsersByPermissionGroupResponse_httpStatus' - The response's http status code.
newListUsersByPermissionGroupResponse ::
  -- | 'httpStatus'
  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_
    }

-- | A token that indicates where a results page should begin.
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)

-- | Lists details of all users in a specific permission group.
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

-- | The response's http status code.
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