getDimensionValues method
- required Dimension dimension,
- required DateInterval timePeriod,
- Context? context,
- String? nextPageToken,
- String? searchString,
Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.
May throw LimitExceededException. May throw BillExpirationException. May throw DataUnavailableException. May throw InvalidNextTokenException. May throw RequestChangedException.
Parameter dimension :
The name of the dimension. Each Dimension is available for a
different Context. For more information, see
Context.
Parameter timePeriod :
The start and end dates for retrieving the dimension values. The start
date is inclusive, but the end date is exclusive. 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.
Parameter context :
The context for the call to GetDimensionValues. This can be
RESERVATIONS or COST_AND_USAGE. The default
value is COST_AND_USAGE. If the context is set to
RESERVATIONS, the resulting dimension values can be used in
the GetReservationUtilization operation. If the context is
set to COST_AND_USAGE, the resulting dimension values can be
used in the GetCostAndUsage operation.
If you set the context to COST_AND_USAGE, you can use the
following dimensions for searching:
-
AZ - The Availability Zone. An example is
us-east-1a. - DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.
-
INSTANCE_TYPE - The type of Amazon EC2 instance. An example is
m4.xlarge. - LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.
- LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.
- OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.
-
OPERATION - The action performed. Examples include
RunInstanceandCreateBucket. - PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
- PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.
- SERVICE - The AWS service such as Amazon DynamoDB.
-
USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The
response for the
GetDimensionValuesoperation includes a unit attribute. Examples include GB and Hrs. - USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.
- REGION - The AWS Region.
- RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.
- RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.
RESERVATIONS, you can use the
following dimensions for searching:
-
AZ - The Availability Zone. An example is
us-east-1a. - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.
-
DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service
deployments. Valid values are
SingleAZandMultiAZ. -
INSTANCE_TYPE - The type of Amazon EC2 instance. An example is
m4.xlarge. - LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.
- PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
- REGION - The AWS Region.
- SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.
- TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).
- TENANCY - The tenancy of a resource. Examples are shared or dedicated.
SAVINGS_PLANS, you can use the
following dimensions for searching:
- SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)
- PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)
- REGION - The AWS Region.
-
INSTANCE_TYPE_FAMILY - The family of instances (For example,
m5) - LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.
- SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan
Parameter nextPageToken :
The token to retrieve the next set of results. AWS provides the token when
the response from a previous call has more results than the maximum page
size.
Parameter searchString :
The value that you want to search the filter values for.
Implementation
Future<GetDimensionValuesResponse> getDimensionValues({
required Dimension dimension,
required DateInterval timePeriod,
Context? context,
String? nextPageToken,
String? searchString,
}) async {
ArgumentError.checkNotNull(dimension, 'dimension');
ArgumentError.checkNotNull(timePeriod, 'timePeriod');
_s.validateStringLength(
'nextPageToken',
nextPageToken,
0,
8192,
);
_s.validateStringLength(
'searchString',
searchString,
0,
1024,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSInsightsIndexService.GetDimensionValues'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Dimension': dimension.toValue(),
'TimePeriod': timePeriod,
if (context != null) 'Context': context.toValue(),
if (nextPageToken != null) 'NextPageToken': nextPageToken,
if (searchString != null) 'SearchString': searchString,
},
);
return GetDimensionValuesResponse.fromJson(jsonResponse.body);
}