7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/s3-crt/S3Crt_EXPORTS.h>
9#include <aws/s3-crt/model/AbortIncompleteMultipartUpload.h>
10#include <aws/s3-crt/model/ExpirationStatus.h>
11#include <aws/s3-crt/model/LifecycleExpiration.h>
12#include <aws/s3-crt/model/NoncurrentVersionExpiration.h>
13#include <aws/s3-crt/model/NoncurrentVersionTransition.h>
14#include <aws/s3-crt/model/Transition.h>
40 AWS_S3CRT_API
Rule() =
default;
52 template <
typename ExpirationT = LifecycleExpiration>
54 m_expirationHasBeenSet =
true;
55 m_expiration = std::forward<ExpirationT>(value);
57 template <
typename ExpirationT = LifecycleExpiration>
71 template <
typename IDT = Aws::String>
73 m_iDHasBeenSet =
true;
74 m_iD = std::forward<IDT>(value);
76 template <
typename IDT = Aws::String>
78 SetID(std::forward<IDT>(value));
94 template <
typename PrefixT = Aws::String>
96 m_prefixHasBeenSet =
true;
97 m_prefix = std::forward<PrefixT>(value);
99 template <
typename PrefixT = Aws::String>
114 m_statusHasBeenSet =
true;
132 template <
typename TransitionT = Transition>
134 m_transitionHasBeenSet =
true;
135 m_transition = std::forward<TransitionT>(value);
137 template <
typename TransitionT = Transition>
148 template <
typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
150 m_noncurrentVersionTransitionHasBeenSet =
true;
151 m_noncurrentVersionTransition = std::forward<NoncurrentVersionTransitionT>(value);
153 template <
typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
164 template <
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
166 m_noncurrentVersionExpirationHasBeenSet =
true;
167 m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value);
169 template <
typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
180 template <
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
182 m_abortIncompleteMultipartUploadHasBeenSet =
true;
183 m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value);
185 template <
typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
200 Transition m_transition;
202 NoncurrentVersionTransition m_noncurrentVersionTransition;
204 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
206 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
207 bool m_expirationHasBeenSet =
false;
208 bool m_iDHasBeenSet =
false;
209 bool m_prefixHasBeenSet =
false;
210 bool m_statusHasBeenSet =
false;
211 bool m_transitionHasBeenSet =
false;
212 bool m_noncurrentVersionTransitionHasBeenSet =
false;
213 bool m_noncurrentVersionExpirationHasBeenSet =
false;
214 bool m_abortIncompleteMultipartUploadHasBeenSet =
false;
bool IDHasBeenSet() const
Rule & WithTransition(TransitionT &&value)
bool ExpirationHasBeenSet() const
bool NoncurrentVersionTransitionHasBeenSet() const
void SetNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
Rule & WithPrefix(PrefixT &&value)
Rule & WithNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
void SetPrefix(PrefixT &&value)
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
const Aws::String & GetPrefix() const
AWS_S3CRT_API Rule(const Aws::Utils::Xml::XmlNode &xmlNode)
bool NoncurrentVersionExpirationHasBeenSet() const
bool StatusHasBeenSet() const
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
Rule & WithStatus(ExpirationStatus value)
ExpirationStatus GetStatus() const
const Aws::String & GetID() const
bool TransitionHasBeenSet() const
bool PrefixHasBeenSet() const
Rule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
Rule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
bool AbortIncompleteMultipartUploadHasBeenSet() const
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
void SetExpiration(ExpirationT &&value)
void SetTransition(TransitionT &&value)
AWS_S3CRT_API Rule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const NoncurrentVersionTransition & GetNoncurrentVersionTransition() const
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
Rule & WithExpiration(ExpirationT &&value)
AWS_S3CRT_API Rule()=default
const Transition & GetTransition() const
Rule & WithID(IDT &&value)
const LifecycleExpiration & GetExpiration() const
void SetStatus(ExpirationStatus value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String