getScalingPlanResourceForecastData method
- required DateTime endTime,
- required ForecastDataType forecastDataType,
- required String resourceId,
- required ScalableDimension scalableDimension,
- required String scalingPlanName,
- required int scalingPlanVersion,
- required ServiceNamespace serviceNamespace,
- required DateTime startTime,
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 ValidationException. May throw InternalServiceException.
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 the resource type and
unique identifier.
-
Auto Scaling group - The resource type is
autoScalingGroup
and the unique identifier is the name of the Auto Scaling group. Example:autoScalingGroup/my-asg
. -
ECS service - The resource type is
service
and the unique identifier is the cluster name and service name. Example:service/default/sample-webapp
. -
Spot Fleet request - The resource type is
spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example:spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
. -
DynamoDB table - The resource type is
table
and the unique identifier is the resource ID. Example:table/my-table
. -
DynamoDB global secondary index - The resource type is
index
and the unique identifier is the resource ID. Example:table/my-table/index/my-table-index
. -
Aurora DB cluster - The resource type is
cluster
and the unique identifier is the cluster name. Example:cluster:my-db-cluster
.
Parameter scalableDimension
:
The scalable dimension for the resource.
Parameter scalingPlanName
:
The name of the scaling plan.
Parameter scalingPlanVersion
:
The version number of the scaling plan.
Parameter serviceNamespace
:
The namespace of the AWS service.
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 {
ArgumentError.checkNotNull(endTime, 'endTime');
ArgumentError.checkNotNull(forecastDataType, 'forecastDataType');
ArgumentError.checkNotNull(resourceId, 'resourceId');
ArgumentError.checkNotNull(scalableDimension, 'scalableDimension');
ArgumentError.checkNotNull(scalingPlanName, 'scalingPlanName');
_s.validateStringLength(
'scalingPlanName',
scalingPlanName,
1,
128,
isRequired: true,
);
ArgumentError.checkNotNull(scalingPlanVersion, 'scalingPlanVersion');
ArgumentError.checkNotNull(serviceNamespace, 'serviceNamespace');
ArgumentError.checkNotNull(startTime, 'startTime');
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.toValue(),
'ResourceId': resourceId,
'ScalableDimension': scalableDimension.toValue(),
'ScalingPlanName': scalingPlanName,
'ScalingPlanVersion': scalingPlanVersion,
'ServiceNamespace': serviceNamespace.toValue(),
'StartTime': unixTimestampToJson(startTime),
},
);
return GetScalingPlanResourceForecastDataResponse.fromJson(
jsonResponse.body);
}