AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ReplicationRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/s3/S3_EXPORTS.h>
9#include <aws/s3/model/DeleteMarkerReplication.h>
10#include <aws/s3/model/Destination.h>
11#include <aws/s3/model/ExistingObjectReplication.h>
12#include <aws/s3/model/ReplicationRuleFilter.h>
13#include <aws/s3/model/ReplicationRuleStatus.h>
14#include <aws/s3/model/SourceSelectionCriteria.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace S3 {
25namespace Model {
26
34 public:
35 AWS_S3_API ReplicationRule() = default;
36 AWS_S3_API ReplicationRule(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
40
42
45 inline const Aws::String& GetID() const { return m_iD; }
46 inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
47 template <typename IDT = Aws::String>
48 void SetID(IDT&& value) {
49 m_iDHasBeenSet = true;
50 m_iD = std::forward<IDT>(value);
51 }
52 template <typename IDT = Aws::String>
53 ReplicationRule& WithID(IDT&& value) {
54 SetID(std::forward<IDT>(value));
55 return *this;
56 }
58
60
70 inline int GetPriority() const { return m_priority; }
71 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
72 inline void SetPriority(int value) {
73 m_priorityHasBeenSet = true;
74 m_priority = value;
75 }
76 inline ReplicationRule& WithPriority(int value) {
77 SetPriority(value);
78 return *this;
79 }
81
83
84 inline const ReplicationRuleFilter& GetFilter() const { return m_filter; }
85 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
86 template <typename FilterT = ReplicationRuleFilter>
87 void SetFilter(FilterT&& value) {
88 m_filterHasBeenSet = true;
89 m_filter = std::forward<FilterT>(value);
90 }
91 template <typename FilterT = ReplicationRuleFilter>
92 ReplicationRule& WithFilter(FilterT&& value) {
93 SetFilter(std::forward<FilterT>(value));
94 return *this;
95 }
97
99
102 inline ReplicationRuleStatus GetStatus() const { return m_status; }
103 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
104 inline void SetStatus(ReplicationRuleStatus value) {
105 m_statusHasBeenSet = true;
106 m_status = value;
107 }
109 SetStatus(value);
110 return *this;
111 }
113
115
122 inline const SourceSelectionCriteria& GetSourceSelectionCriteria() const { return m_sourceSelectionCriteria; }
123 inline bool SourceSelectionCriteriaHasBeenSet() const { return m_sourceSelectionCriteriaHasBeenSet; }
124 template <typename SourceSelectionCriteriaT = SourceSelectionCriteria>
125 void SetSourceSelectionCriteria(SourceSelectionCriteriaT&& value) {
126 m_sourceSelectionCriteriaHasBeenSet = true;
127 m_sourceSelectionCriteria = std::forward<SourceSelectionCriteriaT>(value);
128 }
129 template <typename SourceSelectionCriteriaT = SourceSelectionCriteria>
130 ReplicationRule& WithSourceSelectionCriteria(SourceSelectionCriteriaT&& value) {
131 SetSourceSelectionCriteria(std::forward<SourceSelectionCriteriaT>(value));
132 return *this;
133 }
135
137
145 inline const ExistingObjectReplication& GetExistingObjectReplication() const { return m_existingObjectReplication; }
146 inline bool ExistingObjectReplicationHasBeenSet() const { return m_existingObjectReplicationHasBeenSet; }
147 template <typename ExistingObjectReplicationT = ExistingObjectReplication>
148 void SetExistingObjectReplication(ExistingObjectReplicationT&& value) {
149 m_existingObjectReplicationHasBeenSet = true;
150 m_existingObjectReplication = std::forward<ExistingObjectReplicationT>(value);
151 }
152 template <typename ExistingObjectReplicationT = ExistingObjectReplication>
153 ReplicationRule& WithExistingObjectReplication(ExistingObjectReplicationT&& value) {
154 SetExistingObjectReplication(std::forward<ExistingObjectReplicationT>(value));
155 return *this;
156 }
158
160
164 inline const Destination& GetDestination() const { return m_destination; }
165 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
166 template <typename DestinationT = Destination>
167 void SetDestination(DestinationT&& value) {
168 m_destinationHasBeenSet = true;
169 m_destination = std::forward<DestinationT>(value);
170 }
171 template <typename DestinationT = Destination>
172 ReplicationRule& WithDestination(DestinationT&& value) {
173 SetDestination(std::forward<DestinationT>(value));
174 return *this;
175 }
177
179
180 inline const DeleteMarkerReplication& GetDeleteMarkerReplication() const { return m_deleteMarkerReplication; }
181 inline bool DeleteMarkerReplicationHasBeenSet() const { return m_deleteMarkerReplicationHasBeenSet; }
182 template <typename DeleteMarkerReplicationT = DeleteMarkerReplication>
183 void SetDeleteMarkerReplication(DeleteMarkerReplicationT&& value) {
184 m_deleteMarkerReplicationHasBeenSet = true;
185 m_deleteMarkerReplication = std::forward<DeleteMarkerReplicationT>(value);
186 }
187 template <typename DeleteMarkerReplicationT = DeleteMarkerReplication>
188 ReplicationRule& WithDeleteMarkerReplication(DeleteMarkerReplicationT&& value) {
189 SetDeleteMarkerReplication(std::forward<DeleteMarkerReplicationT>(value));
190 return *this;
191 }
193 private:
194 Aws::String m_iD;
195
196 int m_priority{0};
197
198 ReplicationRuleFilter m_filter;
199
201
202 SourceSelectionCriteria m_sourceSelectionCriteria;
203
204 ExistingObjectReplication m_existingObjectReplication;
205
206 Destination m_destination;
207
208 DeleteMarkerReplication m_deleteMarkerReplication;
209 bool m_iDHasBeenSet = false;
210 bool m_priorityHasBeenSet = false;
211 bool m_filterHasBeenSet = false;
212 bool m_statusHasBeenSet = false;
213 bool m_sourceSelectionCriteriaHasBeenSet = false;
214 bool m_existingObjectReplicationHasBeenSet = false;
215 bool m_destinationHasBeenSet = false;
216 bool m_deleteMarkerReplicationHasBeenSet = false;
217};
218
219} // namespace Model
220} // namespace S3
221} // namespace Aws
AWS_S3_API ReplicationRule()=default
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetSourceSelectionCriteria(SourceSelectionCriteriaT &&value)
void SetDestination(DestinationT &&value)
AWS_S3_API ReplicationRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const SourceSelectionCriteria & GetSourceSelectionCriteria() const
AWS_S3_API ReplicationRule(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetStatus(ReplicationRuleStatus value)
const Aws::String & GetID() const
const ExistingObjectReplication & GetExistingObjectReplication() const
void SetDeleteMarkerReplication(DeleteMarkerReplicationT &&value)
ReplicationRule & WithPriority(int value)
const ReplicationRuleFilter & GetFilter() const
ReplicationRule & WithFilter(FilterT &&value)
ReplicationRule & WithID(IDT &&value)
ReplicationRule & WithDeleteMarkerReplication(DeleteMarkerReplicationT &&value)
const Destination & GetDestination() const
void SetFilter(FilterT &&value)
ReplicationRule & WithStatus(ReplicationRuleStatus value)
ReplicationRule & WithExistingObjectReplication(ExistingObjectReplicationT &&value)
ReplicationRuleStatus GetStatus() const
ReplicationRule & WithDestination(DestinationT &&value)
void SetExistingObjectReplication(ExistingObjectReplicationT &&value)
const DeleteMarkerReplication & GetDeleteMarkerReplication() const
ReplicationRule & WithSourceSelectionCriteria(SourceSelectionCriteriaT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String