/** * 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 CostExplorer { namespace Model { /** */ class ListSavingsPlansPurchaseRecommendationGenerationRequest : public CostExplorerRequest { public: AWS_COSTEXPLORER_API ListSavingsPlansPurchaseRecommendationGenerationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListSavingsPlansPurchaseRecommendationGeneration"; } AWS_COSTEXPLORER_API Aws::String SerializePayload() const override; AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The status of the recommendation generation.

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

The status of the recommendation generation.

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

The status of the recommendation generation.

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

The status of the recommendation generation.

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

The status of the recommendation generation.

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

The status of the recommendation generation.

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

The IDs for each specific recommendation.

*/ inline const Aws::Vector& GetRecommendationIds() const{ return m_recommendationIds; } /** *

The IDs for each specific recommendation.

*/ inline bool RecommendationIdsHasBeenSet() const { return m_recommendationIdsHasBeenSet; } /** *

The IDs for each specific recommendation.

*/ inline void SetRecommendationIds(const Aws::Vector& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = value; } /** *

The IDs for each specific recommendation.

*/ inline void SetRecommendationIds(Aws::Vector&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = std::move(value); } /** *

The IDs for each specific recommendation.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithRecommendationIds(const Aws::Vector& value) { SetRecommendationIds(value); return *this;} /** *

The IDs for each specific recommendation.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithRecommendationIds(Aws::Vector&& value) { SetRecommendationIds(std::move(value)); return *this;} /** *

The IDs for each specific recommendation.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& AddRecommendationIds(const Aws::String& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } /** *

The IDs for each specific recommendation.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& AddRecommendationIds(Aws::String&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(std::move(value)); return *this; } /** *

The IDs for each specific recommendation.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& AddRecommendationIds(const char* value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } /** *

The number of recommendations that you want returned in a single response * object.

*/ inline int GetPageSize() const{ return m_pageSize; } /** *

The number of recommendations that you want returned in a single response * object.

*/ inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } /** *

The number of recommendations that you want returned in a single response * object.

*/ inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } /** *

The number of recommendations that you want returned in a single response * object.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithPageSize(int value) { SetPageSize(value); return *this;} /** *

The token to retrieve the next set of results.

*/ inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; } /** *

The token to retrieve the next set of results.

*/ inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; } /** *

The token to retrieve the next set of results.

*/ inline void SetNextPageToken(const Aws::String& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = value; } /** *

The token to retrieve the next set of results.

*/ inline void SetNextPageToken(Aws::String&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::move(value); } /** *

The token to retrieve the next set of results.

*/ inline void SetNextPageToken(const char* value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken.assign(value); } /** *

The token to retrieve the next set of results.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;} /** *

The token to retrieve the next set of results.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;} /** *

The token to retrieve the next set of results.

*/ inline ListSavingsPlansPurchaseRecommendationGenerationRequest& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;} private: GenerationStatus m_generationStatus; bool m_generationStatusHasBeenSet = false; Aws::Vector m_recommendationIds; bool m_recommendationIdsHasBeenSet = false; int m_pageSize; bool m_pageSizeHasBeenSet = false; Aws::String m_nextPageToken; bool m_nextPageTokenHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws