{-# 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.IdentityStore.DescribeUser
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves the user metadata and attributes from the @UserId@ in an
-- identity store.
module Amazonka.IdentityStore.DescribeUser
  ( -- * Creating a Request
    DescribeUser (..),
    newDescribeUser,

    -- * Request Lenses
    describeUser_identityStoreId,
    describeUser_userId,

    -- * Destructuring the Response
    DescribeUserResponse (..),
    newDescribeUserResponse,

    -- * Response Lenses
    describeUserResponse_addresses,
    describeUserResponse_displayName,
    describeUserResponse_emails,
    describeUserResponse_externalIds,
    describeUserResponse_locale,
    describeUserResponse_name,
    describeUserResponse_nickName,
    describeUserResponse_phoneNumbers,
    describeUserResponse_preferredLanguage,
    describeUserResponse_profileUrl,
    describeUserResponse_timezone,
    describeUserResponse_title,
    describeUserResponse_userName,
    describeUserResponse_userType,
    describeUserResponse_httpStatus,
    describeUserResponse_userId,
    describeUserResponse_identityStoreId,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IdentityStore.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeUser' smart constructor.
data DescribeUser = DescribeUser'
  { -- | The globally unique identifier for the identity store, such as
    -- @d-1234567890@. In this example, @d-@ is a fixed prefix, and
    -- @1234567890@ is a randomly generated string that contains numbers and
    -- lower case letters. This value is generated at the time that a new
    -- identity store is created.
    DescribeUser -> Text
identityStoreId :: Prelude.Text,
    -- | The identifier for a user in the identity store.
    DescribeUser -> Text
userId :: Prelude.Text
  }
  deriving (DescribeUser -> DescribeUser -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUser -> DescribeUser -> Bool
$c/= :: DescribeUser -> DescribeUser -> Bool
== :: DescribeUser -> DescribeUser -> Bool
$c== :: DescribeUser -> DescribeUser -> Bool
Prelude.Eq, ReadPrec [DescribeUser]
ReadPrec DescribeUser
Int -> ReadS DescribeUser
ReadS [DescribeUser]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeUser]
$creadListPrec :: ReadPrec [DescribeUser]
readPrec :: ReadPrec DescribeUser
$creadPrec :: ReadPrec DescribeUser
readList :: ReadS [DescribeUser]
$creadList :: ReadS [DescribeUser]
readsPrec :: Int -> ReadS DescribeUser
$creadsPrec :: Int -> ReadS DescribeUser
Prelude.Read, Int -> DescribeUser -> ShowS
[DescribeUser] -> ShowS
DescribeUser -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUser] -> ShowS
$cshowList :: [DescribeUser] -> ShowS
show :: DescribeUser -> String
$cshow :: DescribeUser -> String
showsPrec :: Int -> DescribeUser -> ShowS
$cshowsPrec :: Int -> DescribeUser -> ShowS
Prelude.Show, forall x. Rep DescribeUser x -> DescribeUser
forall x. DescribeUser -> Rep DescribeUser x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeUser x -> DescribeUser
$cfrom :: forall x. DescribeUser -> Rep DescribeUser x
Prelude.Generic)

-- |
-- Create a value of 'DescribeUser' 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:
--
-- 'identityStoreId', 'describeUser_identityStoreId' - The globally unique identifier for the identity store, such as
-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and
-- @1234567890@ is a randomly generated string that contains numbers and
-- lower case letters. This value is generated at the time that a new
-- identity store is created.
--
-- 'userId', 'describeUser_userId' - The identifier for a user in the identity store.
newDescribeUser ::
  -- | 'identityStoreId'
  Prelude.Text ->
  -- | 'userId'
  Prelude.Text ->
  DescribeUser
newDescribeUser :: Text -> Text -> DescribeUser
newDescribeUser Text
pIdentityStoreId_ Text
pUserId_ =
  DescribeUser'
    { $sel:identityStoreId:DescribeUser' :: Text
identityStoreId = Text
pIdentityStoreId_,
      $sel:userId:DescribeUser' :: Text
userId = Text
pUserId_
    }

-- | The globally unique identifier for the identity store, such as
-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and
-- @1234567890@ is a randomly generated string that contains numbers and
-- lower case letters. This value is generated at the time that a new
-- identity store is created.
describeUser_identityStoreId :: Lens.Lens' DescribeUser Prelude.Text
describeUser_identityStoreId :: Lens' DescribeUser Text
describeUser_identityStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUser' {Text
identityStoreId :: Text
$sel:identityStoreId:DescribeUser' :: DescribeUser -> Text
identityStoreId} -> Text
identityStoreId) (\s :: DescribeUser
s@DescribeUser' {} Text
a -> DescribeUser
s {$sel:identityStoreId:DescribeUser' :: Text
identityStoreId = Text
a} :: DescribeUser)

-- | The identifier for a user in the identity store.
describeUser_userId :: Lens.Lens' DescribeUser Prelude.Text
describeUser_userId :: Lens' DescribeUser Text
describeUser_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUser' {Text
userId :: Text
$sel:userId:DescribeUser' :: DescribeUser -> Text
userId} -> Text
userId) (\s :: DescribeUser
s@DescribeUser' {} Text
a -> DescribeUser
s {$sel:userId:DescribeUser' :: Text
userId = Text
a} :: DescribeUser)

instance Core.AWSRequest DescribeUser where
  type AWSResponse DescribeUser = DescribeUserResponse
  request :: (Service -> Service) -> DescribeUser -> Request DescribeUser
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 DescribeUser
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeUser)))
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 (NonEmpty Address)
-> Maybe (Sensitive Text)
-> Maybe (NonEmpty Email)
-> Maybe (NonEmpty ExternalId)
-> Maybe (Sensitive Text)
-> Maybe Name
-> Maybe (Sensitive Text)
-> Maybe (NonEmpty PhoneNumber)
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Int
-> Text
-> Text
-> DescribeUserResponse
DescribeUserResponse'
            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
"Addresses")
            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
"DisplayName")
            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
"Emails")
            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
"ExternalIds")
            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
"Locale")
            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
"Name")
            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
"NickName")
            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
"PhoneNumbers")
            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
"PreferredLanguage")
            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
"ProfileUrl")
            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
"Timezone")
            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
"Title")
            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
"UserName")
            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
"UserType")
            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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"UserId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"IdentityStoreId")
      )

instance Prelude.Hashable DescribeUser where
  hashWithSalt :: Int -> DescribeUser -> Int
hashWithSalt Int
_salt DescribeUser' {Text
userId :: Text
identityStoreId :: Text
$sel:userId:DescribeUser' :: DescribeUser -> Text
$sel:identityStoreId:DescribeUser' :: DescribeUser -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
identityStoreId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userId

instance Prelude.NFData DescribeUser where
  rnf :: DescribeUser -> ()
rnf DescribeUser' {Text
userId :: Text
identityStoreId :: Text
$sel:userId:DescribeUser' :: DescribeUser -> Text
$sel:identityStoreId:DescribeUser' :: DescribeUser -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
identityStoreId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userId

instance Data.ToHeaders DescribeUser where
  toHeaders :: DescribeUser -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSIdentityStore.DescribeUser" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeUser where
  toJSON :: DescribeUser -> Value
toJSON DescribeUser' {Text
userId :: Text
identityStoreId :: Text
$sel:userId:DescribeUser' :: DescribeUser -> Text
$sel:identityStoreId:DescribeUser' :: DescribeUser -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"IdentityStoreId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
identityStoreId),
            forall a. a -> Maybe a
Prelude.Just (Key
"UserId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userId)
          ]
      )

instance Data.ToPath DescribeUser where
  toPath :: DescribeUser -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeUser where
  toQuery :: DescribeUser -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeUserResponse' smart constructor.
data DescribeUserResponse = DescribeUserResponse'
  { -- | The user\'s physical address.
    DescribeUserResponse -> Maybe (NonEmpty Address)
addresses :: Prelude.Maybe (Prelude.NonEmpty Address),
    -- | The user\'s name value for display.
    DescribeUserResponse -> Maybe (Sensitive Text)
displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The user\'s email value.
    DescribeUserResponse -> Maybe (NonEmpty Email)
emails :: Prelude.Maybe (Prelude.NonEmpty Email),
    -- | A list of @ExternalId@ objects that contains the identifiers issued to
    -- this resource by an external identity provider.
    DescribeUserResponse -> Maybe (NonEmpty ExternalId)
externalIds :: Prelude.Maybe (Prelude.NonEmpty ExternalId),
    -- | A string containing the user\'s geographical region or location.
    DescribeUserResponse -> Maybe (Sensitive Text)
locale :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The name of the user.
    DescribeUserResponse -> Maybe Name
name :: Prelude.Maybe Name,
    -- | An alternative descriptive name for the user.
    DescribeUserResponse -> Maybe (Sensitive Text)
nickName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | A list of @PhoneNumber@ objects associated with a user.
    DescribeUserResponse -> Maybe (NonEmpty PhoneNumber)
phoneNumbers :: Prelude.Maybe (Prelude.NonEmpty PhoneNumber),
    -- | The preferred language of the user.
    DescribeUserResponse -> Maybe (Sensitive Text)
preferredLanguage :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | A URL link for the user\'s profile.
    DescribeUserResponse -> Maybe (Sensitive Text)
profileUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The time zone for a user.
    DescribeUserResponse -> Maybe (Sensitive Text)
timezone :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | A string containing the user\'s title.
    DescribeUserResponse -> Maybe (Sensitive Text)
title :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | A unique string used to identify the user. The length limit is 128
    -- characters. This value can consist of letters, accented characters,
    -- symbols, numbers, and punctuation. This value is specified at the time
    -- the user is created and stored as an attribute of the user object in the
    -- identity store.
    DescribeUserResponse -> Maybe (Sensitive Text)
userName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | A string indicating the user\'s type.
    DescribeUserResponse -> Maybe (Sensitive Text)
userType :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The response's http status code.
    DescribeUserResponse -> Int
httpStatus :: Prelude.Int,
    -- | The identifier for a user in the identity store.
    DescribeUserResponse -> Text
userId :: Prelude.Text,
    -- | The globally unique identifier for the identity store.
    DescribeUserResponse -> Text
identityStoreId :: Prelude.Text
  }
  deriving (DescribeUserResponse -> DescribeUserResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUserResponse -> DescribeUserResponse -> Bool
$c/= :: DescribeUserResponse -> DescribeUserResponse -> Bool
== :: DescribeUserResponse -> DescribeUserResponse -> Bool
$c== :: DescribeUserResponse -> DescribeUserResponse -> Bool
Prelude.Eq, Int -> DescribeUserResponse -> ShowS
[DescribeUserResponse] -> ShowS
DescribeUserResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUserResponse] -> ShowS
$cshowList :: [DescribeUserResponse] -> ShowS
show :: DescribeUserResponse -> String
$cshow :: DescribeUserResponse -> String
showsPrec :: Int -> DescribeUserResponse -> ShowS
$cshowsPrec :: Int -> DescribeUserResponse -> ShowS
Prelude.Show, forall x. Rep DescribeUserResponse x -> DescribeUserResponse
forall x. DescribeUserResponse -> Rep DescribeUserResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeUserResponse x -> DescribeUserResponse
$cfrom :: forall x. DescribeUserResponse -> Rep DescribeUserResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeUserResponse' 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:
--
-- 'addresses', 'describeUserResponse_addresses' - The user\'s physical address.
--
-- 'displayName', 'describeUserResponse_displayName' - The user\'s name value for display.
--
-- 'emails', 'describeUserResponse_emails' - The user\'s email value.
--
-- 'externalIds', 'describeUserResponse_externalIds' - A list of @ExternalId@ objects that contains the identifiers issued to
-- this resource by an external identity provider.
--
-- 'locale', 'describeUserResponse_locale' - A string containing the user\'s geographical region or location.
--
-- 'name', 'describeUserResponse_name' - The name of the user.
--
-- 'nickName', 'describeUserResponse_nickName' - An alternative descriptive name for the user.
--
-- 'phoneNumbers', 'describeUserResponse_phoneNumbers' - A list of @PhoneNumber@ objects associated with a user.
--
-- 'preferredLanguage', 'describeUserResponse_preferredLanguage' - The preferred language of the user.
--
-- 'profileUrl', 'describeUserResponse_profileUrl' - A URL link for the user\'s profile.
--
-- 'timezone', 'describeUserResponse_timezone' - The time zone for a user.
--
-- 'title', 'describeUserResponse_title' - A string containing the user\'s title.
--
-- 'userName', 'describeUserResponse_userName' - A unique string used to identify the user. The length limit is 128
-- characters. This value can consist of letters, accented characters,
-- symbols, numbers, and punctuation. This value is specified at the time
-- the user is created and stored as an attribute of the user object in the
-- identity store.
--
-- 'userType', 'describeUserResponse_userType' - A string indicating the user\'s type.
--
-- 'httpStatus', 'describeUserResponse_httpStatus' - The response's http status code.
--
-- 'userId', 'describeUserResponse_userId' - The identifier for a user in the identity store.
--
-- 'identityStoreId', 'describeUserResponse_identityStoreId' - The globally unique identifier for the identity store.
newDescribeUserResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'userId'
  Prelude.Text ->
  -- | 'identityStoreId'
  Prelude.Text ->
  DescribeUserResponse
newDescribeUserResponse :: Int -> Text -> Text -> DescribeUserResponse
newDescribeUserResponse
  Int
pHttpStatus_
  Text
pUserId_
  Text
pIdentityStoreId_ =
    DescribeUserResponse'
      { $sel:addresses:DescribeUserResponse' :: Maybe (NonEmpty Address)
addresses = forall a. Maybe a
Prelude.Nothing,
        $sel:displayName:DescribeUserResponse' :: Maybe (Sensitive Text)
displayName = forall a. Maybe a
Prelude.Nothing,
        $sel:emails:DescribeUserResponse' :: Maybe (NonEmpty Email)
emails = forall a. Maybe a
Prelude.Nothing,
        $sel:externalIds:DescribeUserResponse' :: Maybe (NonEmpty ExternalId)
externalIds = forall a. Maybe a
Prelude.Nothing,
        $sel:locale:DescribeUserResponse' :: Maybe (Sensitive Text)
locale = forall a. Maybe a
Prelude.Nothing,
        $sel:name:DescribeUserResponse' :: Maybe Name
name = forall a. Maybe a
Prelude.Nothing,
        $sel:nickName:DescribeUserResponse' :: Maybe (Sensitive Text)
nickName = forall a. Maybe a
Prelude.Nothing,
        $sel:phoneNumbers:DescribeUserResponse' :: Maybe (NonEmpty PhoneNumber)
phoneNumbers = forall a. Maybe a
Prelude.Nothing,
        $sel:preferredLanguage:DescribeUserResponse' :: Maybe (Sensitive Text)
preferredLanguage = forall a. Maybe a
Prelude.Nothing,
        $sel:profileUrl:DescribeUserResponse' :: Maybe (Sensitive Text)
profileUrl = forall a. Maybe a
Prelude.Nothing,
        $sel:timezone:DescribeUserResponse' :: Maybe (Sensitive Text)
timezone = forall a. Maybe a
Prelude.Nothing,
        $sel:title:DescribeUserResponse' :: Maybe (Sensitive Text)
title = forall a. Maybe a
Prelude.Nothing,
        $sel:userName:DescribeUserResponse' :: Maybe (Sensitive Text)
userName = forall a. Maybe a
Prelude.Nothing,
        $sel:userType:DescribeUserResponse' :: Maybe (Sensitive Text)
userType = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeUserResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:userId:DescribeUserResponse' :: Text
userId = Text
pUserId_,
        $sel:identityStoreId:DescribeUserResponse' :: Text
identityStoreId = Text
pIdentityStoreId_
      }

-- | The user\'s physical address.
describeUserResponse_addresses :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty Address))
describeUserResponse_addresses :: Lens' DescribeUserResponse (Maybe (NonEmpty Address))
describeUserResponse_addresses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (NonEmpty Address)
addresses :: Maybe (NonEmpty Address)
$sel:addresses:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty Address)
addresses} -> Maybe (NonEmpty Address)
addresses) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (NonEmpty Address)
a -> DescribeUserResponse
s {$sel:addresses:DescribeUserResponse' :: Maybe (NonEmpty Address)
addresses = Maybe (NonEmpty Address)
a} :: DescribeUserResponse) 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 user\'s name value for display.
describeUserResponse_displayName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_displayName :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_displayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
displayName :: Maybe (Sensitive Text)
$sel:displayName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
displayName} -> Maybe (Sensitive Text)
displayName) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:displayName:DescribeUserResponse' :: Maybe (Sensitive Text)
displayName = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | The user\'s email value.
describeUserResponse_emails :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty Email))
describeUserResponse_emails :: Lens' DescribeUserResponse (Maybe (NonEmpty Email))
describeUserResponse_emails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (NonEmpty Email)
emails :: Maybe (NonEmpty Email)
$sel:emails:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty Email)
emails} -> Maybe (NonEmpty Email)
emails) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (NonEmpty Email)
a -> DescribeUserResponse
s {$sel:emails:DescribeUserResponse' :: Maybe (NonEmpty Email)
emails = Maybe (NonEmpty Email)
a} :: DescribeUserResponse) 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

