AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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/s3/S3_EXPORTS.h>
10#include <aws/s3/model/AbortIncompleteMultipartUpload.h>
11#include <aws/s3/model/ExpirationStatus.h>
12#include <aws/s3/model/LifecycleExpiration.h>
13#include <aws/s3/model/LifecycleRuleFilter.h>
14#include <aws/s3/model/NoncurrentVersionExpiration.h>
15#include <aws/s3/model/NoncurrentVersionTransition.h>
16#include <aws/s3/model/Transition.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace S3 {
27namespace Model {
28
39 public:
40 AWS_S3_API LifecycleRule() = default;
41 AWS_S3_API LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
45
47
51 inline const LifecycleExpiration& GetExpiration() const { return m_expiration; }
52 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
53 template <typename ExpirationT = LifecycleExpiration>
54 void SetExpiration(ExpirationT&& value) {
55 m_expirationHasBeenSet = true;
56 m_expiration = std::forward<ExpirationT>(value);
57 }
58 template <typename ExpirationT = LifecycleExpiration>
59 LifecycleRule& WithExpiration(ExpirationT&& value) {
60 SetExpiration(std::forward<ExpirationT>(value));
61 return *this;
62 }
64
66
70 inline const Aws::String& GetID() const { return m_iD; }
71 inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
72 template <typename IDT = Aws::String>
73 void SetID(IDT&& value) {
74 m_iDHasBeenSet = true;
75 m_iD = std::forward<IDT>(value);
76 }
77 template <typename IDT = Aws::String>
78 LifecycleRule& WithID(IDT&& value) {
79 SetID(std::forward<IDT>(value));
80 return *this;
81 }
83
85
98 inline const LifecycleRuleFilter& GetFilter() const { return m_filter; }
99 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
100 template <typename FilterT = LifecycleRuleFilter>
101 void SetFilter(FilterT&& value) {
102 m_filterHasBeenSet = true;
103 m_filter = std::forward<FilterT>(value);
104 }
105 template <typename FilterT = LifecycleRuleFilter>
106 LifecycleRule& WithFilter(FilterT&& value) {
107 SetFilter(std::forward<FilterT>(value));
108 return *this;
109 }
111
113
117 inline ExpirationStatus GetStatus() const { return m_status; }
118 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
119 inline void SetStatus(ExpirationStatus value) {
120 m_statusHasBeenSet = true;
121 m_status = value;
122 }
124 SetStatus(value);
125 return *this;
126 }
128
130
135 inline const Aws::Vector<Transition>& GetTransitions() const { return m_transitions; }
136 inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; }
137 template <typename TransitionsT = Aws::Vector<Transition>>
138 void SetTransitions(TransitionsT&& value) {
139 m_transitionsHasBeenSet = true;
140 m_transitions = std::forward<TransitionsT>(value);
141 }
142 template <typename TransitionsT = Aws::Vector<Transition>>
143 LifecycleRule& WithTransitions(TransitionsT&& value) {
144 SetTransitions(std::forward<TransitionsT>(value));
145 return *this;
146 }
147 template <typename TransitionsT = Transition>
148 LifecycleRule& AddTransitions(TransitionsT&& value) {
149 m_transitionsHasBeenSet = true;
150 m_transitions.emplace_back(std::forward<TransitionsT>(value));
151 return *this;
152 }
154
156
165 inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const { return m_noncurrentVersionTransitions; }
166 inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; }
167 template <typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
168 void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
169 m_noncurrentVersionTransitionsHasBeenSet = true;
170 m_noncurrentVersionTransitions = std::forward<NoncurrentVersionTransitionsT>(value);
171 }
172 template <typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
173 LifecycleRule& WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
174 SetNoncurrentVersionTransitions(std::forward<NoncurrentVersionTransitionsT>(value));
175 return *this;
176 }
177 template <typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
178 LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) {
179 m_noncurrentVersionTransitionsHasBeenSet = true;
180 m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value));
181 return *this;
182 }
184
186
187 inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const { return m_noncurrentVersionExpiration; }
188 inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; }
189 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
190 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
191 m_noncurrentVersionExpirationHasBeenSet = true;
192 m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value);
193 }
194 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
195 LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
196 SetNoncurrentVersionExpiration(std::forward<NoncurrentVersionExpirationT>(value));
197 return *this;
198 }
200
202
203 inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const { return m_abortIncompleteMultipartUpload; }
204 inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; }
205 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
206 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
207 m_abortIncompleteMultipartUploadHasBeenSet = true;
208 m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value);
209 }
210 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
211 LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
212 SetAbortIncompleteMultipartUpload(std::forward<AbortIncompleteMultipartUploadT>(value));
213 return *this;
214 }
216 private:
217 LifecycleExpiration m_expiration;
218
219 Aws::String m_iD;
220
221 LifecycleRuleFilter m_filter;
222
224
225 Aws::Vector<Transition> m_transitions;
226
227 Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions;
228
229 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
230
231 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
232 bool m_expirationHasBeenSet = false;
233 bool m_iDHasBeenSet = false;
234 bool m_filterHasBeenSet = false;
235 bool m_statusHasBeenSet = false;
236 bool m_transitionsHasBeenSet = false;
237 bool m_noncurrentVersionTransitionsHasBeenSet = false;
238 bool m_noncurrentVersionExpirationHasBeenSet = false;
239 bool m_abortIncompleteMultipartUploadHasBeenSet = false;
240};
241
242} // namespace Model
243} // namespace S3
244} // namespace Aws
LifecycleRule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
LifecycleRule & WithID(IDT &&value)
LifecycleRule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
void SetTransitions(TransitionsT &&value)
const LifecycleExpiration & GetExpiration() const
void SetExpiration(ExpirationT &&value)
AWS_S3_API LifecycleRule(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Transition > & GetTransitions() const
bool NoncurrentVersionTransitionsHasBeenSet() const
bool AbortIncompleteMultipartUploadHasBeenSet() const
void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
LifecycleRule & WithTransitions(TransitionsT &&value)
LifecycleRule & AddTransitions(TransitionsT &&value)
AWS_S3_API LifecycleRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
LifecycleRule & AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
ExpirationStatus GetStatus() const
const LifecycleRuleFilter & GetFilter() const
bool NoncurrentVersionExpirationHasBeenSet() const
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
LifecycleRule & WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
void SetFilter(FilterT &&value)
void SetStatus(ExpirationStatus value)
LifecycleRule & WithExpiration(ExpirationT &&value)
const Aws::Vector< NoncurrentVersionTransition > & GetNoncurrentVersionTransitions() const
LifecycleRule & WithFilter(FilterT &&value)
const Aws::String & GetID() const
LifecycleRule & WithStatus(ExpirationStatus value)
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
AWS_S3_API LifecycleRule()=default
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector