7#include <aws/pcs/PCS_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/pcs/PCSServiceClientModel.h>
58 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr);
65 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr,
72 PCSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
73 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr,
95 PCSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
120 template<
typename CreateClusterRequestT = Model::CreateClusterRequest>
123 return SubmitCallable(&PCSClient::CreateCluster, request);
129 template<
typename CreateClusterRequestT = Model::CreateClusterRequest>
132 return SubmitAsync(&PCSClient::CreateCluster, request, handler, context);
156 template<
typename CreateComputeNodeGroupRequestT = Model::CreateComputeNodeGroupRequest>
159 return SubmitCallable(&PCSClient::CreateComputeNodeGroup, request);
165 template<
typename CreateComputeNodeGroupRequestT = Model::CreateComputeNodeGroupRequest>
168 return SubmitAsync(&PCSClient::CreateComputeNodeGroup, request, handler, context);
183 template<
typename CreateQueueRequestT = Model::CreateQueueRequest>
186 return SubmitCallable(&PCSClient::CreateQueue, request);
192 template<
typename CreateQueueRequestT = Model::CreateQueueRequest>
195 return SubmitAsync(&PCSClient::CreateQueue, request, handler, context);
210 template<
typename DeleteClusterRequestT = Model::DeleteClusterRequest>
213 return SubmitCallable(&PCSClient::DeleteCluster, request);
219 template<
typename DeleteClusterRequestT = Model::DeleteClusterRequest>
222 return SubmitAsync(&PCSClient::DeleteCluster, request, handler, context);
236 template<
typename DeleteComputeNodeGroupRequestT = Model::DeleteComputeNodeGroupRequest>
239 return SubmitCallable(&PCSClient::DeleteComputeNodeGroup, request);
245 template<
typename DeleteComputeNodeGroupRequestT = Model::DeleteComputeNodeGroupRequest>
248 return SubmitAsync(&PCSClient::DeleteComputeNodeGroup, request, handler, context);
263 template<
typename DeleteQueueRequestT = Model::DeleteQueueRequest>
266 return SubmitCallable(&PCSClient::DeleteQueue, request);
272 template<
typename DeleteQueueRequestT = Model::DeleteQueueRequest>
275 return SubmitAsync(&PCSClient::DeleteQueue, request, handler, context);
291 template<
typename GetClusterRequestT = Model::GetClusterRequest>
294 return SubmitCallable(&PCSClient::GetCluster, request);
300 template<
typename GetClusterRequestT = Model::GetClusterRequest>
303 return SubmitAsync(&PCSClient::GetCluster, request, handler, context);
318 template<
typename GetComputeNodeGroupRequestT = Model::GetComputeNodeGroupRequest>
321 return SubmitCallable(&PCSClient::GetComputeNodeGroup, request);
327 template<
typename GetComputeNodeGroupRequestT = Model::GetComputeNodeGroupRequest>
330 return SubmitAsync(&PCSClient::GetComputeNodeGroup, request, handler, context);
345 template<
typename GetQueueRequestT = Model::GetQueueRequest>
348 return SubmitCallable(&PCSClient::GetQueue, request);
354 template<
typename GetQueueRequestT = Model::GetQueueRequest>
357 return SubmitAsync(&PCSClient::GetQueue, request, handler, context);
370 template<
typename ListClustersRequestT = Model::ListClustersRequest>
373 return SubmitCallable(&PCSClient::ListClusters, request);
379 template<
typename ListClustersRequestT = Model::ListClustersRequest>
382 return SubmitAsync(&PCSClient::ListClusters, request, handler, context);
396 template<
typename ListComputeNodeGroupsRequestT = Model::ListComputeNodeGroupsRequest>
399 return SubmitCallable(&PCSClient::ListComputeNodeGroups, request);
405 template<
typename ListComputeNodeGroupsRequestT = Model::ListComputeNodeGroupsRequest>
408 return SubmitAsync(&PCSClient::ListComputeNodeGroups, request, handler, context);
422 template<
typename ListQueuesRequestT = Model::ListQueuesRequest>
425 return SubmitCallable(&PCSClient::ListQueues, request);
431 template<
typename ListQueuesRequestT = Model::ListQueuesRequest>
434 return SubmitAsync(&PCSClient::ListQueues, request, handler, context);
448 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
451 return SubmitCallable(&PCSClient::ListTagsForResource, request);
457 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
460 return SubmitAsync(&PCSClient::ListTagsForResource, request, handler, context);
475 template<
typename RegisterComputeNodeGroupInstanceRequestT = Model::RegisterComputeNodeGroupInstanceRequest>
478 return SubmitCallable(&PCSClient::RegisterComputeNodeGroupInstance, request);
484 template<
typename RegisterComputeNodeGroupInstanceRequestT = Model::RegisterComputeNodeGroupInstanceRequest>
487 return SubmitAsync(&PCSClient::RegisterComputeNodeGroupInstance, request, handler, context);
504 template<
typename TagResourceRequestT = Model::TagResourceRequest>
507 return SubmitCallable(&PCSClient::TagResource, request);
513 template<
typename TagResourceRequestT = Model::TagResourceRequest>
516 return SubmitAsync(&PCSClient::TagResource, request, handler, context);
531 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
534 return SubmitCallable(&PCSClient::UntagResource, request);
540 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
543 return SubmitAsync(&PCSClient::UntagResource, request, handler, context);
559 template<
typename UpdateComputeNodeGroupRequestT = Model::UpdateComputeNodeGroupRequest>
562 return SubmitCallable(&PCSClient::UpdateComputeNodeGroup, request);
568 template<
typename UpdateComputeNodeGroupRequestT = Model::UpdateComputeNodeGroupRequest>
571 return SubmitAsync(&PCSClient::UpdateComputeNodeGroup, request, handler, context);
586 template<
typename UpdateQueueRequestT = Model::UpdateQueueRequest>
589 return SubmitCallable(&PCSClient::UpdateQueue, request);
595 template<
typename UpdateQueueRequestT = Model::UpdateQueueRequest>
598 return SubmitAsync(&PCSClient::UpdateQueue, request, handler, context);
609 std::shared_ptr<PCSEndpointProviderBase> m_endpointProvider;
void CreateQueueAsync(const CreateQueueRequestT &request, const CreateQueueResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::CreateQueueOutcomeCallable CreateQueueCallable(const CreateQueueRequestT &request) const
PCSEndpointProvider EndpointProviderType
virtual Model::CreateQueueOutcome CreateQueue(const Model::CreateQueueRequest &request) const
virtual Model::ListClustersOutcome ListClusters(const Model::ListClustersRequest &request={}) const
Model::DeleteComputeNodeGroupOutcomeCallable DeleteComputeNodeGroupCallable(const DeleteComputeNodeGroupRequestT &request) const
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
virtual Model::RegisterComputeNodeGroupInstanceOutcome RegisterComputeNodeGroupInstance(const Model::RegisterComputeNodeGroupInstanceRequest &request) const
virtual Model::CreateComputeNodeGroupOutcome CreateComputeNodeGroup(const Model::CreateComputeNodeGroupRequest &request) const
void GetQueueAsync(const GetQueueRequestT &request, const GetQueueResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
Model::DeleteClusterOutcomeCallable DeleteClusterCallable(const DeleteClusterRequestT &request) const
Model::CreateClusterOutcomeCallable CreateClusterCallable(const CreateClusterRequestT &request) const
Aws::Client::AWSJsonClient BASECLASS
PCSClient(const Aws::PCS::PCSClientConfiguration &clientConfiguration=Aws::PCS::PCSClientConfiguration(), std::shared_ptr< PCSEndpointProviderBase > endpointProvider=nullptr)
Model::ListClustersOutcomeCallable ListClustersCallable(const ListClustersRequestT &request={}) const
virtual Model::GetClusterOutcome GetCluster(const Model::GetClusterRequest &request) const
void GetClusterAsync(const GetClusterRequestT &request, const GetClusterResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
void OverrideEndpoint(const Aws::String &endpoint)
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
static const char * GetAllocationTag()
PCSClientConfiguration ClientConfigurationType
virtual Model::UpdateComputeNodeGroupOutcome UpdateComputeNodeGroup(const Model::UpdateComputeNodeGroupRequest &request) const
std::shared_ptr< PCSEndpointProviderBase > & accessEndpointProvider()
virtual Model::UpdateQueueOutcome UpdateQueue(const Model::UpdateQueueRequest &request) const
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
Model::ListQueuesOutcomeCallable ListQueuesCallable(const ListQueuesRequestT &request) const
PCSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
void GetComputeNodeGroupAsync(const GetComputeNodeGroupRequestT &request, const GetComputeNodeGroupResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListQueuesAsync(const ListQueuesRequestT &request, const ListQueuesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetClusterOutcomeCallable GetClusterCallable(const GetClusterRequestT &request) const
void UpdateQueueAsync(const UpdateQueueRequestT &request, const UpdateQueueResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::CreateComputeNodeGroupOutcomeCallable CreateComputeNodeGroupCallable(const CreateComputeNodeGroupRequestT &request) const
void DeleteQueueAsync(const DeleteQueueRequestT &request, const DeleteQueueResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteQueueOutcomeCallable DeleteQueueCallable(const DeleteQueueRequestT &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
void CreateClusterAsync(const CreateClusterRequestT &request, const CreateClusterResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
PCSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< PCSEndpointProviderBase > endpointProvider=nullptr, const Aws::PCS::PCSClientConfiguration &clientConfiguration=Aws::PCS::PCSClientConfiguration())
PCSClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< PCSEndpointProviderBase > endpointProvider=nullptr, const Aws::PCS::PCSClientConfiguration &clientConfiguration=Aws::PCS::PCSClientConfiguration())
PCSClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::RegisterComputeNodeGroupInstanceOutcomeCallable RegisterComputeNodeGroupInstanceCallable(const RegisterComputeNodeGroupInstanceRequestT &request) const
void ListClustersAsync(const ListClustersResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListClustersRequestT &request={}) const
Model::GetQueueOutcomeCallable GetQueueCallable(const GetQueueRequestT &request) const
PCSClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void ListComputeNodeGroupsAsync(const ListComputeNodeGroupsRequestT &request, const ListComputeNodeGroupsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteComputeNodeGroupAsync(const DeleteComputeNodeGroupRequestT &request, const DeleteComputeNodeGroupResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteQueueOutcome DeleteQueue(const Model::DeleteQueueRequest &request) const
void UpdateComputeNodeGroupAsync(const UpdateComputeNodeGroupRequestT &request, const UpdateComputeNodeGroupResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListQueuesOutcome ListQueues(const Model::ListQueuesRequest &request) const
Model::ListComputeNodeGroupsOutcomeCallable ListComputeNodeGroupsCallable(const ListComputeNodeGroupsRequestT &request) const
void DeleteClusterAsync(const DeleteClusterRequestT &request, const DeleteClusterResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest &request) const
void RegisterComputeNodeGroupInstanceAsync(const RegisterComputeNodeGroupInstanceRequestT &request, const RegisterComputeNodeGroupInstanceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetComputeNodeGroupOutcome GetComputeNodeGroup(const Model::GetComputeNodeGroupRequest &request) const
Model::UpdateComputeNodeGroupOutcomeCallable UpdateComputeNodeGroupCallable(const UpdateComputeNodeGroupRequestT &request) const
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
static const char * GetServiceName()
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void CreateComputeNodeGroupAsync(const CreateComputeNodeGroupRequestT &request, const CreateComputeNodeGroupResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteComputeNodeGroupOutcome DeleteComputeNodeGroup(const Model::DeleteComputeNodeGroupRequest &request) const
Model::UpdateQueueOutcomeCallable UpdateQueueCallable(const UpdateQueueRequestT &request) const
virtual Model::GetQueueOutcome GetQueue(const Model::GetQueueRequest &request) const
virtual Model::ListComputeNodeGroupsOutcome ListComputeNodeGroups(const Model::ListComputeNodeGroupsRequest &request) const
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetComputeNodeGroupOutcomeCallable GetComputeNodeGroupCallable(const GetComputeNodeGroupRequestT &request) const
virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest &request) const
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< ListComputeNodeGroupsOutcome > ListComputeNodeGroupsOutcomeCallable
std::future< RegisterComputeNodeGroupInstanceOutcome > RegisterComputeNodeGroupInstanceOutcomeCallable
std::future< UpdateQueueOutcome > UpdateQueueOutcomeCallable
std::future< DeleteClusterOutcome > DeleteClusterOutcomeCallable
std::future< ListClustersOutcome > ListClustersOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< GetQueueOutcome > GetQueueOutcomeCallable
std::future< GetComputeNodeGroupOutcome > GetComputeNodeGroupOutcomeCallable
std::future< DeleteQueueOutcome > DeleteQueueOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< UpdateComputeNodeGroupOutcome > UpdateComputeNodeGroupOutcomeCallable
std::future< CreateComputeNodeGroupOutcome > CreateComputeNodeGroupOutcomeCallable
std::future< GetClusterOutcome > GetClusterOutcomeCallable
std::future< ListQueuesOutcome > ListQueuesOutcomeCallable
std::future< CreateQueueOutcome > CreateQueueOutcomeCallable
std::future< CreateClusterOutcome > CreateClusterOutcomeCallable
std::future< DeleteComputeNodeGroupOutcome > DeleteComputeNodeGroupOutcomeCallable
std::function< void(const PCSClient *, const Model::RegisterComputeNodeGroupInstanceRequest &, const Model::RegisterComputeNodeGroupInstanceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RegisterComputeNodeGroupInstanceResponseReceivedHandler
std::function< void(const PCSClient *, const Model::CreateComputeNodeGroupRequest &, const Model::CreateComputeNodeGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateComputeNodeGroupResponseReceivedHandler
std::function< void(const PCSClient *, const Model::DeleteComputeNodeGroupRequest &, const Model::DeleteComputeNodeGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteComputeNodeGroupResponseReceivedHandler
std::function< void(const PCSClient *, const Model::ListClustersRequest &, const Model::ListClustersOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListClustersResponseReceivedHandler
std::function< void(const PCSClient *, const Model::CreateClusterRequest &, const Model::CreateClusterOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateClusterResponseReceivedHandler
std::function< void(const PCSClient *, const Model::DeleteQueueRequest &, const Model::DeleteQueueOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteQueueResponseReceivedHandler
std::function< void(const PCSClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const PCSClient *, const Model::ListQueuesRequest &, const Model::ListQueuesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListQueuesResponseReceivedHandler
std::function< void(const PCSClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const PCSClient *, const Model::UpdateComputeNodeGroupRequest &, const Model::UpdateComputeNodeGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateComputeNodeGroupResponseReceivedHandler
std::function< void(const PCSClient *, const Model::ListComputeNodeGroupsRequest &, const Model::ListComputeNodeGroupsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListComputeNodeGroupsResponseReceivedHandler
std::function< void(const PCSClient *, const Model::UpdateQueueRequest &, const Model::UpdateQueueOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateQueueResponseReceivedHandler
std::function< void(const PCSClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
std::function< void(const PCSClient *, const Model::GetClusterRequest &, const Model::GetClusterOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetClusterResponseReceivedHandler
std::function< void(const PCSClient *, const Model::CreateQueueRequest &, const Model::CreateQueueOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateQueueResponseReceivedHandler
std::function< void(const PCSClient *, const Model::DeleteClusterRequest &, const Model::DeleteClusterOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteClusterResponseReceivedHandler
std::function< void(const PCSClient *, const Model::GetComputeNodeGroupRequest &, const Model::GetComputeNodeGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetComputeNodeGroupResponseReceivedHandler
std::function< void(const PCSClient *, const Model::GetQueueRequest &, const Model::GetQueueOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetQueueResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String