/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 a test recommendation.

See Also:

AWS * API Reference

*/ class TestRecommendation { public: AWS_RESILIENCEHUB_API TestRecommendation(); AWS_RESILIENCEHUB_API TestRecommendation(Aws::Utils::Json::JsonView jsonValue); AWS_RESILIENCEHUB_API TestRecommendation& 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 TestRecommendation& WithAppComponentName(const Aws::String& value) { SetAppComponentName(value); return *this;} /** *

The name of the Application Component.

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

The name of the Application Component.

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

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline const Aws::Vector& GetDependsOnAlarms() const{ return m_dependsOnAlarms; } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline bool DependsOnAlarmsHasBeenSet() const { return m_dependsOnAlarmsHasBeenSet; } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline void SetDependsOnAlarms(const Aws::Vector& value) { m_dependsOnAlarmsHasBeenSet = true; m_dependsOnAlarms = value; } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline void SetDependsOnAlarms(Aws::Vector&& value) { m_dependsOnAlarmsHasBeenSet = true; m_dependsOnAlarms = std::move(value); } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline TestRecommendation& WithDependsOnAlarms(const Aws::Vector& value) { SetDependsOnAlarms(value); return *this;} /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline TestRecommendation& WithDependsOnAlarms(Aws::Vector&& value) { SetDependsOnAlarms(std::move(value)); return *this;} /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline TestRecommendation& AddDependsOnAlarms(const Aws::String& value) { m_dependsOnAlarmsHasBeenSet = true; m_dependsOnAlarms.push_back(value); return *this; } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline TestRecommendation& AddDependsOnAlarms(Aws::String&& value) { m_dependsOnAlarmsHasBeenSet = true; m_dependsOnAlarms.push_back(std::move(value)); return *this; } /** *

A list of recommended alarms that are used in the test and must be exported * before or with the test.

*/ inline TestRecommendation& AddDependsOnAlarms(const char* value) { m_dependsOnAlarmsHasBeenSet = true; m_dependsOnAlarms.push_back(value); return *this; } /** *

The description for the test recommendation.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description for the test recommendation.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description for the test recommendation.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description for the test recommendation.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description for the test recommendation.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description for the test recommendation.

*/ inline TestRecommendation& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description for the test recommendation.

*/ inline TestRecommendation& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description for the test recommendation.

*/ inline TestRecommendation& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The intent of the test recommendation.

*/ inline const Aws::String& GetIntent() const{ return m_intent; } /** *

The intent of the test recommendation.

*/ inline bool IntentHasBeenSet() const { return m_intentHasBeenSet; } /** *

The intent of the test recommendation.

*/ inline void SetIntent(const Aws::String& value) { m_intentHasBeenSet = true; m_intent = value; } /** *

The intent of the test recommendation.

*/ inline void SetIntent(Aws::String&& value) { m_intentHasBeenSet = true; m_intent = std::move(value); } /** *

The intent of the test recommendation.

*/ inline void SetIntent(const char* value) { m_intentHasBeenSet = true; m_intent.assign(value); } /** *

The intent of the test recommendation.

*/ inline TestRecommendation& WithIntent(const Aws::String& value) { SetIntent(value); return *this;} /** *

The intent of the test recommendation.

*/ inline TestRecommendation& WithIntent(Aws::String&& value) { SetIntent(std::move(value)); return *this;} /** *

The intent of the test recommendation.

*/ inline TestRecommendation& WithIntent(const char* value) { SetIntent(value); return *this;} /** *

The test recommendation items.

*/ inline const Aws::Vector& GetItems() const{ return m_items; } /** *

The test recommendation items.

*/ inline bool ItemsHasBeenSet() const { return m_itemsHasBeenSet; } /** *

The test recommendation items.

*/ inline void SetItems(const Aws::Vector& value) { m_itemsHasBeenSet = true; m_items = value; } /** *

The test recommendation items.

*/ inline void SetItems(Aws::Vector&& value) { m_itemsHasBeenSet = true; m_items = std::move(value); } /** *

The test recommendation items.

*/ inline TestRecommendation& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} /** *

The test recommendation items.

*/ inline TestRecommendation& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} /** *

The test recommendation items.

*/ inline TestRecommendation& AddItems(const RecommendationItem& value) { m_itemsHasBeenSet = true; m_items.push_back(value); return *this; } /** *

The test recommendation items.

*/ inline TestRecommendation& AddItems(RecommendationItem&& value) { m_itemsHasBeenSet = true; m_items.push_back(std::move(value)); return *this; } /** *

The name of the test recommendation.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the test recommendation.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the test recommendation.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the test recommendation.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the test recommendation.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the test recommendation.

*/ inline TestRecommendation& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the test recommendation.

*/ inline TestRecommendation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the test recommendation.

*/ inline TestRecommendation& WithName(const char* value) { SetName(value); return *this;} /** *

The prerequisite of the test recommendation.

*/ inline const Aws::String& GetPrerequisite() const{ return m_prerequisite; } /** *

The prerequisite of the test recommendation.

*/ inline bool PrerequisiteHasBeenSet() const { return m_prerequisiteHasBeenSet; } /** *

The prerequisite of the test recommendation.

*/ inline void SetPrerequisite(const Aws::String& value) { m_prerequisiteHasBeenSet = true; m_prerequisite = value; } /** *

The prerequisite of the test recommendation.

*/ inline void SetPrerequisite(Aws::String&& value) { m_prerequisiteHasBeenSet = true; m_prerequisite = std::move(value); } /** *

The prerequisite of the test recommendation.

*/ inline void SetPrerequisite(const char* value) { m_prerequisiteHasBeenSet = true; m_prerequisite.assign(value); } /** *

The prerequisite of the test recommendation.

*/ inline TestRecommendation& WithPrerequisite(const Aws::String& value) { SetPrerequisite(value); return *this;} /** *

The prerequisite of the test recommendation.

*/ inline TestRecommendation& WithPrerequisite(Aws::String&& value) { SetPrerequisite(std::move(value)); return *this;} /** *

The prerequisite of the test recommendation.

*/ inline TestRecommendation& WithPrerequisite(const char* value) { SetPrerequisite(value); return *this;} /** *

Identifier for the test recommendation.

*/ inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } /** *

Identifier for the test recommendation.

*/ inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; } /** *

Identifier for the test recommendation.

*/ inline void SetRecommendationId(const Aws::String& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = value; } /** *

Identifier for the test recommendation.

*/ inline void SetRecommendationId(Aws::String&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::move(value); } /** *

Identifier for the test recommendation.

*/ inline void SetRecommendationId(const char* value) { m_recommendationIdHasBeenSet = true; m_recommendationId.assign(value); } /** *

Identifier for the test recommendation.

*/ inline TestRecommendation& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} /** *

Identifier for the test recommendation.

*/ inline TestRecommendation& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} /** *

Identifier for the test recommendation.

*/ inline TestRecommendation& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;} /** *

The reference identifier for the test recommendation.

*/ inline const Aws::String& GetReferenceId() const{ return m_referenceId; } /** *

The reference identifier for the test recommendation.

*/ inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; } /** *

The reference identifier for the test recommendation.

*/ inline void SetReferenceId(const Aws::String& value) { m_referenceIdHasBeenSet = true; m_referenceId = value; } /** *

The reference identifier for the test recommendation.

*/ inline void SetReferenceId(Aws::String&& value) { m_referenceIdHasBeenSet = true; m_referenceId = std::move(value); } /** *

The reference identifier for the test recommendation.

*/ inline void SetReferenceId(const char* value) { m_referenceIdHasBeenSet = true; m_referenceId.assign(value); } /** *

The reference identifier for the test recommendation.

*/ inline TestRecommendation& WithReferenceId(const Aws::String& value) { SetReferenceId(value); return *this;} /** *

The reference identifier for the test recommendation.

*/ inline TestRecommendation& WithReferenceId(Aws::String&& value) { SetReferenceId(std::move(value)); return *this;} /** *

The reference identifier for the test recommendation.

*/ inline TestRecommendation& WithReferenceId(const char* value) { SetReferenceId(value); return *this;} /** *

The level of risk for this test recommendation.

*/ inline const TestRisk& GetRisk() const{ return m_risk; } /** *

The level of risk for this test recommendation.

*/ inline bool RiskHasBeenSet() const { return m_riskHasBeenSet; } /** *

The level of risk for this test recommendation.

*/ inline void SetRisk(const TestRisk& value) { m_riskHasBeenSet = true; m_risk = value; } /** *

The level of risk for this test recommendation.

*/ inline void SetRisk(TestRisk&& value) { m_riskHasBeenSet = true; m_risk = std::move(value); } /** *

The level of risk for this test recommendation.

*/ inline TestRecommendation& WithRisk(const TestRisk& value) { SetRisk(value); return *this;} /** *

The level of risk for this test recommendation.

*/ inline TestRecommendation& WithRisk(TestRisk&& value) { SetRisk(std::move(value)); return *this;} /** *

The type of test recommendation.

*/ inline const TestType& GetType() const{ return m_type; } /** *

The type of test recommendation.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of test recommendation.

*/ inline void SetType(const TestType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of test recommendation.

*/ inline void SetType(TestType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of test recommendation.

*/ inline TestRecommendation& WithType(const TestType& value) { SetType(value); return *this;} /** *

The type of test recommendation.

*/ inline TestRecommendation& WithType(TestType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_appComponentName; bool m_appComponentNameHasBeenSet = false; Aws::Vector m_dependsOnAlarms; bool m_dependsOnAlarmsHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_intent; bool m_intentHasBeenSet = false; Aws::Vector m_items; bool m_itemsHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_prerequisite; bool m_prerequisiteHasBeenSet = false; Aws::String m_recommendationId; bool m_recommendationIdHasBeenSet = false; Aws::String m_referenceId; bool m_referenceIdHasBeenSet = false; TestRisk m_risk; bool m_riskHasBeenSet = false; TestType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws