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>
57 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr);
64 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr,
71 OAMClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
72 std::shared_ptr<OAMEndpointProviderBase> endpointProvider =
nullptr,
94 OAMClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
125 template<
typename CreateLinkRequestT = Model::CreateLinkRequest>
128 return SubmitCallable(&OAMClient::CreateLink, request);
134 template<
typename CreateLinkRequestT = Model::CreateLinkRequest>
137 return SubmitAsync(&OAMClient::CreateLink, request, handler, context);
158 template<
typename CreateSinkRequestT = Model::CreateSinkRequest>
161 return SubmitCallable(&OAMClient::CreateSink, request);
167 template<
typename CreateSinkRequestT = Model::CreateSinkRequest>
170 return SubmitAsync(&OAMClient::CreateSink, request, handler, context);
184 template<
typename DeleteLinkRequestT = Model::DeleteLinkRequest>
187 return SubmitCallable(&OAMClient::DeleteLink, request);
193 template<
typename DeleteLinkRequestT = Model::DeleteLinkRequest>
196 return SubmitAsync(&OAMClient::DeleteLink, request, handler, context);
210 template<
typename DeleteSinkRequestT = Model::DeleteSinkRequest>
213 return SubmitCallable(&OAMClient::DeleteSink, request);
219 template<
typename DeleteSinkRequestT = Model::DeleteSinkRequest>
222 return SubmitAsync(&OAMClient::DeleteSink, request, handler, context);
238 template<
typename GetLinkRequestT = Model::GetLinkRequest>
241 return SubmitCallable(&OAMClient::GetLink, request);
247 template<
typename GetLinkRequestT = Model::GetLinkRequest>
250 return SubmitAsync(&OAMClient::GetLink, request, handler, context);
266 template<
typename GetSinkRequestT = Model::GetSinkRequest>
269 return SubmitCallable(&OAMClient::GetSink, request);
275 template<
typename GetSinkRequestT = Model::GetSinkRequest>
278 return SubmitAsync(&OAMClient::GetSink, request, handler, context);
293 template<
typename GetSinkPolicyRequestT = Model::GetSinkPolicyRequest>
296 return SubmitCallable(&OAMClient::GetSinkPolicy, request);
302 template<
typename GetSinkPolicyRequestT = Model::GetSinkPolicyRequest>
305 return SubmitAsync(&OAMClient::GetSinkPolicy, request, handler, context);
324 template<
typename ListAttachedLinksRequestT = Model::ListAttachedLinksRequest>
327 return SubmitCallable(&OAMClient::ListAttachedLinks, request);
333 template<
typename ListAttachedLinksRequestT = Model::ListAttachedLinksRequest>
336 return SubmitAsync(&OAMClient::ListAttachedLinks, request, handler, context);
353 template<
typename ListLinksRequestT = Model::ListLinksRequest>
356 return SubmitCallable(&OAMClient::ListLinks, request);
362 template<
typename ListLinksRequestT = Model::ListLinksRequest>
365 return SubmitAsync(&OAMClient::ListLinks, request, handler, context);
379 template<
typename ListSinksRequestT = Model::ListSinksRequest>
382 return SubmitCallable(&OAMClient::ListSinks, request);
388 template<
typename ListSinksRequestT = Model::ListSinksRequest>
391 return SubmitAsync(&OAMClient::ListSinks, request, handler, context);
405 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
408 return SubmitCallable(&OAMClient::ListTagsForResource, request);
414 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
417 return SubmitAsync(&OAMClient::ListTagsForResource, request, handler, context);
446 template<
typename PutSinkPolicyRequestT = Model::PutSinkPolicyRequest>
449 return SubmitCallable(&OAMClient::PutSinkPolicy, request);
455 template<
typename PutSinkPolicyRequestT = Model::PutSinkPolicyRequest>
458 return SubmitAsync(&OAMClient::PutSinkPolicy, request, handler, context);
485 template<
typename TagResourceRequestT = Model::TagResourceRequest>
488 return SubmitCallable(&OAMClient::TagResource, request);
494 template<
typename TagResourceRequestT = Model::TagResourceRequest>
497 return SubmitAsync(&OAMClient::TagResource, request, handler, context);
514 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
517 return SubmitCallable(&OAMClient::UntagResource, request);
523 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
526 return SubmitAsync(&OAMClient::UntagResource, request, handler, context);
546 template<
typename UpdateLinkRequestT = Model::UpdateLinkRequest>
549 return SubmitCallable(&OAMClient::UpdateLink, request);
555 template<
typename UpdateLinkRequestT = Model::UpdateLinkRequest>
558 return SubmitAsync(&OAMClient::UpdateLink, request, handler, context);
569 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