AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LifecycleRule.h
1
6#pragma once
7#include <aws/s3control/S3Control_EXPORTS.h>
8#include <aws/s3control/model/LifecycleExpiration.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3control/model/LifecycleRuleFilter.h>
11#include <aws/s3control/model/ExpirationStatus.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/s3control/model/NoncurrentVersionExpiration.h>
14#include <aws/s3control/model/AbortIncompleteMultipartUpload.h>
15#include <aws/s3control/model/Transition.h>
16#include <aws/s3control/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 S3Control
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_S3CONTROL_API LifecycleRule() = default;
43 AWS_S3CONTROL_API LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode);
44 AWS_S3CONTROL_API LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
45
46 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
47
48
50
54 inline const LifecycleExpiration& GetExpiration() const { return m_expiration; }
55 inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
56 template<typename ExpirationT = LifecycleExpiration>
57 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet = true; m_expiration = std::forward<ExpirationT>(value); }
58 template<typename ExpirationT = LifecycleExpiration>
59 LifecycleRule& WithExpiration(ExpirationT&& value) { SetExpiration(std::forward<ExpirationT>(value)); return *this;}
61
63
67 inline const Aws::String& GetID() const { return m_iD; }
68 inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
69 template<typename IDT = Aws::String>
70 void SetID(IDT&& value) { m_iDHasBeenSet = true; m_iD = std::forward<IDT>(value); }
71 template<typename IDT = Aws::String>
72 LifecycleRule& WithID(IDT&& value) { SetID(std::forward<IDT>(value)); return *this;}
74
76
79 inline const LifecycleRuleFilter& GetFilter() const { return m_filter; }
80 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
81 template<typename FilterT = LifecycleRuleFilter>
82 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
83 template<typename FilterT = LifecycleRuleFilter>
84 LifecycleRule& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
86
88
92 inline ExpirationStatus GetStatus() const { return m_status; }
93 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
94 inline void SetStatus(ExpirationStatus value) { m_statusHasBeenSet = true; m_status = value; }
95 inline LifecycleRule& WithStatus(ExpirationStatus value) { SetStatus(value); return *this;}
97
99
104 inline const Aws::Vector<Transition>& GetTransitions() const { return m_transitions; }
105 inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; }
106 template<typename TransitionsT = Aws::Vector<Transition>>
107 void SetTransitions(TransitionsT&& value) { m_transitionsHasBeenSet = true; m_transitions = std::forward<TransitionsT>(value); }
108 template<typename TransitionsT = Aws::Vector<Transition>>
109 LifecycleRule& WithTransitions(TransitionsT&& value) { SetTransitions(std::forward<TransitionsT>(value)); return *this;}
110 template<typename TransitionsT = Transition>
111 LifecycleRule& AddTransitions(TransitionsT&& value) { m_transitionsHasBeenSet = true; m_transitions.emplace_back(std::forward<TransitionsT>(value)); return *this; }
113
115
123 inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const { return m_noncurrentVersionTransitions; }
124 inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; }
125 template<typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
126 void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions = std::forward<NoncurrentVersionTransitionsT>(value); }
127 template<typename NoncurrentVersionTransitionsT = Aws::Vector<NoncurrentVersionTransition>>
128 LifecycleRule& WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { SetNoncurrentVersionTransitions(std::forward<NoncurrentVersionTransitionsT>(value)); return *this;}
129 template<typename NoncurrentVersionTransitionsT = NoncurrentVersionTransition>
130 LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.emplace_back(std::forward<NoncurrentVersionTransitionsT>(value)); return *this; }
132
134
137 inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const { return m_noncurrentVersionExpiration; }
138 inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; }
139 template<typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
140 void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = std::forward<NoncurrentVersionExpirationT>(value); }
141 template<typename NoncurrentVersionExpirationT = NoncurrentVersionExpiration>
142 LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT&& value) { SetNoncurrentVersionExpiration(std::forward<NoncurrentVersionExpirationT>(value)); return *this;}
144
146
154 inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const { return m_abortIncompleteMultipartUpload; }
155 inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; }
156 template<typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
157 void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = std::forward<AbortIncompleteMultipartUploadT>(value); }
158 template<typename AbortIncompleteMultipartUploadT = AbortIncompleteMultipartUpload>
159 LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT&& value) { SetAbortIncompleteMultipartUpload(std::forward<AbortIncompleteMultipartUploadT>(value)); return *this;}
161 private:
162
163 LifecycleExpiration m_expiration;
164 bool m_expirationHasBeenSet = false;
165
166 Aws::String m_iD;
167 bool m_iDHasBeenSet = false;
168
169 LifecycleRuleFilter m_filter;
170 bool m_filterHasBeenSet = false;
171
173 bool m_statusHasBeenSet = false;
174
175 Aws::Vector<Transition> m_transitions;
176 bool m_transitionsHasBeenSet = false;
177
178 Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions;
179 bool m_noncurrentVersionTransitionsHasBeenSet = false;
180
181 NoncurrentVersionExpiration m_noncurrentVersionExpiration;
182 bool m_noncurrentVersionExpirationHasBeenSet = false;
183
184 AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload;
185 bool m_abortIncompleteMultipartUploadHasBeenSet = false;
186 };
187
188} // namespace Model
189} // namespace S3Control
190} // namespace Aws
const AbortIncompleteMultipartUpload & GetAbortIncompleteMultipartUpload() const
AWS_S3CONTROL_API LifecycleRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const NoncurrentVersionExpiration & GetNoncurrentVersionExpiration() const
void SetTransitions(TransitionsT &&value)
LifecycleRule & WithNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
void SetStatus(ExpirationStatus value)
LifecycleRule & WithFilter(FilterT &&value)
ExpirationStatus GetStatus() const
LifecycleRule & WithID(IDT &&value)
const LifecycleRuleFilter & GetFilter() const
LifecycleRule & AddNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
AWS_S3CONTROL_API LifecycleRule()=default
void SetExpiration(ExpirationT &&value)
const Aws::Vector< NoncurrentVersionTransition > & GetNoncurrentVersionTransitions() const
LifecycleRule & WithTransitions(TransitionsT &&value)
void SetNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
LifecycleRule & WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
AWS_S3CONTROL_API LifecycleRule(const Aws::Utils::Xml::XmlNode &xmlNode)
LifecycleRule & AddTransitions(TransitionsT &&value)
void SetNoncurrentVersionExpiration(NoncurrentVersionExpirationT &&value)
const Aws::Vector< Transition > & GetTransitions() const
const LifecycleExpiration & GetExpiration() const
LifecycleRule & WithNoncurrentVersionTransitions(NoncurrentVersionTransitionsT &&value)
void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUploadT &&value)
const Aws::String & GetID() const
LifecycleRule & WithExpiration(ExpirationT &&value)
LifecycleRule & WithStatus(ExpirationStatus value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector