AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ConfigRecommendation.h
1
6#pragma once
7#include <aws/resiliencehub/ResilienceHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/resiliencehub/model/Cost.h>
11#include <aws/resiliencehub/model/HaArchitecture.h>
12#include <aws/resiliencehub/model/ConfigRecommendationOptimizationType.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/resiliencehub/model/DisruptionType.h>
15#include <aws/resiliencehub/model/DisruptionCompliance.h>
16#include <aws/resiliencehub/model/RecommendationDisruptionCompliance.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace ResilienceHub
30{
31namespace Model
32{
33
40 {
41 public:
42 AWS_RESILIENCEHUB_API ConfigRecommendation() = default;
43 AWS_RESILIENCEHUB_API ConfigRecommendation(Aws::Utils::Json::JsonView jsonValue);
45 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const Aws::String& GetAppComponentName() const { return m_appComponentName; }
53 inline bool AppComponentNameHasBeenSet() const { return m_appComponentNameHasBeenSet; }
54 template<typename AppComponentNameT = Aws::String>
55 void SetAppComponentName(AppComponentNameT&& value) { m_appComponentNameHasBeenSet = true; m_appComponentName = std::forward<AppComponentNameT>(value); }
56 template<typename AppComponentNameT = Aws::String>
57 ConfigRecommendation& WithAppComponentName(AppComponentNameT&& value) { SetAppComponentName(std::forward<AppComponentNameT>(value)); return *this;}
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) { m_complianceHasBeenSet = true; m_compliance = std::forward<ComplianceT>(value); }
69 template<typename ComplianceT = Aws::Map<DisruptionType, DisruptionCompliance>>
70 ConfigRecommendation& WithCompliance(ComplianceT&& value) { SetCompliance(std::forward<ComplianceT>(value)); return *this;}
72 m_complianceHasBeenSet = true; m_compliance.emplace(key, value); return *this;
73 }
75
77
80 inline const Cost& GetCost() const { return m_cost; }
81 inline bool CostHasBeenSet() const { return m_costHasBeenSet; }
82 template<typename CostT = Cost>
83 void SetCost(CostT&& value) { m_costHasBeenSet = true; m_cost = std::forward<CostT>(value); }
84 template<typename CostT = Cost>
85 ConfigRecommendation& WithCost(CostT&& value) { SetCost(std::forward<CostT>(value)); return *this;}
87
89
92 inline const Aws::String& GetDescription() const { return m_description; }
93 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
94 template<typename DescriptionT = Aws::String>
95 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
96 template<typename DescriptionT = Aws::String>
97 ConfigRecommendation& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
99
101
104 inline HaArchitecture GetHaArchitecture() const { return m_haArchitecture; }
105 inline bool HaArchitectureHasBeenSet() const { return m_haArchitectureHasBeenSet; }
106 inline void SetHaArchitecture(HaArchitecture value) { m_haArchitectureHasBeenSet = true; m_haArchitecture = value; }
109
111
114 inline const Aws::String& GetName() const { return m_name; }
115 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
116 template<typename NameT = Aws::String>
117 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
118 template<typename NameT = Aws::String>
119 ConfigRecommendation& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
121
123
126 inline ConfigRecommendationOptimizationType GetOptimizationType() const { return m_optimizationType; }
127 inline bool OptimizationTypeHasBeenSet() const { return m_optimizationTypeHasBeenSet; }
128 inline void SetOptimizationType(ConfigRecommendationOptimizationType value) { m_optimizationTypeHasBeenSet = true; m_optimizationType = value; }
131
133
137 inline const Aws::Map<DisruptionType, RecommendationDisruptionCompliance>& GetRecommendationCompliance() const { return m_recommendationCompliance; }
138 inline bool RecommendationComplianceHasBeenSet() const { return m_recommendationComplianceHasBeenSet; }
139 template<typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
140 void SetRecommendationCompliance(RecommendationComplianceT&& value) { m_recommendationComplianceHasBeenSet = true; m_recommendationCompliance = std::forward<RecommendationComplianceT>(value); }
141 template<typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
142 ConfigRecommendation& WithRecommendationCompliance(RecommendationComplianceT&& value) { SetRecommendationCompliance(std::forward<RecommendationComplianceT>(value)); return *this;}
144 m_recommendationComplianceHasBeenSet = true; m_recommendationCompliance.emplace(key, value); return *this;
145 }
147
149
152 inline const Aws::String& GetReferenceId() const { return m_referenceId; }
153 inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; }
154 template<typename ReferenceIdT = Aws::String>
155 void SetReferenceId(ReferenceIdT&& value) { m_referenceIdHasBeenSet = true; m_referenceId = std::forward<ReferenceIdT>(value); }
156 template<typename ReferenceIdT = Aws::String>
157 ConfigRecommendation& WithReferenceId(ReferenceIdT&& value) { SetReferenceId(std::forward<ReferenceIdT>(value)); return *this;}
159
161
164 inline const Aws::Vector<Aws::String>& GetSuggestedChanges() const { return m_suggestedChanges; }
165 inline bool SuggestedChangesHasBeenSet() const { return m_suggestedChangesHasBeenSet; }
166 template<typename SuggestedChangesT = Aws::Vector<Aws::String>>
167 void SetSuggestedChanges(SuggestedChangesT&& value) { m_suggestedChangesHasBeenSet = true; m_suggestedChanges = std::forward<SuggestedChangesT>(value); }
168 template<typename SuggestedChangesT = Aws::Vector<Aws::String>>
169 ConfigRecommendation& WithSuggestedChanges(SuggestedChangesT&& value) { SetSuggestedChanges(std::forward<SuggestedChangesT>(value)); return *this;}
170 template<typename SuggestedChangesT = Aws::String>
171 ConfigRecommendation& AddSuggestedChanges(SuggestedChangesT&& value) { m_suggestedChangesHasBeenSet = true; m_suggestedChanges.emplace_back(std::forward<SuggestedChangesT>(value)); return *this; }
173 private:
174
175 Aws::String m_appComponentName;
176 bool m_appComponentNameHasBeenSet = false;
177
179 bool m_complianceHasBeenSet = false;
180
181 Cost m_cost;
182 bool m_costHasBeenSet = false;
183
184 Aws::String m_description;
185 bool m_descriptionHasBeenSet = false;
186
187 HaArchitecture m_haArchitecture{HaArchitecture::NOT_SET};
188 bool m_haArchitectureHasBeenSet = false;
189
190 Aws::String m_name;
191 bool m_nameHasBeenSet = false;
192
194 bool m_optimizationTypeHasBeenSet = false;
195
197 bool m_recommendationComplianceHasBeenSet = false;
198
199 Aws::String m_referenceId;
200 bool m_referenceIdHasBeenSet = false;
201
202 Aws::Vector<Aws::String> m_suggestedChanges;
203 bool m_suggestedChangesHasBeenSet = false;
204 };
205
206} // namespace Model
207} // namespace ResilienceHub
208} // 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