AWS SDK for C++

AWS SDK for C++ Version 1.11.906

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
140 inline const Aws::String& GetMessage() const { return m_message; }
141 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
142 template <typename MessageT = Aws::String>
143 void SetMessage(MessageT&& value) {
144 m_messageHasBeenSet = true;
145 m_message = std::forward<MessageT>(value);
146 }
147 template <typename MessageT = Aws::String>
148 PublishRequest& WithMessage(MessageT&& value) {
149 SetMessage(std::forward<MessageT>(value));
150 return *this;
151 }
153
155
162 inline const Aws::String& GetSubject() const { return m_subject; }
163 inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; }
164 template <typename SubjectT = Aws::String>
165 void SetSubject(SubjectT&& value) {
166 m_subjectHasBeenSet = true;
167 m_subject = std::forward<SubjectT>(value);
168 }
169 template <typename SubjectT = Aws::String>
170 PublishRequest& WithSubject(SubjectT&& value) {
171 SetSubject(std::forward<SubjectT>(value));
172 return *this;
173 }
175
177
189 inline const Aws::String& GetMessageStructure() const { return m_messageStructure; }
190 inline bool MessageStructureHasBeenSet() const { return m_messageStructureHasBeenSet; }
191 template <typename MessageStructureT = Aws::String>
192 void SetMessageStructure(MessageStructureT&& value) {
193 m_messageStructureHasBeenSet = true;
194 m_messageStructure = std::forward<MessageStructureT>(value);
195 }
196 template <typename MessageStructureT = Aws::String>
197 PublishRequest& WithMessageStructure(MessageStructureT&& value) {
198 SetMessageStructure(std::forward<MessageStructureT>(value));
199 return *this;
200 }
202
204
207 inline const Aws::Map<Aws::String, MessageAttributeValue>& GetMessageAttributes() const { return m_messageAttributes; }
208 inline bool MessageAttributesHasBeenSet() const { return m_messageAttributesHasBeenSet; }
209 template <typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
210 void SetMessageAttributes(MessageAttributesT&& value) {
211 m_messageAttributesHasBeenSet = true;
212 m_messageAttributes = std::forward<MessageAttributesT>(value);
213 }
214 template <typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
215 PublishRequest& WithMessageAttributes(MessageAttributesT&& value) {
216 SetMessageAttributes(std::forward<MessageAttributesT>(value));
217 return *this;
218 }
219 template <typename MessageAttributesKeyT = Aws::String, typename MessageAttributesValueT = MessageAttributeValue>
220 PublishRequest& AddMessageAttributes(MessageAttributesKeyT&& key, MessageAttributesValueT&& value) {
221 m_messageAttributesHasBeenSet = true;
222 m_messageAttributes.emplace(std::forward<MessageAttributesKeyT>(key), std::forward<MessageAttributesValueT>(value));
223 return *this;
224 }
226
228
264 inline const Aws::String& GetMessageDeduplicationId() const { return m_messageDeduplicationId; }
265 inline bool MessageDeduplicationIdHasBeenSet() const { return m_messageDeduplicationIdHasBeenSet; }
266 template <typename MessageDeduplicationIdT = Aws::String>
267 void SetMessageDeduplicationId(MessageDeduplicationIdT&& value) {
268 m_messageDeduplicationIdHasBeenSet = true;
269 m_messageDeduplicationId = std::forward<MessageDeduplicationIdT>(value);
270 }
271 template <typename MessageDeduplicationIdT = Aws::String>
272 PublishRequest& WithMessageDeduplicationId(MessageDeduplicationIdT&& value) {
273 SetMessageDeduplicationId(std::forward<MessageDeduplicationIdT>(value));
274 return *this;
275 }
277
279
295 inline const Aws::String& GetMessageGroupId() const { return m_messageGroupId; }
296 inline bool MessageGroupIdHasBeenSet() const { return m_messageGroupIdHasBeenSet; }
297 template <typename MessageGroupIdT = Aws::String>
298 void SetMessageGroupId(MessageGroupIdT&& value) {
299 m_messageGroupIdHasBeenSet = true;
300 m_messageGroupId = std::forward<MessageGroupIdT>(value);
301 }
302 template <typename MessageGroupIdT = Aws::String>
303 PublishRequest& WithMessageGroupId(MessageGroupIdT&& value) {
304 SetMessageGroupId(std::forward<MessageGroupIdT>(value));
305 return *this;
306 }
308 private:
309 Aws::String m_topicArn;
310
311 Aws::String m_targetArn;
312
313 Aws::String m_phoneNumber;
314
315 Aws::String m_message;
316
317 Aws::String m_subject;
318
319 Aws::String m_messageStructure;
320
322
323 Aws::String m_messageDeduplicationId;
324
325 Aws::String m_messageGroupId;
326 bool m_topicArnHasBeenSet = false;
327 bool m_targetArnHasBeenSet = false;
328 bool m_phoneNumberHasBeenSet = false;
329 bool m_messageHasBeenSet = false;
330 bool m_subjectHasBeenSet = false;
331 bool m_messageStructureHasBeenSet = false;
332 bool m_messageAttributesHasBeenSet = false;
333 bool m_messageDeduplicationIdHasBeenSet = false;
334 bool m_messageGroupIdHasBeenSet = false;
335};
336
337} // namespace Model
338} // namespace SNS
339} // 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