/** * 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 { /** *

Metadata for this recommendation set.

See Also:

AWS * API Reference

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The ID for this specific recommendation.

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

The timestamp for when Amazon Web Services made this recommendation.

*/ inline const Aws::String& GetGenerationTimestamp() const{ return m_generationTimestamp; } /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline bool GenerationTimestampHasBeenSet() const { return m_generationTimestampHasBeenSet; } /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline void SetGenerationTimestamp(const Aws::String& value) { m_generationTimestampHasBeenSet = true; m_generationTimestamp = value; } /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline void SetGenerationTimestamp(Aws::String&& value) { m_generationTimestampHasBeenSet = true; m_generationTimestamp = std::move(value); } /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline void SetGenerationTimestamp(const char* value) { m_generationTimestampHasBeenSet = true; m_generationTimestamp.assign(value); } /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline RightsizingRecommendationMetadata& WithGenerationTimestamp(const Aws::String& value) { SetGenerationTimestamp(value); return *this;} /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline RightsizingRecommendationMetadata& WithGenerationTimestamp(Aws::String&& value) { SetGenerationTimestamp(std::move(value)); return *this;} /** *

The timestamp for when Amazon Web Services made this recommendation.

*/ inline RightsizingRecommendationMetadata& WithGenerationTimestamp(const char* value) { SetGenerationTimestamp(value); return *this;} /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline const LookbackPeriodInDays& GetLookbackPeriodInDays() const{ return m_lookbackPeriodInDays; } /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; } /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline void SetLookbackPeriodInDays(const LookbackPeriodInDays& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; } /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline void SetLookbackPeriodInDays(LookbackPeriodInDays&& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = std::move(value); } /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline RightsizingRecommendationMetadata& WithLookbackPeriodInDays(const LookbackPeriodInDays& value) { SetLookbackPeriodInDays(value); return *this;} /** *

The number of days of previous usage that Amazon Web Services considers when * making this recommendation.

*/ inline RightsizingRecommendationMetadata& WithLookbackPeriodInDays(LookbackPeriodInDays&& value) { SetLookbackPeriodInDays(std::move(value)); return *this;} /** *

Additional metadata that might be applicable to the recommendation.

*/ inline const Aws::String& GetAdditionalMetadata() const{ return m_additionalMetadata; } /** *

Additional metadata that might be applicable to the recommendation.

*/ inline bool AdditionalMetadataHasBeenSet() const { return m_additionalMetadataHasBeenSet; } /** *

Additional metadata that might be applicable to the recommendation.

*/ inline void SetAdditionalMetadata(const Aws::String& value) { m_additionalMetadataHasBeenSet = true; m_additionalMetadata = value; } /** *

Additional metadata that might be applicable to the recommendation.

*/ inline void SetAdditionalMetadata(Aws::String&& value) { m_additionalMetadataHasBeenSet = true; m_additionalMetadata = std::move(value); } /** *

Additional metadata that might be applicable to the recommendation.

*/ inline void SetAdditionalMetadata(const char* value) { m_additionalMetadataHasBeenSet = true; m_additionalMetadata.assign(value); } /** *

Additional metadata that might be applicable to the recommendation.

*/ inline RightsizingRecommendationMetadata& WithAdditionalMetadata(const Aws::String& value) { SetAdditionalMetadata(value); return *this;} /** *

Additional metadata that might be applicable to the recommendation.

*/ inline RightsizingRecommendationMetadata& WithAdditionalMetadata(Aws::String&& value) { SetAdditionalMetadata(std::move(value)); return *this;} /** *

Additional metadata that might be applicable to the recommendation.

*/ inline RightsizingRecommendationMetadata& WithAdditionalMetadata(const char* value) { SetAdditionalMetadata(value); return *this;} private: Aws::String m_recommendationId; bool m_recommendationIdHasBeenSet = false; Aws::String m_generationTimestamp; bool m_generationTimestampHasBeenSet = false; LookbackPeriodInDays m_lookbackPeriodInDays; bool m_lookbackPeriodInDaysHasBeenSet = false; Aws::String m_additionalMetadata; bool m_additionalMetadataHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws