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>
48 template <
typename RuleNameT = Aws::String>
50 m_ruleNameHasBeenSet =
true;
51 m_ruleName = std::forward<RuleNameT>(value);
53 template <
typename RuleNameT = Aws::String>
68 template <
typename TargetBackupVaultNameT = Aws::String>
70 m_targetBackupVaultNameHasBeenSet =
true;
71 m_targetBackupVaultName = std::forward<TargetBackupVaultNameT>(value);
73 template <
typename TargetBackupVaultNameT = Aws::String>
90 template <
typename TargetLogicallyAirGappedBackupVaultArnT = Aws::String>
92 m_targetLogicallyAirGappedBackupVaultArnHasBeenSet =
true;
93 m_targetLogicallyAirGappedBackupVaultArn = std::forward<TargetLogicallyAirGappedBackupVaultArnT>(value);
95 template <
typename TargetLogicallyAirGappedBackupVaultArnT = Aws::String>
117 template <
typename ScheduleExpressionT = Aws::String>
119 m_scheduleExpressionHasBeenSet =
true;
120 m_scheduleExpression = std::forward<ScheduleExpressionT>(value);
122 template <
typename ScheduleExpressionT = Aws::String>
145 m_startWindowMinutesHasBeenSet =
true;
146 m_startWindowMinutes = value;
162 m_completionWindowMinutesHasBeenSet =
true;
163 m_completionWindowMinutes = value;
187 template <
typename LifecycleT = Lifecycle>
189 m_lifecycleHasBeenSet =
true;
190 m_lifecycle = std::forward<LifecycleT>(value);
192 template <
typename LifecycleT = Lifecycle>
206 template <
typename RecoveryPo
intTagsT = Aws::Map<Aws::String, Aws::String>>
208 m_recoveryPointTagsHasBeenSet =
true;
209 m_recoveryPointTags = std::forward<RecoveryPointTagsT>(value);
211 template <
typename RecoveryPo
intTagsT = Aws::Map<Aws::String, Aws::String>>
216 template <
typename RecoveryPo
intTagsKeyT = Aws::String,
typename RecoveryPo
intTagsValueT = Aws::String>
218 m_recoveryPointTagsHasBeenSet =
true;
219 m_recoveryPointTags.emplace(std::forward<RecoveryPointTagsKeyT>(key), std::forward<RecoveryPointTagsValueT>(value));
231 template <
typename RuleIdT = Aws::String>
233 m_ruleIdHasBeenSet =
true;
234 m_ruleId = std::forward<RuleIdT>(value);
236 template <
typename RuleIdT = Aws::String>
250 template <
typename CopyActionsT = Aws::Vector<CopyAction>>
252 m_copyActionsHasBeenSet =
true;
253 m_copyActions = std::forward<CopyActionsT>(value);
255 template <
typename CopyActionsT = Aws::Vector<CopyAction>>
260 template <
typename CopyActionsT = CopyAction>
262 m_copyActionsHasBeenSet =
true;
263 m_copyActions.emplace_back(std::forward<CopyActionsT>(value));
277 m_enableContinuousBackupHasBeenSet =
true;
278 m_enableContinuousBackup = value;
293 template <
typename ScheduleExpressionTimezoneT = Aws::String>
295 m_scheduleExpressionTimezoneHasBeenSet =
true;
296 m_scheduleExpressionTimezone = std::forward<ScheduleExpressionTimezoneT>(value);
298 template <
typename ScheduleExpressionTimezoneT = Aws::String>
314 template <
typename IndexActionsT = Aws::Vector<IndexAction>>
316 m_indexActionsHasBeenSet =
true;
317 m_indexActions = std::forward<IndexActionsT>(value);
319 template <
typename IndexActionsT = Aws::Vector<IndexAction>>
324 template <
typename IndexActionsT = IndexAction>
326 m_indexActionsHasBeenSet =
true;
327 m_indexActions.emplace_back(std::forward<IndexActionsT>(value));
339 template <
typename ScanActionsT = Aws::Vector<ScanAction>>
341 m_scanActionsHasBeenSet =
true;
342 m_scanActions = std::forward<ScanActionsT>(value);
344 template <
typename ScanActionsT = Aws::Vector<ScanAction>>
349 template <
typename ScanActionsT = ScanAction>
351 m_scanActionsHasBeenSet =
true;
352 m_scanActions.emplace_back(std::forward<ScanActionsT>(value));
361 Aws::String m_targetLogicallyAirGappedBackupVaultArn;
365 long long m_startWindowMinutes{0};
367 long long m_completionWindowMinutes{0};
369 Lifecycle m_lifecycle;
377 bool m_enableContinuousBackup{
false};
384 bool m_ruleNameHasBeenSet =
false;
385 bool m_targetBackupVaultNameHasBeenSet =
false;
386 bool m_targetLogicallyAirGappedBackupVaultArnHasBeenSet =
false;
387 bool m_scheduleExpressionHasBeenSet =
false;
388 bool m_startWindowMinutesHasBeenSet =
false;
389 bool m_completionWindowMinutesHasBeenSet =
false;
390 bool m_lifecycleHasBeenSet =
false;
391 bool m_recoveryPointTagsHasBeenSet =
false;
392 bool m_ruleIdHasBeenSet =
false;
393 bool m_copyActionsHasBeenSet =
false;
394 bool m_enableContinuousBackupHasBeenSet =
false;
395 bool m_scheduleExpressionTimezoneHasBeenSet =
false;
396 bool m_indexActionsHasBeenSet =
false;
397 bool m_scanActionsHasBeenSet =
false;
BackupRule & WithRuleId(RuleIdT &&value)
void SetScanActions(ScanActionsT &&value)
bool TargetLogicallyAirGappedBackupVaultArnHasBeenSet() const
BackupRule & WithScheduleExpressionTimezone(ScheduleExpressionTimezoneT &&value)
void SetScheduleExpression(ScheduleExpressionT &&value)
BackupRule & WithEnableContinuousBackup(bool value)
const Aws::String & GetScheduleExpression() const
void SetStartWindowMinutes(long long value)
void SetLifecycle(LifecycleT &&value)
const Aws::String & GetTargetLogicallyAirGappedBackupVaultArn() const
BackupRule & WithScheduleExpression(ScheduleExpressionT &&value)
BackupRule & AddCopyActions(CopyActionsT &&value)
bool RuleNameHasBeenSet() const
bool CompletionWindowMinutesHasBeenSet() const
BackupRule & WithRecoveryPointTags(RecoveryPointTagsT &&value)
bool EnableContinuousBackupHasBeenSet() const
BackupRule & WithTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT &&value)
void SetScheduleExpressionTimezone(ScheduleExpressionTimezoneT &&value)
BackupRule & WithCopyActions(CopyActionsT &&value)
void SetRuleId(RuleIdT &&value)
bool ScanActionsHasBeenSet() const
BackupRule & WithTargetBackupVaultName(TargetBackupVaultNameT &&value)
void SetCompletionWindowMinutes(long long value)
const Lifecycle & GetLifecycle() const
void SetTargetBackupVaultName(TargetBackupVaultNameT &&value)
BackupRule & AddRecoveryPointTags(RecoveryPointTagsKeyT &&key, RecoveryPointTagsValueT &&value)
BackupRule & WithRuleName(RuleNameT &&value)
void SetTargetLogicallyAirGappedBackupVaultArn(TargetLogicallyAirGappedBackupVaultArnT &&value)
bool StartWindowMinutesHasBeenSet() const
BackupRule & AddIndexActions(IndexActionsT &&value)
bool RuleIdHasBeenSet() const
bool GetEnableContinuousBackup() const
void SetRuleName(RuleNameT &&value)
const Aws::Vector< ScanAction > & GetScanActions() const
const Aws::Map< Aws::String, Aws::String > & GetRecoveryPointTags() const
bool RecoveryPointTagsHasBeenSet() const
BackupRule & WithScanActions(ScanActionsT &&value)
BackupRule & WithLifecycle(LifecycleT &&value)
bool ScheduleExpressionTimezoneHasBeenSet() const
AWS_BACKUP_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BACKUP_API BackupRule(Aws::Utils::Json::JsonView jsonValue)
BackupRule & WithIndexActions(IndexActionsT &&value)
bool ScheduleExpressionHasBeenSet() const
long long GetStartWindowMinutes() const
bool TargetBackupVaultNameHasBeenSet() const
AWS_BACKUP_API BackupRule()=default
const Aws::String & GetRuleName() const
BackupRule & WithStartWindowMinutes(long long value)
bool CopyActionsHasBeenSet() const
const Aws::Vector< CopyAction > & GetCopyActions() const
const Aws::Vector< IndexAction > & GetIndexActions() const
void SetIndexActions(IndexActionsT &&value)
void SetRecoveryPointTags(RecoveryPointTagsT &&value)
long long GetCompletionWindowMinutes() const
BackupRule & WithCompletionWindowMinutes(long long value)
void SetEnableContinuousBackup(bool value)
bool IndexActionsHasBeenSet() const
const Aws::String & GetRuleId() const
void SetCopyActions(CopyActionsT &&value)
AWS_BACKUP_API BackupRule & operator=(Aws::Utils::Json::JsonView jsonValue)
bool LifecycleHasBeenSet() const
const Aws::String & GetScheduleExpressionTimezone() const
const Aws::String & GetTargetBackupVaultName() const
BackupRule & AddScanActions(ScanActionsT &&value)
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