{-# 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.SNS.Types.PublishBatchRequestEntry where
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 Amazonka.SNS.Types.MessageAttributeValue
data PublishBatchRequestEntry = PublishBatchRequestEntry'
{
PublishBatchRequestEntry
-> Maybe (HashMap Text MessageAttributeValue)
messageAttributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text MessageAttributeValue),
PublishBatchRequestEntry -> Maybe Text
messageDeduplicationId :: Prelude.Maybe Prelude.Text,
PublishBatchRequestEntry -> Maybe Text
messageGroupId :: Prelude.Maybe Prelude.Text,
PublishBatchRequestEntry -> Maybe Text
messageStructure :: Prelude.Maybe Prelude.Text,
PublishBatchRequestEntry -> Maybe Text
subject :: Prelude.Maybe Prelude.Text,
PublishBatchRequestEntry -> Text
id :: Prelude.Text,
PublishBatchRequestEntry -> Text
message :: Prelude.Text
}
deriving (PublishBatchRequestEntry -> PublishBatchRequestEntry -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PublishBatchRequestEntry -> PublishBatchRequestEntry -> Bool
$c/= :: PublishBatchRequestEntry -> PublishBatchRequestEntry -> Bool
== :: PublishBatchRequestEntry -> PublishBatchRequestEntry -> Bool
$c== :: PublishBatchRequestEntry -> PublishBatchRequestEntry -> Bool
Prelude.Eq, ReadPrec [PublishBatchRequestEntry]
ReadPrec PublishBatchRequestEntry
Int -> ReadS PublishBatchRequestEntry
ReadS [PublishBatchRequestEntry]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PublishBatchRequestEntry]
$creadListPrec :: ReadPrec [PublishBatchRequestEntry]
readPrec :: ReadPrec PublishBatchRequestEntry
$creadPrec :: ReadPrec PublishBatchRequestEntry
readList :: ReadS [PublishBatchRequestEntry]
$creadList :: ReadS [PublishBatchRequestEntry]
readsPrec :: Int -> ReadS PublishBatchRequestEntry
$creadsPrec :: Int -> ReadS PublishBatchRequestEntry
Prelude.Read, Int -> PublishBatchRequestEntry -> ShowS
[PublishBatchRequestEntry] -> ShowS
PublishBatchRequestEntry -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PublishBatchRequestEntry] -> ShowS
$cshowList :: [PublishBatchRequestEntry] -> ShowS
show :: PublishBatchRequestEntry -> String
$cshow :: PublishBatchRequestEntry -> String
showsPrec :: Int -> PublishBatchRequestEntry -> ShowS
$cshowsPrec :: Int -> PublishBatchRequestEntry -> ShowS
Prelude.Show, forall x.
Rep PublishBatchRequestEntry x -> PublishBatchRequestEntry
forall x.
PublishBatchRequestEntry -> Rep PublishBatchRequestEntry x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PublishBatchRequestEntry x -> PublishBatchRequestEntry
$cfrom :: forall x.
PublishBatchRequestEntry -> Rep PublishBatchRequestEntry x
Prelude.Generic)
newPublishBatchRequestEntry ::
Prelude.Text ->
Prelude.Text ->
PublishBatchRequestEntry
newPublishBatchRequestEntry :: Text -> Text -> PublishBatchRequestEntry
newPublishBatchRequestEntry Text
pId_ Text
pMessage_ =
PublishBatchRequestEntry'
{ $sel:messageAttributes:PublishBatchRequestEntry' :: Maybe (HashMap Text MessageAttributeValue)
messageAttributes =
forall a. Maybe a
Prelude.Nothing,
$sel:messageDeduplicationId:PublishBatchRequestEntry' :: Maybe Text
messageDeduplicationId = forall a. Maybe a
Prelude.Nothing,
$sel:messageGroupId:PublishBatchRequestEntry' :: Maybe Text
messageGroupId = forall a. Maybe a
Prelude.Nothing,
$sel:messageStructure:PublishBatchRequestEntry' :: Maybe Text
messageStructure = forall a. Maybe a
Prelude.Nothing,
$sel:subject:PublishBatchRequestEntry' :: Maybe Text
subject = forall a. Maybe a
Prelude.Nothing,
$sel:id:PublishBatchRequestEntry' :: Text
id = Text
pId_,
$sel:message:PublishBatchRequestEntry' :: Text
message = Text
pMessage_
}
publishBatchRequestEntry_messageAttributes :: Lens.Lens' PublishBatchRequestEntry (Prelude.Maybe (Prelude.HashMap Prelude.Text MessageAttributeValue))
publishBatchRequestEntry_messageAttributes :: Lens'
PublishBatchRequestEntry
(Maybe (HashMap Text MessageAttributeValue))
publishBatchRequestEntry_messageAttributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Maybe (HashMap Text MessageAttributeValue)
messageAttributes :: Maybe (HashMap Text MessageAttributeValue)
$sel:messageAttributes:PublishBatchRequestEntry' :: PublishBatchRequestEntry
-> Maybe (HashMap Text MessageAttributeValue)
messageAttributes} -> Maybe (HashMap Text MessageAttributeValue)
messageAttributes) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Maybe (HashMap Text MessageAttributeValue)
a -> PublishBatchRequestEntry
s {$sel:messageAttributes:PublishBatchRequestEntry' :: Maybe (HashMap Text MessageAttributeValue)
messageAttributes = Maybe (HashMap Text MessageAttributeValue)
a} :: PublishBatchRequestEntry) 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
publishBatchRequestEntry_messageDeduplicationId :: Lens.Lens' PublishBatchRequestEntry (Prelude.Maybe Prelude.Text)
publishBatchRequestEntry_messageDeduplicationId :: Lens' PublishBatchRequestEntry (Maybe Text)
publishBatchRequestEntry_messageDeduplicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Maybe Text
messageDeduplicationId :: Maybe Text
$sel:messageDeduplicationId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
messageDeduplicationId} -> Maybe Text
messageDeduplicationId) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Maybe Text
a -> PublishBatchRequestEntry
s {$sel:messageDeduplicationId:PublishBatchRequestEntry' :: Maybe Text
messageDeduplicationId = Maybe Text
a} :: PublishBatchRequestEntry)
publishBatchRequestEntry_messageGroupId :: Lens.Lens' PublishBatchRequestEntry (Prelude.Maybe Prelude.Text)
publishBatchRequestEntry_messageGroupId :: Lens' PublishBatchRequestEntry (Maybe Text)
publishBatchRequestEntry_messageGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Maybe Text
messageGroupId :: Maybe Text
$sel:messageGroupId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
messageGroupId} -> Maybe Text
messageGroupId) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Maybe Text
a -> PublishBatchRequestEntry
s {$sel:messageGroupId:PublishBatchRequestEntry' :: Maybe Text
messageGroupId = Maybe Text
a} :: PublishBatchRequestEntry)
publishBatchRequestEntry_messageStructure :: Lens.Lens' PublishBatchRequestEntry (Prelude.Maybe Prelude.Text)
publishBatchRequestEntry_messageStructure :: Lens' PublishBatchRequestEntry (Maybe Text)
publishBatchRequestEntry_messageStructure = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Maybe Text
messageStructure :: Maybe Text
$sel:messageStructure:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
messageStructure} -> Maybe Text
messageStructure) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Maybe Text
a -> PublishBatchRequestEntry
s {$sel:messageStructure:PublishBatchRequestEntry' :: Maybe Text
messageStructure = Maybe Text
a} :: PublishBatchRequestEntry)
publishBatchRequestEntry_subject :: Lens.Lens' PublishBatchRequestEntry (Prelude.Maybe Prelude.Text)
publishBatchRequestEntry_subject :: Lens' PublishBatchRequestEntry (Maybe Text)
publishBatchRequestEntry_subject = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Maybe Text
subject :: Maybe Text
$sel:subject:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
subject} -> Maybe Text
subject) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Maybe Text
a -> PublishBatchRequestEntry
s {$sel:subject:PublishBatchRequestEntry' :: Maybe Text
subject = Maybe Text
a} :: PublishBatchRequestEntry)
publishBatchRequestEntry_id :: Lens.Lens' PublishBatchRequestEntry Prelude.Text
publishBatchRequestEntry_id :: Lens' PublishBatchRequestEntry Text
publishBatchRequestEntry_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Text
id :: Text
$sel:id:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
id} -> Text
id) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Text
a -> PublishBatchRequestEntry
s {$sel:id:PublishBatchRequestEntry' :: Text
id = Text
a} :: PublishBatchRequestEntry)
publishBatchRequestEntry_message :: Lens.Lens' PublishBatchRequestEntry Prelude.Text
publishBatchRequestEntry_message :: Lens' PublishBatchRequestEntry Text
publishBatchRequestEntry_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PublishBatchRequestEntry' {Text
message :: Text
$sel:message:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
message} -> Text
message) (\s :: PublishBatchRequestEntry
s@PublishBatchRequestEntry' {} Text
a -> PublishBatchRequestEntry
s {$sel:message:PublishBatchRequestEntry' :: Text
message = Text
a} :: PublishBatchRequestEntry)
instance Prelude.Hashable PublishBatchRequestEntry where
hashWithSalt :: Int -> PublishBatchRequestEntry -> Int
hashWithSalt Int
_salt PublishBatchRequestEntry' {Maybe Text
Maybe (HashMap Text MessageAttributeValue)
Text
message :: Text
id :: Text
subject :: Maybe Text
messageStructure :: Maybe Text
messageGroupId :: Maybe Text
messageDeduplicationId :: Maybe Text
messageAttributes :: Maybe (HashMap Text MessageAttributeValue)
$sel:message:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:id:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:subject:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageStructure:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageGroupId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageDeduplicationId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageAttributes:PublishBatchRequestEntry' :: PublishBatchRequestEntry
-> Maybe (HashMap Text MessageAttributeValue)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text MessageAttributeValue)
messageAttributes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
messageDeduplicationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
messageGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
messageStructure
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
subject
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
message
instance Prelude.NFData PublishBatchRequestEntry where
rnf :: PublishBatchRequestEntry -> ()
rnf PublishBatchRequestEntry' {Maybe Text
Maybe (HashMap Text MessageAttributeValue)
Text
message :: Text
id :: Text
subject :: Maybe Text
messageStructure :: Maybe Text
messageGroupId :: Maybe Text
messageDeduplicationId :: Maybe Text
messageAttributes :: Maybe (HashMap Text MessageAttributeValue)
$sel:message:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:id:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:subject:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageStructure:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageGroupId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageDeduplicationId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageAttributes:PublishBatchRequestEntry' :: PublishBatchRequestEntry
-> Maybe (HashMap Text MessageAttributeValue)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text MessageAttributeValue)
messageAttributes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
messageDeduplicationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
messageGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
messageStructure
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subject
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
message
instance Data.ToQuery PublishBatchRequestEntry where
toQuery :: PublishBatchRequestEntry -> QueryString
toQuery PublishBatchRequestEntry' {Maybe Text
Maybe (HashMap Text MessageAttributeValue)
Text
message :: Text
id :: Text
subject :: Maybe Text
messageStructure :: Maybe Text
messageGroupId :: Maybe Text
messageDeduplicationId :: Maybe Text
messageAttributes :: Maybe (HashMap Text MessageAttributeValue)
$sel:message:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:id:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Text
$sel:subject:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageStructure:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageGroupId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageDeduplicationId:PublishBatchRequestEntry' :: PublishBatchRequestEntry -> Maybe Text
$sel:messageAttributes:PublishBatchRequestEntry' :: PublishBatchRequestEntry
-> Maybe (HashMap Text MessageAttributeValue)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"MessageAttributes"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall k v.
(ToQuery k, ToQuery v) =>
ByteString
-> ByteString -> ByteString -> HashMap k v -> QueryString
Data.toQueryMap ByteString
"entry" ByteString
"Name" ByteString
"Value"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text MessageAttributeValue)
messageAttributes
),
ByteString
"MessageDeduplicationId"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
messageDeduplicationId,
ByteString
"MessageGroupId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
messageGroupId,
ByteString
"MessageStructure" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
messageStructure,
ByteString
"Subject" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
subject,
ByteString
"Id" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
id,
ByteString
"Message" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
message
]