{-# 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.CognitoIdentityProvider.AdminSetUserMFAPreference
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- The user\'s multi-factor authentication (MFA) preference, including
-- which MFA options are activated, and if any are preferred. Only one
-- factor can be set as preferred. The preferred MFA factor will be used to
-- authenticate a user if multiple factors are activated. If multiple
-- options are activated and no preference is set, a challenge to choose an
-- MFA option will be returned during sign-in.
module Amazonka.CognitoIdentityProvider.AdminSetUserMFAPreference
  ( -- * Creating a Request
    AdminSetUserMFAPreference (..),
    newAdminSetUserMFAPreference,

    -- * Request Lenses
    adminSetUserMFAPreference_sMSMfaSettings,
    adminSetUserMFAPreference_softwareTokenMfaSettings,
    adminSetUserMFAPreference_username,
    adminSetUserMFAPreference_userPoolId,

    -- * Destructuring the Response
    AdminSetUserMFAPreferenceResponse (..),
    newAdminSetUserMFAPreferenceResponse,

    -- * Response Lenses
    adminSetUserMFAPreferenceResponse_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

-- | /See:/ 'newAdminSetUserMFAPreference' smart constructor.
data AdminSetUserMFAPreference = AdminSetUserMFAPreference'
  { -- | The SMS text message MFA settings.
    AdminSetUserMFAPreference -> Maybe SMSMfaSettingsType
sMSMfaSettings :: Prelude.Maybe SMSMfaSettingsType,
    -- | The time-based one-time password software token MFA settings.
    AdminSetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings :: Prelude.Maybe SoftwareTokenMfaSettingsType,
    -- | The user pool username or alias.
    AdminSetUserMFAPreference -> Sensitive Text
username :: Data.Sensitive Prelude.Text,
    -- | The user pool ID.
    AdminSetUserMFAPreference -> Text
userPoolId :: Prelude.Text
  }
  deriving (AdminSetUserMFAPreference -> AdminSetUserMFAPreference -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminSetUserMFAPreference -> AdminSetUserMFAPreference -> Bool
$c/= :: AdminSetUserMFAPreference -> AdminSetUserMFAPreference -> Bool
== :: AdminSetUserMFAPreference -> AdminSetUserMFAPreference -> Bool
$c== :: AdminSetUserMFAPreference -> AdminSetUserMFAPreference -> Bool
Prelude.Eq, Int -> AdminSetUserMFAPreference -> ShowS
[AdminSetUserMFAPreference] -> ShowS
AdminSetUserMFAPreference -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminSetUserMFAPreference] -> ShowS
$cshowList :: [AdminSetUserMFAPreference] -> ShowS
show :: AdminSetUserMFAPreference -> String
$cshow :: AdminSetUserMFAPreference -> String
showsPrec :: Int -> AdminSetUserMFAPreference -> ShowS
$cshowsPrec :: Int -> AdminSetUserMFAPreference -> ShowS
Prelude.Show, forall x.
Rep AdminSetUserMFAPreference x -> AdminSetUserMFAPreference
forall x.
AdminSetUserMFAPreference -> Rep AdminSetUserMFAPreference x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AdminSetUserMFAPreference x -> AdminSetUserMFAPreference
$cfrom :: forall x.
AdminSetUserMFAPreference -> Rep AdminSetUserMFAPreference x
Prelude.Generic)

-- |
-- Create a value of 'AdminSetUserMFAPreference' 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:
--
-- 'sMSMfaSettings', 'adminSetUserMFAPreference_sMSMfaSettings' - The SMS text message MFA settings.
--
-- 'softwareTokenMfaSettings', 'adminSetUserMFAPreference_softwareTokenMfaSettings' - The time-based one-time password software token MFA settings.
--
-- 'username', 'adminSetUserMFAPreference_username' - The user pool username or alias.
--
-- 'userPoolId', 'adminSetUserMFAPreference_userPoolId' - The user pool ID.
newAdminSetUserMFAPreference ::
  -- | 'username'
  Prelude.Text ->
  -- | 'userPoolId'
  Prelude.Text ->
  AdminSetUserMFAPreference
newAdminSetUserMFAPreference :: Text -> Text -> AdminSetUserMFAPreference
newAdminSetUserMFAPreference Text
pUsername_ Text
pUserPoolId_ =
  AdminSetUserMFAPreference'
    { $sel:sMSMfaSettings:AdminSetUserMFAPreference' :: Maybe SMSMfaSettingsType
sMSMfaSettings =
        forall a. Maybe a
Prelude.Nothing,
      $sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:username:AdminSetUserMFAPreference' :: Sensitive Text
username = forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pUsername_,
      $sel:userPoolId:AdminSetUserMFAPreference' :: Text
userPoolId = Text
pUserPoolId_
    }

-- | The SMS text message MFA settings.
adminSetUserMFAPreference_sMSMfaSettings :: Lens.Lens' AdminSetUserMFAPreference (Prelude.Maybe SMSMfaSettingsType)
adminSetUserMFAPreference_sMSMfaSettings :: Lens' AdminSetUserMFAPreference (Maybe SMSMfaSettingsType)
adminSetUserMFAPreference_sMSMfaSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserMFAPreference' {Maybe SMSMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:sMSMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Maybe SMSMfaSettingsType
sMSMfaSettings} -> Maybe SMSMfaSettingsType
sMSMfaSettings) (\s :: AdminSetUserMFAPreference
s@AdminSetUserMFAPreference' {} Maybe SMSMfaSettingsType
a -> AdminSetUserMFAPreference
s {$sel:sMSMfaSettings:AdminSetUserMFAPreference' :: Maybe SMSMfaSettingsType
sMSMfaSettings = Maybe SMSMfaSettingsType
a} :: AdminSetUserMFAPreference)

-- | The time-based one-time password software token MFA settings.
adminSetUserMFAPreference_softwareTokenMfaSettings :: Lens.Lens' AdminSetUserMFAPreference (Prelude.Maybe SoftwareTokenMfaSettingsType)
adminSetUserMFAPreference_softwareTokenMfaSettings :: Lens'
  AdminSetUserMFAPreference (Maybe SoftwareTokenMfaSettingsType)
adminSetUserMFAPreference_softwareTokenMfaSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserMFAPreference' {Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
$sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings} -> Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings) (\s :: AdminSetUserMFAPreference
s@AdminSetUserMFAPreference' {} Maybe SoftwareTokenMfaSettingsType
a -> AdminSetUserMFAPreference
s {$sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: Maybe SoftwareTokenMfaSettingsType
softwareTokenMfaSettings = Maybe SoftwareTokenMfaSettingsType
a} :: AdminSetUserMFAPreference)

-- | The user pool username or alias.
adminSetUserMFAPreference_username :: Lens.Lens' AdminSetUserMFAPreference Prelude.Text
adminSetUserMFAPreference_username :: Lens' AdminSetUserMFAPreference Text
adminSetUserMFAPreference_username = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserMFAPreference' {Sensitive Text
username :: Sensitive Text
$sel:username:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Sensitive Text
username} -> Sensitive Text
username) (\s :: AdminSetUserMFAPreference
s@AdminSetUserMFAPreference' {} Sensitive Text
a -> AdminSetUserMFAPreference
s {$sel:username:AdminSetUserMFAPreference' :: Sensitive Text
username = Sensitive Text
a} :: AdminSetUserMFAPreference) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive

-- | The user pool ID.
adminSetUserMFAPreference_userPoolId :: Lens.Lens' AdminSetUserMFAPreference Prelude.Text
adminSetUserMFAPreference_userPoolId :: Lens' AdminSetUserMFAPreference Text
adminSetUserMFAPreference_userPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserMFAPreference' {Text
userPoolId :: Text
$sel:userPoolId:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Text
userPoolId} -> Text
userPoolId) (\s :: AdminSetUserMFAPreference
s@AdminSetUserMFAPreference' {} Text
a -> AdminSetUserMFAPreference
s {$sel:userPoolId:AdminSetUserMFAPreference' :: Text
userPoolId = Text
a} :: AdminSetUserMFAPreference)

instance Core.AWSRequest AdminSetUserMFAPreference where
  type
    AWSResponse AdminSetUserMFAPreference =
      AdminSetUserMFAPreferenceResponse
  request :: (Service -> Service)
-> AdminSetUserMFAPreference -> Request AdminSetUserMFAPreference
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 AdminSetUserMFAPreference
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse AdminSetUserMFAPreference)))
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 -> AdminSetUserMFAPreferenceResponse
AdminSetUserMFAPreferenceResponse'
            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 AdminSetUserMFAPreference where
  hashWithSalt :: Int -> AdminSetUserMFAPreference -> Int
hashWithSalt Int
_salt AdminSetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Text
Sensitive Text
userPoolId :: Text
username :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:userPoolId:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Text
$sel:username:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> 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
username
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userPoolId

instance Prelude.NFData AdminSetUserMFAPreference where
  rnf :: AdminSetUserMFAPreference -> ()
rnf AdminSetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Text
Sensitive Text
userPoolId :: Text
username :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:userPoolId:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Text
$sel:username:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> 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
username
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userPoolId

instance Data.ToHeaders AdminSetUserMFAPreference where
  toHeaders :: AdminSetUserMFAPreference -> 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.AdminSetUserMFAPreference" ::
                          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 AdminSetUserMFAPreference where
  toJSON :: AdminSetUserMFAPreference -> Value
