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

Defines a recommendation.

See Also:

AWS * API Reference

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

Specifies if the recommendation has already been implemented.

*/ inline bool GetAlreadyImplemented() const{ return m_alreadyImplemented; } /** *

Specifies if the recommendation has already been implemented.

*/ inline bool AlreadyImplementedHasBeenSet() const { return m_alreadyImplementedHasBeenSet; } /** *

Specifies if the recommendation has already been implemented.

*/ inline void SetAlreadyImplemented(bool value) { m_alreadyImplementedHasBeenSet = true; m_alreadyImplemented = value; } /** *

Specifies if the recommendation has already been implemented.

*/ inline RecommendationItem& WithAlreadyImplemented(bool value) { SetAlreadyImplemented(value); return *this;} /** *

The resource identifier.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The resource identifier.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The resource identifier.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The resource identifier.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The resource identifier.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The resource identifier.

*/ inline RecommendationItem& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The resource identifier.

*/ inline RecommendationItem& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The resource identifier.

*/ inline RecommendationItem& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The target account identifier.

*/ inline const Aws::String& GetTargetAccountId() const{ return m_targetAccountId; } /** *

The target account identifier.

*/ inline bool TargetAccountIdHasBeenSet() const { return m_targetAccountIdHasBeenSet; } /** *

The target account identifier.

*/ inline void SetTargetAccountId(const Aws::String& value) { m_targetAccountIdHasBeenSet = true; m_targetAccountId = value; } /** *

The target account identifier.

*/ inline void SetTargetAccountId(Aws::String&& value) { m_targetAccountIdHasBeenSet = true; m_targetAccountId = std::move(value); } /** *

The target account identifier.

*/ inline void SetTargetAccountId(const char* value) { m_targetAccountIdHasBeenSet = true; m_targetAccountId.assign(value); } /** *

The target account identifier.

*/ inline RecommendationItem& WithTargetAccountId(const Aws::String& value) { SetTargetAccountId(value); return *this;} /** *

The target account identifier.

*/ inline RecommendationItem& WithTargetAccountId(Aws::String&& value) { SetTargetAccountId(std::move(value)); return *this;} /** *

The target account identifier.

*/ inline RecommendationItem& WithTargetAccountId(const char* value) { SetTargetAccountId(value); return *this;} /** *

The target region.

*/ inline const Aws::String& GetTargetRegion() const{ return m_targetRegion; } /** *

The target region.

*/ inline bool TargetRegionHasBeenSet() const { return m_targetRegionHasBeenSet; } /** *

The target region.

*/ inline void SetTargetRegion(const Aws::String& value) { m_targetRegionHasBeenSet = true; m_targetRegion = value; } /** *

The target region.

*/ inline void SetTargetRegion(Aws::String&& value) { m_targetRegionHasBeenSet = true; m_targetRegion = std::move(value); } /** *

The target region.

*/ inline void SetTargetRegion(const char* value) { m_targetRegionHasBeenSet = true; m_targetRegion.assign(value); } /** *

The target region.

*/ inline RecommendationItem& WithTargetRegion(const Aws::String& value) { SetTargetRegion(value); return *this;} /** *

The target region.

*/ inline RecommendationItem& WithTargetRegion(Aws::String&& value) { SetTargetRegion(std::move(value)); return *this;} /** *

The target region.

*/ inline RecommendationItem& WithTargetRegion(const char* value) { SetTargetRegion(value); return *this;} private: bool m_alreadyImplemented; bool m_alreadyImplementedHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_targetAccountId; bool m_targetAccountIdHasBeenSet = false; Aws::String m_targetRegion; bool m_targetRegionHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws