/** * 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 Budgets { /** *

Use the Amazon Web Services Budgets API to plan your service usage, service * costs, and instance reservations. This API reference provides descriptions, * syntax, and usage examples for each of the actions and data types for the Amazon * Web Services Budgets feature.

Budgets provide you with a way to see the * following information:

  • How close your plan is to your budgeted * amount or to the free tier limits

  • Your usage-to-date, * including how much you've used of your Reserved Instances (RIs)

  • *

    Your current estimated charges from Amazon Web Services, and how much your * predicted usage will accrue in charges by the end of the month

  • *

    How much of your budget has been used

Amazon Web Services * updates your budget status several times a day. Budgets track your unblended * costs, subscriptions, refunds, and RIs. You can create the following types of * budgets:

  • Cost budgets - Plan how much you want to spend * on a service.

  • Usage budgets - Plan how much you want * to use one or more services.

  • RI utilization budgets - * Define a utilization threshold, and receive alerts when your RI usage falls * below that threshold. This lets you see if your RIs are unused or * under-utilized.

  • RI coverage budgets - Define a * coverage threshold, and receive alerts when the number of your instance hours * that are covered by RIs fall below that threshold. This lets you see how much of * your instance usage is covered by a reservation.

Service * Endpoint

The Amazon Web Services Budgets API provides the following * endpoint:

  • https://budgets.amazonaws.com

For * information about costs that are associated with the Amazon Web Services Budgets * API, see Amazon * Web Services Cost Management Pricing.

*/ class AWS_BUDGETS_API BudgetsClient : 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 BudgetsClientConfiguration ClientConfigurationType; typedef BudgetsEndpointProvider 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. */ BudgetsClient(const Aws::Budgets::BudgetsClientConfiguration& clientConfiguration = Aws::Budgets::BudgetsClientConfiguration(), 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. */ BudgetsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Budgets::BudgetsClientConfiguration& clientConfiguration = Aws::Budgets::BudgetsClientConfiguration()); /** * 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 */ BudgetsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Budgets::BudgetsClientConfiguration& clientConfiguration = Aws::Budgets::BudgetsClientConfiguration()); /* 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. */ BudgetsClient(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. */ BudgetsClient(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 */ BudgetsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~BudgetsClient(); /** *

Creates a budget and, if included, notifications and subscribers.

*

Only one of BudgetLimit or * PlannedBudgetLimits can be present in the syntax at one time. Use * the syntax that matches your case. The Request Syntax section shows the * BudgetLimit syntax. For PlannedBudgetLimits, see the * Examples * section.

See Also:

AWS * API Reference

*/ virtual Model::CreateBudgetOutcome CreateBudget(const Model::CreateBudgetRequest& request) const; /** * A Callable wrapper for CreateBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateBudgetOutcomeCallable CreateBudgetCallable(const CreateBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::CreateBudget, request); } /** * An Async wrapper for CreateBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateBudgetAsync(const CreateBudgetRequestT& request, const CreateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::CreateBudget, request, handler, context); } /** *

Creates a budget action.

See Also:

AWS * API Reference

*/ virtual Model::CreateBudgetActionOutcome CreateBudgetAction(const Model::CreateBudgetActionRequest& request) const; /** * A Callable wrapper for CreateBudgetAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateBudgetActionOutcomeCallable CreateBudgetActionCallable(const CreateBudgetActionRequestT& request) const { return SubmitCallable(&BudgetsClient::CreateBudgetAction, request); } /** * An Async wrapper for CreateBudgetAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateBudgetActionAsync(const CreateBudgetActionRequestT& request, const CreateBudgetActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::CreateBudgetAction, request, handler, context); } /** *

Creates a notification. You must create the budget before you create the * associated notification.

See Also:

AWS * API Reference

*/ virtual Model::CreateNotificationOutcome CreateNotification(const Model::CreateNotificationRequest& request) const; /** * A Callable wrapper for CreateNotification that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateNotificationOutcomeCallable CreateNotificationCallable(const CreateNotificationRequestT& request) const { return SubmitCallable(&BudgetsClient::CreateNotification, request); } /** * An Async wrapper for CreateNotification that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateNotificationAsync(const CreateNotificationRequestT& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::CreateNotification, request, handler, context); } /** *

Creates a subscriber. You must create the associated budget and notification * before you create the subscriber.

See Also:

AWS * API Reference

*/ virtual Model::CreateSubscriberOutcome CreateSubscriber(const Model::CreateSubscriberRequest& request) const; /** * A Callable wrapper for CreateSubscriber that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSubscriberOutcomeCallable CreateSubscriberCallable(const CreateSubscriberRequestT& request) const { return SubmitCallable(&BudgetsClient::CreateSubscriber, request); } /** * An Async wrapper for CreateSubscriber that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSubscriberAsync(const CreateSubscriberRequestT& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::CreateSubscriber, request, handler, context); } /** *

Deletes a budget. You can delete your budget at any time.

*

Deleting a budget also deletes the notifications and subscribers that are * associated with that budget.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBudgetOutcome DeleteBudget(const Model::DeleteBudgetRequest& request) const; /** * A Callable wrapper for DeleteBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBudgetOutcomeCallable DeleteBudgetCallable(const DeleteBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::DeleteBudget, request); } /** * An Async wrapper for DeleteBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBudgetAsync(const DeleteBudgetRequestT& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DeleteBudget, request, handler, context); } /** *

Deletes a budget action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBudgetActionOutcome DeleteBudgetAction(const Model::DeleteBudgetActionRequest& request) const; /** * A Callable wrapper for DeleteBudgetAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBudgetActionOutcomeCallable DeleteBudgetActionCallable(const DeleteBudgetActionRequestT& request) const { return SubmitCallable(&BudgetsClient::DeleteBudgetAction, request); } /** * An Async wrapper for DeleteBudgetAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBudgetActionAsync(const DeleteBudgetActionRequestT& request, const DeleteBudgetActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DeleteBudgetAction, request, handler, context); } /** *

Deletes a notification.

Deleting a notification also * deletes the subscribers that are associated with the notification.

*

See Also:

AWS * API Reference

*/ virtual Model::DeleteNotificationOutcome DeleteNotification(const Model::DeleteNotificationRequest& request) const; /** * A Callable wrapper for DeleteNotification that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteNotificationOutcomeCallable DeleteNotificationCallable(const DeleteNotificationRequestT& request) const { return SubmitCallable(&BudgetsClient::DeleteNotification, request); } /** * An Async wrapper for DeleteNotification that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteNotificationAsync(const DeleteNotificationRequestT& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DeleteNotification, request, handler, context); } /** *

Deletes a subscriber.

Deleting the last subscriber to a * notification also deletes the notification.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteSubscriberOutcome DeleteSubscriber(const Model::DeleteSubscriberRequest& request) const; /** * A Callable wrapper for DeleteSubscriber that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSubscriberOutcomeCallable DeleteSubscriberCallable(const DeleteSubscriberRequestT& request) const { return SubmitCallable(&BudgetsClient::DeleteSubscriber, request); } /** * An Async wrapper for DeleteSubscriber that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSubscriberAsync(const DeleteSubscriberRequestT& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DeleteSubscriber, request, handler, context); } /** *

Describes a budget.

The Request Syntax section shows the * BudgetLimit syntax. For PlannedBudgetLimits, see the * Examples * section.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetOutcome DescribeBudget(const Model::DescribeBudgetRequest& request) const; /** * A Callable wrapper for DescribeBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetOutcomeCallable DescribeBudgetCallable(const DescribeBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudget, request); } /** * An Async wrapper for DescribeBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetAsync(const DescribeBudgetRequestT& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudget, request, handler, context); } /** *

Describes a budget action detail.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetActionOutcome DescribeBudgetAction(const Model::DescribeBudgetActionRequest& request) const; /** * A Callable wrapper for DescribeBudgetAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetActionOutcomeCallable DescribeBudgetActionCallable(const DescribeBudgetActionRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetAction, request); } /** * An Async wrapper for DescribeBudgetAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetActionAsync(const DescribeBudgetActionRequestT& request, const DescribeBudgetActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetAction, request, handler, context); } /** *

Describes a budget action history detail.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetActionHistoriesOutcome DescribeBudgetActionHistories(const Model::DescribeBudgetActionHistoriesRequest& request) const; /** * A Callable wrapper for DescribeBudgetActionHistories that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetActionHistoriesOutcomeCallable DescribeBudgetActionHistoriesCallable(const DescribeBudgetActionHistoriesRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetActionHistories, request); } /** * An Async wrapper for DescribeBudgetActionHistories that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetActionHistoriesAsync(const DescribeBudgetActionHistoriesRequestT& request, const DescribeBudgetActionHistoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetActionHistories, request, handler, context); } /** *

Describes all of the budget actions for an account.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetActionsForAccountOutcome DescribeBudgetActionsForAccount(const Model::DescribeBudgetActionsForAccountRequest& request) const; /** * A Callable wrapper for DescribeBudgetActionsForAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetActionsForAccountOutcomeCallable DescribeBudgetActionsForAccountCallable(const DescribeBudgetActionsForAccountRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetActionsForAccount, request); } /** * An Async wrapper for DescribeBudgetActionsForAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetActionsForAccountAsync(const DescribeBudgetActionsForAccountRequestT& request, const DescribeBudgetActionsForAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetActionsForAccount, request, handler, context); } /** *

Describes all of the budget actions for a budget.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeBudgetActionsForBudgetOutcome DescribeBudgetActionsForBudget(const Model::DescribeBudgetActionsForBudgetRequest& request) const; /** * A Callable wrapper for DescribeBudgetActionsForBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetActionsForBudgetOutcomeCallable DescribeBudgetActionsForBudgetCallable(const DescribeBudgetActionsForBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetActionsForBudget, request); } /** * An Async wrapper for DescribeBudgetActionsForBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetActionsForBudgetAsync(const DescribeBudgetActionsForBudgetRequestT& request, const DescribeBudgetActionsForBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetActionsForBudget, request, handler, context); } /** *

Lists the budget names and notifications that are associated with an * account.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetNotificationsForAccountOutcome DescribeBudgetNotificationsForAccount(const Model::DescribeBudgetNotificationsForAccountRequest& request) const; /** * A Callable wrapper for DescribeBudgetNotificationsForAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetNotificationsForAccountOutcomeCallable DescribeBudgetNotificationsForAccountCallable(const DescribeBudgetNotificationsForAccountRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetNotificationsForAccount, request); } /** * An Async wrapper for DescribeBudgetNotificationsForAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetNotificationsForAccountAsync(const DescribeBudgetNotificationsForAccountRequestT& request, const DescribeBudgetNotificationsForAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetNotificationsForAccount, request, handler, context); } /** *

Describes the history for DAILY, MONTHLY, and * QUARTERLY budgets. Budget history isn't available for * ANNUAL budgets.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetPerformanceHistoryOutcome DescribeBudgetPerformanceHistory(const Model::DescribeBudgetPerformanceHistoryRequest& request) const; /** * A Callable wrapper for DescribeBudgetPerformanceHistory that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetPerformanceHistoryOutcomeCallable DescribeBudgetPerformanceHistoryCallable(const DescribeBudgetPerformanceHistoryRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgetPerformanceHistory, request); } /** * An Async wrapper for DescribeBudgetPerformanceHistory that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetPerformanceHistoryAsync(const DescribeBudgetPerformanceHistoryRequestT& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgetPerformanceHistory, request, handler, context); } /** *

Lists the budgets that are associated with an account.

The * Request Syntax section shows the BudgetLimit syntax. For * PlannedBudgetLimits, see the Examples * section.

See Also:

AWS * API Reference

*/ virtual Model::DescribeBudgetsOutcome DescribeBudgets(const Model::DescribeBudgetsRequest& request) const; /** * A Callable wrapper for DescribeBudgets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBudgetsOutcomeCallable DescribeBudgetsCallable(const DescribeBudgetsRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeBudgets, request); } /** * An Async wrapper for DescribeBudgets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBudgetsAsync(const DescribeBudgetsRequestT& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeBudgets, request, handler, context); } /** *

Lists the notifications that are associated with a budget.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeNotificationsForBudgetOutcome DescribeNotificationsForBudget(const Model::DescribeNotificationsForBudgetRequest& request) const; /** * A Callable wrapper for DescribeNotificationsForBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeNotificationsForBudgetOutcomeCallable DescribeNotificationsForBudgetCallable(const DescribeNotificationsForBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeNotificationsForBudget, request); } /** * An Async wrapper for DescribeNotificationsForBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeNotificationsForBudgetAsync(const DescribeNotificationsForBudgetRequestT& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeNotificationsForBudget, request, handler, context); } /** *

Lists the subscribers that are associated with a notification.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeSubscribersForNotificationOutcome DescribeSubscribersForNotification(const Model::DescribeSubscribersForNotificationRequest& request) const; /** * A Callable wrapper for DescribeSubscribersForNotification that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSubscribersForNotificationOutcomeCallable DescribeSubscribersForNotificationCallable(const DescribeSubscribersForNotificationRequestT& request) const { return SubmitCallable(&BudgetsClient::DescribeSubscribersForNotification, request); } /** * An Async wrapper for DescribeSubscribersForNotification that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSubscribersForNotificationAsync(const DescribeSubscribersForNotificationRequestT& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::DescribeSubscribersForNotification, request, handler, context); } /** *

Executes a budget action.

See Also:

AWS * API Reference

*/ virtual Model::ExecuteBudgetActionOutcome ExecuteBudgetAction(const Model::ExecuteBudgetActionRequest& request) const; /** * A Callable wrapper for ExecuteBudgetAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ExecuteBudgetActionOutcomeCallable ExecuteBudgetActionCallable(const ExecuteBudgetActionRequestT& request) const { return SubmitCallable(&BudgetsClient::ExecuteBudgetAction, request); } /** * An Async wrapper for ExecuteBudgetAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ExecuteBudgetActionAsync(const ExecuteBudgetActionRequestT& request, const ExecuteBudgetActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::ExecuteBudgetAction, request, handler, context); } /** *

Updates a budget. You can change every part of a budget except for the * budgetName and the calculatedSpend. When you modify a * budget, the calculatedSpend drops to zero until Amazon Web Services * has new usage data to use for forecasting.

Only one of * BudgetLimit or PlannedBudgetLimits can be present in * the syntax at one time. Use the syntax that matches your case. The Request * Syntax section shows the BudgetLimit syntax. For * PlannedBudgetLimits, see the Examples * section.

See Also:

AWS * API Reference

*/ virtual Model::UpdateBudgetOutcome UpdateBudget(const Model::UpdateBudgetRequest& request) const; /** * A Callable wrapper for UpdateBudget that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBudgetOutcomeCallable UpdateBudgetCallable(const UpdateBudgetRequestT& request) const { return SubmitCallable(&BudgetsClient::UpdateBudget, request); } /** * An Async wrapper for UpdateBudget that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBudgetAsync(const UpdateBudgetRequestT& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::UpdateBudget, request, handler, context); } /** *

Updates a budget action.

See Also:

AWS * API Reference

*/ virtual Model::UpdateBudgetActionOutcome UpdateBudgetAction(const Model::UpdateBudgetActionRequest& request) const; /** * A Callable wrapper for UpdateBudgetAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBudgetActionOutcomeCallable UpdateBudgetActionCallable(const UpdateBudgetActionRequestT& request) const { return SubmitCallable(&BudgetsClient::UpdateBudgetAction, request); } /** * An Async wrapper for UpdateBudgetAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBudgetActionAsync(const UpdateBudgetActionRequestT& request, const UpdateBudgetActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::UpdateBudgetAction, request, handler, context); } /** *

Updates a notification.

See Also:

AWS * API Reference

*/ virtual Model::UpdateNotificationOutcome UpdateNotification(const Model::UpdateNotificationRequest& request) const; /** * A Callable wrapper for UpdateNotification that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateNotificationOutcomeCallable UpdateNotificationCallable(const UpdateNotificationRequestT& request) const { return SubmitCallable(&BudgetsClient::UpdateNotification, request); } /** * An Async wrapper for UpdateNotification that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateNotificationAsync(const UpdateNotificationRequestT& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::UpdateNotification, request, handler, context); } /** *

Updates a subscriber.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSubscriberOutcome UpdateSubscriber(const Model::UpdateSubscriberRequest& request) const; /** * A Callable wrapper for UpdateSubscriber that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSubscriberOutcomeCallable UpdateSubscriberCallable(const UpdateSubscriberRequestT& request) const { return SubmitCallable(&BudgetsClient::UpdateSubscriber, request); } /** * An Async wrapper for UpdateSubscriber that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSubscriberAsync(const UpdateSubscriberRequestT& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BudgetsClient::UpdateSubscriber, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const BudgetsClientConfiguration& clientConfiguration); BudgetsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace Budgets } // namespace Aws