AWS SDK for C++

AWS SDK for C++ Version 1.11.787

Loading...
Searching...
No Matches
BillingClient.h
1
6#pragma once
7#include <aws/billing/BillingPaginationBase.h>
8#include <aws/billing/BillingServiceClientModel.h>
9#include <aws/billing/BillingWaiter.h>
10#include <aws/billing/Billing_EXPORTS.h>
11#include <aws/core/client/AWSClient.h>
12#include <aws/core/client/AWSClientAsyncCRTP.h>
13#include <aws/core/client/ClientConfiguration.h>
14#include <aws/core/utils/json/JsonSerializer.h>
15
16namespace Aws {
17namespace Billing {
24class AWS_BILLING_API BillingClient : public Aws::Client::AWSJsonClient,
26 public BillingPaginationBase<BillingClient>,
27 public BillingWaiter<BillingClient> {
28 public:
30 static const char* GetServiceName();
31 static const char* GetAllocationTag();
32
35
41 std::shared_ptr<BillingEndpointProviderBase> endpointProvider = nullptr);
42
47 BillingClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<BillingEndpointProviderBase> endpointProvider = nullptr,
49
54 BillingClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
55 std::shared_ptr<BillingEndpointProviderBase> endpointProvider = nullptr,
57
58 /* Legacy constructors due deprecation */
64
69 BillingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
70
75 BillingClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
76 const Aws::Client::ClientConfiguration& clientConfiguration);
77
78 /* End of legacy constructors due deprecation */
79 virtual ~BillingClient();
80
89
94 template <typename AssociateSourceViewsRequestT = Model::AssociateSourceViewsRequest>
95 Model::AssociateSourceViewsOutcomeCallable AssociateSourceViewsCallable(const AssociateSourceViewsRequestT& request) const {
96 return SubmitCallable(&BillingClient::AssociateSourceViews, request);
97 }
98
103 template <typename AssociateSourceViewsRequestT = Model::AssociateSourceViewsRequest>
104 void AssociateSourceViewsAsync(const AssociateSourceViewsRequestT& request, const AssociateSourceViewsResponseReceivedHandler& handler,
105 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
106 return SubmitAsync(&BillingClient::AssociateSourceViews, request, handler, context);
107 }
108
116
121 template <typename CreateBillingViewRequestT = Model::CreateBillingViewRequest>
122 Model::CreateBillingViewOutcomeCallable CreateBillingViewCallable(const CreateBillingViewRequestT& request) const {
123 return SubmitCallable(&BillingClient::CreateBillingView, request);
124 }
125
130 template <typename CreateBillingViewRequestT = Model::CreateBillingViewRequest>
131 void CreateBillingViewAsync(const CreateBillingViewRequestT& request, const CreateBillingViewResponseReceivedHandler& handler,
132 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
133 return SubmitAsync(&BillingClient::CreateBillingView, request, handler, context);
134 }
135
142
147 template <typename DeleteBillingViewRequestT = Model::DeleteBillingViewRequest>
148 Model::DeleteBillingViewOutcomeCallable DeleteBillingViewCallable(const DeleteBillingViewRequestT& request) const {
149 return SubmitCallable(&BillingClient::DeleteBillingView, request);
150 }
151
156 template <typename DeleteBillingViewRequestT = Model::DeleteBillingViewRequest>
157 void DeleteBillingViewAsync(const DeleteBillingViewRequestT& request, const DeleteBillingViewResponseReceivedHandler& handler,
158 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
159 return SubmitAsync(&BillingClient::DeleteBillingView, request, handler, context);
160 }
161
170
175 template <typename DisassociateSourceViewsRequestT = Model::DisassociateSourceViewsRequest>
176 Model::DisassociateSourceViewsOutcomeCallable DisassociateSourceViewsCallable(const DisassociateSourceViewsRequestT& request) const {
177 return SubmitCallable(&BillingClient::DisassociateSourceViews, request);
178 }
179
184 template <typename DisassociateSourceViewsRequestT = Model::DisassociateSourceViewsRequest>
185 void DisassociateSourceViewsAsync(const DisassociateSourceViewsRequestT& request,
187 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
188 return SubmitAsync(&BillingClient::DisassociateSourceViews, request, handler, context);
189 }
190
198
202 template <typename GetBillingViewRequestT = Model::GetBillingViewRequest>
203 Model::GetBillingViewOutcomeCallable GetBillingViewCallable(const GetBillingViewRequestT& request) const {
204 return SubmitCallable(&BillingClient::GetBillingView, request);
205 }
206
211 template <typename GetBillingViewRequestT = Model::GetBillingViewRequest>
212 void GetBillingViewAsync(const GetBillingViewRequestT& request, const GetBillingViewResponseReceivedHandler& handler,
213 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
214 return SubmitAsync(&BillingClient::GetBillingView, request, handler, context);
215 }
216
224
229 template <typename GetResourcePolicyRequestT = Model::GetResourcePolicyRequest>
230 Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const GetResourcePolicyRequestT& request) const {
231 return SubmitCallable(&BillingClient::GetResourcePolicy, request);
232 }
233
238 template <typename GetResourcePolicyRequestT = Model::GetResourcePolicyRequest>
239 void GetResourcePolicyAsync(const GetResourcePolicyRequestT& request, const GetResourcePolicyResponseReceivedHandler& handler,
240 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
241 return SubmitAsync(&BillingClient::GetResourcePolicy, request, handler, context);
242 }
243
255
260 template <typename ListBillingViewsRequestT = Model::ListBillingViewsRequest>
261 Model::ListBillingViewsOutcomeCallable ListBillingViewsCallable(const ListBillingViewsRequestT& request = {}) const {
262 return SubmitCallable(&BillingClient::ListBillingViews, request);
263 }
264
269 template <typename ListBillingViewsRequestT = Model::ListBillingViewsRequest>
271 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
272 const ListBillingViewsRequestT& request = {}) const {
273 return SubmitAsync(&BillingClient::ListBillingViews, request, handler, context);
274 }
275
284
289 template <typename ListSourceViewsForBillingViewRequestT = Model::ListSourceViewsForBillingViewRequest>
291 const ListSourceViewsForBillingViewRequestT& request) const {
292 return SubmitCallable(&BillingClient::ListSourceViewsForBillingView, request);
293 }
294
299 template <typename ListSourceViewsForBillingViewRequestT = Model::ListSourceViewsForBillingViewRequest>
300 void ListSourceViewsForBillingViewAsync(const ListSourceViewsForBillingViewRequestT& request,
302 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
303 return SubmitAsync(&BillingClient::ListSourceViewsForBillingView, request, handler, context);
304 }
305
313
318 template <typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
319 Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const {
320 return SubmitCallable(&BillingClient::ListTagsForResource, request);
321 }
322
327 template <typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
328 void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler,
329 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
330 return SubmitAsync(&BillingClient::ListTagsForResource, request, handler, context);
331 }
332
340
344 template <typename TagResourceRequestT = Model::TagResourceRequest>
345 Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const {
346 return SubmitCallable(&BillingClient::TagResource, request);
347 }
348
353 template <typename TagResourceRequestT = Model::TagResourceRequest>
354 void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler,
355 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
356 return SubmitAsync(&BillingClient::TagResource, request, handler, context);
357 }
358
366
370 template <typename UntagResourceRequestT = Model::UntagResourceRequest>
371 Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const {
372 return SubmitCallable(&BillingClient::UntagResource, request);
373 }
374
379 template <typename UntagResourceRequestT = Model::UntagResourceRequest>
380 void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler,
381 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
382 return SubmitAsync(&BillingClient::UntagResource, request, handler, context);
383 }
384
392
397 template <typename UpdateBillingViewRequestT = Model::UpdateBillingViewRequest>
398 Model::UpdateBillingViewOutcomeCallable UpdateBillingViewCallable(const UpdateBillingViewRequestT& request) const {
399 return SubmitCallable(&BillingClient::UpdateBillingView, request);
400 }
401
406 template <typename UpdateBillingViewRequestT = Model::UpdateBillingViewRequest>
407 void UpdateBillingViewAsync(const UpdateBillingViewRequestT& request, const UpdateBillingViewResponseReceivedHandler& handler,
408 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
409 return SubmitAsync(&BillingClient::UpdateBillingView, request, handler, context);
410 }
411
412 virtual void OverrideEndpoint(const Aws::String& endpoint);
413 virtual std::shared_ptr<BillingEndpointProviderBase>& accessEndpointProvider();
414
415 private:
417 void init(const BillingClientConfiguration& clientConfiguration);
418
420
421 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const;
422
423 BillingClientConfiguration m_clientConfiguration;
424 std::shared_ptr<BillingEndpointProviderBase> m_endpointProvider;
425};
426
427} // namespace Billing
428} // namespace Aws
virtual std::shared_ptr< BillingEndpointProviderBase > & accessEndpointProvider()
virtual Model::GetBillingViewOutcome GetBillingView(const Model::GetBillingViewRequest &request) const
BillingClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::ListSourceViewsForBillingViewOutcomeCallable ListSourceViewsForBillingViewCallable(const ListSourceViewsForBillingViewRequestT &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
void ListBillingViewsAsync(const ListBillingViewsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListBillingViewsRequestT &request={}) const
BillingEndpointProvider EndpointProviderType
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
Model::GetBillingViewOutcomeCallable GetBillingViewCallable(const GetBillingViewRequestT &request) const
void DeleteBillingViewAsync(const DeleteBillingViewRequestT &request, const DeleteBillingViewResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::CreateBillingViewOutcomeCallable CreateBillingViewCallable(const CreateBillingViewRequestT &request) const
Model::AssociateSourceViewsOutcomeCallable AssociateSourceViewsCallable(const AssociateSourceViewsRequestT &request) const
virtual Model::ListBillingViewsOutcome ListBillingViews(const Model::ListBillingViewsRequest &request={}) const
Model::DeleteBillingViewOutcomeCallable DeleteBillingViewCallable(const DeleteBillingViewRequestT &request) const
void GetBillingViewAsync(const GetBillingViewRequestT &request, const GetBillingViewResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListSourceViewsForBillingViewAsync(const ListSourceViewsForBillingViewRequestT &request, const ListSourceViewsForBillingViewResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DisassociateSourceViewsOutcome DisassociateSourceViews(const Model::DisassociateSourceViewsRequest &request) const
Aws::Client::AWSJsonClient BASECLASS
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
virtual Model::GetResourcePolicyOutcome GetResourcePolicy(const Model::GetResourcePolicyRequest &request) const
void AssociateSourceViewsAsync(const AssociateSourceViewsRequestT &request, const AssociateSourceViewsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UpdateBillingViewOutcome UpdateBillingView(const Model::UpdateBillingViewRequest &request) const
BillingClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
BillingClient(const Aws::Billing::BillingClientConfiguration &clientConfiguration=Aws::Billing::BillingClientConfiguration(), std::shared_ptr< BillingEndpointProviderBase > endpointProvider=nullptr)
virtual void OverrideEndpoint(const Aws::String &endpoint)
Model::ListBillingViewsOutcomeCallable ListBillingViewsCallable(const ListBillingViewsRequestT &request={}) const
BillingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< BillingEndpointProviderBase > endpointProvider=nullptr, const Aws::Billing::BillingClientConfiguration &clientConfiguration=Aws::Billing::BillingClientConfiguration())
BillingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::ListSourceViewsForBillingViewOutcome ListSourceViewsForBillingView(const Model::ListSourceViewsForBillingViewRequest &request) const
void CreateBillingViewAsync(const CreateBillingViewRequestT &request, const CreateBillingViewResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
BillingClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< BillingEndpointProviderBase > endpointProvider=nullptr, const Aws::Billing::BillingClientConfiguration &clientConfiguration=Aws::Billing::BillingClientConfiguration())
static const char * GetAllocationTag()
static const char * GetServiceName()
Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const GetResourcePolicyRequestT &request) const
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
void UpdateBillingViewAsync(const UpdateBillingViewRequestT &request, const UpdateBillingViewResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
BillingClientConfiguration ClientConfigurationType
void DisassociateSourceViewsAsync(const DisassociateSourceViewsRequestT &request, const DisassociateSourceViewsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::CreateBillingViewOutcome CreateBillingView(const Model::CreateBillingViewRequest &request) const
void GetResourcePolicyAsync(const GetResourcePolicyRequestT &request, const GetResourcePolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::AssociateSourceViewsOutcome AssociateSourceViews(const Model::AssociateSourceViewsRequest &request) const
virtual Model::DeleteBillingViewOutcome DeleteBillingView(const Model::DeleteBillingViewRequest &request) const
Model::DisassociateSourceViewsOutcomeCallable DisassociateSourceViewsCallable(const DisassociateSourceViewsRequestT &request) const
Model::UpdateBillingViewOutcomeCallable UpdateBillingViewCallable(const UpdateBillingViewRequestT &request) const
std::future< DisassociateSourceViewsOutcome > DisassociateSourceViewsOutcomeCallable
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< GetBillingViewOutcome > GetBillingViewOutcomeCallable
std::future< CreateBillingViewOutcome > CreateBillingViewOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< ListSourceViewsForBillingViewOutcome > ListSourceViewsForBillingViewOutcomeCallable
std::future< GetResourcePolicyOutcome > GetResourcePolicyOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< DeleteBillingViewOutcome > DeleteBillingViewOutcomeCallable
std::future< AssociateSourceViewsOutcome > AssociateSourceViewsOutcomeCallable
std::future< ListBillingViewsOutcome > ListBillingViewsOutcomeCallable
std::future< UpdateBillingViewOutcome > UpdateBillingViewOutcomeCallable
std::function< void(const BillingClient *, const Model::ListSourceViewsForBillingViewRequest &, const Model::ListSourceViewsForBillingViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListSourceViewsForBillingViewResponseReceivedHandler
std::function< void(const BillingClient *, const Model::UpdateBillingViewRequest &, const Model::UpdateBillingViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UpdateBillingViewResponseReceivedHandler
std::function< void(const BillingClient *, const Model::DeleteBillingViewRequest &, const Model::DeleteBillingViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteBillingViewResponseReceivedHandler
std::function< void(const BillingClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListTagsForResourceResponseReceivedHandler
std::function< void(const BillingClient *, const Model::GetResourcePolicyRequest &, const Model::GetResourcePolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetResourcePolicyResponseReceivedHandler
std::function< void(const BillingClient *, const Model::ListBillingViewsRequest &, const Model::ListBillingViewsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListBillingViewsResponseReceivedHandler
std::function< void(const BillingClient *, const Model::CreateBillingViewRequest &, const Model::CreateBillingViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> CreateBillingViewResponseReceivedHandler
std::function< void(const BillingClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UntagResourceResponseReceivedHandler
std::function< void(const BillingClient *, const Model::GetBillingViewRequest &, const Model::GetBillingViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetBillingViewResponseReceivedHandler
std::function< void(const BillingClient *, const Model::DisassociateSourceViewsRequest &, const Model::DisassociateSourceViewsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DisassociateSourceViewsResponseReceivedHandler
std::function< void(const BillingClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> TagResourceResponseReceivedHandler
std::function< void(const BillingClient *, const Model::AssociateSourceViewsRequest &, const Model::AssociateSourceViewsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> AssociateSourceViewsResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String