
com.amazonaws.services.costexplorer.AWSCostExplorer Maven / Gradle / Ivy
Show all versions of aws-java-sdk-costexplorer Show documentation
/*
* Copyright 2020-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.costexplorer;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.costexplorer.model.*;
/**
* Interface for accessing AWS Cost Explorer.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.costexplorer.AbstractAWSCostExplorer} instead.
*
*
*
* You can use the Cost Explorer API 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. This might include 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 the costs that are associated with the Cost Explorer API, see Amazon Web Services Cost Management Pricing.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSCostExplorer {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "ce";
/**
*
* Creates a new cost anomaly detection monitor with the requested type and monitor specification.
*
*
* @param createAnomalyMonitorRequest
* @return Result of the CreateAnomalyMonitor operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.CreateAnomalyMonitor
* @see AWS API
* Documentation
*/
CreateAnomalyMonitorResult createAnomalyMonitor(CreateAnomalyMonitorRequest createAnomalyMonitorRequest);
/**
*
* Adds an alert subscription to a cost anomaly detection monitor. You can use each subscription to define
* subscribers with email or SNS notifications. Email subscribers can set an absolute or percentage threshold and a
* time frequency for receiving notifications.
*
*
* @param createAnomalySubscriptionRequest
* @return Result of the CreateAnomalySubscription operation returned by the service.
* @throws UnknownMonitorException
* The cost anomaly monitor does not exist for the account.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.CreateAnomalySubscription
* @see AWS
* API Documentation
*/
CreateAnomalySubscriptionResult createAnomalySubscription(CreateAnomalySubscriptionRequest createAnomalySubscriptionRequest);
/**
*
* Creates a new Cost Category with the requested name and rules.
*
*
* @param createCostCategoryDefinitionRequest
* @return Result of the CreateCostCategoryDefinition operation returned by the service.
* @throws ServiceQuotaExceededException
* You've reached the limit on the number of resources you can create, or exceeded the size of an individual
* resource.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.CreateCostCategoryDefinition
* @see AWS API Documentation
*/
CreateCostCategoryDefinitionResult createCostCategoryDefinition(CreateCostCategoryDefinitionRequest createCostCategoryDefinitionRequest);
/**
*
* Deletes a cost anomaly monitor.
*
*
* @param deleteAnomalyMonitorRequest
* @return Result of the DeleteAnomalyMonitor operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownMonitorException
* The cost anomaly monitor does not exist for the account.
* @sample AWSCostExplorer.DeleteAnomalyMonitor
* @see AWS API
* Documentation
*/
DeleteAnomalyMonitorResult deleteAnomalyMonitor(DeleteAnomalyMonitorRequest deleteAnomalyMonitorRequest);
/**
*
* Deletes a cost anomaly subscription.
*
*
* @param deleteAnomalySubscriptionRequest
* @return Result of the DeleteAnomalySubscription operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownSubscriptionException
* The cost anomaly subscription does not exist for the account.
* @sample AWSCostExplorer.DeleteAnomalySubscription
* @see AWS
* API Documentation
*/
DeleteAnomalySubscriptionResult deleteAnomalySubscription(DeleteAnomalySubscriptionRequest deleteAnomalySubscriptionRequest);
/**
*
* Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost
* Category.
*
*
* @param deleteCostCategoryDefinitionRequest
* @return Result of the DeleteCostCategoryDefinition operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.DeleteCostCategoryDefinition
* @see AWS API Documentation
*/
DeleteCostCategoryDefinitionResult deleteCostCategoryDefinition(DeleteCostCategoryDefinitionRequest deleteCostCategoryDefinitionRequest);
/**
*
* Returns the name, Amazon Resource Name (ARN), rules, definition, and effective dates of a Cost Category that's
* defined in the account.
*
*
* You have the option to use EffectiveOn
to return a Cost Category that's active on a specific date.
* If there's no EffectiveOn
specified, you see a Cost Category that's effective on the current date.
* If Cost Category is still effective, EffectiveEnd
is omitted in the response.
*
*
* @param describeCostCategoryDefinitionRequest
* @return Result of the DescribeCostCategoryDefinition operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.DescribeCostCategoryDefinition
* @see AWS API Documentation
*/
DescribeCostCategoryDefinitionResult describeCostCategoryDefinition(DescribeCostCategoryDefinitionRequest describeCostCategoryDefinitionRequest);
/**
*
* Retrieves all of the cost anomalies detected on your account during the time period that's specified by the
* DateInterval
object. Anomalies are available for up to 90 days.
*
*
* @param getAnomaliesRequest
* @return Result of the GetAnomalies operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetAnomalies
* @see AWS API
* Documentation
*/
GetAnomaliesResult getAnomalies(GetAnomaliesRequest getAnomaliesRequest);
/**
*
* Retrieves the cost anomaly monitor definitions for your account. You can filter using a list of cost anomaly
* monitor Amazon Resource Names (ARNs).
*
*
* @param getAnomalyMonitorsRequest
* @return Result of the GetAnomalyMonitors operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownMonitorException
* The cost anomaly monitor does not exist for the account.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetAnomalyMonitors
* @see AWS API
* Documentation
*/
GetAnomalyMonitorsResult getAnomalyMonitors(GetAnomalyMonitorsRequest getAnomalyMonitorsRequest);
/**
*
* Retrieves the cost anomaly subscription objects for your account. You can filter using a list of cost anomaly
* monitor Amazon Resource Names (ARNs).
*
*
* @param getAnomalySubscriptionsRequest
* @return Result of the GetAnomalySubscriptions operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownSubscriptionException
* The cost anomaly subscription does not exist for the account.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetAnomalySubscriptions
* @see AWS API
* Documentation
*/
GetAnomalySubscriptionsResult getAnomalySubscriptions(GetAnomalySubscriptionsRequest getAnomalySubscriptionsRequest);
/**
*
* Retrieves estimated usage records for hourly granularity or resource-level data at daily granularity.
*
*
* @param getApproximateUsageRecordsRequest
* @return Result of the GetApproximateUsageRecords operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.GetApproximateUsageRecords
* @see AWS
* API Documentation
*/
GetApproximateUsageRecordsResult getApproximateUsageRecords(GetApproximateUsageRecordsRequest getApproximateUsageRecordsRequest);
/**
*
* Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric that you
* want the request to return. For example, you can specify BlendedCosts
or UsageQuantity
.
* 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 Organizations have access to all
* member accounts.
*
*
* For information about filter limitations, see Quotas and
* restrictions in the Billing and Cost Management User Guide.
*
*
* @param getCostAndUsageRequest
* @return Result of the GetCostAndUsage operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BillExpirationException
* The requested report expired. Update the date interval and try again.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws RequestChangedException
* Your request parameters changed between pages. Try again with the old parameters or without a pagination
* token.
* @sample AWSCostExplorer.GetCostAndUsage
* @see AWS API
* Documentation
*/
GetCostAndUsageResult getCostAndUsage(GetCostAndUsageRequest getCostAndUsageRequest);
/**
*
* 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 Organizations have access to all
* member accounts.
*
*
* Hourly granularity is only available for EC2-Instances (Elastic Compute Cloud) resource-level data. All other
* resource-level data is available at daily granularity.
*
*
*
* This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information
* about how to access the Settings page, see Controlling Access for Cost
* Explorer in the Billing and Cost Management User Guide.
*
*
*
* @param getCostAndUsageWithResourcesRequest
* @return Result of the GetCostAndUsageWithResources operation returned by the service.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BillExpirationException
* The requested report expired. Update the date interval and try again.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws RequestChangedException
* Your request parameters changed between pages. Try again with the old parameters or without a pagination
* token.
* @sample AWSCostExplorer.GetCostAndUsageWithResources
* @see AWS API Documentation
*/
GetCostAndUsageWithResourcesResult getCostAndUsageWithResources(GetCostAndUsageWithResourcesRequest getCostAndUsageWithResourcesRequest);
/**
*
* Retrieves an array of Cost Category names and values incurred cost.
*
*
*
* If some Cost Category names and values are not associated with any cost, they will not be returned by this API.
*
*
*
* @param getCostCategoriesRequest
* @return Result of the GetCostCategories operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BillExpirationException
* The requested report expired. Update the date interval and try again.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws RequestChangedException
* Your request parameters changed between pages. Try again with the old parameters or without a pagination
* token.
* @sample AWSCostExplorer.GetCostCategories
* @see AWS API
* Documentation
*/
GetCostCategoriesResult getCostCategories(GetCostCategoriesRequest getCostCategoriesRequest);
/**
*
* 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.
*
*
* @param getCostForecastRequest
* @return Result of the GetCostForecast operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.GetCostForecast
* @see AWS API
* Documentation
*/
GetCostForecastResult getCostForecast(GetCostForecastRequest getCostForecastRequest);
/**
*
* Retrieves all available filter values for a specified filter over a period of time. You can search the dimension
* values for an arbitrary string.
*
*
* @param getDimensionValuesRequest
* @return Result of the GetDimensionValues operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BillExpirationException
* The requested report expired. Update the date interval and try again.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws RequestChangedException
* Your request parameters changed between pages. Try again with the old parameters or without a pagination
* token.
* @sample AWSCostExplorer.GetDimensionValues
* @see AWS API
* Documentation
*/
GetDimensionValuesResult getDimensionValues(GetDimensionValuesRequest getDimensionValuesRequest);
/**
*
* Retrieves the reservation coverage for your account, which you can use 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:
*
*
* -
*
* AZ
*
*
* -
*
* CACHE_ENGINE
*
*
* -
*
* DATABASE_ENGINE
*
*
* -
*
* DEPLOYMENT_OPTION
*
*
* -
*
* INSTANCE_TYPE
*
*
* -
*
* LINKED_ACCOUNT
*
*
* -
*
* OPERATING_SYSTEM
*
*
* -
*
* PLATFORM
*
*
* -
*
* REGION
*
*
* -
*
* SERVICE
*
*
* -
*
* TAG
*
*
* -
*
* TENANCY
*
*
*
*
* To determine valid values for a dimension, use the GetDimensionValues
operation.
*
*
* @param getReservationCoverageRequest
* You can use the following request parameters to query for how much of your instance usage a reservation
* covered.
* @return Result of the GetReservationCoverage operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetReservationCoverage
* @see AWS API
* Documentation
*/
GetReservationCoverageResult getReservationCoverage(GetReservationCoverageRequest getReservationCoverageRequest);
/**
*
* Gets recommendations for reservation purchases. These recommendations might help you to reduce your costs.
* Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.
*
*
* Amazon Web Services generates your recommendations by identifying your On-Demand usage during a specific time
* period and collecting your usage into categories that are eligible for a reservation. After Amazon Web Services
* has these categories, it simulates every combination of reservations in each category of usage to identify the
* best number of each type of Reserved Instance (RI) to purchase to maximize your estimated savings.
*
*
* For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family
* usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to
* the c4 family usage. Amazon Web Services recommends the smallest size instance in an instance family. This makes
* it easier to purchase a size-flexible Reserved Instance (RI). Amazon Web Services also shows the equal number of
* normalized units. This way, you can purchase any instance size that you want. For this example, your RI
* recommendation is for c4.large
because that is the smallest size instance in the c4 instance family.
*
*
* @param getReservationPurchaseRecommendationRequest
* @return Result of the GetReservationPurchaseRecommendation operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetReservationPurchaseRecommendation
* @see AWS API Documentation
*/
GetReservationPurchaseRecommendationResult getReservationPurchaseRecommendation(
GetReservationPurchaseRecommendationRequest getReservationPurchaseRecommendationRequest);
/**
*
* 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
.
*
*
* @param getReservationUtilizationRequest
* @return Result of the GetReservationUtilization operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetReservationUtilization
* @see AWS
* API Documentation
*/
GetReservationUtilizationResult getReservationUtilization(GetReservationUtilizationRequest getReservationUtilizationRequest);
/**
*
* Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.
*
*
* Recommendations are generated to either downsize or terminate instances, along with providing savings detail and
* metrics. For more information about calculation and function, see Optimizing Your Cost with
* Rightsizing Recommendations in the Billing and Cost Management User Guide.
*
*
* @param getRightsizingRecommendationRequest
* @return Result of the GetRightsizingRecommendation operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetRightsizingRecommendation
* @see AWS API Documentation
*/
GetRightsizingRecommendationResult getRightsizingRecommendation(GetRightsizingRecommendationRequest getRightsizingRecommendationRequest);
/**
*
* Retrieves the details for a Savings Plan recommendation. These details include the hourly data-points that
* construct the cost, coverage, and utilization charts.
*
*
* @param getSavingsPlanPurchaseRecommendationDetailsRequest
* @return Result of the GetSavingsPlanPurchaseRecommendationDetails operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.GetSavingsPlanPurchaseRecommendationDetails
* @see AWS API Documentation
*/
GetSavingsPlanPurchaseRecommendationDetailsResult getSavingsPlanPurchaseRecommendationDetails(
GetSavingsPlanPurchaseRecommendationDetailsRequest getSavingsPlanPurchaseRecommendationDetailsRequest);
/**
*
* 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
*
*
*
*
* To determine valid values for a dimension, use the GetDimensionValues
operation.
*
*
* @param getSavingsPlansCoverageRequest
* @return Result of the GetSavingsPlansCoverage operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetSavingsPlansCoverage
* @see AWS API
* Documentation
*/
GetSavingsPlansCoverageResult getSavingsPlansCoverage(GetSavingsPlansCoverageRequest getSavingsPlansCoverageRequest);
/**
*
* Retrieves the Savings Plans recommendations for your account. First use
* StartSavingsPlansPurchaseRecommendationGeneration
to generate a new set of recommendations, and then
* use GetSavingsPlansPurchaseRecommendation
to retrieve them.
*
*
* @param getSavingsPlansPurchaseRecommendationRequest
* @return Result of the GetSavingsPlansPurchaseRecommendation operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetSavingsPlansPurchaseRecommendation
* @see AWS API Documentation
*/
GetSavingsPlansPurchaseRecommendationResult getSavingsPlansPurchaseRecommendation(
GetSavingsPlansPurchaseRecommendationRequest getSavingsPlansPurchaseRecommendationRequest);
/**
*
* 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.
*
*
*
* You can't group by any dimension values for GetSavingsPlansUtilization
.
*
*
*
* @param getSavingsPlansUtilizationRequest
* @return Result of the GetSavingsPlansUtilization operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.GetSavingsPlansUtilization
* @see AWS
* API Documentation
*/
GetSavingsPlansUtilizationResult getSavingsPlansUtilization(GetSavingsPlansUtilizationRequest getSavingsPlansUtilizationRequest);
/**
*
* 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.
*
*
*
* GetSavingsPlanUtilizationDetails
internally groups data by SavingsPlansArn
.
*
*
*
* @param getSavingsPlansUtilizationDetailsRequest
* @return Result of the GetSavingsPlansUtilizationDetails operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.GetSavingsPlansUtilizationDetails
* @see AWS API Documentation
*/
GetSavingsPlansUtilizationDetailsResult getSavingsPlansUtilizationDetails(GetSavingsPlansUtilizationDetailsRequest getSavingsPlansUtilizationDetailsRequest);
/**
*
* Queries for available tag keys and tag values for a specified period. You can search the tag values for an
* arbitrary string.
*
*
* @param getTagsRequest
* @return Result of the GetTags operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BillExpirationException
* The requested report expired. Update the date interval and try again.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws RequestChangedException
* Your request parameters changed between pages. Try again with the old parameters or without a pagination
* token.
* @sample AWSCostExplorer.GetTags
* @see AWS API
* Documentation
*/
GetTagsResult getTags(GetTagsRequest getTagsRequest);
/**
*
* 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.
*
*
* @param getUsageForecastRequest
* @return Result of the GetUsageForecast operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws DataUnavailableException
* The requested data is unavailable.
* @throws UnresolvableUsageUnitException
* Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup
filter
* selections that contain matching units, for example: hours
.
* @sample AWSCostExplorer.GetUsageForecast
* @see AWS API
* Documentation
*/
GetUsageForecastResult getUsageForecast(GetUsageForecastRequest getUsageForecastRequest);
/**
*
* Retrieves a list of your historical cost allocation tag backfill requests.
*
*
* @param listCostAllocationTagBackfillHistoryRequest
* @return Result of the ListCostAllocationTagBackfillHistory operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.ListCostAllocationTagBackfillHistory
* @see AWS API Documentation
*/
ListCostAllocationTagBackfillHistoryResult listCostAllocationTagBackfillHistory(
ListCostAllocationTagBackfillHistoryRequest listCostAllocationTagBackfillHistoryRequest);
/**
*
* Get a list of cost allocation tags. All inputs in the API are optional and serve as filters. By default, all cost
* allocation tags are returned.
*
*
* @param listCostAllocationTagsRequest
* @return Result of the ListCostAllocationTags operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @sample AWSCostExplorer.ListCostAllocationTags
* @see AWS API
* Documentation
*/
ListCostAllocationTagsResult listCostAllocationTags(ListCostAllocationTagsRequest listCostAllocationTagsRequest);
/**
*
* Returns the name, Amazon Resource 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.
*
*
* @param listCostCategoryDefinitionsRequest
* @return Result of the ListCostCategoryDefinitions operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.ListCostCategoryDefinitions
* @see AWS
* API Documentation
*/
ListCostCategoryDefinitionsResult listCostCategoryDefinitions(ListCostCategoryDefinitionsRequest listCostCategoryDefinitionsRequest);
/**
*
* Retrieves a list of your historical recommendation generations within the past 30 days.
*
*
* @param listSavingsPlansPurchaseRecommendationGenerationRequest
* @return Result of the ListSavingsPlansPurchaseRecommendationGeneration operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws InvalidNextTokenException
* The pagination token is invalid. Try again without a pagination token.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.ListSavingsPlansPurchaseRecommendationGeneration
* @see AWS API Documentation
*/
ListSavingsPlansPurchaseRecommendationGenerationResult listSavingsPlansPurchaseRecommendationGeneration(
ListSavingsPlansPurchaseRecommendationGenerationRequest listSavingsPlansPurchaseRecommendationGenerationRequest);
/**
*
* Returns a list of resource tags associated with the resource specified by the Amazon Resource Name (ARN).
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.ListTagsForResource
* @see AWS API
* Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Modifies the feedback property of a given cost anomaly.
*
*
* @param provideAnomalyFeedbackRequest
* @return Result of the ProvideAnomalyFeedback operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.ProvideAnomalyFeedback
* @see AWS API
* Documentation
*/
ProvideAnomalyFeedbackResult provideAnomalyFeedback(ProvideAnomalyFeedbackRequest provideAnomalyFeedbackRequest);
/**
*
* Request a cost allocation tag backfill. This will backfill the activation status (either active
or
* inactive
) for all tag keys from para:BackfillFrom
up to the when this request is made.
*
*
* You can request a backfill once every 24 hours.
*
*
* @param startCostAllocationTagBackfillRequest
* @return Result of the StartCostAllocationTagBackfill operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws BackfillLimitExceededException
* A request to backfill is already in progress. Once the previous request is complete, you can create
* another request.
* @sample AWSCostExplorer.StartCostAllocationTagBackfill
* @see AWS API Documentation
*/
StartCostAllocationTagBackfillResult startCostAllocationTagBackfill(StartCostAllocationTagBackfillRequest startCostAllocationTagBackfillRequest);
/**
*
* Requests a Savings Plans recommendation generation. This enables you to calculate a fresh set of Savings Plans
* recommendations that takes your latest usage data and current Savings Plans inventory into account. You can
* refresh Savings Plans recommendations up to three times daily for a consolidated billing family.
*
*
*
* StartSavingsPlansPurchaseRecommendationGeneration
has no request syntax because no input parameters
* are needed to support this operation.
*
*
*
* @param startSavingsPlansPurchaseRecommendationGenerationRequest
* @return Result of the StartSavingsPlansPurchaseRecommendationGeneration operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws ServiceQuotaExceededException
* You've reached the limit on the number of resources you can create, or exceeded the size of an individual
* resource.
* @throws GenerationExistsException
* A request to generate a recommendation is already in progress.
* @throws DataUnavailableException
* The requested data is unavailable.
* @sample AWSCostExplorer.StartSavingsPlansPurchaseRecommendationGeneration
* @see AWS API Documentation
*/
StartSavingsPlansPurchaseRecommendationGenerationResult startSavingsPlansPurchaseRecommendationGeneration(
StartSavingsPlansPurchaseRecommendationGenerationRequest startSavingsPlansPurchaseRecommendationGenerationRequest);
/**
*
* An API operation for adding one or more tags (key-value pairs) to a resource.
*
*
* You can use the TagResource
operation with a resource that already has tags. If you specify a new
* tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a
* tag key that is already associated with the resource, the new tag value you specify replaces the previous value
* for that tag.
*
*
* Although the maximum number of array members is 200, user-tag maximum is 50. The remaining are reserved for
* Amazon Web Services use.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws TooManyTagsException
* Can occur if you specify a number of tags for a resource greater than the maximum 50 user tags per
* resource.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes one or more tags from a resource. Specify only tag keys in your request. Don't specify the value.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates an existing cost anomaly monitor. The changes made are applied going forward, and doesn't change
* anomalies detected in the past.
*
*
* @param updateAnomalyMonitorRequest
* @return Result of the UpdateAnomalyMonitor operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownMonitorException
* The cost anomaly monitor does not exist for the account.
* @sample AWSCostExplorer.UpdateAnomalyMonitor
* @see AWS API
* Documentation
*/
UpdateAnomalyMonitorResult updateAnomalyMonitor(UpdateAnomalyMonitorRequest updateAnomalyMonitorRequest);
/**
*
* Updates an existing cost anomaly subscription. Specify the fields that you want to update. Omitted fields are
* unchanged.
*
*
*
* The JSON below describes the generic construct for each type. See Request Parameters for possible values as they apply to AnomalySubscription
.
*
*
*
* @param updateAnomalySubscriptionRequest
* @return Result of the UpdateAnomalySubscription operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @throws UnknownMonitorException
* The cost anomaly monitor does not exist for the account.
* @throws UnknownSubscriptionException
* The cost anomaly subscription does not exist for the account.
* @sample AWSCostExplorer.UpdateAnomalySubscription
* @see AWS
* API Documentation
*/
UpdateAnomalySubscriptionResult updateAnomalySubscription(UpdateAnomalySubscriptionRequest updateAnomalySubscriptionRequest);
/**
*
* Updates status for cost allocation tags in bulk, with maximum batch size of 20. If the tag status that's updated
* is the same as the existing tag status, the request doesn't fail. Instead, it doesn't have any effect on the tag
* status (for example, activating the active tag).
*
*
* @param updateCostAllocationTagsStatusRequest
* @return Result of the UpdateCostAllocationTagsStatus operation returned by the service.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.UpdateCostAllocationTagsStatus
* @see AWS API Documentation
*/
UpdateCostAllocationTagsStatusResult updateCostAllocationTagsStatus(UpdateCostAllocationTagsStatusRequest updateCostAllocationTagsStatusRequest);
/**
*
* 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.
*
*
* @param updateCostCategoryDefinitionRequest
* @return Result of the UpdateCostCategoryDefinition operation returned by the service.
* @throws ResourceNotFoundException
* The specified ARN in the request doesn't exist.
* @throws ServiceQuotaExceededException
* You've reached the limit on the number of resources you can create, or exceeded the size of an individual
* resource.
* @throws LimitExceededException
* You made too many calls in a short period of time. Try again later.
* @sample AWSCostExplorer.UpdateCostCategoryDefinition
* @see AWS API Documentation
*/
UpdateCostCategoryDefinitionResult updateCostCategoryDefinition(UpdateCostCategoryDefinitionRequest updateCostCategoryDefinitionRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}