/** * 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 WellArchitected { namespace Model { /** *

A choice available to answer question.

See Also:

AWS * API Reference

*/ class Choice { public: AWS_WELLARCHITECTED_API Choice(); AWS_WELLARCHITECTED_API Choice(Aws::Utils::Json::JsonView jsonValue); AWS_WELLARCHITECTED_API Choice& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WELLARCHITECTED_API Aws::Utils::Json::JsonValue Jsonize() const; inline const Aws::String& GetChoiceId() const{ return m_choiceId; } inline bool ChoiceIdHasBeenSet() const { return m_choiceIdHasBeenSet; } inline void SetChoiceId(const Aws::String& value) { m_choiceIdHasBeenSet = true; m_choiceId = value; } inline void SetChoiceId(Aws::String&& value) { m_choiceIdHasBeenSet = true; m_choiceId = std::move(value); } inline void SetChoiceId(const char* value) { m_choiceIdHasBeenSet = true; m_choiceId.assign(value); } inline Choice& WithChoiceId(const Aws::String& value) { SetChoiceId(value); return *this;} inline Choice& WithChoiceId(Aws::String&& value) { SetChoiceId(std::move(value)); return *this;} inline Choice& WithChoiceId(const char* value) { SetChoiceId(value); return *this;} inline const Aws::String& GetTitle() const{ return m_title; } inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } inline Choice& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} inline Choice& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} inline Choice& WithTitle(const char* value) { SetTitle(value); return *this;} inline const Aws::String& GetDescription() const{ return m_description; } inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } inline Choice& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} inline Choice& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} inline Choice& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline const ChoiceContent& GetHelpfulResource() const{ return m_helpfulResource; } /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline bool HelpfulResourceHasBeenSet() const { return m_helpfulResourceHasBeenSet; } /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline void SetHelpfulResource(const ChoiceContent& value) { m_helpfulResourceHasBeenSet = true; m_helpfulResource = value; } /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline void SetHelpfulResource(ChoiceContent&& value) { m_helpfulResourceHasBeenSet = true; m_helpfulResource = std::move(value); } /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline Choice& WithHelpfulResource(const ChoiceContent& value) { SetHelpfulResource(value); return *this;} /** *

The helpful resource (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one helpful * resource.

*/ inline Choice& WithHelpfulResource(ChoiceContent&& value) { SetHelpfulResource(std::move(value)); return *this;} /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline const ChoiceContent& GetImprovementPlan() const{ return m_improvementPlan; } /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline bool ImprovementPlanHasBeenSet() const { return m_improvementPlanHasBeenSet; } /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline void SetImprovementPlan(const ChoiceContent& value) { m_improvementPlanHasBeenSet = true; m_improvementPlan = value; } /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline void SetImprovementPlan(ChoiceContent&& value) { m_improvementPlanHasBeenSet = true; m_improvementPlan = std::move(value); } /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline Choice& WithImprovementPlan(const ChoiceContent& value) { SetImprovementPlan(value); return *this;} /** *

The improvement plan (both text and URL) for a particular choice.

This * field only applies to custom lenses. Each choice can have only one improvement * plan.

*/ inline Choice& WithImprovementPlan(ChoiceContent&& value) { SetImprovementPlan(std::move(value)); return *this;} /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline const Aws::Vector& GetAdditionalResources() const{ return m_additionalResources; } /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline bool AdditionalResourcesHasBeenSet() const { return m_additionalResourcesHasBeenSet; } /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline void SetAdditionalResources(const Aws::Vector& value) { m_additionalResourcesHasBeenSet = true; m_additionalResources = value; } /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline void SetAdditionalResources(Aws::Vector&& value) { m_additionalResourcesHasBeenSet = true; m_additionalResources = std::move(value); } /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline Choice& WithAdditionalResources(const Aws::Vector& value) { SetAdditionalResources(value); return *this;} /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline Choice& WithAdditionalResources(Aws::Vector&& value) { SetAdditionalResources(std::move(value)); return *this;} /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline Choice& AddAdditionalResources(const AdditionalResources& value) { m_additionalResourcesHasBeenSet = true; m_additionalResources.push_back(value); return *this; } /** *

The additional resources for a choice in a custom lens.

A choice can * have up to two additional resources: one of type HELPFUL_RESOURCE, * one of type IMPROVEMENT_PLAN, or both.

*/ inline Choice& AddAdditionalResources(AdditionalResources&& value) { m_additionalResourcesHasBeenSet = true; m_additionalResources.push_back(std::move(value)); return *this; } private: Aws::String m_choiceId; bool m_choiceIdHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ChoiceContent m_helpfulResource; bool m_helpfulResourceHasBeenSet = false; ChoiceContent m_improvementPlan; bool m_improvementPlanHasBeenSet = false; Aws::Vector m_additionalResources; bool m_additionalResourcesHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws