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>
56 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr);
63 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr,
70 PCSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
71 std::shared_ptr<PCSEndpointProviderBase> endpointProvider =
nullptr,
93 PCSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
118 template<
typename CreateClusterRequestT = Model::CreateClusterRequest>
121 return SubmitCallable(&PCSClient::CreateCluster, request);
127 template<
typename CreateClusterRequestT = Model::CreateClusterRequest>
130 return SubmitAsync(&PCSClient::CreateCluster, request, handler, context);
153 template<
typename CreateComputeNodeGroupRequestT = Model::CreateComputeNodeGroupRequest>
156 return SubmitCallable(&PCSClient::CreateComputeNodeGroup, request);
162 template<
typename CreateComputeNodeGroupRequestT = Model::CreateComputeNodeGroupRequest>
165 return SubmitAsync(&PCSClient::CreateComputeNodeGroup, request, handler, context);
180 template<
typename CreateQueueRequestT = Model::CreateQueueRequest>
183 return SubmitCallable(&PCSClient::CreateQueue, request);
189 template<
typename CreateQueueRequestT = Model::CreateQueueRequest>
192 return SubmitAsync(&PCSClient::CreateQueue, request, handler, context);
207 template<
typename DeleteClusterRequestT = Model::DeleteClusterRequest>
210 return SubmitCallable(&PCSClient::DeleteCluster, request);
216 template<
typename DeleteClusterRequestT = Model::DeleteClusterRequest>
219 return SubmitAsync(&PCSClient::DeleteCluster, request, handler, context);
233 template<
typename DeleteComputeNodeGroupRequestT = Model::DeleteComputeNodeGroupRequest>
236 return SubmitCallable(&PCSClient::DeleteComputeNodeGroup, request);
242 template<
typename DeleteComputeNodeGroupRequestT = Model::DeleteComputeNodeGroupRequest>
245 return SubmitAsync(&PCSClient::DeleteComputeNodeGroup, request, handler, context);
260 template<
typename DeleteQueueRequestT = Model::DeleteQueueRequest>
263 return SubmitCallable(&PCSClient::DeleteQueue, request);
269 template<
typename DeleteQueueRequestT = Model::DeleteQueueRequest>
272 return SubmitAsync(&PCSClient::DeleteQueue, request, handler, context);
288 template<
typename GetClusterRequestT = Model::GetClusterRequest>
291 return SubmitCallable(&PCSClient::GetCluster, request);
297 template<
typename GetClusterRequestT = Model::GetClusterRequest>
300 return SubmitAsync(&PCSClient::GetCluster, request, handler, context);
315 template<
typename GetComputeNodeGroupRequestT = Model::GetComputeNodeGroupRequest>
318 return SubmitCallable(&PCSClient::GetComputeNodeGroup, request);
324 template<
typename GetComputeNodeGroupRequestT = Model::GetComputeNodeGroupRequest>
327 return SubmitAsync(&PCSClient::GetComputeNodeGroup, request, handler, context);
342 template<
typename GetQueueRequestT = Model::GetQueueRequest>
345 return SubmitCallable(&PCSClient::GetQueue, request);
351 template<
typename GetQueueRequestT = Model::GetQueueRequest>
354 return SubmitAsync(&PCSClient::GetQueue, request, handler, context);
367 template<
typename ListClustersRequestT = Model::ListClustersRequest>
370 return SubmitCallable(&PCSClient::ListClusters, request);
376 template<
typename ListClustersRequestT = Model::ListClustersRequest>
379 return SubmitAsync(&PCSClient::ListClusters, request, handler, context);
393 template<
typename ListComputeNodeGroupsRequestT = Model::ListComputeNodeGroupsRequest>
396 return SubmitCallable(&PCSClient::ListComputeNodeGroups, request);
402 template<
typename ListComputeNodeGroupsRequestT = Model::ListComputeNodeGroupsRequest>
405 return SubmitAsync(&PCSClient::ListComputeNodeGroups, request, handler, context);
419 template<
typename ListQueuesRequestT = Model::ListQueuesRequest>
422 return SubmitCallable(&PCSClient::ListQueues, request);
428 template<
typename ListQueuesRequestT = Model::ListQueuesRequest>
431 return SubmitAsync(&PCSClient::ListQueues, request, handler, context);
444 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
447 return SubmitCallable(&PCSClient::ListTagsForResource, request);
453 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
456 return SubmitAsync(&PCSClient::ListTagsForResource, request, handler, context);
471 template<
typename RegisterComputeNodeGroupInstanceRequestT = Model::RegisterComputeNodeGroupInstanceRequest>
474 return SubmitCallable(&PCSClient::RegisterComputeNodeGroupInstance, request);
480 template<
typename RegisterComputeNodeGroupInstanceRequestT = Model::RegisterComputeNodeGroupInstanceRequest>
483 return SubmitAsync(&PCSClient::RegisterComputeNodeGroupInstance, request, handler, context);
500 template<
typename TagResourceRequestT = Model::TagResourceRequest>
503 return SubmitCallable(&PCSClient::TagResource, request);
509 template<
typename TagResourceRequestT = Model::TagResourceRequest>
512 return SubmitAsync(&PCSClient::TagResource, request, handler, context);
527 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
530 return SubmitCallable(&PCSClient::UntagResource, request);
536 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
539 return SubmitAsync(&PCSClient::UntagResource, request, handler, context);
555 template<
typename UpdateComputeNodeGroupRequestT = Model::UpdateComputeNodeGroupRequest>
558 return SubmitCallable(&PCSClient::UpdateComputeNodeGroup, request);
564 template<
typename UpdateComputeNodeGroupRequestT = Model::UpdateComputeNodeGroupRequest>
567 return SubmitAsync(&PCSClient::UpdateComputeNodeGroup, request, handler, context);
582 template<
typename UpdateQueueRequestT = Model::UpdateQueueRequest>
585 return SubmitCallable(&PCSClient::UpdateQueue, request);
591 template<
typename UpdateQueueRequestT = Model::UpdateQueueRequest>
594 return SubmitAsync(&PCSClient::UpdateQueue, request, handler, context);
605 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