getUsageForecast method
Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage.
May throw BillingViewHealthStatusException.
May throw DataUnavailableException.
May throw LimitExceededException.
May throw ResourceNotFoundException.
May throw UnresolvableUsageUnitException.
Parameter granularity :
How granular you want the forecast to be. You can get 3 months of
DAILY forecasts or 18 months of MONTHLY
forecasts.
The GetUsageForecast operation supports only
DAILY and MONTHLY granularities.
Parameter metric :
Which metric Cost Explorer uses to create your forecast.
Valid values for a GetUsageForecast call are the following:
- USAGE_QUANTITY
- NORMALIZED_USAGE_AMOUNT
Parameter timePeriod :
The start and end dates of the period that you want to retrieve usage
forecast for. The start date is included in the period, but the end date
isn't included in the period. For example, if start is
2017-01-01 and end is 2017-05-01,
then the cost and usage data is retrieved from 2017-01-01 up
to and including 2017-04-30 but not including
2017-05-01. The start date must be equal to or later than the
current date to avoid a validation error.
Parameter billingViewArn :
The Amazon Resource Name (ARN) that uniquely identifies a specific billing
view. The ARN is used to specify which particular billing view you want to
interact with or retrieve information from when making API calls related
to Amazon Web Services Billing and Cost Management features. The
BillingViewArn can be retrieved by calling the ListBillingViews API.
Parameter filter :
The filters that you want to use to filter your forecast. The
GetUsageForecast API supports filtering by the following
dimensions:
-
AZ -
INSTANCE_TYPE -
LINKED_ACCOUNT -
LINKED_ACCOUNT_NAME -
OPERATION -
PURCHASE_TYPE -
REGION -
SERVICE -
USAGE_TYPE -
USAGE_TYPE_GROUP -
RECORD_TYPE -
OPERATING_SYSTEM -
TENANCY -
SCOPE -
PLATFORM -
SUBSCRIPTION_ID -
LEGAL_ENTITY_NAME -
DEPLOYMENT_OPTION -
DATABASE_ENGINE -
INSTANCE_TYPE_FAMILY -
BILLING_ENTITY -
RESERVATION_ID -
SAVINGS_PLAN_ARN
Parameter predictionIntervalLevel :
Amazon Web Services Cost Explorer always returns the mean forecast as a
single point. You can request a prediction interval around the mean by
specifying a confidence level. The higher the confidence level, the more
confident Cost Explorer is about the actual value falling in the
prediction interval. Higher confidence levels result in wider prediction
intervals.
Implementation
Future<GetUsageForecastResponse> getUsageForecast({
required Granularity granularity,
required Metric metric,
required DateInterval timePeriod,
String? billingViewArn,
Expression? filter,
int? predictionIntervalLevel,
}) async {
_s.validateNumRange(
'predictionIntervalLevel',
predictionIntervalLevel,
51,
99,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSInsightsIndexService.GetUsageForecast'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Granularity': granularity.value,
'Metric': metric.value,
'TimePeriod': timePeriod,
if (billingViewArn != null) 'BillingViewArn': billingViewArn,
if (filter != null) 'Filter': filter,
if (predictionIntervalLevel != null)
'PredictionIntervalLevel': predictionIntervalLevel,
},
);
return GetUsageForecastResponse.fromJson(jsonResponse.body);
}