7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/model/LifecycleExpiration.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3/model/LifecycleRuleFilter.h>
11#include <aws/s3/model/ExpirationStatus.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/s3/model/NoncurrentVersionExpiration.h>
14#include <aws/s3/model/AbortIncompleteMultipartUpload.h>
15#include <aws/s3/model/Transition.h>
16#include <aws/s3/model/NoncurrentVersionTransition.h>
59 template<
typename ExpirationT = LifecycleExpiration>
60 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet =
true; m_expiration = std::forward<ExpirationT>(value); }
61 template<
typename ExpirationT = LifecycleExpiration>
72 template<
typename IDT = Aws::String>
73 void SetID(IDT&& value) { m_iDHasBeenSet =
true; m_iD = std::forward<IDT>(value); }
74 template<
typename IDT = Aws::String>
94 template<
typename FilterT = LifecycleRuleFilter>
95 void SetFilter(FilterT&& value) { m_filterHasBeenSet =
true; m_filter = std::forward<FilterT>(value); }
96 template<
typename FilterT = LifecycleRuleFilter>
119 template<
typename TransitionsT = Aws::Vector<Transition>>
120 void SetTransitions(TransitionsT&& value) { m_transitionsHasBeenSet =
true; m_transitions = std::forward<TransitionsT>(value); }
121 template<
typename TransitionsT = Aws::Vector<Transition>>
123 template<
typename TransitionsT = Transition>
124 LifecycleRule&
AddTransitions(TransitionsT&& value) { m_transitionsHasBeenSet =
true; m_transitions.emplace_back(std::forward<TransitionsT>(value));
return *
this; }
139 template<
typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
140 void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { m_noncurrentVersionTransitionsHasBeenSet =
true; m_noncurrentVersionTransitions = std::forward<NoncurrentVersionTransitionsT>(value); }
141 template<
typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
143 template<
typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
144 LifecycleRule&
AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { m_noncurrentVersionTransitionsHasBeenSet =
true; m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value));
return *
this; }
151 template<
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
152 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { m_noncurrentVersionExpirationHasBeenSet =
true; m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value); }
153 template<
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
161 template<
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
162 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { m_abortIncompleteMultipartUploadHasBeenSet =
true; m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value); }
163 template<
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
169 bool m_expirationHasBeenSet =
false;
172 bool m_iDHasBeenSet =
false;
175 bool m_filterHasBeenSet =
false;
178 bool m_statusHasBeenSet =
false;
181 bool m_transitionsHasBeenSet =
false;
184 bool m_noncurrentVersionTransitionsHasBeenSet =
false;
186 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
187 bool m_noncurrentVersionExpirationHasBeenSet =
false;
189 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
190 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