AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
PolicyDetails.h
1
6#pragma once
7#include <aws/dlm/DLM_EXPORTS.h>
8#include <aws/dlm/model/PolicyTypeValues.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dlm/model/Parameters.h>
11#include <aws/dlm/model/EventSource.h>
12#include <aws/dlm/model/PolicyLanguageValues.h>
13#include <aws/dlm/model/ResourceTypeValues.h>
14#include <aws/dlm/model/Exclusions.h>
15#include <aws/dlm/model/ResourceLocationValues.h>
16#include <aws/dlm/model/Tag.h>
17#include <aws/dlm/model/Schedule.h>
18#include <aws/dlm/model/Action.h>
19#include <aws/dlm/model/CrossRegionCopyTarget.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace DLM
33{
34namespace Model
35{
36
44 {
45 public:
46 AWS_DLM_API PolicyDetails();
50
51
53
63 inline const PolicyTypeValues& GetPolicyType() const{ return m_policyType; }
64 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
65 inline void SetPolicyType(const PolicyTypeValues& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
66 inline void SetPolicyType(PolicyTypeValues&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); }
67 inline PolicyDetails& WithPolicyType(const PolicyTypeValues& value) { SetPolicyType(value); return *this;}
68 inline PolicyDetails& WithPolicyType(PolicyTypeValues&& value) { SetPolicyType(std::move(value)); return *this;}
70
72
78 inline const Aws::Vector<ResourceTypeValues>& GetResourceTypes() const{ return m_resourceTypes; }
79 inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; }
80 inline void SetResourceTypes(const Aws::Vector<ResourceTypeValues>& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; }
81 inline void SetResourceTypes(Aws::Vector<ResourceTypeValues>&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); }
83 inline PolicyDetails& WithResourceTypes(Aws::Vector<ResourceTypeValues>&& value) { SetResourceTypes(std::move(value)); return *this;}
84 inline PolicyDetails& AddResourceTypes(const ResourceTypeValues& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; }
85 inline PolicyDetails& AddResourceTypes(ResourceTypeValues&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; }
87
89
98 inline const Aws::Vector<ResourceLocationValues>& GetResourceLocations() const{ return m_resourceLocations; }
99 inline bool ResourceLocationsHasBeenSet() const { return m_resourceLocationsHasBeenSet; }
100 inline void SetResourceLocations(const Aws::Vector<ResourceLocationValues>& value) { m_resourceLocationsHasBeenSet = true; m_resourceLocations = value; }
101 inline void SetResourceLocations(Aws::Vector<ResourceLocationValues>&& value) { m_resourceLocationsHasBeenSet = true; m_resourceLocations = std::move(value); }
104 inline PolicyDetails& AddResourceLocations(const ResourceLocationValues& value) { m_resourceLocationsHasBeenSet = true; m_resourceLocations.push_back(value); return *this; }
105 inline PolicyDetails& AddResourceLocations(ResourceLocationValues&& value) { m_resourceLocationsHasBeenSet = true; m_resourceLocations.push_back(std::move(value)); return *this; }
107
109
113 inline const Aws::Vector<Tag>& GetTargetTags() const{ return m_targetTags; }
114 inline bool TargetTagsHasBeenSet() const { return m_targetTagsHasBeenSet; }
115 inline void SetTargetTags(const Aws::Vector<Tag>& value) { m_targetTagsHasBeenSet = true; m_targetTags = value; }
116 inline void SetTargetTags(Aws::Vector<Tag>&& value) { m_targetTagsHasBeenSet = true; m_targetTags = std::move(value); }
117 inline PolicyDetails& WithTargetTags(const Aws::Vector<Tag>& value) { SetTargetTags(value); return *this;}
118 inline PolicyDetails& WithTargetTags(Aws::Vector<Tag>&& value) { SetTargetTags(std::move(value)); return *this;}
119 inline PolicyDetails& AddTargetTags(const Tag& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(value); return *this; }
120 inline PolicyDetails& AddTargetTags(Tag&& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(std::move(value)); return *this; }
122
124
130 inline const Aws::Vector<Schedule>& GetSchedules() const{ return m_schedules; }
131 inline bool SchedulesHasBeenSet() const { return m_schedulesHasBeenSet; }
132 inline void SetSchedules(const Aws::Vector<Schedule>& value) { m_schedulesHasBeenSet = true; m_schedules = value; }
133 inline void SetSchedules(Aws::Vector<Schedule>&& value) { m_schedulesHasBeenSet = true; m_schedules = std::move(value); }
134 inline PolicyDetails& WithSchedules(const Aws::Vector<Schedule>& value) { SetSchedules(value); return *this;}
135 inline PolicyDetails& WithSchedules(Aws::Vector<Schedule>&& value) { SetSchedules(std::move(value)); return *this;}
136 inline PolicyDetails& AddSchedules(const Schedule& value) { m_schedulesHasBeenSet = true; m_schedules.push_back(value); return *this; }
137 inline PolicyDetails& AddSchedules(Schedule&& value) { m_schedulesHasBeenSet = true; m_schedules.push_back(std::move(value)); return *this; }
139
141
149 inline const Parameters& GetParameters() const{ return m_parameters; }
150 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
151 inline void SetParameters(const Parameters& value) { m_parametersHasBeenSet = true; m_parameters = value; }
152 inline void SetParameters(Parameters&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
153 inline PolicyDetails& WithParameters(const Parameters& value) { SetParameters(value); return *this;}
154 inline PolicyDetails& WithParameters(Parameters&& value) { SetParameters(std::move(value)); return *this;}
156
158
162 inline const EventSource& GetEventSource() const{ return m_eventSource; }
163 inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; }
164 inline void SetEventSource(const EventSource& value) { m_eventSourceHasBeenSet = true; m_eventSource = value; }
165 inline void SetEventSource(EventSource&& value) { m_eventSourceHasBeenSet = true; m_eventSource = std::move(value); }
166 inline PolicyDetails& WithEventSource(const EventSource& value) { SetEventSource(value); return *this;}
167 inline PolicyDetails& WithEventSource(EventSource&& value) { SetEventSource(std::move(value)); return *this;}
169
171
175 inline const Aws::Vector<Action>& GetActions() const{ return m_actions; }
176 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
177 inline void SetActions(const Aws::Vector<Action>& value) { m_actionsHasBeenSet = true; m_actions = value; }
178 inline void SetActions(Aws::Vector<Action>&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); }
179 inline PolicyDetails& WithActions(const Aws::Vector<Action>& value) { SetActions(value); return *this;}
180 inline PolicyDetails& WithActions(Aws::Vector<Action>&& value) { SetActions(std::move(value)); return *this;}
181 inline PolicyDetails& AddActions(const Action& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; }
182 inline PolicyDetails& AddActions(Action&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; }
184
186
191 inline const PolicyLanguageValues& GetPolicyLanguage() const{ return m_policyLanguage; }
192 inline bool PolicyLanguageHasBeenSet() const { return m_policyLanguageHasBeenSet; }
193 inline void SetPolicyLanguage(const PolicyLanguageValues& value) { m_policyLanguageHasBeenSet = true; m_policyLanguage = value; }
194 inline void SetPolicyLanguage(PolicyLanguageValues&& value) { m_policyLanguageHasBeenSet = true; m_policyLanguage = std::move(value); }
195 inline PolicyDetails& WithPolicyLanguage(const PolicyLanguageValues& value) { SetPolicyLanguage(value); return *this;}
196 inline PolicyDetails& WithPolicyLanguage(PolicyLanguageValues&& value) { SetPolicyLanguage(std::move(value)); return *this;}
198
200
208 inline const ResourceTypeValues& GetResourceType() const{ return m_resourceType; }
209 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
210 inline void SetResourceType(const ResourceTypeValues& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
211 inline void SetResourceType(ResourceTypeValues&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
212 inline PolicyDetails& WithResourceType(const ResourceTypeValues& value) { SetResourceType(value); return *this;}
213 inline PolicyDetails& WithResourceType(ResourceTypeValues&& value) { SetResourceType(std::move(value)); return *this;}
215
217
222 inline int GetCreateInterval() const{ return m_createInterval; }
223 inline bool CreateIntervalHasBeenSet() const { return m_createIntervalHasBeenSet; }
224 inline void SetCreateInterval(int value) { m_createIntervalHasBeenSet = true; m_createInterval = value; }
225 inline PolicyDetails& WithCreateInterval(int value) { SetCreateInterval(value); return *this;}
227
229
236 inline int GetRetainInterval() const{ return m_retainInterval; }
237 inline bool RetainIntervalHasBeenSet() const { return m_retainIntervalHasBeenSet; }
238 inline void SetRetainInterval(int value) { m_retainIntervalHasBeenSet = true; m_retainInterval = value; }
239 inline PolicyDetails& WithRetainInterval(int value) { SetRetainInterval(value); return *this;}
241
243
248 inline bool GetCopyTags() const{ return m_copyTags; }
249 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
250 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
251 inline PolicyDetails& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
253
255
260 inline const Aws::Vector<CrossRegionCopyTarget>& GetCrossRegionCopyTargets() const{ return m_crossRegionCopyTargets; }
261 inline bool CrossRegionCopyTargetsHasBeenSet() const { return m_crossRegionCopyTargetsHasBeenSet; }
262 inline void SetCrossRegionCopyTargets(const Aws::Vector<CrossRegionCopyTarget>& value) { m_crossRegionCopyTargetsHasBeenSet = true; m_crossRegionCopyTargets = value; }
263 inline void SetCrossRegionCopyTargets(Aws::Vector<CrossRegionCopyTarget>&& value) { m_crossRegionCopyTargetsHasBeenSet = true; m_crossRegionCopyTargets = std::move(value); }
266 inline PolicyDetails& AddCrossRegionCopyTargets(const CrossRegionCopyTarget& value) { m_crossRegionCopyTargetsHasBeenSet = true; m_crossRegionCopyTargets.push_back(value); return *this; }
267 inline PolicyDetails& AddCrossRegionCopyTargets(CrossRegionCopyTarget&& value) { m_crossRegionCopyTargetsHasBeenSet = true; m_crossRegionCopyTargets.push_back(std::move(value)); return *this; }
269
271
288 inline bool GetExtendDeletion() const{ return m_extendDeletion; }
289 inline bool ExtendDeletionHasBeenSet() const { return m_extendDeletionHasBeenSet; }
290 inline void SetExtendDeletion(bool value) { m_extendDeletionHasBeenSet = true; m_extendDeletion = value; }
291 inline PolicyDetails& WithExtendDeletion(bool value) { SetExtendDeletion(value); return *this;}
293
295
301 inline const Exclusions& GetExclusions() const{ return m_exclusions; }
302 inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; }
303 inline void SetExclusions(const Exclusions& value) { m_exclusionsHasBeenSet = true; m_exclusions = value; }
304 inline void SetExclusions(Exclusions&& value) { m_exclusionsHasBeenSet = true; m_exclusions = std::move(value); }
305 inline PolicyDetails& WithExclusions(const Exclusions& value) { SetExclusions(value); return *this;}
306 inline PolicyDetails& WithExclusions(Exclusions&& value) { SetExclusions(std::move(value)); return *this;}
308 private:
309
310 PolicyTypeValues m_policyType;
311 bool m_policyTypeHasBeenSet = false;
312
313 Aws::Vector<ResourceTypeValues> m_resourceTypes;
314 bool m_resourceTypesHasBeenSet = false;
315
316 Aws::Vector<ResourceLocationValues> m_resourceLocations;
317 bool m_resourceLocationsHasBeenSet = false;
318
319 Aws::Vector<Tag> m_targetTags;
320 bool m_targetTagsHasBeenSet = false;
321
322 Aws::Vector<Schedule> m_schedules;
323 bool m_schedulesHasBeenSet = false;
324
325 Parameters m_parameters;
326 bool m_parametersHasBeenSet = false;
327
328 EventSource m_eventSource;
329 bool m_eventSourceHasBeenSet = false;
330
331 Aws::Vector<Action> m_actions;
332 bool m_actionsHasBeenSet = false;
333
334 PolicyLanguageValues m_policyLanguage;
335 bool m_policyLanguageHasBeenSet = false;
336
337 ResourceTypeValues m_resourceType;
338 bool m_resourceTypeHasBeenSet = false;
339
340 int m_createInterval;
341 bool m_createIntervalHasBeenSet = false;
342
343 int m_retainInterval;
344 bool m_retainIntervalHasBeenSet = false;
345
346 bool m_copyTags;
347 bool m_copyTagsHasBeenSet = false;
348
349 Aws::Vector<CrossRegionCopyTarget> m_crossRegionCopyTargets;
350 bool m_crossRegionCopyTargetsHasBeenSet = false;
351
352 bool m_extendDeletion;
353 bool m_extendDeletionHasBeenSet = false;
354
355 Exclusions m_exclusions;
356 bool m_exclusionsHasBeenSet = false;
357 };
358
359} // namespace Model
360} // namespace DLM
361} // namespace Aws
const Aws::Vector< ResourceTypeValues > & GetResourceTypes() const
PolicyDetails & WithCrossRegionCopyTargets(Aws::Vector< CrossRegionCopyTarget > &&value)
const Aws::Vector< Schedule > & GetSchedules() const
PolicyDetails & AddResourceTypes(const ResourceTypeValues &value)
void SetTargetTags(Aws::Vector< Tag > &&value)
PolicyDetails & WithParameters(Parameters &&value)
PolicyDetails & AddSchedules(const Schedule &value)
const Exclusions & GetExclusions() const
void SetSchedules(const Aws::Vector< Schedule > &value)
void SetResourceTypes(const Aws::Vector< ResourceTypeValues > &value)
const EventSource & GetEventSource() const
PolicyDetails & WithTargetTags(const Aws::Vector< Tag > &value)
AWS_DLM_API PolicyDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
PolicyDetails & AddActions(const Action &value)
AWS_DLM_API PolicyDetails(Aws::Utils::Json::JsonView jsonValue)
void SetEventSource(const EventSource &value)
void SetEventSource(EventSource &&value)
void SetResourceLocations(Aws::Vector< ResourceLocationValues > &&value)
PolicyDetails & WithResourceType(ResourceTypeValues &&value)
PolicyDetails & AddTargetTags(const Tag &value)
PolicyDetails & WithPolicyType(const PolicyTypeValues &value)
PolicyDetails & WithExclusions(Exclusions &&value)
void SetExclusions(Exclusions &&value)
void SetResourceType(const ResourceTypeValues &value)
void SetParameters(const Parameters &value)
PolicyDetails & AddCrossRegionCopyTargets(CrossRegionCopyTarget &&value)
const PolicyTypeValues & GetPolicyType() const
PolicyDetails & AddActions(Action &&value)
void SetResourceType(ResourceTypeValues &&value)
PolicyDetails & WithSchedules(Aws::Vector< Schedule > &&value)
const Aws::Vector< CrossRegionCopyTarget > & GetCrossRegionCopyTargets() const
PolicyDetails & WithCopyTags(bool value)
void SetSchedules(Aws::Vector< Schedule > &&value)
void SetExclusions(const Exclusions &value)
PolicyDetails & WithSchedules(const Aws::Vector< Schedule > &value)
void SetActions(Aws::Vector< Action > &&value)
PolicyDetails & WithResourceLocations(const Aws::Vector< ResourceLocationValues > &value)
PolicyDetails & WithPolicyLanguage(const PolicyLanguageValues &value)
PolicyDetails & WithExclusions(const Exclusions &value)
const PolicyLanguageValues & GetPolicyLanguage() const
PolicyDetails & WithActions(Aws::Vector< Action > &&value)
PolicyDetails & AddResourceLocations(const ResourceLocationValues &value)
void SetResourceTypes(Aws::Vector< ResourceTypeValues > &&value)
PolicyDetails & WithEventSource(EventSource &&value)
const ResourceTypeValues & GetResourceType() const
const Aws::Vector< Tag > & GetTargetTags() const
PolicyDetails & WithActions(const Aws::Vector< Action > &value)
void SetResourceLocations(const Aws::Vector< ResourceLocationValues > &value)
PolicyDetails & WithResourceLocations(Aws::Vector< ResourceLocationValues > &&value)
bool CrossRegionCopyTargetsHasBeenSet() const
void SetPolicyLanguage(PolicyLanguageValues &&value)
void SetParameters(Parameters &&value)
PolicyDetails & WithPolicyType(PolicyTypeValues &&value)
PolicyDetails & WithResourceTypes(const Aws::Vector< ResourceTypeValues > &value)
void SetCrossRegionCopyTargets(const Aws::Vector< CrossRegionCopyTarget > &value)
void SetTargetTags(const Aws::Vector< Tag > &value)
PolicyDetails & WithRetainInterval(int value)
const Aws::Vector< Action > & GetActions() const
const Parameters & GetParameters() const
PolicyDetails & AddTargetTags(Tag &&value)
PolicyDetails & WithCreateInterval(int value)
void SetPolicyLanguage(const PolicyLanguageValues &value)
PolicyDetails & AddResourceLocations(ResourceLocationValues &&value)
PolicyDetails & AddSchedules(Schedule &&value)
PolicyDetails & AddResourceTypes(ResourceTypeValues &&value)
void SetActions(const Aws::Vector< Action > &value)
PolicyDetails & WithCrossRegionCopyTargets(const Aws::Vector< CrossRegionCopyTarget > &value)
PolicyDetails & WithResourceType(const ResourceTypeValues &value)
void SetPolicyType(PolicyTypeValues &&value)
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPolicyType(const PolicyTypeValues &value)
PolicyDetails & WithParameters(const Parameters &value)
PolicyDetails & WithPolicyLanguage(PolicyLanguageValues &&value)
PolicyDetails & WithTargetTags(Aws::Vector< Tag > &&value)
void SetCrossRegionCopyTargets(Aws::Vector< CrossRegionCopyTarget > &&value)
PolicyDetails & WithResourceTypes(Aws::Vector< ResourceTypeValues > &&value)
PolicyDetails & WithExtendDeletion(bool value)
const Aws::Vector< ResourceLocationValues > & GetResourceLocations() const
PolicyDetails & WithEventSource(const EventSource &value)
PolicyDetails & AddCrossRegionCopyTargets(const CrossRegionCopyTarget &value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue