/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace Budgets
{
namespace Model
{
class CreateBudgetRequest;
class CreateNotificationRequest;
class CreateSubscriberRequest;
class DeleteBudgetRequest;
class DeleteNotificationRequest;
class DeleteSubscriberRequest;
class DescribeBudgetRequest;
class DescribeBudgetPerformanceHistoryRequest;
class DescribeBudgetsRequest;
class DescribeNotificationsForBudgetRequest;
class DescribeSubscribersForNotificationRequest;
class UpdateBudgetRequest;
class UpdateNotificationRequest;
class UpdateSubscriberRequest;
typedef Aws::Utils::Outcome CreateBudgetOutcome;
typedef Aws::Utils::Outcome CreateNotificationOutcome;
typedef Aws::Utils::Outcome CreateSubscriberOutcome;
typedef Aws::Utils::Outcome DeleteBudgetOutcome;
typedef Aws::Utils::Outcome DeleteNotificationOutcome;
typedef Aws::Utils::Outcome DeleteSubscriberOutcome;
typedef Aws::Utils::Outcome DescribeBudgetOutcome;
typedef Aws::Utils::Outcome DescribeBudgetPerformanceHistoryOutcome;
typedef Aws::Utils::Outcome DescribeBudgetsOutcome;
typedef Aws::Utils::Outcome DescribeNotificationsForBudgetOutcome;
typedef Aws::Utils::Outcome DescribeSubscribersForNotificationOutcome;
typedef Aws::Utils::Outcome UpdateBudgetOutcome;
typedef Aws::Utils::Outcome UpdateNotificationOutcome;
typedef Aws::Utils::Outcome UpdateSubscriberOutcome;
typedef std::future CreateBudgetOutcomeCallable;
typedef std::future CreateNotificationOutcomeCallable;
typedef std::future CreateSubscriberOutcomeCallable;
typedef std::future DeleteBudgetOutcomeCallable;
typedef std::future DeleteNotificationOutcomeCallable;
typedef std::future DeleteSubscriberOutcomeCallable;
typedef std::future DescribeBudgetOutcomeCallable;
typedef std::future DescribeBudgetPerformanceHistoryOutcomeCallable;
typedef std::future DescribeBudgetsOutcomeCallable;
typedef std::future DescribeNotificationsForBudgetOutcomeCallable;
typedef std::future DescribeSubscribersForNotificationOutcomeCallable;
typedef std::future UpdateBudgetOutcomeCallable;
typedef std::future UpdateNotificationOutcomeCallable;
typedef std::future UpdateSubscriberOutcomeCallable;
} // namespace Model
class BudgetsClient;
typedef std::function&) > CreateBudgetResponseReceivedHandler;
typedef std::function&) > CreateNotificationResponseReceivedHandler;
typedef std::function&) > CreateSubscriberResponseReceivedHandler;
typedef std::function&) > DeleteBudgetResponseReceivedHandler;
typedef std::function&) > DeleteNotificationResponseReceivedHandler;
typedef std::function&) > DeleteSubscriberResponseReceivedHandler;
typedef std::function&) > DescribeBudgetResponseReceivedHandler;
typedef std::function&) > DescribeBudgetPerformanceHistoryResponseReceivedHandler;
typedef std::function&) > DescribeBudgetsResponseReceivedHandler;
typedef std::function&) > DescribeNotificationsForBudgetResponseReceivedHandler;
typedef std::function&) > DescribeSubscribersForNotificationResponseReceivedHandler;
typedef std::function&) > UpdateBudgetResponseReceivedHandler;
typedef std::function&) > UpdateNotificationResponseReceivedHandler;
typedef std::function&) > UpdateSubscriberResponseReceivedHandler;
/**
* The AWS Budgets API enables you to use AWS Budgets to plan your service
* usage, service costs, and instance reservations. The API reference provides
* descriptions, syntax, and usage examples for each of the actions and data types
* for AWS Budgets.
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 AWS, and how much your predicted usage will accrue in
* charges by the end of the month
-
How much of your budget has
* been used
AWS 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 AWS Budgets API provides the following
* endpoint:
For
* information about costs that are associated with the AWS Budgets API, see AWS Cost Management
* Pricing.
*/
class AWS_BUDGETS_API BudgetsClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* 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 = Aws::Client::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 = Aws::Client::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 = Aws::Client::ClientConfiguration());
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;
/**
* 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
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateBudgetOutcomeCallable CreateBudgetCallable(const Model::CreateBudgetRequest& request) const;
/**
* 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
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateBudgetAsync(const Model::CreateBudgetRequest& request, const CreateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Creates a notification. You must create the budget before you create the
* associated notification.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNotificationOutcomeCallable CreateNotificationCallable(const Model::CreateNotificationRequest& request) const;
/**
* Creates a notification. You must create the budget before you create the
* associated notification.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNotificationAsync(const Model::CreateNotificationRequest& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Creates a subscriber. You must create the associated budget and notification
* before you create the subscriber.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSubscriberOutcomeCallable CreateSubscriberCallable(const Model::CreateSubscriberRequest& request) const;
/**
* Creates a subscriber. You must create the associated budget and notification
* before you create the subscriber.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSubscriberAsync(const Model::CreateSubscriberRequest& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* 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
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteBudgetOutcomeCallable DeleteBudgetCallable(const Model::DeleteBudgetRequest& request) const;
/**
* 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
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteBudgetAsync(const Model::DeleteBudgetRequest& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Deletes a notification.
Deleting a notification also
* deletes the subscribers that are associated with the notification.
* See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNotificationOutcomeCallable DeleteNotificationCallable(const Model::DeleteNotificationRequest& request) const;
/**
* Deletes a notification.
Deleting a notification also
* deletes the subscribers that are associated with the notification.
* See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNotificationAsync(const Model::DeleteNotificationRequest& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Deletes a subscriber.
Deleting the last subscriber to a
* notification also deletes the notification.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteSubscriberOutcomeCallable DeleteSubscriberCallable(const Model::DeleteSubscriberRequest& request) const;
/**
* Deletes a subscriber.
Deleting the last subscriber to a
* notification also deletes the notification.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteSubscriberAsync(const Model::DeleteSubscriberRequest& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Describes a budget.
The Request Syntax section shows the
* BudgetLimit syntax. For PlannedBudgetLimits, see the
* Examples
* section.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeBudgetOutcomeCallable DescribeBudgetCallable(const Model::DescribeBudgetRequest& request) const;
/**
* Describes a budget.
The Request Syntax section shows the
* BudgetLimit syntax. For PlannedBudgetLimits, see the
* Examples
* section.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeBudgetAsync(const Model::DescribeBudgetRequest& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* Describes the history for DAILY, MONTHLY, and
* QUARTERLY budgets. Budget history isn't available for
* ANNUAL budgets.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeBudgetPerformanceHistoryOutcomeCallable DescribeBudgetPerformanceHistoryCallable(const Model::DescribeBudgetPerformanceHistoryRequest& request) const;
/**
* Describes the history for DAILY, MONTHLY, and
* QUARTERLY budgets. Budget history isn't available for
* ANNUAL budgets.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeBudgetPerformanceHistoryAsync(const Model::DescribeBudgetPerformanceHistoryRequest& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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;
/**
* 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
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeBudgetsOutcomeCallable DescribeBudgetsCallable(const Model::DescribeBudgetsRequest& request) const;
/**
* 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
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeBudgetsAsync(const Model::DescribeBudgetsRequest& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the notifications that are associated with a budget.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeNotificationsForBudgetOutcome DescribeNotificationsForBudget(const Model::DescribeNotificationsForBudgetRequest& request) const;
/**
* Lists the notifications that are associated with a budget.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNotificationsForBudgetOutcomeCallable DescribeNotificationsForBudgetCallable(const Model::DescribeNotificationsForBudgetRequest& request) const;
/**
* Lists the notifications that are associated with a budget.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNotificationsForBudgetAsync(const Model::DescribeNotificationsForBudgetRequest& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the subscribers that are associated with a notification.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeSubscribersForNotificationOutcome DescribeSubscribersForNotification(const Model::DescribeSubscribersForNotificationRequest& request) const;
/**
* Lists the subscribers that are associated with a notification.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSubscribersForNotificationOutcomeCallable DescribeSubscribersForNotificationCallable(const Model::DescribeSubscribersForNotificationRequest& request) const;
/**
* Lists the subscribers that are associated with a notification.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSubscribersForNotificationAsync(const Model::DescribeSubscribersForNotificationRequest& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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 AWS 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;
/**
* 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 AWS 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
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateBudgetOutcomeCallable UpdateBudgetCallable(const Model::UpdateBudgetRequest& request) const;
/**
* 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 AWS 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
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateBudgetAsync(const Model::UpdateBudgetRequest& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates a notification.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateNotificationOutcome UpdateNotification(const Model::UpdateNotificationRequest& request) const;
/**
* Updates a notification.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateNotificationOutcomeCallable UpdateNotificationCallable(const Model::UpdateNotificationRequest& request) const;
/**
* Updates a notification.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateNotificationAsync(const Model::UpdateNotificationRequest& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates a subscriber.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateSubscriberOutcome UpdateSubscriber(const Model::UpdateSubscriberRequest& request) const;
/**
* Updates a subscriber.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateSubscriberOutcomeCallable UpdateSubscriberCallable(const Model::UpdateSubscriberRequest& request) const;
/**
* Updates a subscriber.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateSubscriberAsync(const Model::UpdateSubscriberRequest& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void CreateBudgetAsyncHelper(const Model::CreateBudgetRequest& request, const CreateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateNotificationAsyncHelper(const Model::CreateNotificationRequest& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateSubscriberAsyncHelper(const Model::CreateSubscriberRequest& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteBudgetAsyncHelper(const Model::DeleteBudgetRequest& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteNotificationAsyncHelper(const Model::DeleteNotificationRequest& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteSubscriberAsyncHelper(const Model::DeleteSubscriberRequest& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeBudgetAsyncHelper(const Model::DescribeBudgetRequest& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeBudgetPerformanceHistoryAsyncHelper(const Model::DescribeBudgetPerformanceHistoryRequest& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeBudgetsAsyncHelper(const Model::DescribeBudgetsRequest& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeNotificationsForBudgetAsyncHelper(const Model::DescribeNotificationsForBudgetRequest& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeSubscribersForNotificationAsyncHelper(const Model::DescribeSubscribersForNotificationRequest& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateBudgetAsyncHelper(const Model::UpdateBudgetRequest& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateNotificationAsyncHelper(const Model::UpdateNotificationRequest& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateSubscriberAsyncHelper(const Model::UpdateSubscriberRequest& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace Budgets
} // namespace Aws