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>
77 template<
typename ResourceTypesT = Aws::Vector<ResourceTypeValues>>
78 void SetResourceTypes(ResourceTypesT&& value) { m_resourceTypesHasBeenSet =
true; m_resourceTypes = std::forward<ResourceTypesT>(value); }
79 template<
typename ResourceTypesT = Aws::Vector<ResourceTypeValues>>
101 template<
typename ResourceLocationsT = Aws::Vector<ResourceLocationValues>>
102 void SetResourceLocations(ResourceLocationsT&& value) { m_resourceLocationsHasBeenSet =
true; m_resourceLocations = std::forward<ResourceLocationsT>(value); }
103 template<
typename ResourceLocationsT = Aws::Vector<ResourceLocationValues>>
115 template<
typename TargetTagsT = Aws::Vector<Tag>>
116 void SetTargetTags(TargetTagsT&& value) { m_targetTagsHasBeenSet =
true; m_targetTags = std::forward<TargetTagsT>(value); }
117 template<
typename TargetTagsT = Aws::Vector<Tag>>
119 template<
typename TargetTagsT = Tag>
120 PolicyDetails&
AddTargetTags(TargetTagsT&& value) { m_targetTagsHasBeenSet =
true; m_targetTags.emplace_back(std::forward<TargetTagsT>(value));
return *
this; }
132 template<
typename SchedulesT = Aws::Vector<Schedule>>
133 void SetSchedules(SchedulesT&& value) { m_schedulesHasBeenSet =
true; m_schedules = std::forward<SchedulesT>(value); }
134 template<
typename SchedulesT = Aws::Vector<Schedule>>
136 template<
typename SchedulesT = Schedule>
137 PolicyDetails&
AddSchedules(SchedulesT&& value) { m_schedulesHasBeenSet =
true; m_schedules.emplace_back(std::forward<SchedulesT>(value));
return *
this; }
151 template<
typename ParametersT = Parameters>
152 void SetParameters(ParametersT&& value) { m_parametersHasBeenSet =
true; m_parameters = std::forward<ParametersT>(value); }
153 template<
typename ParametersT = Parameters>
164 template<
typename EventSourceT = EventSource>
165 void SetEventSource(EventSourceT&& value) { m_eventSourceHasBeenSet =
true; m_eventSource = std::forward<EventSourceT>(value); }
166 template<
typename EventSourceT = EventSource>
177 template<
typename ActionsT = Aws::Vector<Action>>
178 void SetActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions = std::forward<ActionsT>(value); }
179 template<
typename ActionsT = Aws::Vector<Action>>
181 template<
typename ActionsT = Action>
182 PolicyDetails&
AddActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions.emplace_back(std::forward<ActionsT>(value));
return *
this; }
220 inline void SetCreateInterval(
int value) { m_createIntervalHasBeenSet =
true; m_createInterval = value; }
234 inline void SetRetainInterval(
int value) { m_retainIntervalHasBeenSet =
true; m_retainInterval = value; }
246 inline void SetCopyTags(
bool value) { m_copyTagsHasBeenSet =
true; m_copyTags = value; }
258 template<
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
259 void SetCrossRegionCopyTargets(CrossRegionCopyTargetsT&& value) { m_crossRegionCopyTargetsHasBeenSet =
true; m_crossRegionCopyTargets = std::forward<CrossRegionCopyTargetsT>(value); }
260 template<
typename CrossRegionCopyTargetsT = Aws::Vector<CrossRegionCopyTarget>>
262 template<
typename CrossRegionCopyTargetsT = CrossRegionCopyTarget>
263 PolicyDetails&
AddCrossRegionCopyTargets(CrossRegionCopyTargetsT&& value) { m_crossRegionCopyTargetsHasBeenSet =
true; m_crossRegionCopyTargets.emplace_back(std::forward<CrossRegionCopyTargetsT>(value));
return *
this; }
286 inline void SetExtendDeletion(
bool value) { m_extendDeletionHasBeenSet =
true; m_extendDeletion = value; }
299 template<
typename ExclusionsT = Exclusions>
300 void SetExclusions(ExclusionsT&& value) { m_exclusionsHasBeenSet =
true; m_exclusions = std::forward<ExclusionsT>(value); }
301 template<
typename ExclusionsT = Exclusions>
307 bool m_policyTypeHasBeenSet =
false;
310 bool m_resourceTypesHasBeenSet =
false;
313 bool m_resourceLocationsHasBeenSet =
false;
316 bool m_targetTagsHasBeenSet =
false;
319 bool m_schedulesHasBeenSet =
false;
321 Parameters m_parameters;
322 bool m_parametersHasBeenSet =
false;
324 EventSource m_eventSource;
325 bool m_eventSourceHasBeenSet =
false;
328 bool m_actionsHasBeenSet =
false;
331 bool m_policyLanguageHasBeenSet =
false;
334 bool m_resourceTypeHasBeenSet =
false;
336 int m_createInterval{0};
337 bool m_createIntervalHasBeenSet =
false;
339 int m_retainInterval{0};
340 bool m_retainIntervalHasBeenSet =
false;
342 bool m_copyTags{
false};
343 bool m_copyTagsHasBeenSet =
false;
346 bool m_crossRegionCopyTargetsHasBeenSet =
false;
348 bool m_extendDeletion{
false};
349 bool m_extendDeletionHasBeenSet =
false;
351 Exclusions m_exclusions;
352 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