AWS SDK for C++  1.8.95
AWS SDK for C++
PolicyDetails.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/dlm/DLM_EXPORTS.h>
12 #include <aws/dlm/model/Tag.h>
13 #include <aws/dlm/model/Schedule.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22  class JsonValue;
23  class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace DLM
27 {
28 namespace Model
29 {
30 
38  {
39  public:
40  PolicyDetails();
42  PolicyDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
43  Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
53  inline const PolicyTypeValues& GetPolicyType() const{ return m_policyType; }
54 
62  inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
63 
71  inline void SetPolicyType(const PolicyTypeValues& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
72 
80  inline void SetPolicyType(PolicyTypeValues&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); }
81 
89  inline PolicyDetails& WithPolicyType(const PolicyTypeValues& value) { SetPolicyType(value); return *this;}
90 
98  inline PolicyDetails& WithPolicyType(PolicyTypeValues&& value) { SetPolicyType(std::move(value)); return *this;}
99 
100 
106  inline const Aws::Vector<ResourceTypeValues>& GetResourceTypes() const{ return m_resourceTypes; }
107 
113  inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; }
114 
120  inline void SetResourceTypes(const Aws::Vector<ResourceTypeValues>& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; }
121 
127  inline void SetResourceTypes(Aws::Vector<ResourceTypeValues>&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); }
128 
134  inline PolicyDetails& WithResourceTypes(const Aws::Vector<ResourceTypeValues>& value) { SetResourceTypes(value); return *this;}
135 
141  inline PolicyDetails& WithResourceTypes(Aws::Vector<ResourceTypeValues>&& value) { SetResourceTypes(std::move(value)); return *this;}
142 
148  inline PolicyDetails& AddResourceTypes(const ResourceTypeValues& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; }
149 
155  inline PolicyDetails& AddResourceTypes(ResourceTypeValues&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; }
156 
157 
161  inline const Aws::Vector<Tag>& GetTargetTags() const{ return m_targetTags; }
162 
166  inline bool TargetTagsHasBeenSet() const { return m_targetTagsHasBeenSet; }
167 
171  inline void SetTargetTags(const Aws::Vector<Tag>& value) { m_targetTagsHasBeenSet = true; m_targetTags = value; }
172 
176  inline void SetTargetTags(Aws::Vector<Tag>&& value) { m_targetTagsHasBeenSet = true; m_targetTags = std::move(value); }
177 
181  inline PolicyDetails& WithTargetTags(const Aws::Vector<Tag>& value) { SetTargetTags(value); return *this;}
182 
186  inline PolicyDetails& WithTargetTags(Aws::Vector<Tag>&& value) { SetTargetTags(std::move(value)); return *this;}
187 
191  inline PolicyDetails& AddTargetTags(const Tag& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(value); return *this; }
192 
196  inline PolicyDetails& AddTargetTags(Tag&& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(std::move(value)); return *this; }
197 
198 
203  inline const Aws::Vector<Schedule>& GetSchedules() const{ return m_schedules; }
204 
209  inline bool SchedulesHasBeenSet() const { return m_schedulesHasBeenSet; }
210 
215  inline void SetSchedules(const Aws::Vector<Schedule>& value) { m_schedulesHasBeenSet = true; m_schedules = value; }
216 
221  inline void SetSchedules(Aws::Vector<Schedule>&& value) { m_schedulesHasBeenSet = true; m_schedules = std::move(value); }
222 
227  inline PolicyDetails& WithSchedules(const Aws::Vector<Schedule>& value) { SetSchedules(value); return *this;}
228 
233  inline PolicyDetails& WithSchedules(Aws::Vector<Schedule>&& value) { SetSchedules(std::move(value)); return *this;}
234 
239  inline PolicyDetails& AddSchedules(const Schedule& value) { m_schedulesHasBeenSet = true; m_schedules.push_back(value); return *this; }
240 
245  inline PolicyDetails& AddSchedules(Schedule&& value) { m_schedulesHasBeenSet = true; m_schedules.push_back(std::move(value)); return *this; }
246 
247 
251  inline const Parameters& GetParameters() const{ return m_parameters; }
252 
256  inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
257 
261  inline void SetParameters(const Parameters& value) { m_parametersHasBeenSet = true; m_parameters = value; }
262 
266  inline void SetParameters(Parameters&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
267 
271  inline PolicyDetails& WithParameters(const Parameters& value) { SetParameters(value); return *this;}
272 
276  inline PolicyDetails& WithParameters(Parameters&& value) { SetParameters(std::move(value)); return *this;}
277 
278  private:
279 
280  PolicyTypeValues m_policyType;
281  bool m_policyTypeHasBeenSet;
282 
283  Aws::Vector<ResourceTypeValues> m_resourceTypes;
284  bool m_resourceTypesHasBeenSet;
285 
286  Aws::Vector<Tag> m_targetTags;
287  bool m_targetTagsHasBeenSet;
288 
289  Aws::Vector<Schedule> m_schedules;
290  bool m_schedulesHasBeenSet;
291 
292  Parameters m_parameters;
293  bool m_parametersHasBeenSet;
294  };
295 
296 } // namespace Model
297 } // namespace DLM
298 } // namespace Aws
PolicyDetails & WithParameters(Parameters &&value)
PolicyDetails & WithTargetTags(const Aws::Vector< Tag > &value)
PolicyDetails & AddResourceTypes(const ResourceTypeValues &value)
PolicyDetails & AddTargetTags(Tag &&value)
void SetPolicyType(const PolicyTypeValues &value)
Definition: PolicyDetails.h:71
const PolicyTypeValues & GetPolicyType() const
Definition: PolicyDetails.h:53
PolicyDetails & WithPolicyType(PolicyTypeValues &&value)
Definition: PolicyDetails.h:98
PolicyDetails & AddSchedules(Schedule &&value)
PolicyDetails & AddTargetTags(const Tag &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
void SetTargetTags(Aws::Vector< Tag > &&value)
void SetPolicyType(PolicyTypeValues &&value)
Definition: PolicyDetails.h:80
PolicyDetails & WithPolicyType(const PolicyTypeValues &value)
Definition: PolicyDetails.h:89
PolicyDetails & WithResourceTypes(const Aws::Vector< ResourceTypeValues > &value)
#define AWS_DLM_API
Definition: DLM_EXPORTS.h:28
void SetParameters(Parameters &&value)
PolicyDetails & WithSchedules(Aws::Vector< Schedule > &&value)
const Aws::Vector< Schedule > & GetSchedules() const
void SetResourceTypes(const Aws::Vector< ResourceTypeValues > &value)
void SetTargetTags(const Aws::Vector< Tag > &value)
const Parameters & GetParameters() const
void SetParameters(const Parameters &value)
PolicyDetails & WithParameters(const Parameters &value)
void SetSchedules(const Aws::Vector< Schedule > &value)
PolicyDetails & WithSchedules(const Aws::Vector< Schedule > &value)
PolicyDetails & WithResourceTypes(Aws::Vector< ResourceTypeValues > &&value)
void SetResourceTypes(Aws::Vector< ResourceTypeValues > &&value)
const Aws::Vector< ResourceTypeValues > & GetResourceTypes() const
const Aws::Vector< Tag > & GetTargetTags() const
void SetSchedules(Aws::Vector< Schedule > &&value)
PolicyDetails & AddSchedules(const Schedule &value)
PolicyDetails & WithTargetTags(Aws::Vector< Tag > &&value)
PolicyDetails & AddResourceTypes(ResourceTypeValues &&value)