getRDSDatabaseRecommendationProjectedMetrics method

Future<GetRDSDatabaseRecommendationProjectedMetricsResponse> getRDSDatabaseRecommendationProjectedMetrics({
  1. required DateTime endTime,
  2. required int period,
  3. required String resourceArn,
  4. required DateTime startTime,
  5. required MetricStatistic stat,
  6. RecommendationPreferences? recommendationPreferences,
})

Returns the projected metrics of Aurora and RDS database recommendations.

May throw AccessDeniedException. May throw InternalServerException. May throw InvalidParameterValueException. May throw MissingAuthenticationToken. May throw OptInRequiredException. May throw ResourceNotFoundException. May throw ServiceUnavailableException. May throw ThrottlingException.

Parameter endTime : The timestamp of the last projected metrics data point to return.

Parameter period : The granularity, in seconds, of the projected metrics data points.

Parameter resourceArn : The ARN that identifies the Amazon Aurora or RDS database.

The following is the format of the ARN:

arn:aws:rds:{region}:{accountId}:db:{resourceName}

Parameter startTime : The timestamp of the first projected metrics data point to return.

Parameter stat : The statistic of the projected metrics.

Implementation

Future<GetRDSDatabaseRecommendationProjectedMetricsResponse>
    getRDSDatabaseRecommendationProjectedMetrics({
  required DateTime endTime,
  required int period,
  required String resourceArn,
  required DateTime startTime,
  required MetricStatistic stat,
  RecommendationPreferences? recommendationPreferences,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target':
        'ComputeOptimizerService.GetRDSDatabaseRecommendationProjectedMetrics'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'endTime': unixTimestampToJson(endTime),
      'period': period,
      'resourceArn': resourceArn,
      'startTime': unixTimestampToJson(startTime),
      'stat': stat.value,
      if (recommendationPreferences != null)
        'recommendationPreferences': recommendationPreferences,
    },
  );

  return GetRDSDatabaseRecommendationProjectedMetricsResponse.fromJson(
      jsonResponse.body);
}