feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,76 @@
add_project(aws-cpp-sdk-budgets "C++ SDK for the AWS budgets service" aws-cpp-sdk-core)
file(GLOB AWS_BUDGETS_HEADERS
"include/aws/budgets/*.h"
)
file(GLOB AWS_BUDGETS_MODEL_HEADERS
"include/aws/budgets/model/*.h"
)
file(GLOB AWS_BUDGETS_SOURCE
"source/*.cpp"
)
file(GLOB AWS_BUDGETS_MODEL_SOURCE
"source/model/*.cpp"
)
file(GLOB BUDGETS_UNIFIED_HEADERS
${AWS_BUDGETS_HEADERS}
${AWS_BUDGETS_MODEL_HEADERS}
)
file(GLOB BUDGETS_UNITY_SRC
${AWS_BUDGETS_SOURCE}
${AWS_BUDGETS_MODEL_SOURCE}
)
if(ENABLE_UNITY_BUILD)
enable_unity_build("BUDGETS" BUDGETS_UNITY_SRC)
endif()
file(GLOB BUDGETS_SRC
${BUDGETS_UNIFIED_HEADERS}
${BUDGETS_UNITY_SRC}
)
if(WIN32)
#if we are compiling for visual studio, create a sane directory tree.
if(MSVC)
source_group("Header Files\\aws\\budgets" FILES ${AWS_BUDGETS_HEADERS})
source_group("Header Files\\aws\\budgets\\model" FILES ${AWS_BUDGETS_MODEL_HEADERS})
source_group("Source Files" FILES ${AWS_BUDGETS_SOURCE})
source_group("Source Files\\model" FILES ${AWS_BUDGETS_MODEL_SOURCE})
endif(MSVC)
endif()
set(BUDGETS_INCLUDES
"${CMAKE_CURRENT_SOURCE_DIR}/include/"
)
add_library(${PROJECT_NAME} ${BUDGETS_SRC})
add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
set_compiler_flags(${PROJECT_NAME})
set_compiler_warnings(${PROJECT_NAME})
if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS)
target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_BUDGETS_EXPORTS")
endif()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS})
setup_install()
install (FILES ${AWS_BUDGETS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/budgets)
install (FILES ${AWS_BUDGETS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/budgets/model)
do_packaging()

View File

@@ -0,0 +1,667 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsErrors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/budgets/model/CreateBudgetResult.h>
#include <aws/budgets/model/CreateNotificationResult.h>
#include <aws/budgets/model/CreateSubscriberResult.h>
#include <aws/budgets/model/DeleteBudgetResult.h>
#include <aws/budgets/model/DeleteNotificationResult.h>
#include <aws/budgets/model/DeleteSubscriberResult.h>
#include <aws/budgets/model/DescribeBudgetResult.h>
#include <aws/budgets/model/DescribeBudgetPerformanceHistoryResult.h>
#include <aws/budgets/model/DescribeBudgetsResult.h>
#include <aws/budgets/model/DescribeNotificationsForBudgetResult.h>
#include <aws/budgets/model/DescribeSubscribersForNotificationResult.h>
#include <aws/budgets/model/UpdateBudgetResult.h>
#include <aws/budgets/model/UpdateNotificationResult.h>
#include <aws/budgets/model/UpdateSubscriberResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
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<CreateBudgetResult, BudgetsError> CreateBudgetOutcome;
typedef Aws::Utils::Outcome<CreateNotificationResult, BudgetsError> CreateNotificationOutcome;
typedef Aws::Utils::Outcome<CreateSubscriberResult, BudgetsError> CreateSubscriberOutcome;
typedef Aws::Utils::Outcome<DeleteBudgetResult, BudgetsError> DeleteBudgetOutcome;
typedef Aws::Utils::Outcome<DeleteNotificationResult, BudgetsError> DeleteNotificationOutcome;
typedef Aws::Utils::Outcome<DeleteSubscriberResult, BudgetsError> DeleteSubscriberOutcome;
typedef Aws::Utils::Outcome<DescribeBudgetResult, BudgetsError> DescribeBudgetOutcome;
typedef Aws::Utils::Outcome<DescribeBudgetPerformanceHistoryResult, BudgetsError> DescribeBudgetPerformanceHistoryOutcome;
typedef Aws::Utils::Outcome<DescribeBudgetsResult, BudgetsError> DescribeBudgetsOutcome;
typedef Aws::Utils::Outcome<DescribeNotificationsForBudgetResult, BudgetsError> DescribeNotificationsForBudgetOutcome;
typedef Aws::Utils::Outcome<DescribeSubscribersForNotificationResult, BudgetsError> DescribeSubscribersForNotificationOutcome;
typedef Aws::Utils::Outcome<UpdateBudgetResult, BudgetsError> UpdateBudgetOutcome;
typedef Aws::Utils::Outcome<UpdateNotificationResult, BudgetsError> UpdateNotificationOutcome;
typedef Aws::Utils::Outcome<UpdateSubscriberResult, BudgetsError> UpdateSubscriberOutcome;
typedef std::future<CreateBudgetOutcome> CreateBudgetOutcomeCallable;
typedef std::future<CreateNotificationOutcome> CreateNotificationOutcomeCallable;
typedef std::future<CreateSubscriberOutcome> CreateSubscriberOutcomeCallable;
typedef std::future<DeleteBudgetOutcome> DeleteBudgetOutcomeCallable;
typedef std::future<DeleteNotificationOutcome> DeleteNotificationOutcomeCallable;
typedef std::future<DeleteSubscriberOutcome> DeleteSubscriberOutcomeCallable;
typedef std::future<DescribeBudgetOutcome> DescribeBudgetOutcomeCallable;
typedef std::future<DescribeBudgetPerformanceHistoryOutcome> DescribeBudgetPerformanceHistoryOutcomeCallable;
typedef std::future<DescribeBudgetsOutcome> DescribeBudgetsOutcomeCallable;
typedef std::future<DescribeNotificationsForBudgetOutcome> DescribeNotificationsForBudgetOutcomeCallable;
typedef std::future<DescribeSubscribersForNotificationOutcome> DescribeSubscribersForNotificationOutcomeCallable;
typedef std::future<UpdateBudgetOutcome> UpdateBudgetOutcomeCallable;
typedef std::future<UpdateNotificationOutcome> UpdateNotificationOutcomeCallable;
typedef std::future<UpdateSubscriberOutcome> UpdateSubscriberOutcomeCallable;
} // namespace Model
class BudgetsClient;
typedef std::function<void(const BudgetsClient*, const Model::CreateBudgetRequest&, const Model::CreateBudgetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBudgetResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::CreateNotificationRequest&, const Model::CreateNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNotificationResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::CreateSubscriberRequest&, const Model::CreateSubscriberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSubscriberResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DeleteBudgetRequest&, const Model::DeleteBudgetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBudgetResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DeleteNotificationRequest&, const Model::DeleteNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNotificationResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DeleteSubscriberRequest&, const Model::DeleteSubscriberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSubscriberResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DescribeBudgetRequest&, const Model::DescribeBudgetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBudgetResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DescribeBudgetPerformanceHistoryRequest&, const Model::DescribeBudgetPerformanceHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBudgetPerformanceHistoryResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DescribeBudgetsRequest&, const Model::DescribeBudgetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBudgetsResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DescribeNotificationsForBudgetRequest&, const Model::DescribeNotificationsForBudgetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNotificationsForBudgetResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::DescribeSubscribersForNotificationRequest&, const Model::DescribeSubscribersForNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSubscribersForNotificationResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::UpdateBudgetRequest&, const Model::UpdateBudgetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBudgetResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::UpdateNotificationRequest&, const Model::UpdateNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateNotificationResponseReceivedHandler;
typedef std::function<void(const BudgetsClient*, const Model::UpdateSubscriberRequest&, const Model::UpdateSubscriberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateSubscriberResponseReceivedHandler;
/**
* <p>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. </p> <p>Budgets provide you with a way to see the following
* information:</p> <ul> <li> <p>How close your plan is to your budgeted amount or
* to the free tier limits</p> </li> <li> <p>Your usage-to-date, including how much
* you've used of your Reserved Instances (RIs)</p> </li> <li> <p>Your current
* estimated charges from AWS, and how much your predicted usage will accrue in
* charges by the end of the month</p> </li> <li> <p>How much of your budget has
* been used</p> </li> </ul> <p>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:</p> <ul> <li> <p> <b>Cost budgets</b> -
* Plan how much you want to spend on a service.</p> </li> <li> <p> <b>Usage
* budgets</b> - Plan how much you want to use one or more services.</p> </li> <li>
* <p> <b>RI utilization budgets</b> - 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.</p> </li> <li> <p> <b>RI coverage budgets</b>
* - 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.</p> </li> </ul>
* <p>Service Endpoint</p> <p>The AWS Budgets API provides the following
* endpoint:</p> <ul> <li> <p>https://budgets.amazonaws.com</p> </li> </ul> <p>For
* information about costs that are associated with the AWS Budgets API, see <a
* href="https://aws.amazon.com/aws-cost-management/pricing/">AWS Cost Management
* Pricing</a>.</p>
*/
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<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~BudgetsClient();
/**
* <p>Creates a budget and, if included, notifications and subscribers. </p>
* <p>Only one of <code>BudgetLimit</code> or
* <code>PlannedBudgetLimits</code> can be present in the syntax at one time. Use
* the syntax that matches your case. The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateBudget">AWS
* API Reference</a></p>
*/
virtual Model::CreateBudgetOutcome CreateBudget(const Model::CreateBudgetRequest& request) const;
/**
* <p>Creates a budget and, if included, notifications and subscribers. </p>
* <p>Only one of <code>BudgetLimit</code> or
* <code>PlannedBudgetLimits</code> can be present in the syntax at one time. Use
* the syntax that matches your case. The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateBudget">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Creates a budget and, if included, notifications and subscribers. </p>
* <p>Only one of <code>BudgetLimit</code> or
* <code>PlannedBudgetLimits</code> can be present in the syntax at one time. Use
* the syntax that matches your case. The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateBudget">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a notification. You must create the budget before you create the
* associated notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateNotification">AWS
* API Reference</a></p>
*/
virtual Model::CreateNotificationOutcome CreateNotification(const Model::CreateNotificationRequest& request) const;
/**
* <p>Creates a notification. You must create the budget before you create the
* associated notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateNotification">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Creates a notification. You must create the budget before you create the
* associated notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateNotification">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a subscriber. You must create the associated budget and notification
* before you create the subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateSubscriber">AWS
* API Reference</a></p>
*/
virtual Model::CreateSubscriberOutcome CreateSubscriber(const Model::CreateSubscriberRequest& request) const;
/**
* <p>Creates a subscriber. You must create the associated budget and notification
* before you create the subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateSubscriber">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Creates a subscriber. You must create the associated budget and notification
* before you create the subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateSubscriber">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a budget. You can delete your budget at any time.</p>
* <p>Deleting a budget also deletes the notifications and subscribers that are
* associated with that budget.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteBudget">AWS
* API Reference</a></p>
*/
virtual Model::DeleteBudgetOutcome DeleteBudget(const Model::DeleteBudgetRequest& request) const;
/**
* <p>Deletes a budget. You can delete your budget at any time.</p>
* <p>Deleting a budget also deletes the notifications and subscribers that are
* associated with that budget.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteBudget">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Deletes a budget. You can delete your budget at any time.</p>
* <p>Deleting a budget also deletes the notifications and subscribers that are
* associated with that budget.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteBudget">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a notification.</p> <p>Deleting a notification also
* deletes the subscribers that are associated with the notification.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteNotification">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNotificationOutcome DeleteNotification(const Model::DeleteNotificationRequest& request) const;
/**
* <p>Deletes a notification.</p> <p>Deleting a notification also
* deletes the subscribers that are associated with the notification.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteNotification">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Deletes a notification.</p> <p>Deleting a notification also
* deletes the subscribers that are associated with the notification.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteNotification">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a subscriber.</p> <p>Deleting the last subscriber to a
* notification also deletes the notification.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteSubscriber">AWS
* API Reference</a></p>
*/
virtual Model::DeleteSubscriberOutcome DeleteSubscriber(const Model::DeleteSubscriberRequest& request) const;
/**
* <p>Deletes a subscriber.</p> <p>Deleting the last subscriber to a
* notification also deletes the notification.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteSubscriber">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Deletes a subscriber.</p> <p>Deleting the last subscriber to a
* notification also deletes the notification.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteSubscriber">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes a budget.</p> <p>The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudget">AWS
* API Reference</a></p>
*/
virtual Model::DescribeBudgetOutcome DescribeBudget(const Model::DescribeBudgetRequest& request) const;
/**
* <p>Describes a budget.</p> <p>The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudget">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Describes a budget.</p> <p>The Request Syntax section shows the
* <code>BudgetLimit</code> syntax. For <code>PlannedBudgetLimits</code>, see the
* <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudget">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the history for <code>DAILY</code>, <code>MONTHLY</code>, and
* <code>QUARTERLY</code> budgets. Budget history isn't available for
* <code>ANNUAL</code> budgets.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetPerformanceHistory">AWS
* API Reference</a></p>
*/
virtual Model::DescribeBudgetPerformanceHistoryOutcome DescribeBudgetPerformanceHistory(const Model::DescribeBudgetPerformanceHistoryRequest& request) const;
/**
* <p>Describes the history for <code>DAILY</code>, <code>MONTHLY</code>, and
* <code>QUARTERLY</code> budgets. Budget history isn't available for
* <code>ANNUAL</code> budgets.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetPerformanceHistory">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Describes the history for <code>DAILY</code>, <code>MONTHLY</code>, and
* <code>QUARTERLY</code> budgets. Budget history isn't available for
* <code>ANNUAL</code> budgets.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetPerformanceHistory">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the budgets that are associated with an account.</p> <p>The
* Request Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgets">AWS
* API Reference</a></p>
*/
virtual Model::DescribeBudgetsOutcome DescribeBudgets(const Model::DescribeBudgetsRequest& request) const;
/**
* <p>Lists the budgets that are associated with an account.</p> <p>The
* Request Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgets">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Lists the budgets that are associated with an account.</p> <p>The
* Request Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgets">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the notifications that are associated with a budget.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeNotificationsForBudget">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNotificationsForBudgetOutcome DescribeNotificationsForBudget(const Model::DescribeNotificationsForBudgetRequest& request) const;
/**
* <p>Lists the notifications that are associated with a budget.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeNotificationsForBudget">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Lists the notifications that are associated with a budget.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeNotificationsForBudget">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the subscribers that are associated with a notification.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeSubscribersForNotification">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSubscribersForNotificationOutcome DescribeSubscribersForNotification(const Model::DescribeSubscribersForNotificationRequest& request) const;
/**
* <p>Lists the subscribers that are associated with a notification.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeSubscribersForNotification">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Lists the subscribers that are associated with a notification.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeSubscribersForNotification">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates a budget. You can change every part of a budget except for the
* <code>budgetName</code> and the <code>calculatedSpend</code>. When you modify a
* budget, the <code>calculatedSpend</code> drops to zero until AWS has new usage
* data to use for forecasting.</p> <p>Only one of
* <code>BudgetLimit</code> or <code>PlannedBudgetLimits</code> can be present in
* the syntax at one time. Use the syntax that matches your case. The Request
* Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateBudget">AWS
* API Reference</a></p>
*/
virtual Model::UpdateBudgetOutcome UpdateBudget(const Model::UpdateBudgetRequest& request) const;
/**
* <p>Updates a budget. You can change every part of a budget except for the
* <code>budgetName</code> and the <code>calculatedSpend</code>. When you modify a
* budget, the <code>calculatedSpend</code> drops to zero until AWS has new usage
* data to use for forecasting.</p> <p>Only one of
* <code>BudgetLimit</code> or <code>PlannedBudgetLimits</code> can be present in
* the syntax at one time. Use the syntax that matches your case. The Request
* Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateBudget">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Updates a budget. You can change every part of a budget except for the
* <code>budgetName</code> and the <code>calculatedSpend</code>. When you modify a
* budget, the <code>calculatedSpend</code> drops to zero until AWS has new usage
* data to use for forecasting.</p> <p>Only one of
* <code>BudgetLimit</code> or <code>PlannedBudgetLimits</code> can be present in
* the syntax at one time. Use the syntax that matches your case. The Request
* Syntax section shows the <code>BudgetLimit</code> syntax. For
* <code>PlannedBudgetLimits</code>, see the <a
* href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples">Examples</a>
* section. </p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateBudget">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates a notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateNotification">AWS
* API Reference</a></p>
*/
virtual Model::UpdateNotificationOutcome UpdateNotification(const Model::UpdateNotificationRequest& request) const;
/**
* <p>Updates a notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateNotification">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Updates a notification.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateNotification">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates a subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriber">AWS
* API Reference</a></p>
*/
virtual Model::UpdateSubscriberOutcome UpdateSubscriber(const Model::UpdateSubscriberRequest& request) const;
/**
* <p>Updates a subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriber">AWS
* API Reference</a></p>
*
* 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;
/**
* <p>Updates a subscriber.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriber">AWS
* API Reference</a></p>
*
* 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<const Aws::Client::AsyncCallerContext>& 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<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNotificationAsyncHelper(const Model::CreateNotificationRequest& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSubscriberAsyncHelper(const Model::CreateSubscriberRequest& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteBudgetAsyncHelper(const Model::DeleteBudgetRequest& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNotificationAsyncHelper(const Model::DeleteNotificationRequest& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteSubscriberAsyncHelper(const Model::DeleteSubscriberRequest& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeBudgetAsyncHelper(const Model::DescribeBudgetRequest& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeBudgetPerformanceHistoryAsyncHelper(const Model::DescribeBudgetPerformanceHistoryRequest& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeBudgetsAsyncHelper(const Model::DescribeBudgetsRequest& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNotificationsForBudgetAsyncHelper(const Model::DescribeNotificationsForBudgetRequest& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSubscribersForNotificationAsyncHelper(const Model::DescribeSubscribersForNotificationRequest& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateBudgetAsyncHelper(const Model::UpdateBudgetRequest& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateNotificationAsyncHelper(const Model::UpdateNotificationRequest& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateSubscriberAsyncHelper(const Model::UpdateSubscriberRequest& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace BudgetsEndpoint
{
AWS_BUDGETS_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace BudgetsEndpoint
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_BUDGETS_API BudgetsErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
namespace Budgets
{
enum class BudgetsErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
CREATION_LIMIT_EXCEEDED= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
DUPLICATE_RECORD,
EXPIRED_NEXT_TOKEN,
INTERNAL_ERROR,
INVALID_NEXT_TOKEN,
INVALID_PARAMETER,
NOT_FOUND
};
class AWS_BUDGETS_API BudgetsError : public Aws::Client::AWSError<BudgetsErrors>
{
public:
BudgetsError() {}
BudgetsError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<BudgetsErrors>(rhs) {}
BudgetsError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<BudgetsErrors>(rhs) {}
BudgetsError(const Aws::Client::AWSError<BudgetsErrors>& rhs) : Aws::Client::AWSError<BudgetsErrors>(rhs) {}
BudgetsError(Aws::Client::AWSError<BudgetsErrors>&& rhs) : Aws::Client::AWSError<BudgetsErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace BudgetsErrorMapper
{
AWS_BUDGETS_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace Budgets
{
class AWS_BUDGETS_API BudgetsRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~BudgetsRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2016-10-20"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_BUDGETS_EXPORTS
#define AWS_BUDGETS_API __declspec(dllexport)
#else
#define AWS_BUDGETS_API __declspec(dllimport)
#endif /* AWS_BUDGETS_EXPORTS */
#else
#define AWS_BUDGETS_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_BUDGETS_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,999 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Spend.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/budgets/model/CostTypes.h>
#include <aws/budgets/model/TimeUnit.h>
#include <aws/budgets/model/TimePeriod.h>
#include <aws/budgets/model/CalculatedSpend.h>
#include <aws/budgets/model/BudgetType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>Represents the output of the <code>CreateBudget</code> operation. The content
* consists of the detailed metadata and data file information, and the current
* status of the <code>budget</code> object.</p> <p>This is the ARN pattern for a
* budget: </p> <p> <code>arn:aws:budgetservice::AccountId:budget/budgetName</code>
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/Budget">AWS API
* Reference</a></p>
*/
class AWS_BUDGETS_API Budget
{
public:
Budget();
Budget(Aws::Utils::Json::JsonView jsonValue);
Budget& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline Budget& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline Budget& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of a budget. The name must be unique within an account. The
* <code>:</code> and <code>\</code> characters aren't allowed in
* <code>BudgetName</code>.</p>
*/
inline Budget& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline const Spend& GetBudgetLimit() const{ return m_budgetLimit; }
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline bool BudgetLimitHasBeenSet() const { return m_budgetLimitHasBeenSet; }
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline void SetBudgetLimit(const Spend& value) { m_budgetLimitHasBeenSet = true; m_budgetLimit = value; }
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline void SetBudgetLimit(Spend&& value) { m_budgetLimitHasBeenSet = true; m_budgetLimit = std::move(value); }
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline Budget& WithBudgetLimit(const Spend& value) { SetBudgetLimit(value); return *this;}
/**
* <p>The total amount of cost, usage, RI utilization, RI coverage, Savings Plans
* utilization, or Savings Plans coverage that you want to track with your
* budget.</p> <p> <code>BudgetLimit</code> is required for cost or usage budgets,
* but optional for RI or Savings Plans utilization or coverage budgets. RI and
* Savings Plans utilization or coverage budgets default to <code>100</code>, which
* is the only valid value for RI or Savings Plans utilization or coverage budgets.
* You can't use <code>BudgetLimit</code> with <code>PlannedBudgetLimits</code> for
* <code>CreateBudget</code> and <code>UpdateBudget</code> actions. </p>
*/
inline Budget& WithBudgetLimit(Spend&& value) { SetBudgetLimit(std::move(value)); return *this;}
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline const Aws::Map<Aws::String, Spend>& GetPlannedBudgetLimits() const{ return m_plannedBudgetLimits; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline bool PlannedBudgetLimitsHasBeenSet() const { return m_plannedBudgetLimitsHasBeenSet; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline void SetPlannedBudgetLimits(const Aws::Map<Aws::String, Spend>& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits = value; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline void SetPlannedBudgetLimits(Aws::Map<Aws::String, Spend>&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits = std::move(value); }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& WithPlannedBudgetLimits(const Aws::Map<Aws::String, Spend>& value) { SetPlannedBudgetLimits(value); return *this;}
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& WithPlannedBudgetLimits(Aws::Map<Aws::String, Spend>&& value) { SetPlannedBudgetLimits(std::move(value)); return *this;}
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(const Aws::String& key, const Spend& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(key, value); return *this; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(Aws::String&& key, const Spend& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(std::move(key), value); return *this; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(const Aws::String& key, Spend&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(key, std::move(value)); return *this; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(Aws::String&& key, Spend&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(const char* key, Spend&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(key, std::move(value)); return *this; }
/**
* <p>A map containing multiple <code>BudgetLimit</code>, including current or
* future limits.</p> <p> <code>PlannedBudgetLimits</code> is available for cost or
* usage budget and supports monthly and quarterly <code>TimeUnit</code>. </p>
* <p>For monthly budgets, provide 12 months of <code>PlannedBudgetLimits</code>
* values. This must start from the current month and include the next 11 months.
* The <code>key</code> is the start of the month, <code>UTC</code> in epoch
* seconds. </p> <p>For quarterly budgets, provide 4 quarters of
* <code>PlannedBudgetLimits</code> value entries in standard calendar quarter
* increments. This must start from the current quarter and include the next 3
* quarters. The <code>key</code> is the start of the quarter, <code>UTC</code> in
* epoch seconds. </p> <p>If the planned budget expires before 12 months for
* monthly or 4 quarters for quarterly, provide the
* <code>PlannedBudgetLimits</code> values only for the remaining periods.</p>
* <p>If the budget begins at a date in the future, provide
* <code>PlannedBudgetLimits</code> values from the start date of the budget. </p>
* <p>After all of the <code>BudgetLimit</code> values in
* <code>PlannedBudgetLimits</code> are used, the budget continues to use the last
* limit as the <code>BudgetLimit</code>. At that point, the planned budget
* provides the same experience as a fixed budget. </p> <p>
* <code>DescribeBudget</code> and <code>DescribeBudgets</code> response along with
* <code>PlannedBudgetLimits</code> will also contain <code>BudgetLimit</code>
* representing the current month or quarter limit present in
* <code>PlannedBudgetLimits</code>. This only applies to budgets created with
* <code>PlannedBudgetLimits</code>. Budgets created without
* <code>PlannedBudgetLimits</code> will only contain <code>BudgetLimit</code>, and
* no <code>PlannedBudgetLimits</code>.</p>
*/
inline Budget& AddPlannedBudgetLimits(const char* key, const Spend& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(key, value); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetCostFilters() const{ return m_costFilters; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline bool CostFiltersHasBeenSet() const { return m_costFiltersHasBeenSet; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline void SetCostFilters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_costFiltersHasBeenSet = true; m_costFilters = value; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline void SetCostFilters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_costFiltersHasBeenSet = true; m_costFilters = std::move(value); }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& WithCostFilters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetCostFilters(value); return *this;}
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& WithCostFilters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetCostFilters(std::move(value)); return *this;}
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), value); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(const char* key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; }
/**
* <p>The cost filters, such as service or tag, that are applied to a budget.</p>
* <p>AWS Budgets supports the following services as a filter for RI budgets:</p>
* <ul> <li> <p>Amazon Elastic Compute Cloud - Compute</p> </li> <li> <p>Amazon
* Redshift</p> </li> <li> <p>Amazon Relational Database Service</p> </li> <li>
* <p>Amazon ElastiCache</p> </li> <li> <p>Amazon Elasticsearch Service</p> </li>
* </ul>
*/
inline Budget& AddCostFilters(const char* key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; }
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline const CostTypes& GetCostTypes() const{ return m_costTypes; }
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline bool CostTypesHasBeenSet() const { return m_costTypesHasBeenSet; }
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline void SetCostTypes(const CostTypes& value) { m_costTypesHasBeenSet = true; m_costTypes = value; }
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline void SetCostTypes(CostTypes&& value) { m_costTypesHasBeenSet = true; m_costTypes = std::move(value); }
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline Budget& WithCostTypes(const CostTypes& value) { SetCostTypes(value); return *this;}
/**
* <p>The types of costs that are included in this <code>COST</code> budget.</p>
* <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>, <code>RI_COVERAGE</code>,
* <code>Savings_Plans_Utilization</code>, and <code>Savings_Plans_Coverage</code>
* budgets do not have <code>CostTypes</code>.</p>
*/
inline Budget& WithCostTypes(CostTypes&& value) { SetCostTypes(std::move(value)); return *this;}
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline const TimeUnit& GetTimeUnit() const{ return m_timeUnit; }
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; }
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline void SetTimeUnit(const TimeUnit& value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; }
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline void SetTimeUnit(TimeUnit&& value) { m_timeUnitHasBeenSet = true; m_timeUnit = std::move(value); }
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline Budget& WithTimeUnit(const TimeUnit& value) { SetTimeUnit(value); return *this;}
/**
* <p>The length of time until a budget resets the actual and forecasted spend.
* <code>DAILY</code> is available only for <code>RI_UTILIZATION</code>,
* <code>RI_COVERAGE</code>, <code>Savings_Plans_Utilization</code>, and
* <code>Savings_Plans_Coverage</code> budgets.</p>
*/
inline Budget& WithTimeUnit(TimeUnit&& value) { SetTimeUnit(std::move(value)); return *this;}
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline const TimePeriod& GetTimePeriod() const{ return m_timePeriod; }
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline void SetTimePeriod(const TimePeriod& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; }
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline void SetTimePeriod(TimePeriod&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); }
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline Budget& WithTimePeriod(const TimePeriod& value) { SetTimePeriod(value); return *this;}
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. The end date must
* come before <code>06/15/87 00:00 UTC</code>. </p> <p>If you create your budget
* and don't specify a start date, AWS defaults to the start of your chosen time
* period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created
* your budget on January 24, 2018, chose <code>DAILY</code>, and didn't set a
* start date, AWS set your start date to <code>01/24/18 00:00 UTC</code>. If you
* chose <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. If you didn't specify an end date, AWS set your end date to
* <code>06/15/87 00:00 UTC</code>. The defaults are the same for the AWS Billing
* and Cost Management console and the API. </p> <p>You can change either date with
* the <code>UpdateBudget</code> operation.</p> <p>After the end date, AWS deletes
* the budget and all associated notifications and subscribers.</p>
*/
inline Budget& WithTimePeriod(TimePeriod&& value) { SetTimePeriod(std::move(value)); return *this;}
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline const CalculatedSpend& GetCalculatedSpend() const{ return m_calculatedSpend; }
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline bool CalculatedSpendHasBeenSet() const { return m_calculatedSpendHasBeenSet; }
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline void SetCalculatedSpend(const CalculatedSpend& value) { m_calculatedSpendHasBeenSet = true; m_calculatedSpend = value; }
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline void SetCalculatedSpend(CalculatedSpend&& value) { m_calculatedSpendHasBeenSet = true; m_calculatedSpend = std::move(value); }
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline Budget& WithCalculatedSpend(const CalculatedSpend& value) { SetCalculatedSpend(value); return *this;}
/**
* <p>The actual and forecasted cost or usage that the budget tracks.</p>
*/
inline Budget& WithCalculatedSpend(CalculatedSpend&& value) { SetCalculatedSpend(std::move(value)); return *this;}
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline const BudgetType& GetBudgetType() const{ return m_budgetType; }
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline bool BudgetTypeHasBeenSet() const { return m_budgetTypeHasBeenSet; }
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline void SetBudgetType(const BudgetType& value) { m_budgetTypeHasBeenSet = true; m_budgetType = value; }
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline void SetBudgetType(BudgetType&& value) { m_budgetTypeHasBeenSet = true; m_budgetType = std::move(value); }
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline Budget& WithBudgetType(const BudgetType& value) { SetBudgetType(value); return *this;}
/**
* <p>Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings
* Plans utilization, or Savings Plans coverage.</p>
*/
inline Budget& WithBudgetType(BudgetType&& value) { SetBudgetType(std::move(value)); return *this;}
/**
* <p>The last time that you updated this budget.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
/**
* <p>The last time that you updated this budget.</p>
*/
inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
/**
* <p>The last time that you updated this budget.</p>
*/
inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
/**
* <p>The last time that you updated this budget.</p>
*/
inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); }
/**
* <p>The last time that you updated this budget.</p>
*/
inline Budget& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;}
/**
* <p>The last time that you updated this budget.</p>
*/
inline Budget& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;}
private:
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Spend m_budgetLimit;
bool m_budgetLimitHasBeenSet;
Aws::Map<Aws::String, Spend> m_plannedBudgetLimits;
bool m_plannedBudgetLimitsHasBeenSet;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_costFilters;
bool m_costFiltersHasBeenSet;
CostTypes m_costTypes;
bool m_costTypesHasBeenSet;
TimeUnit m_timeUnit;
bool m_timeUnitHasBeenSet;
TimePeriod m_timePeriod;
bool m_timePeriodHasBeenSet;
CalculatedSpend m_calculatedSpend;
bool m_calculatedSpendHasBeenSet;
BudgetType m_budgetType;
bool m_budgetTypeHasBeenSet;
Aws::Utils::DateTime m_lastUpdatedTime;
bool m_lastUpdatedTimeHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,291 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/BudgetType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/budgets/model/CostTypes.h>
#include <aws/budgets/model/TimeUnit.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/budgets/model/BudgetedAndActualAmounts.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>A history of the state of a budget at the end of the budget's specified time
* period.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/BudgetPerformanceHistory">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API BudgetPerformanceHistory
{
public:
BudgetPerformanceHistory();
BudgetPerformanceHistory(Aws::Utils::Json::JsonView jsonValue);
BudgetPerformanceHistory& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
inline BudgetPerformanceHistory& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
inline BudgetPerformanceHistory& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
inline BudgetPerformanceHistory& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
inline const BudgetType& GetBudgetType() const{ return m_budgetType; }
inline bool BudgetTypeHasBeenSet() const { return m_budgetTypeHasBeenSet; }
inline void SetBudgetType(const BudgetType& value) { m_budgetTypeHasBeenSet = true; m_budgetType = value; }
inline void SetBudgetType(BudgetType&& value) { m_budgetTypeHasBeenSet = true; m_budgetType = std::move(value); }
inline BudgetPerformanceHistory& WithBudgetType(const BudgetType& value) { SetBudgetType(value); return *this;}
inline BudgetPerformanceHistory& WithBudgetType(BudgetType&& value) { SetBudgetType(std::move(value)); return *this;}
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetCostFilters() const{ return m_costFilters; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline bool CostFiltersHasBeenSet() const { return m_costFiltersHasBeenSet; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline void SetCostFilters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_costFiltersHasBeenSet = true; m_costFilters = value; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline void SetCostFilters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_costFiltersHasBeenSet = true; m_costFilters = std::move(value); }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& WithCostFilters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetCostFilters(value); return *this;}
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& WithCostFilters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetCostFilters(std::move(value)); return *this;}
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), value); return *this; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(const char* key, Aws::Vector<Aws::String>&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; }
/**
* <p>The history of the cost filters for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& AddCostFilters(const char* key, const Aws::Vector<Aws::String>& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; }
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline const CostTypes& GetCostTypes() const{ return m_costTypes; }
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline bool CostTypesHasBeenSet() const { return m_costTypesHasBeenSet; }
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline void SetCostTypes(const CostTypes& value) { m_costTypesHasBeenSet = true; m_costTypes = value; }
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline void SetCostTypes(CostTypes&& value) { m_costTypesHasBeenSet = true; m_costTypes = std::move(value); }
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& WithCostTypes(const CostTypes& value) { SetCostTypes(value); return *this;}
/**
* <p>The history of the cost types for a budget during the specified time
* period.</p>
*/
inline BudgetPerformanceHistory& WithCostTypes(CostTypes&& value) { SetCostTypes(std::move(value)); return *this;}
inline const TimeUnit& GetTimeUnit() const{ return m_timeUnit; }
inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; }
inline void SetTimeUnit(const TimeUnit& value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; }
inline void SetTimeUnit(TimeUnit&& value) { m_timeUnitHasBeenSet = true; m_timeUnit = std::move(value); }
inline BudgetPerformanceHistory& WithTimeUnit(const TimeUnit& value) { SetTimeUnit(value); return *this;}
inline BudgetPerformanceHistory& WithTimeUnit(TimeUnit&& value) { SetTimeUnit(std::move(value)); return *this;}
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline const Aws::Vector<BudgetedAndActualAmounts>& GetBudgetedAndActualAmountsList() const{ return m_budgetedAndActualAmountsList; }
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline bool BudgetedAndActualAmountsListHasBeenSet() const { return m_budgetedAndActualAmountsListHasBeenSet; }
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline void SetBudgetedAndActualAmountsList(const Aws::Vector<BudgetedAndActualAmounts>& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList = value; }
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline void SetBudgetedAndActualAmountsList(Aws::Vector<BudgetedAndActualAmounts>&& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList = std::move(value); }
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline BudgetPerformanceHistory& WithBudgetedAndActualAmountsList(const Aws::Vector<BudgetedAndActualAmounts>& value) { SetBudgetedAndActualAmountsList(value); return *this;}
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline BudgetPerformanceHistory& WithBudgetedAndActualAmountsList(Aws::Vector<BudgetedAndActualAmounts>&& value) { SetBudgetedAndActualAmountsList(std::move(value)); return *this;}
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline BudgetPerformanceHistory& AddBudgetedAndActualAmountsList(const BudgetedAndActualAmounts& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList.push_back(value); return *this; }
/**
* <p>A list of amounts of cost or usage that you created budgets for, compared to
* your actual costs or usage.</p>
*/
inline BudgetPerformanceHistory& AddBudgetedAndActualAmountsList(BudgetedAndActualAmounts&& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList.push_back(std::move(value)); return *this; }
private:
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
BudgetType m_budgetType;
bool m_budgetTypeHasBeenSet;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_costFilters;
bool m_costFiltersHasBeenSet;
CostTypes m_costTypes;
bool m_costTypesHasBeenSet;
TimeUnit m_timeUnit;
bool m_timeUnitHasBeenSet;
Aws::Vector<BudgetedAndActualAmounts> m_budgetedAndActualAmountsList;
bool m_budgetedAndActualAmountsListHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class BudgetType
{
NOT_SET,
USAGE,
COST,
RI_UTILIZATION,
RI_COVERAGE,
SAVINGS_PLANS_UTILIZATION,
SAVINGS_PLANS_COVERAGE
};
namespace BudgetTypeMapper
{
AWS_BUDGETS_API BudgetType GetBudgetTypeForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForBudgetType(BudgetType value);
} // namespace BudgetTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,148 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/Spend.h>
#include <aws/budgets/model/TimePeriod.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The amount of cost or usage that you created the budget for, compared to your
* actual costs or usage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/BudgetedAndActualAmounts">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API BudgetedAndActualAmounts
{
public:
BudgetedAndActualAmounts();
BudgetedAndActualAmounts(Aws::Utils::Json::JsonView jsonValue);
BudgetedAndActualAmounts& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline const Spend& GetBudgetedAmount() const{ return m_budgetedAmount; }
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline bool BudgetedAmountHasBeenSet() const { return m_budgetedAmountHasBeenSet; }
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline void SetBudgetedAmount(const Spend& value) { m_budgetedAmountHasBeenSet = true; m_budgetedAmount = value; }
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline void SetBudgetedAmount(Spend&& value) { m_budgetedAmountHasBeenSet = true; m_budgetedAmount = std::move(value); }
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline BudgetedAndActualAmounts& WithBudgetedAmount(const Spend& value) { SetBudgetedAmount(value); return *this;}
/**
* <p>The amount of cost or usage that you created the budget for.</p>
*/
inline BudgetedAndActualAmounts& WithBudgetedAmount(Spend&& value) { SetBudgetedAmount(std::move(value)); return *this;}
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline const Spend& GetActualAmount() const{ return m_actualAmount; }
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline bool ActualAmountHasBeenSet() const { return m_actualAmountHasBeenSet; }
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline void SetActualAmount(const Spend& value) { m_actualAmountHasBeenSet = true; m_actualAmount = value; }
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline void SetActualAmount(Spend&& value) { m_actualAmountHasBeenSet = true; m_actualAmount = std::move(value); }
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline BudgetedAndActualAmounts& WithActualAmount(const Spend& value) { SetActualAmount(value); return *this;}
/**
* <p>Your actual costs or usage for a budget period.</p>
*/
inline BudgetedAndActualAmounts& WithActualAmount(Spend&& value) { SetActualAmount(std::move(value)); return *this;}
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline const TimePeriod& GetTimePeriod() const{ return m_timePeriod; }
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline void SetTimePeriod(const TimePeriod& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; }
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline void SetTimePeriod(TimePeriod&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); }
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline BudgetedAndActualAmounts& WithTimePeriod(const TimePeriod& value) { SetTimePeriod(value); return *this;}
/**
* <p>The time period covered by this budget comparison.</p>
*/
inline BudgetedAndActualAmounts& WithTimePeriod(TimePeriod&& value) { SetTimePeriod(std::move(value)); return *this;}
private:
Spend m_budgetedAmount;
bool m_budgetedAmountHasBeenSet;
Spend m_actualAmount;
bool m_actualAmountHasBeenSet;
TimePeriod m_timePeriod;
bool m_timePeriodHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,119 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/Spend.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The spend objects that are associated with this budget. The
* <code>actualSpend</code> tracks how much you've used, cost, usage, or RI units,
* and the <code>forecastedSpend</code> tracks how much you are predicted to spend
* if your current usage remains steady.</p> <p>For example, if it is the 20th of
* the month and you have spent <code>50</code> dollars on Amazon EC2, your
* <code>actualSpend</code> is <code>50 USD</code>, and your
* <code>forecastedSpend</code> is <code>75 USD</code>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CalculatedSpend">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CalculatedSpend
{
public:
CalculatedSpend();
CalculatedSpend(Aws::Utils::Json::JsonView jsonValue);
CalculatedSpend& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline const Spend& GetActualSpend() const{ return m_actualSpend; }
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline bool ActualSpendHasBeenSet() const { return m_actualSpendHasBeenSet; }
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline void SetActualSpend(const Spend& value) { m_actualSpendHasBeenSet = true; m_actualSpend = value; }
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline void SetActualSpend(Spend&& value) { m_actualSpendHasBeenSet = true; m_actualSpend = std::move(value); }
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline CalculatedSpend& WithActualSpend(const Spend& value) { SetActualSpend(value); return *this;}
/**
* <p>The amount of cost, usage, or RI units that you have used.</p>
*/
inline CalculatedSpend& WithActualSpend(Spend&& value) { SetActualSpend(std::move(value)); return *this;}
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline const Spend& GetForecastedSpend() const{ return m_forecastedSpend; }
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline bool ForecastedSpendHasBeenSet() const { return m_forecastedSpendHasBeenSet; }
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline void SetForecastedSpend(const Spend& value) { m_forecastedSpendHasBeenSet = true; m_forecastedSpend = value; }
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline void SetForecastedSpend(Spend&& value) { m_forecastedSpendHasBeenSet = true; m_forecastedSpend = std::move(value); }
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline CalculatedSpend& WithForecastedSpend(const Spend& value) { SetForecastedSpend(value); return *this;}
/**
* <p>The amount of cost, usage, or RI units that you are forecasted to use.</p>
*/
inline CalculatedSpend& WithForecastedSpend(Spend&& value) { SetForecastedSpend(std::move(value)); return *this;}
private:
Spend m_actualSpend;
bool m_actualSpendHasBeenSet;
Spend m_forecastedSpend;
bool m_forecastedSpendHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class ComparisonOperator
{
NOT_SET,
GREATER_THAN,
LESS_THAN,
EQUAL_TO
};
namespace ComparisonOperatorMapper
{
AWS_BUDGETS_API ComparisonOperator GetComparisonOperatorForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForComparisonOperator(ComparisonOperator value);
} // namespace ComparisonOperatorMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,353 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The types of cost that are included in a <code>COST</code> budget, such as
* tax and subscriptions.</p> <p> <code>USAGE</code>, <code>RI_UTILIZATION</code>,
* and <code>RI_COVERAGE</code> budgets do not have
* <code>CostTypes</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CostTypes">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CostTypes
{
public:
CostTypes();
CostTypes(Aws::Utils::Json::JsonView jsonValue);
CostTypes& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Specifies whether a budget includes taxes.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool GetIncludeTax() const{ return m_includeTax; }
/**
* <p>Specifies whether a budget includes taxes.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool IncludeTaxHasBeenSet() const { return m_includeTaxHasBeenSet; }
/**
* <p>Specifies whether a budget includes taxes.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline void SetIncludeTax(bool value) { m_includeTaxHasBeenSet = true; m_includeTax = value; }
/**
* <p>Specifies whether a budget includes taxes.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline CostTypes& WithIncludeTax(bool value) { SetIncludeTax(value); return *this;}
/**
* <p>Specifies whether a budget includes subscriptions.</p> <p>The default value
* is <code>true</code>.</p>
*/
inline bool GetIncludeSubscription() const{ return m_includeSubscription; }
/**
* <p>Specifies whether a budget includes subscriptions.</p> <p>The default value
* is <code>true</code>.</p>
*/
inline bool IncludeSubscriptionHasBeenSet() const { return m_includeSubscriptionHasBeenSet; }
/**
* <p>Specifies whether a budget includes subscriptions.</p> <p>The default value
* is <code>true</code>.</p>
*/
inline void SetIncludeSubscription(bool value) { m_includeSubscriptionHasBeenSet = true; m_includeSubscription = value; }
/**
* <p>Specifies whether a budget includes subscriptions.</p> <p>The default value
* is <code>true</code>.</p>
*/
inline CostTypes& WithIncludeSubscription(bool value) { SetIncludeSubscription(value); return *this;}
/**
* <p>Specifies whether a budget uses a blended rate.</p> <p>The default value is
* <code>false</code>.</p>
*/
inline bool GetUseBlended() const{ return m_useBlended; }
/**
* <p>Specifies whether a budget uses a blended rate.</p> <p>The default value is
* <code>false</code>.</p>
*/
inline bool UseBlendedHasBeenSet() const { return m_useBlendedHasBeenSet; }
/**
* <p>Specifies whether a budget uses a blended rate.</p> <p>The default value is
* <code>false</code>.</p>
*/
inline void SetUseBlended(bool value) { m_useBlendedHasBeenSet = true; m_useBlended = value; }
/**
* <p>Specifies whether a budget uses a blended rate.</p> <p>The default value is
* <code>false</code>.</p>
*/
inline CostTypes& WithUseBlended(bool value) { SetUseBlended(value); return *this;}
/**
* <p>Specifies whether a budget includes refunds.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool GetIncludeRefund() const{ return m_includeRefund; }
/**
* <p>Specifies whether a budget includes refunds.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool IncludeRefundHasBeenSet() const { return m_includeRefundHasBeenSet; }
/**
* <p>Specifies whether a budget includes refunds.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline void SetIncludeRefund(bool value) { m_includeRefundHasBeenSet = true; m_includeRefund = value; }
/**
* <p>Specifies whether a budget includes refunds.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline CostTypes& WithIncludeRefund(bool value) { SetIncludeRefund(value); return *this;}
/**
* <p>Specifies whether a budget includes credits.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool GetIncludeCredit() const{ return m_includeCredit; }
/**
* <p>Specifies whether a budget includes credits.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool IncludeCreditHasBeenSet() const { return m_includeCreditHasBeenSet; }
/**
* <p>Specifies whether a budget includes credits.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline void SetIncludeCredit(bool value) { m_includeCreditHasBeenSet = true; m_includeCredit = value; }
/**
* <p>Specifies whether a budget includes credits.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline CostTypes& WithIncludeCredit(bool value) { SetIncludeCredit(value); return *this;}
/**
* <p>Specifies whether a budget includes upfront RI costs.</p> <p>The default
* value is <code>true</code>.</p>
*/
inline bool GetIncludeUpfront() const{ return m_includeUpfront; }
/**
* <p>Specifies whether a budget includes upfront RI costs.</p> <p>The default
* value is <code>true</code>.</p>
*/
inline bool IncludeUpfrontHasBeenSet() const { return m_includeUpfrontHasBeenSet; }
/**
* <p>Specifies whether a budget includes upfront RI costs.</p> <p>The default
* value is <code>true</code>.</p>
*/
inline void SetIncludeUpfront(bool value) { m_includeUpfrontHasBeenSet = true; m_includeUpfront = value; }
/**
* <p>Specifies whether a budget includes upfront RI costs.</p> <p>The default
* value is <code>true</code>.</p>
*/
inline CostTypes& WithIncludeUpfront(bool value) { SetIncludeUpfront(value); return *this;}
/**
* <p>Specifies whether a budget includes recurring fees such as monthly RI
* fees.</p> <p>The default value is <code>true</code>.</p>
*/
inline bool GetIncludeRecurring() const{ return m_includeRecurring; }
/**
* <p>Specifies whether a budget includes recurring fees such as monthly RI
* fees.</p> <p>The default value is <code>true</code>.</p>
*/
inline bool IncludeRecurringHasBeenSet() const { return m_includeRecurringHasBeenSet; }
/**
* <p>Specifies whether a budget includes recurring fees such as monthly RI
* fees.</p> <p>The default value is <code>true</code>.</p>
*/
inline void SetIncludeRecurring(bool value) { m_includeRecurringHasBeenSet = true; m_includeRecurring = value; }
/**
* <p>Specifies whether a budget includes recurring fees such as monthly RI
* fees.</p> <p>The default value is <code>true</code>.</p>
*/
inline CostTypes& WithIncludeRecurring(bool value) { SetIncludeRecurring(value); return *this;}
/**
* <p>Specifies whether a budget includes non-RI subscription costs.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline bool GetIncludeOtherSubscription() const{ return m_includeOtherSubscription; }
/**
* <p>Specifies whether a budget includes non-RI subscription costs.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline bool IncludeOtherSubscriptionHasBeenSet() const { return m_includeOtherSubscriptionHasBeenSet; }
/**
* <p>Specifies whether a budget includes non-RI subscription costs.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline void SetIncludeOtherSubscription(bool value) { m_includeOtherSubscriptionHasBeenSet = true; m_includeOtherSubscription = value; }
/**
* <p>Specifies whether a budget includes non-RI subscription costs.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline CostTypes& WithIncludeOtherSubscription(bool value) { SetIncludeOtherSubscription(value); return *this;}
/**
* <p>Specifies whether a budget includes support subscription fees.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline bool GetIncludeSupport() const{ return m_includeSupport; }
/**
* <p>Specifies whether a budget includes support subscription fees.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline bool IncludeSupportHasBeenSet() const { return m_includeSupportHasBeenSet; }
/**
* <p>Specifies whether a budget includes support subscription fees.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline void SetIncludeSupport(bool value) { m_includeSupportHasBeenSet = true; m_includeSupport = value; }
/**
* <p>Specifies whether a budget includes support subscription fees.</p> <p>The
* default value is <code>true</code>.</p>
*/
inline CostTypes& WithIncludeSupport(bool value) { SetIncludeSupport(value); return *this;}
/**
* <p>Specifies whether a budget includes discounts.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool GetIncludeDiscount() const{ return m_includeDiscount; }
/**
* <p>Specifies whether a budget includes discounts.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline bool IncludeDiscountHasBeenSet() const { return m_includeDiscountHasBeenSet; }
/**
* <p>Specifies whether a budget includes discounts.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline void SetIncludeDiscount(bool value) { m_includeDiscountHasBeenSet = true; m_includeDiscount = value; }
/**
* <p>Specifies whether a budget includes discounts.</p> <p>The default value is
* <code>true</code>.</p>
*/
inline CostTypes& WithIncludeDiscount(bool value) { SetIncludeDiscount(value); return *this;}
/**
* <p>Specifies whether a budget uses the amortized rate.</p> <p>The default value
* is <code>false</code>.</p>
*/
inline bool GetUseAmortized() const{ return m_useAmortized; }
/**
* <p>Specifies whether a budget uses the amortized rate.</p> <p>The default value
* is <code>false</code>.</p>
*/
inline bool UseAmortizedHasBeenSet() const { return m_useAmortizedHasBeenSet; }
/**
* <p>Specifies whether a budget uses the amortized rate.</p> <p>The default value
* is <code>false</code>.</p>
*/
inline void SetUseAmortized(bool value) { m_useAmortizedHasBeenSet = true; m_useAmortized = value; }
/**
* <p>Specifies whether a budget uses the amortized rate.</p> <p>The default value
* is <code>false</code>.</p>
*/
inline CostTypes& WithUseAmortized(bool value) { SetUseAmortized(value); return *this;}
private:
bool m_includeTax;
bool m_includeTaxHasBeenSet;
bool m_includeSubscription;
bool m_includeSubscriptionHasBeenSet;
bool m_useBlended;
bool m_useBlendedHasBeenSet;
bool m_includeRefund;
bool m_includeRefundHasBeenSet;
bool m_includeCredit;
bool m_includeCreditHasBeenSet;
bool m_includeUpfront;
bool m_includeUpfrontHasBeenSet;
bool m_includeRecurring;
bool m_includeRecurringHasBeenSet;
bool m_includeOtherSubscription;
bool m_includeOtherSubscriptionHasBeenSet;
bool m_includeSupport;
bool m_includeSupportHasBeenSet;
bool m_includeDiscount;
bool m_includeDiscountHasBeenSet;
bool m_useAmortized;
bool m_useAmortizedHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,201 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Budget.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/budgets/model/NotificationWithSubscribers.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of CreateBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateBudgetRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateBudgetRequest : public BudgetsRequest
{
public:
CreateBudgetRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateBudget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline CreateBudgetRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline CreateBudgetRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget.</p>
*/
inline CreateBudgetRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The budget object that you want to create.</p>
*/
inline const Budget& GetBudget() const{ return m_budget; }
/**
* <p>The budget object that you want to create.</p>
*/
inline bool BudgetHasBeenSet() const { return m_budgetHasBeenSet; }
/**
* <p>The budget object that you want to create.</p>
*/
inline void SetBudget(const Budget& value) { m_budgetHasBeenSet = true; m_budget = value; }
/**
* <p>The budget object that you want to create.</p>
*/
inline void SetBudget(Budget&& value) { m_budgetHasBeenSet = true; m_budget = std::move(value); }
/**
* <p>The budget object that you want to create.</p>
*/
inline CreateBudgetRequest& WithBudget(const Budget& value) { SetBudget(value); return *this;}
/**
* <p>The budget object that you want to create.</p>
*/
inline CreateBudgetRequest& WithBudget(Budget&& value) { SetBudget(std::move(value)); return *this;}
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline const Aws::Vector<NotificationWithSubscribers>& GetNotificationsWithSubscribers() const{ return m_notificationsWithSubscribers; }
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline bool NotificationsWithSubscribersHasBeenSet() const { return m_notificationsWithSubscribersHasBeenSet; }
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline void SetNotificationsWithSubscribers(const Aws::Vector<NotificationWithSubscribers>& value) { m_notificationsWithSubscribersHasBeenSet = true; m_notificationsWithSubscribers = value; }
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline void SetNotificationsWithSubscribers(Aws::Vector<NotificationWithSubscribers>&& value) { m_notificationsWithSubscribersHasBeenSet = true; m_notificationsWithSubscribers = std::move(value); }
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline CreateBudgetRequest& WithNotificationsWithSubscribers(const Aws::Vector<NotificationWithSubscribers>& value) { SetNotificationsWithSubscribers(value); return *this;}
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline CreateBudgetRequest& WithNotificationsWithSubscribers(Aws::Vector<NotificationWithSubscribers>&& value) { SetNotificationsWithSubscribers(std::move(value)); return *this;}
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline CreateBudgetRequest& AddNotificationsWithSubscribers(const NotificationWithSubscribers& value) { m_notificationsWithSubscribersHasBeenSet = true; m_notificationsWithSubscribers.push_back(value); return *this; }
/**
* <p>A notification that you want to associate with a budget. A budget can have up
* to five notifications, and each notification can have one SNS subscriber and up
* to 10 email subscribers. If you include notifications and subscribers in your
* <code>CreateBudget</code> call, AWS creates the notifications and subscribers
* for you.</p>
*/
inline CreateBudgetRequest& AddNotificationsWithSubscribers(NotificationWithSubscribers&& value) { m_notificationsWithSubscribersHasBeenSet = true; m_notificationsWithSubscribers.push_back(std::move(value)); return *this; }
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Budget m_budget;
bool m_budgetHasBeenSet;
Aws::Vector<NotificationWithSubscribers> m_notificationsWithSubscribers;
bool m_notificationsWithSubscribersHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of CreateBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateBudgetResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateBudgetResult
{
public:
CreateBudgetResult();
CreateBudgetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateBudgetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,237 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of CreateNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateNotificationRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateNotificationRequest : public BudgetsRequest
{
public:
CreateNotificationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateNotification"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline CreateNotificationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline CreateNotificationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a notification for.</p>
*/
inline CreateNotificationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline CreateNotificationRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline CreateNotificationRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget that you want AWS to notify you about. Budget names
* must be unique within an account.</p>
*/
inline CreateNotificationRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification that you want to create.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification that you want to create.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification that you want to create.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification that you want to create.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification that you want to create.</p>
*/
inline CreateNotificationRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification that you want to create.</p>
*/
inline CreateNotificationRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline const Aws::Vector<Subscriber>& GetSubscribers() const{ return m_subscribers; }
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline bool SubscribersHasBeenSet() const { return m_subscribersHasBeenSet; }
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline void SetSubscribers(const Aws::Vector<Subscriber>& value) { m_subscribersHasBeenSet = true; m_subscribers = value; }
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline void SetSubscribers(Aws::Vector<Subscriber>&& value) { m_subscribersHasBeenSet = true; m_subscribers = std::move(value); }
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline CreateNotificationRequest& WithSubscribers(const Aws::Vector<Subscriber>& value) { SetSubscribers(value); return *this;}
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline CreateNotificationRequest& WithSubscribers(Aws::Vector<Subscriber>&& value) { SetSubscribers(std::move(value)); return *this;}
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline CreateNotificationRequest& AddSubscribers(const Subscriber& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(value); return *this; }
/**
* <p>A list of subscribers that you want to associate with the notification. Each
* notification can have one SNS subscriber and up to 10 email subscribers.</p>
*/
inline CreateNotificationRequest& AddSubscribers(Subscriber&& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(std::move(value)); return *this; }
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
Aws::Vector<Subscriber> m_subscribers;
bool m_subscribersHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of CreateNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateNotificationResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateNotificationResult
{
public:
CreateNotificationResult();
CreateNotificationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateNotificationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,218 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of CreateSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateSubscriberRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateSubscriberRequest : public BudgetsRequest
{
public:
CreateSubscriberRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateSubscriber"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline CreateSubscriberRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline CreateSubscriberRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to create a subscriber for.</p>
*/
inline CreateSubscriberRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline CreateSubscriberRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline CreateSubscriberRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget that you want to subscribe to. Budget names must be
* unique within an account.</p>
*/
inline CreateSubscriberRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline CreateSubscriberRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification that you want to create a subscriber for.</p>
*/
inline CreateSubscriberRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline const Subscriber& GetSubscriber() const{ return m_subscriber; }
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline bool SubscriberHasBeenSet() const { return m_subscriberHasBeenSet; }
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline void SetSubscriber(const Subscriber& value) { m_subscriberHasBeenSet = true; m_subscriber = value; }
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline void SetSubscriber(Subscriber&& value) { m_subscriberHasBeenSet = true; m_subscriber = std::move(value); }
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline CreateSubscriberRequest& WithSubscriber(const Subscriber& value) { SetSubscriber(value); return *this;}
/**
* <p>The subscriber that you want to associate with a budget notification.</p>
*/
inline CreateSubscriberRequest& WithSubscriber(Subscriber&& value) { SetSubscriber(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
Subscriber m_subscriber;
bool m_subscriberHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of CreateSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/CreateSubscriberResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API CreateSubscriberResult
{
public:
CreateSubscriberResult();
CreateSubscriberResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateSubscriberResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,140 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DeleteBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteBudgetRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteBudgetRequest : public BudgetsRequest
{
public:
DeleteBudgetRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBudget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline DeleteBudgetRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline DeleteBudgetRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to delete.</p>
*/
inline DeleteBudgetRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline DeleteBudgetRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline DeleteBudgetRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget that you want to delete.</p>
*/
inline DeleteBudgetRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DeleteBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteBudgetResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteBudgetResult
{
public:
DeleteBudgetResult();
DeleteBudgetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteBudgetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,175 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DeleteNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteNotificationRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteNotificationRequest : public BudgetsRequest
{
public:
DeleteNotificationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteNotification"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose notification you want to delete.</p>
*/
inline DeleteNotificationRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification that you want to delete.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification that you want to delete.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification that you want to delete.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification that you want to delete.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification that you want to delete.</p>
*/
inline DeleteNotificationRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification that you want to delete.</p>
*/
inline DeleteNotificationRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DeleteNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteNotificationResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteNotificationResult
{
public:
DeleteNotificationResult();
DeleteNotificationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteNotificationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,210 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DeleteSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteSubscriberRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteSubscriberRequest : public BudgetsRequest
{
public:
DeleteSubscriberRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteSubscriber"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification whose subscriber you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>The subscriber that you want to delete.</p>
*/
inline const Subscriber& GetSubscriber() const{ return m_subscriber; }
/**
* <p>The subscriber that you want to delete.</p>
*/
inline bool SubscriberHasBeenSet() const { return m_subscriberHasBeenSet; }
/**
* <p>The subscriber that you want to delete.</p>
*/
inline void SetSubscriber(const Subscriber& value) { m_subscriberHasBeenSet = true; m_subscriber = value; }
/**
* <p>The subscriber that you want to delete.</p>
*/
inline void SetSubscriber(Subscriber&& value) { m_subscriberHasBeenSet = true; m_subscriber = std::move(value); }
/**
* <p>The subscriber that you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithSubscriber(const Subscriber& value) { SetSubscriber(value); return *this;}
/**
* <p>The subscriber that you want to delete.</p>
*/
inline DeleteSubscriberRequest& WithSubscriber(Subscriber&& value) { SetSubscriber(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
Subscriber m_subscriber;
bool m_subscriberHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DeleteSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DeleteSubscriberResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DeleteSubscriberResult
{
public:
DeleteSubscriberResult();
DeleteSubscriberResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteSubscriberResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,182 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/TimePeriod.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
*/
class AWS_BUDGETS_API DescribeBudgetPerformanceHistoryRequest : public BudgetsRequest
{
public:
DescribeBudgetPerformanceHistoryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeBudgetPerformanceHistory"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
inline const Aws::String& GetAccountId() const{ return m_accountId; }
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
inline DescribeBudgetPerformanceHistoryRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
inline DescribeBudgetPerformanceHistoryRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline const TimePeriod& GetTimePeriod() const{ return m_timePeriod; }
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline void SetTimePeriod(const TimePeriod& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; }
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline void SetTimePeriod(TimePeriod&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); }
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline DescribeBudgetPerformanceHistoryRequest& WithTimePeriod(const TimePeriod& value) { SetTimePeriod(value); return *this;}
/**
* <p>Retrieves how often the budget went into an <code>ALARM</code> state for the
* specified time period.</p>
*/
inline DescribeBudgetPerformanceHistoryRequest& WithTimePeriod(TimePeriod&& value) { SetTimePeriod(std::move(value)); return *this;}
inline int GetMaxResults() const{ return m_maxResults; }
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
inline DescribeBudgetPerformanceHistoryRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
inline DescribeBudgetPerformanceHistoryRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
inline DescribeBudgetPerformanceHistoryRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
TimePeriod m_timePeriod;
bool m_timePeriodHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/BudgetPerformanceHistory.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
class AWS_BUDGETS_API DescribeBudgetPerformanceHistoryResult
{
public:
DescribeBudgetPerformanceHistoryResult();
DescribeBudgetPerformanceHistoryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeBudgetPerformanceHistoryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The history of how often the budget has gone into an <code>ALARM</code>
* state.</p> <p>For <code>DAILY</code> budgets, the history saves the state of the
* budget for the last 60 days. For <code>MONTHLY</code> budgets, the history saves
* the state of the budget for the current month plus the last 12 months. For
* <code>QUARTERLY</code> budgets, the history saves the state of the budget for
* the last four quarters.</p>
*/
inline const BudgetPerformanceHistory& GetBudgetPerformanceHistory() const{ return m_budgetPerformanceHistory; }
/**
* <p>The history of how often the budget has gone into an <code>ALARM</code>
* state.</p> <p>For <code>DAILY</code> budgets, the history saves the state of the
* budget for the last 60 days. For <code>MONTHLY</code> budgets, the history saves
* the state of the budget for the current month plus the last 12 months. For
* <code>QUARTERLY</code> budgets, the history saves the state of the budget for
* the last four quarters.</p>
*/
inline void SetBudgetPerformanceHistory(const BudgetPerformanceHistory& value) { m_budgetPerformanceHistory = value; }
/**
* <p>The history of how often the budget has gone into an <code>ALARM</code>
* state.</p> <p>For <code>DAILY</code> budgets, the history saves the state of the
* budget for the last 60 days. For <code>MONTHLY</code> budgets, the history saves
* the state of the budget for the current month plus the last 12 months. For
* <code>QUARTERLY</code> budgets, the history saves the state of the budget for
* the last four quarters.</p>
*/
inline void SetBudgetPerformanceHistory(BudgetPerformanceHistory&& value) { m_budgetPerformanceHistory = std::move(value); }
/**
* <p>The history of how often the budget has gone into an <code>ALARM</code>
* state.</p> <p>For <code>DAILY</code> budgets, the history saves the state of the
* budget for the last 60 days. For <code>MONTHLY</code> budgets, the history saves
* the state of the budget for the current month plus the last 12 months. For
* <code>QUARTERLY</code> budgets, the history saves the state of the budget for
* the last four quarters.</p>
*/
inline DescribeBudgetPerformanceHistoryResult& WithBudgetPerformanceHistory(const BudgetPerformanceHistory& value) { SetBudgetPerformanceHistory(value); return *this;}
/**
* <p>The history of how often the budget has gone into an <code>ALARM</code>
* state.</p> <p>For <code>DAILY</code> budgets, the history saves the state of the
* budget for the last 60 days. For <code>MONTHLY</code> budgets, the history saves
* the state of the budget for the current month plus the last 12 months. For
* <code>QUARTERLY</code> budgets, the history saves the state of the budget for
* the last four quarters.</p>
*/
inline DescribeBudgetPerformanceHistoryResult& WithBudgetPerformanceHistory(BudgetPerformanceHistory&& value) { SetBudgetPerformanceHistory(std::move(value)); return *this;}
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
inline DescribeBudgetPerformanceHistoryResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
inline DescribeBudgetPerformanceHistoryResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
inline DescribeBudgetPerformanceHistoryResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
BudgetPerformanceHistory m_budgetPerformanceHistory;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,140 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DescribeBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeBudgetRequest : public BudgetsRequest
{
public:
DescribeBudgetRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeBudget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline DescribeBudgetRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline DescribeBudgetRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want a
* description of.</p>
*/
inline DescribeBudgetRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline DescribeBudgetRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline DescribeBudgetRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget that you want a description of.</p>
*/
inline DescribeBudgetRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/Budget.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DescribeBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeBudgetResult
{
public:
DescribeBudgetResult();
DescribeBudgetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeBudgetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of the budget.</p>
*/
inline const Budget& GetBudget() const{ return m_budget; }
/**
* <p>The description of the budget.</p>
*/
inline void SetBudget(const Budget& value) { m_budget = value; }
/**
* <p>The description of the budget.</p>
*/
inline void SetBudget(Budget&& value) { m_budget = std::move(value); }
/**
* <p>The description of the budget.</p>
*/
inline DescribeBudgetResult& WithBudget(const Budget& value) { SetBudget(value); return *this;}
/**
* <p>The description of the budget.</p>
*/
inline DescribeBudgetResult& WithBudget(Budget&& value) { SetBudget(std::move(value)); return *this;}
private:
Budget m_budget;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,176 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DescribeBudgets </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetsRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeBudgetsRequest : public BudgetsRequest
{
public:
DescribeBudgetsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeBudgets"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline DescribeBudgetsRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline DescribeBudgetsRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budgets that you want
* descriptions of.</p>
*/
inline DescribeBudgetsRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline DescribeBudgetsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeBudgetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeBudgetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeBudgetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,129 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Budget.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DescribeBudgets </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeBudgetsResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeBudgetsResult
{
public:
DescribeBudgetsResult();
DescribeBudgetsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeBudgetsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of budgets.</p>
*/
inline const Aws::Vector<Budget>& GetBudgets() const{ return m_budgets; }
/**
* <p>A list of budgets.</p>
*/
inline void SetBudgets(const Aws::Vector<Budget>& value) { m_budgets = value; }
/**
* <p>A list of budgets.</p>
*/
inline void SetBudgets(Aws::Vector<Budget>&& value) { m_budgets = std::move(value); }
/**
* <p>A list of budgets.</p>
*/
inline DescribeBudgetsResult& WithBudgets(const Aws::Vector<Budget>& value) { SetBudgets(value); return *this;}
/**
* <p>A list of budgets.</p>
*/
inline DescribeBudgetsResult& WithBudgets(Aws::Vector<Budget>&& value) { SetBudgets(std::move(value)); return *this;}
/**
* <p>A list of budgets.</p>
*/
inline DescribeBudgetsResult& AddBudgets(const Budget& value) { m_budgets.push_back(value); return *this; }
/**
* <p>A list of budgets.</p>
*/
inline DescribeBudgetsResult& AddBudgets(Budget&& value) { m_budgets.push_back(std::move(value)); return *this; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeBudgetsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeBudgetsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeBudgetsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Budget> m_budgets;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,220 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DescribeNotificationsForBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeNotificationsForBudgetRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeNotificationsForBudgetRequest : public BudgetsRequest
{
public:
DescribeNotificationsForBudgetRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeNotificationsForBudget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose notifications you want descriptions of.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeNotificationsForBudgetRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,129 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of GetNotificationsForBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeNotificationsForBudgetResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeNotificationsForBudgetResult
{
public:
DescribeNotificationsForBudgetResult();
DescribeNotificationsForBudgetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeNotificationsForBudgetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline const Aws::Vector<Notification>& GetNotifications() const{ return m_notifications; }
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline void SetNotifications(const Aws::Vector<Notification>& value) { m_notifications = value; }
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline void SetNotifications(Aws::Vector<Notification>&& value) { m_notifications = std::move(value); }
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline DescribeNotificationsForBudgetResult& WithNotifications(const Aws::Vector<Notification>& value) { SetNotifications(value); return *this;}
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline DescribeNotificationsForBudgetResult& WithNotifications(Aws::Vector<Notification>&& value) { SetNotifications(std::move(value)); return *this;}
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline DescribeNotificationsForBudgetResult& AddNotifications(const Notification& value) { m_notifications.push_back(value); return *this; }
/**
* <p>A list of notifications that are associated with a budget.</p>
*/
inline DescribeNotificationsForBudgetResult& AddNotifications(Notification&& value) { m_notifications.push_back(std::move(value)); return *this; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeNotificationsForBudgetResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeNotificationsForBudgetResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeNotificationsForBudgetResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Notification> m_notifications;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,255 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of DescribeSubscribersForNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeSubscribersForNotificationRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeSubscribersForNotificationRequest : public BudgetsRequest
{
public:
DescribeSubscribersForNotificationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeSubscribersForNotification"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose subscribers you want descriptions of.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification whose subscribers you want to list.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>An optional integer that represents how many entries a paginated response
* contains. The maximum is 100.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token that you include in your request to indicate the next
* set of results that you want to retrieve.</p>
*/
inline DescribeSubscribersForNotificationRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,130 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of DescribeSubscribersForNotification </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/DescribeSubscribersForNotificationResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API DescribeSubscribersForNotificationResult
{
public:
DescribeSubscribersForNotificationResult();
DescribeSubscribersForNotificationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeSubscribersForNotificationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline const Aws::Vector<Subscriber>& GetSubscribers() const{ return m_subscribers; }
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline void SetSubscribers(const Aws::Vector<Subscriber>& value) { m_subscribers = value; }
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline void SetSubscribers(Aws::Vector<Subscriber>&& value) { m_subscribers = std::move(value); }
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline DescribeSubscribersForNotificationResult& WithSubscribers(const Aws::Vector<Subscriber>& value) { SetSubscribers(value); return *this;}
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline DescribeSubscribersForNotificationResult& WithSubscribers(Aws::Vector<Subscriber>&& value) { SetSubscribers(std::move(value)); return *this;}
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline DescribeSubscribersForNotificationResult& AddSubscribers(const Subscriber& value) { m_subscribers.push_back(value); return *this; }
/**
* <p>A list of subscribers that are associated with a notification.</p>
*/
inline DescribeSubscribersForNotificationResult& AddSubscribers(Subscriber&& value) { m_subscribers.push_back(std::move(value)); return *this; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeSubscribersForNotificationResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeSubscribersForNotificationResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The pagination token in the service response that indicates the next set of
* results that you can retrieve.</p>
*/
inline DescribeSubscribersForNotificationResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Subscriber> m_subscribers;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,269 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/NotificationType.h>
#include <aws/budgets/model/ComparisonOperator.h>
#include <aws/budgets/model/ThresholdType.h>
#include <aws/budgets/model/NotificationState.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>A notification that is associated with a budget. A budget can have up to five
* notifications. </p> <p>Each notification must have at least one subscriber. A
* notification can have one SNS subscriber and up to 10 email subscribers, for a
* total of 11 subscribers.</p> <p>For example, if you have a budget for 200
* dollars and you want to be notified when you go over 160 dollars, create a
* notification with the following parameters:</p> <ul> <li> <p>A notificationType
* of <code>ACTUAL</code> </p> </li> <li> <p>A <code>thresholdType</code> of
* <code>PERCENTAGE</code> </p> </li> <li> <p>A <code>comparisonOperator</code> of
* <code>GREATER_THAN</code> </p> </li> <li> <p>A notification
* <code>threshold</code> of <code>80</code> </p> </li> </ul><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/Notification">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API Notification
{
public:
Notification();
Notification(Aws::Utils::Json::JsonView jsonValue);
Notification& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline const NotificationType& GetNotificationType() const{ return m_notificationType; }
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline bool NotificationTypeHasBeenSet() const { return m_notificationTypeHasBeenSet; }
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline void SetNotificationType(const NotificationType& value) { m_notificationTypeHasBeenSet = true; m_notificationType = value; }
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline void SetNotificationType(NotificationType&& value) { m_notificationTypeHasBeenSet = true; m_notificationType = std::move(value); }
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline Notification& WithNotificationType(const NotificationType& value) { SetNotificationType(value); return *this;}
/**
* <p>Whether the notification is for how much you have spent (<code>ACTUAL</code>)
* or for how much you're forecasted to spend (<code>FORECASTED</code>).</p>
*/
inline Notification& WithNotificationType(NotificationType&& value) { SetNotificationType(std::move(value)); return *this;}
/**
* <p>The comparison that is used for this notification.</p>
*/
inline const ComparisonOperator& GetComparisonOperator() const{ return m_comparisonOperator; }
/**
* <p>The comparison that is used for this notification.</p>
*/
inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; }
/**
* <p>The comparison that is used for this notification.</p>
*/
inline void SetComparisonOperator(const ComparisonOperator& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; }
/**
* <p>The comparison that is used for this notification.</p>
*/
inline void SetComparisonOperator(ComparisonOperator&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); }
/**
* <p>The comparison that is used for this notification.</p>
*/
inline Notification& WithComparisonOperator(const ComparisonOperator& value) { SetComparisonOperator(value); return *this;}
/**
* <p>The comparison that is used for this notification.</p>
*/
inline Notification& WithComparisonOperator(ComparisonOperator&& value) { SetComparisonOperator(std::move(value)); return *this;}
/**
* <p>The threshold that is associated with a notification. Thresholds are always a
* percentage.</p>
*/
inline double GetThreshold() const{ return m_threshold; }
/**
* <p>The threshold that is associated with a notification. Thresholds are always a
* percentage.</p>
*/
inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; }
/**
* <p>The threshold that is associated with a notification. Thresholds are always a
* percentage.</p>
*/
inline void SetThreshold(double value) { m_thresholdHasBeenSet = true; m_threshold = value; }
/**
* <p>The threshold that is associated with a notification. Thresholds are always a
* percentage.</p>
*/
inline Notification& WithThreshold(double value) { SetThreshold(value); return *this;}
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline const ThresholdType& GetThresholdType() const{ return m_thresholdType; }
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline bool ThresholdTypeHasBeenSet() const { return m_thresholdTypeHasBeenSet; }
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline void SetThresholdType(const ThresholdType& value) { m_thresholdTypeHasBeenSet = true; m_thresholdType = value; }
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline void SetThresholdType(ThresholdType&& value) { m_thresholdTypeHasBeenSet = true; m_thresholdType = std::move(value); }
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline Notification& WithThresholdType(const ThresholdType& value) { SetThresholdType(value); return *this;}
/**
* <p>The type of threshold for a notification. For <code>ABSOLUTE_VALUE</code>
* thresholds, AWS notifies you when you go over or are forecasted to go over your
* total cost threshold. For <code>PERCENTAGE</code> thresholds, AWS notifies you
* when you go over or are forecasted to go over a certain percentage of your
* forecasted spend. For example, if you have a budget for 200 dollars and you have
* a <code>PERCENTAGE</code> threshold of 80%, AWS notifies you when you go over
* 160 dollars.</p>
*/
inline Notification& WithThresholdType(ThresholdType&& value) { SetThresholdType(std::move(value)); return *this;}
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline const NotificationState& GetNotificationState() const{ return m_notificationState; }
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline bool NotificationStateHasBeenSet() const { return m_notificationStateHasBeenSet; }
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline void SetNotificationState(const NotificationState& value) { m_notificationStateHasBeenSet = true; m_notificationState = value; }
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline void SetNotificationState(NotificationState&& value) { m_notificationStateHasBeenSet = true; m_notificationState = std::move(value); }
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline Notification& WithNotificationState(const NotificationState& value) { SetNotificationState(value); return *this;}
/**
* <p>Whether this notification is in alarm. If a budget notification is in the
* <code>ALARM</code> state, you have passed the set threshold for the budget.</p>
*/
inline Notification& WithNotificationState(NotificationState&& value) { SetNotificationState(std::move(value)); return *this;}
private:
NotificationType m_notificationType;
bool m_notificationTypeHasBeenSet;
ComparisonOperator m_comparisonOperator;
bool m_comparisonOperatorHasBeenSet;
double m_threshold;
bool m_thresholdHasBeenSet;
ThresholdType m_thresholdType;
bool m_thresholdTypeHasBeenSet;
NotificationState m_notificationState;
bool m_notificationStateHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class NotificationState
{
NOT_SET,
OK,
ALARM
};
namespace NotificationStateMapper
{
AWS_BUDGETS_API NotificationState GetNotificationStateForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForNotificationState(NotificationState value);
} // namespace NotificationStateMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class NotificationType
{
NOT_SET,
ACTUAL,
FORECASTED
};
namespace NotificationTypeMapper
{
AWS_BUDGETS_API NotificationType GetNotificationTypeForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForNotificationType(NotificationType value);
} // namespace NotificationTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,126 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/Notification.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>A notification with subscribers. A notification can have one SNS subscriber
* and up to 10 email subscribers, for a total of 11 subscribers.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/NotificationWithSubscribers">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API NotificationWithSubscribers
{
public:
NotificationWithSubscribers();
NotificationWithSubscribers(Aws::Utils::Json::JsonView jsonValue);
NotificationWithSubscribers& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The notification that is associated with a budget.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification that is associated with a budget.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification that is associated with a budget.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification that is associated with a budget.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification that is associated with a budget.</p>
*/
inline NotificationWithSubscribers& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification that is associated with a budget.</p>
*/
inline NotificationWithSubscribers& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline const Aws::Vector<Subscriber>& GetSubscribers() const{ return m_subscribers; }
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline bool SubscribersHasBeenSet() const { return m_subscribersHasBeenSet; }
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline void SetSubscribers(const Aws::Vector<Subscriber>& value) { m_subscribersHasBeenSet = true; m_subscribers = value; }
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline void SetSubscribers(Aws::Vector<Subscriber>&& value) { m_subscribersHasBeenSet = true; m_subscribers = std::move(value); }
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline NotificationWithSubscribers& WithSubscribers(const Aws::Vector<Subscriber>& value) { SetSubscribers(value); return *this;}
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline NotificationWithSubscribers& WithSubscribers(Aws::Vector<Subscriber>&& value) { SetSubscribers(std::move(value)); return *this;}
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline NotificationWithSubscribers& AddSubscribers(const Subscriber& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(value); return *this; }
/**
* <p>A list of subscribers who are subscribed to this notification.</p>
*/
inline NotificationWithSubscribers& AddSubscribers(Subscriber&& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(std::move(value)); return *this; }
private:
Notification m_notification;
bool m_notificationHasBeenSet;
Aws::Vector<Subscriber> m_subscribers;
bool m_subscribersHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,152 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The amount of cost or usage that is measured for a budget.</p> <p>For
* example, a <code>Spend</code> for <code>3 GB</code> of S3 usage would have the
* following parameters:</p> <ul> <li> <p>An <code>Amount</code> of <code>3</code>
* </p> </li> <li> <p>A <code>unit</code> of <code>GB</code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/Spend">AWS API
* Reference</a></p>
*/
class AWS_BUDGETS_API Spend
{
public:
Spend();
Spend(Aws::Utils::Json::JsonView jsonValue);
Spend& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline const Aws::String& GetAmount() const{ return m_amount; }
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline void SetAmount(const Aws::String& value) { m_amountHasBeenSet = true; m_amount = value; }
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline void SetAmount(Aws::String&& value) { m_amountHasBeenSet = true; m_amount = std::move(value); }
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline void SetAmount(const char* value) { m_amountHasBeenSet = true; m_amount.assign(value); }
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline Spend& WithAmount(const Aws::String& value) { SetAmount(value); return *this;}
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline Spend& WithAmount(Aws::String&& value) { SetAmount(std::move(value)); return *this;}
/**
* <p>The cost or usage amount that is associated with a budget forecast, actual
* spend, or budget threshold.</p>
*/
inline Spend& WithAmount(const char* value) { SetAmount(value); return *this;}
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline const Aws::String& GetUnit() const{ return m_unit; }
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); }
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline Spend& WithUnit(const Aws::String& value) { SetUnit(value); return *this;}
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline Spend& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;}
/**
* <p>The unit of measurement that is used for the budget forecast, actual spend,
* or budget threshold, such as dollars or GB.</p>
*/
inline Spend& WithUnit(const char* value) { SetUnit(value); return *this;}
private:
Aws::String m_amount;
bool m_amountHasBeenSet;
Aws::String m_unit;
bool m_unitHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,144 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/model/SubscriptionType.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The subscriber to a budget notification. The subscriber consists of a
* subscription type and either an Amazon SNS topic or an email address.</p> <p>For
* example, an email subscriber would have the following parameters:</p> <ul> <li>
* <p>A <code>subscriptionType</code> of <code>EMAIL</code> </p> </li> <li> <p>An
* <code>address</code> of <code>example@example.com</code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/Subscriber">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API Subscriber
{
public:
Subscriber();
Subscriber(Aws::Utils::Json::JsonView jsonValue);
Subscriber& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline const SubscriptionType& GetSubscriptionType() const{ return m_subscriptionType; }
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline bool SubscriptionTypeHasBeenSet() const { return m_subscriptionTypeHasBeenSet; }
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline void SetSubscriptionType(const SubscriptionType& value) { m_subscriptionTypeHasBeenSet = true; m_subscriptionType = value; }
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline void SetSubscriptionType(SubscriptionType&& value) { m_subscriptionTypeHasBeenSet = true; m_subscriptionType = std::move(value); }
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline Subscriber& WithSubscriptionType(const SubscriptionType& value) { SetSubscriptionType(value); return *this;}
/**
* <p>The type of notification that AWS sends to a subscriber.</p>
*/
inline Subscriber& WithSubscriptionType(SubscriptionType&& value) { SetSubscriptionType(std::move(value)); return *this;}
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline const Aws::String& GetAddress() const{ return m_address; }
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; }
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; }
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); }
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); }
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline Subscriber& WithAddress(const Aws::String& value) { SetAddress(value); return *this;}
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline Subscriber& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;}
/**
* <p>The address that AWS sends budget notifications to, either an SNS topic or an
* email.</p> <p>When you create a subscriber, the value of <code>Address</code>
* can't contain line breaks.</p>
*/
inline Subscriber& WithAddress(const char* value) { SetAddress(value); return *this;}
private:
SubscriptionType m_subscriptionType;
bool m_subscriptionTypeHasBeenSet;
Aws::String m_address;
bool m_addressHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class SubscriptionType
{
NOT_SET,
SNS,
EMAIL
};
namespace SubscriptionTypeMapper
{
AWS_BUDGETS_API SubscriptionType GetSubscriptionTypeForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForSubscriptionType(SubscriptionType value);
} // namespace SubscriptionTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class ThresholdType
{
NOT_SET,
PERCENTAGE,
ABSOLUTE_VALUE
};
namespace ThresholdTypeMapper
{
AWS_BUDGETS_API ThresholdType GetThresholdTypeForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForThresholdType(ThresholdType value);
} // namespace ThresholdTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,186 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p>The period of time that is covered by a budget. The period has a start date
* and an end date. The start date must come before the end date. There are no
* restrictions on the end date. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/TimePeriod">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API TimePeriod
{
public:
TimePeriod();
TimePeriod(Aws::Utils::Json::JsonView jsonValue);
TimePeriod& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline const Aws::Utils::DateTime& GetStart() const{ return m_start; }
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline bool StartHasBeenSet() const { return m_startHasBeenSet; }
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; }
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = std::move(value); }
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline TimePeriod& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;}
/**
* <p>The start date for a budget. If you created your budget and didn't specify a
* start date, AWS defaults to the start of your chosen time period (DAILY,
* MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on
* January 24, 2018, chose <code>DAILY</code>, and didn't set a start date, AWS set
* your start date to <code>01/24/18 00:00 UTC</code>. If you chose
* <code>MONTHLY</code>, AWS set your start date to <code>01/01/18 00:00
* UTC</code>. The defaults are the same for the AWS Billing and Cost Management
* console and the API.</p> <p>You can change your start date with the
* <code>UpdateBudget</code> operation.</p>
*/
inline TimePeriod& WithStart(Aws::Utils::DateTime&& value) { SetStart(std::move(value)); return *this;}
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline const Aws::Utils::DateTime& GetEnd() const{ return m_end; }
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline bool EndHasBeenSet() const { return m_endHasBeenSet; }
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; }
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = std::move(value); }
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline TimePeriod& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;}
/**
* <p>The end date for a budget. If you didn't specify an end date, AWS set your
* end date to <code>06/15/87 00:00 UTC</code>. The defaults are the same for the
* AWS Billing and Cost Management console and the API.</p> <p>After the end date,
* AWS deletes the budget and all associated notifications and subscribers. You can
* change your end date with the <code>UpdateBudget</code> operation.</p>
*/
inline TimePeriod& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(std::move(value)); return *this;}
private:
Aws::Utils::DateTime m_start;
bool m_startHasBeenSet;
Aws::Utils::DateTime m_end;
bool m_endHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Budgets
{
namespace Model
{
enum class TimeUnit
{
NOT_SET,
DAILY,
MONTHLY,
QUARTERLY,
ANNUALLY
};
namespace TimeUnitMapper
{
AWS_BUDGETS_API TimeUnit GetTimeUnitForName(const Aws::String& name);
AWS_BUDGETS_API Aws::String GetNameForTimeUnit(TimeUnit value);
} // namespace TimeUnitMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Budget.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of UpdateBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateBudgetRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateBudgetRequest : public BudgetsRequest
{
public:
UpdateBudgetRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateBudget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline UpdateBudgetRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline UpdateBudgetRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget that you want
* to update.</p>
*/
inline UpdateBudgetRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline const Budget& GetNewBudget() const{ return m_newBudget; }
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline bool NewBudgetHasBeenSet() const { return m_newBudgetHasBeenSet; }
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline void SetNewBudget(const Budget& value) { m_newBudgetHasBeenSet = true; m_newBudget = value; }
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline void SetNewBudget(Budget&& value) { m_newBudgetHasBeenSet = true; m_newBudget = std::move(value); }
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline UpdateBudgetRequest& WithNewBudget(const Budget& value) { SetNewBudget(value); return *this;}
/**
* <p>The budget that you want to update your budget to.</p>
*/
inline UpdateBudgetRequest& WithNewBudget(Budget&& value) { SetNewBudget(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Budget m_newBudget;
bool m_newBudgetHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of UpdateBudget </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateBudgetResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateBudgetResult
{
public:
UpdateBudgetResult();
UpdateBudgetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateBudgetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,209 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of UpdateNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateNotificationRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateNotificationRequest : public BudgetsRequest
{
public:
UpdateNotificationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateNotification"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose notification you want to update.</p>
*/
inline UpdateNotificationRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline const Notification& GetOldNotification() const{ return m_oldNotification; }
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline bool OldNotificationHasBeenSet() const { return m_oldNotificationHasBeenSet; }
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline void SetOldNotification(const Notification& value) { m_oldNotificationHasBeenSet = true; m_oldNotification = value; }
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline void SetOldNotification(Notification&& value) { m_oldNotificationHasBeenSet = true; m_oldNotification = std::move(value); }
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline UpdateNotificationRequest& WithOldNotification(const Notification& value) { SetOldNotification(value); return *this;}
/**
* <p>The previous notification that is associated with a budget.</p>
*/
inline UpdateNotificationRequest& WithOldNotification(Notification&& value) { SetOldNotification(std::move(value)); return *this;}
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline const Notification& GetNewNotification() const{ return m_newNotification; }
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline bool NewNotificationHasBeenSet() const { return m_newNotificationHasBeenSet; }
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline void SetNewNotification(const Notification& value) { m_newNotificationHasBeenSet = true; m_newNotification = value; }
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline void SetNewNotification(Notification&& value) { m_newNotificationHasBeenSet = true; m_newNotification = std::move(value); }
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline UpdateNotificationRequest& WithNewNotification(const Notification& value) { SetNewNotification(value); return *this;}
/**
* <p>The updated notification to be associated with a budget.</p>
*/
inline UpdateNotificationRequest& WithNewNotification(Notification&& value) { SetNewNotification(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_oldNotification;
bool m_oldNotificationHasBeenSet;
Notification m_newNotification;
bool m_newNotificationHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of UpdateNotification </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateNotificationResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateNotificationResult
{
public:
UpdateNotificationResult();
UpdateNotificationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateNotificationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,244 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
#include <aws/budgets/BudgetsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/budgets/model/Notification.h>
#include <aws/budgets/model/Subscriber.h>
#include <utility>
namespace Aws
{
namespace Budgets
{
namespace Model
{
/**
* <p> Request of UpdateSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriberRequest">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateSubscriberRequest : public BudgetsRequest
{
public:
UpdateSubscriberRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateSubscriber"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
* <p>The <code>accountId</code> that is associated with the budget whose
* subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
/**
* <p>The name of the budget whose subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline const Notification& GetNotification() const{ return m_notification; }
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; }
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); }
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithNotification(const Notification& value) { SetNotification(value); return *this;}
/**
* <p>The notification whose subscriber you want to update.</p>
*/
inline UpdateSubscriberRequest& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;}
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline const Subscriber& GetOldSubscriber() const{ return m_oldSubscriber; }
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline bool OldSubscriberHasBeenSet() const { return m_oldSubscriberHasBeenSet; }
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline void SetOldSubscriber(const Subscriber& value) { m_oldSubscriberHasBeenSet = true; m_oldSubscriber = value; }
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline void SetOldSubscriber(Subscriber&& value) { m_oldSubscriberHasBeenSet = true; m_oldSubscriber = std::move(value); }
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline UpdateSubscriberRequest& WithOldSubscriber(const Subscriber& value) { SetOldSubscriber(value); return *this;}
/**
* <p>The previous subscriber that is associated with a budget notification.</p>
*/
inline UpdateSubscriberRequest& WithOldSubscriber(Subscriber&& value) { SetOldSubscriber(std::move(value)); return *this;}
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline const Subscriber& GetNewSubscriber() const{ return m_newSubscriber; }
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline bool NewSubscriberHasBeenSet() const { return m_newSubscriberHasBeenSet; }
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline void SetNewSubscriber(const Subscriber& value) { m_newSubscriberHasBeenSet = true; m_newSubscriber = value; }
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline void SetNewSubscriber(Subscriber&& value) { m_newSubscriberHasBeenSet = true; m_newSubscriber = std::move(value); }
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline UpdateSubscriberRequest& WithNewSubscriber(const Subscriber& value) { SetNewSubscriber(value); return *this;}
/**
* <p>The updated subscriber that is associated with a budget notification.</p>
*/
inline UpdateSubscriberRequest& WithNewSubscriber(Subscriber&& value) { SetNewSubscriber(std::move(value)); return *this;}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet;
Aws::String m_budgetName;
bool m_budgetNameHasBeenSet;
Notification m_notification;
bool m_notificationHasBeenSet;
Subscriber m_oldSubscriber;
bool m_oldSubscriberHasBeenSet;
Subscriber m_newSubscriber;
bool m_newSubscriberHasBeenSet;
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/budgets/Budgets_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Budgets
{
namespace Model
{
/**
* <p> Response of UpdateSubscriber </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriberResponse">AWS
* API Reference</a></p>
*/
class AWS_BUDGETS_API UpdateSubscriberResult
{
public:
UpdateSubscriberResult();
UpdateSubscriberResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateSubscriberResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,488 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/utils/Outcome.h>
#include <aws/core/auth/AWSAuthSigner.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/core/client/RetryStrategy.h>
#include <aws/core/http/HttpClient.h>
#include <aws/core/http/HttpResponse.h>
#include <aws/core/http/HttpClientFactory.h>
#include <aws/core/auth/AWSCredentialsProviderChain.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <aws/core/utils/threading/Executor.h>
#include <aws/core/utils/DNS.h>
#include <aws/core/utils/logging/LogMacros.h>
#include <aws/budgets/BudgetsClient.h>
#include <aws/budgets/BudgetsEndpoint.h>
#include <aws/budgets/BudgetsErrorMarshaller.h>
#include <aws/budgets/model/CreateBudgetRequest.h>
#include <aws/budgets/model/CreateNotificationRequest.h>
#include <aws/budgets/model/CreateSubscriberRequest.h>
#include <aws/budgets/model/DeleteBudgetRequest.h>
#include <aws/budgets/model/DeleteNotificationRequest.h>
#include <aws/budgets/model/DeleteSubscriberRequest.h>
#include <aws/budgets/model/DescribeBudgetRequest.h>
#include <aws/budgets/model/DescribeBudgetPerformanceHistoryRequest.h>
#include <aws/budgets/model/DescribeBudgetsRequest.h>
#include <aws/budgets/model/DescribeNotificationsForBudgetRequest.h>
#include <aws/budgets/model/DescribeSubscribersForNotificationRequest.h>
#include <aws/budgets/model/UpdateBudgetRequest.h>
#include <aws/budgets/model/UpdateNotificationRequest.h>
#include <aws/budgets/model/UpdateSubscriberRequest.h>
using namespace Aws;
using namespace Aws::Auth;
using namespace Aws::Client;
using namespace Aws::Budgets;
using namespace Aws::Budgets::Model;
using namespace Aws::Http;
using namespace Aws::Utils::Json;
static const char* SERVICE_NAME = "budgets";
static const char* ALLOCATION_TAG = "BudgetsClient";
BudgetsClient::BudgetsClient(const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<BudgetsErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
BudgetsClient::BudgetsClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<BudgetsErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
BudgetsClient::BudgetsClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<BudgetsErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
BudgetsClient::~BudgetsClient()
{
}
void BudgetsClient::init(const ClientConfiguration& config)
{
SetServiceClientName("Budgets");
m_configScheme = SchemeMapper::ToString(config.scheme);
if (config.endpointOverride.empty())
{
m_uri = m_configScheme + "://" + BudgetsEndpoint::ForRegion(config.region, config.useDualStack);
}
else
{
OverrideEndpoint(config.endpointOverride);
}
}
void BudgetsClient::OverrideEndpoint(const Aws::String& endpoint)
{
if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
{
m_uri = endpoint;
}
else
{
m_uri = m_configScheme + "://" + endpoint;
}
}
CreateBudgetOutcome BudgetsClient::CreateBudget(const CreateBudgetRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateBudgetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateBudgetOutcomeCallable BudgetsClient::CreateBudgetCallable(const CreateBudgetRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateBudgetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateBudget(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::CreateBudgetAsync(const CreateBudgetRequest& request, const CreateBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateBudgetAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::CreateBudgetAsyncHelper(const CreateBudgetRequest& request, const CreateBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateBudget(request), context);
}
CreateNotificationOutcome BudgetsClient::CreateNotification(const CreateNotificationRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateNotificationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateNotificationOutcomeCallable BudgetsClient::CreateNotificationCallable(const CreateNotificationRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateNotificationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateNotification(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::CreateNotificationAsync(const CreateNotificationRequest& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateNotificationAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::CreateNotificationAsyncHelper(const CreateNotificationRequest& request, const CreateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateNotification(request), context);
}
CreateSubscriberOutcome BudgetsClient::CreateSubscriber(const CreateSubscriberRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateSubscriberOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateSubscriberOutcomeCallable BudgetsClient::CreateSubscriberCallable(const CreateSubscriberRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateSubscriberOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateSubscriber(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::CreateSubscriberAsync(const CreateSubscriberRequest& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateSubscriberAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::CreateSubscriberAsyncHelper(const CreateSubscriberRequest& request, const CreateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateSubscriber(request), context);
}
DeleteBudgetOutcome BudgetsClient::DeleteBudget(const DeleteBudgetRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteBudgetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteBudgetOutcomeCallable BudgetsClient::DeleteBudgetCallable(const DeleteBudgetRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteBudgetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBudget(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DeleteBudgetAsync(const DeleteBudgetRequest& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteBudgetAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DeleteBudgetAsyncHelper(const DeleteBudgetRequest& request, const DeleteBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteBudget(request), context);
}
DeleteNotificationOutcome BudgetsClient::DeleteNotification(const DeleteNotificationRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteNotificationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteNotificationOutcomeCallable BudgetsClient::DeleteNotificationCallable(const DeleteNotificationRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteNotificationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteNotification(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DeleteNotificationAsync(const DeleteNotificationRequest& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteNotificationAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DeleteNotificationAsyncHelper(const DeleteNotificationRequest& request, const DeleteNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteNotification(request), context);
}
DeleteSubscriberOutcome BudgetsClient::DeleteSubscriber(const DeleteSubscriberRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteSubscriberOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteSubscriberOutcomeCallable BudgetsClient::DeleteSubscriberCallable(const DeleteSubscriberRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteSubscriberOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteSubscriber(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DeleteSubscriberAsync(const DeleteSubscriberRequest& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteSubscriberAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DeleteSubscriberAsyncHelper(const DeleteSubscriberRequest& request, const DeleteSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteSubscriber(request), context);
}
DescribeBudgetOutcome BudgetsClient::DescribeBudget(const DescribeBudgetRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeBudgetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeBudgetOutcomeCallable BudgetsClient::DescribeBudgetCallable(const DescribeBudgetRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeBudgetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeBudget(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DescribeBudgetAsync(const DescribeBudgetRequest& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeBudgetAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DescribeBudgetAsyncHelper(const DescribeBudgetRequest& request, const DescribeBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeBudget(request), context);
}
DescribeBudgetPerformanceHistoryOutcome BudgetsClient::DescribeBudgetPerformanceHistory(const DescribeBudgetPerformanceHistoryRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeBudgetPerformanceHistoryOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeBudgetPerformanceHistoryOutcomeCallable BudgetsClient::DescribeBudgetPerformanceHistoryCallable(const DescribeBudgetPerformanceHistoryRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeBudgetPerformanceHistoryOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeBudgetPerformanceHistory(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DescribeBudgetPerformanceHistoryAsync(const DescribeBudgetPerformanceHistoryRequest& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeBudgetPerformanceHistoryAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DescribeBudgetPerformanceHistoryAsyncHelper(const DescribeBudgetPerformanceHistoryRequest& request, const DescribeBudgetPerformanceHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeBudgetPerformanceHistory(request), context);
}
DescribeBudgetsOutcome BudgetsClient::DescribeBudgets(const DescribeBudgetsRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeBudgetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeBudgetsOutcomeCallable BudgetsClient::DescribeBudgetsCallable(const DescribeBudgetsRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeBudgetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeBudgets(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DescribeBudgetsAsync(const DescribeBudgetsRequest& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeBudgetsAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DescribeBudgetsAsyncHelper(const DescribeBudgetsRequest& request, const DescribeBudgetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeBudgets(request), context);
}
DescribeNotificationsForBudgetOutcome BudgetsClient::DescribeNotificationsForBudget(const DescribeNotificationsForBudgetRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeNotificationsForBudgetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeNotificationsForBudgetOutcomeCallable BudgetsClient::DescribeNotificationsForBudgetCallable(const DescribeNotificationsForBudgetRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeNotificationsForBudgetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeNotificationsForBudget(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DescribeNotificationsForBudgetAsync(const DescribeNotificationsForBudgetRequest& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeNotificationsForBudgetAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DescribeNotificationsForBudgetAsyncHelper(const DescribeNotificationsForBudgetRequest& request, const DescribeNotificationsForBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeNotificationsForBudget(request), context);
}
DescribeSubscribersForNotificationOutcome BudgetsClient::DescribeSubscribersForNotification(const DescribeSubscribersForNotificationRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeSubscribersForNotificationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeSubscribersForNotificationOutcomeCallable BudgetsClient::DescribeSubscribersForNotificationCallable(const DescribeSubscribersForNotificationRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeSubscribersForNotificationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeSubscribersForNotification(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::DescribeSubscribersForNotificationAsync(const DescribeSubscribersForNotificationRequest& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeSubscribersForNotificationAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::DescribeSubscribersForNotificationAsyncHelper(const DescribeSubscribersForNotificationRequest& request, const DescribeSubscribersForNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeSubscribersForNotification(request), context);
}
UpdateBudgetOutcome BudgetsClient::UpdateBudget(const UpdateBudgetRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateBudgetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateBudgetOutcomeCallable BudgetsClient::UpdateBudgetCallable(const UpdateBudgetRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateBudgetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateBudget(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::UpdateBudgetAsync(const UpdateBudgetRequest& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateBudgetAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::UpdateBudgetAsyncHelper(const UpdateBudgetRequest& request, const UpdateBudgetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateBudget(request), context);
}
UpdateNotificationOutcome BudgetsClient::UpdateNotification(const UpdateNotificationRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateNotificationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateNotificationOutcomeCallable BudgetsClient::UpdateNotificationCallable(const UpdateNotificationRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateNotificationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateNotification(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::UpdateNotificationAsync(const UpdateNotificationRequest& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateNotificationAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::UpdateNotificationAsyncHelper(const UpdateNotificationRequest& request, const UpdateNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateNotification(request), context);
}
UpdateSubscriberOutcome BudgetsClient::UpdateSubscriber(const UpdateSubscriberRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateSubscriberOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateSubscriberOutcomeCallable BudgetsClient::UpdateSubscriberCallable(const UpdateSubscriberRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateSubscriberOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateSubscriber(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void BudgetsClient::UpdateSubscriberAsync(const UpdateSubscriberRequest& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateSubscriberAsyncHelper( request, handler, context ); } );
}
void BudgetsClient::UpdateSubscriberAsyncHelper(const UpdateSubscriberRequest& request, const UpdateSubscriberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateSubscriber(request), context);
}

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/BudgetsEndpoint.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <aws/core/utils/HashingUtils.h>
using namespace Aws;
using namespace Aws::Budgets;
namespace Aws
{
namespace Budgets
{
namespace BudgetsEndpoint
{
Aws::String ForRegion(const Aws::String& regionName, bool useDualStack)
{
AWS_UNREFERENCED_PARAM(regionName);
AWS_UNREFERENCED_PARAM(useDualStack);
return "budgets.amazonaws.com";
}
} // namespace BudgetsEndpoint
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,22 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/client/AWSError.h>
#include <aws/budgets/BudgetsErrorMarshaller.h>
#include <aws/budgets/BudgetsErrors.h>
using namespace Aws::Client;
using namespace Aws::Budgets;
AWSError<CoreErrors> BudgetsErrorMarshaller::FindErrorByName(const char* errorName) const
{
AWSError<CoreErrors> error = BudgetsErrorMapper::GetErrorForName(errorName);
if(error.GetErrorType() != CoreErrors::UNKNOWN)
{
return error;
}
return AWSErrorMarshaller::FindErrorByName(errorName);
}

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/client/AWSError.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/budgets/BudgetsErrors.h>
using namespace Aws::Client;
using namespace Aws::Utils;
using namespace Aws::Budgets;
namespace Aws
{
namespace Budgets
{
namespace BudgetsErrorMapper
{
static const int INTERNAL_ERROR_HASH = HashingUtils::HashString("InternalErrorException");
static const int NOT_FOUND_HASH = HashingUtils::HashString("NotFoundException");
static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException");
static const int DUPLICATE_RECORD_HASH = HashingUtils::HashString("DuplicateRecordException");
static const int CREATION_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("CreationLimitExceededException");
static const int INVALID_NEXT_TOKEN_HASH = HashingUtils::HashString("InvalidNextTokenException");
static const int EXPIRED_NEXT_TOKEN_HASH = HashingUtils::HashString("ExpiredNextTokenException");
AWSError<CoreErrors> GetErrorForName(const char* errorName)
{
int hashCode = HashingUtils::HashString(errorName);
if (hashCode == INTERNAL_ERROR_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::INTERNAL_ERROR), false);
}
else if (hashCode == NOT_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::NOT_FOUND), false);
}
else if (hashCode == INVALID_PARAMETER_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::INVALID_PARAMETER), false);
}
else if (hashCode == DUPLICATE_RECORD_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::DUPLICATE_RECORD), false);
}
else if (hashCode == CREATION_LIMIT_EXCEEDED_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::CREATION_LIMIT_EXCEEDED), false);
}
else if (hashCode == INVALID_NEXT_TOKEN_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::INVALID_NEXT_TOKEN), false);
}
else if (hashCode == EXPIRED_NEXT_TOKEN_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(BudgetsErrors::EXPIRED_NEXT_TOKEN), false);
}
return AWSError<CoreErrors>(CoreErrors::UNKNOWN, false);
}
} // namespace BudgetsErrorMapper
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,223 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/Budget.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
Budget::Budget() :
m_budgetNameHasBeenSet(false),
m_budgetLimitHasBeenSet(false),
m_plannedBudgetLimitsHasBeenSet(false),
m_costFiltersHasBeenSet(false),
m_costTypesHasBeenSet(false),
m_timeUnit(TimeUnit::NOT_SET),
m_timeUnitHasBeenSet(false),
m_timePeriodHasBeenSet(false),
m_calculatedSpendHasBeenSet(false),
m_budgetType(BudgetType::NOT_SET),
m_budgetTypeHasBeenSet(false),
m_lastUpdatedTimeHasBeenSet(false)
{
}
Budget::Budget(JsonView jsonValue) :
m_budgetNameHasBeenSet(false),
m_budgetLimitHasBeenSet(false),
m_plannedBudgetLimitsHasBeenSet(false),
m_costFiltersHasBeenSet(false),
m_costTypesHasBeenSet(false),
m_timeUnit(TimeUnit::NOT_SET),
m_timeUnitHasBeenSet(false),
m_timePeriodHasBeenSet(false),
m_calculatedSpendHasBeenSet(false),
m_budgetType(BudgetType::NOT_SET),
m_budgetTypeHasBeenSet(false),
m_lastUpdatedTimeHasBeenSet(false)
{
*this = jsonValue;
}
Budget& Budget::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("BudgetName"))
{
m_budgetName = jsonValue.GetString("BudgetName");
m_budgetNameHasBeenSet = true;
}
if(jsonValue.ValueExists("BudgetLimit"))
{
m_budgetLimit = jsonValue.GetObject("BudgetLimit");
m_budgetLimitHasBeenSet = true;
}
if(jsonValue.ValueExists("PlannedBudgetLimits"))
{
Aws::Map<Aws::String, JsonView> plannedBudgetLimitsJsonMap = jsonValue.GetObject("PlannedBudgetLimits").GetAllObjects();
for(auto& plannedBudgetLimitsItem : plannedBudgetLimitsJsonMap)
{
m_plannedBudgetLimits[plannedBudgetLimitsItem.first] = plannedBudgetLimitsItem.second.AsObject();
}
m_plannedBudgetLimitsHasBeenSet = true;
}
if(jsonValue.ValueExists("CostFilters"))
{
Aws::Map<Aws::String, JsonView> costFiltersJsonMap = jsonValue.GetObject("CostFilters").GetAllObjects();
for(auto& costFiltersItem : costFiltersJsonMap)
{
Array<JsonView> dimensionValuesJsonList = costFiltersItem.second.AsArray();
Aws::Vector<Aws::String> dimensionValuesList;
dimensionValuesList.reserve((size_t)dimensionValuesJsonList.GetLength());
for(unsigned dimensionValuesIndex = 0; dimensionValuesIndex < dimensionValuesJsonList.GetLength(); ++dimensionValuesIndex)
{
dimensionValuesList.push_back(dimensionValuesJsonList[dimensionValuesIndex].AsString());
}
m_costFilters[costFiltersItem.first] = std::move(dimensionValuesList);
}
m_costFiltersHasBeenSet = true;
}
if(jsonValue.ValueExists("CostTypes"))
{
m_costTypes = jsonValue.GetObject("CostTypes");
m_costTypesHasBeenSet = true;
}
if(jsonValue.ValueExists("TimeUnit"))
{
m_timeUnit = TimeUnitMapper::GetTimeUnitForName(jsonValue.GetString("TimeUnit"));
m_timeUnitHasBeenSet = true;
}
if(jsonValue.ValueExists("TimePeriod"))
{
m_timePeriod = jsonValue.GetObject("TimePeriod");
m_timePeriodHasBeenSet = true;
}
if(jsonValue.ValueExists("CalculatedSpend"))
{
m_calculatedSpend = jsonValue.GetObject("CalculatedSpend");
m_calculatedSpendHasBeenSet = true;
}
if(jsonValue.ValueExists("BudgetType"))
{
m_budgetType = BudgetTypeMapper::GetBudgetTypeForName(jsonValue.GetString("BudgetType"));
m_budgetTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("LastUpdatedTime"))
{
m_lastUpdatedTime = jsonValue.GetDouble("LastUpdatedTime");
m_lastUpdatedTimeHasBeenSet = true;
}
return *this;
}
JsonValue Budget::Jsonize() const
{
JsonValue payload;
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_budgetLimitHasBeenSet)
{
payload.WithObject("BudgetLimit", m_budgetLimit.Jsonize());
}
if(m_plannedBudgetLimitsHasBeenSet)
{
JsonValue plannedBudgetLimitsJsonMap;
for(auto& plannedBudgetLimitsItem : m_plannedBudgetLimits)
{
plannedBudgetLimitsJsonMap.WithObject(plannedBudgetLimitsItem.first, plannedBudgetLimitsItem.second.Jsonize());
}
payload.WithObject("PlannedBudgetLimits", std::move(plannedBudgetLimitsJsonMap));
}
if(m_costFiltersHasBeenSet)
{
JsonValue costFiltersJsonMap;
for(auto& costFiltersItem : m_costFilters)
{
Array<JsonValue> dimensionValuesJsonList(costFiltersItem.second.size());
for(unsigned dimensionValuesIndex = 0; dimensionValuesIndex < dimensionValuesJsonList.GetLength(); ++dimensionValuesIndex)
{
dimensionValuesJsonList[dimensionValuesIndex].AsString(costFiltersItem.second[dimensionValuesIndex]);
}
costFiltersJsonMap.WithArray(costFiltersItem.first, std::move(dimensionValuesJsonList));
}
payload.WithObject("CostFilters", std::move(costFiltersJsonMap));
}
if(m_costTypesHasBeenSet)
{
payload.WithObject("CostTypes", m_costTypes.Jsonize());
}
if(m_timeUnitHasBeenSet)
{
payload.WithString("TimeUnit", TimeUnitMapper::GetNameForTimeUnit(m_timeUnit));
}
if(m_timePeriodHasBeenSet)
{
payload.WithObject("TimePeriod", m_timePeriod.Jsonize());
}
if(m_calculatedSpendHasBeenSet)
{
payload.WithObject("CalculatedSpend", m_calculatedSpend.Jsonize());
}
if(m_budgetTypeHasBeenSet)
{
payload.WithString("BudgetType", BudgetTypeMapper::GetNameForBudgetType(m_budgetType));
}
if(m_lastUpdatedTimeHasBeenSet)
{
payload.WithDouble("LastUpdatedTime", m_lastUpdatedTime.SecondsWithMSPrecision());
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,164 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/BudgetPerformanceHistory.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
BudgetPerformanceHistory::BudgetPerformanceHistory() :
m_budgetNameHasBeenSet(false),
m_budgetType(BudgetType::NOT_SET),
m_budgetTypeHasBeenSet(false),
m_costFiltersHasBeenSet(false),
m_costTypesHasBeenSet(false),
m_timeUnit(TimeUnit::NOT_SET),
m_timeUnitHasBeenSet(false),
m_budgetedAndActualAmountsListHasBeenSet(false)
{
}
BudgetPerformanceHistory::BudgetPerformanceHistory(JsonView jsonValue) :
m_budgetNameHasBeenSet(false),
m_budgetType(BudgetType::NOT_SET),
m_budgetTypeHasBeenSet(false),
m_costFiltersHasBeenSet(false),
m_costTypesHasBeenSet(false),
m_timeUnit(TimeUnit::NOT_SET),
m_timeUnitHasBeenSet(false),
m_budgetedAndActualAmountsListHasBeenSet(false)
{
*this = jsonValue;
}
BudgetPerformanceHistory& BudgetPerformanceHistory::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("BudgetName"))
{
m_budgetName = jsonValue.GetString("BudgetName");
m_budgetNameHasBeenSet = true;
}
if(jsonValue.ValueExists("BudgetType"))
{
m_budgetType = BudgetTypeMapper::GetBudgetTypeForName(jsonValue.GetString("BudgetType"));
m_budgetTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("CostFilters"))
{
Aws::Map<Aws::String, JsonView> costFiltersJsonMap = jsonValue.GetObject("CostFilters").GetAllObjects();
for(auto& costFiltersItem : costFiltersJsonMap)
{
Array<JsonView> dimensionValuesJsonList = costFiltersItem.second.AsArray();
Aws::Vector<Aws::String> dimensionValuesList;
dimensionValuesList.reserve((size_t)dimensionValuesJsonList.GetLength());
for(unsigned dimensionValuesIndex = 0; dimensionValuesIndex < dimensionValuesJsonList.GetLength(); ++dimensionValuesIndex)
{
dimensionValuesList.push_back(dimensionValuesJsonList[dimensionValuesIndex].AsString());
}
m_costFilters[costFiltersItem.first] = std::move(dimensionValuesList);
}
m_costFiltersHasBeenSet = true;
}
if(jsonValue.ValueExists("CostTypes"))
{
m_costTypes = jsonValue.GetObject("CostTypes");
m_costTypesHasBeenSet = true;
}
if(jsonValue.ValueExists("TimeUnit"))
{
m_timeUnit = TimeUnitMapper::GetTimeUnitForName(jsonValue.GetString("TimeUnit"));
m_timeUnitHasBeenSet = true;
}
if(jsonValue.ValueExists("BudgetedAndActualAmountsList"))
{
Array<JsonView> budgetedAndActualAmountsListJsonList = jsonValue.GetArray("BudgetedAndActualAmountsList");
for(unsigned budgetedAndActualAmountsListIndex = 0; budgetedAndActualAmountsListIndex < budgetedAndActualAmountsListJsonList.GetLength(); ++budgetedAndActualAmountsListIndex)
{
m_budgetedAndActualAmountsList.push_back(budgetedAndActualAmountsListJsonList[budgetedAndActualAmountsListIndex].AsObject());
}
m_budgetedAndActualAmountsListHasBeenSet = true;
}
return *this;
}
JsonValue BudgetPerformanceHistory::Jsonize() const
{
JsonValue payload;
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_budgetTypeHasBeenSet)
{
payload.WithString("BudgetType", BudgetTypeMapper::GetNameForBudgetType(m_budgetType));
}
if(m_costFiltersHasBeenSet)
{
JsonValue costFiltersJsonMap;
for(auto& costFiltersItem : m_costFilters)
{
Array<JsonValue> dimensionValuesJsonList(costFiltersItem.second.size());
for(unsigned dimensionValuesIndex = 0; dimensionValuesIndex < dimensionValuesJsonList.GetLength(); ++dimensionValuesIndex)
{
dimensionValuesJsonList[dimensionValuesIndex].AsString(costFiltersItem.second[dimensionValuesIndex]);
}
costFiltersJsonMap.WithArray(costFiltersItem.first, std::move(dimensionValuesJsonList));
}
payload.WithObject("CostFilters", std::move(costFiltersJsonMap));
}
if(m_costTypesHasBeenSet)
{
payload.WithObject("CostTypes", m_costTypes.Jsonize());
}
if(m_timeUnitHasBeenSet)
{
payload.WithString("TimeUnit", TimeUnitMapper::GetNameForTimeUnit(m_timeUnit));
}
if(m_budgetedAndActualAmountsListHasBeenSet)
{
Array<JsonValue> budgetedAndActualAmountsListJsonList(m_budgetedAndActualAmountsList.size());
for(unsigned budgetedAndActualAmountsListIndex = 0; budgetedAndActualAmountsListIndex < budgetedAndActualAmountsListJsonList.GetLength(); ++budgetedAndActualAmountsListIndex)
{
budgetedAndActualAmountsListJsonList[budgetedAndActualAmountsListIndex].AsObject(m_budgetedAndActualAmountsList[budgetedAndActualAmountsListIndex].Jsonize());
}
payload.WithArray("BudgetedAndActualAmountsList", std::move(budgetedAndActualAmountsListJsonList));
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/BudgetType.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace BudgetTypeMapper
{
static const int USAGE_HASH = HashingUtils::HashString("USAGE");
static const int COST_HASH = HashingUtils::HashString("COST");
static const int RI_UTILIZATION_HASH = HashingUtils::HashString("RI_UTILIZATION");
static const int RI_COVERAGE_HASH = HashingUtils::HashString("RI_COVERAGE");
static const int SAVINGS_PLANS_UTILIZATION_HASH = HashingUtils::HashString("SAVINGS_PLANS_UTILIZATION");
static const int SAVINGS_PLANS_COVERAGE_HASH = HashingUtils::HashString("SAVINGS_PLANS_COVERAGE");
BudgetType GetBudgetTypeForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == USAGE_HASH)
{
return BudgetType::USAGE;
}
else if (hashCode == COST_HASH)
{
return BudgetType::COST;
}
else if (hashCode == RI_UTILIZATION_HASH)
{
return BudgetType::RI_UTILIZATION;
}
else if (hashCode == RI_COVERAGE_HASH)
{
return BudgetType::RI_COVERAGE;
}
else if (hashCode == SAVINGS_PLANS_UTILIZATION_HASH)
{
return BudgetType::SAVINGS_PLANS_UTILIZATION;
}
else if (hashCode == SAVINGS_PLANS_COVERAGE_HASH)
{
return BudgetType::SAVINGS_PLANS_COVERAGE;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<BudgetType>(hashCode);
}
return BudgetType::NOT_SET;
}
Aws::String GetNameForBudgetType(BudgetType enumValue)
{
switch(enumValue)
{
case BudgetType::USAGE:
return "USAGE";
case BudgetType::COST:
return "COST";
case BudgetType::RI_UTILIZATION:
return "RI_UTILIZATION";
case BudgetType::RI_COVERAGE:
return "RI_COVERAGE";
case BudgetType::SAVINGS_PLANS_UTILIZATION:
return "SAVINGS_PLANS_UTILIZATION";
case BudgetType::SAVINGS_PLANS_COVERAGE:
return "SAVINGS_PLANS_COVERAGE";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace BudgetTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/BudgetedAndActualAmounts.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
BudgetedAndActualAmounts::BudgetedAndActualAmounts() :
m_budgetedAmountHasBeenSet(false),
m_actualAmountHasBeenSet(false),
m_timePeriodHasBeenSet(false)
{
}
BudgetedAndActualAmounts::BudgetedAndActualAmounts(JsonView jsonValue) :
m_budgetedAmountHasBeenSet(false),
m_actualAmountHasBeenSet(false),
m_timePeriodHasBeenSet(false)
{
*this = jsonValue;
}
BudgetedAndActualAmounts& BudgetedAndActualAmounts::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("BudgetedAmount"))
{
m_budgetedAmount = jsonValue.GetObject("BudgetedAmount");
m_budgetedAmountHasBeenSet = true;
}
if(jsonValue.ValueExists("ActualAmount"))
{
m_actualAmount = jsonValue.GetObject("ActualAmount");
m_actualAmountHasBeenSet = true;
}
if(jsonValue.ValueExists("TimePeriod"))
{
m_timePeriod = jsonValue.GetObject("TimePeriod");
m_timePeriodHasBeenSet = true;
}
return *this;
}
JsonValue BudgetedAndActualAmounts::Jsonize() const
{
JsonValue payload;
if(m_budgetedAmountHasBeenSet)
{
payload.WithObject("BudgetedAmount", m_budgetedAmount.Jsonize());
}
if(m_actualAmountHasBeenSet)
{
payload.WithObject("ActualAmount", m_actualAmount.Jsonize());
}
if(m_timePeriodHasBeenSet)
{
payload.WithObject("TimePeriod", m_timePeriod.Jsonize());
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CalculatedSpend.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
CalculatedSpend::CalculatedSpend() :
m_actualSpendHasBeenSet(false),
m_forecastedSpendHasBeenSet(false)
{
}
CalculatedSpend::CalculatedSpend(JsonView jsonValue) :
m_actualSpendHasBeenSet(false),
m_forecastedSpendHasBeenSet(false)
{
*this = jsonValue;
}
CalculatedSpend& CalculatedSpend::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("ActualSpend"))
{
m_actualSpend = jsonValue.GetObject("ActualSpend");
m_actualSpendHasBeenSet = true;
}
if(jsonValue.ValueExists("ForecastedSpend"))
{
m_forecastedSpend = jsonValue.GetObject("ForecastedSpend");
m_forecastedSpendHasBeenSet = true;
}
return *this;
}
JsonValue CalculatedSpend::Jsonize() const
{
JsonValue payload;
if(m_actualSpendHasBeenSet)
{
payload.WithObject("ActualSpend", m_actualSpend.Jsonize());
}
if(m_forecastedSpendHasBeenSet)
{
payload.WithObject("ForecastedSpend", m_forecastedSpend.Jsonize());
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/ComparisonOperator.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace ComparisonOperatorMapper
{
static const int GREATER_THAN_HASH = HashingUtils::HashString("GREATER_THAN");
static const int LESS_THAN_HASH = HashingUtils::HashString("LESS_THAN");
static const int EQUAL_TO_HASH = HashingUtils::HashString("EQUAL_TO");
ComparisonOperator GetComparisonOperatorForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == GREATER_THAN_HASH)
{
return ComparisonOperator::GREATER_THAN;
}
else if (hashCode == LESS_THAN_HASH)
{
return ComparisonOperator::LESS_THAN;
}
else if (hashCode == EQUAL_TO_HASH)
{
return ComparisonOperator::EQUAL_TO;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<ComparisonOperator>(hashCode);
}
return ComparisonOperator::NOT_SET;
}
Aws::String GetNameForComparisonOperator(ComparisonOperator enumValue)
{
switch(enumValue)
{
case ComparisonOperator::GREATER_THAN:
return "GREATER_THAN";
case ComparisonOperator::LESS_THAN:
return "LESS_THAN";
case ComparisonOperator::EQUAL_TO:
return "EQUAL_TO";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace ComparisonOperatorMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,231 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CostTypes.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
CostTypes::CostTypes() :
m_includeTax(false),
m_includeTaxHasBeenSet(false),
m_includeSubscription(false),
m_includeSubscriptionHasBeenSet(false),
m_useBlended(false),
m_useBlendedHasBeenSet(false),
m_includeRefund(false),
m_includeRefundHasBeenSet(false),
m_includeCredit(false),
m_includeCreditHasBeenSet(false),
m_includeUpfront(false),
m_includeUpfrontHasBeenSet(false),
m_includeRecurring(false),
m_includeRecurringHasBeenSet(false),
m_includeOtherSubscription(false),
m_includeOtherSubscriptionHasBeenSet(false),
m_includeSupport(false),
m_includeSupportHasBeenSet(false),
m_includeDiscount(false),
m_includeDiscountHasBeenSet(false),
m_useAmortized(false),
m_useAmortizedHasBeenSet(false)
{
}
CostTypes::CostTypes(JsonView jsonValue) :
m_includeTax(false),
m_includeTaxHasBeenSet(false),
m_includeSubscription(false),
m_includeSubscriptionHasBeenSet(false),
m_useBlended(false),
m_useBlendedHasBeenSet(false),
m_includeRefund(false),
m_includeRefundHasBeenSet(false),
m_includeCredit(false),
m_includeCreditHasBeenSet(false),
m_includeUpfront(false),
m_includeUpfrontHasBeenSet(false),
m_includeRecurring(false),
m_includeRecurringHasBeenSet(false),
m_includeOtherSubscription(false),
m_includeOtherSubscriptionHasBeenSet(false),
m_includeSupport(false),
m_includeSupportHasBeenSet(false),
m_includeDiscount(false),
m_includeDiscountHasBeenSet(false),
m_useAmortized(false),
m_useAmortizedHasBeenSet(false)
{
*this = jsonValue;
}
CostTypes& CostTypes::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("IncludeTax"))
{
m_includeTax = jsonValue.GetBool("IncludeTax");
m_includeTaxHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeSubscription"))
{
m_includeSubscription = jsonValue.GetBool("IncludeSubscription");
m_includeSubscriptionHasBeenSet = true;
}
if(jsonValue.ValueExists("UseBlended"))
{
m_useBlended = jsonValue.GetBool("UseBlended");
m_useBlendedHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeRefund"))
{
m_includeRefund = jsonValue.GetBool("IncludeRefund");
m_includeRefundHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeCredit"))
{
m_includeCredit = jsonValue.GetBool("IncludeCredit");
m_includeCreditHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeUpfront"))
{
m_includeUpfront = jsonValue.GetBool("IncludeUpfront");
m_includeUpfrontHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeRecurring"))
{
m_includeRecurring = jsonValue.GetBool("IncludeRecurring");
m_includeRecurringHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeOtherSubscription"))
{
m_includeOtherSubscription = jsonValue.GetBool("IncludeOtherSubscription");
m_includeOtherSubscriptionHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeSupport"))
{
m_includeSupport = jsonValue.GetBool("IncludeSupport");
m_includeSupportHasBeenSet = true;
}
if(jsonValue.ValueExists("IncludeDiscount"))
{
m_includeDiscount = jsonValue.GetBool("IncludeDiscount");
m_includeDiscountHasBeenSet = true;
}
if(jsonValue.ValueExists("UseAmortized"))
{
m_useAmortized = jsonValue.GetBool("UseAmortized");
m_useAmortizedHasBeenSet = true;
}
return *this;
}
JsonValue CostTypes::Jsonize() const
{
JsonValue payload;
if(m_includeTaxHasBeenSet)
{
payload.WithBool("IncludeTax", m_includeTax);
}
if(m_includeSubscriptionHasBeenSet)
{
payload.WithBool("IncludeSubscription", m_includeSubscription);
}
if(m_useBlendedHasBeenSet)
{
payload.WithBool("UseBlended", m_useBlended);
}
if(m_includeRefundHasBeenSet)
{
payload.WithBool("IncludeRefund", m_includeRefund);
}
if(m_includeCreditHasBeenSet)
{
payload.WithBool("IncludeCredit", m_includeCredit);
}
if(m_includeUpfrontHasBeenSet)
{
payload.WithBool("IncludeUpfront", m_includeUpfront);
}
if(m_includeRecurringHasBeenSet)
{
payload.WithBool("IncludeRecurring", m_includeRecurring);
}
if(m_includeOtherSubscriptionHasBeenSet)
{
payload.WithBool("IncludeOtherSubscription", m_includeOtherSubscription);
}
if(m_includeSupportHasBeenSet)
{
payload.WithBool("IncludeSupport", m_includeSupport);
}
if(m_includeDiscountHasBeenSet)
{
payload.WithBool("IncludeDiscount", m_includeDiscount);
}
if(m_useAmortizedHasBeenSet)
{
payload.WithBool("UseAmortized", m_useAmortized);
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,62 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateBudgetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateBudgetRequest::CreateBudgetRequest() :
m_accountIdHasBeenSet(false),
m_budgetHasBeenSet(false),
m_notificationsWithSubscribersHasBeenSet(false)
{
}
Aws::String CreateBudgetRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetHasBeenSet)
{
payload.WithObject("Budget", m_budget.Jsonize());
}
if(m_notificationsWithSubscribersHasBeenSet)
{
Array<JsonValue> notificationsWithSubscribersJsonList(m_notificationsWithSubscribers.size());
for(unsigned notificationsWithSubscribersIndex = 0; notificationsWithSubscribersIndex < notificationsWithSubscribersJsonList.GetLength(); ++notificationsWithSubscribersIndex)
{
notificationsWithSubscribersJsonList[notificationsWithSubscribersIndex].AsObject(m_notificationsWithSubscribers[notificationsWithSubscribersIndex].Jsonize());
}
payload.WithArray("NotificationsWithSubscribers", std::move(notificationsWithSubscribersJsonList));
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateBudgetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.CreateBudget"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateBudgetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateBudgetResult::CreateBudgetResult()
{
}
CreateBudgetResult::CreateBudgetResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateBudgetResult& CreateBudgetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,69 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateNotificationRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateNotificationRequest::CreateNotificationRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false),
m_subscribersHasBeenSet(false)
{
}
Aws::String CreateNotificationRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_subscribersHasBeenSet)
{
Array<JsonValue> subscribersJsonList(m_subscribers.size());
for(unsigned subscribersIndex = 0; subscribersIndex < subscribersJsonList.GetLength(); ++subscribersIndex)
{
subscribersJsonList[subscribersIndex].AsObject(m_subscribers[subscribersIndex].Jsonize());
}
payload.WithArray("Subscribers", std::move(subscribersJsonList));
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateNotificationRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.CreateNotification"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateNotificationResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateNotificationResult::CreateNotificationResult()
{
}
CreateNotificationResult::CreateNotificationResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateNotificationResult& CreateNotificationResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateSubscriberRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateSubscriberRequest::CreateSubscriberRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false),
m_subscriberHasBeenSet(false)
{
}
Aws::String CreateSubscriberRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_subscriberHasBeenSet)
{
payload.WithObject("Subscriber", m_subscriber.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateSubscriberRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.CreateSubscriber"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/CreateSubscriberResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateSubscriberResult::CreateSubscriberResult()
{
}
CreateSubscriberResult::CreateSubscriberResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateSubscriberResult& CreateSubscriberResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,50 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteBudgetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteBudgetRequest::DeleteBudgetRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false)
{
}
Aws::String DeleteBudgetRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteBudgetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DeleteBudget"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteBudgetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DeleteBudgetResult::DeleteBudgetResult()
{
}
DeleteBudgetResult::DeleteBudgetResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DeleteBudgetResult& DeleteBudgetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteNotificationRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteNotificationRequest::DeleteNotificationRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false)
{
}
Aws::String DeleteNotificationRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteNotificationRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DeleteNotification"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteNotificationResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DeleteNotificationResult::DeleteNotificationResult()
{
}
DeleteNotificationResult::DeleteNotificationResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DeleteNotificationResult& DeleteNotificationResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteSubscriberRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteSubscriberRequest::DeleteSubscriberRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false),
m_subscriberHasBeenSet(false)
{
}
Aws::String DeleteSubscriberRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_subscriberHasBeenSet)
{
payload.WithObject("Subscriber", m_subscriber.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteSubscriberRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DeleteSubscriber"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DeleteSubscriberResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DeleteSubscriberResult::DeleteSubscriberResult()
{
}
DeleteSubscriberResult::DeleteSubscriberResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DeleteSubscriberResult& DeleteSubscriberResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetPerformanceHistoryRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeBudgetPerformanceHistoryRequest::DescribeBudgetPerformanceHistoryRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_timePeriodHasBeenSet(false),
m_maxResults(0),
m_maxResultsHasBeenSet(false),
m_nextTokenHasBeenSet(false)
{
}
Aws::String DescribeBudgetPerformanceHistoryRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_timePeriodHasBeenSet)
{
payload.WithObject("TimePeriod", m_timePeriod.Jsonize());
}
if(m_maxResultsHasBeenSet)
{
payload.WithInteger("MaxResults", m_maxResults);
}
if(m_nextTokenHasBeenSet)
{
payload.WithString("NextToken", m_nextToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeBudgetPerformanceHistoryRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DescribeBudgetPerformanceHistory"));
return headers;
}

View File

@@ -0,0 +1,46 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetPerformanceHistoryResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeBudgetPerformanceHistoryResult::DescribeBudgetPerformanceHistoryResult()
{
}
DescribeBudgetPerformanceHistoryResult::DescribeBudgetPerformanceHistoryResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeBudgetPerformanceHistoryResult& DescribeBudgetPerformanceHistoryResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("BudgetPerformanceHistory"))
{
m_budgetPerformanceHistory = jsonValue.GetObject("BudgetPerformanceHistory");
}
if(jsonValue.ValueExists("NextToken"))
{
m_nextToken = jsonValue.GetString("NextToken");
}
return *this;
}

View File

@@ -0,0 +1,50 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeBudgetRequest::DescribeBudgetRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false)
{
}
Aws::String DescribeBudgetRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeBudgetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DescribeBudget"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeBudgetResult::DescribeBudgetResult()
{
}
DescribeBudgetResult::DescribeBudgetResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeBudgetResult& DescribeBudgetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Budget"))
{
m_budget = jsonValue.GetObject("Budget");
}
return *this;
}

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetsRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeBudgetsRequest::DescribeBudgetsRequest() :
m_accountIdHasBeenSet(false),
m_maxResults(0),
m_maxResultsHasBeenSet(false),
m_nextTokenHasBeenSet(false)
{
}
Aws::String DescribeBudgetsRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_maxResultsHasBeenSet)
{
payload.WithInteger("MaxResults", m_maxResults);
}
if(m_nextTokenHasBeenSet)
{
payload.WithString("NextToken", m_nextToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeBudgetsRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DescribeBudgets"));
return headers;
}

View File

@@ -0,0 +1,49 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeBudgetsResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeBudgetsResult::DescribeBudgetsResult()
{
}
DescribeBudgetsResult::DescribeBudgetsResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeBudgetsResult& DescribeBudgetsResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Budgets"))
{
Array<JsonView> budgetsJsonList = jsonValue.GetArray("Budgets");
for(unsigned budgetsIndex = 0; budgetsIndex < budgetsJsonList.GetLength(); ++budgetsIndex)
{
m_budgets.push_back(budgetsJsonList[budgetsIndex].AsObject());
}
}
if(jsonValue.ValueExists("NextToken"))
{
m_nextToken = jsonValue.GetString("NextToken");
}
return *this;
}

View File

@@ -0,0 +1,65 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeNotificationsForBudgetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeNotificationsForBudgetRequest::DescribeNotificationsForBudgetRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_maxResults(0),
m_maxResultsHasBeenSet(false),
m_nextTokenHasBeenSet(false)
{
}
Aws::String DescribeNotificationsForBudgetRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_maxResultsHasBeenSet)
{
payload.WithInteger("MaxResults", m_maxResults);
}
if(m_nextTokenHasBeenSet)
{
payload.WithString("NextToken", m_nextToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeNotificationsForBudgetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DescribeNotificationsForBudget"));
return headers;
}

View File

@@ -0,0 +1,49 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeNotificationsForBudgetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeNotificationsForBudgetResult::DescribeNotificationsForBudgetResult()
{
}
DescribeNotificationsForBudgetResult::DescribeNotificationsForBudgetResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeNotificationsForBudgetResult& DescribeNotificationsForBudgetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Notifications"))
{
Array<JsonView> notificationsJsonList = jsonValue.GetArray("Notifications");
for(unsigned notificationsIndex = 0; notificationsIndex < notificationsJsonList.GetLength(); ++notificationsIndex)
{
m_notifications.push_back(notificationsJsonList[notificationsIndex].AsObject());
}
}
if(jsonValue.ValueExists("NextToken"))
{
m_nextToken = jsonValue.GetString("NextToken");
}
return *this;
}

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeSubscribersForNotificationRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeSubscribersForNotificationRequest::DescribeSubscribersForNotificationRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false),
m_maxResults(0),
m_maxResultsHasBeenSet(false),
m_nextTokenHasBeenSet(false)
{
}
Aws::String DescribeSubscribersForNotificationRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_maxResultsHasBeenSet)
{
payload.WithInteger("MaxResults", m_maxResults);
}
if(m_nextTokenHasBeenSet)
{
payload.WithString("NextToken", m_nextToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeSubscribersForNotificationRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.DescribeSubscribersForNotification"));
return headers;
}

View File

@@ -0,0 +1,49 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/DescribeSubscribersForNotificationResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeSubscribersForNotificationResult::DescribeSubscribersForNotificationResult()
{
}
DescribeSubscribersForNotificationResult::DescribeSubscribersForNotificationResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeSubscribersForNotificationResult& DescribeSubscribersForNotificationResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Subscribers"))
{
Array<JsonView> subscribersJsonList = jsonValue.GetArray("Subscribers");
for(unsigned subscribersIndex = 0; subscribersIndex < subscribersJsonList.GetLength(); ++subscribersIndex)
{
m_subscribers.push_back(subscribersJsonList[subscribersIndex].AsObject());
}
}
if(jsonValue.ValueExists("NextToken"))
{
m_nextToken = jsonValue.GetString("NextToken");
}
return *this;
}

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/Notification.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
Notification::Notification() :
m_notificationType(NotificationType::NOT_SET),
m_notificationTypeHasBeenSet(false),
m_comparisonOperator(ComparisonOperator::NOT_SET),
m_comparisonOperatorHasBeenSet(false),
m_threshold(0.0),
m_thresholdHasBeenSet(false),
m_thresholdType(ThresholdType::NOT_SET),
m_thresholdTypeHasBeenSet(false),
m_notificationState(NotificationState::NOT_SET),
m_notificationStateHasBeenSet(false)
{
}
Notification::Notification(JsonView jsonValue) :
m_notificationType(NotificationType::NOT_SET),
m_notificationTypeHasBeenSet(false),
m_comparisonOperator(ComparisonOperator::NOT_SET),
m_comparisonOperatorHasBeenSet(false),
m_threshold(0.0),
m_thresholdHasBeenSet(false),
m_thresholdType(ThresholdType::NOT_SET),
m_thresholdTypeHasBeenSet(false),
m_notificationState(NotificationState::NOT_SET),
m_notificationStateHasBeenSet(false)
{
*this = jsonValue;
}
Notification& Notification::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("NotificationType"))
{
m_notificationType = NotificationTypeMapper::GetNotificationTypeForName(jsonValue.GetString("NotificationType"));
m_notificationTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("ComparisonOperator"))
{
m_comparisonOperator = ComparisonOperatorMapper::GetComparisonOperatorForName(jsonValue.GetString("ComparisonOperator"));
m_comparisonOperatorHasBeenSet = true;
}
if(jsonValue.ValueExists("Threshold"))
{
m_threshold = jsonValue.GetDouble("Threshold");
m_thresholdHasBeenSet = true;
}
if(jsonValue.ValueExists("ThresholdType"))
{
m_thresholdType = ThresholdTypeMapper::GetThresholdTypeForName(jsonValue.GetString("ThresholdType"));
m_thresholdTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("NotificationState"))
{
m_notificationState = NotificationStateMapper::GetNotificationStateForName(jsonValue.GetString("NotificationState"));
m_notificationStateHasBeenSet = true;
}
return *this;
}
JsonValue Notification::Jsonize() const
{
JsonValue payload;
if(m_notificationTypeHasBeenSet)
{
payload.WithString("NotificationType", NotificationTypeMapper::GetNameForNotificationType(m_notificationType));
}
if(m_comparisonOperatorHasBeenSet)
{
payload.WithString("ComparisonOperator", ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator));
}
if(m_thresholdHasBeenSet)
{
payload.WithDouble("Threshold", m_threshold);
}
if(m_thresholdTypeHasBeenSet)
{
payload.WithString("ThresholdType", ThresholdTypeMapper::GetNameForThresholdType(m_thresholdType));
}
if(m_notificationStateHasBeenSet)
{
payload.WithString("NotificationState", NotificationStateMapper::GetNameForNotificationState(m_notificationState));
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/NotificationState.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace NotificationStateMapper
{
static const int OK_HASH = HashingUtils::HashString("OK");
static const int ALARM_HASH = HashingUtils::HashString("ALARM");
NotificationState GetNotificationStateForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == OK_HASH)
{
return NotificationState::OK;
}
else if (hashCode == ALARM_HASH)
{
return NotificationState::ALARM;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<NotificationState>(hashCode);
}
return NotificationState::NOT_SET;
}
Aws::String GetNameForNotificationState(NotificationState enumValue)
{
switch(enumValue)
{
case NotificationState::OK:
return "OK";
case NotificationState::ALARM:
return "ALARM";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace NotificationStateMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/NotificationType.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace NotificationTypeMapper
{
static const int ACTUAL_HASH = HashingUtils::HashString("ACTUAL");
static const int FORECASTED_HASH = HashingUtils::HashString("FORECASTED");
NotificationType GetNotificationTypeForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == ACTUAL_HASH)
{
return NotificationType::ACTUAL;
}
else if (hashCode == FORECASTED_HASH)
{
return NotificationType::FORECASTED;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<NotificationType>(hashCode);
}
return NotificationType::NOT_SET;
}
Aws::String GetNameForNotificationType(NotificationType enumValue)
{
switch(enumValue)
{
case NotificationType::ACTUAL:
return "ACTUAL";
case NotificationType::FORECASTED:
return "FORECASTED";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace NotificationTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,82 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/NotificationWithSubscribers.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
NotificationWithSubscribers::NotificationWithSubscribers() :
m_notificationHasBeenSet(false),
m_subscribersHasBeenSet(false)
{
}
NotificationWithSubscribers::NotificationWithSubscribers(JsonView jsonValue) :
m_notificationHasBeenSet(false),
m_subscribersHasBeenSet(false)
{
*this = jsonValue;
}
NotificationWithSubscribers& NotificationWithSubscribers::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Notification"))
{
m_notification = jsonValue.GetObject("Notification");
m_notificationHasBeenSet = true;
}
if(jsonValue.ValueExists("Subscribers"))
{
Array<JsonView> subscribersJsonList = jsonValue.GetArray("Subscribers");
for(unsigned subscribersIndex = 0; subscribersIndex < subscribersJsonList.GetLength(); ++subscribersIndex)
{
m_subscribers.push_back(subscribersJsonList[subscribersIndex].AsObject());
}
m_subscribersHasBeenSet = true;
}
return *this;
}
JsonValue NotificationWithSubscribers::Jsonize() const
{
JsonValue payload;
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_subscribersHasBeenSet)
{
Array<JsonValue> subscribersJsonList(m_subscribers.size());
for(unsigned subscribersIndex = 0; subscribersIndex < subscribersJsonList.GetLength(); ++subscribersIndex)
{
subscribersJsonList[subscribersIndex].AsObject(m_subscribers[subscribersIndex].Jsonize());
}
payload.WithArray("Subscribers", std::move(subscribersJsonList));
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/Spend.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
Spend::Spend() :
m_amountHasBeenSet(false),
m_unitHasBeenSet(false)
{
}
Spend::Spend(JsonView jsonValue) :
m_amountHasBeenSet(false),
m_unitHasBeenSet(false)
{
*this = jsonValue;
}
Spend& Spend::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Amount"))
{
m_amount = jsonValue.GetString("Amount");
m_amountHasBeenSet = true;
}
if(jsonValue.ValueExists("Unit"))
{
m_unit = jsonValue.GetString("Unit");
m_unitHasBeenSet = true;
}
return *this;
}
JsonValue Spend::Jsonize() const
{
JsonValue payload;
if(m_amountHasBeenSet)
{
payload.WithString("Amount", m_amount);
}
if(m_unitHasBeenSet)
{
payload.WithString("Unit", m_unit);
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,75 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/Subscriber.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
Subscriber::Subscriber() :
m_subscriptionType(SubscriptionType::NOT_SET),
m_subscriptionTypeHasBeenSet(false),
m_addressHasBeenSet(false)
{
}
Subscriber::Subscriber(JsonView jsonValue) :
m_subscriptionType(SubscriptionType::NOT_SET),
m_subscriptionTypeHasBeenSet(false),
m_addressHasBeenSet(false)
{
*this = jsonValue;
}
Subscriber& Subscriber::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("SubscriptionType"))
{
m_subscriptionType = SubscriptionTypeMapper::GetSubscriptionTypeForName(jsonValue.GetString("SubscriptionType"));
m_subscriptionTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("Address"))
{
m_address = jsonValue.GetString("Address");
m_addressHasBeenSet = true;
}
return *this;
}
JsonValue Subscriber::Jsonize() const
{
JsonValue payload;
if(m_subscriptionTypeHasBeenSet)
{
payload.WithString("SubscriptionType", SubscriptionTypeMapper::GetNameForSubscriptionType(m_subscriptionType));
}
if(m_addressHasBeenSet)
{
payload.WithString("Address", m_address);
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/SubscriptionType.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace SubscriptionTypeMapper
{
static const int SNS_HASH = HashingUtils::HashString("SNS");
static const int EMAIL_HASH = HashingUtils::HashString("EMAIL");
SubscriptionType GetSubscriptionTypeForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == SNS_HASH)
{
return SubscriptionType::SNS;
}
else if (hashCode == EMAIL_HASH)
{
return SubscriptionType::EMAIL;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<SubscriptionType>(hashCode);
}
return SubscriptionType::NOT_SET;
}
Aws::String GetNameForSubscriptionType(SubscriptionType enumValue)
{
switch(enumValue)
{
case SubscriptionType::SNS:
return "SNS";
case SubscriptionType::EMAIL:
return "EMAIL";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace SubscriptionTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/ThresholdType.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace ThresholdTypeMapper
{
static const int PERCENTAGE_HASH = HashingUtils::HashString("PERCENTAGE");
static const int ABSOLUTE_VALUE_HASH = HashingUtils::HashString("ABSOLUTE_VALUE");
ThresholdType GetThresholdTypeForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == PERCENTAGE_HASH)
{
return ThresholdType::PERCENTAGE;
}
else if (hashCode == ABSOLUTE_VALUE_HASH)
{
return ThresholdType::ABSOLUTE_VALUE;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<ThresholdType>(hashCode);
}
return ThresholdType::NOT_SET;
}
Aws::String GetNameForThresholdType(ThresholdType enumValue)
{
switch(enumValue)
{
case ThresholdType::PERCENTAGE:
return "PERCENTAGE";
case ThresholdType::ABSOLUTE_VALUE:
return "ABSOLUTE_VALUE";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace ThresholdTypeMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/TimePeriod.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
TimePeriod::TimePeriod() :
m_startHasBeenSet(false),
m_endHasBeenSet(false)
{
}
TimePeriod::TimePeriod(JsonView jsonValue) :
m_startHasBeenSet(false),
m_endHasBeenSet(false)
{
*this = jsonValue;
}
TimePeriod& TimePeriod::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Start"))
{
m_start = jsonValue.GetDouble("Start");
m_startHasBeenSet = true;
}
if(jsonValue.ValueExists("End"))
{
m_end = jsonValue.GetDouble("End");
m_endHasBeenSet = true;
}
return *this;
}
JsonValue TimePeriod::Jsonize() const
{
JsonValue payload;
if(m_startHasBeenSet)
{
payload.WithDouble("Start", m_start.SecondsWithMSPrecision());
}
if(m_endHasBeenSet)
{
payload.WithDouble("End", m_end.SecondsWithMSPrecision());
}
return payload;
}
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,84 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/TimeUnit.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Budgets
{
namespace Model
{
namespace TimeUnitMapper
{
static const int DAILY_HASH = HashingUtils::HashString("DAILY");
static const int MONTHLY_HASH = HashingUtils::HashString("MONTHLY");
static const int QUARTERLY_HASH = HashingUtils::HashString("QUARTERLY");
static const int ANNUALLY_HASH = HashingUtils::HashString("ANNUALLY");
TimeUnit GetTimeUnitForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == DAILY_HASH)
{
return TimeUnit::DAILY;
}
else if (hashCode == MONTHLY_HASH)
{
return TimeUnit::MONTHLY;
}
else if (hashCode == QUARTERLY_HASH)
{
return TimeUnit::QUARTERLY;
}
else if (hashCode == ANNUALLY_HASH)
{
return TimeUnit::ANNUALLY;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<TimeUnit>(hashCode);
}
return TimeUnit::NOT_SET;
}
Aws::String GetNameForTimeUnit(TimeUnit enumValue)
{
switch(enumValue)
{
case TimeUnit::DAILY:
return "DAILY";
case TimeUnit::MONTHLY:
return "MONTHLY";
case TimeUnit::QUARTERLY:
return "QUARTERLY";
case TimeUnit::ANNUALLY:
return "ANNUALLY";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace TimeUnitMapper
} // namespace Model
} // namespace Budgets
} // namespace Aws

View File

@@ -0,0 +1,50 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/UpdateBudgetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
UpdateBudgetRequest::UpdateBudgetRequest() :
m_accountIdHasBeenSet(false),
m_newBudgetHasBeenSet(false)
{
}
Aws::String UpdateBudgetRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_newBudgetHasBeenSet)
{
payload.WithObject("NewBudget", m_newBudget.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection UpdateBudgetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.UpdateBudget"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/UpdateBudgetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
UpdateBudgetResult::UpdateBudgetResult()
{
}
UpdateBudgetResult::UpdateBudgetResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
UpdateBudgetResult& UpdateBudgetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/UpdateNotificationRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
UpdateNotificationRequest::UpdateNotificationRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_oldNotificationHasBeenSet(false),
m_newNotificationHasBeenSet(false)
{
}
Aws::String UpdateNotificationRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_oldNotificationHasBeenSet)
{
payload.WithObject("OldNotification", m_oldNotification.Jsonize());
}
if(m_newNotificationHasBeenSet)
{
payload.WithObject("NewNotification", m_newNotification.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection UpdateNotificationRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.UpdateNotification"));
return headers;
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/UpdateNotificationResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
UpdateNotificationResult::UpdateNotificationResult()
{
}
UpdateNotificationResult::UpdateNotificationResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
UpdateNotificationResult& UpdateNotificationResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
AWS_UNREFERENCED_PARAM(result);
return *this;
}

View File

@@ -0,0 +1,71 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/budgets/model/UpdateSubscriberRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Budgets::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
UpdateSubscriberRequest::UpdateSubscriberRequest() :
m_accountIdHasBeenSet(false),
m_budgetNameHasBeenSet(false),
m_notificationHasBeenSet(false),
m_oldSubscriberHasBeenSet(false),
m_newSubscriberHasBeenSet(false)
{
}
Aws::String UpdateSubscriberRequest::SerializePayload() const
{
JsonValue payload;
if(m_accountIdHasBeenSet)
{
payload.WithString("AccountId", m_accountId);
}
if(m_budgetNameHasBeenSet)
{
payload.WithString("BudgetName", m_budgetName);
}
if(m_notificationHasBeenSet)
{
payload.WithObject("Notification", m_notification.Jsonize());
}
if(m_oldSubscriberHasBeenSet)
{
payload.WithObject("OldSubscriber", m_oldSubscriber.Jsonize());
}
if(m_newSubscriberHasBeenSet)
{
payload.WithObject("NewSubscriber", m_newSubscriber.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection UpdateSubscriberRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBudgetServiceGateway.UpdateSubscriber"));
return headers;
}

Some files were not shown because too many files have changed in this diff Show More