7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/client/AWSClient.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/utils/json/JsonSerializer.h>
12#include <aws/savingsplans/SavingsPlansServiceClientModel.h>
42 std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider =
nullptr);
49 std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider =
nullptr,
56 SavingsPlansClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
57 std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider =
nullptr,
79 SavingsPlansClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
95 template<
typename CreateSavingsPlanRequestT = Model::CreateSavingsPlanRequest>
98 return SubmitCallable(&SavingsPlansClient::CreateSavingsPlan, request);
104 template<
typename CreateSavingsPlanRequestT = Model::CreateSavingsPlanRequest>
107 return SubmitAsync(&SavingsPlansClient::CreateSavingsPlan, request, handler, context);
121 template<
typename DeleteQueuedSavingsPlanRequestT = Model::DeleteQueuedSavingsPlanRequest>
124 return SubmitCallable(&SavingsPlansClient::DeleteQueuedSavingsPlan, request);
130 template<
typename DeleteQueuedSavingsPlanRequestT = Model::DeleteQueuedSavingsPlanRequest>
133 return SubmitAsync(&SavingsPlansClient::DeleteQueuedSavingsPlan, request, handler, context);
147 template<
typename DescribeSavingsPlanRatesRequestT = Model::DescribeSavingsPlanRatesRequest>
150 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlanRates, request);
156 template<
typename DescribeSavingsPlanRatesRequestT = Model::DescribeSavingsPlanRatesRequest>
159 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlanRates, request, handler, context);
172 template<
typename DescribeSavingsPlansRequestT = Model::DescribeSavingsPlansRequest>
175 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlans, request);
181 template<
typename DescribeSavingsPlansRequestT = Model::DescribeSavingsPlansRequest>
184 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlans, request, handler, context);
198 template<
typename DescribeSavingsPlansOfferingRatesRequestT = Model::DescribeSavingsPlansOfferingRatesRequest>
201 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlansOfferingRates, request);
207 template<
typename DescribeSavingsPlansOfferingRatesRequestT = Model::DescribeSavingsPlansOfferingRatesRequest>
210 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlansOfferingRates, request, handler, context);
224 template<
typename DescribeSavingsPlansOfferingsRequestT = Model::DescribeSavingsPlansOfferingsRequest>
227 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlansOfferings, request);
233 template<
typename DescribeSavingsPlansOfferingsRequestT = Model::DescribeSavingsPlansOfferingsRequest>
236 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlansOfferings, request, handler, context);
249 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
252 return SubmitCallable(&SavingsPlansClient::ListTagsForResource, request);
258 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
261 return SubmitAsync(&SavingsPlansClient::ListTagsForResource, request, handler, context);
274 template<
typename ReturnSavingsPlanRequestT = Model::ReturnSavingsPlanRequest>
277 return SubmitCallable(&SavingsPlansClient::ReturnSavingsPlan, request);
283 template<
typename ReturnSavingsPlanRequestT = Model::ReturnSavingsPlanRequest>
286 return SubmitAsync(&SavingsPlansClient::ReturnSavingsPlan, request, handler, context);
300 template<
typename TagResourceRequestT = Model::TagResourceRequest>
303 return SubmitCallable(&SavingsPlansClient::TagResource, request);
309 template<
typename TagResourceRequestT = Model::TagResourceRequest>
312 return SubmitAsync(&SavingsPlansClient::TagResource, request, handler, context);
326 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
329 return SubmitCallable(&SavingsPlansClient::UntagResource, request);
335 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
338 return SubmitAsync(&SavingsPlansClient::UntagResource, request, handler, context);
349 std::shared_ptr<SavingsPlansEndpointProviderBase> m_endpointProvider;
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
Model::DescribeSavingsPlansOfferingRatesOutcomeCallable DescribeSavingsPlansOfferingRatesCallable(const DescribeSavingsPlansOfferingRatesRequestT &request={}) const
Model::DescribeSavingsPlanRatesOutcomeCallable DescribeSavingsPlanRatesCallable(const DescribeSavingsPlanRatesRequestT &request) const
static const char * GetServiceName()
virtual Model::DescribeSavingsPlansOutcome DescribeSavingsPlans(const Model::DescribeSavingsPlansRequest &request={}) const
void ReturnSavingsPlanAsync(const ReturnSavingsPlanRequestT &request, const ReturnSavingsPlanResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
SavingsPlansClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::DescribeSavingsPlansOutcomeCallable DescribeSavingsPlansCallable(const DescribeSavingsPlansRequestT &request={}) const
std::shared_ptr< SavingsPlansEndpointProviderBase > & accessEndpointProvider()
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
virtual Model::DeleteQueuedSavingsPlanOutcome DeleteQueuedSavingsPlan(const Model::DeleteQueuedSavingsPlanRequest &request) const
void CreateSavingsPlanAsync(const CreateSavingsPlanRequestT &request, const CreateSavingsPlanResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
SavingsPlansClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void DescribeSavingsPlansOfferingRatesAsync(const DescribeSavingsPlansOfferingRatesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const DescribeSavingsPlansOfferingRatesRequestT &request={}) const
SavingsPlansClientConfiguration ClientConfigurationType
virtual ~SavingsPlansClient()
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DescribeSavingsPlansOfferingRatesOutcome DescribeSavingsPlansOfferingRates(const Model::DescribeSavingsPlansOfferingRatesRequest &request={}) const
static const char * GetAllocationTag()
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
virtual Model::DescribeSavingsPlanRatesOutcome DescribeSavingsPlanRates(const Model::DescribeSavingsPlanRatesRequest &request) const
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
SavingsPlansClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< SavingsPlansEndpointProviderBase > endpointProvider=nullptr, const Aws::SavingsPlans::SavingsPlansClientConfiguration &clientConfiguration=Aws::SavingsPlans::SavingsPlansClientConfiguration())
SavingsPlansClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
void DescribeSavingsPlansAsync(const DescribeSavingsPlansResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const DescribeSavingsPlansRequestT &request={}) const
virtual Model::ReturnSavingsPlanOutcome ReturnSavingsPlan(const Model::ReturnSavingsPlanRequest &request) const
virtual Model::CreateSavingsPlanOutcome CreateSavingsPlan(const Model::CreateSavingsPlanRequest &request) const
Model::DescribeSavingsPlansOfferingsOutcomeCallable DescribeSavingsPlansOfferingsCallable(const DescribeSavingsPlansOfferingsRequestT &request={}) const
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
Aws::Client::AWSJsonClient BASECLASS
virtual Model::DescribeSavingsPlansOfferingsOutcome DescribeSavingsPlansOfferings(const Model::DescribeSavingsPlansOfferingsRequest &request={}) const
SavingsPlansClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< SavingsPlansEndpointProviderBase > endpointProvider=nullptr, const Aws::SavingsPlans::SavingsPlansClientConfiguration &clientConfiguration=Aws::SavingsPlans::SavingsPlansClientConfiguration())
void DescribeSavingsPlanRatesAsync(const DescribeSavingsPlanRatesRequestT &request, const DescribeSavingsPlanRatesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
SavingsPlansEndpointProvider EndpointProviderType
Model::DeleteQueuedSavingsPlanOutcomeCallable DeleteQueuedSavingsPlanCallable(const DeleteQueuedSavingsPlanRequestT &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteQueuedSavingsPlanAsync(const DeleteQueuedSavingsPlanRequestT &request, const DeleteQueuedSavingsPlanResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void OverrideEndpoint(const Aws::String &endpoint)
SavingsPlansClient(const Aws::SavingsPlans::SavingsPlansClientConfiguration &clientConfiguration=Aws::SavingsPlans::SavingsPlansClientConfiguration(), std::shared_ptr< SavingsPlansEndpointProviderBase > endpointProvider=nullptr)
Model::ReturnSavingsPlanOutcomeCallable ReturnSavingsPlanCallable(const ReturnSavingsPlanRequestT &request) const
Model::CreateSavingsPlanOutcomeCallable CreateSavingsPlanCallable(const CreateSavingsPlanRequestT &request) const
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DescribeSavingsPlansOfferingsAsync(const DescribeSavingsPlansOfferingsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const DescribeSavingsPlansOfferingsRequestT &request={}) const
std::future< DescribeSavingsPlansOutcome > DescribeSavingsPlansOutcomeCallable
std::future< DescribeSavingsPlansOfferingRatesOutcome > DescribeSavingsPlansOfferingRatesOutcomeCallable
std::future< CreateSavingsPlanOutcome > CreateSavingsPlanOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< DeleteQueuedSavingsPlanOutcome > DeleteQueuedSavingsPlanOutcomeCallable
std::future< DescribeSavingsPlanRatesOutcome > DescribeSavingsPlanRatesOutcomeCallable
std::future< DescribeSavingsPlansOfferingsOutcome > DescribeSavingsPlansOfferingsOutcomeCallable
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< ReturnSavingsPlanOutcome > ReturnSavingsPlanOutcomeCallable
std::function< void(const SavingsPlansClient *, const Model::DescribeSavingsPlansOfferingRatesRequest &, const Model::DescribeSavingsPlansOfferingRatesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeSavingsPlansOfferingRatesResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::DescribeSavingsPlansRequest &, const Model::DescribeSavingsPlansOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeSavingsPlansResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::CreateSavingsPlanRequest &, const Model::CreateSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateSavingsPlanResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::DescribeSavingsPlanRatesRequest &, const Model::DescribeSavingsPlanRatesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeSavingsPlanRatesResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::DescribeSavingsPlansOfferingsRequest &, const Model::DescribeSavingsPlansOfferingsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeSavingsPlansOfferingsResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::DeleteQueuedSavingsPlanRequest &, const Model::DeleteQueuedSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteQueuedSavingsPlanResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::ReturnSavingsPlanRequest &, const Model::ReturnSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ReturnSavingsPlanResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String