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
RunInstance
andCreateBucket
. - 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
GetDimensionValues
operation 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
SingleAZ
andMultiAZ
. -
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);
}