AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Rule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/s3/S3_EXPORTS.h>
9#include <aws/s3/model/AbortIncompleteMultipartUpload.h>
10#include <aws/s3/model/ExpirationStatus.h>
11#include <aws/s3/model/LifecycleExpiration.h>
12#include <aws/s3/model/NoncurrentVersionExpiration.h>
13#include <aws/s3/model/NoncurrentVersionTransition.h>
14#include <aws/s3/model/Transition.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace S3 {
25namespace Model {
26
38class Rule {
39 public:
40 AWS_S3_API Rule() = default;
41 AWS_S3_API Rule(const Aws::Utils::Xml::XmlNode& xmlNode);
42 AWS_S3_API Rule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
45
47
50 inline const LifecycleExpiration& GetExpiration() const { return m_expiration; }
51 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
52 template <typename ExpirationT = LifecycleExpiration>
53 void SetExpiration(ExpirationT&& value) {
54 m_expirationHasBeenSet = true;
55 m_expiration = std::forward<ExpirationT>(value);
56 }
57 template <typename ExpirationT = LifecycleExpiration>
58 Rule& WithExpiration(ExpirationT&& value) {
59 SetExpiration(std::forward<ExpirationT>(value));
60 return *this;
61 }
63
65
69 inline const Aws::String& GetID() const { return m_iD; }
70 inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
71 template <typename IDT = Aws::String>
72 void SetID(IDT&& value) {
73 m_iDHasBeenSet = true;
74 m_iD = std::forward<IDT>(value);
75 }
76 template <typename IDT = Aws::String>
77 Rule& WithID(IDT&& value) {
78 SetID(std::forward<IDT>(value));
79 return *this;
80 }
82
84
92 inline const Aws::String& GetPrefix() const { return m_prefix; }
93 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
94 template <typename PrefixT = Aws::String>
95 void SetPrefix(PrefixT&& value) {
96 m_prefixHasBeenSet = true;
97 m_prefix = std::forward<PrefixT>(value);
98 }
99 template <typename PrefixT = Aws::String>
100 Rule& WithPrefix(PrefixT&& value) {
101 SetPrefix(std::forward<PrefixT>(value));
102 return *this;
103 }
105
107
111 inline ExpirationStatus GetStatus() const { return m_status; }
112 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
113 inline void SetStatus(ExpirationStatus value) {
114 m_statusHasBeenSet = true;
115 m_status = value;
116 }
118 SetStatus(value);
119 return *this;
120 }
122
124
130 inline const Transition& GetTransition() const { return m_transition; }
131 inline bool TransitionHasBeenSet() const { return m_transitionHasBeenSet; }
132 template <typename TransitionT = Transition>
133 void SetTransition(TransitionT&& value) {
134 m_transitionHasBeenSet = true;
135 m_transition = std::forward<TransitionT>(value);
136 }
137 template <typename TransitionT = Transition>
138 Rule& WithTransition(TransitionT&& value) {
139 SetTransition(std::forward<TransitionT>(value));
140 return *this;
141 }
143
145
146 inline const NoncurrentVersionTransition& GetNoncurrentVersionTransition() const { return m_noncurrentVersionTransition; }
147 inline bool NoncurrentVersionTransitionHasBeenSet() const { return m_noncurrentVersionTransitionHasBeenSet; }
148 template <typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
149 void SetNoncurrentVersionTransition(NoncurrentVersionTransitionT&& value) {
150 m_noncurrentVersionTransitionHasBeenSet = true;
151 m_noncurrentVersionTransition = std::forward<NoncurrentVersionTransitionT>(value);
152 }
153 template <typename NoncurrentVersionTransitionT = NoncurrentVersionTransition>
154 Rule& WithNoncurrentVersionTransition(NoncurrentVersionTransitionT&& value) {
155 SetNoncurrentVersionTransition(std::forward<NoncurrentVersionTransitionT>(value));
156 return *this;
157 }
159
161
162 inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const { return m_noncurrentVersionExpiration; }
163 inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; }
164 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
165 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
166 m_noncurrentVersionExpirationHasBeenSet = true;
167 m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value);
168 }
169 template <typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
170 Rule& WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) {
171 SetNoncurrentVersionExpiration(std::forward<NoncurrentVersionExpirationT>(value));
172 return *this;
173 }
175
177
178 inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const { return m_abortIncompleteMultipartUpload; }
179 inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; }
180 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
181 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
182 m_abortIncompleteMultipartUploadHasBeenSet = true;
183 m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value);
184 }
185 template <typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
186 Rule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) {
187 SetAbortIncompleteMultipartUpload(std::forward<AbortIncompleteMultipartUploadT>(value));
188 return *this;
189 }
191 private:
192 LifecycleExpiration m_expiration;
193
194 Aws::String m_iD;
195
196 Aws::String m_prefix;
197
199
200 Transition m_transition;
201
202 NoncurrentVersionTransition m_noncurrentVersionTransition;
203
204 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
205
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;
215};
216
217} // namespace Model
218} // namespace S3
219} // namespace Aws
const Aws::String & GetID() const
Definition Rule.h:69
AWS_S3_API Rule()=default
Rule & WithNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
Definition Rule.h:154
Rule & WithID(IDT &&value)
Definition Rule.h:77
Rule & WithPrefix(PrefixT &&value)
Definition Rule.h:100
const Aws::String & GetPrefix() const
Definition Rule.h:92
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetExpiration(ExpirationT &&value)
Definition Rule.h:53
void SetID(IDT &&value)
Definition Rule.h:72
bool StatusHasBeenSet() const
Definition Rule.h:112
Rule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
Definition Rule.h:186
const Transition & GetTransition() const
Definition Rule.h:130
const LifecycleExpiration & GetExpiration() const
Definition Rule.h:50
bool PrefixHasBeenSet() const
Definition Rule.h:93
Rule & WithTransition(TransitionT &&value)
Definition Rule.h:138
bool IDHasBeenSet() const
Definition Rule.h:70
const NoncurrentVersionTransition & GetNoncurrentVersionTransition() const
Definition Rule.h:146
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
Definition Rule.h:165
Rule & WithExpiration(ExpirationT &&value)
Definition Rule.h:58
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
Definition Rule.h:178
void SetStatus(ExpirationStatus value)
Definition Rule.h:113
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
Definition Rule.h:162
bool TransitionHasBeenSet() const
Definition Rule.h:131
bool NoncurrentVersionTransitionHasBeenSet() const
Definition Rule.h:147
AWS_S3_API Rule(const Aws::Utils::Xml::XmlNode &xmlNode)
bool ExpirationHasBeenSet() const
Definition Rule.h:51
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
Definition Rule.h:181
bool AbortIncompleteMultipartUploadHasBeenSet() const
Definition Rule.h:179
void SetTransition(TransitionT &&value)
Definition Rule.h:133
AWS_S3_API Rule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool NoncurrentVersionExpirationHasBeenSet() const
Definition Rule.h:163
ExpirationStatus GetStatus() const
Definition Rule.h:111
Rule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
Definition Rule.h:170
void SetPrefix(PrefixT &&value)
Definition Rule.h:95
void SetNoncurrentVersionTransition(NoncurrentVersionTransitionT &&value)
Definition Rule.h:149
Rule & WithStatus(ExpirationStatus value)
Definition Rule.h:117
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String