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>
53 template <
typename ExpirationT = LifecycleExpiration>
55 m_expirationHasBeenSet =
true;
56 m_expiration = std::forward<ExpirationT>(value);
58 template <
typename ExpirationT = LifecycleExpiration>
72 template <
typename IDT = Aws::String>
74 m_iDHasBeenSet =
true;
75 m_iD = std::forward<IDT>(value);
77 template <
typename IDT = Aws::String>
79 SetID(std::forward<IDT>(value));
100 template <
typename FilterT = LifecycleRuleFilter>
102 m_filterHasBeenSet =
true;
103 m_filter = std::forward<FilterT>(value);
105 template <
typename FilterT = LifecycleRuleFilter>
120 m_statusHasBeenSet =
true;
137 template <
typename TransitionsT = Aws::Vector<Transition>>
139 m_transitionsHasBeenSet =
true;
140 m_transitions = std::forward<TransitionsT>(value);
142 template <
typename TransitionsT = Aws::Vector<Transition>>
147 template <
typename TransitionsT = Transition>
149 m_transitionsHasBeenSet =
true;
150 m_transitions.emplace_back(std::forward<TransitionsT>(value));
167 template <
typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
169 m_noncurrentVersionTransitionsHasBeenSet =
true;
170 m_noncurrentVersionTransitions = std::forward<NoncurrentVersionTransitionsT>(value);
172 template <
typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
177 template <
typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
179 m_noncurrentVersionTransitionsHasBeenSet =
true;
180 m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value));
189 template <
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
191 m_noncurrentVersionExpirationHasBeenSet =
true;
192 m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value);
194 template <
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
205 template <
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
207 m_abortIncompleteMultipartUploadHasBeenSet =
true;
208 m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value);
210 template <
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
229 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
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;
LifecycleRule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
bool IDHasBeenSet() const
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
bool TransitionsHasBeenSet() 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
bool StatusHasBeenSet() const
AWS_S3_API LifecycleRule()=default
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
bool ExpirationHasBeenSet() const
bool FilterHasBeenSet() const
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector