{-# 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.Chime.ResetPersonalPIN
(
ResetPersonalPIN (..),
newResetPersonalPIN,
resetPersonalPIN_accountId,
resetPersonalPIN_userId,
ResetPersonalPINResponse (..),
newResetPersonalPINResponse,
resetPersonalPINResponse_user,
resetPersonalPINResponse_httpStatus,
)
where
import Amazonka.Chime.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 ResetPersonalPIN = ResetPersonalPIN'
{
ResetPersonalPIN -> Text
accountId :: Prelude.Text,
ResetPersonalPIN -> Text
userId :: Prelude.Text
}
deriving (ResetPersonalPIN -> ResetPersonalPIN -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResetPersonalPIN -> ResetPersonalPIN -> Bool
$c/= :: ResetPersonalPIN -> ResetPersonalPIN -> Bool
== :: ResetPersonalPIN -> ResetPersonalPIN -> Bool
$c== :: ResetPersonalPIN -> ResetPersonalPIN -> Bool
Prelude.Eq, ReadPrec [ResetPersonalPIN]
ReadPrec ResetPersonalPIN
Int -> ReadS ResetPersonalPIN
ReadS [ResetPersonalPIN]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResetPersonalPIN]
$creadListPrec :: ReadPrec [ResetPersonalPIN]
readPrec :: ReadPrec ResetPersonalPIN
$creadPrec :: ReadPrec ResetPersonalPIN
readList :: ReadS [ResetPersonalPIN]
$creadList :: ReadS [ResetPersonalPIN]
readsPrec :: Int -> ReadS ResetPersonalPIN
$creadsPrec :: Int -> ReadS ResetPersonalPIN
Prelude.Read, Int -> ResetPersonalPIN -> ShowS
[ResetPersonalPIN] -> ShowS
ResetPersonalPIN -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResetPersonalPIN] -> ShowS
$cshowList :: [ResetPersonalPIN] -> ShowS
show :: ResetPersonalPIN -> String
$cshow :: ResetPersonalPIN -> String
showsPrec :: Int -> ResetPersonalPIN -> ShowS
$cshowsPrec :: Int -> ResetPersonalPIN -> ShowS
Prelude.Show, forall x. Rep ResetPersonalPIN x -> ResetPersonalPIN
forall x. ResetPersonalPIN -> Rep ResetPersonalPIN x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ResetPersonalPIN x -> ResetPersonalPIN
$cfrom :: forall x. ResetPersonalPIN -> Rep ResetPersonalPIN x
Prelude.Generic)
newResetPersonalPIN ::
Prelude.Text ->
Prelude.Text ->
ResetPersonalPIN
newResetPersonalPIN :: Text -> Text -> ResetPersonalPIN
newResetPersonalPIN Text
pAccountId_ Text
pUserId_ =
ResetPersonalPIN'
{ $sel:accountId:ResetPersonalPIN' :: Text
accountId = Text
pAccountId_,
$sel:userId:ResetPersonalPIN' :: Text
userId = Text
pUserId_
}
resetPersonalPIN_accountId :: Lens.Lens' ResetPersonalPIN Prelude.Text
resetPersonalPIN_accountId :: Lens' ResetPersonalPIN Text
resetPersonalPIN_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResetPersonalPIN' {Text
accountId :: Text
$sel:accountId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
accountId} -> Text
accountId) (\s :: ResetPersonalPIN
s@ResetPersonalPIN' {} Text
a -> ResetPersonalPIN
s {$sel:accountId:ResetPersonalPIN' :: Text
accountId = Text
a} :: ResetPersonalPIN)
resetPersonalPIN_userId :: Lens.Lens' ResetPersonalPIN Prelude.Text
resetPersonalPIN_userId :: Lens' ResetPersonalPIN Text
resetPersonalPIN_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResetPersonalPIN' {Text
userId :: Text
$sel:userId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
userId} -> Text
userId) (\s :: ResetPersonalPIN
s@ResetPersonalPIN' {} Text
a -> ResetPersonalPIN
s {$sel:userId:ResetPersonalPIN' :: Text
userId = Text
a} :: ResetPersonalPIN)
instance Core.AWSRequest ResetPersonalPIN where
type
AWSResponse ResetPersonalPIN =
ResetPersonalPINResponse
request :: (Service -> Service)
-> ResetPersonalPIN -> Request ResetPersonalPIN
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 ResetPersonalPIN
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ResetPersonalPIN)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe User -> Int -> ResetPersonalPINResponse
ResetPersonalPINResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"User")
forall (f :: * -> *) a b. Applicative f => 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 ResetPersonalPIN where
hashWithSalt :: Int -> ResetPersonalPIN -> Int
hashWithSalt Int
_salt ResetPersonalPIN' {Text
userId :: Text
accountId :: Text
$sel:userId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
$sel:accountId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userId
instance Prelude.NFData ResetPersonalPIN where
rnf :: ResetPersonalPIN -> ()
rnf ResetPersonalPIN' {Text
userId :: Text
accountId :: Text
$sel:userId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
$sel:accountId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
accountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userId
instance Data.ToHeaders ResetPersonalPIN where
toHeaders :: ResetPersonalPIN -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON ResetPersonalPIN where
toJSON :: ResetPersonalPIN -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath ResetPersonalPIN where
toPath :: ResetPersonalPIN -> ByteString
toPath ResetPersonalPIN' {Text
userId :: Text
accountId :: Text
$sel:userId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
$sel:accountId:ResetPersonalPIN' :: ResetPersonalPIN -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId,
ByteString
"/users/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
userId
]
instance Data.ToQuery ResetPersonalPIN where
toQuery :: ResetPersonalPIN -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const
(forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"operation=reset-personal-pin"])
data ResetPersonalPINResponse = ResetPersonalPINResponse'
{
ResetPersonalPINResponse -> Maybe User
user :: Prelude.Maybe User,
ResetPersonalPINResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ResetPersonalPINResponse -> ResetPersonalPINResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResetPersonalPINResponse -> ResetPersonalPINResponse -> Bool
$c/= :: ResetPersonalPINResponse -> ResetPersonalPINResponse -> Bool
== :: ResetPersonalPINResponse -> ResetPersonalPINResponse -> Bool
$c== :: ResetPersonalPINResponse -> ResetPersonalPINResponse -> Bool
Prelude.Eq, Int -> ResetPersonalPINResponse -> ShowS
[ResetPersonalPINResponse] -> ShowS
ResetPersonalPINResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResetPersonalPINResponse] -> ShowS
$cshowList :: [ResetPersonalPINResponse] -> ShowS
show :: ResetPersonalPINResponse -> String
$cshow :: ResetPersonalPINResponse -> String
showsPrec :: Int -> ResetPersonalPINResponse -> ShowS
$cshowsPrec :: Int -> ResetPersonalPINResponse -> ShowS
Prelude.Show, forall x.
Rep ResetPersonalPINResponse x -> ResetPersonalPINResponse
forall x.
ResetPersonalPINResponse -> Rep ResetPersonalPINResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ResetPersonalPINResponse x -> ResetPersonalPINResponse
$cfrom :: forall x.
ResetPersonalPINResponse -> Rep ResetPersonalPINResponse x
Prelude.Generic)
newResetPersonalPINResponse ::
Prelude.Int ->
ResetPersonalPINResponse
newResetPersonalPINResponse :: Int -> ResetPersonalPINResponse
newResetPersonalPINResponse Int
pHttpStatus_ =
ResetPersonalPINResponse'
{ $sel:user:ResetPersonalPINResponse' :: Maybe User
user = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ResetPersonalPINResponse' :: Int
httpStatus = Int
pHttpStatus_
}
resetPersonalPINResponse_user :: Lens.Lens' ResetPersonalPINResponse (Prelude.Maybe User)
resetPersonalPINResponse_user :: Lens' ResetPersonalPINResponse (Maybe User)
resetPersonalPINResponse_user = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResetPersonalPINResponse' {Maybe User
user :: Maybe User
$sel:user:ResetPersonalPINResponse' :: ResetPersonalPINResponse -> Maybe User
user} -> Maybe User
user) (\s :: ResetPersonalPINResponse
s@ResetPersonalPINResponse' {} Maybe User
a -> ResetPersonalPINResponse
s {$sel:user:ResetPersonalPINResponse' :: Maybe User
user = Maybe User
a} :: ResetPersonalPINResponse)
resetPersonalPINResponse_httpStatus :: Lens.Lens' ResetPersonalPINResponse Prelude.Int
resetPersonalPINResponse_httpStatus :: Lens' ResetPersonalPINResponse Int
resetPersonalPINResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResetPersonalPINResponse' {Int
httpStatus :: Int
$sel:httpStatus:ResetPersonalPINResponse' :: ResetPersonalPINResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ResetPersonalPINResponse
s@ResetPersonalPINResponse' {} Int
a -> ResetPersonalPINResponse
s {$sel:httpStatus:ResetPersonalPINResponse' :: Int
httpStatus = Int
a} :: ResetPersonalPINResponse)
instance Prelude.NFData ResetPersonalPINResponse where
rnf :: ResetPersonalPINResponse -> ()
rnf ResetPersonalPINResponse' {Int
Maybe User
httpStatus :: Int
user :: Maybe User
$sel:httpStatus:ResetPersonalPINResponse' :: ResetPersonalPINResponse -> Int
$sel:user:ResetPersonalPINResponse' :: ResetPersonalPINResponse -> Maybe User
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe User
user
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus