{-# 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.Chime.ListAppInstanceUsers
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- List all @AppInstanceUsers@ created under a single @AppInstance@.
module Amazonka.Chime.ListAppInstanceUsers
  ( -- * Creating a Request
    ListAppInstanceUsers (..),
    newListAppInstanceUsers,

    -- * Request Lenses
    listAppInstanceUsers_nextToken,
    listAppInstanceUsers_maxResults,
    listAppInstanceUsers_appInstanceArn,

    -- * Destructuring the Response
    ListAppInstanceUsersResponse (..),
    newListAppInstanceUsersResponse,

    -- * Response Lenses
    listAppInstanceUsersResponse_nextToken,
    listAppInstanceUsersResponse_appInstanceUsers,
    listAppInstanceUsersResponse_appInstanceArn,
    listAppInstanceUsersResponse_httpStatus,
  )
where

import Amazonka.Chime.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListAppInstanceUsers' smart constructor.
data ListAppInstanceUsers = ListAppInstanceUsers'
  { -- | The token passed by previous API calls until all requested users are
    -- returned.
    ListAppInstanceUsers -> Maybe (Sensitive Text)
nextToken :: Prelude.Maybe (Core.Sensitive Prelude.Text),
    -- | The maximum number of requests that you want returned.
    ListAppInstanceUsers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The ARN of the @AppInstance@.
    ListAppInstanceUsers -> Text
appInstanceArn :: Prelude.Text
  }
  deriving (ListAppInstanceUsers -> ListAppInstanceUsers -> Bool
(ListAppInstanceUsers -> ListAppInstanceUsers -> Bool)
-> (ListAppInstanceUsers -> ListAppInstanceUsers -> Bool)
-> Eq ListAppInstanceUsers
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAppInstanceUsers -> ListAppInstanceUsers -> Bool
$c/= :: ListAppInstanceUsers -> ListAppInstanceUsers -> Bool
== :: ListAppInstanceUsers -> ListAppInstanceUsers -> Bool
$c== :: ListAppInstanceUsers -> ListAppInstanceUsers -> Bool
Prelude.Eq, Int -> ListAppInstanceUsers -> ShowS
[ListAppInstanceUsers] -> ShowS
ListAppInstanceUsers -> String
(Int -> ListAppInstanceUsers -> ShowS)
-> (ListAppInstanceUsers -> String)
-> ([ListAppInstanceUsers] -> ShowS)
-> Show ListAppInstanceUsers
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAppInstanceUsers] -> ShowS
$cshowList :: [ListAppInstanceUsers] -> ShowS
show :: ListAppInstanceUsers -> String
$cshow :: ListAppInstanceUsers -> String
showsPrec :: Int -> ListAppInstanceUsers -> ShowS
$cshowsPrec :: Int -> ListAppInstanceUsers -> ShowS
Prelude.Show, (forall x. ListAppInstanceUsers -> Rep ListAppInstanceUsers x)
-> (forall x. Rep ListAppInstanceUsers x -> ListAppInstanceUsers)
-> Generic ListAppInstanceUsers
forall x. Rep ListAppInstanceUsers x -> ListAppInstanceUsers
forall x. ListAppInstanceUsers -> Rep ListAppInstanceUsers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListAppInstanceUsers x -> ListAppInstanceUsers
$cfrom :: forall x. ListAppInstanceUsers -> Rep ListAppInstanceUsers x
Prelude.Generic)

-- |
-- Create a value of 'ListAppInstanceUsers' 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', 'listAppInstanceUsers_nextToken' - The token passed by previous API calls until all requested users are
-- returned.
--
-- 'maxResults', 'listAppInstanceUsers_maxResults' - The maximum number of requests that you want returned.
--
-- 'appInstanceArn', 'listAppInstanceUsers_appInstanceArn' - The ARN of the @AppInstance@.
newListAppInstanceUsers ::
  -- | 'appInstanceArn'
  Prelude.Text ->
  ListAppInstanceUsers
newListAppInstanceUsers :: Text -> ListAppInstanceUsers
newListAppInstanceUsers Text
pAppInstanceArn_ =
  ListAppInstanceUsers' :: Maybe (Sensitive Text)
-> Maybe Natural -> Text -> ListAppInstanceUsers
ListAppInstanceUsers'
    { $sel:nextToken:ListAppInstanceUsers' :: Maybe (Sensitive Text)
nextToken = Maybe (Sensitive Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListAppInstanceUsers' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:appInstanceArn:ListAppInstanceUsers' :: Text
appInstanceArn = Text
pAppInstanceArn_
    }

-- | The token passed by previous API calls until all requested users are
-- returned.
listAppInstanceUsers_nextToken :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Text)
listAppInstanceUsers_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListAppInstanceUsers -> f ListAppInstanceUsers
listAppInstanceUsers_nextToken = (ListAppInstanceUsers -> Maybe (Sensitive Text))
-> (ListAppInstanceUsers
    -> Maybe (Sensitive Text) -> ListAppInstanceUsers)
-> Lens
     ListAppInstanceUsers
     ListAppInstanceUsers
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsers' {Maybe (Sensitive Text)
nextToken :: Maybe (Sensitive Text)
$sel:nextToken:ListAppInstanceUsers' :: ListAppInstanceUsers -> Maybe (Sensitive Text)
nextToken} -> Maybe (Sensitive Text)
nextToken) (\s :: ListAppInstanceUsers
s@ListAppInstanceUsers' {} Maybe (Sensitive Text)
a -> ListAppInstanceUsers
s {$sel:nextToken:ListAppInstanceUsers' :: Maybe (Sensitive Text)
nextToken = Maybe (Sensitive Text)
a} :: ListAppInstanceUsers) ((Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
 -> ListAppInstanceUsers -> f ListAppInstanceUsers)
-> ((Maybe Text -> f (Maybe Text))
    -> Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
-> (Maybe Text -> f (Maybe Text))
-> ListAppInstanceUsers
-> f ListAppInstanceUsers
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso (Sensitive Text) (Sensitive Text) Text Text
-> Iso
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
     (Maybe Text)
     (Maybe Text)
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 AnIso (Sensitive Text) (Sensitive Text) Text Text
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | The maximum number of requests that you want returned.
listAppInstanceUsers_maxResults :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Natural)
listAppInstanceUsers_maxResults :: (Maybe Natural -> f (Maybe Natural))
-> ListAppInstanceUsers -> f ListAppInstanceUsers
listAppInstanceUsers_maxResults = (ListAppInstanceUsers -> Maybe Natural)
-> (ListAppInstanceUsers -> Maybe Natural -> ListAppInstanceUsers)
-> Lens
     ListAppInstanceUsers
     ListAppInstanceUsers
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsers' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListAppInstanceUsers' :: ListAppInstanceUsers -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListAppInstanceUsers
s@ListAppInstanceUsers' {} Maybe Natural
a -> ListAppInstanceUsers
s {$sel:maxResults:ListAppInstanceUsers' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListAppInstanceUsers)

-- | The ARN of the @AppInstance@.
listAppInstanceUsers_appInstanceArn :: Lens.Lens' ListAppInstanceUsers Prelude.Text
listAppInstanceUsers_appInstanceArn :: (Text -> f Text) -> ListAppInstanceUsers -> f ListAppInstanceUsers
listAppInstanceUsers_appInstanceArn = (ListAppInstanceUsers -> Text)
-> (ListAppInstanceUsers -> Text -> ListAppInstanceUsers)
-> Lens ListAppInstanceUsers ListAppInstanceUsers Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsers' {Text
appInstanceArn :: Text
$sel:appInstanceArn:ListAppInstanceUsers' :: ListAppInstanceUsers -> Text
appInstanceArn} -> Text
appInstanceArn) (\s :: ListAppInstanceUsers
s@ListAppInstanceUsers' {} Text
a -> ListAppInstanceUsers
s {$sel:appInstanceArn:ListAppInstanceUsers' :: Text
appInstanceArn = Text
a} :: ListAppInstanceUsers)

instance Core.AWSRequest ListAppInstanceUsers where
  type
    AWSResponse ListAppInstanceUsers =
      ListAppInstanceUsersResponse
  request :: ListAppInstanceUsers -> Request ListAppInstanceUsers
request = Service -> ListAppInstanceUsers -> Request ListAppInstanceUsers
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy ListAppInstanceUsers
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListAppInstanceUsers)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse ListAppInstanceUsers))
-> Logger
-> Service
-> Proxy ListAppInstanceUsers
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListAppInstanceUsers)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe (Sensitive Text)
-> Maybe [AppInstanceUserSummary]
-> Maybe Text
-> Int
-> ListAppInstanceUsersResponse
ListAppInstanceUsersResponse'
            (Maybe (Sensitive Text)
 -> Maybe [AppInstanceUserSummary]
 -> Maybe Text
 -> Int
 -> ListAppInstanceUsersResponse)
-> Either String (Maybe (Sensitive Text))
-> Either
     String
     (Maybe [AppInstanceUserSummary]
      -> Maybe Text -> Int -> ListAppInstanceUsersResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe (Sensitive Text))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NextToken")
            Either
  String
  (Maybe [AppInstanceUserSummary]
   -> Maybe Text -> Int -> ListAppInstanceUsersResponse)
-> Either String (Maybe [AppInstanceUserSummary])
-> Either
     String (Maybe Text -> Int -> ListAppInstanceUsersResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text -> Either String (Maybe (Maybe [AppInstanceUserSummary]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AppInstanceUsers"
                            Either String (Maybe (Maybe [AppInstanceUserSummary]))
-> Maybe [AppInstanceUserSummary]
-> Either String (Maybe [AppInstanceUserSummary])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [AppInstanceUserSummary]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either String (Maybe Text -> Int -> ListAppInstanceUsersResponse)
-> Either String (Maybe Text)
-> Either String (Int -> ListAppInstanceUsersResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AppInstanceArn")
            Either String (Int -> ListAppInstanceUsersResponse)
-> Either String Int -> Either String ListAppInstanceUsersResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListAppInstanceUsers

instance Prelude.NFData ListAppInstanceUsers

instance Core.ToHeaders ListAppInstanceUsers where
  toHeaders :: ListAppInstanceUsers -> ResponseHeaders
toHeaders = ResponseHeaders -> ListAppInstanceUsers -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty

instance Core.ToPath ListAppInstanceUsers where
  toPath :: ListAppInstanceUsers -> ByteString
toPath = ByteString -> ListAppInstanceUsers -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/app-instance-users"

instance Core.ToQuery ListAppInstanceUsers where
  toQuery :: ListAppInstanceUsers -> QueryString
toQuery ListAppInstanceUsers' {Maybe Natural
Maybe (Sensitive Text)
Text
appInstanceArn :: Text
maxResults :: Maybe Natural
nextToken :: Maybe (Sensitive Text)
$sel:appInstanceArn:ListAppInstanceUsers' :: ListAppInstanceUsers -> Text
$sel:maxResults:ListAppInstanceUsers' :: ListAppInstanceUsers -> Maybe Natural
$sel:nextToken:ListAppInstanceUsers' :: ListAppInstanceUsers -> Maybe (Sensitive Text)
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"next-token" ByteString -> Maybe (Sensitive Text) -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe (Sensitive Text)
nextToken,
        ByteString
"max-results" ByteString -> Maybe Natural -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Natural
maxResults,
        ByteString
"app-instance-arn" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
appInstanceArn
      ]

-- | /See:/ 'newListAppInstanceUsersResponse' smart constructor.
data ListAppInstanceUsersResponse = ListAppInstanceUsersResponse'
  { -- | The token passed by previous API calls until all requested users are
    -- returned.
    ListAppInstanceUsersResponse -> Maybe (Sensitive Text)
nextToken :: Prelude.Maybe (Core.Sensitive Prelude.Text),
    -- | The information for each requested @AppInstanceUser@.
    ListAppInstanceUsersResponse -> Maybe [AppInstanceUserSummary]
appInstanceUsers :: Prelude.Maybe [AppInstanceUserSummary],
    -- | The ARN of the @AppInstance@.
    ListAppInstanceUsersResponse -> Maybe Text
appInstanceArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListAppInstanceUsersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListAppInstanceUsersResponse
-> ListAppInstanceUsersResponse -> Bool
(ListAppInstanceUsersResponse
 -> ListAppInstanceUsersResponse -> Bool)
-> (ListAppInstanceUsersResponse
    -> ListAppInstanceUsersResponse -> Bool)
-> Eq ListAppInstanceUsersResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAppInstanceUsersResponse
-> ListAppInstanceUsersResponse -> Bool
$c/= :: ListAppInstanceUsersResponse
-> ListAppInstanceUsersResponse -> Bool
== :: ListAppInstanceUsersResponse
-> ListAppInstanceUsersResponse -> Bool
$c== :: ListAppInstanceUsersResponse
-> ListAppInstanceUsersResponse -> Bool
Prelude.Eq, Int -> ListAppInstanceUsersResponse -> ShowS
[ListAppInstanceUsersResponse] -> ShowS
ListAppInstanceUsersResponse -> String
(Int -> ListAppInstanceUsersResponse -> ShowS)
-> (ListAppInstanceUsersResponse -> String)
-> ([ListAppInstanceUsersResponse] -> ShowS)
-> Show ListAppInstanceUsersResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAppInstanceUsersResponse] -> ShowS
$cshowList :: [ListAppInstanceUsersResponse] -> ShowS
show :: ListAppInstanceUsersResponse -> String
$cshow :: ListAppInstanceUsersResponse -> String
showsPrec :: Int -> ListAppInstanceUsersResponse -> ShowS
$cshowsPrec :: Int -> ListAppInstanceUsersResponse -> ShowS
Prelude.Show, (forall x.
 ListAppInstanceUsersResponse -> Rep ListAppInstanceUsersResponse x)
-> (forall x.
    Rep ListAppInstanceUsersResponse x -> ListAppInstanceUsersResponse)
-> Generic ListAppInstanceUsersResponse
forall x.
Rep ListAppInstanceUsersResponse x -> ListAppInstanceUsersResponse
forall x.
ListAppInstanceUsersResponse -> Rep ListAppInstanceUsersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAppInstanceUsersResponse x -> ListAppInstanceUsersResponse
$cfrom :: forall x.
ListAppInstanceUsersResponse -> Rep ListAppInstanceUsersResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListAppInstanceUsersResponse' 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', 'listAppInstanceUsersResponse_nextToken' - The token passed by previous API calls until all requested users are
-- returned.
--
-- 'appInstanceUsers', 'listAppInstanceUsersResponse_appInstanceUsers' - The information for each requested @AppInstanceUser@.
--
-- 'appInstanceArn', 'listAppInstanceUsersResponse_appInstanceArn' - The ARN of the @AppInstance@.
--
-- 'httpStatus', 'listAppInstanceUsersResponse_httpStatus' - The response's http status code.
newListAppInstanceUsersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListAppInstanceUsersResponse
newListAppInstanceUsersResponse :: Int -> ListAppInstanceUsersResponse
newListAppInstanceUsersResponse Int
pHttpStatus_ =
  ListAppInstanceUsersResponse' :: Maybe (Sensitive Text)
-> Maybe [AppInstanceUserSummary]
-> Maybe Text
-> Int
-> ListAppInstanceUsersResponse
ListAppInstanceUsersResponse'
    { $sel:nextToken:ListAppInstanceUsersResponse' :: Maybe (Sensitive Text)
nextToken =
        Maybe (Sensitive Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:appInstanceUsers:ListAppInstanceUsersResponse' :: Maybe [AppInstanceUserSummary]
appInstanceUsers = Maybe [AppInstanceUserSummary]
forall a. Maybe a
Prelude.Nothing,
      $sel:appInstanceArn:ListAppInstanceUsersResponse' :: Maybe Text
appInstanceArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListAppInstanceUsersResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The token passed by previous API calls until all requested users are
-- returned.
listAppInstanceUsersResponse_nextToken :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)
listAppInstanceUsersResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse
listAppInstanceUsersResponse_nextToken = (ListAppInstanceUsersResponse -> Maybe (Sensitive Text))
-> (ListAppInstanceUsersResponse
    -> Maybe (Sensitive Text) -> ListAppInstanceUsersResponse)
-> Lens
     ListAppInstanceUsersResponse
     ListAppInstanceUsersResponse
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsersResponse' {Maybe (Sensitive Text)
nextToken :: Maybe (Sensitive Text)
$sel:nextToken:ListAppInstanceUsersResponse' :: ListAppInstanceUsersResponse -> Maybe (Sensitive Text)
nextToken} -> Maybe (Sensitive Text)
nextToken) (\s :: ListAppInstanceUsersResponse
s@ListAppInstanceUsersResponse' {} Maybe (Sensitive Text)
a -> ListAppInstanceUsersResponse
s {$sel:nextToken:ListAppInstanceUsersResponse' :: Maybe (Sensitive Text)
nextToken = Maybe (Sensitive Text)
a} :: ListAppInstanceUsersResponse) ((Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
 -> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse)
-> ((Maybe Text -> f (Maybe Text))
    -> Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
-> (Maybe Text -> f (Maybe Text))
-> ListAppInstanceUsersResponse
-> f ListAppInstanceUsersResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso (Sensitive Text) (Sensitive Text) Text Text
-> Iso
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
     (Maybe Text)
     (Maybe Text)
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 AnIso (Sensitive Text) (Sensitive Text) Text Text
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | The information for each requested @AppInstanceUser@.
listAppInstanceUsersResponse_appInstanceUsers :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe [AppInstanceUserSummary])
listAppInstanceUsersResponse_appInstanceUsers :: (Maybe [AppInstanceUserSummary]
 -> f (Maybe [AppInstanceUserSummary]))
-> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse
listAppInstanceUsersResponse_appInstanceUsers = (ListAppInstanceUsersResponse -> Maybe [AppInstanceUserSummary])
-> (ListAppInstanceUsersResponse
    -> Maybe [AppInstanceUserSummary] -> ListAppInstanceUsersResponse)
-> Lens
     ListAppInstanceUsersResponse
     ListAppInstanceUsersResponse
     (Maybe [AppInstanceUserSummary])
     (Maybe [AppInstanceUserSummary])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsersResponse' {Maybe [AppInstanceUserSummary]
appInstanceUsers :: Maybe [AppInstanceUserSummary]
$sel:appInstanceUsers:ListAppInstanceUsersResponse' :: ListAppInstanceUsersResponse -> Maybe [AppInstanceUserSummary]
appInstanceUsers} -> Maybe [AppInstanceUserSummary]
appInstanceUsers) (\s :: ListAppInstanceUsersResponse
s@ListAppInstanceUsersResponse' {} Maybe [AppInstanceUserSummary]
a -> ListAppInstanceUsersResponse
s {$sel:appInstanceUsers:ListAppInstanceUsersResponse' :: Maybe [AppInstanceUserSummary]
appInstanceUsers = Maybe [AppInstanceUserSummary]
a} :: ListAppInstanceUsersResponse) ((Maybe [AppInstanceUserSummary]
  -> f (Maybe [AppInstanceUserSummary]))
 -> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse)
-> ((Maybe [AppInstanceUserSummary]
     -> f (Maybe [AppInstanceUserSummary]))
    -> Maybe [AppInstanceUserSummary]
    -> f (Maybe [AppInstanceUserSummary]))
-> (Maybe [AppInstanceUserSummary]
    -> f (Maybe [AppInstanceUserSummary]))
-> ListAppInstanceUsersResponse
-> f ListAppInstanceUsersResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
-> Iso
     (Maybe [AppInstanceUserSummary])
     (Maybe [AppInstanceUserSummary])
     (Maybe [AppInstanceUserSummary])
     (Maybe [AppInstanceUserSummary])
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 AnIso
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
  [AppInstanceUserSummary]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The ARN of the @AppInstance@.
listAppInstanceUsersResponse_appInstanceArn :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)
listAppInstanceUsersResponse_appInstanceArn :: (Maybe Text -> f (Maybe Text))
-> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse
listAppInstanceUsersResponse_appInstanceArn = (ListAppInstanceUsersResponse -> Maybe Text)
-> (ListAppInstanceUsersResponse
    -> Maybe Text -> ListAppInstanceUsersResponse)
-> Lens
     ListAppInstanceUsersResponse
     ListAppInstanceUsersResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsersResponse' {Maybe Text
appInstanceArn :: Maybe Text
$sel:appInstanceArn:ListAppInstanceUsersResponse' :: ListAppInstanceUsersResponse -> Maybe Text
appInstanceArn} -> Maybe Text
appInstanceArn) (\s :: ListAppInstanceUsersResponse
s@ListAppInstanceUsersResponse' {} Maybe Text
a -> ListAppInstanceUsersResponse
s {$sel:appInstanceArn:ListAppInstanceUsersResponse' :: Maybe Text
appInstanceArn = Maybe Text
a} :: ListAppInstanceUsersResponse)

-- | The response's http status code.
listAppInstanceUsersResponse_httpStatus :: Lens.Lens' ListAppInstanceUsersResponse Prelude.Int
listAppInstanceUsersResponse_httpStatus :: (Int -> f Int)
-> ListAppInstanceUsersResponse -> f ListAppInstanceUsersResponse
listAppInstanceUsersResponse_httpStatus = (ListAppInstanceUsersResponse -> Int)
-> (ListAppInstanceUsersResponse
    -> Int -> ListAppInstanceUsersResponse)
-> Lens
     ListAppInstanceUsersResponse ListAppInstanceUsersResponse Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAppInstanceUsersResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListAppInstanceUsersResponse' :: ListAppInstanceUsersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListAppInstanceUsersResponse
s@ListAppInstanceUsersResponse' {} Int
a -> ListAppInstanceUsersResponse
s {$sel:httpStatus:ListAppInstanceUsersResponse' :: Int
httpStatus = Int
a} :: ListAppInstanceUsersResponse)

instance Prelude.NFData ListAppInstanceUsersResponse