/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CostExplorer { /** *

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.

*/ class AWS_COSTEXPLORER_API CostExplorerClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef CostExplorerClientConfiguration ClientConfigurationType; typedef CostExplorerEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CostExplorerClient(const Aws::CostExplorer::CostExplorerClientConfiguration& clientConfiguration = Aws::CostExplorer::CostExplorerClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CostExplorerClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CostExplorer::CostExplorerClientConfiguration& clientConfiguration = Aws::CostExplorer::CostExplorerClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CostExplorerClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CostExplorer::CostExplorerClientConfiguration& clientConfiguration = Aws::CostExplorer::CostExplorerClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CostExplorerClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CostExplorerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CostExplorerClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~CostExplorerClient(); /** *

Creates a new cost anomaly detection monitor with the requested type and * monitor specification.

See Also:

AWS * API Reference

*/ virtual Model::CreateAnomalyMonitorOutcome CreateAnomalyMonitor(const Model::CreateAnomalyMonitorRequest& request) const; /** * A Callable wrapper for CreateAnomalyMonitor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAnomalyMonitorOutcomeCallable CreateAnomalyMonitorCallable(const CreateAnomalyMonitorRequestT& request) const { return SubmitCallable(&CostExplorerClient::CreateAnomalyMonitor, request); } /** * An Async wrapper for CreateAnomalyMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAnomalyMonitorAsync(const CreateAnomalyMonitorRequestT& request, const CreateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::CreateAnomalyMonitor, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateAnomalySubscriptionOutcome CreateAnomalySubscription(const Model::CreateAnomalySubscriptionRequest& request) const; /** * A Callable wrapper for CreateAnomalySubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAnomalySubscriptionOutcomeCallable CreateAnomalySubscriptionCallable(const CreateAnomalySubscriptionRequestT& request) const { return SubmitCallable(&CostExplorerClient::CreateAnomalySubscription, request); } /** * An Async wrapper for CreateAnomalySubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAnomalySubscriptionAsync(const CreateAnomalySubscriptionRequestT& request, const CreateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::CreateAnomalySubscription, request, handler, context); } /** *

Creates a new Cost Category with the requested name and rules.

See * Also:

AWS * API Reference

*/ virtual Model::CreateCostCategoryDefinitionOutcome CreateCostCategoryDefinition(const Model::CreateCostCategoryDefinitionRequest& request) const; /** * A Callable wrapper for CreateCostCategoryDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCostCategoryDefinitionOutcomeCallable CreateCostCategoryDefinitionCallable(const CreateCostCategoryDefinitionRequestT& request) const { return SubmitCallable(&CostExplorerClient::CreateCostCategoryDefinition, request); } /** * An Async wrapper for CreateCostCategoryDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCostCategoryDefinitionAsync(const CreateCostCategoryDefinitionRequestT& request, const CreateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::CreateCostCategoryDefinition, request, handler, context); } /** *

Deletes a cost anomaly monitor.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAnomalyMonitorOutcome DeleteAnomalyMonitor(const Model::DeleteAnomalyMonitorRequest& request) const; /** * A Callable wrapper for DeleteAnomalyMonitor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAnomalyMonitorOutcomeCallable DeleteAnomalyMonitorCallable(const DeleteAnomalyMonitorRequestT& request) const { return SubmitCallable(&CostExplorerClient::DeleteAnomalyMonitor, request); } /** * An Async wrapper for DeleteAnomalyMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAnomalyMonitorAsync(const DeleteAnomalyMonitorRequestT& request, const DeleteAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::DeleteAnomalyMonitor, request, handler, context); } /** *

Deletes a cost anomaly subscription.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAnomalySubscriptionOutcome DeleteAnomalySubscription(const Model::DeleteAnomalySubscriptionRequest& request) const; /** * A Callable wrapper for DeleteAnomalySubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAnomalySubscriptionOutcomeCallable DeleteAnomalySubscriptionCallable(const DeleteAnomalySubscriptionRequestT& request) const { return SubmitCallable(&CostExplorerClient::DeleteAnomalySubscription, request); } /** * An Async wrapper for DeleteAnomalySubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAnomalySubscriptionAsync(const DeleteAnomalySubscriptionRequestT& request, const DeleteAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::DeleteAnomalySubscription, request, handler, context); } /** *

Deletes a Cost Category. Expenses from this month going forward will no * longer be categorized with this Cost Category.

See Also:

AWS * API Reference

*/ virtual Model::DeleteCostCategoryDefinitionOutcome DeleteCostCategoryDefinition(const Model::DeleteCostCategoryDefinitionRequest& request) const; /** * A Callable wrapper for DeleteCostCategoryDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCostCategoryDefinitionOutcomeCallable DeleteCostCategoryDefinitionCallable(const DeleteCostCategoryDefinitionRequestT& request) const { return SubmitCallable(&CostExplorerClient::DeleteCostCategoryDefinition, request); } /** * An Async wrapper for DeleteCostCategoryDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCostCategoryDefinitionAsync(const DeleteCostCategoryDefinitionRequestT& request, const DeleteCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::DeleteCostCategoryDefinition, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeCostCategoryDefinitionOutcome DescribeCostCategoryDefinition(const Model::DescribeCostCategoryDefinitionRequest& request) const; /** * A Callable wrapper for DescribeCostCategoryDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCostCategoryDefinitionOutcomeCallable DescribeCostCategoryDefinitionCallable(const DescribeCostCategoryDefinitionRequestT& request) const { return SubmitCallable(&CostExplorerClient::DescribeCostCategoryDefinition, request); } /** * An Async wrapper for DescribeCostCategoryDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCostCategoryDefinitionAsync(const DescribeCostCategoryDefinitionRequestT& request, const DescribeCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::DescribeCostCategoryDefinition, request, handler, context); } /** *

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.

See Also:

AWS API * Reference

*/ virtual Model::GetAnomaliesOutcome GetAnomalies(const Model::GetAnomaliesRequest& request) const; /** * A Callable wrapper for GetAnomalies that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAnomaliesOutcomeCallable GetAnomaliesCallable(const GetAnomaliesRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetAnomalies, request); } /** * An Async wrapper for GetAnomalies that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAnomaliesAsync(const GetAnomaliesRequestT& request, const GetAnomaliesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetAnomalies, request, handler, context); } /** *

Retrieves the cost anomaly monitor definitions for your account. You can * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). *

See Also:

AWS * API Reference

*/ virtual Model::GetAnomalyMonitorsOutcome GetAnomalyMonitors(const Model::GetAnomalyMonitorsRequest& request) const; /** * A Callable wrapper for GetAnomalyMonitors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAnomalyMonitorsOutcomeCallable GetAnomalyMonitorsCallable(const GetAnomalyMonitorsRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetAnomalyMonitors, request); } /** * An Async wrapper for GetAnomalyMonitors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAnomalyMonitorsAsync(const GetAnomalyMonitorsRequestT& request, const GetAnomalyMonitorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetAnomalyMonitors, request, handler, context); } /** *

Retrieves the cost anomaly subscription objects for your account. You can * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). *

See Also:

AWS * API Reference

*/ virtual Model::GetAnomalySubscriptionsOutcome GetAnomalySubscriptions(const Model::GetAnomalySubscriptionsRequest& request) const; /** * A Callable wrapper for GetAnomalySubscriptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAnomalySubscriptionsOutcomeCallable GetAnomalySubscriptionsCallable(const GetAnomalySubscriptionsRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetAnomalySubscriptions, request); } /** * An Async wrapper for GetAnomalySubscriptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAnomalySubscriptionsAsync(const GetAnomalySubscriptionsRequestT& request, const GetAnomalySubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetAnomalySubscriptions, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetCostAndUsageOutcome GetCostAndUsage(const Model::GetCostAndUsageRequest& request) const; /** * A Callable wrapper for GetCostAndUsage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCostAndUsageOutcomeCallable GetCostAndUsageCallable(const GetCostAndUsageRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetCostAndUsage, request); } /** * An Async wrapper for GetCostAndUsage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCostAndUsageAsync(const GetCostAndUsageRequestT& request, const GetCostAndUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetCostAndUsage, request, handler, context); } /** *

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. This API is currently available for the Amazon Elastic * Compute Cloud – Compute service only.

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.

See Also:

AWS * API Reference

*/ virtual Model::GetCostAndUsageWithResourcesOutcome GetCostAndUsageWithResources(const Model::GetCostAndUsageWithResourcesRequest& request) const; /** * A Callable wrapper for GetCostAndUsageWithResources that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCostAndUsageWithResourcesOutcomeCallable GetCostAndUsageWithResourcesCallable(const GetCostAndUsageWithResourcesRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetCostAndUsageWithResources, request); } /** * An Async wrapper for GetCostAndUsageWithResources that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCostAndUsageWithResourcesAsync(const GetCostAndUsageWithResourcesRequestT& request, const GetCostAndUsageWithResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetCostAndUsageWithResources, request, handler, context); } /** *

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.

See Also:

* AWS * API Reference

*/ virtual Model::GetCostCategoriesOutcome GetCostCategories(const Model::GetCostCategoriesRequest& request) const; /** * A Callable wrapper for GetCostCategories that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCostCategoriesOutcomeCallable GetCostCategoriesCallable(const GetCostCategoriesRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetCostCategories, request); } /** * An Async wrapper for GetCostCategories that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCostCategoriesAsync(const GetCostCategoriesRequestT& request, const GetCostCategoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetCostCategories, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::GetCostForecastOutcome GetCostForecast(const Model::GetCostForecastRequest& request) const; /** * A Callable wrapper for GetCostForecast that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCostForecastOutcomeCallable GetCostForecastCallable(const GetCostForecastRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetCostForecast, request); } /** * An Async wrapper for GetCostForecast that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCostForecastAsync(const GetCostForecastRequestT& request, const GetCostForecastResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetCostForecast, request, handler, context); } /** *

Retrieves all available filter values for a specified filter over a period of * time. You can search the dimension values for an arbitrary string. *

See Also:

AWS * API Reference

*/ virtual Model::GetDimensionValuesOutcome GetDimensionValues(const Model::GetDimensionValuesRequest& request) const; /** * A Callable wrapper for GetDimensionValues that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDimensionValuesOutcomeCallable GetDimensionValuesCallable(const GetDimensionValuesRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetDimensionValues, request); } /** * An Async wrapper for GetDimensionValues that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDimensionValuesAsync(const GetDimensionValuesRequestT& request, const GetDimensionValuesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetDimensionValues, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::GetReservationCoverageOutcome GetReservationCoverage(const Model::GetReservationCoverageRequest& request) const; /** * A Callable wrapper for GetReservationCoverage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReservationCoverageOutcomeCallable GetReservationCoverageCallable(const GetReservationCoverageRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetReservationCoverage, request); } /** * An Async wrapper for GetReservationCoverage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReservationCoverageAsync(const GetReservationCoverageRequestT& request, const GetReservationCoverageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetReservationCoverage, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetReservationPurchaseRecommendationOutcome GetReservationPurchaseRecommendation(const Model::GetReservationPurchaseRecommendationRequest& request) const; /** * A Callable wrapper for GetReservationPurchaseRecommendation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReservationPurchaseRecommendationOutcomeCallable GetReservationPurchaseRecommendationCallable(const GetReservationPurchaseRecommendationRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetReservationPurchaseRecommendation, request); } /** * An Async wrapper for GetReservationPurchaseRecommendation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReservationPurchaseRecommendationAsync(const GetReservationPurchaseRecommendationRequestT& request, const GetReservationPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetReservationPurchaseRecommendation, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetReservationUtilizationOutcome GetReservationUtilization(const Model::GetReservationUtilizationRequest& request) const; /** * A Callable wrapper for GetReservationUtilization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReservationUtilizationOutcomeCallable GetReservationUtilizationCallable(const GetReservationUtilizationRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetReservationUtilization, request); } /** * An Async wrapper for GetReservationUtilization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReservationUtilizationAsync(const GetReservationUtilizationRequestT& request, const GetReservationUtilizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetReservationUtilization, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetRightsizingRecommendationOutcome GetRightsizingRecommendation(const Model::GetRightsizingRecommendationRequest& request) const; /** * A Callable wrapper for GetRightsizingRecommendation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetRightsizingRecommendationOutcomeCallable GetRightsizingRecommendationCallable(const GetRightsizingRecommendationRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetRightsizingRecommendation, request); } /** * An Async wrapper for GetRightsizingRecommendation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetRightsizingRecommendationAsync(const GetRightsizingRecommendationRequestT& request, const GetRightsizingRecommendationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetRightsizingRecommendation, request, handler, context); } /** *

Retrieves the details for a Savings Plan recommendation. These details * include the hourly data-points that construct the new cost, coverage, and * utilization charts.

See Also:

AWS * API Reference

*/ virtual Model::GetSavingsPlanPurchaseRecommendationDetailsOutcome GetSavingsPlanPurchaseRecommendationDetails(const Model::GetSavingsPlanPurchaseRecommendationDetailsRequest& request) const; /** * A Callable wrapper for GetSavingsPlanPurchaseRecommendationDetails that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSavingsPlanPurchaseRecommendationDetailsOutcomeCallable GetSavingsPlanPurchaseRecommendationDetailsCallable(const GetSavingsPlanPurchaseRecommendationDetailsRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetSavingsPlanPurchaseRecommendationDetails, request); } /** * An Async wrapper for GetSavingsPlanPurchaseRecommendationDetails that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSavingsPlanPurchaseRecommendationDetailsAsync(const GetSavingsPlanPurchaseRecommendationDetailsRequestT& request, const GetSavingsPlanPurchaseRecommendationDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetSavingsPlanPurchaseRecommendationDetails, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::GetSavingsPlansCoverageOutcome GetSavingsPlansCoverage(const Model::GetSavingsPlansCoverageRequest& request) const; /** * A Callable wrapper for GetSavingsPlansCoverage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSavingsPlansCoverageOutcomeCallable GetSavingsPlansCoverageCallable(const GetSavingsPlansCoverageRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetSavingsPlansCoverage, request); } /** * An Async wrapper for GetSavingsPlansCoverage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSavingsPlansCoverageAsync(const GetSavingsPlansCoverageRequestT& request, const GetSavingsPlansCoverageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetSavingsPlansCoverage, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetSavingsPlansPurchaseRecommendationOutcome GetSavingsPlansPurchaseRecommendation(const Model::GetSavingsPlansPurchaseRecommendationRequest& request) const; /** * A Callable wrapper for GetSavingsPlansPurchaseRecommendation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSavingsPlansPurchaseRecommendationOutcomeCallable GetSavingsPlansPurchaseRecommendationCallable(const GetSavingsPlansPurchaseRecommendationRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetSavingsPlansPurchaseRecommendation, request); } /** * An Async wrapper for GetSavingsPlansPurchaseRecommendation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSavingsPlansPurchaseRecommendationAsync(const GetSavingsPlansPurchaseRecommendationRequestT& request, const GetSavingsPlansPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetSavingsPlansPurchaseRecommendation, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetSavingsPlansUtilizationOutcome GetSavingsPlansUtilization(const Model::GetSavingsPlansUtilizationRequest& request) const; /** * A Callable wrapper for GetSavingsPlansUtilization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSavingsPlansUtilizationOutcomeCallable GetSavingsPlansUtilizationCallable(const GetSavingsPlansUtilizationRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetSavingsPlansUtilization, request); } /** * An Async wrapper for GetSavingsPlansUtilization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSavingsPlansUtilizationAsync(const GetSavingsPlansUtilizationRequestT& request, const GetSavingsPlansUtilizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetSavingsPlansUtilization, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetSavingsPlansUtilizationDetailsOutcome GetSavingsPlansUtilizationDetails(const Model::GetSavingsPlansUtilizationDetailsRequest& request) const; /** * A Callable wrapper for GetSavingsPlansUtilizationDetails that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSavingsPlansUtilizationDetailsOutcomeCallable GetSavingsPlansUtilizationDetailsCallable(const GetSavingsPlansUtilizationDetailsRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetSavingsPlansUtilizationDetails, request); } /** * An Async wrapper for GetSavingsPlansUtilizationDetails that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSavingsPlansUtilizationDetailsAsync(const GetSavingsPlansUtilizationDetailsRequestT& request, const GetSavingsPlansUtilizationDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetSavingsPlansUtilizationDetails, request, handler, context); } /** *

Queries for available tag keys and tag values for a specified period. You can * search the tag values for an arbitrary string.

See Also:

AWS API * Reference

*/ virtual Model::GetTagsOutcome GetTags(const Model::GetTagsRequest& request) const; /** * A Callable wrapper for GetTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetTagsOutcomeCallable GetTagsCallable(const GetTagsRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetTags, request); } /** * An Async wrapper for GetTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetTagsAsync(const GetTagsRequestT& request, const GetTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetTags, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::GetUsageForecastOutcome GetUsageForecast(const Model::GetUsageForecastRequest& request) const; /** * A Callable wrapper for GetUsageForecast that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetUsageForecastOutcomeCallable GetUsageForecastCallable(const GetUsageForecastRequestT& request) const { return SubmitCallable(&CostExplorerClient::GetUsageForecast, request); } /** * An Async wrapper for GetUsageForecast that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetUsageForecastAsync(const GetUsageForecastRequestT& request, const GetUsageForecastResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::GetUsageForecast, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::ListCostAllocationTagsOutcome ListCostAllocationTags(const Model::ListCostAllocationTagsRequest& request) const; /** * A Callable wrapper for ListCostAllocationTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCostAllocationTagsOutcomeCallable ListCostAllocationTagsCallable(const ListCostAllocationTagsRequestT& request) const { return SubmitCallable(&CostExplorerClient::ListCostAllocationTags, request); } /** * An Async wrapper for ListCostAllocationTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCostAllocationTagsAsync(const ListCostAllocationTagsRequestT& request, const ListCostAllocationTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::ListCostAllocationTags, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::ListCostCategoryDefinitionsOutcome ListCostCategoryDefinitions(const Model::ListCostCategoryDefinitionsRequest& request) const; /** * A Callable wrapper for ListCostCategoryDefinitions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCostCategoryDefinitionsOutcomeCallable ListCostCategoryDefinitionsCallable(const ListCostCategoryDefinitionsRequestT& request) const { return SubmitCallable(&CostExplorerClient::ListCostCategoryDefinitions, request); } /** * An Async wrapper for ListCostCategoryDefinitions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCostCategoryDefinitionsAsync(const ListCostCategoryDefinitionsRequestT& request, const ListCostCategoryDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::ListCostCategoryDefinitions, request, handler, context); } /** *

Retrieves a list of your historical recommendation generations within the * past 30 days.

See Also:

AWS * API Reference

*/ virtual Model::ListSavingsPlansPurchaseRecommendationGenerationOutcome ListSavingsPlansPurchaseRecommendationGeneration(const Model::ListSavingsPlansPurchaseRecommendationGenerationRequest& request) const; /** * A Callable wrapper for ListSavingsPlansPurchaseRecommendationGeneration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSavingsPlansPurchaseRecommendationGenerationOutcomeCallable ListSavingsPlansPurchaseRecommendationGenerationCallable(const ListSavingsPlansPurchaseRecommendationGenerationRequestT& request) const { return SubmitCallable(&CostExplorerClient::ListSavingsPlansPurchaseRecommendationGeneration, request); } /** * An Async wrapper for ListSavingsPlansPurchaseRecommendationGeneration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSavingsPlansPurchaseRecommendationGenerationAsync(const ListSavingsPlansPurchaseRecommendationGenerationRequestT& request, const ListSavingsPlansPurchaseRecommendationGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::ListSavingsPlansPurchaseRecommendationGeneration, request, handler, context); } /** *

Returns a list of resource tags associated with the resource specified by the * Amazon Resource Name (ARN).

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&CostExplorerClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::ListTagsForResource, request, handler, context); } /** *

Modifies the feedback property of a given cost anomaly.

See * Also:

AWS * API Reference

*/ virtual Model::ProvideAnomalyFeedbackOutcome ProvideAnomalyFeedback(const Model::ProvideAnomalyFeedbackRequest& request) const; /** * A Callable wrapper for ProvideAnomalyFeedback that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ProvideAnomalyFeedbackOutcomeCallable ProvideAnomalyFeedbackCallable(const ProvideAnomalyFeedbackRequestT& request) const { return SubmitCallable(&CostExplorerClient::ProvideAnomalyFeedback, request); } /** * An Async wrapper for ProvideAnomalyFeedback that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ProvideAnomalyFeedbackAsync(const ProvideAnomalyFeedbackRequestT& request, const ProvideAnomalyFeedbackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::ProvideAnomalyFeedback, request, handler, context); } /** *

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.

*

See Also:

AWS * API Reference

*/ virtual Model::StartSavingsPlansPurchaseRecommendationGenerationOutcome StartSavingsPlansPurchaseRecommendationGeneration(const Model::StartSavingsPlansPurchaseRecommendationGenerationRequest& request) const; /** * A Callable wrapper for StartSavingsPlansPurchaseRecommendationGeneration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartSavingsPlansPurchaseRecommendationGenerationOutcomeCallable StartSavingsPlansPurchaseRecommendationGenerationCallable(const StartSavingsPlansPurchaseRecommendationGenerationRequestT& request) const { return SubmitCallable(&CostExplorerClient::StartSavingsPlansPurchaseRecommendationGeneration, request); } /** * An Async wrapper for StartSavingsPlansPurchaseRecommendationGeneration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartSavingsPlansPurchaseRecommendationGenerationAsync(const StartSavingsPlansPurchaseRecommendationGenerationRequestT& request, const StartSavingsPlansPurchaseRecommendationGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::StartSavingsPlansPurchaseRecommendationGeneration, request, handler, context); } /** *

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.

See Also:

AWS API * Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&CostExplorerClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::TagResource, request, handler, context); } /** *

Removes one or more tags from a resource. Specify only tag keys in your * request. Don't specify the value.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&CostExplorerClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::UntagResource, request, handler, context); } /** *

Updates an existing cost anomaly monitor. The changes made are applied going * forward, and doesn't change anomalies detected in the past.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateAnomalyMonitorOutcome UpdateAnomalyMonitor(const Model::UpdateAnomalyMonitorRequest& request) const; /** * A Callable wrapper for UpdateAnomalyMonitor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateAnomalyMonitorOutcomeCallable UpdateAnomalyMonitorCallable(const UpdateAnomalyMonitorRequestT& request) const { return SubmitCallable(&CostExplorerClient::UpdateAnomalyMonitor, request); } /** * An Async wrapper for UpdateAnomalyMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateAnomalyMonitorAsync(const UpdateAnomalyMonitorRequestT& request, const UpdateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::UpdateAnomalyMonitor, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::UpdateAnomalySubscriptionOutcome UpdateAnomalySubscription(const Model::UpdateAnomalySubscriptionRequest& request) const; /** * A Callable wrapper for UpdateAnomalySubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateAnomalySubscriptionOutcomeCallable UpdateAnomalySubscriptionCallable(const UpdateAnomalySubscriptionRequestT& request) const { return SubmitCallable(&CostExplorerClient::UpdateAnomalySubscription, request); } /** * An Async wrapper for UpdateAnomalySubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateAnomalySubscriptionAsync(const UpdateAnomalySubscriptionRequestT& request, const UpdateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::UpdateAnomalySubscription, request, handler, context); } /** *

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).

See Also:

AWS * API Reference

*/ virtual Model::UpdateCostAllocationTagsStatusOutcome UpdateCostAllocationTagsStatus(const Model::UpdateCostAllocationTagsStatusRequest& request) const; /** * A Callable wrapper for UpdateCostAllocationTagsStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateCostAllocationTagsStatusOutcomeCallable UpdateCostAllocationTagsStatusCallable(const UpdateCostAllocationTagsStatusRequestT& request) const { return SubmitCallable(&CostExplorerClient::UpdateCostAllocationTagsStatus, request); } /** * An Async wrapper for UpdateCostAllocationTagsStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateCostAllocationTagsStatusAsync(const UpdateCostAllocationTagsStatusRequestT& request, const UpdateCostAllocationTagsStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::UpdateCostAllocationTagsStatus, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateCostCategoryDefinitionOutcome UpdateCostCategoryDefinition(const Model::UpdateCostCategoryDefinitionRequest& request) const; /** * A Callable wrapper for UpdateCostCategoryDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateCostCategoryDefinitionOutcomeCallable UpdateCostCategoryDefinitionCallable(const UpdateCostCategoryDefinitionRequestT& request) const { return SubmitCallable(&CostExplorerClient::UpdateCostCategoryDefinition, request); } /** * An Async wrapper for UpdateCostCategoryDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateCostCategoryDefinitionAsync(const UpdateCostCategoryDefinitionRequestT& request, const UpdateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CostExplorerClient::UpdateCostCategoryDefinition, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const CostExplorerClientConfiguration& clientConfiguration); CostExplorerClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace CostExplorer } // namespace Aws