/** * 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 a standard operating procedure (SOP) recommendation.

See * Also:

AWS * API Reference

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

The name of the Application Component.

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

The name of the Application Component.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The description of the SOP recommendation.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The recommendation items.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The name of the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

The prerequisite for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

Identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The reference identifier for the SOP recommendation.

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

The service type.

*/ inline const SopServiceType& GetServiceType() const{ return m_serviceType; } /** *

The service type.

*/ inline bool ServiceTypeHasBeenSet() const { return m_serviceTypeHasBeenSet; } /** *

The service type.

*/ inline void SetServiceType(const SopServiceType& value) { m_serviceTypeHasBeenSet = true; m_serviceType = value; } /** *

The service type.

*/ inline void SetServiceType(SopServiceType&& value) { m_serviceTypeHasBeenSet = true; m_serviceType = std::move(value); } /** *

The service type.

*/ inline SopRecommendation& WithServiceType(const SopServiceType& value) { SetServiceType(value); return *this;} /** *

The service type.

*/ inline SopRecommendation& WithServiceType(SopServiceType&& value) { SetServiceType(std::move(value)); return *this;} private: Aws::String m_appComponentName; bool m_appComponentNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = 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; SopServiceType m_serviceType; bool m_serviceTypeHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws