7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dlm/DLMRequest.h>
11#include <aws/dlm/DLM_EXPORTS.h>
12#include <aws/dlm/model/CrossRegionCopyTarget.h>
13#include <aws/dlm/model/DefaultPolicyTypeValues.h>
14#include <aws/dlm/model/Exclusions.h>
15#include <aws/dlm/model/PolicyDetails.h>
16#include <aws/dlm/model/SettablePolicyStateValues.h>
45 template <
typename ExecutionRoleArnT = Aws::String>
47 m_executionRoleArnHasBeenSet =
true;
48 m_executionRoleArn = std::forward<ExecutionRoleArnT>(value);
50 template <
typename ExecutionRoleArnT = Aws::String>
64 template <
typename DescriptionT = Aws::String>
66 m_descriptionHasBeenSet =
true;
67 m_description = std::forward<DescriptionT>(value);
69 template <
typename DescriptionT = Aws::String>
83 m_stateHasBeenSet =
true;
101 template <
typename PolicyDetailsT = PolicyDetails>
103 m_policyDetailsHasBeenSet =
true;
104 m_policyDetails = std::forward<PolicyDetailsT>(value);
106 template <
typename PolicyDetailsT = PolicyDetails>
119 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
121 m_tagsHasBeenSet =
true;
122 m_tags = std::forward<TagsT>(value);
124 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
126 SetTags(std::forward<TagsT>(value));
129 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
131 m_tagsHasBeenSet =
true;
132 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
149 m_defaultPolicyHasBeenSet =
true;
150 m_defaultPolicy = value;
167 m_createIntervalHasBeenSet =
true;
168 m_createInterval = value;
187 m_retainIntervalHasBeenSet =
true;
188 m_retainInterval = value;
205 m_copyTagsHasBeenSet =
true;
235 m_extendDeletionHasBeenSet =
true;
236 m_extendDeletion = value;
252 template <
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
254 m_crossRegionCopyTargetsHasBeenSet =
true;
255 m_crossRegionCopyTargets = std::forward<CrossRegionCopyTargetsT>(value);
257 template <
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
262 template <
typename CrossRegionCopyTargetsT = CrossRegionCopyTarget>
264 m_crossRegionCopyTargetsHasBeenSet =
true;
265 m_crossRegionCopyTargets.emplace_back(std::forward<CrossRegionCopyTargetsT>(value));
279 template <
typename ExclusionsT = Exclusions>
281 m_exclusionsHasBeenSet =
true;
282 m_exclusions = std::forward<ExclusionsT>(value);
284 template <
typename ExclusionsT = Exclusions>
297 PolicyDetails m_policyDetails;
303 int m_createInterval{0};
305 int m_retainInterval{0};
307 bool m_copyTags{
false};
309 bool m_extendDeletion{
false};
313 Exclusions m_exclusions;
314 bool m_executionRoleArnHasBeenSet =
false;
315 bool m_descriptionHasBeenSet =
false;
316 bool m_stateHasBeenSet =
false;
317 bool m_policyDetailsHasBeenSet =
false;
318 bool m_tagsHasBeenSet =
false;
319 bool m_defaultPolicyHasBeenSet =
false;
320 bool m_createIntervalHasBeenSet =
false;
321 bool m_retainIntervalHasBeenSet =
false;
322 bool m_copyTagsHasBeenSet =
false;
323 bool m_extendDeletionHasBeenSet =
false;
324 bool m_crossRegionCopyTargetsHasBeenSet =
false;
325 bool m_exclusionsHasBeenSet =
false;
bool PolicyDetailsHasBeenSet() const
const Aws::String & GetExecutionRoleArn() const
CreateLifecyclePolicyRequest & WithDescription(DescriptionT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
virtual const char * GetServiceRequestName() const override
CreateLifecyclePolicyRequest & WithCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
CreateLifecyclePolicyRequest & WithCopyTags(bool value)
void SetCreateInterval(int value)
bool CrossRegionCopyTargetsHasBeenSet() const
bool StateHasBeenSet() const
CreateLifecyclePolicyRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetDescription(DescriptionT &&value)
int GetRetainInterval() const
const Aws::String & GetDescription() const
const Aws::Vector< CrossRegionCopyTarget > & GetCrossRegionCopyTargets() const
CreateLifecyclePolicyRequest & WithExtendDeletion(bool value)
bool CopyTagsHasBeenSet() const
void SetCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
SettablePolicyStateValues GetState() const
CreateLifecyclePolicyRequest & AddCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
CreateLifecyclePolicyRequest & WithRetainInterval(int value)
CreateLifecyclePolicyRequest & WithCreateInterval(int value)
CreateLifecyclePolicyRequest & WithPolicyDetails(PolicyDetailsT &&value)
CreateLifecyclePolicyRequest & WithExecutionRoleArn(ExecutionRoleArnT &&value)
void SetPolicyDetails(PolicyDetailsT &&value)
void SetCopyTags(bool value)
bool GetExtendDeletion() const
bool DescriptionHasBeenSet() const
void SetTags(TagsT &&value)
bool RetainIntervalHasBeenSet() const
CreateLifecyclePolicyRequest & WithDefaultPolicy(DefaultPolicyTypeValues value)
bool ExecutionRoleArnHasBeenSet() const
CreateLifecyclePolicyRequest & WithState(SettablePolicyStateValues value)
CreateLifecyclePolicyRequest & WithTags(TagsT &&value)
bool TagsHasBeenSet() const
bool ExclusionsHasBeenSet() const
void SetState(SettablePolicyStateValues value)
CreateLifecyclePolicyRequest & WithExclusions(ExclusionsT &&value)
bool ExtendDeletionHasBeenSet() const
void SetDefaultPolicy(DefaultPolicyTypeValues value)
const PolicyDetails & GetPolicyDetails() const
AWS_DLM_API CreateLifecyclePolicyRequest()=default
void SetExecutionRoleArn(ExecutionRoleArnT &&value)
AWS_DLM_API Aws::String SerializePayload() const override
bool CreateIntervalHasBeenSet() const
const Exclusions & GetExclusions() const
void SetExclusions(ExclusionsT &&value)
int GetCreateInterval() const
void SetRetainInterval(int value)
void SetExtendDeletion(bool value)
DefaultPolicyTypeValues GetDefaultPolicy() const
bool DefaultPolicyHasBeenSet() const
SettablePolicyStateValues
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