-- | A list of @ExternalId@ objects that contains the identifiers issued to
-- this resource by an external identity provider.
describeUserResponse_externalIds :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty ExternalId))
describeUserResponse_externalIds :: Lens' DescribeUserResponse (Maybe (NonEmpty ExternalId))
describeUserResponse_externalIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (NonEmpty ExternalId)
externalIds :: Maybe (NonEmpty ExternalId)
$sel:externalIds:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty ExternalId)
externalIds} -> Maybe (NonEmpty ExternalId)
externalIds) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (NonEmpty ExternalId)
a -> DescribeUserResponse
s {$sel:externalIds:DescribeUserResponse' :: Maybe (NonEmpty ExternalId)
externalIds = Maybe (NonEmpty ExternalId)
a} :: DescribeUserResponse) 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

-- | A string containing the user\'s geographical region or location.
describeUserResponse_locale :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_locale :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_locale = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
locale :: Maybe (Sensitive Text)
$sel:locale:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
locale} -> Maybe (Sensitive Text)
locale) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:locale:DescribeUserResponse' :: Maybe (Sensitive Text)
locale = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | The name of the user.
describeUserResponse_name :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Name)
describeUserResponse_name :: Lens' DescribeUserResponse (Maybe Name)
describeUserResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe Name
name :: Maybe Name
$sel:name:DescribeUserResponse' :: DescribeUserResponse -> Maybe Name
name} -> Maybe Name
name) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe Name
a -> DescribeUserResponse
s {$sel:name:DescribeUserResponse' :: Maybe Name
name = Maybe Name
a} :: DescribeUserResponse)

-- | An alternative descriptive name for the user.
describeUserResponse_nickName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_nickName :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_nickName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
nickName :: Maybe (Sensitive Text)
$sel:nickName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
nickName} -> Maybe (Sensitive Text)
nickName) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:nickName:DescribeUserResponse' :: Maybe (Sensitive Text)
nickName = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | A list of @PhoneNumber@ objects associated with a user.
describeUserResponse_phoneNumbers :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty PhoneNumber))
describeUserResponse_phoneNumbers :: Lens' DescribeUserResponse (Maybe (NonEmpty PhoneNumber))
describeUserResponse_phoneNumbers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (NonEmpty PhoneNumber)
phoneNumbers :: Maybe (NonEmpty PhoneNumber)
$sel:phoneNumbers:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty PhoneNumber)
phoneNumbers} -> Maybe (NonEmpty PhoneNumber)
phoneNumbers) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (NonEmpty PhoneNumber)
a -> DescribeUserResponse
s {$sel:phoneNumbers:DescribeUserResponse' :: Maybe (NonEmpty PhoneNumber)
phoneNumbers = Maybe (NonEmpty PhoneNumber)
a} :: DescribeUserResponse) 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 preferred language of the user.
describeUserResponse_preferredLanguage :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_preferredLanguage :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_preferredLanguage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
preferredLanguage :: Maybe (Sensitive Text)
$sel:preferredLanguage:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
preferredLanguage} -> Maybe (Sensitive Text)
preferredLanguage) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:preferredLanguage:DescribeUserResponse' :: Maybe (Sensitive Text)
preferredLanguage = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | A URL link for the user\'s profile.
describeUserResponse_profileUrl :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_profileUrl :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_profileUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
profileUrl :: Maybe (Sensitive Text)
$sel:profileUrl:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
profileUrl} -> Maybe (Sensitive Text)
profileUrl) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:profileUrl:DescribeUserResponse' :: Maybe (Sensitive Text)
profileUrl = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | The time zone for a user.
describeUserResponse_timezone :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_timezone :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_timezone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
timezone :: Maybe (Sensitive Text)
$sel:timezone:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
timezone} -> Maybe (Sensitive Text)
timezone) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:timezone:DescribeUserResponse' :: Maybe (Sensitive Text)
timezone = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | A string containing the user\'s title.
describeUserResponse_title :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_title :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_title = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
title :: Maybe (Sensitive Text)
$sel:title:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
title} -> Maybe (Sensitive Text)
title) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:title:DescribeUserResponse' :: Maybe (Sensitive Text)
title = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | A unique string used to identify the user. The length limit is 128
-- characters. This value can consist of letters, accented characters,
-- symbols, numbers, and punctuation. This value is specified at the time
-- the user is created and stored as an attribute of the user object in the
-- identity store.
describeUserResponse_userName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_userName :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_userName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
userName :: Maybe (Sensitive Text)
$sel:userName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
userName} -> Maybe (Sensitive Text)
userName) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:userName:DescribeUserResponse' :: Maybe (Sensitive Text)
userName = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | A string indicating the user\'s type.
describeUserResponse_userType :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)
describeUserResponse_userType :: Lens' DescribeUserResponse (Maybe Text)
describeUserResponse_userType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Maybe (Sensitive Text)
userType :: Maybe (Sensitive Text)
$sel:userType:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
userType} -> Maybe (Sensitive Text)
userType) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Maybe (Sensitive Text)
a -> DescribeUserResponse
s {$sel:userType:DescribeUserResponse' :: Maybe (Sensitive Text)
userType = Maybe (Sensitive Text)
a} :: DescribeUserResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive

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

