AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ResiliencyPolicy.h
1
6#pragma once
7#include <aws/resiliencehub/ResilienceHub_EXPORTS.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/resiliencehub/model/DataLocationConstraint.h>
10#include <aws/resiliencehub/model/EstimatedCostTier.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/resiliencehub/model/ResiliencyPolicyTier.h>
14#include <aws/resiliencehub/model/DisruptionType.h>
15#include <aws/resiliencehub/model/FailurePolicy.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ResilienceHub
29{
30namespace Model
31{
32
46 {
47 public:
48 AWS_RESILIENCEHUB_API ResiliencyPolicy() = default;
49 AWS_RESILIENCEHUB_API ResiliencyPolicy(Aws::Utils::Json::JsonView jsonValue);
50 AWS_RESILIENCEHUB_API ResiliencyPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
51 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
52
53
55
58 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
59 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
60 template<typename CreationTimeT = Aws::Utils::DateTime>
61 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
62 template<typename CreationTimeT = Aws::Utils::DateTime>
63 ResiliencyPolicy& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
65
67
71 inline DataLocationConstraint GetDataLocationConstraint() const { return m_dataLocationConstraint; }
72 inline bool DataLocationConstraintHasBeenSet() const { return m_dataLocationConstraintHasBeenSet; }
73 inline void SetDataLocationConstraint(DataLocationConstraint value) { m_dataLocationConstraintHasBeenSet = true; m_dataLocationConstraint = value; }
76
78
81 inline EstimatedCostTier GetEstimatedCostTier() const { return m_estimatedCostTier; }
82 inline bool EstimatedCostTierHasBeenSet() const { return m_estimatedCostTierHasBeenSet; }
83 inline void SetEstimatedCostTier(EstimatedCostTier value) { m_estimatedCostTierHasBeenSet = true; m_estimatedCostTier = value; }
86
88
91 inline const Aws::Map<DisruptionType, FailurePolicy>& GetPolicy() const { return m_policy; }
92 inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; }
93 template<typename PolicyT = Aws::Map<DisruptionType, FailurePolicy>>
94 void SetPolicy(PolicyT&& value) { m_policyHasBeenSet = true; m_policy = std::forward<PolicyT>(value); }
95 template<typename PolicyT = Aws::Map<DisruptionType, FailurePolicy>>
96 ResiliencyPolicy& WithPolicy(PolicyT&& value) { SetPolicy(std::forward<PolicyT>(value)); return *this;}
98 m_policyHasBeenSet = true; m_policy.emplace(key, value); return *this;
99 }
101
103
112 inline const Aws::String& GetPolicyArn() const { return m_policyArn; }
113 inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; }
114 template<typename PolicyArnT = Aws::String>
115 void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward<PolicyArnT>(value); }
116 template<typename PolicyArnT = Aws::String>
117 ResiliencyPolicy& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward<PolicyArnT>(value)); return *this;}
119
121
124 inline const Aws::String& GetPolicyDescription() const { return m_policyDescription; }
125 inline bool PolicyDescriptionHasBeenSet() const { return m_policyDescriptionHasBeenSet; }
126 template<typename PolicyDescriptionT = Aws::String>
127 void SetPolicyDescription(PolicyDescriptionT&& value) { m_policyDescriptionHasBeenSet = true; m_policyDescription = std::forward<PolicyDescriptionT>(value); }
128 template<typename PolicyDescriptionT = Aws::String>
129 ResiliencyPolicy& WithPolicyDescription(PolicyDescriptionT&& value) { SetPolicyDescription(std::forward<PolicyDescriptionT>(value)); return *this;}
131
133
136 inline const Aws::String& GetPolicyName() const { return m_policyName; }
137 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
138 template<typename PolicyNameT = Aws::String>
139 void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward<PolicyNameT>(value); }
140 template<typename PolicyNameT = Aws::String>
141 ResiliencyPolicy& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward<PolicyNameT>(value)); return *this;}
143
145
149 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
150 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
151 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
152 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
153 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
154 ResiliencyPolicy& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
155 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
156 ResiliencyPolicy& AddTags(TagsKeyT&& key, TagsValueT&& value) {
157 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
158 }
160
162
166 inline ResiliencyPolicyTier GetTier() const { return m_tier; }
167 inline bool TierHasBeenSet() const { return m_tierHasBeenSet; }
168 inline void SetTier(ResiliencyPolicyTier value) { m_tierHasBeenSet = true; m_tier = value; }
169 inline ResiliencyPolicy& WithTier(ResiliencyPolicyTier value) { SetTier(value); return *this;}
171 private:
172
173 Aws::Utils::DateTime m_creationTime{};
174 bool m_creationTimeHasBeenSet = false;
175
177 bool m_dataLocationConstraintHasBeenSet = false;
178
180 bool m_estimatedCostTierHasBeenSet = false;
181
183 bool m_policyHasBeenSet = false;
184
185 Aws::String m_policyArn;
186 bool m_policyArnHasBeenSet = false;
187
188 Aws::String m_policyDescription;
189 bool m_policyDescriptionHasBeenSet = false;
190
191 Aws::String m_policyName;
192 bool m_policyNameHasBeenSet = false;
193
195 bool m_tagsHasBeenSet = false;
196
198 bool m_tierHasBeenSet = false;
199 };
200
201} // namespace Model
202} // namespace ResilienceHub
203} // 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