AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
LifecycleRule.h
1
6#pragma once
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>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Xml
24{
25 class XmlNode;
26} // namespace Xml
27} // namespace Utils
28namespace S3
29{
30namespace Model
31{
32
43 {
44 public:
45 AWS_S3_API LifecycleRule() = default;
46 AWS_S3_API LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode);
48
49 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
50
51
53
57 inline const LifecycleExpiration& GetExpiration() const { return m_expiration; }
58 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
59 template<typename ExpirationT = LifecycleExpiration>
60 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet = true; m_expiration = std::forward<ExpirationT>(value); }
61 template<typename ExpirationT = LifecycleExpiration>
62 LifecycleRule& WithExpiration(ExpirationT&& value) { SetExpiration(std::forward<ExpirationT>(value)); return *this;}
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) { m_iDHasBeenSet = true; m_iD = std::forward<IDT>(value); }
74 template<typename IDT = Aws::String>
75 LifecycleRule& WithID(IDT&& value) { SetID(std::forward<IDT>(value)); return *this;}
77
79
92 inline const LifecycleRuleFilter& GetFilter() const { return m_filter; }
93 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
94 template<typename FilterT = LifecycleRuleFilter>
95 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
96 template<typename FilterT = LifecycleRuleFilter>
97 LifecycleRule& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
99
101
105 inline ExpirationStatus GetStatus() const { return m_status; }
106 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
107 inline void SetStatus(ExpirationStatus value) { m_statusHasBeenSet = true; m_status = value; }
108 inline LifecycleRule& WithStatus(ExpirationStatus value) { SetStatus(value); return *this;}
110
112
117 inline const Aws::Vector<Transition>& GetTransitions() const { return m_transitions; }
118 inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; }
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>>
122 LifecycleRule& WithTransitions(TransitionsT&& value) { SetTransitions(std::forward<TransitionsT>(value)); return *this;}
123 template<typename TransitionsT = Transition>
124 LifecycleRule& AddTransitions(TransitionsT&& value) { m_transitionsHasBeenSet = true; m_transitions.emplace_back(std::forward<TransitionsT>(value)); return *this; }
126
128
137 inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const { return m_noncurrentVersionTransitions; }
138 inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; }
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>>
142 LifecycleRule& WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { SetNoncurrentVersionTransitions(std::forward<NoncurrentVersionTransitionsT>(value)); return *this;}
143 template<typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
144 LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value)); return *this; }
146
148
149 inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const { return m_noncurrentVersionExpiration; }
150 inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; }
151 template<typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
152 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value); }
153 template<typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
154 LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { SetNoncurrentVersionExpiration(std::forward<NoncurrentVersionExpirationT>(value)); return *this;}
156
158
159 inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const { return m_abortIncompleteMultipartUpload; }
160 inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; }
161 template<typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
162 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value); }
163 template<typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
164 LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { SetAbortIncompleteMultipartUpload(std::forward<AbortIncompleteMultipartUploadT>(value)); return *this;}
166 private:
167
168 LifecycleExpiration m_expiration;
169 bool m_expirationHasBeenSet = false;
170
171 Aws::String m_iD;
172 bool m_iDHasBeenSet = false;
173
174 LifecycleRuleFilter m_filter;
175 bool m_filterHasBeenSet = false;
176
178 bool m_statusHasBeenSet = false;
179
180 Aws::Vector<Transition> m_transitions;
181 bool m_transitionsHasBeenSet = false;
182
183 Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions;
184 bool m_noncurrentVersionTransitionsHasBeenSet = false;
185
186 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
187 bool m_noncurrentVersionExpirationHasBeenSet = false;
188
189 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
190 bool m_abortIncompleteMultipartUploadHasBeenSet = false;
191 };
192
193} // namespace Model
194} // namespace S3
195} // 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