{-# 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 #-}
module Amazonka.CognitoIdentityProvider.AdminUpdateUserAttributes
(
AdminUpdateUserAttributes (..),
newAdminUpdateUserAttributes,
adminUpdateUserAttributes_clientMetadata,
adminUpdateUserAttributes_userPoolId,
adminUpdateUserAttributes_username,
adminUpdateUserAttributes_userAttributes,
AdminUpdateUserAttributesResponse (..),
newAdminUpdateUserAttributesResponse,
adminUpdateUserAttributesResponse_httpStatus,
)
where
import Amazonka.CognitoIdentityProvider.Types
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
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data AdminUpdateUserAttributes = AdminUpdateUserAttributes'
{
AdminUpdateUserAttributes -> Maybe (HashMap Text Text)
clientMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
AdminUpdateUserAttributes -> Text
userPoolId :: Prelude.Text,
AdminUpdateUserAttributes -> Sensitive Text
username :: Data.Sensitive Prelude.Text,
AdminUpdateUserAttributes -> [AttributeType]
userAttributes :: [AttributeType]
}
deriving (AdminUpdateUserAttributes -> AdminUpdateUserAttributes -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminUpdateUserAttributes -> AdminUpdateUserAttributes -> Bool
$c/= :: AdminUpdateUserAttributes -> AdminUpdateUserAttributes -> Bool
== :: AdminUpdateUserAttributes -> AdminUpdateUserAttributes -> Bool
$c== :: AdminUpdateUserAttributes -> AdminUpdateUserAttributes -> Bool
Prelude.Eq, Int -> AdminUpdateUserAttributes -> ShowS
[AdminUpdateUserAttributes] -> ShowS
AdminUpdateUserAttributes -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminUpdateUserAttributes] -> ShowS
$cshowList :: [AdminUpdateUserAttributes] -> ShowS
show :: AdminUpdateUserAttributes -> String
$cshow :: AdminUpdateUserAttributes -> String
showsPrec :: Int -> AdminUpdateUserAttributes -> ShowS
$cshowsPrec :: Int -> AdminUpdateUserAttributes -> ShowS
Prelude.Show, forall x.
Rep AdminUpdateUserAttributes x -> AdminUpdateUserAttributes
forall x.
AdminUpdateUserAttributes -> Rep AdminUpdateUserAttributes x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AdminUpdateUserAttributes x -> AdminUpdateUserAttributes
$cfrom :: forall x.
AdminUpdateUserAttributes -> Rep AdminUpdateUserAttributes x
Prelude.Generic)
newAdminUpdateUserAttributes ::
Prelude.Text ->
Prelude.Text ->
AdminUpdateUserAttributes
newAdminUpdateUserAttributes :: Text -> Text -> AdminUpdateUserAttributes
newAdminUpdateUserAttributes Text
pUserPoolId_ Text
pUsername_ =
AdminUpdateUserAttributes'
{ $sel:clientMetadata:AdminUpdateUserAttributes' :: Maybe (HashMap Text Text)
clientMetadata =
forall a. Maybe a
Prelude.Nothing,
$sel:userPoolId:AdminUpdateUserAttributes' :: Text
userPoolId = Text
pUserPoolId_,
$sel:username:AdminUpdateUserAttributes' :: Sensitive Text
username = forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pUsername_,
$sel:userAttributes:AdminUpdateUserAttributes' :: [AttributeType]
userAttributes = forall a. Monoid a => a
Prelude.mempty
}
adminUpdateUserAttributes_clientMetadata :: Lens.Lens' AdminUpdateUserAttributes (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
adminUpdateUserAttributes_clientMetadata :: Lens' AdminUpdateUserAttributes (Maybe (HashMap Text Text))
adminUpdateUserAttributes_clientMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminUpdateUserAttributes' {Maybe (HashMap Text Text)
clientMetadata :: Maybe (HashMap Text Text)
$sel:clientMetadata:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Maybe (HashMap Text Text)
clientMetadata} -> Maybe (HashMap Text Text)
clientMetadata) (\s :: AdminUpdateUserAttributes
s@AdminUpdateUserAttributes' {} Maybe (HashMap Text Text)
a -> AdminUpdateUserAttributes
s {$sel:clientMetadata:AdminUpdateUserAttributes' :: Maybe (HashMap Text Text)
clientMetadata = Maybe (HashMap Text Text)
a} :: AdminUpdateUserAttributes) 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
adminUpdateUserAttributes_userPoolId :: Lens.Lens' AdminUpdateUserAttributes Prelude.Text
adminUpdateUserAttributes_userPoolId :: Lens' AdminUpdateUserAttributes Text
adminUpdateUserAttributes_userPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminUpdateUserAttributes' {Text
userPoolId :: Text
$sel:userPoolId:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Text
userPoolId} -> Text
userPoolId) (\s :: AdminUpdateUserAttributes
s@AdminUpdateUserAttributes' {} Text
a -> AdminUpdateUserAttributes
s {$sel:userPoolId:AdminUpdateUserAttributes' :: Text
userPoolId = Text
a} :: AdminUpdateUserAttributes)
adminUpdateUserAttributes_username :: Lens.Lens' AdminUpdateUserAttributes Prelude.Text
adminUpdateUserAttributes_username :: Lens' AdminUpdateUserAttributes Text
adminUpdateUserAttributes_username = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminUpdateUserAttributes' {Sensitive Text
username :: Sensitive Text
$sel:username:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Sensitive Text
username} -> Sensitive Text
username) (\s :: AdminUpdateUserAttributes
s@AdminUpdateUserAttributes' {} Sensitive Text
a -> AdminUpdateUserAttributes
s {$sel:username:AdminUpdateUserAttributes' :: Sensitive Text
username = Sensitive Text
a} :: AdminUpdateUserAttributes) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive
adminUpdateUserAttributes_userAttributes :: Lens.Lens' AdminUpdateUserAttributes [AttributeType]
adminUpdateUserAttributes_userAttributes :: Lens' AdminUpdateUserAttributes [AttributeType]
adminUpdateUserAttributes_userAttributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminUpdateUserAttributes' {[AttributeType]
userAttributes :: [AttributeType]
$sel:userAttributes:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> [AttributeType]
userAttributes} -> [AttributeType]
userAttributes) (\s :: AdminUpdateUserAttributes
s@AdminUpdateUserAttributes' {} [AttributeType]
a -> AdminUpdateUserAttributes
s {$sel:userAttributes:AdminUpdateUserAttributes' :: [AttributeType]
userAttributes = [AttributeType]
a} :: AdminUpdateUserAttributes) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest AdminUpdateUserAttributes where
type
AWSResponse AdminUpdateUserAttributes =
AdminUpdateUserAttributesResponse
request :: (Service -> Service)
-> AdminUpdateUserAttributes -> Request AdminUpdateUserAttributes
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 AdminUpdateUserAttributes
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AdminUpdateUserAttributes)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> AdminUpdateUserAttributesResponse
AdminUpdateUserAttributesResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable AdminUpdateUserAttributes where
hashWithSalt :: Int -> AdminUpdateUserAttributes -> Int
hashWithSalt Int
_salt AdminUpdateUserAttributes' {[AttributeType]
Maybe (HashMap Text Text)
Text
Sensitive Text
userAttributes :: [AttributeType]
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:userAttributes:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> [AttributeType]
$sel:username:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Sensitive Text
$sel:userPoolId:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Text
$sel:clientMetadata:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Maybe (HashMap Text Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
clientMetadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userPoolId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
username
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [AttributeType]
userAttributes
instance Prelude.NFData AdminUpdateUserAttributes where
rnf :: AdminUpdateUserAttributes -> ()
rnf AdminUpdateUserAttributes' {[AttributeType]
Maybe (HashMap Text Text)
Text
Sensitive Text
userAttributes :: [AttributeType]
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:userAttributes:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> [AttributeType]
$sel:username:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Sensitive Text
$sel:userPoolId:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Text
$sel:clientMetadata:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Maybe (HashMap Text Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
clientMetadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userPoolId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
username
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [AttributeType]
userAttributes
instance Data.ToHeaders AdminUpdateUserAttributes where
toHeaders :: AdminUpdateUserAttributes -> 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
"AWSCognitoIdentityProviderService.AdminUpdateUserAttributes" ::
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 AdminUpdateUserAttributes where
toJSON :: AdminUpdateUserAttributes -> Value
toJSON AdminUpdateUserAttributes' {[AttributeType]
Maybe (HashMap Text Text)
Text
Sensitive Text
userAttributes :: [AttributeType]
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:userAttributes:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> [AttributeType]
$sel:username:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Sensitive Text
$sel:userPoolId:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Text
$sel:clientMetadata:AdminUpdateUserAttributes' :: AdminUpdateUserAttributes -> Maybe (HashMap Text Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClientMetadata" 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 (HashMap Text Text)
clientMetadata,
forall a. a -> Maybe a
Prelude.Just (Key
"UserPoolId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userPoolId),
forall a. a -> Maybe a
Prelude.Just (Key
"Username" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
username),
forall a. a -> Maybe a
Prelude.Just
(Key
"UserAttributes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [AttributeType]
userAttributes)
]
)
instance Data.ToPath AdminUpdateUserAttributes where
toPath :: AdminUpdateUserAttributes -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AdminUpdateUserAttributes where
toQuery :: AdminUpdateUserAttributes -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AdminUpdateUserAttributesResponse = AdminUpdateUserAttributesResponse'
{
AdminUpdateUserAttributesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AdminUpdateUserAttributesResponse
-> AdminUpdateUserAttributesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminUpdateUserAttributesResponse
-> AdminUpdateUserAttributesResponse -> Bool
$c/= :: AdminUpdateUserAttributesResponse
-> AdminUpdateUserAttributesResponse -> Bool
== :: AdminUpdateUserAttributesResponse
-> AdminUpdateUserAttributesResponse -> Bool
$c== :: AdminUpdateUserAttributesResponse
-> AdminUpdateUserAttributesResponse -> Bool
Prelude.Eq, ReadPrec [AdminUpdateUserAttributesResponse]
ReadPrec AdminUpdateUserAttributesResponse
Int -> ReadS AdminUpdateUserAttributesResponse
ReadS [AdminUpdateUserAttributesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AdminUpdateUserAttributesResponse]
$creadListPrec :: ReadPrec [AdminUpdateUserAttributesResponse]
readPrec :: ReadPrec AdminUpdateUserAttributesResponse
$creadPrec :: ReadPrec AdminUpdateUserAttributesResponse
readList :: ReadS [AdminUpdateUserAttributesResponse]
$creadList :: ReadS [AdminUpdateUserAttributesResponse]
readsPrec :: Int -> ReadS AdminUpdateUserAttributesResponse
$creadsPrec :: Int -> ReadS AdminUpdateUserAttributesResponse
Prelude.Read, Int -> AdminUpdateUserAttributesResponse -> ShowS
[AdminUpdateUserAttributesResponse] -> ShowS
AdminUpdateUserAttributesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminUpdateUserAttributesResponse] -> ShowS
$cshowList :: [AdminUpdateUserAttributesResponse] -> ShowS
show :: AdminUpdateUserAttributesResponse -> String
$cshow :: AdminUpdateUserAttributesResponse -> String
showsPrec :: Int -> AdminUpdateUserAttributesResponse -> ShowS
$cshowsPrec :: Int -> AdminUpdateUserAttributesResponse -> ShowS
Prelude.Show, forall x.
Rep AdminUpdateUserAttributesResponse x
-> AdminUpdateUserAttributesResponse
forall x.
AdminUpdateUserAttributesResponse
-> Rep AdminUpdateUserAttributesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AdminUpdateUserAttributesResponse x
-> AdminUpdateUserAttributesResponse
$cfrom :: forall x.
AdminUpdateUserAttributesResponse
-> Rep AdminUpdateUserAttributesResponse x
Prelude.Generic)
newAdminUpdateUserAttributesResponse ::
Prelude.Int ->
AdminUpdateUserAttributesResponse
newAdminUpdateUserAttributesResponse :: Int -> AdminUpdateUserAttributesResponse
newAdminUpdateUserAttributesResponse Int
pHttpStatus_ =
AdminUpdateUserAttributesResponse'
{ $sel:httpStatus:AdminUpdateUserAttributesResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
adminUpdateUserAttributesResponse_httpStatus :: Lens.Lens' AdminUpdateUserAttributesResponse Prelude.Int
adminUpdateUserAttributesResponse_httpStatus :: Lens' AdminUpdateUserAttributesResponse Int
adminUpdateUserAttributesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminUpdateUserAttributesResponse' {Int
httpStatus :: Int
$sel:httpStatus:AdminUpdateUserAttributesResponse' :: AdminUpdateUserAttributesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AdminUpdateUserAttributesResponse
s@AdminUpdateUserAttributesResponse' {} Int
a -> AdminUpdateUserAttributesResponse
s {$sel:httpStatus:AdminUpdateUserAttributesResponse' :: Int
httpStatus = Int
a} :: AdminUpdateUserAttributesResponse)
instance
Prelude.NFData
AdminUpdateUserAttributesResponse
where
rnf :: AdminUpdateUserAttributesResponse -> ()
rnf AdminUpdateUserAttributesResponse' {Int
httpStatus :: Int
$sel:httpStatus:AdminUpdateUserAttributesResponse' :: AdminUpdateUserAttributesResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus