7#include <aws/backup/Backup_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/backup/model/Lifecycle.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/backup/model/CopyAction.h>
13#include <aws/backup/model/IndexAction.h>
53 template<
typename RuleNameT = Aws::String>
54 void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet =
true; m_ruleName = std::forward<RuleNameT>(value); }
55 template<
typename RuleNameT = Aws::String>
67 template<
typename TargetBackupVaultNameT = Aws::String>
68 void SetTargetBackupVaultName(TargetBackupVaultNameT&& value) { m_targetBackupVaultNameHasBeenSet =
true; m_targetBackupVaultName = std::forward<TargetBackupVaultNameT>(value); }
69 template<
typename TargetBackupVaultNameT = Aws::String>
88 template<
typename ScheduleExpressionT = Aws::String>
89 void SetScheduleExpression(ScheduleExpressionT&& value) { m_scheduleExpressionHasBeenSet =
true; m_scheduleExpression = std::forward<ScheduleExpressionT>(value); }
90 template<
typename ScheduleExpressionT = Aws::String>
109 inline void SetStartWindowMinutes(
long long value) { m_startWindowMinutesHasBeenSet =
true; m_startWindowMinutes = value; }
140 template<
typename LifecycleT = Lifecycle>
141 void SetLifecycle(LifecycleT&& value) { m_lifecycleHasBeenSet =
true; m_lifecycle = std::forward<LifecycleT>(value); }
142 template<
typename LifecycleT = Lifecycle>
153 template<
typename RecoveryPo
intTagsT = Aws::Map<Aws::String, Aws::String>>
154 void SetRecoveryPointTags(RecoveryPointTagsT&& value) { m_recoveryPointTagsHasBeenSet =
true; m_recoveryPointTags = std::forward<RecoveryPointTagsT>(value); }
155 template<
typename RecoveryPo
intTagsT = Aws::Map<Aws::String, Aws::String>>
157 template<
typename RecoveryPo
intTagsKeyT = Aws::String,
typename RecoveryPo
intTagsValueT = Aws::String>
159 m_recoveryPointTagsHasBeenSet =
true; m_recoveryPointTags.emplace(std::forward<RecoveryPointTagsKeyT>(key), std::forward<RecoveryPointTagsValueT>(value));
return *
this;
170 template<
typename RuleIdT = Aws::String>
171 void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet =
true; m_ruleId = std::forward<RuleIdT>(value); }
172 template<
typename RuleIdT = Aws::String>
183 template<
typename CopyActionsT = Aws::Vector<CopyAction>>
184 void SetCopyActions(CopyActionsT&& value) { m_copyActionsHasBeenSet =
true; m_copyActions = std::forward<CopyActionsT>(value); }
185 template<
typename CopyActionsT = Aws::Vector<CopyAction>>
187 template<
typename CopyActionsT = CopyAction>
188 BackupRule&
AddCopyActions(CopyActionsT&& value) { m_copyActionsHasBeenSet =
true; m_copyActions.emplace_back(std::forward<CopyActionsT>(value));
return *
this; }
210 template<
typename ScheduleExpressionTimezoneT = Aws::String>
211 void SetScheduleExpressionTimezone(ScheduleExpressionTimezoneT&& value) { m_scheduleExpressionTimezoneHasBeenSet =
true; m_scheduleExpressionTimezone = std::forward<ScheduleExpressionTimezoneT>(value); }
212 template<
typename ScheduleExpressionTimezoneT = Aws::String>
225 template<
typename IndexActionsT = Aws::Vector<IndexAction>>
226 void SetIndexActions(IndexActionsT&& value) { m_indexActionsHasBeenSet =
true; m_indexActions = std::forward<IndexActionsT>(value); }
227 template<
typename IndexActionsT = Aws::Vector<IndexAction>>
229 template<
typename IndexActionsT = IndexAction>
230 BackupRule&
AddIndexActions(IndexActionsT&& value) { m_indexActionsHasBeenSet =
true; m_indexActions.emplace_back(std::forward<IndexActionsT>(value));
return *
this; }
235 bool m_ruleNameHasBeenSet =
false;
238 bool m_targetBackupVaultNameHasBeenSet =
false;
241 bool m_scheduleExpressionHasBeenSet =
false;
243 long long m_startWindowMinutes{0};
244 bool m_startWindowMinutesHasBeenSet =
false;
246 long long m_completionWindowMinutes{0};
247 bool m_completionWindowMinutesHasBeenSet =
false;
249 Lifecycle m_lifecycle;
250 bool m_lifecycleHasBeenSet =
false;
253 bool m_recoveryPointTagsHasBeenSet =
false;
256 bool m_ruleIdHasBeenSet =
false;
259 bool m_copyActionsHasBeenSet =
false;
261 bool m_enableContinuousBackup{
false};
262 bool m_enableContinuousBackupHasBeenSet =
false;
265 bool m_scheduleExpressionTimezoneHasBeenSet =
false;
268 bool m_indexActionsHasBeenSet =
false;
BackupRule & WithRuleId(RuleIdT &&value)
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)
BackupRule & WithScheduleExpression(ScheduleExpressionT &&value)
BackupRule & AddCopyActions(CopyActionsT &&value)
bool RuleNameHasBeenSet() const
bool CompletionWindowMinutesHasBeenSet() const
BackupRule & WithRecoveryPointTags(RecoveryPointTagsT &&value)
bool EnableContinuousBackupHasBeenSet() const
void SetScheduleExpressionTimezone(ScheduleExpressionTimezoneT &&value)
BackupRule & WithCopyActions(CopyActionsT &&value)
void SetRuleId(RuleIdT &&value)
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)
bool StartWindowMinutesHasBeenSet() const
BackupRule & AddIndexActions(IndexActionsT &&value)
bool RuleIdHasBeenSet() const
bool GetEnableContinuousBackup() const
void SetRuleName(RuleNameT &&value)
const Aws::Map< Aws::String, Aws::String > & GetRecoveryPointTags() const
bool RecoveryPointTagsHasBeenSet() const
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
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