7#include <aws/iotsecuretunneling/IoTSecureTunneling_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/iotsecuretunneling/IoTSecureTunnelingServiceClientModel.h>
16namespace IoTSecureTunneling
40 std::shared_ptr<IoTSecureTunnelingEndpointProviderBase> endpointProvider =
nullptr);
47 std::shared_ptr<IoTSecureTunnelingEndpointProviderBase> endpointProvider =
nullptr,
55 std::shared_ptr<IoTSecureTunnelingEndpointProviderBase> endpointProvider =
nullptr,
98 template<
typename CloseTunnelRequestT = Model::CloseTunnelRequest>
101 return SubmitCallable(&IoTSecureTunnelingClient::CloseTunnel, request);
107 template<
typename CloseTunnelRequestT = Model::CloseTunnelRequest>
110 return SubmitAsync(&IoTSecureTunnelingClient::CloseTunnel, request, handler, context);
126 template<
typename DescribeTunnelRequestT = Model::DescribeTunnelRequest>
129 return SubmitCallable(&IoTSecureTunnelingClient::DescribeTunnel, request);
135 template<
typename DescribeTunnelRequestT = Model::DescribeTunnelRequest>
138 return SubmitAsync(&IoTSecureTunnelingClient::DescribeTunnel, request, handler, context);
151 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
154 return SubmitCallable(&IoTSecureTunnelingClient::ListTagsForResource, request);
160 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
163 return SubmitAsync(&IoTSecureTunnelingClient::ListTagsForResource, request, handler, context);
180 template<
typename ListTunnelsRequestT = Model::ListTunnelsRequest>
183 return SubmitCallable(&IoTSecureTunnelingClient::ListTunnels, request);
189 template<
typename ListTunnelsRequestT = Model::ListTunnelsRequest>
192 return SubmitAsync(&IoTSecureTunnelingClient::ListTunnels, request, handler, context);
209 template<
typename OpenTunnelRequestT = Model::OpenTunnelRequest>
212 return SubmitCallable(&IoTSecureTunnelingClient::OpenTunnel, request);
218 template<
typename OpenTunnelRequestT = Model::OpenTunnelRequest>
221 return SubmitAsync(&IoTSecureTunnelingClient::OpenTunnel, request, handler, context);
242 template<
typename RotateTunnelAccessTokenRequestT = Model::RotateTunnelAccessTokenRequest>
245 return SubmitCallable(&IoTSecureTunnelingClient::RotateTunnelAccessToken, request);
251 template<
typename RotateTunnelAccessTokenRequestT = Model::RotateTunnelAccessTokenRequest>
254 return SubmitAsync(&IoTSecureTunnelingClient::RotateTunnelAccessToken, request, handler, context);
267 template<
typename TagResourceRequestT = Model::TagResourceRequest>
270 return SubmitCallable(&IoTSecureTunnelingClient::TagResource, request);
276 template<
typename TagResourceRequestT = Model::TagResourceRequest>
279 return SubmitAsync(&IoTSecureTunnelingClient::TagResource, request, handler, context);
292 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
295 return SubmitCallable(&IoTSecureTunnelingClient::UntagResource, request);
301 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
304 return SubmitAsync(&IoTSecureTunnelingClient::UntagResource, request, handler, context);
315 std::shared_ptr<IoTSecureTunnelingEndpointProviderBase> m_endpointProvider;
IoTSecureTunnelingClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::ListTunnelsOutcomeCallable ListTunnelsCallable(const ListTunnelsRequestT &request={}) const
void RotateTunnelAccessTokenAsync(const RotateTunnelAccessTokenRequestT &request, const RotateTunnelAccessTokenResponseReceivedHandler &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
IoTSecureTunnelingEndpointProvider EndpointProviderType
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
Aws::Client::AWSJsonClient BASECLASS
void OpenTunnelAsync(const OpenTunnelResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const OpenTunnelRequestT &request={}) const
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
IoTSecureTunnelingClientConfiguration ClientConfigurationType
IoTSecureTunnelingClient(const Aws::Client::ClientConfiguration &clientConfiguration)
IoTSecureTunnelingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< IoTSecureTunnelingEndpointProviderBase > endpointProvider=nullptr, const Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration &clientConfiguration=Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration())
Model::OpenTunnelOutcomeCallable OpenTunnelCallable(const OpenTunnelRequestT &request={}) const
virtual Model::ListTunnelsOutcome ListTunnels(const Model::ListTunnelsRequest &request={}) const
void ListTunnelsAsync(const ListTunnelsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListTunnelsRequestT &request={}) const
Model::CloseTunnelOutcomeCallable CloseTunnelCallable(const CloseTunnelRequestT &request) const
IoTSecureTunnelingClient(const Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration &clientConfiguration=Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration(), std::shared_ptr< IoTSecureTunnelingEndpointProviderBase > endpointProvider=nullptr)
static const char * GetServiceName()
virtual Model::RotateTunnelAccessTokenOutcome RotateTunnelAccessToken(const Model::RotateTunnelAccessTokenRequest &request) const
IoTSecureTunnelingClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< IoTSecureTunnelingEndpointProviderBase > endpointProvider=nullptr, const Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration &clientConfiguration=Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration())
void CloseTunnelAsync(const CloseTunnelRequestT &request, const CloseTunnelResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::OpenTunnelOutcome OpenTunnel(const Model::OpenTunnelRequest &request={}) const
std::shared_ptr< IoTSecureTunnelingEndpointProviderBase > & accessEndpointProvider()
virtual Model::DescribeTunnelOutcome DescribeTunnel(const Model::DescribeTunnelRequest &request) const
virtual Model::CloseTunnelOutcome CloseTunnel(const Model::CloseTunnelRequest &request) const
virtual ~IoTSecureTunnelingClient()
Model::DescribeTunnelOutcomeCallable DescribeTunnelCallable(const DescribeTunnelRequestT &request) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
void OverrideEndpoint(const Aws::String &endpoint)
IoTSecureTunnelingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
static const char * GetAllocationTag()
Model::RotateTunnelAccessTokenOutcomeCallable RotateTunnelAccessTokenCallable(const RotateTunnelAccessTokenRequestT &request) const
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
void DescribeTunnelAsync(const DescribeTunnelRequestT &request, const DescribeTunnelResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< DescribeTunnelOutcome > DescribeTunnelOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< ListTunnelsOutcome > ListTunnelsOutcomeCallable
std::future< CloseTunnelOutcome > CloseTunnelOutcomeCallable
std::future< OpenTunnelOutcome > OpenTunnelOutcomeCallable
std::future< RotateTunnelAccessTokenOutcome > RotateTunnelAccessTokenOutcomeCallable
std::function< void(const IoTSecureTunnelingClient *, const Model::RotateTunnelAccessTokenRequest &, const Model::RotateTunnelAccessTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RotateTunnelAccessTokenResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::OpenTunnelRequest &, const Model::OpenTunnelOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > OpenTunnelResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::ListTunnelsRequest &, const Model::ListTunnelsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTunnelsResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::DescribeTunnelRequest &, const Model::DescribeTunnelOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeTunnelResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, const Model::CloseTunnelRequest &, const Model::CloseTunnelOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CloseTunnelResponseReceivedHandler
std::function< void(const IoTSecureTunnelingClient *, 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