{-# 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.AdminSetUserPassword
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Sets the specified user\'s password in a user pool as an administrator.
-- Works on any user.
--
-- The password can be temporary or permanent. If it is temporary, the user
-- status will be placed into the @FORCE_CHANGE_PASSWORD@ state. When the
-- user next tries to sign in, the InitiateAuth\/AdminInitiateAuth response
-- will contain the @NEW_PASSWORD_REQUIRED@ challenge. If the user does not
-- sign in before it expires, the user will not be able to sign in and
-- their password will need to be reset by an administrator.
--
-- Once the user has set a new password, or the password is permanent, the
-- user status will be set to @Confirmed@.
module Amazonka.CognitoIdentityProvider.AdminSetUserPassword
  ( -- * Creating a Request
    AdminSetUserPassword (..),
    newAdminSetUserPassword,

    -- * Request Lenses
    adminSetUserPassword_permanent,
    adminSetUserPassword_userPoolId,
    adminSetUserPassword_username,
    adminSetUserPassword_password,

    -- * Destructuring the Response
    AdminSetUserPasswordResponse (..),
    newAdminSetUserPasswordResponse,

    -- * Response Lenses
    adminSetUserPasswordResponse_httpStatus,
  )
where

import Amazonka.CognitoIdentityProvider.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newAdminSetUserPassword' smart constructor.
data AdminSetUserPassword = AdminSetUserPassword'
  { -- | @True@ if the password is permanent, @False@ if it is temporary.
    AdminSetUserPassword -> Maybe Bool
permanent :: Prelude.Maybe Prelude.Bool,
    -- | The user pool ID for the user pool where you want to set the user\'s
    -- password.
    AdminSetUserPassword -> Text
userPoolId :: Prelude.Text,
    -- | The user name of the user whose password you wish to set.
    AdminSetUserPassword -> Sensitive Text
username :: Core.Sensitive Prelude.Text,
    -- | The password for the user.
    AdminSetUserPassword -> Sensitive Text
password :: Core.Sensitive Prelude.Text
  }
  deriving (AdminSetUserPassword -> AdminSetUserPassword -> Bool
(AdminSetUserPassword -> AdminSetUserPassword -> Bool)
-> (AdminSetUserPassword -> AdminSetUserPassword -> Bool)
-> Eq AdminSetUserPassword
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminSetUserPassword -> AdminSetUserPassword -> Bool
$c/= :: AdminSetUserPassword -> AdminSetUserPassword -> Bool
== :: AdminSetUserPassword -> AdminSetUserPassword -> Bool
$c== :: AdminSetUserPassword -> AdminSetUserPassword -> Bool
Prelude.Eq, Int -> AdminSetUserPassword -> ShowS
[AdminSetUserPassword] -> ShowS
AdminSetUserPassword -> String
(Int -> AdminSetUserPassword -> ShowS)
-> (AdminSetUserPassword -> String)
-> ([AdminSetUserPassword] -> ShowS)
-> Show AdminSetUserPassword
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminSetUserPassword] -> ShowS
$cshowList :: [AdminSetUserPassword] -> ShowS
show :: AdminSetUserPassword -> String
$cshow :: AdminSetUserPassword -> String
showsPrec :: Int -> AdminSetUserPassword -> ShowS
$cshowsPrec :: Int -> AdminSetUserPassword -> ShowS
Prelude.Show, (forall x. AdminSetUserPassword -> Rep AdminSetUserPassword x)
-> (forall x. Rep AdminSetUserPassword x -> AdminSetUserPassword)
-> Generic AdminSetUserPassword
forall x. Rep AdminSetUserPassword x -> AdminSetUserPassword
forall x. AdminSetUserPassword -> Rep AdminSetUserPassword x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AdminSetUserPassword x -> AdminSetUserPassword
$cfrom :: forall x. AdminSetUserPassword -> Rep AdminSetUserPassword x
Prelude.Generic)

-- |
-- Create a value of 'AdminSetUserPassword' 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:
--
-- 'permanent', 'adminSetUserPassword_permanent' - @True@ if the password is permanent, @False@ if it is temporary.
--
-- 'userPoolId', 'adminSetUserPassword_userPoolId' - The user pool ID for the user pool where you want to set the user\'s
-- password.
--
-- 'username', 'adminSetUserPassword_username' - The user name of the user whose password you wish to set.
--
-- 'password', 'adminSetUserPassword_password' - The password for the user.
newAdminSetUserPassword ::
  -- | 'userPoolId'
  Prelude.Text ->
  -- | 'username'
  Prelude.Text ->
  -- | 'password'
  Prelude.Text ->
  AdminSetUserPassword
