AWS SDK for C++  0.14.3
AWS SDK for C++
LifecycleRule.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/s3/S3_EXPORTS.h>
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Xml
31 {
32  class XmlNode;
33 } // namespace Xml
34 } // namespace Utils
35 namespace S3
36 {
37 namespace Model
38 {
39 
41  {
42  public:
43  LifecycleRule();
45  LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
46 
47  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
48 
49 
50  inline const LifecycleExpiration& GetExpiration() const{ return m_expiration; }
51 
52 
53  inline void SetExpiration(const LifecycleExpiration& value) { m_expirationHasBeenSet = true; m_expiration = value; }
54 
55 
56  inline void SetExpiration(LifecycleExpiration&& value) { m_expirationHasBeenSet = true; m_expiration = value; }
57 
58 
59  inline LifecycleRule& WithExpiration(const LifecycleExpiration& value) { SetExpiration(value); return *this;}
60 
61 
62  inline LifecycleRule& WithExpiration(LifecycleExpiration&& value) { SetExpiration(value); return *this;}
63 
67  inline const Aws::String& GetID() const{ return m_iD; }
68 
72  inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; }
73 
77  inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = value; }
78 
82  inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); }
83 
87  inline LifecycleRule& WithID(const Aws::String& value) { SetID(value); return *this;}
88 
92  inline LifecycleRule& WithID(Aws::String&& value) { SetID(value); return *this;}
93 
97  inline LifecycleRule& WithID(const char* value) { SetID(value); return *this;}
98 
102  inline const Aws::String& GetPrefix() const{ return m_prefix; }
103 
107  inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
108 
112  inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = value; }
113 
117  inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
118 
122  inline LifecycleRule& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
123 
127  inline LifecycleRule& WithPrefix(Aws::String&& value) { SetPrefix(value); return *this;}
128 
132  inline LifecycleRule& WithPrefix(const char* value) { SetPrefix(value); return *this;}
133 
138  inline const ExpirationStatus& GetStatus() const{ return m_status; }
139 
144  inline void SetStatus(const ExpirationStatus& value) { m_statusHasBeenSet = true; m_status = value; }
145 
150  inline void SetStatus(ExpirationStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
151 
156  inline LifecycleRule& WithStatus(const ExpirationStatus& value) { SetStatus(value); return *this;}
157 
162  inline LifecycleRule& WithStatus(ExpirationStatus&& value) { SetStatus(value); return *this;}
163 
164 
165  inline const Aws::Vector<Transition>& GetTransitions() const{ return m_transitions; }
166 
167 
168  inline void SetTransitions(const Aws::Vector<Transition>& value) { m_transitionsHasBeenSet = true; m_transitions = value; }
169 
170 
171  inline void SetTransitions(Aws::Vector<Transition>&& value) { m_transitionsHasBeenSet = true; m_transitions = value; }
172 
173 
174  inline LifecycleRule& WithTransitions(const Aws::Vector<Transition>& value) { SetTransitions(value); return *this;}
175 
176 
177  inline LifecycleRule& WithTransitions(Aws::Vector<Transition>&& value) { SetTransitions(value); return *this;}
178 
179 
180  inline LifecycleRule& AddTransitions(const Transition& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(value); return *this; }
181 
182 
183  inline LifecycleRule& AddTransitions(Transition&& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(value); return *this; }
184 
185 
186  inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const{ return m_noncurrentVersionTransitions; }
187 
188 
189  inline void SetNoncurrentVersionTransitions(const Aws::Vector<NoncurrentVersionTransition>& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions = value; }
190 
191 
192  inline void SetNoncurrentVersionTransitions(Aws::Vector<NoncurrentVersionTransition>&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions = value; }
193 
194 
195  inline LifecycleRule& WithNoncurrentVersionTransitions(const Aws::Vector<NoncurrentVersionTransition>& value) { SetNoncurrentVersionTransitions(value); return *this;}
196 
197 
198  inline LifecycleRule& WithNoncurrentVersionTransitions(Aws::Vector<NoncurrentVersionTransition>&& value) { SetNoncurrentVersionTransitions(value); return *this;}
199 
200 
201  inline LifecycleRule& AddNoncurrentVersionTransitions(const NoncurrentVersionTransition& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(value); return *this; }
202 
203 
204  inline LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransition&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(value); return *this; }
205 
206 
207  inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const{ return m_noncurrentVersionExpiration; }
208 
209 
210  inline void SetNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = value; }
211 
212 
213  inline void SetNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = value; }
214 
215 
216  inline LifecycleRule& WithNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { SetNoncurrentVersionExpiration(value); return *this;}
217 
218 
219  inline LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { SetNoncurrentVersionExpiration(value); return *this;}
220 
221 
222  inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const{ return m_abortIncompleteMultipartUpload; }
223 
224 
225  inline void SetAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = value; }
226 
227 
228  inline void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = value; }
229 
230 
231  inline LifecycleRule& WithAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { SetAbortIncompleteMultipartUpload(value); return *this;}
232 
233 
234  inline LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { SetAbortIncompleteMultipartUpload(value); return *this;}
235 
236  private:
237  LifecycleExpiration m_expiration;
238  bool m_expirationHasBeenSet;
239  Aws::String m_iD;
240  bool m_iDHasBeenSet;
241  Aws::String m_prefix;
242  bool m_prefixHasBeenSet;
243  ExpirationStatus m_status;
244  bool m_statusHasBeenSet;
245  Aws::Vector<Transition> m_transitions;
246  bool m_transitionsHasBeenSet;
247  Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions;
248  bool m_noncurrentVersionTransitionsHasBeenSet;
249  NoncurrentVersionExpiration m_noncurrentVersionExpiration;
250  bool m_noncurrentVersionExpirationHasBeenSet;
251  AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
252  bool m_abortIncompleteMultipartUploadHasBeenSet;
253  };
254 
255 } // namespace Model
256 } // namespace S3
257 } // namespace Aws
LifecycleRule & WithID(Aws::String &&value)
Definition: LifecycleRule.h:92
void SetNoncurrentVersionTransitions(Aws::Vector< NoncurrentVersionTransition > &&value)
void SetAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload &value)
const ExpirationStatus & GetStatus() const
LifecycleRule & WithNoncurrentVersionTransitions(Aws::Vector< NoncurrentVersionTransition > &&value)
void SetTransitions(const Aws::Vector< Transition > &value)
LifecycleRule & WithExpiration(const LifecycleExpiration &value)
Definition: LifecycleRule.h:59
void SetPrefix(const char *value)
void SetID(Aws::String &&value)
Definition: LifecycleRule.h:77
LifecycleRule & WithExpiration(LifecycleExpiration &&value)
Definition: LifecycleRule.h:62
void SetPrefix(Aws::String &&value)
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload &&value)
LifecycleRule & WithNoncurrentVersionTransitions(const Aws::Vector< NoncurrentVersionTransition > &value)
void SetNoncurrentVersionExpiration(NoncurrentVersionExpiration &&value)
const Aws::Vector< NoncurrentVersionTransition > & GetNoncurrentVersionTransitions() const
LifecycleRule & WithTransitions(Aws::Vector< Transition > &&value)
void SetTransitions(Aws::Vector< Transition > &&value)
void SetStatus(ExpirationStatus &&value)
LifecycleRule & WithPrefix(const char *value)
void SetExpiration(LifecycleExpiration &&value)
Definition: LifecycleRule.h:56
LifecycleRule & AddTransitions(const Transition &value)
void SetPrefix(const Aws::String &value)
void SetID(const Aws::String &value)
Definition: LifecycleRule.h:72
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
LifecycleRule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload &&value)
#define AWS_S3_API
Definition: S3_EXPORTS.h:37
LifecycleRule & WithStatus(ExpirationStatus &&value)
LifecycleRule & WithAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload &value)
LifecycleRule & AddNoncurrentVersionTransitions(NoncurrentVersionTransition &&value)
const Aws::Vector< Transition > & GetTransitions() const
LifecycleRule & WithID(const Aws::String &value)
Definition: LifecycleRule.h:87
LifecycleRule & WithPrefix(Aws::String &&value)
LifecycleRule & WithPrefix(const Aws::String &value)
LifecycleRule & AddNoncurrentVersionTransitions(const NoncurrentVersionTransition &value)
void SetExpiration(const LifecycleExpiration &value)
Definition: LifecycleRule.h:53
const LifecycleExpiration & GetExpiration() const
Definition: LifecycleRule.h:50
void SetNoncurrentVersionTransitions(const Aws::Vector< NoncurrentVersionTransition > &value)
void SetStatus(const ExpirationStatus &value)
LifecycleRule & WithNoncurrentVersionExpiration(const NoncurrentVersionExpiration &value)
void SetID(const char *value)
Definition: LifecycleRule.h:82
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::String & GetPrefix() const
LifecycleRule & WithTransitions(const Aws::Vector< Transition > &value)
LifecycleRule & WithNoncurrentVersionExpiration(NoncurrentVersionExpiration &&value)
void SetNoncurrentVersionExpiration(const NoncurrentVersionExpiration &value)
const Aws::String & GetID() const
Definition: LifecycleRule.h:67
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
LifecycleRule & AddTransitions(Transition &&value)
LifecycleRule & WithID(const char *value)
Definition: LifecycleRule.h:97
JSON (JavaScript Object Notation).
LifecycleRule & WithStatus(const ExpirationStatus &value)