{-# 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.SetUserMFAPreference
(
SetUserMFAPreference (..),
newSetUserMFAPreference,
setUserMFAPreference_sMSMfaSettings,
setUserMFAPreference_softwareTokenMfaSettings,
setUserMFAPreference_accessToken,
SetUserMFAPreferenceResponse (..),
newSetUserMFAPreferenceResponse,
setUserMFAPreferenceResponse_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 SetUserMFAPreference = SetUserMFAPreference'
{
SetUserMFAPreference -> Maybe SMSMfaSettingsType
sMSMfaSettings :: Prelude.Maybe SMSMfaSettingsType,
SetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings :: Prelude.Maybe SoftwareTokenMfaSettingsType,
SetUserMFAPreference -> Sensitive Text
accessToken :: Data.Sensitive Prelude.Text
}
deriving (SetUserMFAPreference -> SetUserMFAPreference -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetUserMFAPreference -> SetUserMFAPreference -> Bool
$c/= :: SetUserMFAPreference -> SetUserMFAPreference -> Bool
== :: SetUserMFAPreference -> SetUserMFAPreference -> Bool
$c== :: SetUserMFAPreference -> SetUserMFAPreference -> Bool
Prelude.Eq, Int -> SetUserMFAPreference -> ShowS
[SetUserMFAPreference] -> ShowS
SetUserMFAPreference -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetUserMFAPreference] -> ShowS
$cshowList :: [SetUserMFAPreference] -> ShowS
show :: SetUserMFAPreference -> String
$cshow :: SetUserMFAPreference -> String
showsPrec :: Int -> SetUserMFAPreference -> ShowS
$cshowsPrec :: Int -> SetUserMFAPreference -> ShowS
Prelude.Show, forall x. Rep SetUserMFAPreference x -> SetUserMFAPreference
forall x. SetUserMFAPreference -> Rep SetUserMFAPreference x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SetUserMFAPreference x -> SetUserMFAPreference
$cfrom :: forall x. SetUserMFAPreference -> Rep SetUserMFAPreference x
Prelude.Generic)
newSetUserMFAPreference ::
Prelude.Text ->
SetUserMFAPreference
newSetUserMFAPreference :: Text -> SetUserMFAPreference
newSetUserMFAPreference Text
pAccessToken_ =
SetUserMFAPreference'
{ $sel:sMSMfaSettings:SetUserMFAPreference' :: Maybe SMSMfaSettingsType
sMSMfaSettings =
forall a. Maybe a
Prelude.Nothing,
$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings = forall a. Maybe a
Prelude.Nothing,
$sel:accessToken:SetUserMFAPreference' :: Sensitive Text
accessToken = forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pAccessToken_
}
setUserMFAPreference_sMSMfaSettings :: Lens.Lens' SetUserMFAPreference (Prelude.Maybe SMSMfaSettingsType)
setUserMFAPreference_sMSMfaSettings :: Lens' SetUserMFAPreference (Maybe SMSMfaSettingsType)
setUserMFAPreference_sMSMfaSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetUserMFAPreference' {Maybe SMSMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:sMSMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SMSMfaSettingsType
sMSMfaSettings} -> Maybe SMSMfaSettingsType
sMSMfaSettings) (\s :: SetUserMFAPreference
s@SetUserMFAPreference' {} Maybe SMSMfaSettingsType
a -> SetUserMFAPreference
s {$sel:sMSMfaSettings:SetUserMFAPreference' :: Maybe SMSMfaSettingsType
sMSMfaSettings = Maybe SMSMfaSettingsType
a} :: SetUserMFAPreference)
setUserMFAPreference_softwareTokenMfaSettings :: Lens.Lens' SetUserMFAPreference (Prelude.Maybe SoftwareTokenMfaSettingsType)
setUserMFAPreference_softwareTokenMfaSettings :: Lens' SetUserMFAPreference (Maybe SoftwareTokenMfaSettingsType)
setUserMFAPreference_softwareTokenMfaSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetUserMFAPreference' {Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings} -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings) (\s :: SetUserMFAPreference
s@SetUserMFAPreference' {} Maybe SoftwareTokenMfaSettingsType
a -> SetUserMFAPreference
s {$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings = Maybe SoftwareTokenMfaSettingsType
a} :: SetUserMFAPreference)
setUserMFAPreference_accessToken :: Lens.Lens' SetUserMFAPreference Prelude.Text
setUserMFAPreference_accessToken :: Lens' SetUserMFAPreference Text
setUserMFAPreference_accessToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetUserMFAPreference' {Sensitive Text
accessToken :: Sensitive Text
$sel:accessToken:SetUserMFAPreference' :: SetUserMFAPreference -> Sensitive Text
accessToken} -> Sensitive Text
accessToken) (\s :: SetUserMFAPreference
s@SetUserMFAPreference' {} Sensitive Text
a -> SetUserMFAPreference
s {$sel:accessToken:SetUserMFAPreference' :: Sensitive Text
accessToken = Sensitive Text
a} :: SetUserMFAPreference) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive
instance Core.AWSRequest SetUserMFAPreference where
type
AWSResponse SetUserMFAPreference =
SetUserMFAPreferenceResponse
request :: (Service -> Service)
-> SetUserMFAPreference -> Request SetUserMFAPreference
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 SetUserMFAPreference
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse SetUserMFAPreference)))
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 -> SetUserMFAPreferenceResponse
SetUserMFAPreferenceResponse'
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 SetUserMFAPreference where
hashWithSalt :: Int -> SetUserMFAPreference -> Int
hashWithSalt Int
_salt SetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Sensitive Text
accessToken :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:accessToken:SetUserMFAPreference' :: SetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SMSMfaSettingsType
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SMSMfaSettingsType
sMSMfaSettings
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
accessToken
instance Prelude.NFData SetUserMFAPreference where
rnf :: SetUserMFAPreference -> ()
rnf SetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Sensitive Text
accessToken :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:accessToken:SetUserMFAPreference' :: SetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SMSMfaSettingsType
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe SMSMfaSettingsType
sMSMfaSettings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
accessToken
instance Data.ToHeaders SetUserMFAPreference where
toHeaders :: SetUserMFAPreference -> 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.SetUserMFAPreference" ::
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 SetUserMFAPreference where
toJSON :: SetUserMFAPreference -> Value
toJSON SetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Sensitive Text
accessToken :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:accessToken:SetUserMFAPreference' :: SetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:SetUserMFAPreference' :: SetUserMFAPreference -> Maybe SMSMfaSettingsType
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"SMSMfaSettings" 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 SMSMfaSettingsType
sMSMfaSettings,
(Key
"SoftwareTokenMfaSettings" 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 SoftwareTokenMfaSettingsType
softwareTokenMfaSettings,
forall a. a -> Maybe a
Prelude.Just (Key
"AccessToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
accessToken)
]
)
instance Data.ToPath SetUserMFAPreference where
toPath :: SetUserMFAPreference -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery SetUserMFAPreference where
toQuery :: SetUserMFAPreference -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SetUserMFAPreferenceResponse = SetUserMFAPreferenceResponse'
{
SetUserMFAPreferenceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (SetUserMFAPreferenceResponse
-> SetUserMFAPreferenceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetUserMFAPreferenceResponse
-> SetUserMFAPreferenceResponse -> Bool
$c/= :: SetUserMFAPreferenceResponse
-> SetUserMFAPreferenceResponse -> Bool
== :: SetUserMFAPreferenceResponse
-> SetUserMFAPreferenceResponse -> Bool
$c== :: SetUserMFAPreferenceResponse
-> SetUserMFAPreferenceResponse -> Bool
Prelude.Eq, ReadPrec [SetUserMFAPreferenceResponse]
ReadPrec SetUserMFAPreferenceResponse
Int -> ReadS SetUserMFAPreferenceResponse
ReadS [SetUserMFAPreferenceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetUserMFAPreferenceResponse]
$creadListPrec :: ReadPrec [SetUserMFAPreferenceResponse]
readPrec :: ReadPrec SetUserMFAPreferenceResponse
$creadPrec :: ReadPrec SetUserMFAPreferenceResponse
readList :: ReadS [SetUserMFAPreferenceResponse]
$creadList :: ReadS [SetUserMFAPreferenceResponse]
readsPrec :: Int -> ReadS SetUserMFAPreferenceResponse
$creadsPrec :: Int -> ReadS SetUserMFAPreferenceResponse
Prelude.Read, Int -> SetUserMFAPreferenceResponse -> ShowS
[SetUserMFAPreferenceResponse] -> ShowS
SetUserMFAPreferenceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetUserMFAPreferenceResponse] -> ShowS
$cshowList :: [SetUserMFAPreferenceResponse] -> ShowS
show :: SetUserMFAPreferenceResponse -> String
$cshow :: SetUserMFAPreferenceResponse -> String
showsPrec :: Int -> SetUserMFAPreferenceResponse -> ShowS
$cshowsPrec :: Int -> SetUserMFAPreferenceResponse -> ShowS
Prelude.Show, forall x.
Rep SetUserMFAPreferenceResponse x -> SetUserMFAPreferenceResponse
forall x.
SetUserMFAPreferenceResponse -> Rep SetUserMFAPreferenceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SetUserMFAPreferenceResponse x -> SetUserMFAPreferenceResponse
$cfrom :: forall x.
SetUserMFAPreferenceResponse -> Rep SetUserMFAPreferenceResponse x
Prelude.Generic)
newSetUserMFAPreferenceResponse ::
Prelude.Int ->
SetUserMFAPreferenceResponse
newSetUserMFAPreferenceResponse :: Int -> SetUserMFAPreferenceResponse
newSetUserMFAPreferenceResponse Int
pHttpStatus_ =
SetUserMFAPreferenceResponse'
{ $sel:httpStatus:SetUserMFAPreferenceResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
setUserMFAPreferenceResponse_httpStatus :: Lens.Lens' SetUserMFAPreferenceResponse Prelude.Int
setUserMFAPreferenceResponse_httpStatus :: Lens' SetUserMFAPreferenceResponse Int
setUserMFAPreferenceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetUserMFAPreferenceResponse' {Int
httpStatus :: Int
$sel:httpStatus:SetUserMFAPreferenceResponse' :: SetUserMFAPreferenceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: SetUserMFAPreferenceResponse
s@SetUserMFAPreferenceResponse' {} Int
a -> SetUserMFAPreferenceResponse
s {$sel:httpStatus:SetUserMFAPreferenceResponse' :: Int
httpStatus = Int
a} :: SetUserMFAPreferenceResponse)
instance Prelude.NFData SetUserMFAPreferenceResponse where
rnf :: SetUserMFAPreferenceResponse -> ()
rnf SetUserMFAPreferenceResponse' {Int
httpStatus :: Int
$sel:httpStatus:SetUserMFAPreferenceResponse' :: SetUserMFAPreferenceResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus