AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Schedule.h
1
6#pragma once
7#include <aws/dlm/DLM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dlm/model/CreateRule.h>
11#include <aws/dlm/model/RetainRule.h>
12#include <aws/dlm/model/FastRestoreRule.h>
13#include <aws/dlm/model/DeprecateRule.h>
14#include <aws/dlm/model/ArchiveRule.h>
15#include <aws/dlm/model/Tag.h>
16#include <aws/dlm/model/CrossRegionCopyRule.h>
17#include <aws/dlm/model/ShareRule.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace DLM
31{
32namespace Model
33{
34
42 {
43 public:
44 AWS_DLM_API Schedule() = default;
45 AWS_DLM_API Schedule(Aws::Utils::Json::JsonView jsonValue);
48
49
51
54 inline const Aws::String& GetName() const { return m_name; }
55 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
56 template<typename NameT = Aws::String>
57 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
58 template<typename NameT = Aws::String>
59 Schedule& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
61
63
67 inline bool GetCopyTags() const { return m_copyTags; }
68 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
69 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
70 inline Schedule& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
72
74
78 inline const Aws::Vector<Tag>& GetTagsToAdd() const { return m_tagsToAdd; }
79 inline bool TagsToAddHasBeenSet() const { return m_tagsToAddHasBeenSet; }
80 template<typename TagsToAddT = Aws::Vector<Tag>>
81 void SetTagsToAdd(TagsToAddT&& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd = std::forward<TagsToAddT>(value); }
82 template<typename TagsToAddT = Aws::Vector<Tag>>
83 Schedule& WithTagsToAdd(TagsToAddT&& value) { SetTagsToAdd(std::forward<TagsToAddT>(value)); return *this;}
84 template<typename TagsToAddT = Tag>
85 Schedule& AddTagsToAdd(TagsToAddT&& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd.emplace_back(std::forward<TagsToAddT>(value)); return *this; }
87
89
97 inline const Aws::Vector<Tag>& GetVariableTags() const { return m_variableTags; }
98 inline bool VariableTagsHasBeenSet() const { return m_variableTagsHasBeenSet; }
99 template<typename VariableTagsT = Aws::Vector<Tag>>
100 void SetVariableTags(VariableTagsT&& value) { m_variableTagsHasBeenSet = true; m_variableTags = std::forward<VariableTagsT>(value); }
101 template<typename VariableTagsT = Aws::Vector<Tag>>
102 Schedule& WithVariableTags(VariableTagsT&& value) { SetVariableTags(std::forward<VariableTagsT>(value)); return *this;}
103 template<typename VariableTagsT = Tag>
104 Schedule& AddVariableTags(VariableTagsT&& value) { m_variableTagsHasBeenSet = true; m_variableTags.emplace_back(std::forward<VariableTagsT>(value)); return *this; }
106
108
111 inline const CreateRule& GetCreateRule() const { return m_createRule; }
112 inline bool CreateRuleHasBeenSet() const { return m_createRuleHasBeenSet; }
113 template<typename CreateRuleT = CreateRule>
114 void SetCreateRule(CreateRuleT&& value) { m_createRuleHasBeenSet = true; m_createRule = std::forward<CreateRuleT>(value); }
115 template<typename CreateRuleT = CreateRule>
116 Schedule& WithCreateRule(CreateRuleT&& value) { SetCreateRule(std::forward<CreateRuleT>(value)); return *this;}
118
120
123 inline const RetainRule& GetRetainRule() const { return m_retainRule; }
124 inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; }
125 template<typename RetainRuleT = RetainRule>
126 void SetRetainRule(RetainRuleT&& value) { m_retainRuleHasBeenSet = true; m_retainRule = std::forward<RetainRuleT>(value); }
127 template<typename RetainRuleT = RetainRule>
128 Schedule& WithRetainRule(RetainRuleT&& value) { SetRetainRule(std::forward<RetainRuleT>(value)); return *this;}
130
132
136 inline const FastRestoreRule& GetFastRestoreRule() const { return m_fastRestoreRule; }
137 inline bool FastRestoreRuleHasBeenSet() const { return m_fastRestoreRuleHasBeenSet; }
138 template<typename FastRestoreRuleT = FastRestoreRule>
139 void SetFastRestoreRule(FastRestoreRuleT&& value) { m_fastRestoreRuleHasBeenSet = true; m_fastRestoreRule = std::forward<FastRestoreRuleT>(value); }
140 template<typename FastRestoreRuleT = FastRestoreRule>
141 Schedule& WithFastRestoreRule(FastRestoreRuleT&& value) { SetFastRestoreRule(std::forward<FastRestoreRuleT>(value)); return *this;}
143
145
151 inline const Aws::Vector<CrossRegionCopyRule>& GetCrossRegionCopyRules() const { return m_crossRegionCopyRules; }
152 inline bool CrossRegionCopyRulesHasBeenSet() const { return m_crossRegionCopyRulesHasBeenSet; }
153 template<typename CrossRegionCopyRulesT = Aws::Vector<CrossRegionCopyRule>>
154 void SetCrossRegionCopyRules(CrossRegionCopyRulesT&& value) { m_crossRegionCopyRulesHasBeenSet = true; m_crossRegionCopyRules = std::forward<CrossRegionCopyRulesT>(value); }
155 template<typename CrossRegionCopyRulesT = Aws::Vector<CrossRegionCopyRule>>
156 Schedule& WithCrossRegionCopyRules(CrossRegionCopyRulesT&& value) { SetCrossRegionCopyRules(std::forward<CrossRegionCopyRulesT>(value)); return *this;}
157 template<typename CrossRegionCopyRulesT = CrossRegionCopyRule>
158 Schedule& AddCrossRegionCopyRules(CrossRegionCopyRulesT&& value) { m_crossRegionCopyRulesHasBeenSet = true; m_crossRegionCopyRules.emplace_back(std::forward<CrossRegionCopyRulesT>(value)); return *this; }
160
162
166 inline const Aws::Vector<ShareRule>& GetShareRules() const { return m_shareRules; }
167 inline bool ShareRulesHasBeenSet() const { return m_shareRulesHasBeenSet; }
168 template<typename ShareRulesT = Aws::Vector<ShareRule>>
169 void SetShareRules(ShareRulesT&& value) { m_shareRulesHasBeenSet = true; m_shareRules = std::forward<ShareRulesT>(value); }
170 template<typename ShareRulesT = Aws::Vector<ShareRule>>
171 Schedule& WithShareRules(ShareRulesT&& value) { SetShareRules(std::forward<ShareRulesT>(value)); return *this;}
172 template<typename ShareRulesT = ShareRule>
173 Schedule& AddShareRules(ShareRulesT&& value) { m_shareRulesHasBeenSet = true; m_shareRules.emplace_back(std::forward<ShareRulesT>(value)); return *this; }
175
177
181 inline const DeprecateRule& GetDeprecateRule() const { return m_deprecateRule; }
182 inline bool DeprecateRuleHasBeenSet() const { return m_deprecateRuleHasBeenSet; }
183 template<typename DeprecateRuleT = DeprecateRule>
184 void SetDeprecateRule(DeprecateRuleT&& value) { m_deprecateRuleHasBeenSet = true; m_deprecateRule = std::forward<DeprecateRuleT>(value); }
185 template<typename DeprecateRuleT = DeprecateRule>
186 Schedule& WithDeprecateRule(DeprecateRuleT&& value) { SetDeprecateRule(std::forward<DeprecateRuleT>(value)); return *this;}
188
190
200 inline const ArchiveRule& GetArchiveRule() const { return m_archiveRule; }
201 inline bool ArchiveRuleHasBeenSet() const { return m_archiveRuleHasBeenSet; }
202 template<typename ArchiveRuleT = ArchiveRule>
203 void SetArchiveRule(ArchiveRuleT&& value) { m_archiveRuleHasBeenSet = true; m_archiveRule = std::forward<ArchiveRuleT>(value); }
204 template<typename ArchiveRuleT = ArchiveRule>
205 Schedule& WithArchiveRule(ArchiveRuleT&& value) { SetArchiveRule(std::forward<ArchiveRuleT>(value)); return *this;}
207 private:
208
209 Aws::String m_name;
210 bool m_nameHasBeenSet = false;
211
212 bool m_copyTags{false};
213 bool m_copyTagsHasBeenSet = false;
214
215 Aws::Vector<Tag> m_tagsToAdd;
216 bool m_tagsToAddHasBeenSet = false;
217
218 Aws::Vector<Tag> m_variableTags;
219 bool m_variableTagsHasBeenSet = false;
220
221 CreateRule m_createRule;
222 bool m_createRuleHasBeenSet = false;
223
224 RetainRule m_retainRule;
225 bool m_retainRuleHasBeenSet = false;
226
227 FastRestoreRule m_fastRestoreRule;
228 bool m_fastRestoreRuleHasBeenSet = false;
229
230 Aws::Vector<CrossRegionCopyRule> m_crossRegionCopyRules;
231 bool m_crossRegionCopyRulesHasBeenSet = false;
232
233 Aws::Vector<ShareRule> m_shareRules;
234 bool m_shareRulesHasBeenSet = false;
235
236 DeprecateRule m_deprecateRule;
237 bool m_deprecateRuleHasBeenSet = false;
238
239 ArchiveRule m_archiveRule;
240 bool m_archiveRuleHasBeenSet = false;
241 };
242
243} // namespace Model
244} // namespace DLM
245} // namespace Aws
Schedule & WithCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:156
void SetVariableTags(VariableTagsT &&value)
Definition Schedule.h:100
Schedule & WithTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:83
void SetArchiveRule(ArchiveRuleT &&value)
Definition Schedule.h:203
void SetCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:154
void SetShareRules(ShareRulesT &&value)
Definition Schedule.h:169
bool RetainRuleHasBeenSet() const
Definition Schedule.h:124
const Aws::String & GetName() const
Definition Schedule.h:54
const ArchiveRule & GetArchiveRule() const
Definition Schedule.h:200
void SetCreateRule(CreateRuleT &&value)
Definition Schedule.h:114
Schedule & WithShareRules(ShareRulesT &&value)
Definition Schedule.h:171
const CreateRule & GetCreateRule() const
Definition Schedule.h:111
Schedule & AddCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Definition Schedule.h:158
Schedule & WithDeprecateRule(DeprecateRuleT &&value)
Definition Schedule.h:186
const Aws::Vector< Tag > & GetTagsToAdd() const
Definition Schedule.h:78
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
bool FastRestoreRuleHasBeenSet() const
Definition Schedule.h:137
bool GetCopyTags() const
Definition Schedule.h:67
Schedule & WithName(NameT &&value)
Definition Schedule.h:59
bool NameHasBeenSet() const
Definition Schedule.h:55
Schedule & AddShareRules(ShareRulesT &&value)
Definition Schedule.h:173
Schedule & WithArchiveRule(ArchiveRuleT &&value)
Definition Schedule.h:205
const RetainRule & GetRetainRule() const
Definition Schedule.h:123
bool CreateRuleHasBeenSet() const
Definition Schedule.h:112
AWS_DLM_API Schedule & operator=(Aws::Utils::Json::JsonView jsonValue)
const DeprecateRule & GetDeprecateRule() const
Definition Schedule.h:181
Schedule & WithFastRestoreRule(FastRestoreRuleT &&value)
Definition Schedule.h:141
bool ShareRulesHasBeenSet() const
Definition Schedule.h:167
void SetName(NameT &&value)
Definition Schedule.h:57
Schedule & AddVariableTags(VariableTagsT &&value)
Definition Schedule.h:104
void SetDeprecateRule(DeprecateRuleT &&value)
Definition Schedule.h:184
bool ArchiveRuleHasBeenSet() const
Definition Schedule.h:201
void SetFastRestoreRule(FastRestoreRuleT &&value)
Definition Schedule.h:139
AWS_DLM_API Schedule()=default
void SetCopyTags(bool value)
Definition Schedule.h:69
const Aws::Vector< Tag > & GetVariableTags() const
Definition Schedule.h:97
bool CrossRegionCopyRulesHasBeenSet() const
Definition Schedule.h:152
const Aws::Vector< ShareRule > & GetShareRules() const
Definition Schedule.h:166
const Aws::Vector< CrossRegionCopyRule > & GetCrossRegionCopyRules() const
Definition Schedule.h:151
Schedule & WithVariableTags(VariableTagsT &&value)
Definition Schedule.h:102
const FastRestoreRule & GetFastRestoreRule() const
Definition Schedule.h:136
void SetTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:81
void SetRetainRule(RetainRuleT &&value)
Definition Schedule.h:126
Schedule & AddTagsToAdd(TagsToAddT &&value)
Definition Schedule.h:85
Schedule & WithRetainRule(RetainRuleT &&value)
Definition Schedule.h:128
AWS_DLM_API Schedule(Aws::Utils::Json::JsonView jsonValue)
bool VariableTagsHasBeenSet() const
Definition Schedule.h:98
Schedule & WithCopyTags(bool value)
Definition Schedule.h:70
bool DeprecateRuleHasBeenSet() const
Definition Schedule.h:182
bool CopyTagsHasBeenSet() const
Definition Schedule.h:68
Schedule & WithCreateRule(CreateRuleT &&value)
Definition Schedule.h:116
bool TagsToAddHasBeenSet() const
Definition Schedule.h:79
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue