getScalingPlanResourceForecastData method
Retrieves the forecast data for a scalable resource.
Capacity forecasts are represented as predicted values, or data points, that are calculated using historical data points from a specified CloudWatch load metric. Data points are available for up to 56 days.
May throw InternalServiceException.
May throw ValidationException.
Parameter endTime :
The exclusive end time of the time range for the forecast data to get. The
maximum time duration between the start and end time is seven days.
Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for periods of two days in advance.
Parameter forecastDataType :
The type of forecast data to get.
-
LoadForecast: The load metric forecast. -
CapacityForecast: The capacity forecast. -
ScheduledActionMinCapacity: The minimum capacity for each scheduled scaling action. This data is calculated as the larger of two values: the capacity forecast or the minimum capacity in the scaling instruction. -
ScheduledActionMaxCapacity: The maximum capacity for each scheduled scaling action. The calculation used is determined by the predictive scaling maximum capacity behavior setting in the scaling instruction.
Parameter resourceId :
The ID of the resource. This string consists of a prefix
(autoScalingGroup) followed by the name of a specified Auto
Scaling group (my-asg). Example:
autoScalingGroup/my-asg.
Parameter scalableDimension :
The scalable dimension for the resource. The only valid value is
autoscaling:autoScalingGroup:DesiredCapacity.
Parameter scalingPlanName :
The name of the scaling plan.
Parameter scalingPlanVersion :
The version number of the scaling plan. Currently, the only valid value is
1.
Parameter serviceNamespace :
The namespace of the AWS service. The only valid value is
autoscaling.
Parameter startTime :
The inclusive start time of the time range for the forecast data to get.
The date and time can be at most 56 days before the current date and time.
Implementation
Future<GetScalingPlanResourceForecastDataResponse>
getScalingPlanResourceForecastData({
required DateTime endTime,
required ForecastDataType forecastDataType,
required String resourceId,
required ScalableDimension scalableDimension,
required String scalingPlanName,
required int scalingPlanVersion,
required ServiceNamespace serviceNamespace,
required DateTime startTime,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target':
'AnyScaleScalingPlannerFrontendService.GetScalingPlanResourceForecastData'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'EndTime': unixTimestampToJson(endTime),
'ForecastDataType': forecastDataType.value,
'ResourceId': resourceId,
'ScalableDimension': scalableDimension.value,
'ScalingPlanName': scalingPlanName,
'ScalingPlanVersion': scalingPlanVersion,
'ServiceNamespace': serviceNamespace.value,
'StartTime': unixTimestampToJson(startTime),
},
);
return GetScalingPlanResourceForecastDataResponse.fromJson(
jsonResponse.body);
}