7#include <aws/oam/OAM_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/oam/OAMServiceClientModel.h>
50 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr);
57 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr,
64 OAMClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
65 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr,
87 OAMClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
118 template<
typename CreateLinkRequestT = Model::CreateLinkRequest>
121 return SubmitCallable(&OAMClient::CreateLink, request);
127 template<
typename CreateLinkRequestT = Model::CreateLinkRequest>
130 return SubmitAsync(&OAMClient::CreateLink, request, handler, context);
151 template<
typename CreateSinkRequestT = Model::CreateSinkRequest>
154 return SubmitCallable(&OAMClient::CreateSink, request);
160 template<
typename CreateSinkRequestT = Model::CreateSinkRequest>
163 return SubmitAsync(&OAMClient::CreateSink, request, handler, context);
177 template<
typename DeleteLinkRequestT = Model::DeleteLinkRequest>
180 return SubmitCallable(&OAMClient::DeleteLink, request);
186 template<
typename DeleteLinkRequestT = Model::DeleteLinkRequest>
189 return SubmitAsync(&OAMClient::DeleteLink, request, handler, context);
203 template<
typename DeleteSinkRequestT = Model::DeleteSinkRequest>
206 return SubmitCallable(&OAMClient::DeleteSink, request);
212 template<
typename DeleteSinkRequestT = Model::DeleteSinkRequest>
215 return SubmitAsync(&OAMClient::DeleteSink, request, handler, context);
231 template<
typename GetLinkRequestT = Model::GetLinkRequest>
234 return SubmitCallable(&OAMClient::GetLink, request);
240 template<
typename GetLinkRequestT = Model::GetLinkRequest>
243 return SubmitAsync(&OAMClient::GetLink, request, handler, context);
259 template<
typename GetSinkRequestT = Model::GetSinkRequest>
262 return SubmitCallable(&OAMClient::GetSink, request);
268 template<
typename GetSinkRequestT = Model::GetSinkRequest>
271 return SubmitAsync(&OAMClient::GetSink, request, handler, context);
286 template<
typename GetSinkPolicyRequestT = Model::GetSinkPolicyRequest>
289 return SubmitCallable(&OAMClient::GetSinkPolicy, request);
295 template<
typename GetSinkPolicyRequestT = Model::GetSinkPolicyRequest>
298 return SubmitAsync(&OAMClient::GetSinkPolicy, request, handler, context);
317 template<
typename ListAttachedLinksRequestT = Model::ListAttachedLinksRequest>
320 return SubmitCallable(&OAMClient::ListAttachedLinks, request);
326 template<
typename ListAttachedLinksRequestT = Model::ListAttachedLinksRequest>
329 return SubmitAsync(&OAMClient::ListAttachedLinks, request, handler, context);
346 template<
typename ListLinksRequestT = Model::ListLinksRequest>
349 return SubmitCallable(&OAMClient::ListLinks, request);
355 template<
typename ListLinksRequestT = Model::ListLinksRequest>
358 return SubmitAsync(&OAMClient::ListLinks, request, handler, context);
372 template<
typename ListSinksRequestT = Model::ListSinksRequest>
375 return SubmitCallable(&OAMClient::ListSinks, request);
381 template<
typename ListSinksRequestT = Model::ListSinksRequest>
384 return SubmitAsync(&OAMClient::ListSinks, request, handler, context);
398 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
401 return SubmitCallable(&OAMClient::ListTagsForResource, request);
407 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
410 return SubmitAsync(&OAMClient::ListTagsForResource, request, handler, context);
434 template<
typename PutSinkPolicyRequestT = Model::PutSinkPolicyRequest>
437 return SubmitCallable(&OAMClient::PutSinkPolicy, request);
443 template<
typename PutSinkPolicyRequestT = Model::PutSinkPolicyRequest>
446 return SubmitAsync(&OAMClient::PutSinkPolicy, request, handler, context);
473 template<
typename TagResourceRequestT = Model::TagResourceRequest>
476 return SubmitCallable(&OAMClient::TagResource, request);
482 template<
typename TagResourceRequestT = Model::TagResourceRequest>
485 return SubmitAsync(&OAMClient::TagResource, request, handler, context);
502 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
505 return SubmitCallable(&OAMClient::UntagResource, request);
511 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
514 return SubmitAsync(&OAMClient::UntagResource, request, handler, context);
534 template<
typename UpdateLinkRequestT = Model::UpdateLinkRequest>
537 return SubmitCallable(&OAMClient::UpdateLink, request);
543 template<
typename UpdateLinkRequestT = Model::UpdateLinkRequest>
546 return SubmitAsync(&OAMClient::UpdateLink, request, handler, context);
557 std::shared_ptr<OAMEndpointProviderBase> m_endpointProvider;
static const char * GetServiceName()
void GetLinkAsync(const GetLinkRequestT &request, const GetLinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UpdateLinkOutcome UpdateLink(const Model::UpdateLinkRequest &request) const
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutSinkPolicyAsync(const PutSinkPolicyRequestT &request, const PutSinkPolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
void GetSinkPolicyAsync(const GetSinkPolicyRequestT &request, const GetSinkPolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteSinkAsync(const DeleteSinkRequestT &request, const DeleteSinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListLinksOutcomeCallable ListLinksCallable(const ListLinksRequestT &request={}) const
OAMClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< OAMEndpointProviderBase > endpointProvider=nullptr, const Aws::OAM::OAMClientConfiguration &clientConfiguration=Aws::OAM::OAMClientConfiguration())
virtual Model::ListAttachedLinksOutcome ListAttachedLinks(const Model::ListAttachedLinksRequest &request) const
static const char * GetAllocationTag()
std::shared_ptr< OAMEndpointProviderBase > & accessEndpointProvider()
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
void CreateSinkAsync(const CreateSinkRequestT &request, const CreateSinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetSinkOutcomeCallable GetSinkCallable(const GetSinkRequestT &request) const
void GetSinkAsync(const GetSinkRequestT &request, const GetSinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void UpdateLinkAsync(const UpdateLinkRequestT &request, const UpdateLinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
OAMClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::CreateSinkOutcome CreateSink(const Model::CreateSinkRequest &request) const
virtual Model::DeleteLinkOutcome DeleteLink(const Model::DeleteLinkRequest &request) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
OAMClientConfiguration ClientConfigurationType
void ListLinksAsync(const ListLinksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListLinksRequestT &request={}) const
void OverrideEndpoint(const Aws::String &endpoint)
virtual Model::ListSinksOutcome ListSinks(const Model::ListSinksRequest &request={}) const
Model::GetSinkPolicyOutcomeCallable GetSinkPolicyCallable(const GetSinkPolicyRequestT &request) const
OAMClient(const Aws::OAM::OAMClientConfiguration &clientConfiguration=Aws::OAM::OAMClientConfiguration(), std::shared_ptr< OAMEndpointProviderBase > endpointProvider=nullptr)
virtual Model::DeleteSinkOutcome DeleteSink(const Model::DeleteSinkRequest &request) const
Model::ListSinksOutcomeCallable ListSinksCallable(const ListSinksRequestT &request={}) const
void ListSinksAsync(const ListSinksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListSinksRequestT &request={}) const
Model::GetLinkOutcomeCallable GetLinkCallable(const GetLinkRequestT &request) const
virtual Model::PutSinkPolicyOutcome PutSinkPolicy(const Model::PutSinkPolicyRequest &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
virtual Model::GetSinkOutcome GetSink(const Model::GetSinkRequest &request) const
OAMClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
OAMClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< OAMEndpointProviderBase > endpointProvider=nullptr, const Aws::OAM::OAMClientConfiguration &clientConfiguration=Aws::OAM::OAMClientConfiguration())
Model::DeleteLinkOutcomeCallable DeleteLinkCallable(const DeleteLinkRequestT &request) const
Model::CreateLinkOutcomeCallable CreateLinkCallable(const CreateLinkRequestT &request) const
OAMClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::ListLinksOutcome ListLinks(const Model::ListLinksRequest &request={}) const
Aws::Client::AWSJsonClient BASECLASS
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteSinkOutcomeCallable DeleteSinkCallable(const DeleteSinkRequestT &request) const
virtual Model::GetLinkOutcome GetLink(const Model::GetLinkRequest &request) const
void ListAttachedLinksAsync(const ListAttachedLinksRequestT &request, const ListAttachedLinksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void CreateLinkAsync(const CreateLinkRequestT &request, const CreateLinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListAttachedLinksOutcomeCallable ListAttachedLinksCallable(const ListAttachedLinksRequestT &request) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
OAMEndpointProvider EndpointProviderType
Model::PutSinkPolicyOutcomeCallable PutSinkPolicyCallable(const PutSinkPolicyRequestT &request) const
void DeleteLinkAsync(const DeleteLinkRequestT &request, const DeleteLinkResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetSinkPolicyOutcome GetSinkPolicy(const Model::GetSinkPolicyRequest &request) const
Model::CreateSinkOutcomeCallable CreateSinkCallable(const CreateSinkRequestT &request) const
Model::UpdateLinkOutcomeCallable UpdateLinkCallable(const UpdateLinkRequestT &request) const
virtual Model::CreateLinkOutcome CreateLink(const Model::CreateLinkRequest &request) const
std::future< GetLinkOutcome > GetLinkOutcomeCallable
std::future< GetSinkPolicyOutcome > GetSinkPolicyOutcomeCallable
std::future< ListLinksOutcome > ListLinksOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< ListAttachedLinksOutcome > ListAttachedLinksOutcomeCallable
std::future< CreateSinkOutcome > CreateSinkOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< DeleteLinkOutcome > DeleteLinkOutcomeCallable
std::future< GetSinkOutcome > GetSinkOutcomeCallable
std::future< DeleteSinkOutcome > DeleteSinkOutcomeCallable
std::future< ListSinksOutcome > ListSinksOutcomeCallable
std::future< CreateLinkOutcome > CreateLinkOutcomeCallable
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< PutSinkPolicyOutcome > PutSinkPolicyOutcomeCallable
std::future< UpdateLinkOutcome > UpdateLinkOutcomeCallable
std::function< void(const OAMClient *, const Model::CreateLinkRequest &, const Model::CreateLinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateLinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::DeleteSinkRequest &, const Model::DeleteSinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteSinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const OAMClient *, const Model::GetLinkRequest &, const Model::GetLinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetLinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::CreateSinkRequest &, const Model::CreateSinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateSinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
std::function< void(const OAMClient *, const Model::GetSinkPolicyRequest &, const Model::GetSinkPolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetSinkPolicyResponseReceivedHandler
std::function< void(const OAMClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const OAMClient *, const Model::PutSinkPolicyRequest &, const Model::PutSinkPolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutSinkPolicyResponseReceivedHandler
std::function< void(const OAMClient *, const Model::ListLinksRequest &, const Model::ListLinksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListLinksResponseReceivedHandler
std::function< void(const OAMClient *, const Model::ListAttachedLinksRequest &, const Model::ListAttachedLinksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListAttachedLinksResponseReceivedHandler
std::function< void(const OAMClient *, const Model::ListSinksRequest &, const Model::ListSinksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListSinksResponseReceivedHandler
std::function< void(const OAMClient *, const Model::UpdateLinkRequest &, const Model::UpdateLinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateLinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::GetSinkRequest &, const Model::GetSinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetSinkResponseReceivedHandler
std::function< void(const OAMClient *, const Model::DeleteLinkRequest &, const Model::DeleteLinkOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteLinkResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String