-- | The identifier for a user in the identity store.
describeUserResponse_userId :: Lens.Lens' DescribeUserResponse Prelude.Text
describeUserResponse_userId :: Lens' DescribeUserResponse Text
describeUserResponse_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Text
userId :: Text
$sel:userId:DescribeUserResponse' :: DescribeUserResponse -> Text
userId} -> Text
userId) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Text
a -> DescribeUserResponse
s {$sel:userId:DescribeUserResponse' :: Text
userId = Text
a} :: DescribeUserResponse)

-- | The globally unique identifier for the identity store.
describeUserResponse_identityStoreId :: Lens.Lens' DescribeUserResponse Prelude.Text
describeUserResponse_identityStoreId :: Lens' DescribeUserResponse Text
describeUserResponse_identityStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserResponse' {Text
identityStoreId :: Text
$sel:identityStoreId:DescribeUserResponse' :: DescribeUserResponse -> Text
identityStoreId} -> Text
identityStoreId) (\s :: DescribeUserResponse
s@DescribeUserResponse' {} Text
a -> DescribeUserResponse
s {$sel:identityStoreId:DescribeUserResponse' :: Text
identityStoreId = Text
a} :: DescribeUserResponse)

instance Prelude.NFData DescribeUserResponse where
  rnf :: DescribeUserResponse -> ()
rnf DescribeUserResponse' {Int
Maybe (NonEmpty Address)
Maybe (NonEmpty Email)
Maybe (NonEmpty ExternalId)
Maybe (NonEmpty PhoneNumber)
Maybe (Sensitive Text)
Maybe Name
Text
identityStoreId :: Text
userId :: Text
httpStatus :: Int
userType :: Maybe (Sensitive Text)
userName :: Maybe (Sensitive Text)
title :: Maybe (Sensitive Text)
timezone :: Maybe (Sensitive Text)
profileUrl :: Maybe (Sensitive Text)
preferredLanguage :: Maybe (Sensitive Text)
phoneNumbers :: Maybe (NonEmpty PhoneNumber)
nickName :: Maybe (Sensitive Text)
name :: Maybe Name
locale :: Maybe (Sensitive Text)
externalIds :: Maybe (NonEmpty ExternalId)
emails :: Maybe (NonEmpty Email)
displayName :: Maybe (Sensitive Text)
addresses :: Maybe (NonEmpty Address)
$sel:identityStoreId:DescribeUserResponse' :: DescribeUserResponse -> Text
$sel:userId:DescribeUserResponse' :: DescribeUserResponse -> Text
$sel:httpStatus:DescribeUserResponse' :: DescribeUserResponse -> Int
$sel:userType:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:userName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:title:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:timezone:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:profileUrl:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:preferredLanguage:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:phoneNumbers:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty PhoneNumber)
$sel:nickName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:name:DescribeUserResponse' :: DescribeUserResponse -> Maybe Name
$sel:locale:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:externalIds:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty ExternalId)
$sel:emails:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty Email)
$sel:displayName:DescribeUserResponse' :: DescribeUserResponse -> Maybe (Sensitive Text)
$sel:addresses:DescribeUserResponse' :: DescribeUserResponse -> Maybe (NonEmpty Address)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Address)
addresses
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
displayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Email)
emails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty ExternalId)
externalIds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
locale
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Name
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
nickName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty PhoneNumber)
phoneNumbers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
preferredLanguage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
profileUrl
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
timezone
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
title
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
userName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
userType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      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 Text
identityStoreId