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/ExpirationStatus.h>
11#include <aws/s3/model/Transition.h>
12#include <aws/s3/model/NoncurrentVersionTransition.h>
13#include <aws/s3/model/NoncurrentVersionExpiration.h>
14#include <aws/s3/model/AbortIncompleteMultipartUpload.h>
45 AWS_S3_API
Rule() =
default;
58 template<
typename ExpirationT = LifecycleExpiration>
59 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet =
true; m_expiration = std::forward<ExpirationT>(value); }
60 template<
typename ExpirationT = LifecycleExpiration>
71 template<
typename IDT = Aws::String>
72 void SetID(IDT&& value) { m_iDHasBeenSet =
true; m_iD = std::forward<IDT>(value); }
73 template<
typename IDT = Aws::String>
88 template<
typename PrefixT = Aws::String>
89 void SetPrefix(PrefixT&& value) { m_prefixHasBeenSet =
true; m_prefix = std::forward<PrefixT>(value); }
90 template<
typename PrefixT = Aws::String>
114 template<
typename TransitionT = Transition>
115 void SetTransition(TransitionT&& value) { m_transitionHasBeenSet =
true; m_transition = std::forward<TransitionT>(value); }
116 template<
typename TransitionT = Transition>
124 template<
typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
125 void SetNoncurrentVersionTransition(NoncurrentVersionTransitionT&& value) { m_noncurrentVersionTransitionHasBeenSet =
true; m_noncurrentVersionTransition = std::forward<NoncurrentVersionTransitionT>(value); }
126 template<
typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
134 template<
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
135 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { m_noncurrentVersionExpirationHasBeenSet =
true; m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value); }
136 template<
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
144 template<
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
145 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { m_abortIncompleteMultipartUploadHasBeenSet =
true; m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value); }
146 template<
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
152 bool m_expirationHasBeenSet =
false;
155 bool m_iDHasBeenSet =
false;
158 bool m_prefixHasBeenSet =
false;
161 bool m_statusHasBeenSet =
false;
163 Transition m_transition;
164 bool m_transitionHasBeenSet =
false;
166 NoncurrentVersionTransition m_noncurrentVersionTransition;
167 bool m_noncurrentVersionTransitionHasBeenSet =
false;
169 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
170 bool m_noncurrentVersionExpirationHasBeenSet =
false;
172 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
173 bool m_abortIncompleteMultipartUploadHasBeenSet =
false;
const Aws::String & GetID() const
AWS_S3_API Rule()=default
Rule & WithNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
Rule & WithID(IDT &&value)
Rule & WithPrefix(PrefixT &&value)
const Aws::String & GetPrefix() const
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetExpiration(ExpirationT &&value)
bool StatusHasBeenSet() const
Rule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
const Transition & GetTransition() const
const LifecycleExpiration & GetExpiration() const
bool PrefixHasBeenSet() const
Rule & WithTransition(TransitionT &&value)
bool IDHasBeenSet() const
const NoncurrentVersionTransition & GetNoncurrentVersionTransition() const
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
Rule & WithExpiration(ExpirationT &&value)
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
void SetStatus(ExpirationStatus value)
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
bool TransitionHasBeenSet() const
bool NoncurrentVersionTransitionHasBeenSet() const
AWS_S3_API Rule(const Aws::Utils::Xml::XmlNode &xmlNode)
bool ExpirationHasBeenSet() const
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
bool AbortIncompleteMultipartUploadHasBeenSet() const
void SetTransition(TransitionT &&value)
AWS_S3_API Rule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool NoncurrentVersionExpirationHasBeenSet() const
ExpirationStatus GetStatus() const
Rule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
void SetPrefix(PrefixT &&value)
void SetNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
Rule & WithStatus(ExpirationStatus value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String