AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateTopicRequest.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/core/utils/memory/stl/AWSVector.h>
12#include <aws/sns/model/Tag.h>
13#include <utility>
14
15namespace Aws
16{
17namespace SNS
18{
19namespace Model
20{
21
28 {
29 public:
30 AWS_SNS_API CreateTopicRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateTopic"; }
37
38 AWS_SNS_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
53 inline const Aws::String& GetName() const { return m_name; }
54 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
55 template<typename NameT = Aws::String>
56 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
57 template<typename NameT = Aws::String>
58 CreateTopicRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
60
62
121 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
122 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
123 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
124 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
125 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
126 CreateTopicRequest& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
127 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
128 CreateTopicRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
129 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
130 }
132
134
139 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
140 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
141 template<typename TagsT = Aws::Vector<Tag>>
142 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
143 template<typename TagsT = Aws::Vector<Tag>>
144 CreateTopicRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
145 template<typename TagsT = Tag>
146 CreateTopicRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
148
150
155 inline const Aws::String& GetDataProtectionPolicy() const { return m_dataProtectionPolicy; }
156 inline bool DataProtectionPolicyHasBeenSet() const { return m_dataProtectionPolicyHasBeenSet; }
157 template<typename DataProtectionPolicyT = Aws::String>
158 void SetDataProtectionPolicy(DataProtectionPolicyT&& value) { m_dataProtectionPolicyHasBeenSet = true; m_dataProtectionPolicy = std::forward<DataProtectionPolicyT>(value); }
159 template<typename DataProtectionPolicyT = Aws::String>
160 CreateTopicRequest& WithDataProtectionPolicy(DataProtectionPolicyT&& value) { SetDataProtectionPolicy(std::forward<DataProtectionPolicyT>(value)); return *this;}
162 private:
163
164 Aws::String m_name;
165 bool m_nameHasBeenSet = false;
166
168 bool m_attributesHasBeenSet = false;
169
170 Aws::Vector<Tag> m_tags;
171 bool m_tagsHasBeenSet = false;
172
173 Aws::String m_dataProtectionPolicy;
174 bool m_dataProtectionPolicyHasBeenSet = false;
175 };
176
177} // namespace Model
178} // namespace SNS
179} // namespace Aws
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
const Aws::String & GetName() const
CreateTopicRequest & WithName(NameT &&value)
AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateTopicRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetAttributes(AttributesT &&value)
const Aws::String & GetDataProtectionPolicy() const
CreateTopicRequest & WithTags(TagsT &&value)
CreateTopicRequest & AddTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
CreateTopicRequest & WithDataProtectionPolicy(DataProtectionPolicyT &&value)
void SetDataProtectionPolicy(DataProtectionPolicyT &&value)
CreateTopicRequest & WithAttributes(AttributesT &&value)
AWS_SNS_API Aws::String SerializePayload() const override
AWS_SNS_API CreateTopicRequest()=default
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
std::vector< T, Aws::Allocator< T > > Vector