AWS SDK for C++

AWS SDK for C++ Version 1.11.757

Loading...
Searching...
No Matches
BackupRuleInput.h
1
6#pragma once
7#include <aws/backup/Backup_EXPORTS.h>
8#include <aws/backup/model/CopyAction.h>
9#include <aws/backup/model/IndexAction.h>
10#include <aws/backup/model/Lifecycle.h>
11#include <aws/backup/model/ScanAction.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Backup {
26namespace Model {
27
35 public:
36 AWS_BACKUP_API BackupRuleInput() = default;
39 AWS_BACKUP_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const Aws::String& GetRuleName() const { return m_ruleName; }
47 inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; }
48 template <typename RuleNameT = Aws::String>
49 void SetRuleName(RuleNameT&& value) {
50 m_ruleNameHasBeenSet = true;
51 m_ruleName = std::forward<RuleNameT>(value);
52 }
53 template <typename RuleNameT = Aws::String>
54 BackupRuleInput& WithRuleName(RuleNameT&& value) {
55 SetRuleName(std::forward<RuleNameT>(value));
56 return *this;
57 }
59
61
66 inline const Aws::String& GetTargetBackupVaultName() const { return m_targetBackupVaultName; }
67 inline bool TargetBackupVaultNameHasBeenSet() const { return m_targetBackupVaultNameHasBeenSet; }
68 template <typename TargetBackupVaultNameT = Aws::String>
69 void SetTargetBackupVaultName(TargetBackupVaultNameT&& value) {
70 m_targetBackupVaultNameHasBeenSet = true;
71 m_targetBackupVaultName = std::forward<TargetBackupVaultNameT>(value);
72 }
73 template <typename TargetBackupVaultNameT = Aws::String>
74 BackupRuleInput& WithTargetBackupVaultName(TargetBackupVaultNameT&& value) {
75 SetTargetBackupVaultName(std::forward<TargetBackupVaultNameT>(value));
76 return *this;
77 }
79
81
88 inline const Aws::String& GetTargetLogicallyAirGappedBackupVaultArn() const { return m_targetLogicallyAirGappedBackupVaultArn; }
89 inline bool TargetLogicallyAirGappedBackupVaultArnHasBeenSet() const { return m_targetLogicallyAirGappedBackupVaultArnHasBeenSet; }
90 template <typename TargetLogicallyAirGappedBackupVaultArnT = Aws::String>
91 void SetTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT&& value) {
92 m_targetLogicallyAirGappedBackupVaultArnHasBeenSet = true;
93 m_targetLogicallyAirGappedBackupVaultArn = std::forward<TargetLogicallyAirGappedBackupVaultArnT>(value);
94 }
95 template <typename TargetLogicallyAirGappedBackupVaultArnT = Aws::String>
96 BackupRuleInput& WithTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT&& value) {
97 SetTargetLogicallyAirGappedBackupVaultArn(std::forward<TargetLogicallyAirGappedBackupVaultArnT>(value));
98 return *this;
99 }
101
103
108 inline const Aws::String& GetScheduleExpression() const { return m_scheduleExpression; }
109 inline bool ScheduleExpressionHasBeenSet() const { return m_scheduleExpressionHasBeenSet; }
110 template <typename ScheduleExpressionT = Aws::String>
111 void SetScheduleExpression(ScheduleExpressionT&& value) {
112 m_scheduleExpressionHasBeenSet = true;
113 m_scheduleExpression = std::forward<ScheduleExpressionT>(value);
114 }
115 template <typename ScheduleExpressionT = Aws::String>
116 BackupRuleInput& WithScheduleExpression(ScheduleExpressionT&& value) {
117 SetScheduleExpression(std::forward<ScheduleExpressionT>(value));
118 return *this;
119 }
121
123
136 inline long long GetStartWindowMinutes() const { return m_startWindowMinutes; }
137 inline bool StartWindowMinutesHasBeenSet() const { return m_startWindowMinutesHasBeenSet; }
138 inline void SetStartWindowMinutes(long long value) {
139 m_startWindowMinutesHasBeenSet = true;
140 m_startWindowMinutes = value;
141 }
142 inline BackupRuleInput& WithStartWindowMinutes(long long value) {
144 return *this;
145 }
147
149
153 inline long long GetCompletionWindowMinutes() const { return m_completionWindowMinutes; }
154 inline bool CompletionWindowMinutesHasBeenSet() const { return m_completionWindowMinutesHasBeenSet; }
155 inline void SetCompletionWindowMinutes(long long value) {
156 m_completionWindowMinutesHasBeenSet = true;
157 m_completionWindowMinutes = value;
158 }
161 return *this;
162 }
164
166
181 inline const Lifecycle& GetLifecycle() const { return m_lifecycle; }
182 inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
183 template <typename LifecycleT = Lifecycle>
184 void SetLifecycle(LifecycleT&& value) {
185 m_lifecycleHasBeenSet = true;
186 m_lifecycle = std::forward<LifecycleT>(value);
187 }
188 template <typename LifecycleT = Lifecycle>
189 BackupRuleInput& WithLifecycle(LifecycleT&& value) {
190 SetLifecycle(std::forward<LifecycleT>(value));
191 return *this;
192 }
194
196
199 inline const Aws::Map<Aws::String, Aws::String>& GetRecoveryPointTags() const { return m_recoveryPointTags; }
200 inline bool RecoveryPointTagsHasBeenSet() const { return m_recoveryPointTagsHasBeenSet; }
201 template <typename RecoveryPointTagsT = Aws::Map<Aws::String, Aws::String>>
202 void SetRecoveryPointTags(RecoveryPointTagsT&& value) {
203 m_recoveryPointTagsHasBeenSet = true;
204 m_recoveryPointTags = std::forward<RecoveryPointTagsT>(value);
205 }
206 template <typename RecoveryPointTagsT = Aws::Map<Aws::String, Aws::String>>
207 BackupRuleInput& WithRecoveryPointTags(RecoveryPointTagsT&& value) {
208 SetRecoveryPointTags(std::forward<RecoveryPointTagsT>(value));
209 return *this;
210 }
211 template <typename RecoveryPointTagsKeyT = Aws::String, typename RecoveryPointTagsValueT = Aws::String>
212 BackupRuleInput& AddRecoveryPointTags(RecoveryPointTagsKeyT&& key, RecoveryPointTagsValueT&& value) {
213 m_recoveryPointTagsHasBeenSet = true;
214 m_recoveryPointTags.emplace(std::forward<RecoveryPointTagsKeyT>(key), std::forward<RecoveryPointTagsValueT>(value));
215 return *this;
216 }
218
220
224 inline const Aws::Vector<CopyAction>& GetCopyActions() const { return m_copyActions; }
225 inline bool CopyActionsHasBeenSet() const { return m_copyActionsHasBeenSet; }
226 template <typename CopyActionsT = Aws::Vector<CopyAction>>
227 void SetCopyActions(CopyActionsT&& value) {
228 m_copyActionsHasBeenSet = true;
229 m_copyActions = std::forward<CopyActionsT>(value);
230 }
231 template <typename CopyActionsT = Aws::Vector<CopyAction>>
232 BackupRuleInput& WithCopyActions(CopyActionsT&& value) {
233 SetCopyActions(std::forward<CopyActionsT>(value));
234 return *this;
235 }
236 template <typename CopyActionsT = CopyAction>
237 BackupRuleInput& AddCopyActions(CopyActionsT&& value) {
238 m_copyActionsHasBeenSet = true;
239 m_copyActions.emplace_back(std::forward<CopyActionsT>(value));
240 return *this;
241 }
243
245
250 inline bool GetEnableContinuousBackup() const { return m_enableContinuousBackup; }
251 inline bool EnableContinuousBackupHasBeenSet() const { return m_enableContinuousBackupHasBeenSet; }
252 inline void SetEnableContinuousBackup(bool value) {
253 m_enableContinuousBackupHasBeenSet = true;
254 m_enableContinuousBackup = value;
255 }
258 return *this;
259 }
261
263
267 inline const Aws::String& GetScheduleExpressionTimezone() const { return m_scheduleExpressionTimezone; }
268 inline bool ScheduleExpressionTimezoneHasBeenSet() const { return m_scheduleExpressionTimezoneHasBeenSet; }
269 template <typename ScheduleExpressionTimezoneT = Aws::String>
270 void SetScheduleExpressionTimezone(ScheduleExpressionTimezoneT&& value) {
271 m_scheduleExpressionTimezoneHasBeenSet = true;
272 m_scheduleExpressionTimezone = std::forward<ScheduleExpressionTimezoneT>(value);
273 }
274 template <typename ScheduleExpressionTimezoneT = Aws::String>
275 BackupRuleInput& WithScheduleExpressionTimezone(ScheduleExpressionTimezoneT&& value) {
276 SetScheduleExpressionTimezone(std::forward<ScheduleExpressionTimezoneT>(value));
277 return *this;
278 }
280
282
289 inline const Aws::Vector<IndexAction>& GetIndexActions() const { return m_indexActions; }
290 inline bool IndexActionsHasBeenSet() const { return m_indexActionsHasBeenSet; }
291 template <typename IndexActionsT = Aws::Vector<IndexAction>>
292 void SetIndexActions(IndexActionsT&& value) {
293 m_indexActionsHasBeenSet = true;
294 m_indexActions = std::forward<IndexActionsT>(value);
295 }
296 template <typename IndexActionsT = Aws::Vector<IndexAction>>
297 BackupRuleInput& WithIndexActions(IndexActionsT&& value) {
298 SetIndexActions(std::forward<IndexActionsT>(value));
299 return *this;
300 }
301 template <typename IndexActionsT = IndexAction>
302 BackupRuleInput& AddIndexActions(IndexActionsT&& value) {
303 m_indexActionsHasBeenSet = true;
304 m_indexActions.emplace_back(std::forward<IndexActionsT>(value));
305 return *this;
306 }
308
310
314 inline const Aws::Vector<ScanAction>& GetScanActions() const { return m_scanActions; }
315 inline bool ScanActionsHasBeenSet() const { return m_scanActionsHasBeenSet; }
316 template <typename ScanActionsT = Aws::Vector<ScanAction>>
317 void SetScanActions(ScanActionsT&& value) {
318 m_scanActionsHasBeenSet = true;
319 m_scanActions = std::forward<ScanActionsT>(value);
320 }
321 template <typename ScanActionsT = Aws::Vector<ScanAction>>
322 BackupRuleInput& WithScanActions(ScanActionsT&& value) {
323 SetScanActions(std::forward<ScanActionsT>(value));
324 return *this;
325 }
326 template <typename ScanActionsT = ScanAction>
327 BackupRuleInput& AddScanActions(ScanActionsT&& value) {
328 m_scanActionsHasBeenSet = true;
329 m_scanActions.emplace_back(std::forward<ScanActionsT>(value));
330 return *this;
331 }
333 private:
334 Aws::String m_ruleName;
335
336 Aws::String m_targetBackupVaultName;
337
338 Aws::String m_targetLogicallyAirGappedBackupVaultArn;
339
340 Aws::String m_scheduleExpression;
341
342 long long m_startWindowMinutes{0};
343
344 long long m_completionWindowMinutes{0};
345
346 Lifecycle m_lifecycle;
347
348 Aws::Map<Aws::String, Aws::String> m_recoveryPointTags;
349
350 Aws::Vector<CopyAction> m_copyActions;
351
352 bool m_enableContinuousBackup{false};
353
354 Aws::String m_scheduleExpressionTimezone;
355
356 Aws::Vector<IndexAction> m_indexActions;
357
358 Aws::Vector<ScanAction> m_scanActions;
359 bool m_ruleNameHasBeenSet = false;
360 bool m_targetBackupVaultNameHasBeenSet = false;
361 bool m_targetLogicallyAirGappedBackupVaultArnHasBeenSet = false;
362 bool m_scheduleExpressionHasBeenSet = false;
363 bool m_startWindowMinutesHasBeenSet = false;
364 bool m_completionWindowMinutesHasBeenSet = false;
365 bool m_lifecycleHasBeenSet = false;
366 bool m_recoveryPointTagsHasBeenSet = false;
367 bool m_copyActionsHasBeenSet = false;
368 bool m_enableContinuousBackupHasBeenSet = false;
369 bool m_scheduleExpressionTimezoneHasBeenSet = false;
370 bool m_indexActionsHasBeenSet = false;
371 bool m_scanActionsHasBeenSet = false;
372};
373
374} // namespace Model
375} // namespace Backup
376} // namespace Aws
BackupRuleInput & WithScheduleExpressionTimezone(ScheduleExpressionTimezoneT &&value)
BackupRuleInput & WithRuleName(RuleNameT &&value)
BackupRuleInput & WithEnableContinuousBackup(bool value)
void SetScanActions(ScanActionsT &&value)
void SetStartWindowMinutes(long long value)
void SetCopyActions(CopyActionsT &&value)
AWS_BACKUP_API BackupRuleInput & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BACKUP_API Aws::Utils::Json::JsonValue Jsonize() const
BackupRuleInput & WithTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT &&value)
AWS_BACKUP_API BackupRuleInput(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetScheduleExpression() const
BackupRuleInput & AddIndexActions(IndexActionsT &&value)
void SetLifecycle(LifecycleT &&value)
void SetCompletionWindowMinutes(long long value)
void SetScheduleExpressionTimezone(ScheduleExpressionTimezoneT &&value)
const Aws::Map< Aws::String, Aws::String > & GetRecoveryPointTags() const
const Aws::String & GetTargetLogicallyAirGappedBackupVaultArn() const
BackupRuleInput & WithLifecycle(LifecycleT &&value)
const Aws::String & GetScheduleExpressionTimezone() const
void SetIndexActions(IndexActionsT &&value)
void SetScheduleExpression(ScheduleExpressionT &&value)
BackupRuleInput & WithIndexActions(IndexActionsT &&value)
const Aws::Vector< CopyAction > & GetCopyActions() const
bool TargetLogicallyAirGappedBackupVaultArnHasBeenSet() const
BackupRuleInput & WithTargetBackupVaultName(TargetBackupVaultNameT &&value)
const Aws::Vector< IndexAction > & GetIndexActions() const
const Aws::String & GetTargetBackupVaultName() const
void SetRecoveryPointTags(RecoveryPointTagsT &&value)
BackupRuleInput & WithRecoveryPointTags(RecoveryPointTagsT &&value)
void SetTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT &&value)
const Lifecycle & GetLifecycle() const
BackupRuleInput & WithStartWindowMinutes(long long value)
const Aws::Vector< ScanAction > & GetScanActions() const
BackupRuleInput & WithScanActions(ScanActionsT &&value)
void SetTargetBackupVaultName(TargetBackupVaultNameT &&value)
AWS_BACKUP_API BackupRuleInput()=default
BackupRuleInput & AddCopyActions(CopyActionsT &&value)
BackupRuleInput & AddRecoveryPointTags(RecoveryPointTagsKeyT &&key, RecoveryPointTagsValueT &&value)
BackupRuleInput & AddScanActions(ScanActionsT &&value)
BackupRuleInput & WithScheduleExpression(ScheduleExpressionT &&value)
void SetRuleName(RuleNameT &&value)
BackupRuleInput & WithCompletionWindowMinutes(long long value)
BackupRuleInput & WithCopyActions(CopyActionsT &&value)
const Aws::String & GetRuleName() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue