AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
Schedule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dlm/DLM_EXPORTS.h>
10#include <aws/dlm/model/ArchiveRule.h>
11#include <aws/dlm/model/CreateRule.h>
12#include <aws/dlm/model/CrossRegionCopyRule.h>
13#include <aws/dlm/model/DeprecateRule.h>
14#include <aws/dlm/model/FastRestoreRule.h>
15#include <aws/dlm/model/RetainRule.h>
16#include <aws/dlm/model/ShareRule.h>
17#include <aws/dlm/model/Tag.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace DLM {
29namespace Model {
30
37class Schedule {
38 public:
39 AWS_DLM_API Schedule() = default;
40 AWS_DLM_API Schedule(Aws::Utils::Json::JsonView jsonValue);
43
45
48 inline const Aws::String& GetName() const { return m_name; }
49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
50 template <typename NameT = Aws::String>
51 void SetName(NameT&& value) {
52 m_nameHasBeenSet = true;
53 m_name = std::forward<NameT>(value);
54 }
55 template <typename NameT = Aws::String>
56 Schedule& WithName(NameT&& value) {
57 SetName(std::forward<NameT>(value));
58 return *this;
59 }
61
63
67 inline bool GetCopyTags() const { return m_copyTags; }
68 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
69 inline void SetCopyTags(bool value) {
70 m_copyTagsHasBeenSet = true;
71 m_copyTags = value;
72 }
73 inline Schedule& WithCopyTags(bool value) {
74 SetCopyTags(value);
75 return *this;
76 }
78
80
84 inline const Aws::Vector<Tag>& GetTagsToAdd() const { return m_tagsToAdd; }
85 inline bool TagsToAddHasBeenSet() const { return m_tagsToAddHasBeenSet; }
86 template <typename TagsToAddT = Aws::Vector<Tag>>
87 void SetTagsToAdd(TagsToAddT&& value) {
88 m_tagsToAddHasBeenSet = true;
89 m_tagsToAdd = std::forward<TagsToAddT>(value);
90 }
91 template <typename TagsToAddT = Aws::Vector<Tag>>
92 Schedule& WithTagsToAdd(TagsToAddT&& value) {
93 SetTagsToAdd(std::forward<TagsToAddT>(value));
94 return *this;
95 }
96 template <typename TagsToAddT = Tag>
97 Schedule& AddTagsToAdd(TagsToAddT&& value) {
98 m_tagsToAddHasBeenSet = true;
99 m_tagsToAdd.emplace_back(std::forward<TagsToAddT>(value));
100 return *this;
101 }
103
105
113 inline const Aws::Vector<Tag>& GetVariableTags() const { return m_variableTags; }
114 inline bool VariableTagsHasBeenSet() const { return m_variableTagsHasBeenSet; }
115 template <typename VariableTagsT = Aws::Vector<Tag>>
116 void SetVariableTags(VariableTagsT&& value) {
117 m_variableTagsHasBeenSet = true;
118 m_variableTags = std::forward<VariableTagsT>(value);
119 }
120 template <typename VariableTagsT = Aws::Vector<Tag>>
121 Schedule& WithVariableTags(VariableTagsT&& value) {
122 SetVariableTags(std::forward<VariableTagsT>(value));
123 return *this;
124 }
125 template <typename VariableTagsT = Tag>
126 Schedule& AddVariableTags(VariableTagsT&& value) {
127 m_variableTagsHasBeenSet = true;
128 m_variableTags.emplace_back(std::forward<VariableTagsT>(value));
129 return *this;
130 }
132
134
137 inline const CreateRule& GetCreateRule() const { return m_createRule; }
138 inline bool CreateRuleHasBeenSet() const { return m_createRuleHasBeenSet; }
139 template <typename CreateRuleT = CreateRule>
140 void SetCreateRule(CreateRuleT&& value) {
141 m_createRuleHasBeenSet = true;
142 m_createRule = std::forward<CreateRuleT>(value);
143 }
144 template <typename CreateRuleT = CreateRule>
145 Schedule& WithCreateRule(CreateRuleT&& value) {
146 SetCreateRule(std::forward<CreateRuleT>(value));
147 return *this;
148 }
150
152
155 inline const RetainRule& GetRetainRule() const { return m_retainRule; }
156 inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; }
157 template <typename RetainRuleT = RetainRule>
158 void SetRetainRule(RetainRuleT&& value) {
159 m_retainRuleHasBeenSet = true;
160 m_retainRule = std::forward<RetainRuleT>(value);
161 }
162 template <typename RetainRuleT = RetainRule>
163 Schedule& WithRetainRule(RetainRuleT&& value) {
164 SetRetainRule(std::forward<RetainRuleT>(value));
165 return *this;
166 }
168
170
174 inline const FastRestoreRule& GetFastRestoreRule() const { return m_fastRestoreRule; }
175 inline bool FastRestoreRuleHasBeenSet() const { return m_fastRestoreRuleHasBeenSet; }
176 template <typename FastRestoreRuleT = FastRestoreRule>
177 void SetFastRestoreRule(FastRestoreRuleT&& value) {
178 m_fastRestoreRuleHasBeenSet = true;
179 m_fastRestoreRule = std::forward<FastRestoreRuleT>(value);
180 }
181 template <typename FastRestoreRuleT = FastRestoreRule>
182 Schedule& WithFastRestoreRule(FastRestoreRuleT&& value) {
183 SetFastRestoreRule(std::forward<FastRestoreRuleT>(value));
184 return *this;
185 }
187
189
195 inline const Aws::Vector<CrossRegionCopyRule>& GetCrossRegionCopyRules() const { return m_crossRegionCopyRules; }
196 inline bool CrossRegionCopyRulesHasBeenSet() const { return m_crossRegionCopyRulesHasBeenSet; }
197 template <typename CrossRegionCopyRulesT = Aws::Vector<CrossRegionCopyRule>>
198 void SetCrossRegionCopyRules(CrossRegionCopyRulesT&& value) {
199 m_crossRegionCopyRulesHasBeenSet = true;
200 m_crossRegionCopyRules = std::forward<CrossRegionCopyRulesT>(value);
201 }
202 template <typename CrossRegionCopyRulesT = Aws::Vector<CrossRegionCopyRule>>
203 Schedule& WithCrossRegionCopyRules(CrossRegionCopyRulesT&& value) {
204 SetCrossRegionCopyRules(std::forward<CrossRegionCopyRulesT>(value));
205 return *this;
206 }
207 template <typename CrossRegionCopyRulesT = CrossRegionCopyRule>
208 Schedule& AddCrossRegionCopyRules(CrossRegionCopyRulesT&& value) {
209 m_crossRegionCopyRulesHasBeenSet = true;
210 m_crossRegionCopyRules.emplace_back(std::forward<CrossRegionCopyRulesT>(value));
211 return *this;
212 }
214
216
220 inline const Aws::Vector<ShareRule>& GetShareRules() const { return m_shareRules; }
221 inline bool ShareRulesHasBeenSet() const { return m_shareRulesHasBeenSet; }
222 template <typename ShareRulesT = Aws::Vector<ShareRule>>
223 void SetShareRules(ShareRulesT&& value) {
224 m_shareRulesHasBeenSet = true;
225 m_shareRules = std::forward<ShareRulesT>(value);
226 }
227 template <typename ShareRulesT = Aws::Vector<ShareRule>>
228 Schedule& WithShareRules(ShareRulesT&& value) {
229 SetShareRules(std::forward<ShareRulesT>(value));
230 return *this;
231 }
232 template <typename ShareRulesT = ShareRule>
233 Schedule& AddShareRules(ShareRulesT&& value) {
234 m_shareRulesHasBeenSet = true;
235 m_shareRules.emplace_back(std::forward<ShareRulesT>(value));
236 return *this;
237 }
239
241
245 inline const DeprecateRule& GetDeprecateRule() const { return m_deprecateRule; }
246 inline bool DeprecateRuleHasBeenSet() const { return m_deprecateRuleHasBeenSet; }
247 template <typename DeprecateRuleT = DeprecateRule>
248 void SetDeprecateRule(DeprecateRuleT&& value) {
249 m_deprecateRuleHasBeenSet = true;
250 m_deprecateRule = std::forward<DeprecateRuleT>(value);
251 }
252 template <typename DeprecateRuleT = DeprecateRule>
253 Schedule& WithDeprecateRule(DeprecateRuleT&& value) {
254 SetDeprecateRule(std::forward<DeprecateRuleT>(value));
255 return *this;
256 }
258
260
270 inline const ArchiveRule& GetArchiveRule() const { return m_archiveRule; }
271 inline bool ArchiveRuleHasBeenSet() const { return m_archiveRuleHasBeenSet; }
272 template <typename ArchiveRuleT = ArchiveRule>
273 void SetArchiveRule(ArchiveRuleT&& value) {
274 m_archiveRuleHasBeenSet = true;
275 m_archiveRule = std::forward<ArchiveRuleT>(value);
276 }
277 template <typename ArchiveRuleT = ArchiveRule>
278 Schedule& WithArchiveRule(ArchiveRuleT&& value) {
279 SetArchiveRule(std::forward<ArchiveRuleT>(value));
280 return *this;
281 }
283 private:
284 Aws::String m_name;
285
286 bool m_copyTags{false};
287
288 Aws::Vector<Tag> m_tagsToAdd;
289
290 Aws::Vector<Tag> m_variableTags;
291
292 CreateRule m_createRule;
293
294 RetainRule m_retainRule;
295
296 FastRestoreRule m_fastRestoreRule;
297
298 Aws::Vector<CrossRegionCopyRule> m_crossRegionCopyRules;
299
300 Aws::Vector<ShareRule> m_shareRules;
301
302 DeprecateRule m_deprecateRule;
303
304 ArchiveRule m_archiveRule;
305 bool m_nameHasBeenSet = false;
306 bool m_copyTagsHasBeenSet = false;
307 bool m_tagsToAddHasBeenSet = false;
308 bool m_variableTagsHasBeenSet = false;
309 bool m_createRuleHasBeenSet = false;
310 bool m_retainRuleHasBeenSet = false;
311 bool m_fastRestoreRuleHasBeenSet = false;
312 bool m_crossRegionCopyRulesHasBeenSet = false;
313 bool m_shareRulesHasBeenSet = false;
314 bool m_deprecateRuleHasBeenSet = false;
315 bool m_archiveRuleHasBeenSet = false;
316};
317
318} // namespace Model
319} // namespace DLM
320} // namespace Aws
Schedule & WithCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:203
void SetVariableTags(VariableTagsT &&value)
Definition Schedule.h:116
Schedule & WithTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:92
void SetArchiveRule(ArchiveRuleT &&value)
Definition Schedule.h:273
void SetCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:198
void SetShareRules(ShareRulesT &&value)
Definition Schedule.h:223
bool RetainRuleHasBeenSet() const
Definition Schedule.h:156
const Aws::String & GetName() const
Definition Schedule.h:48
const ArchiveRule & GetArchiveRule() const
Definition Schedule.h:270
void SetCreateRule(CreateRuleT &&value)
Definition Schedule.h:140
Schedule & WithShareRules(ShareRulesT &&value)
Definition Schedule.h:228
const CreateRule & GetCreateRule() const
Definition Schedule.h:137
Schedule & AddCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:208
Schedule & WithDeprecateRule(DeprecateRuleT &&value)
Definition Schedule.h:253
const Aws::Vector< Tag > & GetTagsToAdd() const
Definition Schedule.h:84
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
bool FastRestoreRuleHasBeenSet() const
Definition Schedule.h:175
bool GetCopyTags() const
Definition Schedule.h:67
Schedule & WithName(NameT &&value)
Definition Schedule.h:56
bool NameHasBeenSet() const
Definition Schedule.h:49
Schedule & AddShareRules(ShareRulesT &&value)
Definition Schedule.h:233
Schedule & WithArchiveRule(ArchiveRuleT &&value)
Definition Schedule.h:278
const RetainRule & GetRetainRule() const
Definition Schedule.h:155
bool CreateRuleHasBeenSet() const
Definition Schedule.h:138
AWS_DLM_API Schedule & operator=(Aws::Utils::Json::JsonView jsonValue)
const DeprecateRule & GetDeprecateRule() const
Definition Schedule.h:245
Schedule & WithFastRestoreRule(FastRestoreRuleT &&value)
Definition Schedule.h:182
bool ShareRulesHasBeenSet() const
Definition Schedule.h:221
void SetName(NameT &&value)
Definition Schedule.h:51
Schedule & AddVariableTags(VariableTagsT &&value)
Definition Schedule.h:126
void SetDeprecateRule(DeprecateRuleT &&value)
Definition Schedule.h:248
bool ArchiveRuleHasBeenSet() const
Definition Schedule.h:271
void SetFastRestoreRule(FastRestoreRuleT &&value)
Definition Schedule.h:177
AWS_DLM_API Schedule()=default
void SetCopyTags(bool value)
Definition Schedule.h:69
const Aws::Vector< Tag > & GetVariableTags() const
Definition Schedule.h:113
bool CrossRegionCopyRulesHasBeenSet() const
Definition Schedule.h:196
const Aws::Vector< ShareRule > & GetShareRules() const
Definition Schedule.h:220
const Aws::Vector< CrossRegionCopyRule > & GetCrossRegionCopyRules() const
Definition Schedule.h:195
Schedule & WithVariableTags(VariableTagsT &&value)
Definition Schedule.h:121
const FastRestoreRule & GetFastRestoreRule() const
Definition Schedule.h:174
void SetTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:87
void SetRetainRule(RetainRuleT &&value)
Definition Schedule.h:158
Schedule & AddTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:97
Schedule & WithRetainRule(RetainRuleT &&value)
Definition Schedule.h:163
AWS_DLM_API Schedule(Aws::Utils::Json::JsonView jsonValue)
bool VariableTagsHasBeenSet() const
Definition Schedule.h:114
Schedule & WithCopyTags(bool value)
Definition Schedule.h:73
bool DeprecateRuleHasBeenSet() const
Definition Schedule.h:246
bool CopyTagsHasBeenSet() const
Definition Schedule.h:68
Schedule & WithCreateRule(CreateRuleT &&value)
Definition Schedule.h:145
bool TagsToAddHasBeenSet() const
Definition Schedule.h:85
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue