AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
LifecycleRule.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/s3control/S3Control_EXPORTS.h>
10#include <aws/s3control/model/AbortIncompleteMultipartUpload.h>
11#include <aws/s3control/model/ExpirationStatus.h>
12#include <aws/s3control/model/LifecycleExpiration.h>
13#include <aws/s3control/model/LifecycleRuleFilter.h>
14#include <aws/s3control/model/NoncurrentVersionExpiration.h>
15#include <aws/s3control/model/NoncurrentVersionTransition.h>
16#include <aws/s3control/model/Transition.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace S3Control {
27namespace Model {
28
36 public:
37 AWS_S3CONTROL_API LifecycleRule() = default;
38 AWS_S3CONTROL_API LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode);
39 AWS_S3CONTROL_API LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42
44
48 inline const LifecycleExpiration& GetExpiration() const { return m_expiration; }
49 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
50 template <typename ExpirationT = LifecycleExpiration>
51 void SetExpiration(ExpirationT&& value) {
52 m_expirationHasBeenSet = true;
53 m_expiration = std::forward<ExpirationT>(value);
54 }
55 template <typename ExpirationT = LifecycleExpiration>
56 LifecycleRule& WithExpiration(ExpirationT&& value) {
57 SetExpiration(std::forward<ExpirationT>(value));
58 return *this;
59 }
61
63
67 inline const Aws::String& GetID() const { return m_iD; }
68 inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
69 template <typename IDT = Aws::String>
70 void SetID(IDT&& value) {
71 m_iDHasBeenSet = true;
72 m_iD = std::forward<IDT>(value);
73 }
74 template <typename IDT = Aws::String>
75 LifecycleRule& WithID(IDT&& value) {
76 SetID(std::forward<IDT>(value));
77 return *this;
78 }
80
82
85 inline const LifecycleRuleFilter& GetFilter() const { return m_filter; }
86 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
87 template <typename FilterT = LifecycleRuleFilter>
88 void SetFilter(FilterT&& value) {
89 m_filterHasBeenSet = true;
90 m_filter = std::forward<FilterT>(value);
91 }
92 template <typename FilterT = LifecycleRuleFilter>
93 LifecycleRule& WithFilter(FilterT&& value) {
94 SetFilter(std::forward<FilterT>(value));
95 return *this;
96 }
98
100
104 inline ExpirationStatus GetStatus() const { return m_status; }
105 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
106 inline void SetStatus(ExpirationStatus value) {
107 m_statusHasBeenSet = true;
108 m_status = value;
109 }
111 SetStatus(value);
112 return *this;
113 }
115
117
122 inline const Aws::Vector<Transition>& GetTransitions() const { return m_transitions; }
123 inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; }
124 template <typename TransitionsT = Aws::Vector<Transition>>
125 void SetTransitions(TransitionsT&& value) {
126 m_transitionsHasBeenSet = true;
127 m_transitions = std::forward<TransitionsT>(value);
128 }
129 template <typename TransitionsT = Aws::Vector<Transition>>
130 LifecycleRule& WithTransitions(TransitionsT&& value) {
131 SetTransitions(std::forward<TransitionsT>(value));
132 return *this;
133 }
134 template <typename TransitionsT = Transition>
135 LifecycleRule& AddTransitions(TransitionsT&& value) {
136 m_transitionsHasBeenSet = true;
137 m_transitions.emplace_back(std::forward<TransitionsT>(value));
138 return *this;
139 }
141
143
151 inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const { return m_noncurrentVersionTransitions; }
152 inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; }
153 template <typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
154 void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
155 m_noncurrentVersionTransitionsHasBeenSet = true;
156 m_noncurrentVersionTransitions = std::forward<NoncurrentVersionTransitionsT>(value);
157 }
158 template <typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
159 LifecycleRule& WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
160 SetNoncurrentVersionTransitions(std::forward<NoncurrentVersionTransitionsT>(value));
161 return *this;
162 }
163 template <typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
164 LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
165 m_noncurrentVersionTransitionsHasBeenSet = true;
166 m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value));
167 return *this;
168 }
170
172
175 inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const { return m_noncurrentVersionExpiration; }
176 inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; }
177 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
178 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
179 m_noncurrentVersionExpirationHasBeenSet = true;
180 m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value);
181 }
182 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
183 LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
184 SetNoncurrentVersionExpiration(std::forward<NoncurrentVersionExpirationT>(value));
185 return *this;
186 }
188
190
198 inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const { return m_abortIncompleteMultipartUpload; }
199 inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; }
200 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
201 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
202 m_abortIncompleteMultipartUploadHasBeenSet = true;
203 m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value);
204 }
205 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
206 LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
207 SetAbortIncompleteMultipartUpload(std::forward<AbortIncompleteMultipartUploadT>(value));
208 return *this;
209 }
211 private:
212 LifecycleExpiration m_expiration;
213
214 Aws::String m_iD;
215
216 LifecycleRuleFilter m_filter;
217
219
220 Aws::Vector<Transition> m_transitions;
221
222 Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions;
223
224 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
225
226 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
227 bool m_expirationHasBeenSet = false;
228 bool m_iDHasBeenSet = false;
229 bool m_filterHasBeenSet = false;
230 bool m_statusHasBeenSet = false;
231 bool m_transitionsHasBeenSet = false;
232 bool m_noncurrentVersionTransitionsHasBeenSet = false;
233 bool m_noncurrentVersionExpirationHasBeenSet = false;
234 bool m_abortIncompleteMultipartUploadHasBeenSet = false;
235};
236
237} // namespace Model
238} // namespace S3Control
239} // namespace Aws
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
AWS_S3CONTROL_API LifecycleRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
void SetTransitions(TransitionsT &&value)
LifecycleRule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
void SetStatus(ExpirationStatus value)
LifecycleRule & WithFilter(FilterT &&value)
ExpirationStatus GetStatus() const
LifecycleRule & WithID(IDT &&value)
const LifecycleRuleFilter & GetFilter() const
LifecycleRule & AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
AWS_S3CONTROL_API LifecycleRule()=default
void SetExpiration(ExpirationT &&value)
const Aws::Vector< NoncurrentVersionTransition > & GetNoncurrentVersionTransitions() const
LifecycleRule & WithTransitions(TransitionsT &&value)
void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
LifecycleRule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
AWS_S3CONTROL_API LifecycleRule(const Aws::Utils::Xml::XmlNode &xmlNode)
LifecycleRule & AddTransitions(TransitionsT &&value)
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
const Aws::Vector< Transition > & GetTransitions() const
const LifecycleExpiration & GetExpiration() const
LifecycleRule & WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
const Aws::String & GetID() const
LifecycleRule & WithExpiration(ExpirationT &&value)
LifecycleRule & WithStatus(ExpirationStatus value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector