AWS SDK for C++

AWS SDK for C++ Version 1.11.819

Loading...
Searching...
No Matches
Policy.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/resiliencehubv2/Resiliencehubv2_EXPORTS.h>
11#include <aws/resiliencehubv2/model/AvailabilitySlo.h>
12#include <aws/resiliencehubv2/model/DataRecoveryTargets.h>
13#include <aws/resiliencehubv2/model/MultiAzTargets.h>
14#include <aws/resiliencehubv2/model/MultiRegionTargets.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace resiliencehubv2 {
26namespace Model {
27
34class Policy {
35 public:
36 AWS_RESILIENCEHUBV2_API Policy() = default;
37 AWS_RESILIENCEHUBV2_API Policy(Aws::Utils::Json::JsonView jsonValue);
38 AWS_RESILIENCEHUBV2_API Policy& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_RESILIENCEHUBV2_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
43 inline const Aws::String& GetPolicyArn() const { return m_policyArn; }
44 inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; }
45 template <typename PolicyArnT = Aws::String>
46 void SetPolicyArn(PolicyArnT&& value) {
47 m_policyArnHasBeenSet = true;
48 m_policyArn = std::forward<PolicyArnT>(value);
49 }
50 template <typename PolicyArnT = Aws::String>
51 Policy& WithPolicyArn(PolicyArnT&& value) {
52 SetPolicyArn(std::forward<PolicyArnT>(value));
53 return *this;
54 }
56
58
59 inline const Aws::String& GetName() const { return m_name; }
60 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
61 template <typename NameT = Aws::String>
62 void SetName(NameT&& value) {
63 m_nameHasBeenSet = true;
64 m_name = std::forward<NameT>(value);
65 }
66 template <typename NameT = Aws::String>
67 Policy& WithName(NameT&& value) {
68 SetName(std::forward<NameT>(value));
69 return *this;
70 }
72
74
75 inline const Aws::String& GetDescription() const { return m_description; }
76 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
77 template <typename DescriptionT = Aws::String>
78 void SetDescription(DescriptionT&& value) {
79 m_descriptionHasBeenSet = true;
80 m_description = std::forward<DescriptionT>(value);
81 }
82 template <typename DescriptionT = Aws::String>
83 Policy& WithDescription(DescriptionT&& value) {
84 SetDescription(std::forward<DescriptionT>(value));
85 return *this;
86 }
88
90
93 inline const AvailabilitySlo& GetAvailabilitySlo() const { return m_availabilitySlo; }
94 inline bool AvailabilitySloHasBeenSet() const { return m_availabilitySloHasBeenSet; }
95 template <typename AvailabilitySloT = AvailabilitySlo>
96 void SetAvailabilitySlo(AvailabilitySloT&& value) {
97 m_availabilitySloHasBeenSet = true;
98 m_availabilitySlo = std::forward<AvailabilitySloT>(value);
99 }
100 template <typename AvailabilitySloT = AvailabilitySlo>
101 Policy& WithAvailabilitySlo(AvailabilitySloT&& value) {
102 SetAvailabilitySlo(std::forward<AvailabilitySloT>(value));
103 return *this;
104 }
106
108
111 inline const MultiAzTargets& GetMultiAz() const { return m_multiAz; }
112 inline bool MultiAzHasBeenSet() const { return m_multiAzHasBeenSet; }
113 template <typename MultiAzT = MultiAzTargets>
114 void SetMultiAz(MultiAzT&& value) {
115 m_multiAzHasBeenSet = true;
116 m_multiAz = std::forward<MultiAzT>(value);
117 }
118 template <typename MultiAzT = MultiAzTargets>
119 Policy& WithMultiAz(MultiAzT&& value) {
120 SetMultiAz(std::forward<MultiAzT>(value));
121 return *this;
122 }
124
126
129 inline const MultiRegionTargets& GetMultiRegion() const { return m_multiRegion; }
130 inline bool MultiRegionHasBeenSet() const { return m_multiRegionHasBeenSet; }
131 template <typename MultiRegionT = MultiRegionTargets>
132 void SetMultiRegion(MultiRegionT&& value) {
133 m_multiRegionHasBeenSet = true;
134 m_multiRegion = std::forward<MultiRegionT>(value);
135 }
136 template <typename MultiRegionT = MultiRegionTargets>
137 Policy& WithMultiRegion(MultiRegionT&& value) {
138 SetMultiRegion(std::forward<MultiRegionT>(value));
139 return *this;
140 }
142
144
147 inline const DataRecoveryTargets& GetDataRecovery() const { return m_dataRecovery; }
148 inline bool DataRecoveryHasBeenSet() const { return m_dataRecoveryHasBeenSet; }
149 template <typename DataRecoveryT = DataRecoveryTargets>
150 void SetDataRecovery(DataRecoveryT&& value) {
151 m_dataRecoveryHasBeenSet = true;
152 m_dataRecovery = std::forward<DataRecoveryT>(value);
153 }
154 template <typename DataRecoveryT = DataRecoveryTargets>
155 Policy& WithDataRecovery(DataRecoveryT&& value) {
156 SetDataRecovery(std::forward<DataRecoveryT>(value));
157 return *this;
158 }
160
162
163 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
164 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
165 template <typename KmsKeyIdT = Aws::String>
166 void SetKmsKeyId(KmsKeyIdT&& value) {
167 m_kmsKeyIdHasBeenSet = true;
168 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
169 }
170 template <typename KmsKeyIdT = Aws::String>
171 Policy& WithKmsKeyId(KmsKeyIdT&& value) {
172 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
173 return *this;
174 }
176
178
179 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
180 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
181 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
182 void SetTags(TagsT&& value) {
183 m_tagsHasBeenSet = true;
184 m_tags = std::forward<TagsT>(value);
185 }
186 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
187 Policy& WithTags(TagsT&& value) {
188 SetTags(std::forward<TagsT>(value));
189 return *this;
190 }
191 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
192 Policy& AddTags(TagsKeyT&& key, TagsValueT&& value) {
193 m_tagsHasBeenSet = true;
194 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
195 return *this;
196 }
198
200
203 inline int GetAssociatedServiceCount() const { return m_associatedServiceCount; }
204 inline bool AssociatedServiceCountHasBeenSet() const { return m_associatedServiceCountHasBeenSet; }
205 inline void SetAssociatedServiceCount(int value) {
206 m_associatedServiceCountHasBeenSet = true;
207 m_associatedServiceCount = value;
208 }
211 return *this;
212 }
214
216
219 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
220 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
221 template <typename CreatedAtT = Aws::Utils::DateTime>
222 void SetCreatedAt(CreatedAtT&& value) {
223 m_createdAtHasBeenSet = true;
224 m_createdAt = std::forward<CreatedAtT>(value);
225 }
226 template <typename CreatedAtT = Aws::Utils::DateTime>
227 Policy& WithCreatedAt(CreatedAtT&& value) {
228 SetCreatedAt(std::forward<CreatedAtT>(value));
229 return *this;
230 }
232
234
237 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
238 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
239 template <typename UpdatedAtT = Aws::Utils::DateTime>
240 void SetUpdatedAt(UpdatedAtT&& value) {
241 m_updatedAtHasBeenSet = true;
242 m_updatedAt = std::forward<UpdatedAtT>(value);
243 }
244 template <typename UpdatedAtT = Aws::Utils::DateTime>
245 Policy& WithUpdatedAt(UpdatedAtT&& value) {
246 SetUpdatedAt(std::forward<UpdatedAtT>(value));
247 return *this;
248 }
250 private:
251 Aws::String m_policyArn;
252
253 Aws::String m_name;
254
255 Aws::String m_description;
256
257 AvailabilitySlo m_availabilitySlo;
258
259 MultiAzTargets m_multiAz;
260
261 MultiRegionTargets m_multiRegion;
262
263 DataRecoveryTargets m_dataRecovery;
264
265 Aws::String m_kmsKeyId;
266
268
269 int m_associatedServiceCount{0};
270
271 Aws::Utils::DateTime m_createdAt{};
272
273 Aws::Utils::DateTime m_updatedAt{};
274 bool m_policyArnHasBeenSet = false;
275 bool m_nameHasBeenSet = false;
276 bool m_descriptionHasBeenSet = false;
277 bool m_availabilitySloHasBeenSet = false;
278 bool m_multiAzHasBeenSet = false;
279 bool m_multiRegionHasBeenSet = false;
280 bool m_dataRecoveryHasBeenSet = false;
281 bool m_kmsKeyIdHasBeenSet = false;
282 bool m_tagsHasBeenSet = false;
283 bool m_associatedServiceCountHasBeenSet = false;
284 bool m_createdAtHasBeenSet = false;
285 bool m_updatedAtHasBeenSet = false;
286};
287
288} // namespace Model
289} // namespace resiliencehubv2
290} // namespace Aws
Policy & WithPolicyArn(PolicyArnT &&value)
Definition Policy.h:51
void SetUpdatedAt(UpdatedAtT &&value)
Definition Policy.h:240
const MultiRegionTargets & GetMultiRegion() const
Definition Policy.h:129
bool AvailabilitySloHasBeenSet() const
Definition Policy.h:94
const Aws::String & GetKmsKeyId() const
Definition Policy.h:163
Policy & WithDescription(DescriptionT &&value)
Definition Policy.h:83
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Policy.h:219
Policy & WithKmsKeyId(KmsKeyIdT &&value)
Definition Policy.h:171
void SetAssociatedServiceCount(int value)
Definition Policy.h:205
const Aws::String & GetPolicyArn() const
Definition Policy.h:43
bool AssociatedServiceCountHasBeenSet() const
Definition Policy.h:204
void SetKmsKeyId(KmsKeyIdT &&value)
Definition Policy.h:166
void SetMultiAz(MultiAzT &&value)
Definition Policy.h:114
Policy & WithCreatedAt(CreatedAtT &&value)
Definition Policy.h:227
const DataRecoveryTargets & GetDataRecovery() const
Definition Policy.h:147
AWS_RESILIENCEHUBV2_API Policy()=default
Policy & WithMultiRegion(MultiRegionT &&value)
Definition Policy.h:137
const Aws::String & GetName() const
Definition Policy.h:59
const MultiAzTargets & GetMultiAz() const
Definition Policy.h:111
AWS_RESILIENCEHUBV2_API Policy & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUBV2_API Policy(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUBV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetMultiRegion(MultiRegionT &&value)
Definition Policy.h:132
Policy & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Policy.h:192
void SetAvailabilitySlo(AvailabilitySloT &&value)
Definition Policy.h:96
const AvailabilitySlo & GetAvailabilitySlo() const
Definition Policy.h:93
Policy & WithName(NameT &&value)
Definition Policy.h:67
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Policy.h:237
void SetDescription(DescriptionT &&value)
Definition Policy.h:78
Policy & WithUpdatedAt(UpdatedAtT &&value)
Definition Policy.h:245
void SetTags(TagsT &&value)
Definition Policy.h:182
Policy & WithAvailabilitySlo(AvailabilitySloT &&value)
Definition Policy.h:101
const Aws::String & GetDescription() const
Definition Policy.h:75
Policy & WithAssociatedServiceCount(int value)
Definition Policy.h:209
void SetDataRecovery(DataRecoveryT &&value)
Definition Policy.h:150
void SetCreatedAt(CreatedAtT &&value)
Definition Policy.h:222
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Policy.h:179
Policy & WithDataRecovery(DataRecoveryT &&value)
Definition Policy.h:155
void SetName(NameT &&value)
Definition Policy.h:62
void SetPolicyArn(PolicyArnT &&value)
Definition Policy.h:46
Policy & WithMultiAz(MultiAzT &&value)
Definition Policy.h:119
Policy & WithTags(TagsT &&value)
Definition Policy.h:187
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
Aws::Utils::Json::JsonValue JsonValue