AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PublishRequest.h
1
6#pragma once
7#include <aws/sns/SNS_EXPORTS.h>
8#include <aws/sns/SNSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/sns/model/MessageAttributeValue.h>
12#include <utility>
13
14namespace Aws
15{
16namespace SNS
17{
18namespace Model
19{
20
27 {
28 public:
29 AWS_SNS_API PublishRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "Publish"; }
36
37 AWS_SNS_API Aws::String SerializePayload() const override;
38
39 protected:
40 AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
41
42 public:
43
45
50 inline const Aws::String& GetTopicArn() const { return m_topicArn; }
51 inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; }
52 template<typename TopicArnT = Aws::String>
53 void SetTopicArn(TopicArnT&& value) { m_topicArnHasBeenSet = true; m_topicArn = std::forward<TopicArnT>(value); }
54 template<typename TopicArnT = Aws::String>
55 PublishRequest& WithTopicArn(TopicArnT&& value) { SetTopicArn(std::forward<TopicArnT>(value)); return *this;}
57
59
64 inline const Aws::String& GetTargetArn() const { return m_targetArn; }
65 inline bool TargetArnHasBeenSet() const { return m_targetArnHasBeenSet; }
66 template<typename TargetArnT = Aws::String>
67 void SetTargetArn(TargetArnT&& value) { m_targetArnHasBeenSet = true; m_targetArn = std::forward<TargetArnT>(value); }
68 template<typename TargetArnT = Aws::String>
69 PublishRequest& WithTargetArn(TargetArnT&& value) { SetTargetArn(std::forward<TargetArnT>(value)); return *this;}
71
73
79 inline const Aws::String& GetPhoneNumber() const { return m_phoneNumber; }
80 inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; }
81 template<typename PhoneNumberT = Aws::String>
82 void SetPhoneNumber(PhoneNumberT&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::forward<PhoneNumberT>(value); }
83 template<typename PhoneNumberT = Aws::String>
84 PublishRequest& WithPhoneNumber(PhoneNumberT&& value) { SetPhoneNumber(std::forward<PhoneNumberT>(value)); return *this;}
86
88
118 inline const Aws::String& GetMessage() const { return m_message; }
119 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
120 template<typename MessageT = Aws::String>
121 void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward<MessageT>(value); }
122 template<typename MessageT = Aws::String>
123 PublishRequest& WithMessage(MessageT&& value) { SetMessage(std::forward<MessageT>(value)); return *this;}
125
127
134 inline const Aws::String& GetSubject() const { return m_subject; }
135 inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; }
136 template<typename SubjectT = Aws::String>
137 void SetSubject(SubjectT&& value) { m_subjectHasBeenSet = true; m_subject = std::forward<SubjectT>(value); }
138 template<typename SubjectT = Aws::String>
139 PublishRequest& WithSubject(SubjectT&& value) { SetSubject(std::forward<SubjectT>(value)); return *this;}
141
143
155 inline const Aws::String& GetMessageStructure() const { return m_messageStructure; }
156 inline bool MessageStructureHasBeenSet() const { return m_messageStructureHasBeenSet; }
157 template<typename MessageStructureT = Aws::String>
158 void SetMessageStructure(MessageStructureT&& value) { m_messageStructureHasBeenSet = true; m_messageStructure = std::forward<MessageStructureT>(value); }
159 template<typename MessageStructureT = Aws::String>
160 PublishRequest& WithMessageStructure(MessageStructureT&& value) { SetMessageStructure(std::forward<MessageStructureT>(value)); return *this;}
162
164
167 inline const Aws::Map<Aws::String, MessageAttributeValue>& GetMessageAttributes() const { return m_messageAttributes; }
168 inline bool MessageAttributesHasBeenSet() const { return m_messageAttributesHasBeenSet; }
169 template<typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
170 void SetMessageAttributes(MessageAttributesT&& value) { m_messageAttributesHasBeenSet = true; m_messageAttributes = std::forward<MessageAttributesT>(value); }
171 template<typename MessageAttributesT = Aws::Map<Aws::String, MessageAttributeValue>>
172 PublishRequest& WithMessageAttributes(MessageAttributesT&& value) { SetMessageAttributes(std::forward<MessageAttributesT>(value)); return *this;}
173 template<typename MessageAttributesKeyT = Aws::String, typename MessageAttributesValueT = MessageAttributeValue>
174 PublishRequest& AddMessageAttributes(MessageAttributesKeyT&& key, MessageAttributesValueT&& value) {
175 m_messageAttributesHasBeenSet = true; m_messageAttributes.emplace(std::forward<MessageAttributesKeyT>(key), std::forward<MessageAttributesValueT>(value)); return *this;
176 }
178
180
216 inline const Aws::String& GetMessageDeduplicationId() const { return m_messageDeduplicationId; }
217 inline bool MessageDeduplicationIdHasBeenSet() const { return m_messageDeduplicationIdHasBeenSet; }
218 template<typename MessageDeduplicationIdT = Aws::String>
219 void SetMessageDeduplicationId(MessageDeduplicationIdT&& value) { m_messageDeduplicationIdHasBeenSet = true; m_messageDeduplicationId = std::forward<MessageDeduplicationIdT>(value); }
220 template<typename MessageDeduplicationIdT = Aws::String>
221 PublishRequest& WithMessageDeduplicationId(MessageDeduplicationIdT&& value) { SetMessageDeduplicationId(std::forward<MessageDeduplicationIdT>(value)); return *this;}
223
225
236 inline const Aws::String& GetMessageGroupId() const { return m_messageGroupId; }
237 inline bool MessageGroupIdHasBeenSet() const { return m_messageGroupIdHasBeenSet; }
238 template<typename MessageGroupIdT = Aws::String>
239 void SetMessageGroupId(MessageGroupIdT&& value) { m_messageGroupIdHasBeenSet = true; m_messageGroupId = std::forward<MessageGroupIdT>(value); }
240 template<typename MessageGroupIdT = Aws::String>
241 PublishRequest& WithMessageGroupId(MessageGroupIdT&& value) { SetMessageGroupId(std::forward<MessageGroupIdT>(value)); return *this;}
243 private:
244
245 Aws::String m_topicArn;
246 bool m_topicArnHasBeenSet = false;
247
248 Aws::String m_targetArn;
249 bool m_targetArnHasBeenSet = false;
250
251 Aws::String m_phoneNumber;
252 bool m_phoneNumberHasBeenSet = false;
253
254 Aws::String m_message;
255 bool m_messageHasBeenSet = false;
256
257 Aws::String m_subject;
258 bool m_subjectHasBeenSet = false;
259
260 Aws::String m_messageStructure;
261 bool m_messageStructureHasBeenSet = false;
262
264 bool m_messageAttributesHasBeenSet = false;
265
266 Aws::String m_messageDeduplicationId;
267 bool m_messageDeduplicationIdHasBeenSet = false;
268
269 Aws::String m_messageGroupId;
270 bool m_messageGroupIdHasBeenSet = false;
271 };
272
273} // namespace Model
274} // namespace SNS
275} // 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