AWS SDK for C++

AWS SDK for C++ Version 1.11.740

Loading...
Searching...
No Matches
ResiliencyPolicy.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/resiliencehub/ResilienceHub_EXPORTS.h>
11#include <aws/resiliencehub/model/DataLocationConstraint.h>
12#include <aws/resiliencehub/model/DisruptionType.h>
13#include <aws/resiliencehub/model/EstimatedCostTier.h>
14#include <aws/resiliencehub/model/FailurePolicy.h>
15#include <aws/resiliencehub/model/ResiliencyPolicyTier.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ResilienceHub {
27namespace Model {
28
42 public:
43 AWS_RESILIENCEHUB_API ResiliencyPolicy() = default;
44 AWS_RESILIENCEHUB_API ResiliencyPolicy(Aws::Utils::Json::JsonView jsonValue);
45 AWS_RESILIENCEHUB_API ResiliencyPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
46 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
47
49
52 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
53 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
54 template <typename CreationTimeT = Aws::Utils::DateTime>
55 void SetCreationTime(CreationTimeT&& value) {
56 m_creationTimeHasBeenSet = true;
57 m_creationTime = std::forward<CreationTimeT>(value);
58 }
59 template <typename CreationTimeT = Aws::Utils::DateTime>
60 ResiliencyPolicy& WithCreationTime(CreationTimeT&& value) {
61 SetCreationTime(std::forward<CreationTimeT>(value));
62 return *this;
63 }
65
67
71 inline DataLocationConstraint GetDataLocationConstraint() const { return m_dataLocationConstraint; }
72 inline bool DataLocationConstraintHasBeenSet() const { return m_dataLocationConstraintHasBeenSet; }
74 m_dataLocationConstraintHasBeenSet = true;
75 m_dataLocationConstraint = value;
76 }
79 return *this;
80 }
82
84
87 inline EstimatedCostTier GetEstimatedCostTier() const { return m_estimatedCostTier; }
88 inline bool EstimatedCostTierHasBeenSet() const { return m_estimatedCostTierHasBeenSet; }
90 m_estimatedCostTierHasBeenSet = true;
91 m_estimatedCostTier = value;
92 }
95 return *this;
96 }
98
100
103 inline const Aws::Map<DisruptionType, FailurePolicy>& GetPolicy() const { return m_policy; }
104 inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; }
105 template <typename PolicyT = Aws::Map<DisruptionType, FailurePolicy>>
106 void SetPolicy(PolicyT&& value) {
107 m_policyHasBeenSet = true;
108 m_policy = std::forward<PolicyT>(value);
109 }
110 template <typename PolicyT = Aws::Map<DisruptionType, FailurePolicy>>
111 ResiliencyPolicy& WithPolicy(PolicyT&& value) {
112 SetPolicy(std::forward<PolicyT>(value));
113 return *this;
114 }
116 m_policyHasBeenSet = true;
117 m_policy.emplace(key, value);
118 return *this;
119 }
121
123
132 inline const Aws::String& GetPolicyArn() const { return m_policyArn; }
133 inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; }
134 template <typename PolicyArnT = Aws::String>
135 void SetPolicyArn(PolicyArnT&& value) {
136 m_policyArnHasBeenSet = true;
137 m_policyArn = std::forward<PolicyArnT>(value);
138 }
139 template <typename PolicyArnT = Aws::String>
140 ResiliencyPolicy& WithPolicyArn(PolicyArnT&& value) {
141 SetPolicyArn(std::forward<PolicyArnT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::String& GetPolicyDescription() const { return m_policyDescription; }
151 inline bool PolicyDescriptionHasBeenSet() const { return m_policyDescriptionHasBeenSet; }
152 template <typename PolicyDescriptionT = Aws::String>
153 void SetPolicyDescription(PolicyDescriptionT&& value) {
154 m_policyDescriptionHasBeenSet = true;
155 m_policyDescription = std::forward<PolicyDescriptionT>(value);
156 }
157 template <typename PolicyDescriptionT = Aws::String>
158 ResiliencyPolicy& WithPolicyDescription(PolicyDescriptionT&& value) {
159 SetPolicyDescription(std::forward<PolicyDescriptionT>(value));
160 return *this;
161 }
163
165
168 inline const Aws::String& GetPolicyName() const { return m_policyName; }
169 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
170 template <typename PolicyNameT = Aws::String>
171 void SetPolicyName(PolicyNameT&& value) {
172 m_policyNameHasBeenSet = true;
173 m_policyName = std::forward<PolicyNameT>(value);
174 }
175 template <typename PolicyNameT = Aws::String>
176 ResiliencyPolicy& WithPolicyName(PolicyNameT&& value) {
177 SetPolicyName(std::forward<PolicyNameT>(value));
178 return *this;
179 }
181
183
187 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
188 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
189 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
190 void SetTags(TagsT&& value) {
191 m_tagsHasBeenSet = true;
192 m_tags = std::forward<TagsT>(value);
193 }
194 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
195 ResiliencyPolicy& WithTags(TagsT&& value) {
196 SetTags(std::forward<TagsT>(value));
197 return *this;
198 }
199 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
200 ResiliencyPolicy& AddTags(TagsKeyT&& key, TagsValueT&& value) {
201 m_tagsHasBeenSet = true;
202 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
203 return *this;
204 }
206
208
212 inline ResiliencyPolicyTier GetTier() const { return m_tier; }
213 inline bool TierHasBeenSet() const { return m_tierHasBeenSet; }
214 inline void SetTier(ResiliencyPolicyTier value) {
215 m_tierHasBeenSet = true;
216 m_tier = value;
217 }
219 SetTier(value);
220 return *this;
221 }
223 private:
224 Aws::Utils::DateTime m_creationTime{};
225
227
229
231
232 Aws::String m_policyArn;
233
234 Aws::String m_policyDescription;
235
236 Aws::String m_policyName;
237
239
241 bool m_creationTimeHasBeenSet = false;
242 bool m_dataLocationConstraintHasBeenSet = false;
243 bool m_estimatedCostTierHasBeenSet = false;
244 bool m_policyHasBeenSet = false;
245 bool m_policyArnHasBeenSet = false;
246 bool m_policyDescriptionHasBeenSet = false;
247 bool m_policyNameHasBeenSet = false;
248 bool m_tagsHasBeenSet = false;
249 bool m_tierHasBeenSet = false;
250};
251
252} // namespace Model
253} // namespace ResilienceHub
254} // namespace Aws
void SetEstimatedCostTier(EstimatedCostTier value)
void SetPolicyDescription(PolicyDescriptionT &&value)
AWS_RESILIENCEHUB_API ResiliencyPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCreationTime(CreationTimeT &&value)
ResiliencyPolicy & WithDataLocationConstraint(DataLocationConstraint value)
ResiliencyPolicy & WithPolicyArn(PolicyArnT &&value)
AWS_RESILIENCEHUB_API ResiliencyPolicy()=default
AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const
ResiliencyPolicy & WithTags(TagsT &&value)
DataLocationConstraint GetDataLocationConstraint() const
const Aws::Map< DisruptionType, FailurePolicy > & GetPolicy() const
const Aws::String & GetPolicyDescription() const
ResiliencyPolicy & WithCreationTime(CreationTimeT &&value)
void SetTier(ResiliencyPolicyTier value)
ResiliencyPolicy & AddTags(TagsKeyT &&key, TagsValueT &&value)
ResiliencyPolicy & WithPolicyDescription(PolicyDescriptionT &&value)
ResiliencyPolicy & WithEstimatedCostTier(EstimatedCostTier value)
ResiliencyPolicy & WithPolicyName(PolicyNameT &&value)
ResiliencyPolicy & AddPolicy(DisruptionType key, FailurePolicy value)
AWS_RESILIENCEHUB_API ResiliencyPolicy(Aws::Utils::Json::JsonView jsonValue)
ResiliencyPolicy & WithPolicy(PolicyT &&value)
const Aws::Utils::DateTime & GetCreationTime() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetDataLocationConstraint(DataLocationConstraint value)
ResiliencyPolicy & WithTier(ResiliencyPolicyTier value)
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