AWS SDK for C++

AWS SDK for C++ Version 1.11.791

Loading...
Searching...
No Matches
SavingsPlansClient.h
1
6#pragma once
7#include <aws/core/client/AWSClient.h>
8#include <aws/core/client/AWSClientAsyncCRTP.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/json/JsonSerializer.h>
11#include <aws/savingsplans/SavingsPlansPaginationBase.h>
12#include <aws/savingsplans/SavingsPlansServiceClientModel.h>
13#include <aws/savingsplans/SavingsPlansWaiter.h>
14#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
15
16namespace Aws {
17namespace SavingsPlans {
27class AWS_SAVINGSPLANS_API SavingsPlansClient : public Aws::Client::AWSJsonClient,
28 public Aws::Client::ClientWithAsyncTemplateMethods<SavingsPlansClient>,
29 public SavingsPlansPaginationBase<SavingsPlansClient>,
30 public SavingsPlansWaiter<SavingsPlansClient> {
31 public:
33 static const char* GetServiceName();
34 static const char* GetAllocationTag();
35
38
45 std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider = nullptr);
46
52 const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider = nullptr,
54
60 const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
61 std::shared_ptr<SavingsPlansEndpointProviderBase> endpointProvider = nullptr,
63
64 /* Legacy constructors due deprecation */
70
75 SavingsPlansClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
76
81 SavingsPlansClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
82 const Aws::Client::ClientConfiguration& clientConfiguration);
83
84 /* End of legacy constructors due deprecation */
86
93
98 template <typename CreateSavingsPlanRequestT = Model::CreateSavingsPlanRequest>
99 Model::CreateSavingsPlanOutcomeCallable CreateSavingsPlanCallable(const CreateSavingsPlanRequestT& request) const {
100 return SubmitCallable(&SavingsPlansClient::CreateSavingsPlan, request);
101 }
102
107 template <typename CreateSavingsPlanRequestT = Model::CreateSavingsPlanRequest>
108 void CreateSavingsPlanAsync(const CreateSavingsPlanRequestT& request, const CreateSavingsPlanResponseReceivedHandler& handler,
109 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
110 return SubmitAsync(&SavingsPlansClient::CreateSavingsPlan, request, handler, context);
111 }
112
120
125 template <typename DeleteQueuedSavingsPlanRequestT = Model::DeleteQueuedSavingsPlanRequest>
126 Model::DeleteQueuedSavingsPlanOutcomeCallable DeleteQueuedSavingsPlanCallable(const DeleteQueuedSavingsPlanRequestT& request) const {
127 return SubmitCallable(&SavingsPlansClient::DeleteQueuedSavingsPlan, request);
128 }
129
134 template <typename DeleteQueuedSavingsPlanRequestT = Model::DeleteQueuedSavingsPlanRequest>
135 void DeleteQueuedSavingsPlanAsync(const DeleteQueuedSavingsPlanRequestT& request,
137 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
138 return SubmitAsync(&SavingsPlansClient::DeleteQueuedSavingsPlan, request, handler, context);
139 }
140
148
153 template <typename DescribeSavingsPlanRatesRequestT = Model::DescribeSavingsPlanRatesRequest>
154 Model::DescribeSavingsPlanRatesOutcomeCallable DescribeSavingsPlanRatesCallable(const DescribeSavingsPlanRatesRequestT& request) const {
155 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlanRates, request);
156 }
157
162 template <typename DescribeSavingsPlanRatesRequestT = Model::DescribeSavingsPlanRatesRequest>
163 void DescribeSavingsPlanRatesAsync(const DescribeSavingsPlanRatesRequestT& request,
165 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
166 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlanRates, request, handler, context);
167 }
168
175
180 template <typename DescribeSavingsPlansRequestT = Model::DescribeSavingsPlansRequest>
181 Model::DescribeSavingsPlansOutcomeCallable DescribeSavingsPlansCallable(const DescribeSavingsPlansRequestT& request = {}) const {
182 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlans, request);
183 }
184
189 template <typename DescribeSavingsPlansRequestT = Model::DescribeSavingsPlansRequest>
191 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
192 const DescribeSavingsPlansRequestT& request = {}) const {
193 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlans, request, handler, context);
194 }
195
203 const Model::DescribeSavingsPlansOfferingRatesRequest& request = {}) const;
204
209 template <typename DescribeSavingsPlansOfferingRatesRequestT = Model::DescribeSavingsPlansOfferingRatesRequest>
211 const DescribeSavingsPlansOfferingRatesRequestT& request = {}) const {
212 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlansOfferingRates, request);
213 }
214
219 template <typename DescribeSavingsPlansOfferingRatesRequestT = Model::DescribeSavingsPlansOfferingRatesRequest>
221 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
222 const DescribeSavingsPlansOfferingRatesRequestT& request = {}) const {
223 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlansOfferingRates, request, handler, context);
224 }
225
233 const Model::DescribeSavingsPlansOfferingsRequest& request = {}) const;
234
239 template <typename DescribeSavingsPlansOfferingsRequestT = Model::DescribeSavingsPlansOfferingsRequest>
241 const DescribeSavingsPlansOfferingsRequestT& request = {}) const {
242 return SubmitCallable(&SavingsPlansClient::DescribeSavingsPlansOfferings, request);
243 }
244
249 template <typename DescribeSavingsPlansOfferingsRequestT = Model::DescribeSavingsPlansOfferingsRequest>
251 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
252 const DescribeSavingsPlansOfferingsRequestT& request = {}) const {
253 return SubmitAsync(&SavingsPlansClient::DescribeSavingsPlansOfferings, request, handler, context);
254 }
255
262
267 template <typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
268 Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const {
269 return SubmitCallable(&SavingsPlansClient::ListTagsForResource, request);
270 }
271
276 template <typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
277 void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler,
278 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
279 return SubmitAsync(&SavingsPlansClient::ListTagsForResource, request, handler, context);
280 }
281
288
293 template <typename ReturnSavingsPlanRequestT = Model::ReturnSavingsPlanRequest>
294 Model::ReturnSavingsPlanOutcomeCallable ReturnSavingsPlanCallable(const ReturnSavingsPlanRequestT& request) const {
295 return SubmitCallable(&SavingsPlansClient::ReturnSavingsPlan, request);
296 }
297
302 template <typename ReturnSavingsPlanRequestT = Model::ReturnSavingsPlanRequest>
303 void ReturnSavingsPlanAsync(const ReturnSavingsPlanRequestT& request, const ReturnSavingsPlanResponseReceivedHandler& handler,
304 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
305 return SubmitAsync(&SavingsPlansClient::ReturnSavingsPlan, request, handler, context);
306 }
307
315
319 template <typename TagResourceRequestT = Model::TagResourceRequest>
320 Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const {
321 return SubmitCallable(&SavingsPlansClient::TagResource, request);
322 }
323
328 template <typename TagResourceRequestT = Model::TagResourceRequest>
329 void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler,
330 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
331 return SubmitAsync(&SavingsPlansClient::TagResource, request, handler, context);
332 }
333
341
345 template <typename UntagResourceRequestT = Model::UntagResourceRequest>
346 Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const {
347 return SubmitCallable(&SavingsPlansClient::UntagResource, request);
348 }
349
354 template <typename UntagResourceRequestT = Model::UntagResourceRequest>
355 void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler,
356 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
357 return SubmitAsync(&SavingsPlansClient::UntagResource, request, handler, context);
358 }
359
360 virtual void OverrideEndpoint(const Aws::String& endpoint);
361 virtual std::shared_ptr<SavingsPlansEndpointProviderBase>& accessEndpointProvider();
362
363 private:
365 void init(const SavingsPlansClientConfiguration& clientConfiguration);
366
368
369 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request,
370 const std::function<void(Aws::Endpoint::ResolveEndpointOutcome&)>& resolveUri,
371 Aws::Http::HttpMethod httpMethod) const;
372
373 SavingsPlansClientConfiguration m_clientConfiguration;
374 std::shared_ptr<SavingsPlansEndpointProviderBase> m_endpointProvider;
375};
376
377} // namespace SavingsPlans
378} // namespace Aws
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
Model::DescribeSavingsPlansOfferingRatesOutcomeCallable DescribeSavingsPlansOfferingRatesCallable(const DescribeSavingsPlansOfferingRatesRequestT &request={}) const
Model::DescribeSavingsPlanRatesOutcomeCallable DescribeSavingsPlanRatesCallable(const DescribeSavingsPlanRatesRequestT &request) const
virtual std::shared_ptr< SavingsPlansEndpointProviderBase > & accessEndpointProvider()
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
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
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
virtual void OverrideEndpoint(const Aws::String &endpoint)
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
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
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::ReturnSavingsPlanRequest &, const Model::ReturnSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ReturnSavingsPlanResponseReceivedHandler
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::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> TagResourceResponseReceivedHandler
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::DeleteQueuedSavingsPlanRequest &, const Model::DeleteQueuedSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteQueuedSavingsPlanResponseReceivedHandler
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::CreateSavingsPlanRequest &, const Model::CreateSavingsPlanOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> CreateSavingsPlanResponseReceivedHandler
std::function< void(const SavingsPlansClient *, const Model::DescribeSavingsPlanRatesRequest &, const Model::DescribeSavingsPlanRatesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DescribeSavingsPlanRatesResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String