AWS SDK for C++

AWS SDK for C++ Version 1.11.787

Loading...
Searching...
No Matches
PublishRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/sns/SNSRequest.h>
10#include <aws/sns/SNS_EXPORTS.h>
11#include <aws/sns/model/MessageAttributeValue.h>
12
13#include <utility>
14
15namespace Aws {
16namespace SNS {
17namespace Model {
18
24class PublishRequest : public SNSRequest {
25 public:
26 AWS_SNS_API PublishRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "Publish"; }
33
34 AWS_SNS_API Aws::String SerializePayload() const override;
35
36 protected:
37 AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
38
39 public:
41
46 inline const Aws::String& GetTopicArn() const { return m_topicArn; }
47 inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; }
48 template <typename TopicArnT = Aws::String>
49 void SetTopicArn(TopicArnT&& value) {
50 m_topicArnHasBeenSet = true;
51 m_topicArn = std::forward<TopicArnT>(value);
52 }
53 template <typename TopicArnT = Aws::String>
54 PublishRequest& WithTopicArn(TopicArnT&& value) {
55 SetTopicArn(std::forward<TopicArnT>(value));
56 return *this;
57 }
59
61
66 inline const Aws::String& GetTargetArn() const { return m_targetArn; }
67 inline bool TargetArnHasBeenSet() const { return m_targetArnHasBeenSet; }
68 template <typename TargetArnT = Aws::String>
69 void SetTargetArn(TargetArnT&& value) {
70 m_targetArnHasBeenSet = true;
71 m_targetArn = std::forward<TargetArnT>(value);
72 }
73 template <typename TargetArnT = Aws::String>
74 PublishRequest& WithTargetArn(TargetArnT&& value) {
75 SetTargetArn(std::forward<TargetArnT>(value));
76 return *this;
77 }
79
81
87 inline const Aws::String& GetPhoneNumber() const { return m_phoneNumber; }
88 inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; }
89 template <typename PhoneNumberT = Aws::String>
90 void SetPhoneNumber(PhoneNumberT&& value) {
91 m_phoneNumberHasBeenSet = true;
92 m_phoneNumber = std::forward<PhoneNumberT>(value);
93 }
94 template <typename PhoneNumberT = Aws::String>
95 PublishRequest& WithPhoneNumber(PhoneNumberT&& value) {
96 SetPhoneNumber(std::forward<PhoneNumberT>(value));
97 return *this;
98 }
100
102
132 inline const Aws::String& GetMessage() const { return m_message; }
133 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
134 template <typename MessageT = Aws::String>
135 void SetMessage(MessageT&& value) {
136 m_messageHasBeenSet = true;
137 m_message = std::forward<MessageT>(value);
138 }
139 template <typename MessageT = Aws::String>
140 PublishRequest& WithMessage(MessageT&& value) {
141 SetMessage(std::forward<MessageT>(value));
142 return *this;
143 }
145
147
154 inline const Aws::String& GetSubject() const { return m_subject; }
155 inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; }
156 template <typename SubjectT = Aws::String>
157 void SetSubject(SubjectT&& value) {
158 m_subjectHasBeenSet = true;
159 m_subject = std::forward<SubjectT>(value);
160 }
161 template <typename SubjectT = Aws::String>
162 PublishRequest& WithSubject(SubjectT&& value) {
163 SetSubject(std::forward<SubjectT>(value));
164 return *this;
165 }
167
169
181 inline const Aws::String& GetMessageStructure() const { return m_messageStructure; }
182 inline bool MessageStructureHasBeenSet() const { return m_messageStructureHasBeenSet; }
183 template <typename MessageStructureT = Aws::String>
184 void SetMessageStructure(MessageStructureT&& value) {
185 m_messageStructureHasBeenSet = true;
186 m_messageStructure = std::forward<MessageStructureT>(value);
187 }
188 template <typename MessageStructureT = Aws::String>
189 PublishRequest& WithMessageStructure(MessageStructureT&& value) {
190 SetMessageStructure(std::forward<MessageStructureT>(value));
191 return *this;
192 }
194
196
199 inline const Aws::Map<Aws::String, MessageAttributeValue>& GetMessageAttributes() const { return m_messageAttributes; }
200 inline bool MessageAttributesHasBeenSet() const { return m_messageAttributesHasBeenSet; }
201 template <typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
202 void SetMessageAttributes(MessageAttributesT&& value) {
203 m_messageAttributesHasBeenSet = true;
204 m_messageAttributes = std::forward<MessageAttributesT>(value);
205 }
206 template <typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
207 PublishRequest& WithMessageAttributes(MessageAttributesT&& value) {
208 SetMessageAttributes(std::forward<MessageAttributesT>(value));
209 return *this;
210 }
211 template <typename MessageAttributesKeyT = Aws::String, typename MessageAttributesValueT = MessageAttributeValue>
212 PublishRequest& AddMessageAttributes(MessageAttributesKeyT&& key, MessageAttributesValueT&& value) {
213 m_messageAttributesHasBeenSet = true;
214 m_messageAttributes.emplace(std::forward<MessageAttributesKeyT>(key), std::forward<MessageAttributesValueT>(value));
215 return *this;
216 }
218
220
256 inline const Aws::String& GetMessageDeduplicationId() const { return m_messageDeduplicationId; }
257 inline bool MessageDeduplicationIdHasBeenSet() const { return m_messageDeduplicationIdHasBeenSet; }
258 template <typename MessageDeduplicationIdT = Aws::String>
259 void SetMessageDeduplicationId(MessageDeduplicationIdT&& value) {
260 m_messageDeduplicationIdHasBeenSet = true;
261 m_messageDeduplicationId = std::forward<MessageDeduplicationIdT>(value);
262 }
263 template <typename MessageDeduplicationIdT = Aws::String>
264 PublishRequest& WithMessageDeduplicationId(MessageDeduplicationIdT&& value) {
265 SetMessageDeduplicationId(std::forward<MessageDeduplicationIdT>(value));
266 return *this;
267 }
269
271
287 inline const Aws::String& GetMessageGroupId() const { return m_messageGroupId; }
288 inline bool MessageGroupIdHasBeenSet() const { return m_messageGroupIdHasBeenSet; }
289 template <typename MessageGroupIdT = Aws::String>
290 void SetMessageGroupId(MessageGroupIdT&& value) {
291 m_messageGroupIdHasBeenSet = true;
292 m_messageGroupId = std::forward<MessageGroupIdT>(value);
293 }
294 template <typename MessageGroupIdT = Aws::String>
295 PublishRequest& WithMessageGroupId(MessageGroupIdT&& value) {
296 SetMessageGroupId(std::forward<MessageGroupIdT>(value));
297 return *this;
298 }
300 private:
301 Aws::String m_topicArn;
302
303 Aws::String m_targetArn;
304
305 Aws::String m_phoneNumber;
306
307 Aws::String m_message;
308
309 Aws::String m_subject;
310
311 Aws::String m_messageStructure;
312
314
315 Aws::String m_messageDeduplicationId;
316
317 Aws::String m_messageGroupId;
318 bool m_topicArnHasBeenSet = false;
319 bool m_targetArnHasBeenSet = false;
320 bool m_phoneNumberHasBeenSet = false;
321 bool m_messageHasBeenSet = false;
322 bool m_subjectHasBeenSet = false;
323 bool m_messageStructureHasBeenSet = false;
324 bool m_messageAttributesHasBeenSet = false;
325 bool m_messageDeduplicationIdHasBeenSet = false;
326 bool m_messageGroupIdHasBeenSet = false;
327};
328
329} // namespace Model
330} // namespace SNS
331} // namespace Aws
const Aws::String & GetMessageStructure() const
void SetMessageAttributes(MessageAttributesT &&value)
PublishRequest & WithMessage(MessageT &&value)
virtual const char * GetServiceRequestName() const override
void SetSubject(SubjectT &&value)
const Aws::String & GetTopicArn() const
void SetMessage(MessageT &&value)
const Aws::String & GetSubject() const
AWS_SNS_API PublishRequest()=default
PublishRequest & AddMessageAttributes(MessageAttributesKeyT &&key, MessageAttributesValueT &&value)
const Aws::String & GetPhoneNumber() const
PublishRequest & WithMessageGroupId(MessageGroupIdT &&value)
const Aws::Map< Aws::String, MessageAttributeValue > & GetMessageAttributes() const
void SetMessageDeduplicationId(MessageDeduplicationIdT &&value)
const Aws::String & GetMessageGroupId() const
PublishRequest & WithTargetArn(TargetArnT &&value)
AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const Aws::String & GetMessage() const
void SetMessageGroupId(MessageGroupIdT &&value)
const Aws::String & GetMessageDeduplicationId() const
PublishRequest & WithTopicArn(TopicArnT &&value)
void SetMessageStructure(MessageStructureT &&value)
const Aws::String & GetTargetArn() const
PublishRequest & WithSubject(SubjectT &&value)
PublishRequest & WithMessageAttributes(MessageAttributesT &&value)
void SetPhoneNumber(PhoneNumberT &&value)
void SetTopicArn(TopicArnT &&value)
AWS_SNS_API Aws::String SerializePayload() const override
PublishRequest & WithMessageDeduplicationId(MessageDeduplicationIdT &&value)
void SetTargetArn(TargetArnT &&value)
PublishRequest & WithMessageStructure(MessageStructureT &&value)
PublishRequest & WithPhoneNumber(PhoneNumberT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String