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>
27namespace ResilienceHub {
48 template <
typename AppComponentNameT = Aws::String>
50 m_appComponentNameHasBeenSet =
true;
51 m_appComponentName = std::forward<AppComponentNameT>(value);
53 template <
typename AppComponentNameT = Aws::String>
67 template <
typename ComplianceT = Aws::Map<DisruptionType, DisruptionCompliance>>
69 m_complianceHasBeenSet =
true;
70 m_compliance = std::forward<ComplianceT>(value);
72 template <
typename ComplianceT = Aws::Map<DisruptionType, DisruptionCompliance>>
78 m_complianceHasBeenSet =
true;
79 m_compliance.emplace(key, value);
90 template <
typename CostT = Cost>
92 m_costHasBeenSet =
true;
93 m_cost = std::forward<CostT>(value);
95 template <
typename CostT = Cost>
97 SetCost(std::forward<CostT>(value));
108 template <
typename DescriptionT = Aws::String>
110 m_descriptionHasBeenSet =
true;
111 m_description = std::forward<DescriptionT>(value);
113 template <
typename DescriptionT = Aws::String>
127 m_haArchitectureHasBeenSet =
true;
128 m_haArchitecture = value;
142 template <
typename NameT = Aws::String>
144 m_nameHasBeenSet =
true;
145 m_name = std::forward<NameT>(value);
147 template <
typename NameT = Aws::String>
149 SetName(std::forward<NameT>(value));
161 m_optimizationTypeHasBeenSet =
true;
162 m_optimizationType = value;
176 return m_recommendationCompliance;
179 template <
typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
181 m_recommendationComplianceHasBeenSet =
true;
182 m_recommendationCompliance = std::forward<RecommendationComplianceT>(value);
184 template <
typename RecommendationComplianceT = Aws::Map<DisruptionType, RecommendationDisruptionCompliance>>
190 m_recommendationComplianceHasBeenSet =
true;
191 m_recommendationCompliance.emplace(key, value);
202 template <
typename ReferenceIdT = Aws::String>
204 m_referenceIdHasBeenSet =
true;
205 m_referenceId = std::forward<ReferenceIdT>(value);
207 template <
typename ReferenceIdT = Aws::String>
220 template <
typename SuggestedChangesT = Aws::Vector<Aws::String>>
222 m_suggestedChangesHasBeenSet =
true;
223 m_suggestedChanges = std::forward<SuggestedChangesT>(value);
225 template <
typename SuggestedChangesT = Aws::Vector<Aws::String>>
230 template <
typename SuggestedChangesT = Aws::String>
232 m_suggestedChangesHasBeenSet =
true;
233 m_suggestedChanges.emplace_back(std::forward<SuggestedChangesT>(value));
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;
const Aws::String & GetName() const
ConfigRecommendation & WithReferenceId(ReferenceIdT &&value)
void SetName(NameT &&value)
ConfigRecommendation & WithCost(CostT &&value)
void SetHaArchitecture(HaArchitecture value)
bool DescriptionHasBeenSet() const
void SetCost(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
bool RecommendationComplianceHasBeenSet() const
void SetDescription(DescriptionT &&value)
ConfigRecommendation & WithSuggestedChanges(SuggestedChangesT &&value)
ConfigRecommendation & AddSuggestedChanges(SuggestedChangesT &&value)
ConfigRecommendation & WithDescription(DescriptionT &&value)
bool CostHasBeenSet() const
ConfigRecommendation & WithHaArchitecture(HaArchitecture value)
bool SuggestedChangesHasBeenSet() const
ConfigRecommendation & WithAppComponentName(AppComponentNameT &&value)
ConfigRecommendation & WithRecommendationCompliance(RecommendationComplianceT &&value)
const Cost & GetCost() const
ConfigRecommendation & AddCompliance(DisruptionType key, DisruptionCompliance value)
bool ComplianceHasBeenSet() const
const Aws::String & GetDescription() const
AWS_RESILIENCEHUB_API ConfigRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
ConfigRecommendation & WithName(NameT &&value)
void SetReferenceId(ReferenceIdT &&value)
HaArchitecture GetHaArchitecture() const
bool AppComponentNameHasBeenSet() const
const Aws::Map< DisruptionType, DisruptionCompliance > & GetCompliance() const
bool ReferenceIdHasBeenSet() const
ConfigRecommendation & AddRecommendationCompliance(DisruptionType key, RecommendationDisruptionCompliance value)
void SetSuggestedChanges(SuggestedChangesT &&value)
bool OptimizationTypeHasBeenSet() const
void SetCompliance(ComplianceT &&value)
AWS_RESILIENCEHUB_API ConfigRecommendation(Aws::Utils::Json::JsonView jsonValue)
ConfigRecommendationOptimizationType GetOptimizationType() const
const Aws::String & GetReferenceId() const
bool HaArchitectureHasBeenSet() const
const Aws::String & GetAppComponentName() const
void SetRecommendationCompliance(RecommendationComplianceT &&value)
bool NameHasBeenSet() const
AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const
ConfigRecommendationOptimizationType
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