{-# 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.BatchSuspendUser
(
BatchSuspendUser (..),
newBatchSuspendUser,
batchSuspendUser_accountId,
batchSuspendUser_userIdList,
BatchSuspendUserResponse (..),
newBatchSuspendUserResponse,
batchSuspendUserResponse_userErrors,
batchSuspendUserResponse_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 BatchSuspendUser = BatchSuspendUser'
{
BatchSuspendUser -> Text
accountId :: Prelude.Text,
BatchSuspendUser -> [Text]
userIdList :: [Prelude.Text]
}
deriving (BatchSuspendUser -> BatchSuspendUser -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchSuspendUser -> BatchSuspendUser -> Bool
$c/= :: BatchSuspendUser -> BatchSuspendUser -> Bool
== :: BatchSuspendUser -> BatchSuspendUser -> Bool
$c== :: BatchSuspendUser -> BatchSuspendUser -> Bool
Prelude.Eq, ReadPrec [BatchSuspendUser]
ReadPrec BatchSuspendUser
Int -> ReadS BatchSuspendUser
ReadS [BatchSuspendUser]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchSuspendUser]
$creadListPrec :: ReadPrec [BatchSuspendUser]
readPrec :: ReadPrec BatchSuspendUser
$creadPrec :: ReadPrec BatchSuspendUser
readList :: ReadS [BatchSuspendUser]
$creadList :: ReadS [BatchSuspendUser]
readsPrec :: Int -> ReadS BatchSuspendUser
$creadsPrec :: Int -> ReadS BatchSuspendUser
Prelude.Read, Int -> BatchSuspendUser -> ShowS
[BatchSuspendUser] -> ShowS
BatchSuspendUser -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchSuspendUser] -> ShowS
$cshowList :: [BatchSuspendUser] -> ShowS
show :: BatchSuspendUser -> String
$cshow :: BatchSuspendUser -> String
showsPrec :: Int -> BatchSuspendUser -> ShowS
$cshowsPrec :: Int -> BatchSuspendUser -> ShowS
Prelude.Show, forall x. Rep BatchSuspendUser x -> BatchSuspendUser
forall x. BatchSuspendUser -> Rep BatchSuspendUser x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BatchSuspendUser x -> BatchSuspendUser
$cfrom :: forall x. BatchSuspendUser -> Rep BatchSuspendUser x
Prelude.Generic)
newBatchSuspendUser ::
Prelude.Text ->
BatchSuspendUser
newBatchSuspendUser :: Text -> BatchSuspendUser
newBatchSuspendUser Text
pAccountId_ =
BatchSuspendUser'
{ $sel:accountId:BatchSuspendUser' :: Text
accountId = Text
pAccountId_,
$sel:userIdList:BatchSuspendUser' :: [Text]
userIdList = forall a. Monoid a => a
Prelude.mempty
}
batchSuspendUser_accountId :: Lens.Lens' BatchSuspendUser Prelude.Text
batchSuspendUser_accountId :: Lens' BatchSuspendUser Text
batchSuspendUser_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchSuspendUser' {Text
accountId :: Text
$sel:accountId:BatchSuspendUser' :: BatchSuspendUser -> Text
accountId} -> Text
accountId) (\s :: BatchSuspendUser
s@BatchSuspendUser' {} Text
a -> BatchSuspendUser
s {$sel:accountId:BatchSuspendUser' :: Text
accountId = Text
a} :: BatchSuspendUser)
batchSuspendUser_userIdList :: Lens.Lens' BatchSuspendUser [Prelude.Text]
batchSuspendUser_userIdList :: Lens' BatchSuspendUser [Text]
batchSuspendUser_userIdList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchSuspendUser' {[Text]
userIdList :: [Text]
$sel:userIdList:BatchSuspendUser' :: BatchSuspendUser -> [Text]
userIdList} -> [Text]
userIdList) (\s :: BatchSuspendUser
s@BatchSuspendUser' {} [Text]
a -> BatchSuspendUser
s {$sel:userIdList:BatchSuspendUser' :: [Text]
userIdList = [Text]
a} :: BatchSuspendUser) 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 BatchSuspendUser where
type
AWSResponse BatchSuspendUser =
BatchSuspendUserResponse
request :: (Service -> Service)
-> BatchSuspendUser -> Request BatchSuspendUser
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 BatchSuspendUser
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse BatchSuspendUser)))
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 [UserError] -> Int -> BatchSuspendUserResponse
BatchSuspendUserResponse'
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
"UserErrors" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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 BatchSuspendUser where
hashWithSalt :: Int -> BatchSuspendUser -> Int
hashWithSalt Int
_salt BatchSuspendUser' {[Text]
Text
userIdList :: [Text]
accountId :: Text
$sel:userIdList:BatchSuspendUser' :: BatchSuspendUser -> [Text]
$sel:accountId:BatchSuspendUser' :: BatchSuspendUser -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
userIdList
instance Prelude.NFData BatchSuspendUser where
rnf :: BatchSuspendUser -> ()
rnf BatchSuspendUser' {[Text]
Text
userIdList :: [Text]
accountId :: Text
$sel:userIdList:BatchSuspendUser' :: BatchSuspendUser -> [Text]
$sel:accountId:BatchSuspendUser' :: BatchSuspendUser -> 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]
userIdList
instance Data.ToHeaders BatchSuspendUser where
toHeaders :: BatchSuspendUser -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON BatchSuspendUser where
toJSON :: BatchSuspendUser -> Value
toJSON BatchSuspendUser' {[Text]
Text
userIdList :: [Text]
accountId :: Text
$sel:userIdList:BatchSuspendUser' :: BatchSuspendUser -> [Text]
$sel:accountId:BatchSuspendUser' :: BatchSuspendUser -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"UserIdList" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
userIdList)]
)
instance Data.ToPath BatchSuspendUser where
toPath :: BatchSuspendUser -> ByteString
toPath BatchSuspendUser' {[Text]
Text
userIdList :: [Text]
accountId :: Text
$sel:userIdList:BatchSuspendUser' :: BatchSuspendUser -> [Text]
$sel:accountId:BatchSuspendUser' :: BatchSuspendUser -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/accounts/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId, ByteString
"/users"]
instance Data.ToQuery BatchSuspendUser where
toQuery :: BatchSuspendUser -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const
(forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"operation=suspend"])
data BatchSuspendUserResponse = BatchSuspendUserResponse'
{
BatchSuspendUserResponse -> Maybe [UserError]
userErrors :: Prelude.Maybe [UserError],
BatchSuspendUserResponse -> Int
httpStatus :: Prelude.Int
}
deriving (BatchSuspendUserResponse -> BatchSuspendUserResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchSuspendUserResponse -> BatchSuspendUserResponse -> Bool
$c/= :: BatchSuspendUserResponse -> BatchSuspendUserResponse -> Bool
== :: BatchSuspendUserResponse -> BatchSuspendUserResponse -> Bool
$c== :: BatchSuspendUserResponse -> BatchSuspendUserResponse -> Bool
Prelude.Eq, ReadPrec [BatchSuspendUserResponse]
ReadPrec BatchSuspendUserResponse
Int -> ReadS BatchSuspendUserResponse
ReadS [BatchSuspendUserResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchSuspendUserResponse]
$creadListPrec :: ReadPrec [BatchSuspendUserResponse]
readPrec :: ReadPrec BatchSuspendUserResponse
$creadPrec :: ReadPrec BatchSuspendUserResponse
readList :: ReadS [BatchSuspendUserResponse]
$creadList :: ReadS [BatchSuspendUserResponse]
readsPrec :: Int -> ReadS BatchSuspendUserResponse
$creadsPrec :: Int -> ReadS BatchSuspendUserResponse
Prelude.Read, Int -> BatchSuspendUserResponse -> ShowS
[BatchSuspendUserResponse] -> ShowS
BatchSuspendUserResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchSuspendUserResponse] -> ShowS
$cshowList :: [BatchSuspendUserResponse] -> ShowS
show :: BatchSuspendUserResponse -> String
$cshow :: BatchSuspendUserResponse -> String
showsPrec :: Int -> BatchSuspendUserResponse -> ShowS
$cshowsPrec :: Int -> BatchSuspendUserResponse -> ShowS
Prelude.Show, forall x.
Rep BatchSuspendUserResponse x -> BatchSuspendUserResponse
forall x.
BatchSuspendUserResponse -> Rep BatchSuspendUserResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BatchSuspendUserResponse x -> BatchSuspendUserResponse
$cfrom :: forall x.
BatchSuspendUserResponse -> Rep BatchSuspendUserResponse x
Prelude.Generic)
newBatchSuspendUserResponse ::
Prelude.Int ->
BatchSuspendUserResponse
newBatchSuspendUserResponse :: Int -> BatchSuspendUserResponse
newBatchSuspendUserResponse Int
pHttpStatus_ =
BatchSuspendUserResponse'
{ $sel:userErrors:BatchSuspendUserResponse' :: Maybe [UserError]
userErrors =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:BatchSuspendUserResponse' :: Int
httpStatus = Int
pHttpStatus_
}
batchSuspendUserResponse_userErrors :: Lens.Lens' BatchSuspendUserResponse (Prelude.Maybe [UserError])
batchSuspendUserResponse_userErrors :: Lens' BatchSuspendUserResponse (Maybe [UserError])
batchSuspendUserResponse_userErrors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchSuspendUserResponse' {Maybe [UserError]
userErrors :: Maybe [UserError]
$sel:userErrors:BatchSuspendUserResponse' :: BatchSuspendUserResponse -> Maybe [UserError]
userErrors} -> Maybe [UserError]
userErrors) (\s :: BatchSuspendUserResponse
s@BatchSuspendUserResponse' {} Maybe [UserError]
a -> BatchSuspendUserResponse
s {$sel:userErrors:BatchSuspendUserResponse' :: Maybe [UserError]
userErrors = Maybe [UserError]
a} :: BatchSuspendUserResponse) 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
batchSuspendUserResponse_httpStatus :: Lens.Lens' BatchSuspendUserResponse Prelude.Int
batchSuspendUserResponse_httpStatus :: Lens' BatchSuspendUserResponse Int
batchSuspendUserResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchSuspendUserResponse' {Int
httpStatus :: Int
$sel:httpStatus:BatchSuspendUserResponse' :: BatchSuspendUserResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: BatchSuspendUserResponse
s@BatchSuspendUserResponse' {} Int
a -> BatchSuspendUserResponse
s {$sel:httpStatus:BatchSuspendUserResponse' :: Int
httpStatus = Int
a} :: BatchSuspendUserResponse)
instance Prelude.NFData BatchSuspendUserResponse where
rnf :: BatchSuspendUserResponse -> ()
rnf BatchSuspendUserResponse' {Int
Maybe [UserError]
httpStatus :: Int
userErrors :: Maybe [UserError]
$sel:httpStatus:BatchSuspendUserResponse' :: BatchSuspendUserResponse -> Int
$sel:userErrors:BatchSuspendUserResponse' :: BatchSuspendUserResponse -> Maybe [UserError]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [UserError]
userErrors
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus