CostExplorer class

The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

  • https://ce.us-east-1.amazonaws.com
For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing.

Constructors

CostExplorer({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createAnomalyMonitor({required AnomalyMonitor anomalyMonitor}) Future<CreateAnomalyMonitorResponse>
Creates a new cost anomaly detection monitor with the requested type and monitor specification.
createAnomalySubscription({required AnomalySubscription anomalySubscription}) Future<CreateAnomalySubscriptionResponse>
Adds a subscription to a cost anomaly detection monitor. You can use each subscription to define subscribers with email or SNS notifications. Email subscribers can set a dollar threshold and a time frequency for receiving notifications.
createCostCategoryDefinition({required String name, required CostCategoryRuleVersion ruleVersion, required List<CostCategoryRule> rules}) Future<CreateCostCategoryDefinitionResponse>
Creates a new Cost Category with the requested name and rules.
deleteAnomalyMonitor({required String monitorArn}) Future<void>
Deletes a cost anomaly monitor.
deleteAnomalySubscription({required String subscriptionArn}) Future<void>
Deletes a cost anomaly subscription.
deleteCostCategoryDefinition({required String costCategoryArn}) Future<DeleteCostCategoryDefinitionResponse>
Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category.
describeCostCategoryDefinition({required String costCategoryArn, String? effectiveOn}) Future<DescribeCostCategoryDefinitionResponse>
Returns the name, ARN, rules, definition, and effective dates of a Cost Category that's defined in the account.
getAnomalies({required AnomalyDateInterval dateInterval, AnomalyFeedbackType? feedback, int? maxResults, String? monitorArn, String? nextPageToken, TotalImpactFilter? totalImpact}) Future<GetAnomaliesResponse>
Retrieves all of the cost anomalies detected on your account, during the time period specified by the DateInterval object.
getAnomalyMonitors({int? maxResults, List<String>? monitorArnList, String? nextPageToken}) Future<GetAnomalyMonitorsResponse>
Retrieves the cost anomaly monitor definitions for your account. You can filter using a list of cost anomaly monitor Amazon Resource Names (ARNs).
getAnomalySubscriptions({int? maxResults, String? monitorArn, String? nextPageToken, List<String>? subscriptionArnList}) Future<GetAnomalySubscriptionsResponse>
Retrieves the cost anomaly subscription objects for your account. You can filter using a list of cost anomaly monitor Amazon Resource Names (ARNs).
getCostAndUsage({required List<String> metrics, required DateInterval timePeriod, Expression? filter, Granularity? granularity, List<GroupDefinition>? groupBy, String? nextPageToken}) Future<GetCostAndUsageResponse>
Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS Organizations have access to all member accounts.
getCostAndUsageWithResources({required Expression filter, required DateInterval timePeriod, Granularity? granularity, List<GroupDefinition>? groupBy, List<String>? metrics, String? nextPageToken}) Future<GetCostAndUsageWithResourcesResponse>
Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.
getCostForecast({required Granularity granularity, required Metric metric, required DateInterval timePeriod, Expression? filter, int? predictionIntervalLevel}) Future<GetCostForecastResponse>
Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs.
getDimensionValues({required Dimension dimension, required DateInterval timePeriod, Context? context, String? nextPageToken, String? searchString}) Future<GetDimensionValuesResponse>
Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.
getReservationCoverage({required DateInterval timePeriod, Expression? filter, Granularity? granularity, List<GroupDefinition>? groupBy, List<String>? metrics, String? nextPageToken}) Future<GetReservationCoverageResponse>
Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. 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 about reservation usage by the following dimensions:
getReservationPurchaseRecommendation({required String service, String? accountId, AccountScope? accountScope, LookbackPeriodInDays? lookbackPeriodInDays, String? nextPageToken, int? pageSize, PaymentOption? paymentOption, ServiceSpecification? serviceSpecification, TermInYears? termInYears}) Future<GetReservationPurchaseRecommendationResponse>
Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.
getReservationUtilization({required DateInterval timePeriod, Expression? filter, Granularity? granularity, List<GroupDefinition>? groupBy, String? nextPageToken}) Future<GetReservationUtilizationResponse>
Retrieves the reservation utilization for your account. Management account in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.
getRightsizingRecommendation({required String service, RightsizingRecommendationConfiguration? configuration, Expression? filter, String? nextPageToken, int? pageSize}) Future<GetRightsizingRecommendationResponse>
Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.
getSavingsPlansCoverage({required DateInterval timePeriod, Expression? filter, Granularity? granularity, List<GroupDefinition>? groupBy, int? maxResults, List<String>? metrics, String? nextToken}) Future<GetSavingsPlansCoverageResponse>
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:
getSavingsPlansPurchaseRecommendation({required LookbackPeriodInDays lookbackPeriodInDays, required PaymentOption paymentOption, required SupportedSavingsPlansType savingsPlansType, required TermInYears termInYears, AccountScope? accountScope, Expression? filter, String? nextPageToken, int? pageSize}) Future<GetSavingsPlansPurchaseRecommendationResponse>
Retrieves your request parameters, Savings Plan Recommendations Summary and Details.
getSavingsPlansUtilization({required DateInterval timePeriod, Expression? filter, Granularity? granularity}) Future<GetSavingsPlansUtilizationResponse>
Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.
getSavingsPlansUtilizationDetails({required DateInterval timePeriod, Expression? filter, int? maxResults, String? nextToken}) Future<GetSavingsPlansUtilizationDetailsResponse>
Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.
getTags({required DateInterval timePeriod, String? nextPageToken, String? searchString, String? tagKey}) Future<GetTagsResponse>
Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.
getUsageForecast({required Granularity granularity, required Metric metric, required DateInterval timePeriod, Expression? filter, int? predictionIntervalLevel}) Future<GetUsageForecastResponse>
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.
listCostCategoryDefinitions({String? effectiveOn, int? maxResults, String? nextToken}) Future<ListCostCategoryDefinitionsResponse>
Returns the name, ARN, NumberOfRules and effective dates of all Cost Categories defined in the account. You have the option to use EffectiveOn to return a list of Cost Categories that were active on a specific date. If there is no EffectiveOn specified, you’ll see Cost Categories that are effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response. ListCostCategoryDefinitions supports pagination. The request can have a MaxResults range up to 100.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
provideAnomalyFeedback({required String anomalyId, required AnomalyFeedbackType feedback}) Future<ProvideAnomalyFeedbackResponse>
Modifies the feedback property of a given cost anomaly.
toString() String
A string representation of this object.
inherited
updateAnomalyMonitor({required String monitorArn, String? monitorName}) Future<UpdateAnomalyMonitorResponse>
Updates an existing cost anomaly monitor. The changes made are applied going forward, and does not change anomalies detected in the past.
updateAnomalySubscription({required String subscriptionArn, AnomalySubscriptionFrequency? frequency, List<String>? monitorArnList, List<Subscriber>? subscribers, String? subscriptionName, double? threshold}) Future<UpdateAnomalySubscriptionResponse>
Updates an existing cost anomaly monitor subscription.
updateCostCategoryDefinition({required String costCategoryArn, required CostCategoryRuleVersion ruleVersion, required List<CostCategoryRule> rules}) Future<UpdateCostCategoryDefinitionResponse>
Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

Operators

operator ==(Object other) bool
The equality operator.
inherited