{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.FinSpaceData.Types.User 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.ApiAccess
import Amazonka.FinSpaceData.Types.UserStatus
import Amazonka.FinSpaceData.Types.UserType
import qualified Amazonka.Prelude as Prelude
data User = User'
{
User -> Maybe ApiAccess
apiAccess :: Prelude.Maybe ApiAccess,
User -> Maybe Text
apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,
User -> Maybe Integer
createTime :: Prelude.Maybe Prelude.Integer,
User -> Maybe (Sensitive Text)
emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
User -> Maybe (Sensitive Text)
firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
User -> Maybe Integer
lastDisabledTime :: Prelude.Maybe Prelude.Integer,
User -> Maybe Integer
lastEnabledTime :: Prelude.Maybe Prelude.Integer,
User -> Maybe Integer
lastLoginTime :: Prelude.Maybe Prelude.Integer,
User -> Maybe Integer
lastModifiedTime :: Prelude.Maybe Prelude.Integer,
User -> Maybe (Sensitive Text)
lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
User -> Maybe UserStatus
status :: Prelude.Maybe UserStatus,
User -> Maybe UserType
type' :: Prelude.Maybe UserType,
User -> Maybe Text
userId :: Prelude.Maybe Prelude.Text
}
deriving (User -> User -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: User -> User -> Bool
$c/= :: User -> User -> Bool
== :: User -> User -> Bool
$c== :: User -> User -> Bool
Prelude.Eq, Int -> User -> ShowS
[User] -> ShowS
User -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [User] -> ShowS
$cshowList :: [User] -> ShowS
show :: User -> String
$cshow :: User -> String
showsPrec :: Int -> User -> ShowS
$cshowsPrec :: Int -> User -> ShowS
Prelude.Show, forall x. Rep User x -> User
forall x. User -> Rep User x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep User x -> User
$cfrom :: forall x. User -> Rep User x
Prelude.Generic)
newUser ::
User
newUser :: User
newUser =
User'
{ $sel:apiAccess:User' :: Maybe ApiAccess
apiAccess = forall a. Maybe a
Prelude.Nothing,
$sel:apiAccessPrincipalArn:User' :: Maybe Text
apiAccessPrincipalArn = forall a. Maybe a
Prelude.Nothing,
$sel:createTime:User' :: Maybe Integer
createTime = forall a. Maybe a
Prelude.Nothing,
$sel:emailAddress:User' :: Maybe (Sensitive Text)
emailAddress = forall a. Maybe a
Prelude.Nothing,
$sel:firstName:User' :: Maybe (Sensitive Text)
firstName = forall a. Maybe a
Prelude.Nothing,
$sel:lastDisabledTime:User' :: Maybe Integer
lastDisabledTime = forall a. Maybe a
Prelude.Nothing,
$sel:lastEnabledTime:User' :: Maybe Integer
lastEnabledTime = forall a. Maybe a
Prelude.Nothing,
$sel:lastLoginTime:User' :: Maybe Integer
lastLoginTime = forall a. Maybe a
Prelude.Nothing,
$sel:lastModifiedTime:User' :: Maybe Integer
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
$sel:lastName:User' :: Maybe (Sensitive Text)
lastName = forall a. Maybe a
Prelude.Nothing,
$sel:status:User' :: Maybe UserStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:type':User' :: Maybe UserType
type' = forall a. Maybe a
Prelude.Nothing,
$sel:userId:User' :: Maybe Text
userId = forall a. Maybe a
Prelude.Nothing
}
user_apiAccess :: Lens.Lens' User (Prelude.Maybe ApiAccess)
user_apiAccess :: Lens' User (Maybe ApiAccess)
user_apiAccess = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe ApiAccess
apiAccess :: Maybe ApiAccess
$sel:apiAccess:User' :: User -> Maybe ApiAccess
apiAccess} -> Maybe ApiAccess
apiAccess) (\s :: User
s@User' {} Maybe ApiAccess
a -> User
s {$sel:apiAccess:User' :: Maybe ApiAccess
apiAccess = Maybe ApiAccess
a} :: User)
user_apiAccessPrincipalArn :: Lens.Lens' User (Prelude.Maybe Prelude.Text)
user_apiAccessPrincipalArn :: Lens' User (Maybe Text)
user_apiAccessPrincipalArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Text
apiAccessPrincipalArn :: Maybe Text
$sel:apiAccessPrincipalArn:User' :: User -> Maybe Text
apiAccessPrincipalArn} -> Maybe Text
apiAccessPrincipalArn) (\s :: User
s@User' {} Maybe Text
a -> User
s {$sel:apiAccessPrincipalArn:User' :: Maybe Text
apiAccessPrincipalArn = Maybe Text
a} :: User)
user_createTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)
user_createTime :: Lens' User (Maybe Integer)
user_createTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Integer
createTime :: Maybe Integer
$sel:createTime:User' :: User -> Maybe Integer
createTime} -> Maybe Integer
createTime) (\s :: User
s@User' {} Maybe Integer
a -> User
s {$sel:createTime:User' :: Maybe Integer
createTime = Maybe Integer
a} :: User)
user_emailAddress :: Lens.Lens' User (Prelude.Maybe Prelude.Text)
user_emailAddress :: Lens' User (Maybe Text)
user_emailAddress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe (Sensitive Text)
emailAddress :: Maybe (Sensitive Text)
$sel:emailAddress:User' :: User -> Maybe (Sensitive Text)
emailAddress} -> Maybe (Sensitive Text)
emailAddress) (\s :: User
s@User' {} Maybe (Sensitive Text)
a -> User
s {$sel:emailAddress:User' :: Maybe (Sensitive Text)
emailAddress = Maybe (Sensitive Text)
a} :: User) 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
user_firstName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)
user_firstName :: Lens' User (Maybe Text)
user_firstName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe (Sensitive Text)
firstName :: Maybe (Sensitive Text)
$sel:firstName:User' :: User -> Maybe (Sensitive Text)
firstName} -> Maybe (Sensitive Text)
firstName) (\s :: User
s@User' {} Maybe (Sensitive Text)
a -> User
s {$sel:firstName:User' :: Maybe (Sensitive Text)
firstName = Maybe (Sensitive Text)
a} :: User) 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
user_lastDisabledTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)
user_lastDisabledTime :: Lens' User (Maybe Integer)
user_lastDisabledTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Integer
lastDisabledTime :: Maybe Integer
$sel:lastDisabledTime:User' :: User -> Maybe Integer
lastDisabledTime} -> Maybe Integer
lastDisabledTime) (\s :: User
s@User' {} Maybe Integer
a -> User
s {$sel:lastDisabledTime:User' :: Maybe Integer
lastDisabledTime = Maybe Integer
a} :: User)
user_lastEnabledTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)
user_lastEnabledTime :: Lens' User (Maybe Integer)
user_lastEnabledTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Integer
lastEnabledTime :: Maybe Integer
$sel:lastEnabledTime:User' :: User -> Maybe Integer
lastEnabledTime} -> Maybe Integer
lastEnabledTime) (\s :: User
s@User' {} Maybe Integer
a -> User
s {$sel:lastEnabledTime:User' :: Maybe Integer
lastEnabledTime = Maybe Integer
a} :: User)
user_lastLoginTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)
user_lastLoginTime :: Lens' User (Maybe Integer)
user_lastLoginTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Integer
lastLoginTime :: Maybe Integer
$sel:lastLoginTime:User' :: User -> Maybe Integer
lastLoginTime} -> Maybe Integer
lastLoginTime) (\s :: User
s@User' {} Maybe Integer
a -> User
s {$sel:lastLoginTime:User' :: Maybe Integer
lastLoginTime = Maybe Integer
a} :: User)
user_lastModifiedTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)
user_lastModifiedTime :: Lens' User (Maybe Integer)
user_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Integer
lastModifiedTime :: Maybe Integer
$sel:lastModifiedTime:User' :: User -> Maybe Integer
lastModifiedTime} -> Maybe Integer
lastModifiedTime) (\s :: User
s@User' {} Maybe Integer
a -> User
s {$sel:lastModifiedTime:User' :: Maybe Integer
lastModifiedTime = Maybe Integer
a} :: User)
user_lastName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)
user_lastName :: Lens' User (Maybe Text)
user_lastName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe (Sensitive Text)
lastName :: Maybe (Sensitive Text)
$sel:lastName:User' :: User -> Maybe (Sensitive Text)
lastName} -> Maybe (Sensitive Text)
lastName) (\s :: User
s@User' {} Maybe (Sensitive Text)
a -> User
s {$sel:lastName:User' :: Maybe (Sensitive Text)
lastName = Maybe (Sensitive Text)
a} :: User) 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
user_status :: Lens.Lens' User (Prelude.Maybe UserStatus)
user_status :: Lens' User (Maybe UserStatus)
user_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe UserStatus
status :: Maybe UserStatus
$sel:status:User' :: User -> Maybe UserStatus
status} -> Maybe UserStatus
status) (\s :: User
s@User' {} Maybe UserStatus
a -> User
s {$sel:status:User' :: Maybe UserStatus
status = Maybe UserStatus
a} :: User)
user_type :: Lens.Lens' User (Prelude.Maybe UserType)
user_type :: Lens' User (Maybe UserType)
user_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe UserType
type' :: Maybe UserType
$sel:type':User' :: User -> Maybe UserType
type'} -> Maybe UserType
type') (\s :: User
s@User' {} Maybe UserType
a -> User
s {$sel:type':User' :: Maybe UserType
type' = Maybe UserType
a} :: User)
user_userId :: Lens.Lens' User (Prelude.Maybe Prelude.Text)
user_userId :: Lens' User (Maybe Text)
user_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\User' {Maybe Text
userId :: Maybe Text
$sel:userId:User' :: User -> Maybe Text
userId} -> Maybe Text
userId) (\s :: User
s@User' {} Maybe Text
a -> User
s {$sel:userId:User' :: Maybe Text
userId = Maybe Text
a} :: User)
instance Data.FromJSON User where
parseJSON :: Value -> Parser User
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"User"
( \Object
x ->
Maybe ApiAccess
-> Maybe Text
-> Maybe Integer
-> Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe (Sensitive Text)
-> Maybe UserStatus
-> Maybe UserType
-> Maybe Text
-> User
User'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"apiAccess")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"apiAccessPrincipalArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"createTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"emailAddress")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"firstName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastDisabledTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastEnabledTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastLoginTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastModifiedTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"type")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"userId")
)
instance Prelude.Hashable User where
hashWithSalt :: Int -> User -> Int
hashWithSalt Int
_salt User' {Maybe Integer
Maybe Text
Maybe (Sensitive Text)
Maybe ApiAccess
Maybe UserStatus
Maybe UserType
userId :: Maybe Text
type' :: Maybe UserType
status :: Maybe UserStatus
lastName :: Maybe (Sensitive Text)
lastModifiedTime :: Maybe Integer
lastLoginTime :: Maybe Integer
lastEnabledTime :: Maybe Integer
lastDisabledTime :: Maybe Integer
firstName :: Maybe (Sensitive Text)
emailAddress :: Maybe (Sensitive Text)
createTime :: Maybe Integer
apiAccessPrincipalArn :: Maybe Text
apiAccess :: Maybe ApiAccess
$sel:userId:User' :: User -> Maybe Text
$sel:type':User' :: User -> Maybe UserType
$sel:status:User' :: User -> Maybe UserStatus
$sel:lastName:User' :: User -> Maybe (Sensitive Text)
$sel:lastModifiedTime:User' :: User -> Maybe Integer
$sel:lastLoginTime:User' :: User -> Maybe Integer
$sel:lastEnabledTime:User' :: User -> Maybe Integer
$sel:lastDisabledTime:User' :: User -> Maybe Integer
$sel:firstName:User' :: User -> Maybe (Sensitive Text)
$sel:emailAddress:User' :: User -> Maybe (Sensitive Text)
$sel:createTime:User' :: User -> Maybe Integer
$sel:apiAccessPrincipalArn:User' :: User -> Maybe Text
$sel:apiAccess:User' :: User -> Maybe ApiAccess
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ApiAccess
apiAccess
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiAccessPrincipalArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
createTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
emailAddress
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
firstName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
lastDisabledTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
lastEnabledTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
lastLoginTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
lastModifiedTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
lastName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserType
type'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userId
instance Prelude.NFData User where
rnf :: User -> ()
rnf User' {Maybe Integer
Maybe Text
Maybe (Sensitive Text)
Maybe ApiAccess
Maybe UserStatus
Maybe UserType
userId :: Maybe Text
type' :: Maybe UserType
status :: Maybe UserStatus
lastName :: Maybe (Sensitive Text)
lastModifiedTime :: Maybe Integer
lastLoginTime :: Maybe Integer
lastEnabledTime :: Maybe Integer
lastDisabledTime :: Maybe Integer
firstName :: Maybe (Sensitive Text)
emailAddress :: Maybe (Sensitive Text)
createTime :: Maybe Integer
apiAccessPrincipalArn :: Maybe Text
apiAccess :: Maybe ApiAccess
$sel:userId:User' :: User -> Maybe Text
$sel:type':User' :: User -> Maybe UserType
$sel:status:User' :: User -> Maybe UserStatus
$sel:lastName:User' :: User -> Maybe (Sensitive Text)
$sel:lastModifiedTime:User' :: User -> Maybe Integer
$sel:lastLoginTime:User' :: User -> Maybe Integer
$sel:lastEnabledTime:User' :: User -> Maybe Integer
$sel:lastDisabledTime:User' :: User -> Maybe Integer
$sel:firstName:User' :: User -> Maybe (Sensitive Text)
$sel:emailAddress:User' :: User -> Maybe (Sensitive Text)
$sel:createTime:User' :: User -> Maybe Integer
$sel:apiAccessPrincipalArn:User' :: User -> Maybe Text
$sel:apiAccess:User' :: User -> Maybe ApiAccess
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ApiAccess
apiAccess
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiAccessPrincipalArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
createTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
emailAddress
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
firstName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
lastDisabledTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
lastEnabledTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
lastLoginTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
lastModifiedTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
lastName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserType
type'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userId