describeSavingsPlansOfferingRates method

Future<DescribeSavingsPlansOfferingRatesResponse> describeSavingsPlansOfferingRates({
  1. List<SavingsPlanOfferingRateFilterElement>? filters,
  2. int? maxResults,
  3. String? nextToken,
  4. List<String>? operations,
  5. List<SavingsPlanProductType>? products,
  6. List<String>? savingsPlanOfferingIds,
  7. List<SavingsPlanPaymentOption>? savingsPlanPaymentOptions,
  8. List<SavingsPlanType>? savingsPlanTypes,
  9. List<SavingsPlanRateServiceCode>? serviceCodes,
  10. List<String>? usageTypes,
})

Describes the specified Savings Plans offering rates.

May throw ValidationException. May throw InternalServerException.

Parameter filters : The filters.

Parameter maxResults : The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

Parameter nextToken : The token for the next page of results.

Parameter operations : The specific AWS operation for the line item in the billing report.

Parameter products : The AWS products.

Parameter savingsPlanOfferingIds : The IDs of the offerings.

Parameter savingsPlanPaymentOptions : The payment options.

Parameter savingsPlanTypes : The plan types.

Parameter serviceCodes : The services.

Parameter usageTypes : The usage details of the line item in the billing report.

Implementation

Future<DescribeSavingsPlansOfferingRatesResponse>
    describeSavingsPlansOfferingRates({
  List<SavingsPlanOfferingRateFilterElement>? filters,
  int? maxResults,
  String? nextToken,
  List<String>? operations,
  List<SavingsPlanProductType>? products,
  List<String>? savingsPlanOfferingIds,
  List<SavingsPlanPaymentOption>? savingsPlanPaymentOptions,
  List<SavingsPlanType>? savingsPlanTypes,
  List<SavingsPlanRateServiceCode>? serviceCodes,
  List<String>? usageTypes,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    0,
    1000,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    0,
    1024,
  );
  final $payload = <String, dynamic>{
    if (filters != null) 'filters': filters,
    if (maxResults != null) 'maxResults': maxResults,
    if (nextToken != null) 'nextToken': nextToken,
    if (operations != null) 'operations': operations,
    if (products != null)
      'products': products.map((e) => e.toValue()).toList(),
    if (savingsPlanOfferingIds != null)
      'savingsPlanOfferingIds': savingsPlanOfferingIds,
    if (savingsPlanPaymentOptions != null)
      'savingsPlanPaymentOptions':
          savingsPlanPaymentOptions.map((e) => e.toValue()).toList(),
    if (savingsPlanTypes != null)
      'savingsPlanTypes': savingsPlanTypes.map((e) => e.toValue()).toList(),
    if (serviceCodes != null)
      'serviceCodes': serviceCodes.map((e) => e.toValue()).toList(),
    if (usageTypes != null) 'usageTypes': usageTypes,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/DescribeSavingsPlansOfferingRates',
    exceptionFnMap: _exceptionFns,
  );
  return DescribeSavingsPlansOfferingRatesResponse.fromJson(response);
}