/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ResilienceHub { namespace Model { /** *

Defines recommendations for an Resilience Hub Application Component, returned * as an object. This object contains component names, configuration * recommendations, and recommendation statuses.

See Also:

AWS * API Reference

*/ class ComponentRecommendation { public: AWS_RESILIENCEHUB_API ComponentRecommendation(); AWS_RESILIENCEHUB_API ComponentRecommendation(Aws::Utils::Json::JsonView jsonValue); AWS_RESILIENCEHUB_API ComponentRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the Application Component.

*/ inline const Aws::String& GetAppComponentName() const{ return m_appComponentName; } /** *

The name of the Application Component.

*/ inline bool AppComponentNameHasBeenSet() const { return m_appComponentNameHasBeenSet; } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(const Aws::String& value) { m_appComponentNameHasBeenSet = true; m_appComponentName = value; } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(Aws::String&& value) { m_appComponentNameHasBeenSet = true; m_appComponentName = std::move(value); } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(const char* value) { m_appComponentNameHasBeenSet = true; m_appComponentName.assign(value); } /** *

The name of the Application Component.

*/ inline ComponentRecommendation& WithAppComponentName(const Aws::String& value) { SetAppComponentName(value); return *this;} /** *

The name of the Application Component.

*/ inline ComponentRecommendation& WithAppComponentName(Aws::String&& value) { SetAppComponentName(std::move(value)); return *this;} /** *

The name of the Application Component.

*/ inline ComponentRecommendation& WithAppComponentName(const char* value) { SetAppComponentName(value); return *this;} /** *

The list of recommendations.

*/ inline const Aws::Vector& GetConfigRecommendations() const{ return m_configRecommendations; } /** *

The list of recommendations.

*/ inline bool ConfigRecommendationsHasBeenSet() const { return m_configRecommendationsHasBeenSet; } /** *

The list of recommendations.

*/ inline void SetConfigRecommendations(const Aws::Vector& value) { m_configRecommendationsHasBeenSet = true; m_configRecommendations = value; } /** *

The list of recommendations.

*/ inline void SetConfigRecommendations(Aws::Vector&& value) { m_configRecommendationsHasBeenSet = true; m_configRecommendations = std::move(value); } /** *

The list of recommendations.

*/ inline ComponentRecommendation& WithConfigRecommendations(const Aws::Vector& value) { SetConfigRecommendations(value); return *this;} /** *

The list of recommendations.

*/ inline ComponentRecommendation& WithConfigRecommendations(Aws::Vector&& value) { SetConfigRecommendations(std::move(value)); return *this;} /** *

The list of recommendations.

*/ inline ComponentRecommendation& AddConfigRecommendations(const ConfigRecommendation& value) { m_configRecommendationsHasBeenSet = true; m_configRecommendations.push_back(value); return *this; } /** *

The list of recommendations.

*/ inline ComponentRecommendation& AddConfigRecommendations(ConfigRecommendation&& value) { m_configRecommendationsHasBeenSet = true; m_configRecommendations.push_back(std::move(value)); return *this; } /** *

The recommendation status.

*/ inline const RecommendationComplianceStatus& GetRecommendationStatus() const{ return m_recommendationStatus; } /** *

The recommendation status.

*/ inline bool RecommendationStatusHasBeenSet() const { return m_recommendationStatusHasBeenSet; } /** *

The recommendation status.

*/ inline void SetRecommendationStatus(const RecommendationComplianceStatus& value) { m_recommendationStatusHasBeenSet = true; m_recommendationStatus = value; } /** *

The recommendation status.

*/ inline void SetRecommendationStatus(RecommendationComplianceStatus&& value) { m_recommendationStatusHasBeenSet = true; m_recommendationStatus = std::move(value); } /** *

The recommendation status.

*/ inline ComponentRecommendation& WithRecommendationStatus(const RecommendationComplianceStatus& value) { SetRecommendationStatus(value); return *this;} /** *

The recommendation status.

*/ inline ComponentRecommendation& WithRecommendationStatus(RecommendationComplianceStatus&& value) { SetRecommendationStatus(std::move(value)); return *this;} private: Aws::String m_appComponentName; bool m_appComponentNameHasBeenSet = false; Aws::Vector m_configRecommendations; bool m_configRecommendationsHasBeenSet = false; RecommendationComplianceStatus m_recommendationStatus; bool m_recommendationStatusHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws