AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CreateLifecyclePolicyRequest.h
1
6#pragma once
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>
17
18#include <utility>
19
20namespace Aws {
21namespace DLM {
22namespace Model {
23
27 public:
28 AWS_DLM_API CreateLifecyclePolicyRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateLifecyclePolicy"; }
35
36 AWS_DLM_API Aws::String SerializePayload() const override;
37
39
43 inline const Aws::String& GetExecutionRoleArn() const { return m_executionRoleArn; }
44 inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; }
45 template <typename ExecutionRoleArnT = Aws::String>
46 void SetExecutionRoleArn(ExecutionRoleArnT&& value) {
47 m_executionRoleArnHasBeenSet = true;
48 m_executionRoleArn = std::forward<ExecutionRoleArnT>(value);
49 }
50 template <typename ExecutionRoleArnT = Aws::String>
52 SetExecutionRoleArn(std::forward<ExecutionRoleArnT>(value));
53 return *this;
54 }
56
58
62 inline const Aws::String& GetDescription() const { return m_description; }
63 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
64 template <typename DescriptionT = Aws::String>
65 void SetDescription(DescriptionT&& value) {
66 m_descriptionHasBeenSet = true;
67 m_description = std::forward<DescriptionT>(value);
68 }
69 template <typename DescriptionT = Aws::String>
71 SetDescription(std::forward<DescriptionT>(value));
72 return *this;
73 }
75
77
80 inline SettablePolicyStateValues GetState() const { return m_state; }
81 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
83 m_stateHasBeenSet = true;
84 m_state = value;
85 }
87 SetState(value);
88 return *this;
89 }
91
93
99 inline const PolicyDetails& GetPolicyDetails() const { return m_policyDetails; }
100 inline bool PolicyDetailsHasBeenSet() const { return m_policyDetailsHasBeenSet; }
101 template <typename PolicyDetailsT = PolicyDetails>
102 void SetPolicyDetails(PolicyDetailsT&& value) {
103 m_policyDetailsHasBeenSet = true;
104 m_policyDetails = std::forward<PolicyDetailsT>(value);
105 }
106 template <typename PolicyDetailsT = PolicyDetails>
108 SetPolicyDetails(std::forward<PolicyDetailsT>(value));
109 return *this;
110 }
112
114
117 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
118 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
119 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
120 void SetTags(TagsT&& value) {
121 m_tagsHasBeenSet = true;
122 m_tags = std::forward<TagsT>(value);
123 }
124 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
126 SetTags(std::forward<TagsT>(value));
127 return *this;
128 }
129 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
130 CreateLifecyclePolicyRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
131 m_tagsHasBeenSet = true;
132 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
133 return *this;
134 }
136
138
146 inline DefaultPolicyTypeValues GetDefaultPolicy() const { return m_defaultPolicy; }
147 inline bool DefaultPolicyHasBeenSet() const { return m_defaultPolicyHasBeenSet; }
149 m_defaultPolicyHasBeenSet = true;
150 m_defaultPolicy = value;
151 }
153 SetDefaultPolicy(value);
154 return *this;
155 }
157
159
164 inline int GetCreateInterval() const { return m_createInterval; }
165 inline bool CreateIntervalHasBeenSet() const { return m_createIntervalHasBeenSet; }
166 inline void SetCreateInterval(int value) {
167 m_createIntervalHasBeenSet = true;
168 m_createInterval = value;
169 }
171 SetCreateInterval(value);
172 return *this;
173 }
175
177
184 inline int GetRetainInterval() const { return m_retainInterval; }
185 inline bool RetainIntervalHasBeenSet() const { return m_retainIntervalHasBeenSet; }
186 inline void SetRetainInterval(int value) {
187 m_retainIntervalHasBeenSet = true;
188 m_retainInterval = value;
189 }
191 SetRetainInterval(value);
192 return *this;
193 }
195
197
202 inline bool GetCopyTags() const { return m_copyTags; }
203 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
204 inline void SetCopyTags(bool value) {
205 m_copyTagsHasBeenSet = true;
206 m_copyTags = value;
207 }
209 SetCopyTags(value);
210 return *this;
211 }
213
215
232 inline bool GetExtendDeletion() const { return m_extendDeletion; }
233 inline bool ExtendDeletionHasBeenSet() const { return m_extendDeletionHasBeenSet; }
234 inline void SetExtendDeletion(bool value) {
235 m_extendDeletionHasBeenSet = true;
236 m_extendDeletion = value;
237 }
239 SetExtendDeletion(value);
240 return *this;
241 }
243
245
250 inline const Aws::Vector<CrossRegionCopyTarget>& GetCrossRegionCopyTargets() const { return m_crossRegionCopyTargets; }
251 inline bool CrossRegionCopyTargetsHasBeenSet() const { return m_crossRegionCopyTargetsHasBeenSet; }
252 template <typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
253 void SetCrossRegionCopyTargets(CrossRegionCopyTargetsT&& value) {
254 m_crossRegionCopyTargetsHasBeenSet = true;
255 m_crossRegionCopyTargets = std::forward<CrossRegionCopyTargetsT>(value);
256 }
257 template <typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
259 SetCrossRegionCopyTargets(std::forward<CrossRegionCopyTargetsT>(value));
260 return *this;
261 }
262 template <typename CrossRegionCopyTargetsT = CrossRegionCopyTarget>
263 CreateLifecyclePolicyRequest& AddCrossRegionCopyTargets(CrossRegionCopyTargetsT&& value) {
264 m_crossRegionCopyTargetsHasBeenSet = true;
265 m_crossRegionCopyTargets.emplace_back(std::forward<CrossRegionCopyTargetsT>(value));
266 return *this;
267 }
269
271
277 inline const Exclusions& GetExclusions() const { return m_exclusions; }
278 inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; }
279 template <typename ExclusionsT = Exclusions>
280 void SetExclusions(ExclusionsT&& value) {
281 m_exclusionsHasBeenSet = true;
282 m_exclusions = std::forward<ExclusionsT>(value);
283 }
284 template <typename ExclusionsT = Exclusions>
286 SetExclusions(std::forward<ExclusionsT>(value));
287 return *this;
288 }
290 private:
291 Aws::String m_executionRoleArn;
292
293 Aws::String m_description;
294
296
297 PolicyDetails m_policyDetails;
298
300
302
303 int m_createInterval{0};
304
305 int m_retainInterval{0};
306
307 bool m_copyTags{false};
308
309 bool m_extendDeletion{false};
310
311 Aws::Vector<CrossRegionCopyTarget> m_crossRegionCopyTargets;
312
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;
326};
327
328} // namespace Model
329} // namespace DLM
330} // namespace Aws
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)
CreateLifecyclePolicyRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::Vector< CrossRegionCopyTarget > & GetCrossRegionCopyTargets() const
CreateLifecyclePolicyRequest & WithExtendDeletion(bool value)
void SetCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
CreateLifecyclePolicyRequest & AddCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
CreateLifecyclePolicyRequest & WithRetainInterval(int value)
CreateLifecyclePolicyRequest & WithCreateInterval(int value)
CreateLifecyclePolicyRequest & WithPolicyDetails(PolicyDetailsT &&value)
CreateLifecyclePolicyRequest & WithExecutionRoleArn(ExecutionRoleArnT &&value)
CreateLifecyclePolicyRequest & WithDefaultPolicy(DefaultPolicyTypeValues value)
CreateLifecyclePolicyRequest & WithState(SettablePolicyStateValues value)
CreateLifecyclePolicyRequest & WithTags(TagsT &&value)
CreateLifecyclePolicyRequest & WithExclusions(ExclusionsT &&value)
AWS_DLM_API CreateLifecyclePolicyRequest()=default
AWS_DLM_API Aws::String SerializePayload() const override
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