{-# 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.MessageRequest 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.AddressConfiguration
import Amazonka.Pinpoint.Types.DirectMessageConfiguration
import Amazonka.Pinpoint.Types.EndpointSendConfiguration
import Amazonka.Pinpoint.Types.TemplateConfiguration
import qualified Amazonka.Prelude as Prelude
data MessageRequest = MessageRequest'
{
MessageRequest -> Maybe (HashMap Text AddressConfiguration)
addresses :: Prelude.Maybe (Prelude.HashMap Prelude.Text AddressConfiguration),
MessageRequest -> Maybe (HashMap Text Text)
context :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
MessageRequest -> Maybe (HashMap Text EndpointSendConfiguration)
endpoints :: Prelude.Maybe (Prelude.HashMap Prelude.Text EndpointSendConfiguration),
MessageRequest -> Maybe TemplateConfiguration
templateConfiguration :: Prelude.Maybe TemplateConfiguration,
MessageRequest -> Maybe Text
traceId :: Prelude.Maybe Prelude.Text,
MessageRequest -> DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
}
deriving (MessageRequest -> MessageRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MessageRequest -> MessageRequest -> Bool
$c/= :: MessageRequest -> MessageRequest -> Bool
== :: MessageRequest -> MessageRequest -> Bool
$c== :: MessageRequest -> MessageRequest -> Bool
Prelude.Eq, ReadPrec [MessageRequest]
ReadPrec MessageRequest
Int -> ReadS MessageRequest
ReadS [MessageRequest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MessageRequest]
$creadListPrec :: ReadPrec [MessageRequest]
readPrec :: ReadPrec MessageRequest
$creadPrec :: ReadPrec MessageRequest
readList :: ReadS [MessageRequest]
$creadList :: ReadS [MessageRequest]
readsPrec :: Int -> ReadS MessageRequest
$creadsPrec :: Int -> ReadS MessageRequest
Prelude.Read, Int -> MessageRequest -> ShowS
[MessageRequest] -> ShowS
MessageRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MessageRequest] -> ShowS
$cshowList :: [MessageRequest] -> ShowS
show :: MessageRequest -> String
$cshow :: MessageRequest -> String
showsPrec :: Int -> MessageRequest -> ShowS
$cshowsPrec :: Int -> MessageRequest -> ShowS
Prelude.Show, forall x. Rep MessageRequest x -> MessageRequest
forall x. MessageRequest -> Rep MessageRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MessageRequest x -> MessageRequest
$cfrom :: forall x. MessageRequest -> Rep MessageRequest x
Prelude.Generic)
newMessageRequest ::
DirectMessageConfiguration ->
MessageRequest
newMessageRequest :: DirectMessageConfiguration -> MessageRequest
newMessageRequest DirectMessageConfiguration
pMessageConfiguration_ =
MessageRequest'
{ $sel:addresses:MessageRequest' :: Maybe (HashMap Text AddressConfiguration)
addresses = forall a. Maybe a
Prelude.Nothing,
$sel:context:MessageRequest' :: Maybe (HashMap Text Text)
context = forall a. Maybe a
Prelude.Nothing,
$sel:endpoints:MessageRequest' :: Maybe (HashMap Text EndpointSendConfiguration)
endpoints = forall a. Maybe a
Prelude.Nothing,
$sel:templateConfiguration:MessageRequest' :: Maybe TemplateConfiguration
templateConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:traceId:MessageRequest' :: Maybe Text
traceId = forall a. Maybe a
Prelude.Nothing,
$sel:messageConfiguration:MessageRequest' :: DirectMessageConfiguration
messageConfiguration = DirectMessageConfiguration
pMessageConfiguration_
}
messageRequest_addresses :: Lens.Lens' MessageRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text AddressConfiguration))
messageRequest_addresses :: Lens' MessageRequest (Maybe (HashMap Text AddressConfiguration))
messageRequest_addresses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {Maybe (HashMap Text AddressConfiguration)
addresses :: Maybe (HashMap Text AddressConfiguration)
$sel:addresses:MessageRequest' :: MessageRequest -> Maybe (HashMap Text AddressConfiguration)
addresses} -> Maybe (HashMap Text AddressConfiguration)
addresses) (\s :: MessageRequest
s@MessageRequest' {} Maybe (HashMap Text AddressConfiguration)
a -> MessageRequest
s {$sel:addresses:MessageRequest' :: Maybe (HashMap Text AddressConfiguration)
addresses = Maybe (HashMap Text AddressConfiguration)
a} :: MessageRequest) 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
messageRequest_context :: Lens.Lens' MessageRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
messageRequest_context :: Lens' MessageRequest (Maybe (HashMap Text Text))
messageRequest_context = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {Maybe (HashMap Text Text)
context :: Maybe (HashMap Text Text)
$sel:context:MessageRequest' :: MessageRequest -> Maybe (HashMap Text Text)
context} -> Maybe (HashMap Text Text)
context) (\s :: MessageRequest
s@MessageRequest' {} Maybe (HashMap Text Text)
a -> MessageRequest
s {$sel:context:MessageRequest' :: Maybe (HashMap Text Text)
context = Maybe (HashMap Text Text)
a} :: MessageRequest) 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
messageRequest_endpoints :: Lens.Lens' MessageRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text EndpointSendConfiguration))
messageRequest_endpoints :: Lens'
MessageRequest (Maybe (HashMap Text EndpointSendConfiguration))
messageRequest_endpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {Maybe (HashMap Text EndpointSendConfiguration)
endpoints :: Maybe (HashMap Text EndpointSendConfiguration)
$sel:endpoints:MessageRequest' :: MessageRequest -> Maybe (HashMap Text EndpointSendConfiguration)
endpoints} -> Maybe (HashMap Text EndpointSendConfiguration)
endpoints) (\s :: MessageRequest
s@MessageRequest' {} Maybe (HashMap Text EndpointSendConfiguration)
a -> MessageRequest
s {$sel:endpoints:MessageRequest' :: Maybe (HashMap Text EndpointSendConfiguration)
endpoints = Maybe (HashMap Text EndpointSendConfiguration)
a} :: MessageRequest) 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
messageRequest_templateConfiguration :: Lens.Lens' MessageRequest (Prelude.Maybe TemplateConfiguration)
messageRequest_templateConfiguration :: Lens' MessageRequest (Maybe TemplateConfiguration)
messageRequest_templateConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {Maybe TemplateConfiguration
templateConfiguration :: Maybe TemplateConfiguration
$sel:templateConfiguration:MessageRequest' :: MessageRequest -> Maybe TemplateConfiguration
templateConfiguration} -> Maybe TemplateConfiguration
templateConfiguration) (\s :: MessageRequest
s@MessageRequest' {} Maybe TemplateConfiguration
a -> MessageRequest
s {$sel:templateConfiguration:MessageRequest' :: Maybe TemplateConfiguration
templateConfiguration = Maybe TemplateConfiguration
a} :: MessageRequest)
messageRequest_traceId :: Lens.Lens' MessageRequest (Prelude.Maybe Prelude.Text)
messageRequest_traceId :: Lens' MessageRequest (Maybe Text)
messageRequest_traceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {Maybe Text
traceId :: Maybe Text
$sel:traceId:MessageRequest' :: MessageRequest -> Maybe Text
traceId} -> Maybe Text
traceId) (\s :: MessageRequest
s@MessageRequest' {} Maybe Text
a -> MessageRequest
s {$sel:traceId:MessageRequest' :: Maybe Text
traceId = Maybe Text
a} :: MessageRequest)
messageRequest_messageConfiguration :: Lens.Lens' MessageRequest DirectMessageConfiguration
messageRequest_messageConfiguration :: Lens' MessageRequest DirectMessageConfiguration
messageRequest_messageConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MessageRequest' {DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
$sel:messageConfiguration:MessageRequest' :: MessageRequest -> DirectMessageConfiguration
messageConfiguration} -> DirectMessageConfiguration
messageConfiguration) (\s :: MessageRequest
s@MessageRequest' {} DirectMessageConfiguration
a -> MessageRequest
s {$sel:messageConfiguration:MessageRequest' :: DirectMessageConfiguration
messageConfiguration = DirectMessageConfiguration
a} :: MessageRequest)
instance Prelude.Hashable MessageRequest where
hashWithSalt :: Int -> MessageRequest -> Int
hashWithSalt Int
_salt MessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text AddressConfiguration)
Maybe (HashMap Text EndpointSendConfiguration)
Maybe TemplateConfiguration
DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
endpoints :: Maybe (HashMap Text EndpointSendConfiguration)
context :: Maybe (HashMap Text Text)
addresses :: Maybe (HashMap Text AddressConfiguration)
$sel:messageConfiguration:MessageRequest' :: MessageRequest -> DirectMessageConfiguration
$sel:traceId:MessageRequest' :: MessageRequest -> Maybe Text
$sel:templateConfiguration:MessageRequest' :: MessageRequest -> Maybe TemplateConfiguration
$sel:endpoints:MessageRequest' :: MessageRequest -> Maybe (HashMap Text EndpointSendConfiguration)
$sel:context:MessageRequest' :: MessageRequest -> Maybe (HashMap Text Text)
$sel:addresses:MessageRequest' :: MessageRequest -> Maybe (HashMap Text AddressConfiguration)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text AddressConfiguration)
addresses
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
context
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text EndpointSendConfiguration)
endpoints
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
instance Prelude.NFData MessageRequest where
rnf :: MessageRequest -> ()
rnf MessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text AddressConfiguration)
Maybe (HashMap Text EndpointSendConfiguration)
Maybe TemplateConfiguration
DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
endpoints :: Maybe (HashMap Text EndpointSendConfiguration)
context :: Maybe (HashMap Text Text)
addresses :: Maybe (HashMap Text AddressConfiguration)
$sel:messageConfiguration:MessageRequest' :: MessageRequest -> DirectMessageConfiguration
$sel:traceId:MessageRequest' :: MessageRequest -> Maybe Text
$sel:templateConfiguration:MessageRequest' :: MessageRequest -> Maybe TemplateConfiguration
$sel:endpoints:MessageRequest' :: MessageRequest -> Maybe (HashMap Text EndpointSendConfiguration)
$sel:context:MessageRequest' :: MessageRequest -> Maybe (HashMap Text Text)
$sel:addresses:MessageRequest' :: MessageRequest -> Maybe (HashMap Text AddressConfiguration)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text AddressConfiguration)
addresses
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 (HashMap Text EndpointSendConfiguration)
endpoints
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
instance Data.ToJSON MessageRequest where
toJSON :: MessageRequest -> Value
toJSON MessageRequest' {Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text AddressConfiguration)
Maybe (HashMap Text EndpointSendConfiguration)
Maybe TemplateConfiguration
DirectMessageConfiguration
messageConfiguration :: DirectMessageConfiguration
traceId :: Maybe Text
templateConfiguration :: Maybe TemplateConfiguration
endpoints :: Maybe (HashMap Text EndpointSendConfiguration)
context :: Maybe (HashMap Text Text)
addresses :: Maybe (HashMap Text AddressConfiguration)
$sel:messageConfiguration:MessageRequest' :: MessageRequest -> DirectMessageConfiguration
$sel:traceId:MessageRequest' :: MessageRequest -> Maybe Text
$sel:templateConfiguration:MessageRequest' :: MessageRequest -> Maybe TemplateConfiguration
$sel:endpoints:MessageRequest' :: MessageRequest -> Maybe (HashMap Text EndpointSendConfiguration)
$sel:context:MessageRequest' :: MessageRequest -> Maybe (HashMap Text Text)
$sel:addresses:MessageRequest' :: MessageRequest -> Maybe (HashMap Text AddressConfiguration)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Addresses" 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 AddressConfiguration)
addresses,
(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
"Endpoints" 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 EndpointSendConfiguration)
endpoints,
(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
)
]
)