{-# 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.Chime.Types.UpdateUserRequestItem where
import Amazonka.Chime.Types.AlexaForBusinessMetadata
import Amazonka.Chime.Types.License
import Amazonka.Chime.Types.UserType
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
data UpdateUserRequestItem = UpdateUserRequestItem'
{
UpdateUserRequestItem -> Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata :: Prelude.Maybe AlexaForBusinessMetadata,
UpdateUserRequestItem -> Maybe License
licenseType :: Prelude.Maybe License,
UpdateUserRequestItem -> Maybe UserType
userType :: Prelude.Maybe UserType,
UpdateUserRequestItem -> Text
userId :: Prelude.Text
}
deriving (UpdateUserRequestItem -> UpdateUserRequestItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateUserRequestItem -> UpdateUserRequestItem -> Bool
$c/= :: UpdateUserRequestItem -> UpdateUserRequestItem -> Bool
== :: UpdateUserRequestItem -> UpdateUserRequestItem -> Bool
$c== :: UpdateUserRequestItem -> UpdateUserRequestItem -> Bool
Prelude.Eq, Int -> UpdateUserRequestItem -> ShowS
[UpdateUserRequestItem] -> ShowS
UpdateUserRequestItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateUserRequestItem] -> ShowS
$cshowList :: [UpdateUserRequestItem] -> ShowS
show :: UpdateUserRequestItem -> String
$cshow :: UpdateUserRequestItem -> String
showsPrec :: Int -> UpdateUserRequestItem -> ShowS
$cshowsPrec :: Int -> UpdateUserRequestItem -> ShowS
Prelude.Show, forall x. Rep UpdateUserRequestItem x -> UpdateUserRequestItem
forall x. UpdateUserRequestItem -> Rep UpdateUserRequestItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateUserRequestItem x -> UpdateUserRequestItem
$cfrom :: forall x. UpdateUserRequestItem -> Rep UpdateUserRequestItem x
Prelude.Generic)
newUpdateUserRequestItem ::
Prelude.Text ->
UpdateUserRequestItem
newUpdateUserRequestItem :: Text -> UpdateUserRequestItem
newUpdateUserRequestItem Text
pUserId_ =
UpdateUserRequestItem'
{ $sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata =
forall a. Maybe a
Prelude.Nothing,
$sel:licenseType:UpdateUserRequestItem' :: Maybe License
licenseType = forall a. Maybe a
Prelude.Nothing,
$sel:userType:UpdateUserRequestItem' :: Maybe UserType
userType = forall a. Maybe a
Prelude.Nothing,
$sel:userId:UpdateUserRequestItem' :: Text
userId = Text
pUserId_
}
updateUserRequestItem_alexaForBusinessMetadata :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe AlexaForBusinessMetadata)
updateUserRequestItem_alexaForBusinessMetadata :: Lens' UpdateUserRequestItem (Maybe AlexaForBusinessMetadata)
updateUserRequestItem_alexaForBusinessMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateUserRequestItem' {Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata :: Maybe AlexaForBusinessMetadata
$sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata} -> Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata) (\s :: UpdateUserRequestItem
s@UpdateUserRequestItem' {} Maybe AlexaForBusinessMetadata
a -> UpdateUserRequestItem
s {$sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata = Maybe AlexaForBusinessMetadata
a} :: UpdateUserRequestItem)
updateUserRequestItem_licenseType :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe License)
updateUserRequestItem_licenseType :: Lens' UpdateUserRequestItem (Maybe License)
updateUserRequestItem_licenseType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateUserRequestItem' {Maybe License
licenseType :: Maybe License
$sel:licenseType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe License
licenseType} -> Maybe License
licenseType) (\s :: UpdateUserRequestItem
s@UpdateUserRequestItem' {} Maybe License
a -> UpdateUserRequestItem
s {$sel:licenseType:UpdateUserRequestItem' :: Maybe License
licenseType = Maybe License
a} :: UpdateUserRequestItem)
updateUserRequestItem_userType :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe UserType)
updateUserRequestItem_userType :: Lens' UpdateUserRequestItem (Maybe UserType)
updateUserRequestItem_userType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateUserRequestItem' {Maybe UserType
userType :: Maybe UserType
$sel:userType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe UserType
userType} -> Maybe UserType
userType) (\s :: UpdateUserRequestItem
s@UpdateUserRequestItem' {} Maybe UserType
a -> UpdateUserRequestItem
s {$sel:userType:UpdateUserRequestItem' :: Maybe UserType
userType = Maybe UserType
a} :: UpdateUserRequestItem)
updateUserRequestItem_userId :: Lens.Lens' UpdateUserRequestItem Prelude.Text
updateUserRequestItem_userId :: Lens' UpdateUserRequestItem Text
updateUserRequestItem_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateUserRequestItem' {Text
userId :: Text
$sel:userId:UpdateUserRequestItem' :: UpdateUserRequestItem -> Text
userId} -> Text
userId) (\s :: UpdateUserRequestItem
s@UpdateUserRequestItem' {} Text
a -> UpdateUserRequestItem
s {$sel:userId:UpdateUserRequestItem' :: Text
userId = Text
a} :: UpdateUserRequestItem)
instance Prelude.Hashable UpdateUserRequestItem where
hashWithSalt :: Int -> UpdateUserRequestItem -> Int
hashWithSalt Int
_salt UpdateUserRequestItem' {Maybe AlexaForBusinessMetadata
Maybe License
Maybe UserType
Text
userId :: Text
userType :: Maybe UserType
licenseType :: Maybe License
alexaForBusinessMetadata :: Maybe AlexaForBusinessMetadata
$sel:userId:UpdateUserRequestItem' :: UpdateUserRequestItem -> Text
$sel:userType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe UserType
$sel:licenseType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe License
$sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe AlexaForBusinessMetadata
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe License
licenseType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserType
userType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userId
instance Prelude.NFData UpdateUserRequestItem where
rnf :: UpdateUserRequestItem -> ()
rnf UpdateUserRequestItem' {Maybe AlexaForBusinessMetadata
Maybe License
Maybe UserType
Text
userId :: Text
userType :: Maybe UserType
licenseType :: Maybe License
alexaForBusinessMetadata :: Maybe AlexaForBusinessMetadata
$sel:userId:UpdateUserRequestItem' :: UpdateUserRequestItem -> Text
$sel:userType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe UserType
$sel:licenseType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe License
$sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe AlexaForBusinessMetadata
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe License
licenseType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserType
userType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userId
instance Data.ToJSON UpdateUserRequestItem where
toJSON :: UpdateUserRequestItem -> Value
toJSON UpdateUserRequestItem' {Maybe AlexaForBusinessMetadata
Maybe License
Maybe UserType
Text
userId :: Text
userType :: Maybe UserType
licenseType :: Maybe License
alexaForBusinessMetadata :: Maybe AlexaForBusinessMetadata
$sel:userId:UpdateUserRequestItem' :: UpdateUserRequestItem -> Text
$sel:userType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe UserType
$sel:licenseType:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe License
$sel:alexaForBusinessMetadata:UpdateUserRequestItem' :: UpdateUserRequestItem -> Maybe AlexaForBusinessMetadata
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AlexaForBusinessMetadata" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AlexaForBusinessMetadata
alexaForBusinessMetadata,
(Key
"LicenseType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe License
licenseType,
(Key
"UserType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UserType
userType,
forall a. a -> Maybe a
Prelude.Just (Key
"UserId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userId)
]
)