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

A summary of a recommendation.

See Also:

AWS * API Reference

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

An array of objects that describe a recommendation summary.

*/ inline const Aws::Vector& GetSummaries() const{ return m_summaries; } /** *

An array of objects that describe a recommendation summary.

*/ inline bool SummariesHasBeenSet() const { return m_summariesHasBeenSet; } /** *

An array of objects that describe a recommendation summary.

*/ inline void SetSummaries(const Aws::Vector& value) { m_summariesHasBeenSet = true; m_summaries = value; } /** *

An array of objects that describe a recommendation summary.

*/ inline void SetSummaries(Aws::Vector&& value) { m_summariesHasBeenSet = true; m_summaries = std::move(value); } /** *

An array of objects that describe a recommendation summary.

*/ inline RecommendationSummary& WithSummaries(const Aws::Vector& value) { SetSummaries(value); return *this;} /** *

An array of objects that describe a recommendation summary.

*/ inline RecommendationSummary& WithSummaries(Aws::Vector&& value) { SetSummaries(std::move(value)); return *this;} /** *

An array of objects that describe a recommendation summary.

*/ inline RecommendationSummary& AddSummaries(const Summary& value) { m_summariesHasBeenSet = true; m_summaries.push_back(value); return *this; } /** *

An array of objects that describe a recommendation summary.

*/ inline RecommendationSummary& AddSummaries(Summary&& value) { m_summariesHasBeenSet = true; m_summaries.push_back(std::move(value)); return *this; } /** *

The resource type of the recommendation.

*/ inline const RecommendationSourceType& GetRecommendationResourceType() const{ return m_recommendationResourceType; } /** *

The resource type of the recommendation.

*/ inline bool RecommendationResourceTypeHasBeenSet() const { return m_recommendationResourceTypeHasBeenSet; } /** *

The resource type of the recommendation.

*/ inline void SetRecommendationResourceType(const RecommendationSourceType& value) { m_recommendationResourceTypeHasBeenSet = true; m_recommendationResourceType = value; } /** *

The resource type of the recommendation.

*/ inline void SetRecommendationResourceType(RecommendationSourceType&& value) { m_recommendationResourceTypeHasBeenSet = true; m_recommendationResourceType = std::move(value); } /** *

The resource type of the recommendation.

*/ inline RecommendationSummary& WithRecommendationResourceType(const RecommendationSourceType& value) { SetRecommendationResourceType(value); return *this;} /** *

The resource type of the recommendation.

*/ inline RecommendationSummary& WithRecommendationResourceType(RecommendationSourceType&& value) { SetRecommendationResourceType(std::move(value)); return *this;} /** *

The AWS account ID of the recommendation summary.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The AWS account ID of the recommendation summary.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The AWS account ID of the recommendation summary.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The AWS account ID of the recommendation summary.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The AWS account ID of the recommendation summary.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The AWS account ID of the recommendation summary.

*/ inline RecommendationSummary& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The AWS account ID of the recommendation summary.

*/ inline RecommendationSummary& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The AWS account ID of the recommendation summary.

*/ inline RecommendationSummary& WithAccountId(const char* value) { SetAccountId(value); return *this;} private: Aws::Vector m_summaries; bool m_summariesHasBeenSet; RecommendationSourceType m_recommendationResourceType; bool m_recommendationResourceTypeHasBeenSet; Aws::String m_accountId; bool m_accountIdHasBeenSet; }; } // namespace Model } // namespace ComputeOptimizer } // namespace Aws