newAdminSetUserPassword :: Text -> Text -> Text -> AdminSetUserPassword
newAdminSetUserPassword
  Text
pUserPoolId_
  Text
pUsername_
  Text
pPassword_ =
    AdminSetUserPassword' :: Maybe Bool
-> Text -> Sensitive Text -> Sensitive Text -> AdminSetUserPassword
AdminSetUserPassword'
      { $sel:permanent:AdminSetUserPassword' :: Maybe Bool
permanent = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
        $sel:userPoolId:AdminSetUserPassword' :: Text
userPoolId = Text
pUserPoolId_,
        $sel:username:AdminSetUserPassword' :: Sensitive Text
username = Tagged Text (Identity Text)
-> Tagged (Sensitive Text) (Identity (Sensitive Text))
forall a. Iso' (Sensitive a) a
Core._Sensitive (Tagged Text (Identity Text)
 -> Tagged (Sensitive Text) (Identity (Sensitive Text)))
-> Text -> Sensitive Text
forall t b. AReview t b -> b -> t
Lens.# Text
pUsername_,
        $sel:password:AdminSetUserPassword' :: Sensitive Text
password = Tagged Text (Identity Text)
-> Tagged (Sensitive Text) (Identity (Sensitive Text))
forall a. Iso' (Sensitive a) a
Core._Sensitive (Tagged Text (Identity Text)
 -> Tagged (Sensitive Text) (Identity (Sensitive Text)))
-> Text -> Sensitive Text
forall t b. AReview t b -> b -> t
Lens.# Text
pPassword_
      }

-- | @True@ if the password is permanent, @False@ if it is temporary.
adminSetUserPassword_permanent :: Lens.Lens' AdminSetUserPassword (Prelude.Maybe Prelude.Bool)
adminSetUserPassword_permanent :: (Maybe Bool -> f (Maybe Bool))
-> AdminSetUserPassword -> f AdminSetUserPassword
adminSetUserPassword_permanent = (AdminSetUserPassword -> Maybe Bool)
-> (AdminSetUserPassword -> Maybe Bool -> AdminSetUserPassword)
-> Lens
     AdminSetUserPassword AdminSetUserPassword (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserPassword' {Maybe Bool
permanent :: Maybe Bool
$sel:permanent:AdminSetUserPassword' :: AdminSetUserPassword -> Maybe Bool
permanent} -> Maybe Bool
permanent) (\s :: AdminSetUserPassword
s@AdminSetUserPassword' {} Maybe Bool
a -> AdminSetUserPassword
s {$sel:permanent:AdminSetUserPassword' :: Maybe Bool
permanent = Maybe Bool
a} :: AdminSetUserPassword)

-- | The user pool ID for the user pool where you want to set the user\'s
-- password.
adminSetUserPassword_userPoolId :: Lens.Lens' AdminSetUserPassword Prelude.Text
adminSetUserPassword_userPoolId :: (Text -> f Text) -> AdminSetUserPassword -> f AdminSetUserPassword
adminSetUserPassword_userPoolId = (AdminSetUserPassword -> Text)
-> (AdminSetUserPassword -> Text -> AdminSetUserPassword)
-> Lens AdminSetUserPassword AdminSetUserPassword Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserPassword' {Text
userPoolId :: Text
$sel:userPoolId:AdminSetUserPassword' :: AdminSetUserPassword -> Text
userPoolId} -> Text
userPoolId) (\s :: AdminSetUserPassword
s@AdminSetUserPassword' {} Text
a -> AdminSetUserPassword
s {$sel:userPoolId:AdminSetUserPassword' :: Text
userPoolId = Text
a} :: AdminSetUserPassword)

-- | The user name of the user whose password you wish to set.
adminSetUserPassword_username :: Lens.Lens' AdminSetUserPassword Prelude.Text
adminSetUserPassword_username :: (Text -> f Text) -> AdminSetUserPassword -> f AdminSetUserPassword
adminSetUserPassword_username = (AdminSetUserPassword -> Sensitive Text)
-> (AdminSetUserPassword -> Sensitive Text -> AdminSetUserPassword)
-> Lens
     AdminSetUserPassword
     AdminSetUserPassword
     (Sensitive Text)
     (Sensitive Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserPassword' {Sensitive Text
username :: Sensitive Text
$sel:username:AdminSetUserPassword' :: AdminSetUserPassword -> Sensitive Text
username} -> Sensitive Text
username) (\s :: AdminSetUserPassword
s@AdminSetUserPassword' {} Sensitive Text
a -> AdminSetUserPassword
s {$sel:username:AdminSetUserPassword' :: Sensitive Text
username = Sensitive Text
a} :: AdminSetUserPassword) ((Sensitive Text -> f (Sensitive Text))
 -> AdminSetUserPassword -> f AdminSetUserPassword)
-> ((Text -> f Text) -> Sensitive Text -> f (Sensitive Text))
-> (Text -> f Text)
-> AdminSetUserPassword
-> f AdminSetUserPassword
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> f Text) -> Sensitive Text -> f (Sensitive Text)
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | The password for the user.
adminSetUserPassword_password :: Lens.Lens' AdminSetUserPassword Prelude.Text
adminSetUserPassword_password :: (Text -> f Text) -> AdminSetUserPassword -> f AdminSetUserPassword
adminSetUserPassword_password = (AdminSetUserPassword -> Sensitive Text)
-> (AdminSetUserPassword -> Sensitive Text -> AdminSetUserPassword)
-> Lens
     AdminSetUserPassword
     AdminSetUserPassword
     (Sensitive Text)
     (Sensitive Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminSetUserPassword' {Sensitive Text
password :: Sensitive Text
$sel:password:AdminSetUserPassword' :: AdminSetUserPassword -> Sensitive Text
password} -> Sensitive Text
password) (\s :: AdminSetUserPassword
s@AdminSetUserPassword' {} Sensitive Text
a -> AdminSetUserPassword
s {$sel:password:AdminSetUserPassword' :: Sensitive Text
password = Sensitive Text
a} :: AdminSetUserPassword) ((Sensitive Text -> f (Sensitive Text))
 -> AdminSetUserPassword -> f AdminSetUserPassword)
-> ((Text -> f Text) -> Sensitive Text -> f (Sensitive Text))
-> (Text -> f Text)
-> AdminSetUserPassword
-> f AdminSetUserPassword
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> f Text) -> Sensitive Text -> f (Sensitive Text)
forall a. Iso' (Sensitive a) a
Core._Sensitive

instance Core.AWSRequest AdminSetUserPassword where
  type
    AWSResponse AdminSetUserPassword =
      AdminSetUserPasswordResponse
  request :: AdminSetUserPassword -> Request AdminSetUserPassword
request = Service -> AdminSetUserPassword -> Request AdminSetUserPassword
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy AdminSetUserPassword
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse AdminSetUserPassword)))
response =
    (Int
 -> ResponseHeaders
 -> ()
 -> Either String (AWSResponse AdminSetUserPassword))
-> Logger
-> Service
-> Proxy AdminSetUserPassword
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse AdminSetUserPassword)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> AdminSetUserPasswordResponse
AdminSetUserPasswordResponse'
            (Int -> AdminSetUserPasswordResponse)
-> Either String Int -> Either String AdminSetUserPasswordResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable AdminSetUserPassword

instance Prelude.NFData AdminSetUserPassword

instance Core.ToHeaders AdminSetUserPassword where
  toHeaders :: AdminSetUserPassword -> ResponseHeaders
toHeaders =
    ResponseHeaders -> AdminSetUserPassword -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"AWSCognitoIdentityProviderService.AdminSetUserPassword" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON AdminSetUserPassword where
  toJSON :: AdminSetUserPassword -> Value
toJSON AdminSetUserPassword' {Maybe Bool
Text
Sensitive Text
password :: Sensitive Text
username :: Sensitive Text
userPoolId :: Text
permanent :: Maybe Bool
$sel:password:AdminSetUserPassword' :: AdminSetUserPassword -> Sensitive Text
$sel:username:AdminSetUserPassword' :: AdminSetUserPassword -> Sensitive Text
$sel:userPoolId:AdminSetUserPassword' :: AdminSetUserPassword -> Text
$sel:permanent:AdminSetUserPassword' :: AdminSetUserPassword -> Maybe Bool
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"Permanent" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
permanent,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"UserPoolId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
userPoolId),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"Username" Text -> Sensitive Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Sensitive Text
username),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"Password" Text -> Sensitive Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Sensitive Text
password)
          ]
      )

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

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

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

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

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

instance Prelude.NFData AdminSetUserPasswordResponse