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>
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>
69 inline void SetCopyTags(
bool value) { m_copyTagsHasBeenSet =
true; m_copyTags = value; }
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>>
84 template<
typename TagsToAddT = Tag>
85 Schedule&
AddTagsToAdd(TagsToAddT&& value) { m_tagsToAddHasBeenSet =
true; m_tagsToAdd.emplace_back(std::forward<TagsToAddT>(value));
return *
this; }
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>>
103 template<
typename VariableTagsT = Tag>
104 Schedule&
AddVariableTags(VariableTagsT&& value) { m_variableTagsHasBeenSet =
true; m_variableTags.emplace_back(std::forward<VariableTagsT>(value));
return *
this; }
113 template<
typename CreateRuleT = CreateRule>
114 void SetCreateRule(CreateRuleT&& value) { m_createRuleHasBeenSet =
true; m_createRule = std::forward<CreateRuleT>(value); }
115 template<
typename CreateRuleT = CreateRule>
125 template<
typename RetainRuleT = RetainRule>
126 void SetRetainRule(RetainRuleT&& value) { m_retainRuleHasBeenSet =
true; m_retainRule = std::forward<RetainRuleT>(value); }
127 template<
typename RetainRuleT = RetainRule>
138 template<
typename FastRestoreRuleT = FastRestoreRule>
139 void SetFastRestoreRule(FastRestoreRuleT&& value) { m_fastRestoreRuleHasBeenSet =
true; m_fastRestoreRule = std::forward<FastRestoreRuleT>(value); }
140 template<
typename FastRestoreRuleT = FastRestoreRule>
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>>
157 template<
typename CrossRegionCopyRulesT = CrossRegionCopyRule>
158 Schedule&
AddCrossRegionCopyRules(CrossRegionCopyRulesT&& value) { m_crossRegionCopyRulesHasBeenSet =
true; m_crossRegionCopyRules.emplace_back(std::forward<CrossRegionCopyRulesT>(value));
return *
this; }
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>>
172 template<
typename ShareRulesT = ShareRule>
173 Schedule&
AddShareRules(ShareRulesT&& value) { m_shareRulesHasBeenSet =
true; m_shareRules.emplace_back(std::forward<ShareRulesT>(value));
return *
this; }
183 template<
typename DeprecateRuleT = DeprecateRule>
184 void SetDeprecateRule(DeprecateRuleT&& value) { m_deprecateRuleHasBeenSet =
true; m_deprecateRule = std::forward<DeprecateRuleT>(value); }
185 template<
typename DeprecateRuleT = DeprecateRule>
202 template<
typename ArchiveRuleT = ArchiveRule>
203 void SetArchiveRule(ArchiveRuleT&& value) { m_archiveRuleHasBeenSet =
true; m_archiveRule = std::forward<ArchiveRuleT>(value); }
204 template<
typename ArchiveRuleT = ArchiveRule>
210 bool m_nameHasBeenSet =
false;
212 bool m_copyTags{
false};
213 bool m_copyTagsHasBeenSet =
false;
216 bool m_tagsToAddHasBeenSet =
false;
219 bool m_variableTagsHasBeenSet =
false;
221 CreateRule m_createRule;
222 bool m_createRuleHasBeenSet =
false;
224 RetainRule m_retainRule;
225 bool m_retainRuleHasBeenSet =
false;
227 FastRestoreRule m_fastRestoreRule;
228 bool m_fastRestoreRuleHasBeenSet =
false;
231 bool m_crossRegionCopyRulesHasBeenSet =
false;
234 bool m_shareRulesHasBeenSet =
false;
236 DeprecateRule m_deprecateRule;
237 bool m_deprecateRuleHasBeenSet =
false;
239 ArchiveRule m_archiveRule;
240 bool m_archiveRuleHasBeenSet =
false;
Schedule & WithCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
void SetVariableTags(VariableTagsT &&value)
Schedule & WithTagsToAdd(TagsToAddT &&value)
void SetArchiveRule(ArchiveRuleT &&value)
void SetCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
void SetShareRules(ShareRulesT &&value)
bool RetainRuleHasBeenSet() const
const Aws::String & GetName() const
const ArchiveRule & GetArchiveRule() const
void SetCreateRule(CreateRuleT &&value)
Schedule & WithShareRules(ShareRulesT &&value)
const CreateRule & GetCreateRule() const
Schedule & AddCrossRegionCopyRules(CrossRegionCopyRulesT &&value)
Schedule & WithDeprecateRule(DeprecateRuleT &&value)
const Aws::Vector< Tag > & GetTagsToAdd() const
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
bool FastRestoreRuleHasBeenSet() const
Schedule & WithName(NameT &&value)
bool NameHasBeenSet() const
Schedule & AddShareRules(ShareRulesT &&value)
Schedule & WithArchiveRule(ArchiveRuleT &&value)
const RetainRule & GetRetainRule() const
bool CreateRuleHasBeenSet() const
AWS_DLM_API Schedule & operator=(Aws::Utils::Json::JsonView jsonValue)
const DeprecateRule & GetDeprecateRule() const
Schedule & WithFastRestoreRule(FastRestoreRuleT &&value)
bool ShareRulesHasBeenSet() const
void SetName(NameT &&value)
Schedule & AddVariableTags(VariableTagsT &&value)
void SetDeprecateRule(DeprecateRuleT &&value)
bool ArchiveRuleHasBeenSet() const
void SetFastRestoreRule(FastRestoreRuleT &&value)
AWS_DLM_API Schedule()=default
void SetCopyTags(bool value)
const Aws::Vector< Tag > & GetVariableTags() const
bool CrossRegionCopyRulesHasBeenSet() const
const Aws::Vector< ShareRule > & GetShareRules() const
const Aws::Vector< CrossRegionCopyRule > & GetCrossRegionCopyRules() const
Schedule & WithVariableTags(VariableTagsT &&value)
const FastRestoreRule & GetFastRestoreRule() const
void SetTagsToAdd(TagsToAddT &&value)
void SetRetainRule(RetainRuleT &&value)
Schedule & AddTagsToAdd(TagsToAddT &&value)
Schedule & WithRetainRule(RetainRuleT &&value)
AWS_DLM_API Schedule(Aws::Utils::Json::JsonView jsonValue)
bool VariableTagsHasBeenSet() const
Schedule & WithCopyTags(bool value)
bool DeprecateRuleHasBeenSet() const
bool CopyTagsHasBeenSet() const
Schedule & WithCreateRule(CreateRuleT &&value)
bool TagsToAddHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue