AWS SDK for C++  1.8.95
AWS SDK for C++
AthenaClient.h
Go to the documentation of this file.
1 
6 #pragma once
44 #include <future>
45 #include <functional>
46 
47 namespace Aws
48 {
49 
50 namespace Http
51 {
52  class HttpClient;
53  class HttpClientFactory;
54 } // namespace Http
55 
56 namespace Utils
57 {
58  template< typename R, typename E> class Outcome;
59 namespace Threading
60 {
61  class Executor;
62 } // namespace Threading
63 } // namespace Utils
64 
65 namespace Auth
66 {
67  class AWSCredentials;
68  class AWSCredentialsProvider;
69 } // namespace Auth
70 
71 namespace Client
72 {
73  class RetryStrategy;
74 } // namespace Client
75 
76 namespace Athena
77 {
78 
79 namespace Model
80 {
90  class GetDatabaseRequest;
95  class GetWorkGroupRequest;
102  class ListWorkGroupsRequest;
105  class TagResourceRequest;
106  class UntagResourceRequest;
109 
138 
139  typedef std::future<BatchGetNamedQueryOutcome> BatchGetNamedQueryOutcomeCallable;
140  typedef std::future<BatchGetQueryExecutionOutcome> BatchGetQueryExecutionOutcomeCallable;
141  typedef std::future<CreateDataCatalogOutcome> CreateDataCatalogOutcomeCallable;
142  typedef std::future<CreateNamedQueryOutcome> CreateNamedQueryOutcomeCallable;
143  typedef std::future<CreateWorkGroupOutcome> CreateWorkGroupOutcomeCallable;
144  typedef std::future<DeleteDataCatalogOutcome> DeleteDataCatalogOutcomeCallable;
145  typedef std::future<DeleteNamedQueryOutcome> DeleteNamedQueryOutcomeCallable;
146  typedef std::future<DeleteWorkGroupOutcome> DeleteWorkGroupOutcomeCallable;
147  typedef std::future<GetDataCatalogOutcome> GetDataCatalogOutcomeCallable;
148  typedef std::future<GetDatabaseOutcome> GetDatabaseOutcomeCallable;
149  typedef std::future<GetNamedQueryOutcome> GetNamedQueryOutcomeCallable;
150  typedef std::future<GetQueryExecutionOutcome> GetQueryExecutionOutcomeCallable;
151  typedef std::future<GetQueryResultsOutcome> GetQueryResultsOutcomeCallable;
152  typedef std::future<GetTableMetadataOutcome> GetTableMetadataOutcomeCallable;
153  typedef std::future<GetWorkGroupOutcome> GetWorkGroupOutcomeCallable;
154  typedef std::future<ListDataCatalogsOutcome> ListDataCatalogsOutcomeCallable;
155  typedef std::future<ListDatabasesOutcome> ListDatabasesOutcomeCallable;
156  typedef std::future<ListNamedQueriesOutcome> ListNamedQueriesOutcomeCallable;
157  typedef std::future<ListQueryExecutionsOutcome> ListQueryExecutionsOutcomeCallable;
158  typedef std::future<ListTableMetadataOutcome> ListTableMetadataOutcomeCallable;
159  typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
160  typedef std::future<ListWorkGroupsOutcome> ListWorkGroupsOutcomeCallable;
161  typedef std::future<StartQueryExecutionOutcome> StartQueryExecutionOutcomeCallable;
162  typedef std::future<StopQueryExecutionOutcome> StopQueryExecutionOutcomeCallable;
163  typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
164  typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
165  typedef std::future<UpdateDataCatalogOutcome> UpdateDataCatalogOutcomeCallable;
166  typedef std::future<UpdateWorkGroupOutcome> UpdateWorkGroupOutcomeCallable;
167 } // namespace Model
168 
170 
171  typedef std::function<void(const AthenaClient*, const Model::BatchGetNamedQueryRequest&, const Model::BatchGetNamedQueryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchGetNamedQueryResponseReceivedHandler;
172  typedef std::function<void(const AthenaClient*, const Model::BatchGetQueryExecutionRequest&, const Model::BatchGetQueryExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchGetQueryExecutionResponseReceivedHandler;
173  typedef std::function<void(const AthenaClient*, const Model::CreateDataCatalogRequest&, const Model::CreateDataCatalogOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDataCatalogResponseReceivedHandler;
174  typedef std::function<void(const AthenaClient*, const Model::CreateNamedQueryRequest&, const Model::CreateNamedQueryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNamedQueryResponseReceivedHandler;
175  typedef std::function<void(const AthenaClient*, const Model::CreateWorkGroupRequest&, const Model::CreateWorkGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateWorkGroupResponseReceivedHandler;
176  typedef std::function<void(const AthenaClient*, const Model::DeleteDataCatalogRequest&, const Model::DeleteDataCatalogOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDataCatalogResponseReceivedHandler;
177  typedef std::function<void(const AthenaClient*, const Model::DeleteNamedQueryRequest&, const Model::DeleteNamedQueryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNamedQueryResponseReceivedHandler;
178  typedef std::function<void(const AthenaClient*, const Model::DeleteWorkGroupRequest&, const Model::DeleteWorkGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteWorkGroupResponseReceivedHandler;
179  typedef std::function<void(const AthenaClient*, const Model::GetDataCatalogRequest&, const Model::GetDataCatalogOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDataCatalogResponseReceivedHandler;
180  typedef std::function<void(const AthenaClient*, const Model::GetDatabaseRequest&, const Model::GetDatabaseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDatabaseResponseReceivedHandler;
181  typedef std::function<void(const AthenaClient*, const Model::GetNamedQueryRequest&, const Model::GetNamedQueryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetNamedQueryResponseReceivedHandler;
182  typedef std::function<void(const AthenaClient*, const Model::GetQueryExecutionRequest&, const Model::GetQueryExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetQueryExecutionResponseReceivedHandler;
183  typedef std::function<void(const AthenaClient*, const Model::GetQueryResultsRequest&, const Model::GetQueryResultsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetQueryResultsResponseReceivedHandler;
184  typedef std::function<void(const AthenaClient*, const Model::GetTableMetadataRequest&, const Model::GetTableMetadataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTableMetadataResponseReceivedHandler;
185  typedef std::function<void(const AthenaClient*, const Model::GetWorkGroupRequest&, const Model::GetWorkGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetWorkGroupResponseReceivedHandler;
186  typedef std::function<void(const AthenaClient*, const Model::ListDataCatalogsRequest&, const Model::ListDataCatalogsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDataCatalogsResponseReceivedHandler;
187  typedef std::function<void(const AthenaClient*, const Model::ListDatabasesRequest&, const Model::ListDatabasesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatabasesResponseReceivedHandler;
188  typedef std::function<void(const AthenaClient*, const Model::ListNamedQueriesRequest&, const Model::ListNamedQueriesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListNamedQueriesResponseReceivedHandler;
189  typedef std::function<void(const AthenaClient*, const Model::ListQueryExecutionsRequest&, const Model::ListQueryExecutionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListQueryExecutionsResponseReceivedHandler;
190  typedef std::function<void(const AthenaClient*, const Model::ListTableMetadataRequest&, const Model::ListTableMetadataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTableMetadataResponseReceivedHandler;
191  typedef std::function<void(const AthenaClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
192  typedef std::function<void(const AthenaClient*, const Model::ListWorkGroupsRequest&, const Model::ListWorkGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListWorkGroupsResponseReceivedHandler;
193  typedef std::function<void(const AthenaClient*, const Model::StartQueryExecutionRequest&, const Model::StartQueryExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartQueryExecutionResponseReceivedHandler;
194  typedef std::function<void(const AthenaClient*, const Model::StopQueryExecutionRequest&, const Model::StopQueryExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopQueryExecutionResponseReceivedHandler;
195  typedef std::function<void(const AthenaClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
196  typedef std::function<void(const AthenaClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
197  typedef std::function<void(const AthenaClient*, const Model::UpdateDataCatalogRequest&, const Model::UpdateDataCatalogOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDataCatalogResponseReceivedHandler;
198  typedef std::function<void(const AthenaClient*, const Model::UpdateWorkGroupRequest&, const Model::UpdateWorkGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateWorkGroupResponseReceivedHandler;
199 
220  {
221  public:
223 
229 
235 
240  AthenaClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
242 
243  virtual ~AthenaClient();
244 
245 
260  virtual Model::BatchGetNamedQueryOutcome BatchGetNamedQuery(const Model::BatchGetNamedQueryRequest& request) const;
261 
278  virtual Model::BatchGetNamedQueryOutcomeCallable BatchGetNamedQueryCallable(const Model::BatchGetNamedQueryRequest& request) const;
279 
296  virtual void BatchGetNamedQueryAsync(const Model::BatchGetNamedQueryRequest& request, const BatchGetNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
297 
309  virtual Model::BatchGetQueryExecutionOutcome BatchGetQueryExecution(const Model::BatchGetQueryExecutionRequest& request) const;
310 
324  virtual Model::BatchGetQueryExecutionOutcomeCallable BatchGetQueryExecutionCallable(const Model::BatchGetQueryExecutionRequest& request) const;
325 
339  virtual void BatchGetQueryExecutionAsync(const Model::BatchGetQueryExecutionRequest& request, const BatchGetQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
340 
348  virtual Model::CreateDataCatalogOutcome CreateDataCatalog(const Model::CreateDataCatalogRequest& request) const;
349 
359  virtual Model::CreateDataCatalogOutcomeCallable CreateDataCatalogCallable(const Model::CreateDataCatalogRequest& request) const;
360 
370  virtual void CreateDataCatalogAsync(const Model::CreateDataCatalogRequest& request, const CreateDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
371 
381  virtual Model::CreateNamedQueryOutcome CreateNamedQuery(const Model::CreateNamedQueryRequest& request) const;
382 
394  virtual Model::CreateNamedQueryOutcomeCallable CreateNamedQueryCallable(const Model::CreateNamedQueryRequest& request) const;
395 
407  virtual void CreateNamedQueryAsync(const Model::CreateNamedQueryRequest& request, const CreateNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
408 
414  virtual Model::CreateWorkGroupOutcome CreateWorkGroup(const Model::CreateWorkGroupRequest& request) const;
415 
423  virtual Model::CreateWorkGroupOutcomeCallable CreateWorkGroupCallable(const Model::CreateWorkGroupRequest& request) const;
424 
432  virtual void CreateWorkGroupAsync(const Model::CreateWorkGroupRequest& request, const CreateWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
433 
439  virtual Model::DeleteDataCatalogOutcome DeleteDataCatalog(const Model::DeleteDataCatalogRequest& request) const;
440 
448  virtual Model::DeleteDataCatalogOutcomeCallable DeleteDataCatalogCallable(const Model::DeleteDataCatalogRequest& request) const;
449 
457  virtual void DeleteDataCatalogAsync(const Model::DeleteDataCatalogRequest& request, const DeleteDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
458 
468  virtual Model::DeleteNamedQueryOutcome DeleteNamedQuery(const Model::DeleteNamedQueryRequest& request) const;
469 
481  virtual Model::DeleteNamedQueryOutcomeCallable DeleteNamedQueryCallable(const Model::DeleteNamedQueryRequest& request) const;
482 
494  virtual void DeleteNamedQueryAsync(const Model::DeleteNamedQueryRequest& request, const DeleteNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
495 
502  virtual Model::DeleteWorkGroupOutcome DeleteWorkGroup(const Model::DeleteWorkGroupRequest& request) const;
503 
512  virtual Model::DeleteWorkGroupOutcomeCallable DeleteWorkGroupCallable(const Model::DeleteWorkGroupRequest& request) const;
513 
522  virtual void DeleteWorkGroupAsync(const Model::DeleteWorkGroupRequest& request, const DeleteWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
523 
529  virtual Model::GetDataCatalogOutcome GetDataCatalog(const Model::GetDataCatalogRequest& request) const;
530 
538  virtual Model::GetDataCatalogOutcomeCallable GetDataCatalogCallable(const Model::GetDataCatalogRequest& request) const;
539 
547  virtual void GetDataCatalogAsync(const Model::GetDataCatalogRequest& request, const GetDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
548 
555  virtual Model::GetDatabaseOutcome GetDatabase(const Model::GetDatabaseRequest& request) const;
556 
565  virtual Model::GetDatabaseOutcomeCallable GetDatabaseCallable(const Model::GetDatabaseRequest& request) const;
566 
575  virtual void GetDatabaseAsync(const Model::GetDatabaseRequest& request, const GetDatabaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
576 
583  virtual Model::GetNamedQueryOutcome GetNamedQuery(const Model::GetNamedQueryRequest& request) const;
584 
593  virtual Model::GetNamedQueryOutcomeCallable GetNamedQueryCallable(const Model::GetNamedQueryRequest& request) const;
594 
603  virtual void GetNamedQueryAsync(const Model::GetNamedQueryRequest& request, const GetNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
604 
613  virtual Model::GetQueryExecutionOutcome GetQueryExecution(const Model::GetQueryExecutionRequest& request) const;
614 
625  virtual Model::GetQueryExecutionOutcomeCallable GetQueryExecutionCallable(const Model::GetQueryExecutionRequest& request) const;
626 
637  virtual void GetQueryExecutionAsync(const Model::GetQueryExecutionRequest& request, const GetQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
638 
658  virtual Model::GetQueryResultsOutcome GetQueryResults(const Model::GetQueryResultsRequest& request) const;
659 
681  virtual Model::GetQueryResultsOutcomeCallable GetQueryResultsCallable(const Model::GetQueryResultsRequest& request) const;
682 
704  virtual void GetQueryResultsAsync(const Model::GetQueryResultsRequest& request, const GetQueryResultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
705 
712  virtual Model::GetTableMetadataOutcome GetTableMetadata(const Model::GetTableMetadataRequest& request) const;
713 
722  virtual Model::GetTableMetadataOutcomeCallable GetTableMetadataCallable(const Model::GetTableMetadataRequest& request) const;
723 
732  virtual void GetTableMetadataAsync(const Model::GetTableMetadataRequest& request, const GetTableMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
733 
740  virtual Model::GetWorkGroupOutcome GetWorkGroup(const Model::GetWorkGroupRequest& request) const;
741 
750  virtual Model::GetWorkGroupOutcomeCallable GetWorkGroupCallable(const Model::GetWorkGroupRequest& request) const;
751 
760  virtual void GetWorkGroupAsync(const Model::GetWorkGroupRequest& request, const GetWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
761 
768  virtual Model::ListDataCatalogsOutcome ListDataCatalogs(const Model::ListDataCatalogsRequest& request) const;
769 
778  virtual Model::ListDataCatalogsOutcomeCallable ListDataCatalogsCallable(const Model::ListDataCatalogsRequest& request) const;
779 
788  virtual void ListDataCatalogsAsync(const Model::ListDataCatalogsRequest& request, const ListDataCatalogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
789 
796  virtual Model::ListDatabasesOutcome ListDatabases(const Model::ListDatabasesRequest& request) const;
797 
806  virtual Model::ListDatabasesOutcomeCallable ListDatabasesCallable(const Model::ListDatabasesRequest& request) const;
807 
816  virtual void ListDatabasesAsync(const Model::ListDatabasesRequest& request, const ListDatabasesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
817 
829  virtual Model::ListNamedQueriesOutcome ListNamedQueries(const Model::ListNamedQueriesRequest& request) const;
830 
844  virtual Model::ListNamedQueriesOutcomeCallable ListNamedQueriesCallable(const Model::ListNamedQueriesRequest& request) const;
845 
859  virtual void ListNamedQueriesAsync(const Model::ListNamedQueriesRequest& request, const ListNamedQueriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
860 
873  virtual Model::ListQueryExecutionsOutcome ListQueryExecutions(const Model::ListQueryExecutionsRequest& request) const;
874 
889  virtual Model::ListQueryExecutionsOutcomeCallable ListQueryExecutionsCallable(const Model::ListQueryExecutionsRequest& request) const;
890 
905  virtual void ListQueryExecutionsAsync(const Model::ListQueryExecutionsRequest& request, const ListQueryExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
906 
913  virtual Model::ListTableMetadataOutcome ListTableMetadata(const Model::ListTableMetadataRequest& request) const;
914 
923  virtual Model::ListTableMetadataOutcomeCallable ListTableMetadataCallable(const Model::ListTableMetadataRequest& request) const;
924 
933  virtual void ListTableMetadataAsync(const Model::ListTableMetadataRequest& request, const ListTableMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
934 
941  virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
942 
951  virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
952 
961  virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
962 
968  virtual Model::ListWorkGroupsOutcome ListWorkGroups(const Model::ListWorkGroupsRequest& request) const;
969 
977  virtual Model::ListWorkGroupsOutcomeCallable ListWorkGroupsCallable(const Model::ListWorkGroupsRequest& request) const;
978 
986  virtual void ListWorkGroupsAsync(const Model::ListWorkGroupsRequest& request, const ListWorkGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
987 
999  virtual Model::StartQueryExecutionOutcome StartQueryExecution(const Model::StartQueryExecutionRequest& request) const;
1000 
1014  virtual Model::StartQueryExecutionOutcomeCallable StartQueryExecutionCallable(const Model::StartQueryExecutionRequest& request) const;
1015 
1029  virtual void StartQueryExecutionAsync(const Model::StartQueryExecutionRequest& request, const StartQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1030 
1040  virtual Model::StopQueryExecutionOutcome StopQueryExecution(const Model::StopQueryExecutionRequest& request) const;
1041 
1053  virtual Model::StopQueryExecutionOutcomeCallable StopQueryExecutionCallable(const Model::StopQueryExecutionRequest& request) const;
1054 
1066  virtual void StopQueryExecutionAsync(const Model::StopQueryExecutionRequest& request, const StopQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1067 
1086  virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
1087 
1108  virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
1109 
1130  virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1131 
1138  virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
1139 
1148  virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
1149 
1158  virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1159 
1166  virtual Model::UpdateDataCatalogOutcome UpdateDataCatalog(const Model::UpdateDataCatalogRequest& request) const;
1167 
1176  virtual Model::UpdateDataCatalogOutcomeCallable UpdateDataCatalogCallable(const Model::UpdateDataCatalogRequest& request) const;
1177 
1186  virtual void UpdateDataCatalogAsync(const Model::UpdateDataCatalogRequest& request, const UpdateDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1187 
1194  virtual Model::UpdateWorkGroupOutcome UpdateWorkGroup(const Model::UpdateWorkGroupRequest& request) const;
1195 
1204  virtual Model::UpdateWorkGroupOutcomeCallable UpdateWorkGroupCallable(const Model::UpdateWorkGroupRequest& request) const;
1205 
1214  virtual void UpdateWorkGroupAsync(const Model::UpdateWorkGroupRequest& request, const UpdateWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1215 
1216 
1217  void OverrideEndpoint(const Aws::String& endpoint);
1218  private:
1219  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
1220  void BatchGetNamedQueryAsyncHelper(const Model::BatchGetNamedQueryRequest& request, const BatchGetNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1221  void BatchGetQueryExecutionAsyncHelper(const Model::BatchGetQueryExecutionRequest& request, const BatchGetQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1222  void CreateDataCatalogAsyncHelper(const Model::CreateDataCatalogRequest& request, const CreateDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1223  void CreateNamedQueryAsyncHelper(const Model::CreateNamedQueryRequest& request, const CreateNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1224  void CreateWorkGroupAsyncHelper(const Model::CreateWorkGroupRequest& request, const CreateWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1225  void DeleteDataCatalogAsyncHelper(const Model::DeleteDataCatalogRequest& request, const DeleteDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1226  void DeleteNamedQueryAsyncHelper(const Model::DeleteNamedQueryRequest& request, const DeleteNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1227  void DeleteWorkGroupAsyncHelper(const Model::DeleteWorkGroupRequest& request, const DeleteWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1228  void GetDataCatalogAsyncHelper(const Model::GetDataCatalogRequest& request, const GetDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1229  void GetDatabaseAsyncHelper(const Model::GetDatabaseRequest& request, const GetDatabaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1230  void GetNamedQueryAsyncHelper(const Model::GetNamedQueryRequest& request, const GetNamedQueryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1231  void GetQueryExecutionAsyncHelper(const Model::GetQueryExecutionRequest& request, const GetQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1232  void GetQueryResultsAsyncHelper(const Model::GetQueryResultsRequest& request, const GetQueryResultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1233  void GetTableMetadataAsyncHelper(const Model::GetTableMetadataRequest& request, const GetTableMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1234  void GetWorkGroupAsyncHelper(const Model::GetWorkGroupRequest& request, const GetWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1235  void ListDataCatalogsAsyncHelper(const Model::ListDataCatalogsRequest& request, const ListDataCatalogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1236  void ListDatabasesAsyncHelper(const Model::ListDatabasesRequest& request, const ListDatabasesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1237  void ListNamedQueriesAsyncHelper(const Model::ListNamedQueriesRequest& request, const ListNamedQueriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1238  void ListQueryExecutionsAsyncHelper(const Model::ListQueryExecutionsRequest& request, const ListQueryExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1239  void ListTableMetadataAsyncHelper(const Model::ListTableMetadataRequest& request, const ListTableMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1240  void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1241  void ListWorkGroupsAsyncHelper(const Model::ListWorkGroupsRequest& request, const ListWorkGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1242  void StartQueryExecutionAsyncHelper(const Model::StartQueryExecutionRequest& request, const StartQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1243  void StopQueryExecutionAsyncHelper(const Model::StopQueryExecutionRequest& request, const StopQueryExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1244  void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1245  void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1246  void UpdateDataCatalogAsyncHelper(const Model::UpdateDataCatalogRequest& request, const UpdateDataCatalogResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1247  void UpdateWorkGroupAsyncHelper(const Model::UpdateWorkGroupRequest& request, const UpdateWorkGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1248 
1249  Aws::String m_uri;
1250  Aws::String m_configScheme;
1251  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
1252  };
1253 
1254 } // namespace Athena
1255 } // namespace Aws
std::future< TagResourceOutcome > TagResourceOutcomeCallable
Definition: AthenaClient.h:163
std::future< ListNamedQueriesOutcome > ListNamedQueriesOutcomeCallable
Definition: AthenaClient.h:156
std::future< GetWorkGroupOutcome > GetWorkGroupOutcomeCallable
Definition: AthenaClient.h:153
Aws::Utils::Outcome< GetDatabaseResult, AthenaError > GetDatabaseOutcome
Definition: AthenaClient.h:119
std::future< ListWorkGroupsOutcome > ListWorkGroupsOutcomeCallable
Definition: AthenaClient.h:160
std::function< void(const AthenaClient *, const Model::ListDatabasesRequest &, const Model::ListDatabasesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListDatabasesResponseReceivedHandler
Definition: AthenaClient.h:187
std::function< void(const AthenaClient *, const Model::CreateNamedQueryRequest &, const Model::CreateNamedQueryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateNamedQueryResponseReceivedHandler
Definition: AthenaClient.h:174
std::future< GetQueryResultsOutcome > GetQueryResultsOutcomeCallable
Definition: AthenaClient.h:151
std::function< void(const AthenaClient *, const Model::GetWorkGroupRequest &, const Model::GetWorkGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetWorkGroupResponseReceivedHandler
Definition: AthenaClient.h:185
std::function< void(const AthenaClient *, const Model::GetNamedQueryRequest &, const Model::GetNamedQueryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetNamedQueryResponseReceivedHandler
Definition: AthenaClient.h:181
std::future< ListDatabasesOutcome > ListDatabasesOutcomeCallable
Definition: AthenaClient.h:155
Aws::Client::AWSJsonClient BASECLASS
Definition: AthenaClient.h:222
std::future< ListQueryExecutionsOutcome > ListQueryExecutionsOutcomeCallable
Definition: AthenaClient.h:157
std::future< UpdateWorkGroupOutcome > UpdateWorkGroupOutcomeCallable
Definition: AthenaClient.h:166
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
Definition: AthenaClient.h:159
Aws::Utils::Outcome< CreateNamedQueryResult, AthenaError > CreateNamedQueryOutcome
Definition: AthenaClient.h:113
std::function< void(const AthenaClient *, const Model::GetDataCatalogRequest &, const Model::GetDataCatalogOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetDataCatalogResponseReceivedHandler
Definition: AthenaClient.h:179
std::future< CreateDataCatalogOutcome > CreateDataCatalogOutcomeCallable
Definition: AthenaClient.h:141
std::future< GetNamedQueryOutcome > GetNamedQueryOutcomeCallable
Definition: AthenaClient.h:149
#define AWS_ATHENA_API
Aws::Utils::Outcome< BatchGetNamedQueryResult, AthenaError > BatchGetNamedQueryOutcome
Definition: AthenaClient.h:108
Aws::Utils::Outcome< DeleteNamedQueryResult, AthenaError > DeleteNamedQueryOutcome
Definition: AthenaClient.h:116
std::function< void(const AthenaClient *, const Model::DeleteDataCatalogRequest &, const Model::DeleteDataCatalogOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteDataCatalogResponseReceivedHandler
Definition: AthenaClient.h:176
Aws::Utils::Outcome< GetTableMetadataResult, AthenaError > GetTableMetadataOutcome
Definition: AthenaClient.h:123
std::function< void(const AthenaClient *, const Model::UpdateWorkGroupRequest &, const Model::UpdateWorkGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateWorkGroupResponseReceivedHandler
Definition: AthenaClient.h:198
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
Definition: AthenaClient.h:164
std::function< void(const AthenaClient *, const Model::ListDataCatalogsRequest &, const Model::ListDataCatalogsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListDataCatalogsResponseReceivedHandler
Definition: AthenaClient.h:186
std::function< void(const AthenaClient *, const Model::ListWorkGroupsRequest &, const Model::ListWorkGroupsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListWorkGroupsResponseReceivedHandler
Definition: AthenaClient.h:192
Aws::Utils::Outcome< DeleteDataCatalogResult, AthenaError > DeleteDataCatalogOutcome
Definition: AthenaClient.h:115
std::function< void(const AthenaClient *, const Model::DeleteNamedQueryRequest &, const Model::DeleteNamedQueryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteNamedQueryResponseReceivedHandler
Definition: AthenaClient.h:177
std::future< GetTableMetadataOutcome > GetTableMetadataOutcomeCallable
Definition: AthenaClient.h:152
std::future< StopQueryExecutionOutcome > StopQueryExecutionOutcomeCallable
Definition: AthenaClient.h:162
std::function< void(const AthenaClient *, const Model::BatchGetQueryExecutionRequest &, const Model::BatchGetQueryExecutionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > BatchGetQueryExecutionResponseReceivedHandler
Definition: AthenaClient.h:172
std::function< void(const AthenaClient *, const Model::ListTableMetadataRequest &, const Model::ListTableMetadataOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTableMetadataResponseReceivedHandler
Definition: AthenaClient.h:190
std::future< DeleteWorkGroupOutcome > DeleteWorkGroupOutcomeCallable
Definition: AthenaClient.h:146
std::function< void(const AthenaClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
Definition: AthenaClient.h:195
std::future< GetDatabaseOutcome > GetDatabaseOutcomeCallable
Definition: AthenaClient.h:148
std::function< void(const AthenaClient *, const Model::GetQueryResultsRequest &, const Model::GetQueryResultsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetQueryResultsResponseReceivedHandler
Definition: AthenaClient.h:183
std::function< void(const AthenaClient *, const Model::ListNamedQueriesRequest &, const Model::ListNamedQueriesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListNamedQueriesResponseReceivedHandler
Definition: AthenaClient.h:188
Aws::Utils::Outcome< GetWorkGroupResult, AthenaError > GetWorkGroupOutcome
Definition: AthenaClient.h:124
std::function< void(const AthenaClient *, const Model::CreateWorkGroupRequest &, const Model::CreateWorkGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateWorkGroupResponseReceivedHandler
Definition: AthenaClient.h:175
Aws::Utils::Outcome< CreateWorkGroupResult, AthenaError > CreateWorkGroupOutcome
Definition: AthenaClient.h:114
std::function< void(const AthenaClient *, const Model::GetQueryExecutionRequest &, const Model::GetQueryExecutionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetQueryExecutionResponseReceivedHandler
Definition: AthenaClient.h:182
std::function< void(const AthenaClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
Definition: AthenaClient.h:191
std::future< ListDataCatalogsOutcome > ListDataCatalogsOutcomeCallable
Definition: AthenaClient.h:154
std::future< GetDataCatalogOutcome > GetDataCatalogOutcomeCallable
Definition: AthenaClient.h:147
std::function< void(const AthenaClient *, const Model::CreateDataCatalogRequest &, const Model::CreateDataCatalogOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateDataCatalogResponseReceivedHandler
Definition: AthenaClient.h:173
Aws::Utils::Outcome< UpdateWorkGroupResult, AthenaError > UpdateWorkGroupOutcome
Definition: AthenaClient.h:137
Aws::Utils::Outcome< UpdateDataCatalogResult, AthenaError > UpdateDataCatalogOutcome
Definition: AthenaClient.h:136
std::function< void(const AthenaClient *, const Model::StopQueryExecutionRequest &, const Model::StopQueryExecutionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StopQueryExecutionResponseReceivedHandler
Definition: AthenaClient.h:194
Aws::Utils::Outcome< CreateDataCatalogResult, AthenaError > CreateDataCatalogOutcome
Definition: AthenaClient.h:112
Aws::Utils::Outcome< ListWorkGroupsResult, AthenaError > ListWorkGroupsOutcome
Definition: AthenaClient.h:131
Aws::Utils::Outcome< ListNamedQueriesResult, AthenaError > ListNamedQueriesOutcome
Definition: AthenaClient.h:127
std::future< DeleteNamedQueryOutcome > DeleteNamedQueryOutcomeCallable
Definition: AthenaClient.h:145
Aws::Utils::Outcome< GetDataCatalogResult, AthenaError > GetDataCatalogOutcome
Definition: AthenaClient.h:118
Aws::Utils::Outcome< ListTagsForResourceResult, AthenaError > ListTagsForResourceOutcome
Definition: AthenaClient.h:130
Aws::Utils::Outcome< ListTableMetadataResult, AthenaError > ListTableMetadataOutcome
Definition: AthenaClient.h:129
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Utils::Outcome< UntagResourceResult, AthenaError > UntagResourceOutcome
Definition: AthenaClient.h:135
std::function< void(const AthenaClient *, const Model::GetTableMetadataRequest &, const Model::GetTableMetadataOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetTableMetadataResponseReceivedHandler
Definition: AthenaClient.h:184
Aws::Utils::Outcome< BatchGetQueryExecutionResult, AthenaError > BatchGetQueryExecutionOutcome
Definition: AthenaClient.h:111
std::future< GetQueryExecutionOutcome > GetQueryExecutionOutcomeCallable
Definition: AthenaClient.h:150
std::function< void(const AthenaClient *, const Model::DeleteWorkGroupRequest &, const Model::DeleteWorkGroupOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteWorkGroupResponseReceivedHandler
Definition: AthenaClient.h:178
std::function< void(const AthenaClient *, const Model::BatchGetNamedQueryRequest &, const Model::BatchGetNamedQueryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > BatchGetNamedQueryResponseReceivedHandler
Definition: AthenaClient.h:169
std::future< BatchGetNamedQueryOutcome > BatchGetNamedQueryOutcomeCallable
Definition: AthenaClient.h:139
Aws::Utils::Outcome< StartQueryExecutionResult, AthenaError > StartQueryExecutionOutcome
Definition: AthenaClient.h:132
std::function< void(const AthenaClient *, const Model::UpdateDataCatalogRequest &, const Model::UpdateDataCatalogOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateDataCatalogResponseReceivedHandler
Definition: AthenaClient.h:197
Aws::Utils::Outcome< DeleteWorkGroupResult, AthenaError > DeleteWorkGroupOutcome
Definition: AthenaClient.h:117
Aws::Utils::Outcome< GetNamedQueryResult, AthenaError > GetNamedQueryOutcome
Definition: AthenaClient.h:120
std::function< void(const AthenaClient *, const Model::ListQueryExecutionsRequest &, const Model::ListQueryExecutionsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListQueryExecutionsResponseReceivedHandler
Definition: AthenaClient.h:189
std::future< ListTableMetadataOutcome > ListTableMetadataOutcomeCallable
Definition: AthenaClient.h:158
Aws::Utils::Outcome< ListQueryExecutionsResult, AthenaError > ListQueryExecutionsOutcome
Definition: AthenaClient.h:128
std::future< UpdateDataCatalogOutcome > UpdateDataCatalogOutcomeCallable
Definition: AthenaClient.h:165
Aws::Utils::Outcome< GetQueryResultsResult, AthenaError > GetQueryResultsOutcome
Definition: AthenaClient.h:122
Aws::Utils::Outcome< GetQueryExecutionResult, AthenaError > GetQueryExecutionOutcome
Definition: AthenaClient.h:121
std::function< void(const AthenaClient *, const Model::StartQueryExecutionRequest &, const Model::StartQueryExecutionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartQueryExecutionResponseReceivedHandler
Definition: AthenaClient.h:193
std::future< StartQueryExecutionOutcome > StartQueryExecutionOutcomeCallable
Definition: AthenaClient.h:161
std::future< CreateWorkGroupOutcome > CreateWorkGroupOutcomeCallable
Definition: AthenaClient.h:143
std::future< DeleteDataCatalogOutcome > DeleteDataCatalogOutcomeCallable
Definition: AthenaClient.h:144
Aws::Utils::Outcome< TagResourceResult, AthenaError > TagResourceOutcome
Definition: AthenaClient.h:134
Aws::Utils::Outcome< StopQueryExecutionResult, AthenaError > StopQueryExecutionOutcome
Definition: AthenaClient.h:133
std::function< void(const AthenaClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
Definition: AthenaClient.h:196
std::function< void(const AthenaClient *, const Model::GetDatabaseRequest &, const Model::GetDatabaseOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetDatabaseResponseReceivedHandler
Definition: AthenaClient.h:180
std::future< CreateNamedQueryOutcome > CreateNamedQueryOutcomeCallable
Definition: AthenaClient.h:142
Aws::Utils::Outcome< ListDataCatalogsResult, AthenaError > ListDataCatalogsOutcome
Definition: AthenaClient.h:125
std::future< BatchGetQueryExecutionOutcome > BatchGetQueryExecutionOutcomeCallable
Definition: AthenaClient.h:140
Aws::Utils::Outcome< ListDatabasesResult, AthenaError > ListDatabasesOutcome
Definition: AthenaClient.h:126