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>
52 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider =
nullptr);
59 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider =
nullptr,
66 InvoicingClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
67 std::shared_ptr<InvoicingEndpointProviderBase> endpointProvider =
nullptr,
89 InvoicingClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
107 template<
typename BatchGetInvoiceProfileRequestT = Model::BatchGetInvoiceProfileRequest>
110 return SubmitCallable(&InvoicingClient::BatchGetInvoiceProfile, request);
116 template<
typename BatchGetInvoiceProfileRequestT = Model::BatchGetInvoiceProfileRequest>
119 return SubmitAsync(&InvoicingClient::BatchGetInvoiceProfile, request, handler, context);
133 template<
typename CreateInvoiceUnitRequestT = Model::CreateInvoiceUnitRequest>
136 return SubmitCallable(&InvoicingClient::CreateInvoiceUnit, request);
142 template<
typename CreateInvoiceUnitRequestT = Model::CreateInvoiceUnitRequest>
145 return SubmitAsync(&InvoicingClient::CreateInvoiceUnit, request, handler, context);
159 template<
typename DeleteInvoiceUnitRequestT = Model::DeleteInvoiceUnitRequest>
162 return SubmitCallable(&InvoicingClient::DeleteInvoiceUnit, request);
168 template<
typename DeleteInvoiceUnitRequestT = Model::DeleteInvoiceUnitRequest>
171 return SubmitAsync(&InvoicingClient::DeleteInvoiceUnit, request, handler, context);
184 template<
typename GetInvoiceUnitRequestT = Model::GetInvoiceUnitRequest>
187 return SubmitCallable(&InvoicingClient::GetInvoiceUnit, request);
193 template<
typename GetInvoiceUnitRequestT = Model::GetInvoiceUnitRequest>
196 return SubmitAsync(&InvoicingClient::GetInvoiceUnit, request, handler, context);
210 template<
typename ListInvoiceSummariesRequestT = Model::ListInvoiceSummariesRequest>
213 return SubmitCallable(&InvoicingClient::ListInvoiceSummaries, request);
219 template<
typename ListInvoiceSummariesRequestT = Model::ListInvoiceSummariesRequest>
222 return SubmitAsync(&InvoicingClient::ListInvoiceSummaries, request, handler, context);
236 template<
typename ListInvoiceUnitsRequestT = Model::ListInvoiceUnitsRequest>
239 return SubmitCallable(&InvoicingClient::ListInvoiceUnits, request);
245 template<
typename ListInvoiceUnitsRequestT = Model::ListInvoiceUnitsRequest>
248 return SubmitAsync(&InvoicingClient::ListInvoiceUnits, request, handler, context);
261 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
264 return SubmitCallable(&InvoicingClient::ListTagsForResource, request);
270 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
273 return SubmitAsync(&InvoicingClient::ListTagsForResource, request, handler, context);
286 template<
typename TagResourceRequestT = Model::TagResourceRequest>
289 return SubmitCallable(&InvoicingClient::TagResource, request);
295 template<
typename TagResourceRequestT = Model::TagResourceRequest>
298 return SubmitAsync(&InvoicingClient::TagResource, request, handler, context);
311 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
314 return SubmitCallable(&InvoicingClient::UntagResource, request);
320 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
323 return SubmitAsync(&InvoicingClient::UntagResource, request, handler, context);
338 template<
typename UpdateInvoiceUnitRequestT = Model::UpdateInvoiceUnitRequest>
341 return SubmitCallable(&InvoicingClient::UpdateInvoiceUnit, request);
347 template<
typename UpdateInvoiceUnitRequestT = Model::UpdateInvoiceUnitRequest>
350 return SubmitAsync(&InvoicingClient::UpdateInvoiceUnit, request, handler, context);
361 std::shared_ptr<InvoicingEndpointProviderBase> m_endpointProvider;
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 ~InvoicingClient()
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