{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Pinpoint.Types.SendUsersMessageRequest where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pinpoint.Types.DirectMessageConfiguration
import Amazonka.Pinpoint.Types.EndpointSendConfiguration
import Amazonka.Pinpoint.Types.TemplateConfiguration
import qualified Amazonka.Prelude as Prelude
data SendUsersMessageRequest = SendUsersMessageRequest'
{
SendUsersMessageRequest -> Maybe (HashMap Text Text)
context :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
SendUsersMessageRequest -> Maybe TemplateConfiguration
templateConfiguration :: Prelude.Maybe TemplateConfiguration,
SendUsersMessageRequest -> Maybe Text
traceId :: Prelude.Maybe Prelude.Text,
SendUsersMessageRequest -> DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration,
SendUsersMessageRequest -> HashMap Text EndpointSendConfiguration
users :: Prelude.HashMap Prelude.Text EndpointSendConfiguration
}
deriving (SendUsersMessageRequest -> SendUsersMessageRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SendUsersMessageRequest -> SendUsersMessageRequest -> Bool
$c/= :: SendUsersMessageRequest -> SendUsersMessageRequest -> Bool
== :: SendUsersMessageRequest -> SendUsersMessageRequest -> Bool
$c== :: SendUsersMessageRequest -> SendUsersMessageRequest -> Bool
Prelude.Eq, ReadPrec [SendUsersMessageRequest]
ReadPrec SendUsersMessageRequest
Int -> ReadS SendUsersMessageRequest
ReadS [SendUsersMessageRequest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SendUsersMessageRequest]
$creadListPrec :: ReadPrec [SendUsersMessageRequest]
readPrec :: ReadPrec SendUsersMessageRequest
$creadPrec :: ReadPrec SendUsersMessageRequest
readList :: ReadS [SendUsersMessageRequest]
$creadList :: ReadS [SendUsersMessageRequest]
readsPrec :: Int -> ReadS SendUsersMessageRequest
$creadsPrec :: Int -> ReadS SendUsersMessageRequest
Prelude.Read, Int -> SendUsersMessageRequest -> ShowS
[SendUsersMessageRequest] -> ShowS
SendUsersMessageRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SendUsersMessageRequest] -> ShowS
$cshowList :: [SendUsersMessageRequest] -> ShowS
show :: SendUsersMessageRequest -> String
$cshow :: SendUsersMessageRequest -> String
showsPrec :: Int -> SendUsersMessageRequest -> ShowS
$cshowsPrec :: Int -> SendUsersMessageRequest -> ShowS
Prelude.Show, forall x. Rep SendUsersMessageRequest x -> SendUsersMessageRequest
forall x. SendUsersMessageRequest -> Rep SendUsersMessageRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SendUsersMessageRequest x -> SendUsersMessageRequest
$cfrom :: forall x. SendUsersMessageRequest -> Rep SendUsersMessageRequest x
Prelude.Generic)
newSendUsersMessageRequest ::
DirectMessageConfiguration ->
SendUsersMessageRequest
newSendUsersMessageRequest :: DirectMessageConfiguration -> SendUsersMessageRequest
newSendUsersMessageRequest DirectMessageConfiguration
pMessageConfiguration_ =
SendUsersMessageRequest'
{ $sel:context:SendUsersMessageRequest' :: Maybe (HashMap Text Text)
context = forall a. Maybe a
Prelude.Nothing,
$sel:templateConfiguration:SendUsersMessageRequest' :: Maybe TemplateConfiguration
templateConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:traceId:SendUsersMessageRequest' :: Maybe Text
traceId = forall a. Maybe a
Prelude.Nothing,
$sel:messageConfiguration:SendUsersMessageRequest' :: DirectMessageConfiguration
messageConfiguration = DirectMessageConfiguration
pMessageConfiguration_,
$sel:users:SendUsersMessageRequest' :: HashMap Text EndpointSendConfiguration
users = forall a. Monoid a => a
Prelude.mempty
}
sendUsersMessageRequest_context :: Lens.Lens' SendUsersMessageRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
sendUsersMessageRequest_context :: Lens' SendUsersMessageRequest (Maybe (HashMap Text Text))
sendUsersMessageRequest_context = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendUsersMessageRequest' {Maybe (HashMap Text Text)
context :: Maybe (HashMap Text Text)
$sel:context:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe (HashMap Text Text)
context} -> Maybe (HashMap Text Text)
context) (\s :: SendUsersMessageRequest
s@SendUsersMessageRequest' {} Maybe (HashMap Text Text)
a -> SendUsersMessageRequest
s {$sel:context:SendUsersMessageRequest' :: Maybe (HashMap Text Text)
context = Maybe (HashMap Text Text)
a} :: SendUsersMessageRequest) 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
sendUsersMessageRequest_templateConfiguration :: Lens.Lens' SendUsersMessageRequest (Prelude.Maybe TemplateConfiguration)
sendUsersMessageRequest_templateConfiguration :: Lens' SendUsersMessageRequest (Maybe TemplateConfiguration)
sendUsersMessageRequest_templateConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendUsersMessageRequest' {Maybe TemplateConfiguration
templateConfiguration :: Maybe TemplateConfiguration
$sel:templateConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe TemplateConfiguration
templateConfiguration} -> Maybe TemplateConfiguration
templateConfiguration) (\s :: SendUsersMessageRequest
s@SendUsersMessageRequest' {} Maybe TemplateConfiguration
a -> SendUsersMessageRequest
s {$sel:templateConfiguration:SendUsersMessageRequest' :: Maybe TemplateConfiguration
templateConfiguration = Maybe TemplateConfiguration
a} :: SendUsersMessageRequest)
sendUsersMessageRequest_traceId :: Lens.Lens' SendUsersMessageRequest (Prelude.Maybe Prelude.Text)
sendUsersMessageRequest_traceId :: Lens' SendUsersMessageRequest (Maybe Text)
sendUsersMessageRequest_traceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendUsersMessageRequest' {Maybe Text
traceId :: Maybe Text
$sel:traceId:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe Text
traceId} -> Maybe Text
traceId) (\s :: SendUsersMessageRequest
s@SendUsersMessageRequest' {} Maybe Text
a -> SendUsersMessageRequest
s {$sel:traceId:SendUsersMessageRequest' :: Maybe Text
traceId = Maybe Text
a} :: SendUsersMessageRequest)
sendUsersMessageRequest_messageConfiguration :: Lens.Lens' SendUsersMessageRequest DirectMessageConfiguration
sendUsersMessageRequest_messageConfiguration :: Lens' SendUsersMessageRequest DirectMessageConfiguration
sendUsersMessageRequest_messageConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendUsersMessageRequest' {DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
$sel:messageConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> DirectMessageConfiguration
messageConfiguration} -> DirectMessageConfiguration
messageConfiguration) (\s :: SendUsersMessageRequest
s@SendUsersMessageRequest' {} DirectMessageConfiguration
a -> SendUsersMessageRequest
s {$sel:messageConfiguration:SendUsersMessageRequest' :: DirectMessageConfiguration
messageConfiguration = DirectMessageConfiguration
a} :: SendUsersMessageRequest)
sendUsersMessageRequest_users :: Lens.Lens' SendUsersMessageRequest (Prelude.HashMap Prelude.Text EndpointSendConfiguration)
sendUsersMessageRequest_users :: Lens'
SendUsersMessageRequest (HashMap Text EndpointSendConfiguration)
sendUsersMessageRequest_users = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendUsersMessageRequest' {HashMap Text EndpointSendConfiguration
users :: HashMap Text EndpointSendConfiguration
$sel:users:SendUsersMessageRequest' :: SendUsersMessageRequest -> HashMap Text EndpointSendConfiguration
users} -> HashMap Text EndpointSendConfiguration
users) (\s :: SendUsersMessageRequest
s@SendUsersMessageRequest' {} HashMap Text EndpointSendConfiguration
a -> SendUsersMessageRequest
s {$sel:users:SendUsersMessageRequest' :: HashMap Text EndpointSendConfiguration
users = HashMap Text EndpointSendConfiguration
a} :: SendUsersMessageRequest) 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 Prelude.Hashable SendUsersMessageRequest where
hashWithSalt :: Int -> SendUsersMessageRequest -> Int
hashWithSalt Int
_salt SendUsersMessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe TemplateConfiguration
HashMap Text EndpointSendConfiguration
DirectMessageConfiguration
users :: HashMap Text EndpointSendConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
context :: Maybe (HashMap Text Text)
$sel:users:SendUsersMessageRequest' :: SendUsersMessageRequest -> HashMap Text EndpointSendConfiguration
$sel:messageConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> DirectMessageConfiguration
$sel:traceId:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe Text
$sel:templateConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe TemplateConfiguration
$sel:context:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe (HashMap Text Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
context
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TemplateConfiguration
templateConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
traceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DirectMessageConfiguration
messageConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HashMap Text EndpointSendConfiguration
users
instance Prelude.NFData SendUsersMessageRequest where
rnf :: SendUsersMessageRequest -> ()
rnf SendUsersMessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe TemplateConfiguration
HashMap Text EndpointSendConfiguration
DirectMessageConfiguration
users :: HashMap Text EndpointSendConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
context :: Maybe (HashMap Text Text)
$sel:users:SendUsersMessageRequest' :: SendUsersMessageRequest -> HashMap Text EndpointSendConfiguration
$sel:messageConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> DirectMessageConfiguration
$sel:traceId:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe Text
$sel:templateConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe TemplateConfiguration
$sel:context:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe (HashMap Text Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
context
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TemplateConfiguration
templateConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
traceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DirectMessageConfiguration
messageConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text EndpointSendConfiguration
users
instance Data.ToJSON SendUsersMessageRequest where
toJSON :: SendUsersMessageRequest -> Value
toJSON SendUsersMessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe TemplateConfiguration
HashMap Text EndpointSendConfiguration
DirectMessageConfiguration
users :: HashMap Text EndpointSendConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
context :: Maybe (HashMap Text Text)
$sel:users:SendUsersMessageRequest' :: SendUsersMessageRequest -> HashMap Text EndpointSendConfiguration
$sel:messageConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> DirectMessageConfiguration
$sel:traceId:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe Text
$sel:templateConfiguration:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe TemplateConfiguration
$sel:context:SendUsersMessageRequest' :: SendUsersMessageRequest -> Maybe (HashMap Text Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Context" 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 (HashMap Text Text)
context,
(Key
"TemplateConfiguration" 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 TemplateConfiguration
templateConfiguration,
(Key
"TraceId" 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 Text
traceId,
forall a. a -> Maybe a
Prelude.Just
( Key
"MessageConfiguration"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DirectMessageConfiguration
messageConfiguration
),
forall a. a -> Maybe a
Prelude.Just (Key
"Users" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= HashMap Text EndpointSendConfiguration
users)
]
)