7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/dlm/DLM_EXPORTS.h>
9#include <aws/dlm/model/Action.h>
10#include <aws/dlm/model/CrossRegionCopyTarget.h>
11#include <aws/dlm/model/EventSource.h>
12#include <aws/dlm/model/Exclusions.h>
13#include <aws/dlm/model/Parameters.h>
14#include <aws/dlm/model/PolicyLanguageValues.h>
15#include <aws/dlm/model/PolicyTypeValues.h>
16#include <aws/dlm/model/ResourceLocationValues.h>
17#include <aws/dlm/model/ResourceTypeValues.h>
18#include <aws/dlm/model/Schedule.h>
19#include <aws/dlm/model/Tag.h>
59 m_policyTypeHasBeenSet =
true;
77 template <
typename ResourceTypesT = Aws::Vector<ResourceTypeValues>>
79 m_resourceTypesHasBeenSet =
true;
80 m_resourceTypes = std::forward<ResourceTypesT>(value);
82 template <
typename ResourceTypesT = Aws::Vector<ResourceTypeValues>>
88 m_resourceTypesHasBeenSet =
true;
89 m_resourceTypes.push_back(value);
111 template <
typename ResourceLocationsT = Aws::Vector<ResourceLocationValues>>
113 m_resourceLocationsHasBeenSet =
true;
114 m_resourceLocations = std::forward<ResourceLocationsT>(value);
116 template <
typename ResourceLocationsT = Aws::Vector<ResourceLocationValues>>
122 m_resourceLocationsHasBeenSet =
true;
123 m_resourceLocations.push_back(value);
135 template <
typename TargetTagsT = Aws::Vector<Tag>>
137 m_targetTagsHasBeenSet =
true;
138 m_targetTags = std::forward<TargetTagsT>(value);
140 template <
typename TargetTagsT = Aws::Vector<Tag>>
145 template <
typename TargetTagsT = Tag>
147 m_targetTagsHasBeenSet =
true;
148 m_targetTags.emplace_back(std::forward<TargetTagsT>(value));
162 template <
typename SchedulesT = Aws::Vector<Schedule>>
164 m_schedulesHasBeenSet =
true;
165 m_schedules = std::forward<SchedulesT>(value);
167 template <
typename SchedulesT = Aws::Vector<Schedule>>
172 template <
typename SchedulesT = Schedule>
174 m_schedulesHasBeenSet =
true;
175 m_schedules.emplace_back(std::forward<SchedulesT>(value));
191 template <
typename ParametersT = Parameters>
193 m_parametersHasBeenSet =
true;
194 m_parameters = std::forward<ParametersT>(value);
196 template <
typename ParametersT = Parameters>
210 template <
typename EventSourceT = EventSource>
212 m_eventSourceHasBeenSet =
true;
213 m_eventSource = std::forward<EventSourceT>(value);
215 template <
typename EventSourceT = EventSource>
229 template <
typename ActionsT = Aws::Vector<Action>>
231 m_actionsHasBeenSet =
true;
232 m_actions = std::forward<ActionsT>(value);
234 template <
typename ActionsT = Aws::Vector<Action>>
239 template <
typename ActionsT = Action>
241 m_actionsHasBeenSet =
true;
242 m_actions.emplace_back(std::forward<ActionsT>(value));
256 m_policyLanguageHasBeenSet =
true;
257 m_policyLanguage = value;
277 m_resourceTypeHasBeenSet =
true;
278 m_resourceType = value;
295 m_createIntervalHasBeenSet =
true;
296 m_createInterval = value;
315 m_retainIntervalHasBeenSet =
true;
316 m_retainInterval = value;
333 m_copyTagsHasBeenSet =
true;
350 template <
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
352 m_crossRegionCopyTargetsHasBeenSet =
true;
353 m_crossRegionCopyTargets = std::forward<CrossRegionCopyTargetsT>(value);
355 template <
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
360 template <
typename CrossRegionCopyTargetsT = CrossRegionCopyTarget>
362 m_crossRegionCopyTargetsHasBeenSet =
true;
363 m_crossRegionCopyTargets.emplace_back(std::forward<CrossRegionCopyTargetsT>(value));
389 m_extendDeletionHasBeenSet =
true;
390 m_extendDeletion = value;
407 template <
typename ExclusionsT = Exclusions>
409 m_exclusionsHasBeenSet =
true;
410 m_exclusions = std::forward<ExclusionsT>(value);
412 template <
typename ExclusionsT = Exclusions>
429 Parameters m_parameters;
431 EventSource m_eventSource;
439 int m_createInterval{0};
441 int m_retainInterval{0};
443 bool m_copyTags{
false};
447 bool m_extendDeletion{
false};
449 Exclusions m_exclusions;
450 bool m_policyTypeHasBeenSet =
false;
451 bool m_resourceTypesHasBeenSet =
false;
452 bool m_resourceLocationsHasBeenSet =
false;
453 bool m_targetTagsHasBeenSet =
false;
454 bool m_schedulesHasBeenSet =
false;
455 bool m_parametersHasBeenSet =
false;
456 bool m_eventSourceHasBeenSet =
false;
457 bool m_actionsHasBeenSet =
false;
458 bool m_policyLanguageHasBeenSet =
false;
459 bool m_resourceTypeHasBeenSet =
false;
460 bool m_createIntervalHasBeenSet =
false;
461 bool m_retainIntervalHasBeenSet =
false;
462 bool m_copyTagsHasBeenSet =
false;
463 bool m_crossRegionCopyTargetsHasBeenSet =
false;
464 bool m_extendDeletionHasBeenSet =
false;
465 bool m_exclusionsHasBeenSet =
false;
PolicyDetails & AddResourceTypes(ResourceTypeValues value)
const Aws::Vector< ResourceTypeValues > & GetResourceTypes() const
bool ResourceTypeHasBeenSet() const
const Aws::Vector< Schedule > & GetSchedules() const
void SetPolicyType(PolicyTypeValues value)
PolicyDetails & AddSchedules(SchedulesT &&value)
void SetResourceTypes(ResourceTypesT &&value)
PolicyDetails & WithResourceLocations(ResourceLocationsT &&value)
bool PolicyLanguageHasBeenSet() const
PolicyDetails & WithExclusions(ExclusionsT &&value)
int GetRetainInterval() const
void SetTargetTags(TargetTagsT &&value)
bool PolicyTypeHasBeenSet() const
const Exclusions & GetExclusions() const
PolicyTypeValues GetPolicyType() const
const EventSource & GetEventSource() const
AWS_DLM_API PolicyDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DLM_API PolicyDetails(Aws::Utils::Json::JsonView jsonValue)
PolicyDetails & WithParameters(ParametersT &&value)
void SetSchedules(SchedulesT &&value)
PolicyLanguageValues GetPolicyLanguage() const
void SetParameters(ParametersT &&value)
PolicyDetails & WithEventSource(EventSourceT &&value)
AWS_DLM_API PolicyDetails()=default
bool EventSourceHasBeenSet() const
void SetPolicyLanguage(PolicyLanguageValues value)
PolicyDetails & WithPolicyLanguage(PolicyLanguageValues value)
bool ResourceTypesHasBeenSet() const
PolicyDetails & WithActions(ActionsT &&value)
bool GetExtendDeletion() const
const Aws::Vector< CrossRegionCopyTarget > & GetCrossRegionCopyTargets() const
PolicyDetails & WithCopyTags(bool value)
bool ExclusionsHasBeenSet() const
void SetExclusions(ExclusionsT &&value)
void SetCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
bool ActionsHasBeenSet() const
void SetResourceLocations(ResourceLocationsT &&value)
ResourceTypeValues GetResourceType() const
PolicyDetails & WithTargetTags(TargetTagsT &&value)
const Aws::Vector< Tag > & GetTargetTags() const
bool ResourceLocationsHasBeenSet() const
PolicyDetails & AddTargetTags(TargetTagsT &&value)
bool CrossRegionCopyTargetsHasBeenSet() const
bool ExtendDeletionHasBeenSet() const
int GetCreateInterval() const
void SetActions(ActionsT &&value)
bool TargetTagsHasBeenSet() const
PolicyDetails & WithPolicyType(PolicyTypeValues value)
PolicyDetails & AddActions(ActionsT &&value)
PolicyDetails & WithRetainInterval(int value)
const Aws::Vector< Action > & GetActions() const
void SetRetainInterval(int value)
const Parameters & GetParameters() const
bool ParametersHasBeenSet() const
void SetCopyTags(bool value)
PolicyDetails & WithSchedules(SchedulesT &&value)
PolicyDetails & WithCreateInterval(int value)
PolicyDetails & AddCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
PolicyDetails & WithResourceTypes(ResourceTypesT &&value)
void SetEventSource(EventSourceT &&value)
bool CopyTagsHasBeenSet() const
bool RetainIntervalHasBeenSet() const
void SetResourceType(ResourceTypeValues value)
bool SchedulesHasBeenSet() const
PolicyDetails & WithResourceType(ResourceTypeValues value)
void SetCreateInterval(int value)
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
PolicyDetails & WithCrossRegionCopyTargets(CrossRegionCopyTargetsT &&value)
void SetExtendDeletion(bool value)
bool CreateIntervalHasBeenSet() const
PolicyDetails & WithExtendDeletion(bool value)
const Aws::Vector< ResourceLocationValues > & GetResourceLocations() const
PolicyDetails & AddResourceLocations(ResourceLocationValues value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue