AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InvoicingClient.h
1
6#pragma once
7#include <aws/invoicing/Invoicing_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/invoicing/InvoicingServiceClientModel.h>
13
14namespace Aws
15{
16namespace Invoicing
17{
37 class AWS_INVOICING_API InvoicingClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods<InvoicingClient>
38 {
39 public:
41 static const char* GetServiceName();
42 static const char* GetAllocationTag();
43
46
52 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider = nullptr);
53
59 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider = nullptr,
61
66 InvoicingClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
67 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider = nullptr,
69
70
71 /* Legacy constructors due deprecation */
77
83 const Aws::Client::ClientConfiguration& clientConfiguration);
84
89 InvoicingClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
90 const Aws::Client::ClientConfiguration& clientConfiguration);
91
92 /* End of legacy constructors due deprecation */
94
103
107 template<typename BatchGetInvoiceProfileRequestT = Model::BatchGetInvoiceProfileRequest>
108 Model::BatchGetInvoiceProfileOutcomeCallable BatchGetInvoiceProfileCallable(const BatchGetInvoiceProfileRequestT& request) const
109 {
110 return SubmitCallable(&InvoicingClient::BatchGetInvoiceProfile, request);
111 }
112
116 template<typename BatchGetInvoiceProfileRequestT = Model::BatchGetInvoiceProfileRequest>
117 void BatchGetInvoiceProfileAsync(const BatchGetInvoiceProfileRequestT& request, const BatchGetInvoiceProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
118 {
119 return SubmitAsync(&InvoicingClient::BatchGetInvoiceProfile, request, handler, context);
120 }
121
129
133 template<typename CreateInvoiceUnitRequestT = Model::CreateInvoiceUnitRequest>
134 Model::CreateInvoiceUnitOutcomeCallable CreateInvoiceUnitCallable(const CreateInvoiceUnitRequestT& request) const
135 {
136 return SubmitCallable(&InvoicingClient::CreateInvoiceUnit, request);
137 }
138
142 template<typename CreateInvoiceUnitRequestT = Model::CreateInvoiceUnitRequest>
143 void CreateInvoiceUnitAsync(const CreateInvoiceUnitRequestT& request, const CreateInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
144 {
145 return SubmitAsync(&InvoicingClient::CreateInvoiceUnit, request, handler, context);
146 }
147
155
159 template<typename DeleteInvoiceUnitRequestT = Model::DeleteInvoiceUnitRequest>
160 Model::DeleteInvoiceUnitOutcomeCallable DeleteInvoiceUnitCallable(const DeleteInvoiceUnitRequestT& request) const
161 {
162 return SubmitCallable(&InvoicingClient::DeleteInvoiceUnit, request);
163 }
164
168 template<typename DeleteInvoiceUnitRequestT = Model::DeleteInvoiceUnitRequest>
169 void DeleteInvoiceUnitAsync(const DeleteInvoiceUnitRequestT& request, const DeleteInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
170 {
171 return SubmitAsync(&InvoicingClient::DeleteInvoiceUnit, request, handler, context);
172 }
173
180
184 template<typename GetInvoiceUnitRequestT = Model::GetInvoiceUnitRequest>
185 Model::GetInvoiceUnitOutcomeCallable GetInvoiceUnitCallable(const GetInvoiceUnitRequestT& request) const
186 {
187 return SubmitCallable(&InvoicingClient::GetInvoiceUnit, request);
188 }
189
193 template<typename GetInvoiceUnitRequestT = Model::GetInvoiceUnitRequest>
194 void GetInvoiceUnitAsync(const GetInvoiceUnitRequestT& request, const GetInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
195 {
196 return SubmitAsync(&InvoicingClient::GetInvoiceUnit, request, handler, context);
197 }
198
206
210 template<typename ListInvoiceSummariesRequestT = Model::ListInvoiceSummariesRequest>
211 Model::ListInvoiceSummariesOutcomeCallable ListInvoiceSummariesCallable(const ListInvoiceSummariesRequestT& request) const
212 {
213 return SubmitCallable(&InvoicingClient::ListInvoiceSummaries, request);
214 }
215
219 template<typename ListInvoiceSummariesRequestT = Model::ListInvoiceSummariesRequest>
220 void ListInvoiceSummariesAsync(const ListInvoiceSummariesRequestT& request, const ListInvoiceSummariesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
221 {
222 return SubmitAsync(&InvoicingClient::ListInvoiceSummaries, request, handler, context);
223 }
224
232
236 template<typename ListInvoiceUnitsRequestT = Model::ListInvoiceUnitsRequest>
237 Model::ListInvoiceUnitsOutcomeCallable ListInvoiceUnitsCallable(const ListInvoiceUnitsRequestT& request = {}) const
238 {
239 return SubmitCallable(&InvoicingClient::ListInvoiceUnits, request);
240 }
241
245 template<typename ListInvoiceUnitsRequestT = Model::ListInvoiceUnitsRequest>
246 void ListInvoiceUnitsAsync(const ListInvoiceUnitsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr, const ListInvoiceUnitsRequestT& request = {}) const
247 {
248 return SubmitAsync(&InvoicingClient::ListInvoiceUnits, request, handler, context);
249 }
250
257
261 template<typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
262 Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
263 {
264 return SubmitCallable(&InvoicingClient::ListTagsForResource, request);
265 }
266
270 template<typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
271 void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
272 {
273 return SubmitAsync(&InvoicingClient::ListTagsForResource, request, handler, context);
274 }
275
282
286 template<typename TagResourceRequestT = Model::TagResourceRequest>
287 Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
288 {
289 return SubmitCallable(&InvoicingClient::TagResource, request);
290 }
291
295 template<typename TagResourceRequestT = Model::TagResourceRequest>
296 void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
297 {
298 return SubmitAsync(&InvoicingClient::TagResource, request, handler, context);
299 }
300
307
311 template<typename UntagResourceRequestT = Model::UntagResourceRequest>
312 Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
313 {
314 return SubmitCallable(&InvoicingClient::UntagResource, request);
315 }
316
320 template<typename UntagResourceRequestT = Model::UntagResourceRequest>
321 void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
322 {
323 return SubmitAsync(&InvoicingClient::UntagResource, request, handler, context);
324 }
325
334
338 template<typename UpdateInvoiceUnitRequestT = Model::UpdateInvoiceUnitRequest>
339 Model::UpdateInvoiceUnitOutcomeCallable UpdateInvoiceUnitCallable(const UpdateInvoiceUnitRequestT& request) const
340 {
341 return SubmitCallable(&InvoicingClient::UpdateInvoiceUnit, request);
342 }
343
347 template<typename UpdateInvoiceUnitRequestT = Model::UpdateInvoiceUnitRequest>
348 void UpdateInvoiceUnitAsync(const UpdateInvoiceUnitRequestT& request, const UpdateInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
349 {
350 return SubmitAsync(&InvoicingClient::UpdateInvoiceUnit, request, handler, context);
351 }
352
353
354 void OverrideEndpoint(const Aws::String& endpoint);
355 std::shared_ptr<InvoicingEndpointProviderBase>& accessEndpointProvider();
356 private:
358 void init(const InvoicingClientConfiguration& clientConfiguration);
359
360 InvoicingClientConfiguration m_clientConfiguration;
361 std::shared_ptr<InvoicingEndpointProviderBase> m_endpointProvider;
362 };
363
364} // namespace Invoicing
365} // namespace Aws
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
virtual Model::UpdateInvoiceUnitOutcome UpdateInvoiceUnit(const Model::UpdateInvoiceUnitRequest &request) const
void ListInvoiceSummariesAsync(const ListInvoiceSummariesRequestT &request, const ListInvoiceSummariesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListInvoiceSummariesOutcomeCallable ListInvoiceSummariesCallable(const ListInvoiceSummariesRequestT &request) const
virtual Model::DeleteInvoiceUnitOutcome DeleteInvoiceUnit(const Model::DeleteInvoiceUnitRequest &request) const
virtual Model::BatchGetInvoiceProfileOutcome BatchGetInvoiceProfile(const Model::BatchGetInvoiceProfileRequest &request) const
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteInvoiceUnitOutcomeCallable DeleteInvoiceUnitCallable(const DeleteInvoiceUnitRequestT &request) const
void UpdateInvoiceUnitAsync(const UpdateInvoiceUnitRequestT &request, const UpdateInvoiceUnitResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UpdateInvoiceUnitOutcomeCallable UpdateInvoiceUnitCallable(const UpdateInvoiceUnitRequestT &request) const
InvoicingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
void GetInvoiceUnitAsync(const GetInvoiceUnitRequestT &request, const GetInvoiceUnitResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::BatchGetInvoiceProfileOutcomeCallable BatchGetInvoiceProfileCallable(const BatchGetInvoiceProfileRequestT &request) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
Model::GetInvoiceUnitOutcomeCallable GetInvoiceUnitCallable(const GetInvoiceUnitRequestT &request) const
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
InvoicingClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< InvoicingEndpointProviderBase > endpointProvider=nullptr, const Aws::Invoicing::InvoicingClientConfiguration &clientConfiguration=Aws::Invoicing::InvoicingClientConfiguration())
virtual Model::ListInvoiceSummariesOutcome ListInvoiceSummaries(const Model::ListInvoiceSummariesRequest &request) const
Model::ListInvoiceUnitsOutcomeCallable ListInvoiceUnitsCallable(const ListInvoiceUnitsRequestT &request={}) const
static const char * GetServiceName()
InvoicingClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::CreateInvoiceUnitOutcome CreateInvoiceUnit(const Model::CreateInvoiceUnitRequest &request) const
Aws::Client::AWSJsonClient BASECLASS
InvoicingClient(const Aws::Invoicing::InvoicingClientConfiguration &clientConfiguration=Aws::Invoicing::InvoicingClientConfiguration(), std::shared_ptr< InvoicingEndpointProviderBase > endpointProvider=nullptr)
void ListInvoiceUnitsAsync(const ListInvoiceUnitsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListInvoiceUnitsRequestT &request={}) const
Model::CreateInvoiceUnitOutcomeCallable CreateInvoiceUnitCallable(const CreateInvoiceUnitRequestT &request) const
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
void DeleteInvoiceUnitAsync(const DeleteInvoiceUnitRequestT &request, const DeleteInvoiceUnitResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void OverrideEndpoint(const Aws::String &endpoint)
std::shared_ptr< InvoicingEndpointProviderBase > & accessEndpointProvider()
void CreateInvoiceUnitAsync(const CreateInvoiceUnitRequestT &request, const CreateInvoiceUnitResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
InvoicingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< InvoicingEndpointProviderBase > endpointProvider=nullptr, const Aws::Invoicing::InvoicingClientConfiguration &clientConfiguration=Aws::Invoicing::InvoicingClientConfiguration())
void BatchGetInvoiceProfileAsync(const BatchGetInvoiceProfileRequestT &request, const BatchGetInvoiceProfileResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListInvoiceUnitsOutcome ListInvoiceUnits(const Model::ListInvoiceUnitsRequest &request={}) const
InvoicingClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
static const char * GetAllocationTag()
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetInvoiceUnitOutcome GetInvoiceUnit(const Model::GetInvoiceUnitRequest &request) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
InvoicingClientConfiguration ClientConfigurationType
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
InvoicingEndpointProvider EndpointProviderType
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< ListInvoiceUnitsOutcome > ListInvoiceUnitsOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< CreateInvoiceUnitOutcome > CreateInvoiceUnitOutcomeCallable
std::future< GetInvoiceUnitOutcome > GetInvoiceUnitOutcomeCallable
std::future< BatchGetInvoiceProfileOutcome > BatchGetInvoiceProfileOutcomeCallable
std::future< ListInvoiceSummariesOutcome > ListInvoiceSummariesOutcomeCallable
std::future< DeleteInvoiceUnitOutcome > DeleteInvoiceUnitOutcomeCallable
std::future< UpdateInvoiceUnitOutcome > UpdateInvoiceUnitOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::function< void(const InvoicingClient *, const Model::UpdateInvoiceUnitRequest &, const Model::UpdateInvoiceUnitOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateInvoiceUnitResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::ListInvoiceSummariesRequest &, const Model::ListInvoiceSummariesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListInvoiceSummariesResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::GetInvoiceUnitRequest &, const Model::GetInvoiceUnitOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetInvoiceUnitResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::BatchGetInvoiceProfileRequest &, const Model::BatchGetInvoiceProfileOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > BatchGetInvoiceProfileResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::DeleteInvoiceUnitRequest &, const Model::DeleteInvoiceUnitOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteInvoiceUnitResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::CreateInvoiceUnitRequest &, const Model::CreateInvoiceUnitOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateInvoiceUnitResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::ListInvoiceUnitsRequest &, const Model::ListInvoiceUnitsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListInvoiceUnitsResponseReceivedHandler
std::function< void(const InvoicingClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String