toJSON AdminSetUserMFAPreference' {Maybe SMSMfaSettingsType
Maybe SoftwareTokenMfaSettingsType
Text
Sensitive Text
userPoolId :: Text
username :: Sensitive Text
softwareTokenMfaSettings :: Maybe SoftwareTokenMfaSettingsType
sMSMfaSettings :: Maybe SMSMfaSettingsType
$sel:userPoolId:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Text
$sel:username:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Sensitive Text
$sel:softwareTokenMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> Maybe SoftwareTokenMfaSettingsType
$sel:sMSMfaSettings:AdminSetUserMFAPreference' :: AdminSetUserMFAPreference -> 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
"Username" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
username),
            forall a. a -> Maybe a
Prelude.Just (Key
"UserPoolId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userPoolId)
          ]
      )

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

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

-- | /See:/ 'newAdminSetUserMFAPreferenceResponse' smart constructor.
data AdminSetUserMFAPreferenceResponse = AdminSetUserMFAPreferenceResponse'
  { -- | The response's http status code.
    AdminSetUserMFAPreferenceResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (AdminSetUserMFAPreferenceResponse
-> AdminSetUserMFAPreferenceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminSetUserMFAPreferenceResponse
-> AdminSetUserMFAPreferenceResponse -> Bool
$c/= :: AdminSetUserMFAPreferenceResponse
-> AdminSetUserMFAPreferenceResponse -> Bool
== :: AdminSetUserMFAPreferenceResponse
-> AdminSetUserMFAPreferenceResponse -> Bool
$c== :: AdminSetUserMFAPreferenceResponse
-> AdminSetUserMFAPreferenceResponse -> Bool
Prelude.Eq, ReadPrec [AdminSetUserMFAPreferenceResponse]
ReadPrec AdminSetUserMFAPreferenceResponse
Int -> ReadS AdminSetUserMFAPreferenceResponse
ReadS [AdminSetUserMFAPreferenceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AdminSetUserMFAPreferenceResponse]
$creadListPrec :: ReadPrec [AdminSetUserMFAPreferenceResponse]
readPrec :: ReadPrec AdminSetUserMFAPreferenceResponse
$creadPrec :: ReadPrec AdminSetUserMFAPreferenceResponse
readList :: ReadS [AdminSetUserMFAPreferenceResponse]
$creadList :: ReadS [AdminSetUserMFAPreferenceResponse]
readsPrec :: Int -> ReadS AdminSetUserMFAPreferenceResponse
$creadsPrec :: Int -> ReadS AdminSetUserMFAPreferenceResponse
Prelude.Read, Int -> AdminSetUserMFAPreferenceResponse -> ShowS
[AdminSetUserMFAPreferenceResponse] -> ShowS
AdminSetUserMFAPreferenceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminSetUserMFAPreferenceResponse] -> ShowS
$cshowList :: [AdminSetUserMFAPreferenceResponse] -> ShowS
show :: AdminSetUserMFAPreferenceResponse -> String
$cshow :: AdminSetUserMFAPreferenceResponse -> String
showsPrec :: Int -> AdminSetUserMFAPreferenceResponse -> ShowS
$cshowsPrec :: Int -> AdminSetUserMFAPreferenceResponse -> ShowS
Prelude.Show, forall x.
Rep AdminSetUserMFAPreferenceResponse x
-> AdminSetUserMFAPreferenceResponse
forall x.
AdminSetUserMFAPreferenceResponse
-> Rep AdminSetUserMFAPreferenceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AdminSetUserMFAPreferenceResponse x
-> AdminSetUserMFAPreferenceResponse
$cfrom :: forall x.
AdminSetUserMFAPreferenceResponse
-> Rep AdminSetUserMFAPreferenceResponse x
Prelude.Generic)

-- |
-- Create a value of 'AdminSetUserMFAPreferenceResponse' 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:
--
-- 'httpStatus', 'adminSetUserMFAPreferenceResponse_httpStatus' - The response's http status code.
newAdminSetUserMFAPreferenceResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  AdminSetUserMFAPreferenceResponse
newAdminSetUserMFAPreferenceResponse :: Int -> AdminSetUserMFAPreferenceResponse
newAdminSetUserMFAPreferenceResponse Int
pHttpStatus_ =
  AdminSetUserMFAPreferenceResponse'
    { $sel:httpStatus:AdminSetUserMFAPreferenceResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

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

instance
  Prelude.NFData
    AdminSetUserMFAPreferenceResponse
  where
  rnf :: AdminSetUserMFAPreferenceResponse -> ()
rnf AdminSetUserMFAPreferenceResponse' {Int
httpStatus :: Int
$sel:httpStatus:AdminSetUserMFAPreferenceResponse' :: AdminSetUserMFAPreferenceResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus