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

The summary of the Savings Plans recommendation generation.

See * Also:

AWS * API Reference

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates the ID for this specific recommendation.

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

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline const GenerationStatus& GetGenerationStatus() const{ return m_generationStatus; } /** *

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline bool GenerationStatusHasBeenSet() const { return m_generationStatusHasBeenSet; } /** *

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline void SetGenerationStatus(const GenerationStatus& value) { m_generationStatusHasBeenSet = true; m_generationStatus = value; } /** *

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline void SetGenerationStatus(GenerationStatus&& value) { m_generationStatusHasBeenSet = true; m_generationStatus = std::move(value); } /** *

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline GenerationSummary& WithGenerationStatus(const GenerationStatus& value) { SetGenerationStatus(value); return *this;} /** *

Indicates whether the recommendation generation succeeded, is processing, or * failed.

*/ inline GenerationSummary& WithGenerationStatus(GenerationStatus&& value) { SetGenerationStatus(std::move(value)); return *this;} /** *

Indicates the start time of the recommendation generation.

*/ inline const Aws::String& GetGenerationStartedTime() const{ return m_generationStartedTime; } /** *

Indicates the start time of the recommendation generation.

*/ inline bool GenerationStartedTimeHasBeenSet() const { return m_generationStartedTimeHasBeenSet; } /** *

Indicates the start time of the recommendation generation.

*/ inline void SetGenerationStartedTime(const Aws::String& value) { m_generationStartedTimeHasBeenSet = true; m_generationStartedTime = value; } /** *

Indicates the start time of the recommendation generation.

*/ inline void SetGenerationStartedTime(Aws::String&& value) { m_generationStartedTimeHasBeenSet = true; m_generationStartedTime = std::move(value); } /** *

Indicates the start time of the recommendation generation.

*/ inline void SetGenerationStartedTime(const char* value) { m_generationStartedTimeHasBeenSet = true; m_generationStartedTime.assign(value); } /** *

Indicates the start time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationStartedTime(const Aws::String& value) { SetGenerationStartedTime(value); return *this;} /** *

Indicates the start time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationStartedTime(Aws::String&& value) { SetGenerationStartedTime(std::move(value)); return *this;} /** *

Indicates the start time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationStartedTime(const char* value) { SetGenerationStartedTime(value); return *this;} /** *

Indicates the completion time of the recommendation generation.

*/ inline const Aws::String& GetGenerationCompletionTime() const{ return m_generationCompletionTime; } /** *

Indicates the completion time of the recommendation generation.

*/ inline bool GenerationCompletionTimeHasBeenSet() const { return m_generationCompletionTimeHasBeenSet; } /** *

Indicates the completion time of the recommendation generation.

*/ inline void SetGenerationCompletionTime(const Aws::String& value) { m_generationCompletionTimeHasBeenSet = true; m_generationCompletionTime = value; } /** *

Indicates the completion time of the recommendation generation.

*/ inline void SetGenerationCompletionTime(Aws::String&& value) { m_generationCompletionTimeHasBeenSet = true; m_generationCompletionTime = std::move(value); } /** *

Indicates the completion time of the recommendation generation.

*/ inline void SetGenerationCompletionTime(const char* value) { m_generationCompletionTimeHasBeenSet = true; m_generationCompletionTime.assign(value); } /** *

Indicates the completion time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationCompletionTime(const Aws::String& value) { SetGenerationCompletionTime(value); return *this;} /** *

Indicates the completion time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationCompletionTime(Aws::String&& value) { SetGenerationCompletionTime(std::move(value)); return *this;} /** *

Indicates the completion time of the recommendation generation.

*/ inline GenerationSummary& WithGenerationCompletionTime(const char* value) { SetGenerationCompletionTime(value); return *this;} /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline const Aws::String& GetEstimatedCompletionTime() const{ return m_estimatedCompletionTime; } /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline bool EstimatedCompletionTimeHasBeenSet() const { return m_estimatedCompletionTimeHasBeenSet; } /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline void SetEstimatedCompletionTime(const Aws::String& value) { m_estimatedCompletionTimeHasBeenSet = true; m_estimatedCompletionTime = value; } /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline void SetEstimatedCompletionTime(Aws::String&& value) { m_estimatedCompletionTimeHasBeenSet = true; m_estimatedCompletionTime = std::move(value); } /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline void SetEstimatedCompletionTime(const char* value) { m_estimatedCompletionTimeHasBeenSet = true; m_estimatedCompletionTime.assign(value); } /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline GenerationSummary& WithEstimatedCompletionTime(const Aws::String& value) { SetEstimatedCompletionTime(value); return *this;} /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline GenerationSummary& WithEstimatedCompletionTime(Aws::String&& value) { SetEstimatedCompletionTime(std::move(value)); return *this;} /** *

Indicates the estimated time for when the recommendation generation will * complete.

*/ inline GenerationSummary& WithEstimatedCompletionTime(const char* value) { SetEstimatedCompletionTime(value); return *this;} private: Aws::String m_recommendationId; bool m_recommendationIdHasBeenSet = false; GenerationStatus m_generationStatus; bool m_generationStatusHasBeenSet = false; Aws::String m_generationStartedTime; bool m_generationStartedTimeHasBeenSet = false; Aws::String m_generationCompletionTime; bool m_generationCompletionTimeHasBeenSet = false; Aws::String m_estimatedCompletionTime; bool m_estimatedCompletionTimeHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws