getSavingsPlansCoverage method
- required DateInterval timePeriod,
- Expression? filter,
- Granularity? granularity,
- List<
GroupDefinition> ? groupBy, - int? maxResults,
- List<
String> ? metrics, - String? nextToken,
Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:
-
LINKED_ACCOUNT
-
REGION
-
SERVICE
-
INSTANCE_FAMILY
GetDimensionValues
operation.
May throw LimitExceededException. May throw DataUnavailableException. May throw InvalidNextTokenException.
Parameter timePeriod
:
The time period that you want the usage and costs for. The
Start
date must be within 13 months. The End
date must be after the Start
date, and before the current
date. Future dates can't be used as an End
date.
Parameter filter
:
Filters Savings Plans coverage data by dimensions. You can filter data for
Savings Plans usage with the following dimensions:
-
LINKED_ACCOUNT
-
REGION
-
SERVICE
-
INSTANCE_FAMILY
GetSavingsPlansCoverage
uses the same Expression
object as the other operations, but only AND
is supported
among each dimension. If there are multiple values for a dimension, they
are OR'd together.
Cost category is also supported.
Parameter granularity
:
The granularity of the Amazon Web Services cost data for your Savings
Plans. Granularity
can't be set if GroupBy
is
set.
The GetSavingsPlansCoverage
operation supports only
DAILY
and MONTHLY
granularities.
Parameter groupBy
:
You can group the data using the attributes INSTANCE_FAMILY
,
REGION
, or SERVICE
.
Parameter maxResults
:
The number of items to be returned in a response. The default is
20
, with a minimum value of 1
.
Parameter metrics
:
The measurement that you want your Savings Plans coverage reported in. The
only valid value is SpendCoveredBySavingsPlans
.
Parameter nextToken
:
The token to retrieve the next set of results. Amazon Web Services
provides the token when the response from a previous call has more results
than the maximum page size.
Implementation
Future<GetSavingsPlansCoverageResponse> getSavingsPlansCoverage({
required DateInterval timePeriod,
Expression? filter,
Granularity? granularity,
List<GroupDefinition>? groupBy,
int? maxResults,
List<String>? metrics,
String? nextToken,
}) async {
ArgumentError.checkNotNull(timePeriod, 'timePeriod');
_s.validateNumRange(
'maxResults',
maxResults,
1,
1152921504606846976,
);
_s.validateStringLength(
'nextToken',
nextToken,
0,
8192,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSInsightsIndexService.GetSavingsPlansCoverage'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'TimePeriod': timePeriod,
if (filter != null) 'Filter': filter,
if (granularity != null) 'Granularity': granularity.toValue(),
if (groupBy != null) 'GroupBy': groupBy,
if (maxResults != null) 'MaxResults': maxResults,
if (metrics != null) 'Metrics': metrics,
if (nextToken != null) 'NextToken': nextToken,
},
);
return GetSavingsPlansCoverageResponse.fromJson(jsonResponse.body);
}