AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
ConfigRecommendation.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/resiliencehub/ResilienceHub_EXPORTS.h>
11#include <aws/resiliencehub/model/ConfigRecommendationOptimizationType.h>
12#include <aws/resiliencehub/model/Cost.h>
13#include <aws/resiliencehub/model/DisruptionCompliance.h>
14#include <aws/resiliencehub/model/DisruptionType.h>
15#include <aws/resiliencehub/model/HaArchitecture.h>
16#include <aws/resiliencehub/model/RecommendationDisruptionCompliance.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace ResilienceHub {
28namespace Model {
29
36 public:
37 AWS_RESILIENCEHUB_API ConfigRecommendation() = default;
38 AWS_RESILIENCEHUB_API ConfigRecommendation(Aws::Utils::Json::JsonView jsonValue);
40 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetAppComponentName() const { return m_appComponentName; }
47 inline bool AppComponentNameHasBeenSet() const { return m_appComponentNameHasBeenSet; }
48 template <typename AppComponentNameT = Aws::String>
49 void SetAppComponentName(AppComponentNameT&& value) {
50 m_appComponentNameHasBeenSet = true;
51 m_appComponentName = std::forward<AppComponentNameT>(value);
52 }
53 template <typename AppComponentNameT = Aws::String>
54 ConfigRecommendation& WithAppComponentName(AppComponentNameT&& value) {
55 SetAppComponentName(std::forward<AppComponentNameT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::Map<DisruptionType, DisruptionCompliance>& GetCompliance() const { return m_compliance; }
66 inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; }
67 template <typename ComplianceT = Aws::Map<DisruptionType, DisruptionCompliance>>
68 void SetCompliance(ComplianceT&& value) {
69 m_complianceHasBeenSet = true;
70 m_compliance = std::forward<ComplianceT>(value);
71 }
72 template <typename ComplianceT = Aws::Map<DisruptionType, DisruptionCompliance>>
73 ConfigRecommendation& WithCompliance(ComplianceT&& value) {
74 SetCompliance(std::forward<ComplianceT>(value));
75 return *this;
76 }
78 m_complianceHasBeenSet = true;
79 m_compliance.emplace(key, value);
80 return *this;
81 }
83
85
88 inline const Cost& GetCost() const { return m_cost; }
89 inline bool CostHasBeenSet() const { return m_costHasBeenSet; }
90 template <typename CostT = Cost>
91 void SetCost(CostT&& value) {
92 m_costHasBeenSet = true;
93 m_cost = std::forward<CostT>(value);
94 }
95 template <typename CostT = Cost>
97 SetCost(std::forward<CostT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::String& GetDescription() const { return m_description; }
107 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
108 template <typename DescriptionT = Aws::String>
109 void SetDescription(DescriptionT&& value) {
110 m_descriptionHasBeenSet = true;
111 m_description = std::forward<DescriptionT>(value);
112 }
113 template <typename DescriptionT = Aws::String>
114 ConfigRecommendation& WithDescription(DescriptionT&& value) {
115 SetDescription(std::forward<DescriptionT>(value));
116 return *this;
117 }
119
121
124 inline HaArchitecture GetHaArchitecture() const { return m_haArchitecture; }
125 inline bool HaArchitectureHasBeenSet() const { return m_haArchitectureHasBeenSet; }
127 m_haArchitectureHasBeenSet = true;
128 m_haArchitecture = value;
129 }
131 SetHaArchitecture(value);
132 return *this;
133 }
135
137
140 inline const Aws::String& GetName() const { return m_name; }
141 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
142 template <typename NameT = Aws::String>
143 void SetName(NameT&& value) {
144 m_nameHasBeenSet = true;
145 m_name = std::forward<NameT>(value);
146 }
147 template <typename NameT = Aws::String>
149 SetName(std::forward<NameT>(value));
150 return *this;
151 }
153
155
158 inline ConfigRecommendationOptimizationType GetOptimizationType() const { return m_optimizationType; }
159 inline bool OptimizationTypeHasBeenSet() const { return m_optimizationTypeHasBeenSet; }
161 m_optimizationTypeHasBeenSet = true;
162 m_optimizationType = value;
163 }
165 SetOptimizationType(value);
166 return *this;
167 }
169
171
176 return m_recommendationCompliance;
177 }
178 inline bool RecommendationComplianceHasBeenSet() const { return m_recommendationComplianceHasBeenSet; }
179 template <typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
180 void SetRecommendationCompliance(RecommendationComplianceT&& value) {
181 m_recommendationComplianceHasBeenSet = true;
182 m_recommendationCompliance = std::forward<RecommendationComplianceT>(value);
183 }
184 template <typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
185 ConfigRecommendation& WithRecommendationCompliance(RecommendationComplianceT&& value) {
186 SetRecommendationCompliance(std::forward<RecommendationComplianceT>(value));
187 return *this;
188 }
190 m_recommendationComplianceHasBeenSet = true;
191 m_recommendationCompliance.emplace(key, value);
192 return *this;
193 }
195
197
200 inline const Aws::String& GetReferenceId() const { return m_referenceId; }
201 inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; }
202 template <typename ReferenceIdT = Aws::String>
203 void SetReferenceId(ReferenceIdT&& value) {
204 m_referenceIdHasBeenSet = true;
205 m_referenceId = std::forward<ReferenceIdT>(value);
206 }
207 template <typename ReferenceIdT = Aws::String>
208 ConfigRecommendation& WithReferenceId(ReferenceIdT&& value) {
209 SetReferenceId(std::forward<ReferenceIdT>(value));
210 return *this;
211 }
213
215
218 inline const Aws::Vector<Aws::String>& GetSuggestedChanges() const { return m_suggestedChanges; }
219 inline bool SuggestedChangesHasBeenSet() const { return m_suggestedChangesHasBeenSet; }
220 template <typename SuggestedChangesT = Aws::Vector<Aws::String>>
221 void SetSuggestedChanges(SuggestedChangesT&& value) {
222 m_suggestedChangesHasBeenSet = true;
223 m_suggestedChanges = std::forward<SuggestedChangesT>(value);
224 }
225 template <typename SuggestedChangesT = Aws::Vector<Aws::String>>
226 ConfigRecommendation& WithSuggestedChanges(SuggestedChangesT&& value) {
227 SetSuggestedChanges(std::forward<SuggestedChangesT>(value));
228 return *this;
229 }
230 template <typename SuggestedChangesT = Aws::String>
231 ConfigRecommendation& AddSuggestedChanges(SuggestedChangesT&& value) {
232 m_suggestedChangesHasBeenSet = true;
233 m_suggestedChanges.emplace_back(std::forward<SuggestedChangesT>(value));
234 return *this;
235 }
237 private:
238 Aws::String m_appComponentName;
239
241
242 Cost m_cost;
243
244 Aws::String m_description;
245
246 HaArchitecture m_haArchitecture{HaArchitecture::NOT_SET};
247
248 Aws::String m_name;
249
251
253
254 Aws::String m_referenceId;
255
256 Aws::Vector<Aws::String> m_suggestedChanges;
257 bool m_appComponentNameHasBeenSet = false;
258 bool m_complianceHasBeenSet = false;
259 bool m_costHasBeenSet = false;
260 bool m_descriptionHasBeenSet = false;
261 bool m_haArchitectureHasBeenSet = false;
262 bool m_nameHasBeenSet = false;
263 bool m_optimizationTypeHasBeenSet = false;
264 bool m_recommendationComplianceHasBeenSet = false;
265 bool m_referenceIdHasBeenSet = false;
266 bool m_suggestedChangesHasBeenSet = false;
267};
268
269} // namespace Model
270} // namespace ResilienceHub
271} // namespace Aws
ConfigRecommendation & WithReferenceId(ReferenceIdT &&value)
ConfigRecommendation & WithCost(CostT &&value)
void SetAppComponentName(AppComponentNameT &&value)
ConfigRecommendation & WithOptimizationType(ConfigRecommendationOptimizationType value)
const Aws::Vector< Aws::String > & GetSuggestedChanges() const
void SetOptimizationType(ConfigRecommendationOptimizationType value)
const Aws::Map< DisruptionType, RecommendationDisruptionCompliance > & GetRecommendationCompliance() const
ConfigRecommendation & WithCompliance(ComplianceT &&value)
AWS_RESILIENCEHUB_API ConfigRecommendation()=default
ConfigRecommendation & WithSuggestedChanges(SuggestedChangesT &&value)
ConfigRecommendation & AddSuggestedChanges(SuggestedChangesT &&value)
ConfigRecommendation & WithDescription(DescriptionT &&value)
ConfigRecommendation & WithHaArchitecture(HaArchitecture value)
ConfigRecommendation & WithAppComponentName(AppComponentNameT &&value)
ConfigRecommendation & WithRecommendationCompliance(RecommendationComplianceT &&value)
ConfigRecommendation & AddCompliance(DisruptionType key, DisruptionCompliance value)
AWS_RESILIENCEHUB_API ConfigRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
ConfigRecommendation & WithName(NameT &&value)
const Aws::Map< DisruptionType, DisruptionCompliance > & GetCompliance() const
ConfigRecommendation & AddRecommendationCompliance(DisruptionType key, RecommendationDisruptionCompliance value)
AWS_RESILIENCEHUB_API ConfigRecommendation(Aws::Utils::Json::JsonView jsonValue)
ConfigRecommendationOptimizationType GetOptimizationType() const
void SetRecommendationCompliance(RecommendationComplianceT &&value)
AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const
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
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue