AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TopicReplication.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/kafka/Kafka_EXPORTS.h>
10#include <aws/kafka/model/ReplicationStartingPosition.h>
11#include <aws/kafka/model/ReplicationTopicNameConfiguration.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Kafka {
23namespace Model {
24
31 public:
32 AWS_KAFKA_API TopicReplication() = default;
35 AWS_KAFKA_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline bool GetCopyAccessControlListsForTopics() const { return m_copyAccessControlListsForTopics; }
43 inline bool CopyAccessControlListsForTopicsHasBeenSet() const { return m_copyAccessControlListsForTopicsHasBeenSet; }
44 inline void SetCopyAccessControlListsForTopics(bool value) {
45 m_copyAccessControlListsForTopicsHasBeenSet = true;
46 m_copyAccessControlListsForTopics = value;
47 }
50 return *this;
51 }
53
55
59 inline bool GetCopyTopicConfigurations() const { return m_copyTopicConfigurations; }
60 inline bool CopyTopicConfigurationsHasBeenSet() const { return m_copyTopicConfigurationsHasBeenSet; }
61 inline void SetCopyTopicConfigurations(bool value) {
62 m_copyTopicConfigurationsHasBeenSet = true;
63 m_copyTopicConfigurations = value;
64 }
67 return *this;
68 }
70
72
75 inline bool GetDetectAndCopyNewTopics() const { return m_detectAndCopyNewTopics; }
76 inline bool DetectAndCopyNewTopicsHasBeenSet() const { return m_detectAndCopyNewTopicsHasBeenSet; }
77 inline void SetDetectAndCopyNewTopics(bool value) {
78 m_detectAndCopyNewTopicsHasBeenSet = true;
79 m_detectAndCopyNewTopics = value;
80 }
83 return *this;
84 }
86
88
92 inline const ReplicationStartingPosition& GetStartingPosition() const { return m_startingPosition; }
93 inline bool StartingPositionHasBeenSet() const { return m_startingPositionHasBeenSet; }
94 template <typename StartingPositionT = ReplicationStartingPosition>
95 void SetStartingPosition(StartingPositionT&& value) {
96 m_startingPositionHasBeenSet = true;
97 m_startingPosition = std::forward<StartingPositionT>(value);
98 }
99 template <typename StartingPositionT = ReplicationStartingPosition>
100 TopicReplication& WithStartingPosition(StartingPositionT&& value) {
101 SetStartingPosition(std::forward<StartingPositionT>(value));
102 return *this;
103 }
105
107
111 inline const ReplicationTopicNameConfiguration& GetTopicNameConfiguration() const { return m_topicNameConfiguration; }
112 inline bool TopicNameConfigurationHasBeenSet() const { return m_topicNameConfigurationHasBeenSet; }
113 template <typename TopicNameConfigurationT = ReplicationTopicNameConfiguration>
114 void SetTopicNameConfiguration(TopicNameConfigurationT&& value) {
115 m_topicNameConfigurationHasBeenSet = true;
116 m_topicNameConfiguration = std::forward<TopicNameConfigurationT>(value);
117 }
118 template <typename TopicNameConfigurationT = ReplicationTopicNameConfiguration>
119 TopicReplication& WithTopicNameConfiguration(TopicNameConfigurationT&& value) {
120 SetTopicNameConfiguration(std::forward<TopicNameConfigurationT>(value));
121 return *this;
122 }
124
126
130 inline const Aws::Vector<Aws::String>& GetTopicsToExclude() const { return m_topicsToExclude; }
131 inline bool TopicsToExcludeHasBeenSet() const { return m_topicsToExcludeHasBeenSet; }
132 template <typename TopicsToExcludeT = Aws::Vector<Aws::String>>
133 void SetTopicsToExclude(TopicsToExcludeT&& value) {
134 m_topicsToExcludeHasBeenSet = true;
135 m_topicsToExclude = std::forward<TopicsToExcludeT>(value);
136 }
137 template <typename TopicsToExcludeT = Aws::Vector<Aws::String>>
138 TopicReplication& WithTopicsToExclude(TopicsToExcludeT&& value) {
139 SetTopicsToExclude(std::forward<TopicsToExcludeT>(value));
140 return *this;
141 }
142 template <typename TopicsToExcludeT = Aws::String>
143 TopicReplication& AddTopicsToExclude(TopicsToExcludeT&& value) {
144 m_topicsToExcludeHasBeenSet = true;
145 m_topicsToExclude.emplace_back(std::forward<TopicsToExcludeT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::Vector<Aws::String>& GetTopicsToReplicate() const { return m_topicsToReplicate; }
155 inline bool TopicsToReplicateHasBeenSet() const { return m_topicsToReplicateHasBeenSet; }
156 template <typename TopicsToReplicateT = Aws::Vector<Aws::String>>
157 void SetTopicsToReplicate(TopicsToReplicateT&& value) {
158 m_topicsToReplicateHasBeenSet = true;
159 m_topicsToReplicate = std::forward<TopicsToReplicateT>(value);
160 }
161 template <typename TopicsToReplicateT = Aws::Vector<Aws::String>>
162 TopicReplication& WithTopicsToReplicate(TopicsToReplicateT&& value) {
163 SetTopicsToReplicate(std::forward<TopicsToReplicateT>(value));
164 return *this;
165 }
166 template <typename TopicsToReplicateT = Aws::String>
167 TopicReplication& AddTopicsToReplicate(TopicsToReplicateT&& value) {
168 m_topicsToReplicateHasBeenSet = true;
169 m_topicsToReplicate.emplace_back(std::forward<TopicsToReplicateT>(value));
170 return *this;
171 }
173 private:
174 bool m_copyAccessControlListsForTopics{false};
175
176 bool m_copyTopicConfigurations{false};
177
178 bool m_detectAndCopyNewTopics{false};
179
180 ReplicationStartingPosition m_startingPosition;
181
182 ReplicationTopicNameConfiguration m_topicNameConfiguration;
183
184 Aws::Vector<Aws::String> m_topicsToExclude;
185
186 Aws::Vector<Aws::String> m_topicsToReplicate;
187 bool m_copyAccessControlListsForTopicsHasBeenSet = false;
188 bool m_copyTopicConfigurationsHasBeenSet = false;
189 bool m_detectAndCopyNewTopicsHasBeenSet = false;
190 bool m_startingPositionHasBeenSet = false;
191 bool m_topicNameConfigurationHasBeenSet = false;
192 bool m_topicsToExcludeHasBeenSet = false;
193 bool m_topicsToReplicateHasBeenSet = false;
194};
195
196} // namespace Model
197} // namespace Kafka
198} // namespace Aws
TopicReplication & WithDetectAndCopyNewTopics(bool value)
void SetTopicsToExclude(TopicsToExcludeT &&value)
TopicReplication & WithStartingPosition(StartingPositionT &&value)
TopicReplication & AddTopicsToReplicate(TopicsToReplicateT &&value)
const Aws::Vector< Aws::String > & GetTopicsToReplicate() const
TopicReplication & WithTopicNameConfiguration(TopicNameConfigurationT &&value)
void SetTopicsToReplicate(TopicsToReplicateT &&value)
AWS_KAFKA_API TopicReplication(Aws::Utils::Json::JsonView jsonValue)
void SetCopyAccessControlListsForTopics(bool value)
TopicReplication & WithTopicsToExclude(TopicsToExcludeT &&value)
AWS_KAFKA_API TopicReplication()=default
void SetTopicNameConfiguration(TopicNameConfigurationT &&value)
void SetStartingPosition(StartingPositionT &&value)
TopicReplication & WithCopyAccessControlListsForTopics(bool value)
TopicReplication & AddTopicsToExclude(TopicsToExcludeT &&value)
TopicReplication & WithCopyTopicConfigurations(bool value)
AWS_KAFKA_API Aws::Utils::Json::JsonValue Jsonize() const
TopicReplication & WithTopicsToReplicate(TopicsToReplicateT &&value)
const ReplicationTopicNameConfiguration & GetTopicNameConfiguration() const
const Aws::Vector< Aws::String > & GetTopicsToExclude() const
const ReplicationStartingPosition & GetStartingPosition() const
AWS_KAFKA_API TopicReplication & operator=(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue