listSavingsPlansPurchaseRecommendationGeneration method

Future<ListSavingsPlansPurchaseRecommendationGenerationResponse> listSavingsPlansPurchaseRecommendationGeneration({
  1. GenerationStatus? generationStatus,
  2. String? nextPageToken,
  3. int? pageSize,
  4. List<String>? recommendationIds,
})

Retrieves a list of your historical recommendation generations within the past 30 days.

May throw DataUnavailableException. May throw InvalidNextTokenException. May throw LimitExceededException.

Parameter generationStatus : The status of the recommendation generation.

Parameter nextPageToken : The token to retrieve the next set of results.

Parameter pageSize : The number of recommendations that you want returned in a single response object.

Parameter recommendationIds : The IDs for each specific recommendation.

Implementation

Future<ListSavingsPlansPurchaseRecommendationGenerationResponse>
    listSavingsPlansPurchaseRecommendationGeneration({
  GenerationStatus? generationStatus,
  String? nextPageToken,
  int? pageSize,
  List<String>? recommendationIds,
}) async {
  _s.validateNumRange(
    'pageSize',
    pageSize,
    0,
    6000,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'AWSInsightsIndexService.ListSavingsPlansPurchaseRecommendationGeneration'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (generationStatus != null)
        'GenerationStatus': generationStatus.value,
      if (nextPageToken != null) 'NextPageToken': nextPageToken,
      if (pageSize != null) 'PageSize': pageSize,
      if (recommendationIds != null) 'RecommendationIds': recommendationIds,
    },
  );

  return ListSavingsPlansPurchaseRecommendationGenerationResponse.fromJson(
      jsonResponse.body);
}