sdk-team 3 жил өмнө
parent
commit
3d20963438
100 өөрчлөгдсөн 6879 нэмэгдсэн , 1 устгасан
  1. 1 1
      VERSION
  2. 446 0
      datalake/CMakeLists.txt
  3. 774 0
      datalake/include/alibabacloud/datalake/DataLakeClient.h
  4. 32 0
      datalake/include/alibabacloud/datalake/DataLakeExport.h
  5. 42 0
      datalake/include/alibabacloud/datalake/model/AbortLockRequest.h
  6. 55 0
      datalake/include/alibabacloud/datalake/model/AbortLockResult.h
  7. 42 0
      datalake/include/alibabacloud/datalake/model/BatchCreatePartitionsRequest.h
  8. 126 0
      datalake/include/alibabacloud/datalake/model/BatchCreatePartitionsResult.h
  9. 42 0
      datalake/include/alibabacloud/datalake/model/BatchCreateTablesRequest.h
  10. 67 0
      datalake/include/alibabacloud/datalake/model/BatchCreateTablesResult.h
  11. 42 0
      datalake/include/alibabacloud/datalake/model/BatchDeletePartitionsRequest.h
  12. 67 0
      datalake/include/alibabacloud/datalake/model/BatchDeletePartitionsResult.h
  13. 42 0
      datalake/include/alibabacloud/datalake/model/BatchDeleteTableVersionsRequest.h
  14. 55 0
      datalake/include/alibabacloud/datalake/model/BatchDeleteTableVersionsResult.h
  15. 42 0
      datalake/include/alibabacloud/datalake/model/BatchDeleteTablesRequest.h
  16. 67 0
      datalake/include/alibabacloud/datalake/model/BatchDeleteTablesResult.h
  17. 42 0
      datalake/include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsRequest.h
  18. 57 0
      datalake/include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsResult.h
  19. 42 0
      datalake/include/alibabacloud/datalake/model/BatchGetPartitionsRequest.h
  20. 202 0
      datalake/include/alibabacloud/datalake/model/BatchGetPartitionsResult.h
  21. 42 0
      datalake/include/alibabacloud/datalake/model/BatchGetTablesRequest.h
  22. 151 0
      datalake/include/alibabacloud/datalake/model/BatchGetTablesResult.h
  23. 42 0
      datalake/include/alibabacloud/datalake/model/BatchGrantPermissionsRequest.h
  24. 113 0
      datalake/include/alibabacloud/datalake/model/BatchGrantPermissionsResult.h
  25. 42 0
      datalake/include/alibabacloud/datalake/model/BatchRevokePermissionsRequest.h
  26. 113 0
      datalake/include/alibabacloud/datalake/model/BatchRevokePermissionsResult.h
  27. 42 0
      datalake/include/alibabacloud/datalake/model/BatchUpdatePartitionsRequest.h
  28. 67 0
      datalake/include/alibabacloud/datalake/model/BatchUpdatePartitionsResult.h
  29. 42 0
      datalake/include/alibabacloud/datalake/model/BatchUpdateTablesRequest.h
  30. 69 0
      datalake/include/alibabacloud/datalake/model/BatchUpdateTablesResult.h
  31. 42 0
      datalake/include/alibabacloud/datalake/model/CancelQueryRequest.h
  32. 53 0
      datalake/include/alibabacloud/datalake/model/CancelQueryResult.h
  33. 42 0
      datalake/include/alibabacloud/datalake/model/CheckPermissionsRequest.h
  34. 55 0
      datalake/include/alibabacloud/datalake/model/CheckPermissionsResult.h
  35. 42 0
      datalake/include/alibabacloud/datalake/model/CreateCatalogRequest.h
  36. 55 0
      datalake/include/alibabacloud/datalake/model/CreateCatalogResult.h
  37. 42 0
      datalake/include/alibabacloud/datalake/model/CreateDatabaseRequest.h
  38. 55 0
      datalake/include/alibabacloud/datalake/model/CreateDatabaseResult.h
  39. 42 0
      datalake/include/alibabacloud/datalake/model/CreateFunctionRequest.h
  40. 55 0
      datalake/include/alibabacloud/datalake/model/CreateFunctionResult.h
  41. 42 0
      datalake/include/alibabacloud/datalake/model/CreateLockRequest.h
  42. 62 0
      datalake/include/alibabacloud/datalake/model/CreateLockResult.h
  43. 42 0
      datalake/include/alibabacloud/datalake/model/CreatePartitionRequest.h
  44. 114 0
      datalake/include/alibabacloud/datalake/model/CreatePartitionResult.h
  45. 42 0
      datalake/include/alibabacloud/datalake/model/CreateRoleRequest.h
  46. 55 0
      datalake/include/alibabacloud/datalake/model/CreateRoleResult.h
  47. 42 0
      datalake/include/alibabacloud/datalake/model/CreateTableRequest.h
  48. 55 0
      datalake/include/alibabacloud/datalake/model/CreateTableResult.h
  49. 45 0
      datalake/include/alibabacloud/datalake/model/DeleteCatalogRequest.h
  50. 57 0
      datalake/include/alibabacloud/datalake/model/DeleteCatalogResult.h
  51. 48 0
      datalake/include/alibabacloud/datalake/model/DeleteDatabaseRequest.h
  52. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteDatabaseResult.h
  53. 48 0
      datalake/include/alibabacloud/datalake/model/DeleteFunctionRequest.h
  54. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteFunctionResult.h
  55. 48 0
      datalake/include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsRequest.h
  56. 55 0
      datalake/include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsResult.h
  57. 42 0
      datalake/include/alibabacloud/datalake/model/DeletePartitionRequest.h
  58. 55 0
      datalake/include/alibabacloud/datalake/model/DeletePartitionResult.h
  59. 42 0
      datalake/include/alibabacloud/datalake/model/DeleteRoleRequest.h
  60. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteRoleResult.h
  61. 48 0
      datalake/include/alibabacloud/datalake/model/DeleteTableColumnStatisticsRequest.h
  62. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteTableColumnStatisticsResult.h
  63. 48 0
      datalake/include/alibabacloud/datalake/model/DeleteTableRequest.h
  64. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteTableResult.h
  65. 51 0
      datalake/include/alibabacloud/datalake/model/DeleteTableVersionRequest.h
  66. 55 0
      datalake/include/alibabacloud/datalake/model/DeleteTableVersionResult.h
  67. 42 0
      datalake/include/alibabacloud/datalake/model/DeregisterLocationRequest.h
  68. 67 0
      datalake/include/alibabacloud/datalake/model/DeregisterLocationResult.h
  69. 39 0
      datalake/include/alibabacloud/datalake/model/DescribeRegionsRequest.h
  70. 60 0
      datalake/include/alibabacloud/datalake/model/DescribeRegionsResult.h
  71. 45 0
      datalake/include/alibabacloud/datalake/model/GetAsyncTaskStatusRequest.h
  72. 62 0
      datalake/include/alibabacloud/datalake/model/GetAsyncTaskStatusResult.h
  73. 42 0
      datalake/include/alibabacloud/datalake/model/GetCatalogRequest.h
  74. 68 0
      datalake/include/alibabacloud/datalake/model/GetCatalogResult.h
  75. 42 0
      datalake/include/alibabacloud/datalake/model/GetCatalogSettingsRequest.h
  76. 61 0
      datalake/include/alibabacloud/datalake/model/GetCatalogSettingsResult.h
  77. 45 0
      datalake/include/alibabacloud/datalake/model/GetDatabaseRequest.h
  78. 76 0
      datalake/include/alibabacloud/datalake/model/GetDatabaseResult.h
  79. 48 0
      datalake/include/alibabacloud/datalake/model/GetFunctionRequest.h
  80. 76 0
      datalake/include/alibabacloud/datalake/model/GetFunctionResult.h
  81. 42 0
      datalake/include/alibabacloud/datalake/model/GetLockRequest.h
  82. 62 0
      datalake/include/alibabacloud/datalake/model/GetLockResult.h
  83. 48 0
      datalake/include/alibabacloud/datalake/model/GetPartitionColumnStatisticsRequest.h
  84. 57 0
      datalake/include/alibabacloud/datalake/model/GetPartitionColumnStatisticsResult.h
  85. 42 0
      datalake/include/alibabacloud/datalake/model/GetPartitionRequest.h
  86. 114 0
      datalake/include/alibabacloud/datalake/model/GetPartitionResult.h
  87. 48 0
      datalake/include/alibabacloud/datalake/model/GetQueryResultRequest.h
  88. 93 0
      datalake/include/alibabacloud/datalake/model/GetQueryResultResult.h
  89. 39 0
      datalake/include/alibabacloud/datalake/model/GetRegionStatusRequest.h
  90. 61 0
      datalake/include/alibabacloud/datalake/model/GetRegionStatusResult.h
  91. 42 0
      datalake/include/alibabacloud/datalake/model/GetRoleRequest.h
  92. 72 0
      datalake/include/alibabacloud/datalake/model/GetRoleResult.h
  93. 39 0
      datalake/include/alibabacloud/datalake/model/GetServiceStatusRequest.h
  94. 59 0
      datalake/include/alibabacloud/datalake/model/GetServiceStatusResult.h
  95. 48 0
      datalake/include/alibabacloud/datalake/model/GetTableColumnStatisticsRequest.h
  96. 68 0
      datalake/include/alibabacloud/datalake/model/GetTableColumnStatisticsResult.h
  97. 48 0
      datalake/include/alibabacloud/datalake/model/GetTableProfileRequest.h
  98. 75 0
      datalake/include/alibabacloud/datalake/model/GetTableProfileResult.h
  99. 48 0
      datalake/include/alibabacloud/datalake/model/GetTableRequest.h
  100. 139 0
      datalake/include/alibabacloud/datalake/model/GetTableResult.h

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1527
+1.36.1528

+ 446 - 0
datalake/CMakeLists.txt

@@ -0,0 +1,446 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(datalake_public_header 
+	include/alibabacloud/datalake/DataLakeClient.h
+	include/alibabacloud/datalake/DataLakeExport.h )
+
+set(datalake_public_header_model 
+	include/alibabacloud/datalake/model/AbortLockRequest.h
+	include/alibabacloud/datalake/model/AbortLockResult.h
+	include/alibabacloud/datalake/model/BatchCreatePartitionsRequest.h
+	include/alibabacloud/datalake/model/BatchCreatePartitionsResult.h
+	include/alibabacloud/datalake/model/BatchCreateTablesRequest.h
+	include/alibabacloud/datalake/model/BatchCreateTablesResult.h
+	include/alibabacloud/datalake/model/BatchDeletePartitionsRequest.h
+	include/alibabacloud/datalake/model/BatchDeletePartitionsResult.h
+	include/alibabacloud/datalake/model/BatchDeleteTableVersionsRequest.h
+	include/alibabacloud/datalake/model/BatchDeleteTableVersionsResult.h
+	include/alibabacloud/datalake/model/BatchDeleteTablesRequest.h
+	include/alibabacloud/datalake/model/BatchDeleteTablesResult.h
+	include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/BatchGetPartitionsRequest.h
+	include/alibabacloud/datalake/model/BatchGetPartitionsResult.h
+	include/alibabacloud/datalake/model/BatchGetTablesRequest.h
+	include/alibabacloud/datalake/model/BatchGetTablesResult.h
+	include/alibabacloud/datalake/model/BatchGrantPermissionsRequest.h
+	include/alibabacloud/datalake/model/BatchGrantPermissionsResult.h
+	include/alibabacloud/datalake/model/BatchRevokePermissionsRequest.h
+	include/alibabacloud/datalake/model/BatchRevokePermissionsResult.h
+	include/alibabacloud/datalake/model/BatchUpdatePartitionsRequest.h
+	include/alibabacloud/datalake/model/BatchUpdatePartitionsResult.h
+	include/alibabacloud/datalake/model/BatchUpdateTablesRequest.h
+	include/alibabacloud/datalake/model/BatchUpdateTablesResult.h
+	include/alibabacloud/datalake/model/CancelQueryRequest.h
+	include/alibabacloud/datalake/model/CancelQueryResult.h
+	include/alibabacloud/datalake/model/CheckPermissionsRequest.h
+	include/alibabacloud/datalake/model/CheckPermissionsResult.h
+	include/alibabacloud/datalake/model/CreateCatalogRequest.h
+	include/alibabacloud/datalake/model/CreateCatalogResult.h
+	include/alibabacloud/datalake/model/CreateDatabaseRequest.h
+	include/alibabacloud/datalake/model/CreateDatabaseResult.h
+	include/alibabacloud/datalake/model/CreateFunctionRequest.h
+	include/alibabacloud/datalake/model/CreateFunctionResult.h
+	include/alibabacloud/datalake/model/CreateLockRequest.h
+	include/alibabacloud/datalake/model/CreateLockResult.h
+	include/alibabacloud/datalake/model/CreatePartitionRequest.h
+	include/alibabacloud/datalake/model/CreatePartitionResult.h
+	include/alibabacloud/datalake/model/CreateRoleRequest.h
+	include/alibabacloud/datalake/model/CreateRoleResult.h
+	include/alibabacloud/datalake/model/CreateTableRequest.h
+	include/alibabacloud/datalake/model/CreateTableResult.h
+	include/alibabacloud/datalake/model/DeleteCatalogRequest.h
+	include/alibabacloud/datalake/model/DeleteCatalogResult.h
+	include/alibabacloud/datalake/model/DeleteDatabaseRequest.h
+	include/alibabacloud/datalake/model/DeleteDatabaseResult.h
+	include/alibabacloud/datalake/model/DeleteFunctionRequest.h
+	include/alibabacloud/datalake/model/DeleteFunctionResult.h
+	include/alibabacloud/datalake/model/DeletePartitionRequest.h
+	include/alibabacloud/datalake/model/DeletePartitionResult.h
+	include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/DeleteRoleRequest.h
+	include/alibabacloud/datalake/model/DeleteRoleResult.h
+	include/alibabacloud/datalake/model/DeleteTableRequest.h
+	include/alibabacloud/datalake/model/DeleteTableResult.h
+	include/alibabacloud/datalake/model/DeleteTableColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/DeleteTableColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/DeleteTableVersionRequest.h
+	include/alibabacloud/datalake/model/DeleteTableVersionResult.h
+	include/alibabacloud/datalake/model/DeregisterLocationRequest.h
+	include/alibabacloud/datalake/model/DeregisterLocationResult.h
+	include/alibabacloud/datalake/model/DescribeRegionsRequest.h
+	include/alibabacloud/datalake/model/DescribeRegionsResult.h
+	include/alibabacloud/datalake/model/GetAsyncTaskStatusRequest.h
+	include/alibabacloud/datalake/model/GetAsyncTaskStatusResult.h
+	include/alibabacloud/datalake/model/GetCatalogRequest.h
+	include/alibabacloud/datalake/model/GetCatalogResult.h
+	include/alibabacloud/datalake/model/GetCatalogSettingsRequest.h
+	include/alibabacloud/datalake/model/GetCatalogSettingsResult.h
+	include/alibabacloud/datalake/model/GetDatabaseRequest.h
+	include/alibabacloud/datalake/model/GetDatabaseResult.h
+	include/alibabacloud/datalake/model/GetFunctionRequest.h
+	include/alibabacloud/datalake/model/GetFunctionResult.h
+	include/alibabacloud/datalake/model/GetLockRequest.h
+	include/alibabacloud/datalake/model/GetLockResult.h
+	include/alibabacloud/datalake/model/GetPartitionRequest.h
+	include/alibabacloud/datalake/model/GetPartitionResult.h
+	include/alibabacloud/datalake/model/GetPartitionColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/GetPartitionColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/GetQueryResultRequest.h
+	include/alibabacloud/datalake/model/GetQueryResultResult.h
+	include/alibabacloud/datalake/model/GetRegionStatusRequest.h
+	include/alibabacloud/datalake/model/GetRegionStatusResult.h
+	include/alibabacloud/datalake/model/GetRoleRequest.h
+	include/alibabacloud/datalake/model/GetRoleResult.h
+	include/alibabacloud/datalake/model/GetServiceStatusRequest.h
+	include/alibabacloud/datalake/model/GetServiceStatusResult.h
+	include/alibabacloud/datalake/model/GetTableRequest.h
+	include/alibabacloud/datalake/model/GetTableResult.h
+	include/alibabacloud/datalake/model/GetTableColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/GetTableColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/GetTableProfileRequest.h
+	include/alibabacloud/datalake/model/GetTableProfileResult.h
+	include/alibabacloud/datalake/model/GetTableVersionRequest.h
+	include/alibabacloud/datalake/model/GetTableVersionResult.h
+	include/alibabacloud/datalake/model/GrantPermissionsRequest.h
+	include/alibabacloud/datalake/model/GrantPermissionsResult.h
+	include/alibabacloud/datalake/model/GrantRoleToUsersRequest.h
+	include/alibabacloud/datalake/model/GrantRoleToUsersResult.h
+	include/alibabacloud/datalake/model/GrantRolesToUserRequest.h
+	include/alibabacloud/datalake/model/GrantRolesToUserResult.h
+	include/alibabacloud/datalake/model/ListCatalogsRequest.h
+	include/alibabacloud/datalake/model/ListCatalogsResult.h
+	include/alibabacloud/datalake/model/ListDatabasesRequest.h
+	include/alibabacloud/datalake/model/ListDatabasesResult.h
+	include/alibabacloud/datalake/model/ListFunctionNamesRequest.h
+	include/alibabacloud/datalake/model/ListFunctionNamesResult.h
+	include/alibabacloud/datalake/model/ListFunctionsRequest.h
+	include/alibabacloud/datalake/model/ListFunctionsResult.h
+	include/alibabacloud/datalake/model/ListPartitionNamesRequest.h
+	include/alibabacloud/datalake/model/ListPartitionNamesResult.h
+	include/alibabacloud/datalake/model/ListPartitionsRequest.h
+	include/alibabacloud/datalake/model/ListPartitionsResult.h
+	include/alibabacloud/datalake/model/ListPartitionsByExprRequest.h
+	include/alibabacloud/datalake/model/ListPartitionsByExprResult.h
+	include/alibabacloud/datalake/model/ListPartitionsByFilterRequest.h
+	include/alibabacloud/datalake/model/ListPartitionsByFilterResult.h
+	include/alibabacloud/datalake/model/ListPermissionsRequest.h
+	include/alibabacloud/datalake/model/ListPermissionsResult.h
+	include/alibabacloud/datalake/model/ListRoleUsersRequest.h
+	include/alibabacloud/datalake/model/ListRoleUsersResult.h
+	include/alibabacloud/datalake/model/ListRolesRequest.h
+	include/alibabacloud/datalake/model/ListRolesResult.h
+	include/alibabacloud/datalake/model/ListTableNamesRequest.h
+	include/alibabacloud/datalake/model/ListTableNamesResult.h
+	include/alibabacloud/datalake/model/ListTableVersionsRequest.h
+	include/alibabacloud/datalake/model/ListTableVersionsResult.h
+	include/alibabacloud/datalake/model/ListTablesRequest.h
+	include/alibabacloud/datalake/model/ListTablesResult.h
+	include/alibabacloud/datalake/model/ListUserRolesRequest.h
+	include/alibabacloud/datalake/model/ListUserRolesResult.h
+	include/alibabacloud/datalake/model/RefreshLockRequest.h
+	include/alibabacloud/datalake/model/RefreshLockResult.h
+	include/alibabacloud/datalake/model/RegisterLocationRequest.h
+	include/alibabacloud/datalake/model/RegisterLocationResult.h
+	include/alibabacloud/datalake/model/RenamePartitionRequest.h
+	include/alibabacloud/datalake/model/RenamePartitionResult.h
+	include/alibabacloud/datalake/model/RenameTableRequest.h
+	include/alibabacloud/datalake/model/RenameTableResult.h
+	include/alibabacloud/datalake/model/RevokePermissionsRequest.h
+	include/alibabacloud/datalake/model/RevokePermissionsResult.h
+	include/alibabacloud/datalake/model/RevokeRoleFromUsersRequest.h
+	include/alibabacloud/datalake/model/RevokeRoleFromUsersResult.h
+	include/alibabacloud/datalake/model/RevokeRolesFromUserRequest.h
+	include/alibabacloud/datalake/model/RevokeRolesFromUserResult.h
+	include/alibabacloud/datalake/model/RunMigrationWorkflowRequest.h
+	include/alibabacloud/datalake/model/RunMigrationWorkflowResult.h
+	include/alibabacloud/datalake/model/SearchRequest.h
+	include/alibabacloud/datalake/model/SearchResult.h
+	include/alibabacloud/datalake/model/SearchAcrossCatalogRequest.h
+	include/alibabacloud/datalake/model/SearchAcrossCatalogResult.h
+	include/alibabacloud/datalake/model/StopMigrationWorkflowRequest.h
+	include/alibabacloud/datalake/model/StopMigrationWorkflowResult.h
+	include/alibabacloud/datalake/model/SubmitQueryRequest.h
+	include/alibabacloud/datalake/model/SubmitQueryResult.h
+	include/alibabacloud/datalake/model/UnLockRequest.h
+	include/alibabacloud/datalake/model/UnLockResult.h
+	include/alibabacloud/datalake/model/UpdateCatalogRequest.h
+	include/alibabacloud/datalake/model/UpdateCatalogResult.h
+	include/alibabacloud/datalake/model/UpdateCatalogSettingsRequest.h
+	include/alibabacloud/datalake/model/UpdateCatalogSettingsResult.h
+	include/alibabacloud/datalake/model/UpdateDatabaseRequest.h
+	include/alibabacloud/datalake/model/UpdateDatabaseResult.h
+	include/alibabacloud/datalake/model/UpdateFunctionRequest.h
+	include/alibabacloud/datalake/model/UpdateFunctionResult.h
+	include/alibabacloud/datalake/model/UpdatePartitionColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/UpdatePartitionColumnStatisticsResult.h
+	include/alibabacloud/datalake/model/UpdatePermissionsRequest.h
+	include/alibabacloud/datalake/model/UpdatePermissionsResult.h
+	include/alibabacloud/datalake/model/UpdateRegisteredLocationRequest.h
+	include/alibabacloud/datalake/model/UpdateRegisteredLocationResult.h
+	include/alibabacloud/datalake/model/UpdateRoleRequest.h
+	include/alibabacloud/datalake/model/UpdateRoleResult.h
+	include/alibabacloud/datalake/model/UpdateRoleUsersRequest.h
+	include/alibabacloud/datalake/model/UpdateRoleUsersResult.h
+	include/alibabacloud/datalake/model/UpdateTableRequest.h
+	include/alibabacloud/datalake/model/UpdateTableResult.h
+	include/alibabacloud/datalake/model/UpdateTableColumnStatisticsRequest.h
+	include/alibabacloud/datalake/model/UpdateTableColumnStatisticsResult.h )
+
+set(datalake_src 
+	src/DataLakeClient.cc
+	src/model/AbortLockRequest.cc
+	src/model/AbortLockResult.cc
+	src/model/BatchCreatePartitionsRequest.cc
+	src/model/BatchCreatePartitionsResult.cc
+	src/model/BatchCreateTablesRequest.cc
+	src/model/BatchCreateTablesResult.cc
+	src/model/BatchDeletePartitionsRequest.cc
+	src/model/BatchDeletePartitionsResult.cc
+	src/model/BatchDeleteTableVersionsRequest.cc
+	src/model/BatchDeleteTableVersionsResult.cc
+	src/model/BatchDeleteTablesRequest.cc
+	src/model/BatchDeleteTablesResult.cc
+	src/model/BatchGetPartitionColumnStatisticsRequest.cc
+	src/model/BatchGetPartitionColumnStatisticsResult.cc
+	src/model/BatchGetPartitionsRequest.cc
+	src/model/BatchGetPartitionsResult.cc
+	src/model/BatchGetTablesRequest.cc
+	src/model/BatchGetTablesResult.cc
+	src/model/BatchGrantPermissionsRequest.cc
+	src/model/BatchGrantPermissionsResult.cc
+	src/model/BatchRevokePermissionsRequest.cc
+	src/model/BatchRevokePermissionsResult.cc
+	src/model/BatchUpdatePartitionsRequest.cc
+	src/model/BatchUpdatePartitionsResult.cc
+	src/model/BatchUpdateTablesRequest.cc
+	src/model/BatchUpdateTablesResult.cc
+	src/model/CancelQueryRequest.cc
+	src/model/CancelQueryResult.cc
+	src/model/CheckPermissionsRequest.cc
+	src/model/CheckPermissionsResult.cc
+	src/model/CreateCatalogRequest.cc
+	src/model/CreateCatalogResult.cc
+	src/model/CreateDatabaseRequest.cc
+	src/model/CreateDatabaseResult.cc
+	src/model/CreateFunctionRequest.cc
+	src/model/CreateFunctionResult.cc
+	src/model/CreateLockRequest.cc
+	src/model/CreateLockResult.cc
+	src/model/CreatePartitionRequest.cc
+	src/model/CreatePartitionResult.cc
+	src/model/CreateRoleRequest.cc
+	src/model/CreateRoleResult.cc
+	src/model/CreateTableRequest.cc
+	src/model/CreateTableResult.cc
+	src/model/DeleteCatalogRequest.cc
+	src/model/DeleteCatalogResult.cc
+	src/model/DeleteDatabaseRequest.cc
+	src/model/DeleteDatabaseResult.cc
+	src/model/DeleteFunctionRequest.cc
+	src/model/DeleteFunctionResult.cc
+	src/model/DeletePartitionRequest.cc
+	src/model/DeletePartitionResult.cc
+	src/model/DeletePartitionColumnStatisticsRequest.cc
+	src/model/DeletePartitionColumnStatisticsResult.cc
+	src/model/DeleteRoleRequest.cc
+	src/model/DeleteRoleResult.cc
+	src/model/DeleteTableRequest.cc
+	src/model/DeleteTableResult.cc
+	src/model/DeleteTableColumnStatisticsRequest.cc
+	src/model/DeleteTableColumnStatisticsResult.cc
+	src/model/DeleteTableVersionRequest.cc
+	src/model/DeleteTableVersionResult.cc
+	src/model/DeregisterLocationRequest.cc
+	src/model/DeregisterLocationResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/GetAsyncTaskStatusRequest.cc
+	src/model/GetAsyncTaskStatusResult.cc
+	src/model/GetCatalogRequest.cc
+	src/model/GetCatalogResult.cc
+	src/model/GetCatalogSettingsRequest.cc
+	src/model/GetCatalogSettingsResult.cc
+	src/model/GetDatabaseRequest.cc
+	src/model/GetDatabaseResult.cc
+	src/model/GetFunctionRequest.cc
+	src/model/GetFunctionResult.cc
+	src/model/GetLockRequest.cc
+	src/model/GetLockResult.cc
+	src/model/GetPartitionRequest.cc
+	src/model/GetPartitionResult.cc
+	src/model/GetPartitionColumnStatisticsRequest.cc
+	src/model/GetPartitionColumnStatisticsResult.cc
+	src/model/GetQueryResultRequest.cc
+	src/model/GetQueryResultResult.cc
+	src/model/GetRegionStatusRequest.cc
+	src/model/GetRegionStatusResult.cc
+	src/model/GetRoleRequest.cc
+	src/model/GetRoleResult.cc
+	src/model/GetServiceStatusRequest.cc
+	src/model/GetServiceStatusResult.cc
+	src/model/GetTableRequest.cc
+	src/model/GetTableResult.cc
+	src/model/GetTableColumnStatisticsRequest.cc
+	src/model/GetTableColumnStatisticsResult.cc
+	src/model/GetTableProfileRequest.cc
+	src/model/GetTableProfileResult.cc
+	src/model/GetTableVersionRequest.cc
+	src/model/GetTableVersionResult.cc
+	src/model/GrantPermissionsRequest.cc
+	src/model/GrantPermissionsResult.cc
+	src/model/GrantRoleToUsersRequest.cc
+	src/model/GrantRoleToUsersResult.cc
+	src/model/GrantRolesToUserRequest.cc
+	src/model/GrantRolesToUserResult.cc
+	src/model/ListCatalogsRequest.cc
+	src/model/ListCatalogsResult.cc
+	src/model/ListDatabasesRequest.cc
+	src/model/ListDatabasesResult.cc
+	src/model/ListFunctionNamesRequest.cc
+	src/model/ListFunctionNamesResult.cc
+	src/model/ListFunctionsRequest.cc
+	src/model/ListFunctionsResult.cc
+	src/model/ListPartitionNamesRequest.cc
+	src/model/ListPartitionNamesResult.cc
+	src/model/ListPartitionsRequest.cc
+	src/model/ListPartitionsResult.cc
+	src/model/ListPartitionsByExprRequest.cc
+	src/model/ListPartitionsByExprResult.cc
+	src/model/ListPartitionsByFilterRequest.cc
+	src/model/ListPartitionsByFilterResult.cc
+	src/model/ListPermissionsRequest.cc
+	src/model/ListPermissionsResult.cc
+	src/model/ListRoleUsersRequest.cc
+	src/model/ListRoleUsersResult.cc
+	src/model/ListRolesRequest.cc
+	src/model/ListRolesResult.cc
+	src/model/ListTableNamesRequest.cc
+	src/model/ListTableNamesResult.cc
+	src/model/ListTableVersionsRequest.cc
+	src/model/ListTableVersionsResult.cc
+	src/model/ListTablesRequest.cc
+	src/model/ListTablesResult.cc
+	src/model/ListUserRolesRequest.cc
+	src/model/ListUserRolesResult.cc
+	src/model/RefreshLockRequest.cc
+	src/model/RefreshLockResult.cc
+	src/model/RegisterLocationRequest.cc
+	src/model/RegisterLocationResult.cc
+	src/model/RenamePartitionRequest.cc
+	src/model/RenamePartitionResult.cc
+	src/model/RenameTableRequest.cc
+	src/model/RenameTableResult.cc
+	src/model/RevokePermissionsRequest.cc
+	src/model/RevokePermissionsResult.cc
+	src/model/RevokeRoleFromUsersRequest.cc
+	src/model/RevokeRoleFromUsersResult.cc
+	src/model/RevokeRolesFromUserRequest.cc
+	src/model/RevokeRolesFromUserResult.cc
+	src/model/RunMigrationWorkflowRequest.cc
+	src/model/RunMigrationWorkflowResult.cc
+	src/model/SearchRequest.cc
+	src/model/SearchResult.cc
+	src/model/SearchAcrossCatalogRequest.cc
+	src/model/SearchAcrossCatalogResult.cc
+	src/model/StopMigrationWorkflowRequest.cc
+	src/model/StopMigrationWorkflowResult.cc
+	src/model/SubmitQueryRequest.cc
+	src/model/SubmitQueryResult.cc
+	src/model/UnLockRequest.cc
+	src/model/UnLockResult.cc
+	src/model/UpdateCatalogRequest.cc
+	src/model/UpdateCatalogResult.cc
+	src/model/UpdateCatalogSettingsRequest.cc
+	src/model/UpdateCatalogSettingsResult.cc
+	src/model/UpdateDatabaseRequest.cc
+	src/model/UpdateDatabaseResult.cc
+	src/model/UpdateFunctionRequest.cc
+	src/model/UpdateFunctionResult.cc
+	src/model/UpdatePartitionColumnStatisticsRequest.cc
+	src/model/UpdatePartitionColumnStatisticsResult.cc
+	src/model/UpdatePermissionsRequest.cc
+	src/model/UpdatePermissionsResult.cc
+	src/model/UpdateRegisteredLocationRequest.cc
+	src/model/UpdateRegisteredLocationResult.cc
+	src/model/UpdateRoleRequest.cc
+	src/model/UpdateRoleResult.cc
+	src/model/UpdateRoleUsersRequest.cc
+	src/model/UpdateRoleUsersResult.cc
+	src/model/UpdateTableRequest.cc
+	src/model/UpdateTableResult.cc
+	src/model/UpdateTableColumnStatisticsRequest.cc
+	src/model/UpdateTableColumnStatisticsResult.cc )
+
+add_library(datalake ${LIB_TYPE}
+	${datalake_public_header}
+	${datalake_public_header_model}
+	${datalake_src})
+
+set_target_properties(datalake
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}datalake
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(datalake
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_DATALAKE_LIBRARY)
+endif()
+
+target_include_directories(datalake
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(datalake
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(datalake
+		jsoncpp)
+	target_include_directories(datalake
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(datalake
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(datalake
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(datalake
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(datalake
+		jsoncpp)
+endif()
+
+install(FILES ${datalake_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/datalake)
+install(FILES ${datalake_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/datalake/model)
+install(TARGETS datalake
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 774 - 0
datalake/include/alibabacloud/datalake/DataLakeClient.h

@@ -0,0 +1,774 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_DATALAKECLIENT_H_
+#define ALIBABACLOUD_DATALAKE_DATALAKECLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RoaServiceClient.h>
+#include "DataLakeExport.h"
+#include "model/AbortLockRequest.h"
+#include "model/AbortLockResult.h"
+#include "model/BatchCreatePartitionsRequest.h"
+#include "model/BatchCreatePartitionsResult.h"
+#include "model/BatchCreateTablesRequest.h"
+#include "model/BatchCreateTablesResult.h"
+#include "model/BatchDeletePartitionsRequest.h"
+#include "model/BatchDeletePartitionsResult.h"
+#include "model/BatchDeleteTableVersionsRequest.h"
+#include "model/BatchDeleteTableVersionsResult.h"
+#include "model/BatchDeleteTablesRequest.h"
+#include "model/BatchDeleteTablesResult.h"
+#include "model/BatchGetPartitionColumnStatisticsRequest.h"
+#include "model/BatchGetPartitionColumnStatisticsResult.h"
+#include "model/BatchGetPartitionsRequest.h"
+#include "model/BatchGetPartitionsResult.h"
+#include "model/BatchGetTablesRequest.h"
+#include "model/BatchGetTablesResult.h"
+#include "model/BatchGrantPermissionsRequest.h"
+#include "model/BatchGrantPermissionsResult.h"
+#include "model/BatchRevokePermissionsRequest.h"
+#include "model/BatchRevokePermissionsResult.h"
+#include "model/BatchUpdatePartitionsRequest.h"
+#include "model/BatchUpdatePartitionsResult.h"
+#include "model/BatchUpdateTablesRequest.h"
+#include "model/BatchUpdateTablesResult.h"
+#include "model/CancelQueryRequest.h"
+#include "model/CancelQueryResult.h"
+#include "model/CheckPermissionsRequest.h"
+#include "model/CheckPermissionsResult.h"
+#include "model/CreateCatalogRequest.h"
+#include "model/CreateCatalogResult.h"
+#include "model/CreateDatabaseRequest.h"
+#include "model/CreateDatabaseResult.h"
+#include "model/CreateFunctionRequest.h"
+#include "model/CreateFunctionResult.h"
+#include "model/CreateLockRequest.h"
+#include "model/CreateLockResult.h"
+#include "model/CreatePartitionRequest.h"
+#include "model/CreatePartitionResult.h"
+#include "model/CreateRoleRequest.h"
+#include "model/CreateRoleResult.h"
+#include "model/CreateTableRequest.h"
+#include "model/CreateTableResult.h"
+#include "model/DeleteCatalogRequest.h"
+#include "model/DeleteCatalogResult.h"
+#include "model/DeleteDatabaseRequest.h"
+#include "model/DeleteDatabaseResult.h"
+#include "model/DeleteFunctionRequest.h"
+#include "model/DeleteFunctionResult.h"
+#include "model/DeletePartitionRequest.h"
+#include "model/DeletePartitionResult.h"
+#include "model/DeletePartitionColumnStatisticsRequest.h"
+#include "model/DeletePartitionColumnStatisticsResult.h"
+#include "model/DeleteRoleRequest.h"
+#include "model/DeleteRoleResult.h"
+#include "model/DeleteTableRequest.h"
+#include "model/DeleteTableResult.h"
+#include "model/DeleteTableColumnStatisticsRequest.h"
+#include "model/DeleteTableColumnStatisticsResult.h"
+#include "model/DeleteTableVersionRequest.h"
+#include "model/DeleteTableVersionResult.h"
+#include "model/DeregisterLocationRequest.h"
+#include "model/DeregisterLocationResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/GetAsyncTaskStatusRequest.h"
+#include "model/GetAsyncTaskStatusResult.h"
+#include "model/GetCatalogRequest.h"
+#include "model/GetCatalogResult.h"
+#include "model/GetCatalogSettingsRequest.h"
+#include "model/GetCatalogSettingsResult.h"
+#include "model/GetDatabaseRequest.h"
+#include "model/GetDatabaseResult.h"
+#include "model/GetFunctionRequest.h"
+#include "model/GetFunctionResult.h"
+#include "model/GetLockRequest.h"
+#include "model/GetLockResult.h"
+#include "model/GetPartitionRequest.h"
+#include "model/GetPartitionResult.h"
+#include "model/GetPartitionColumnStatisticsRequest.h"
+#include "model/GetPartitionColumnStatisticsResult.h"
+#include "model/GetQueryResultRequest.h"
+#include "model/GetQueryResultResult.h"
+#include "model/GetRegionStatusRequest.h"
+#include "model/GetRegionStatusResult.h"
+#include "model/GetRoleRequest.h"
+#include "model/GetRoleResult.h"
+#include "model/GetServiceStatusRequest.h"
+#include "model/GetServiceStatusResult.h"
+#include "model/GetTableRequest.h"
+#include "model/GetTableResult.h"
+#include "model/GetTableColumnStatisticsRequest.h"
+#include "model/GetTableColumnStatisticsResult.h"
+#include "model/GetTableProfileRequest.h"
+#include "model/GetTableProfileResult.h"
+#include "model/GetTableVersionRequest.h"
+#include "model/GetTableVersionResult.h"
+#include "model/GrantPermissionsRequest.h"
+#include "model/GrantPermissionsResult.h"
+#include "model/GrantRoleToUsersRequest.h"
+#include "model/GrantRoleToUsersResult.h"
+#include "model/GrantRolesToUserRequest.h"
+#include "model/GrantRolesToUserResult.h"
+#include "model/ListCatalogsRequest.h"
+#include "model/ListCatalogsResult.h"
+#include "model/ListDatabasesRequest.h"
+#include "model/ListDatabasesResult.h"
+#include "model/ListFunctionNamesRequest.h"
+#include "model/ListFunctionNamesResult.h"
+#include "model/ListFunctionsRequest.h"
+#include "model/ListFunctionsResult.h"
+#include "model/ListPartitionNamesRequest.h"
+#include "model/ListPartitionNamesResult.h"
+#include "model/ListPartitionsRequest.h"
+#include "model/ListPartitionsResult.h"
+#include "model/ListPartitionsByExprRequest.h"
+#include "model/ListPartitionsByExprResult.h"
+#include "model/ListPartitionsByFilterRequest.h"
+#include "model/ListPartitionsByFilterResult.h"
+#include "model/ListPermissionsRequest.h"
+#include "model/ListPermissionsResult.h"
+#include "model/ListRoleUsersRequest.h"
+#include "model/ListRoleUsersResult.h"
+#include "model/ListRolesRequest.h"
+#include "model/ListRolesResult.h"
+#include "model/ListTableNamesRequest.h"
+#include "model/ListTableNamesResult.h"
+#include "model/ListTableVersionsRequest.h"
+#include "model/ListTableVersionsResult.h"
+#include "model/ListTablesRequest.h"
+#include "model/ListTablesResult.h"
+#include "model/ListUserRolesRequest.h"
+#include "model/ListUserRolesResult.h"
+#include "model/RefreshLockRequest.h"
+#include "model/RefreshLockResult.h"
+#include "model/RegisterLocationRequest.h"
+#include "model/RegisterLocationResult.h"
+#include "model/RenamePartitionRequest.h"
+#include "model/RenamePartitionResult.h"
+#include "model/RenameTableRequest.h"
+#include "model/RenameTableResult.h"
+#include "model/RevokePermissionsRequest.h"
+#include "model/RevokePermissionsResult.h"
+#include "model/RevokeRoleFromUsersRequest.h"
+#include "model/RevokeRoleFromUsersResult.h"
+#include "model/RevokeRolesFromUserRequest.h"
+#include "model/RevokeRolesFromUserResult.h"
+#include "model/RunMigrationWorkflowRequest.h"
+#include "model/RunMigrationWorkflowResult.h"
+#include "model/SearchRequest.h"
+#include "model/SearchResult.h"
+#include "model/SearchAcrossCatalogRequest.h"
+#include "model/SearchAcrossCatalogResult.h"
+#include "model/StopMigrationWorkflowRequest.h"
+#include "model/StopMigrationWorkflowResult.h"
+#include "model/SubmitQueryRequest.h"
+#include "model/SubmitQueryResult.h"
+#include "model/UnLockRequest.h"
+#include "model/UnLockResult.h"
+#include "model/UpdateCatalogRequest.h"
+#include "model/UpdateCatalogResult.h"
+#include "model/UpdateCatalogSettingsRequest.h"
+#include "model/UpdateCatalogSettingsResult.h"
+#include "model/UpdateDatabaseRequest.h"
+#include "model/UpdateDatabaseResult.h"
+#include "model/UpdateFunctionRequest.h"
+#include "model/UpdateFunctionResult.h"
+#include "model/UpdatePartitionColumnStatisticsRequest.h"
+#include "model/UpdatePartitionColumnStatisticsResult.h"
+#include "model/UpdatePermissionsRequest.h"
+#include "model/UpdatePermissionsResult.h"
+#include "model/UpdateRegisteredLocationRequest.h"
+#include "model/UpdateRegisteredLocationResult.h"
+#include "model/UpdateRoleRequest.h"
+#include "model/UpdateRoleResult.h"
+#include "model/UpdateRoleUsersRequest.h"
+#include "model/UpdateRoleUsersResult.h"
+#include "model/UpdateTableRequest.h"
+#include "model/UpdateTableResult.h"
+#include "model/UpdateTableColumnStatisticsRequest.h"
+#include "model/UpdateTableColumnStatisticsResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		class ALIBABACLOUD_DATALAKE_EXPORT DataLakeClient : public RoaServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::AbortLockResult> AbortLockOutcome;
+			typedef std::future<AbortLockOutcome> AbortLockOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::AbortLockRequest&, const AbortLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AbortLockAsyncHandler;
+			typedef Outcome<Error, Model::BatchCreatePartitionsResult> BatchCreatePartitionsOutcome;
+			typedef std::future<BatchCreatePartitionsOutcome> BatchCreatePartitionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchCreatePartitionsRequest&, const BatchCreatePartitionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchCreatePartitionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchCreateTablesResult> BatchCreateTablesOutcome;
+			typedef std::future<BatchCreateTablesOutcome> BatchCreateTablesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchCreateTablesRequest&, const BatchCreateTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchCreateTablesAsyncHandler;
+			typedef Outcome<Error, Model::BatchDeletePartitionsResult> BatchDeletePartitionsOutcome;
+			typedef std::future<BatchDeletePartitionsOutcome> BatchDeletePartitionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchDeletePartitionsRequest&, const BatchDeletePartitionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchDeletePartitionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchDeleteTableVersionsResult> BatchDeleteTableVersionsOutcome;
+			typedef std::future<BatchDeleteTableVersionsOutcome> BatchDeleteTableVersionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchDeleteTableVersionsRequest&, const BatchDeleteTableVersionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchDeleteTableVersionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchDeleteTablesResult> BatchDeleteTablesOutcome;
+			typedef std::future<BatchDeleteTablesOutcome> BatchDeleteTablesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchDeleteTablesRequest&, const BatchDeleteTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchDeleteTablesAsyncHandler;
+			typedef Outcome<Error, Model::BatchGetPartitionColumnStatisticsResult> BatchGetPartitionColumnStatisticsOutcome;
+			typedef std::future<BatchGetPartitionColumnStatisticsOutcome> BatchGetPartitionColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchGetPartitionColumnStatisticsRequest&, const BatchGetPartitionColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGetPartitionColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::BatchGetPartitionsResult> BatchGetPartitionsOutcome;
+			typedef std::future<BatchGetPartitionsOutcome> BatchGetPartitionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchGetPartitionsRequest&, const BatchGetPartitionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGetPartitionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchGetTablesResult> BatchGetTablesOutcome;
+			typedef std::future<BatchGetTablesOutcome> BatchGetTablesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchGetTablesRequest&, const BatchGetTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGetTablesAsyncHandler;
+			typedef Outcome<Error, Model::BatchGrantPermissionsResult> BatchGrantPermissionsOutcome;
+			typedef std::future<BatchGrantPermissionsOutcome> BatchGrantPermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchGrantPermissionsRequest&, const BatchGrantPermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGrantPermissionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchRevokePermissionsResult> BatchRevokePermissionsOutcome;
+			typedef std::future<BatchRevokePermissionsOutcome> BatchRevokePermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchRevokePermissionsRequest&, const BatchRevokePermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchRevokePermissionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchUpdatePartitionsResult> BatchUpdatePartitionsOutcome;
+			typedef std::future<BatchUpdatePartitionsOutcome> BatchUpdatePartitionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchUpdatePartitionsRequest&, const BatchUpdatePartitionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchUpdatePartitionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchUpdateTablesResult> BatchUpdateTablesOutcome;
+			typedef std::future<BatchUpdateTablesOutcome> BatchUpdateTablesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::BatchUpdateTablesRequest&, const BatchUpdateTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchUpdateTablesAsyncHandler;
+			typedef Outcome<Error, Model::CancelQueryResult> CancelQueryOutcome;
+			typedef std::future<CancelQueryOutcome> CancelQueryOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CancelQueryRequest&, const CancelQueryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelQueryAsyncHandler;
+			typedef Outcome<Error, Model::CheckPermissionsResult> CheckPermissionsOutcome;
+			typedef std::future<CheckPermissionsOutcome> CheckPermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CheckPermissionsRequest&, const CheckPermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckPermissionsAsyncHandler;
+			typedef Outcome<Error, Model::CreateCatalogResult> CreateCatalogOutcome;
+			typedef std::future<CreateCatalogOutcome> CreateCatalogOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateCatalogRequest&, const CreateCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCatalogAsyncHandler;
+			typedef Outcome<Error, Model::CreateDatabaseResult> CreateDatabaseOutcome;
+			typedef std::future<CreateDatabaseOutcome> CreateDatabaseOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateDatabaseRequest&, const CreateDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDatabaseAsyncHandler;
+			typedef Outcome<Error, Model::CreateFunctionResult> CreateFunctionOutcome;
+			typedef std::future<CreateFunctionOutcome> CreateFunctionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateFunctionRequest&, const CreateFunctionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFunctionAsyncHandler;
+			typedef Outcome<Error, Model::CreateLockResult> CreateLockOutcome;
+			typedef std::future<CreateLockOutcome> CreateLockOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateLockRequest&, const CreateLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLockAsyncHandler;
+			typedef Outcome<Error, Model::CreatePartitionResult> CreatePartitionOutcome;
+			typedef std::future<CreatePartitionOutcome> CreatePartitionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreatePartitionRequest&, const CreatePartitionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePartitionAsyncHandler;
+			typedef Outcome<Error, Model::CreateRoleResult> CreateRoleOutcome;
+			typedef std::future<CreateRoleOutcome> CreateRoleOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateRoleRequest&, const CreateRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRoleAsyncHandler;
+			typedef Outcome<Error, Model::CreateTableResult> CreateTableOutcome;
+			typedef std::future<CreateTableOutcome> CreateTableOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::CreateTableRequest&, const CreateTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTableAsyncHandler;
+			typedef Outcome<Error, Model::DeleteCatalogResult> DeleteCatalogOutcome;
+			typedef std::future<DeleteCatalogOutcome> DeleteCatalogOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteCatalogRequest&, const DeleteCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCatalogAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDatabaseResult> DeleteDatabaseOutcome;
+			typedef std::future<DeleteDatabaseOutcome> DeleteDatabaseOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteDatabaseRequest&, const DeleteDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDatabaseAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFunctionResult> DeleteFunctionOutcome;
+			typedef std::future<DeleteFunctionOutcome> DeleteFunctionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteFunctionRequest&, const DeleteFunctionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFunctionAsyncHandler;
+			typedef Outcome<Error, Model::DeletePartitionResult> DeletePartitionOutcome;
+			typedef std::future<DeletePartitionOutcome> DeletePartitionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeletePartitionRequest&, const DeletePartitionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePartitionAsyncHandler;
+			typedef Outcome<Error, Model::DeletePartitionColumnStatisticsResult> DeletePartitionColumnStatisticsOutcome;
+			typedef std::future<DeletePartitionColumnStatisticsOutcome> DeletePartitionColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeletePartitionColumnStatisticsRequest&, const DeletePartitionColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePartitionColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DeleteRoleResult> DeleteRoleOutcome;
+			typedef std::future<DeleteRoleOutcome> DeleteRoleOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteRoleRequest&, const DeleteRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRoleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTableResult> DeleteTableOutcome;
+			typedef std::future<DeleteTableOutcome> DeleteTableOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteTableRequest&, const DeleteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTableAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTableColumnStatisticsResult> DeleteTableColumnStatisticsOutcome;
+			typedef std::future<DeleteTableColumnStatisticsOutcome> DeleteTableColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteTableColumnStatisticsRequest&, const DeleteTableColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTableColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTableVersionResult> DeleteTableVersionOutcome;
+			typedef std::future<DeleteTableVersionOutcome> DeleteTableVersionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeleteTableVersionRequest&, const DeleteTableVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTableVersionAsyncHandler;
+			typedef Outcome<Error, Model::DeregisterLocationResult> DeregisterLocationOutcome;
+			typedef std::future<DeregisterLocationOutcome> DeregisterLocationOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DeregisterLocationRequest&, const DeregisterLocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeregisterLocationAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::GetAsyncTaskStatusResult> GetAsyncTaskStatusOutcome;
+			typedef std::future<GetAsyncTaskStatusOutcome> GetAsyncTaskStatusOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetAsyncTaskStatusRequest&, const GetAsyncTaskStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAsyncTaskStatusAsyncHandler;
+			typedef Outcome<Error, Model::GetCatalogResult> GetCatalogOutcome;
+			typedef std::future<GetCatalogOutcome> GetCatalogOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetCatalogRequest&, const GetCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCatalogAsyncHandler;
+			typedef Outcome<Error, Model::GetCatalogSettingsResult> GetCatalogSettingsOutcome;
+			typedef std::future<GetCatalogSettingsOutcome> GetCatalogSettingsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetCatalogSettingsRequest&, const GetCatalogSettingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCatalogSettingsAsyncHandler;
+			typedef Outcome<Error, Model::GetDatabaseResult> GetDatabaseOutcome;
+			typedef std::future<GetDatabaseOutcome> GetDatabaseOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetDatabaseRequest&, const GetDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDatabaseAsyncHandler;
+			typedef Outcome<Error, Model::GetFunctionResult> GetFunctionOutcome;
+			typedef std::future<GetFunctionOutcome> GetFunctionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetFunctionRequest&, const GetFunctionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFunctionAsyncHandler;
+			typedef Outcome<Error, Model::GetLockResult> GetLockOutcome;
+			typedef std::future<GetLockOutcome> GetLockOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetLockRequest&, const GetLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetLockAsyncHandler;
+			typedef Outcome<Error, Model::GetPartitionResult> GetPartitionOutcome;
+			typedef std::future<GetPartitionOutcome> GetPartitionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetPartitionRequest&, const GetPartitionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPartitionAsyncHandler;
+			typedef Outcome<Error, Model::GetPartitionColumnStatisticsResult> GetPartitionColumnStatisticsOutcome;
+			typedef std::future<GetPartitionColumnStatisticsOutcome> GetPartitionColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetPartitionColumnStatisticsRequest&, const GetPartitionColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPartitionColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::GetQueryResultResult> GetQueryResultOutcome;
+			typedef std::future<GetQueryResultOutcome> GetQueryResultOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetQueryResultRequest&, const GetQueryResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetQueryResultAsyncHandler;
+			typedef Outcome<Error, Model::GetRegionStatusResult> GetRegionStatusOutcome;
+			typedef std::future<GetRegionStatusOutcome> GetRegionStatusOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetRegionStatusRequest&, const GetRegionStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRegionStatusAsyncHandler;
+			typedef Outcome<Error, Model::GetRoleResult> GetRoleOutcome;
+			typedef std::future<GetRoleOutcome> GetRoleOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetRoleRequest&, const GetRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRoleAsyncHandler;
+			typedef Outcome<Error, Model::GetServiceStatusResult> GetServiceStatusOutcome;
+			typedef std::future<GetServiceStatusOutcome> GetServiceStatusOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetServiceStatusRequest&, const GetServiceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetServiceStatusAsyncHandler;
+			typedef Outcome<Error, Model::GetTableResult> GetTableOutcome;
+			typedef std::future<GetTableOutcome> GetTableOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetTableRequest&, const GetTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTableAsyncHandler;
+			typedef Outcome<Error, Model::GetTableColumnStatisticsResult> GetTableColumnStatisticsOutcome;
+			typedef std::future<GetTableColumnStatisticsOutcome> GetTableColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetTableColumnStatisticsRequest&, const GetTableColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTableColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::GetTableProfileResult> GetTableProfileOutcome;
+			typedef std::future<GetTableProfileOutcome> GetTableProfileOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetTableProfileRequest&, const GetTableProfileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTableProfileAsyncHandler;
+			typedef Outcome<Error, Model::GetTableVersionResult> GetTableVersionOutcome;
+			typedef std::future<GetTableVersionOutcome> GetTableVersionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GetTableVersionRequest&, const GetTableVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTableVersionAsyncHandler;
+			typedef Outcome<Error, Model::GrantPermissionsResult> GrantPermissionsOutcome;
+			typedef std::future<GrantPermissionsOutcome> GrantPermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GrantPermissionsRequest&, const GrantPermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GrantPermissionsAsyncHandler;
+			typedef Outcome<Error, Model::GrantRoleToUsersResult> GrantRoleToUsersOutcome;
+			typedef std::future<GrantRoleToUsersOutcome> GrantRoleToUsersOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GrantRoleToUsersRequest&, const GrantRoleToUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GrantRoleToUsersAsyncHandler;
+			typedef Outcome<Error, Model::GrantRolesToUserResult> GrantRolesToUserOutcome;
+			typedef std::future<GrantRolesToUserOutcome> GrantRolesToUserOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::GrantRolesToUserRequest&, const GrantRolesToUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GrantRolesToUserAsyncHandler;
+			typedef Outcome<Error, Model::ListCatalogsResult> ListCatalogsOutcome;
+			typedef std::future<ListCatalogsOutcome> ListCatalogsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListCatalogsRequest&, const ListCatalogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCatalogsAsyncHandler;
+			typedef Outcome<Error, Model::ListDatabasesResult> ListDatabasesOutcome;
+			typedef std::future<ListDatabasesOutcome> ListDatabasesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListDatabasesRequest&, const ListDatabasesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDatabasesAsyncHandler;
+			typedef Outcome<Error, Model::ListFunctionNamesResult> ListFunctionNamesOutcome;
+			typedef std::future<ListFunctionNamesOutcome> ListFunctionNamesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListFunctionNamesRequest&, const ListFunctionNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFunctionNamesAsyncHandler;
+			typedef Outcome<Error, Model::ListFunctionsResult> ListFunctionsOutcome;
+			typedef std::future<ListFunctionsOutcome> ListFunctionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListFunctionsRequest&, const ListFunctionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFunctionsAsyncHandler;
+			typedef Outcome<Error, Model::ListPartitionNamesResult> ListPartitionNamesOutcome;
+			typedef std::future<ListPartitionNamesOutcome> ListPartitionNamesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListPartitionNamesRequest&, const ListPartitionNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPartitionNamesAsyncHandler;
+			typedef Outcome<Error, Model::ListPartitionsResult> ListPartitionsOutcome;
+			typedef std::future<ListPartitionsOutcome> ListPartitionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListPartitionsRequest&, const ListPartitionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPartitionsAsyncHandler;
+			typedef Outcome<Error, Model::ListPartitionsByExprResult> ListPartitionsByExprOutcome;
+			typedef std::future<ListPartitionsByExprOutcome> ListPartitionsByExprOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListPartitionsByExprRequest&, const ListPartitionsByExprOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPartitionsByExprAsyncHandler;
+			typedef Outcome<Error, Model::ListPartitionsByFilterResult> ListPartitionsByFilterOutcome;
+			typedef std::future<ListPartitionsByFilterOutcome> ListPartitionsByFilterOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListPartitionsByFilterRequest&, const ListPartitionsByFilterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPartitionsByFilterAsyncHandler;
+			typedef Outcome<Error, Model::ListPermissionsResult> ListPermissionsOutcome;
+			typedef std::future<ListPermissionsOutcome> ListPermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListPermissionsRequest&, const ListPermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPermissionsAsyncHandler;
+			typedef Outcome<Error, Model::ListRoleUsersResult> ListRoleUsersOutcome;
+			typedef std::future<ListRoleUsersOutcome> ListRoleUsersOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListRoleUsersRequest&, const ListRoleUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRoleUsersAsyncHandler;
+			typedef Outcome<Error, Model::ListRolesResult> ListRolesOutcome;
+			typedef std::future<ListRolesOutcome> ListRolesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListRolesRequest&, const ListRolesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRolesAsyncHandler;
+			typedef Outcome<Error, Model::ListTableNamesResult> ListTableNamesOutcome;
+			typedef std::future<ListTableNamesOutcome> ListTableNamesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListTableNamesRequest&, const ListTableNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTableNamesAsyncHandler;
+			typedef Outcome<Error, Model::ListTableVersionsResult> ListTableVersionsOutcome;
+			typedef std::future<ListTableVersionsOutcome> ListTableVersionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListTableVersionsRequest&, const ListTableVersionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTableVersionsAsyncHandler;
+			typedef Outcome<Error, Model::ListTablesResult> ListTablesOutcome;
+			typedef std::future<ListTablesOutcome> ListTablesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListTablesRequest&, const ListTablesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTablesAsyncHandler;
+			typedef Outcome<Error, Model::ListUserRolesResult> ListUserRolesOutcome;
+			typedef std::future<ListUserRolesOutcome> ListUserRolesOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::ListUserRolesRequest&, const ListUserRolesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserRolesAsyncHandler;
+			typedef Outcome<Error, Model::RefreshLockResult> RefreshLockOutcome;
+			typedef std::future<RefreshLockOutcome> RefreshLockOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RefreshLockRequest&, const RefreshLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RefreshLockAsyncHandler;
+			typedef Outcome<Error, Model::RegisterLocationResult> RegisterLocationOutcome;
+			typedef std::future<RegisterLocationOutcome> RegisterLocationOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RegisterLocationRequest&, const RegisterLocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegisterLocationAsyncHandler;
+			typedef Outcome<Error, Model::RenamePartitionResult> RenamePartitionOutcome;
+			typedef std::future<RenamePartitionOutcome> RenamePartitionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RenamePartitionRequest&, const RenamePartitionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenamePartitionAsyncHandler;
+			typedef Outcome<Error, Model::RenameTableResult> RenameTableOutcome;
+			typedef std::future<RenameTableOutcome> RenameTableOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RenameTableRequest&, const RenameTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenameTableAsyncHandler;
+			typedef Outcome<Error, Model::RevokePermissionsResult> RevokePermissionsOutcome;
+			typedef std::future<RevokePermissionsOutcome> RevokePermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RevokePermissionsRequest&, const RevokePermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RevokePermissionsAsyncHandler;
+			typedef Outcome<Error, Model::RevokeRoleFromUsersResult> RevokeRoleFromUsersOutcome;
+			typedef std::future<RevokeRoleFromUsersOutcome> RevokeRoleFromUsersOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RevokeRoleFromUsersRequest&, const RevokeRoleFromUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RevokeRoleFromUsersAsyncHandler;
+			typedef Outcome<Error, Model::RevokeRolesFromUserResult> RevokeRolesFromUserOutcome;
+			typedef std::future<RevokeRolesFromUserOutcome> RevokeRolesFromUserOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RevokeRolesFromUserRequest&, const RevokeRolesFromUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RevokeRolesFromUserAsyncHandler;
+			typedef Outcome<Error, Model::RunMigrationWorkflowResult> RunMigrationWorkflowOutcome;
+			typedef std::future<RunMigrationWorkflowOutcome> RunMigrationWorkflowOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::RunMigrationWorkflowRequest&, const RunMigrationWorkflowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RunMigrationWorkflowAsyncHandler;
+			typedef Outcome<Error, Model::SearchResult> SearchOutcome;
+			typedef std::future<SearchOutcome> SearchOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::SearchRequest&, const SearchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchAsyncHandler;
+			typedef Outcome<Error, Model::SearchAcrossCatalogResult> SearchAcrossCatalogOutcome;
+			typedef std::future<SearchAcrossCatalogOutcome> SearchAcrossCatalogOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::SearchAcrossCatalogRequest&, const SearchAcrossCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchAcrossCatalogAsyncHandler;
+			typedef Outcome<Error, Model::StopMigrationWorkflowResult> StopMigrationWorkflowOutcome;
+			typedef std::future<StopMigrationWorkflowOutcome> StopMigrationWorkflowOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::StopMigrationWorkflowRequest&, const StopMigrationWorkflowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopMigrationWorkflowAsyncHandler;
+			typedef Outcome<Error, Model::SubmitQueryResult> SubmitQueryOutcome;
+			typedef std::future<SubmitQueryOutcome> SubmitQueryOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::SubmitQueryRequest&, const SubmitQueryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitQueryAsyncHandler;
+			typedef Outcome<Error, Model::UnLockResult> UnLockOutcome;
+			typedef std::future<UnLockOutcome> UnLockOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UnLockRequest&, const UnLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnLockAsyncHandler;
+			typedef Outcome<Error, Model::UpdateCatalogResult> UpdateCatalogOutcome;
+			typedef std::future<UpdateCatalogOutcome> UpdateCatalogOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateCatalogRequest&, const UpdateCatalogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCatalogAsyncHandler;
+			typedef Outcome<Error, Model::UpdateCatalogSettingsResult> UpdateCatalogSettingsOutcome;
+			typedef std::future<UpdateCatalogSettingsOutcome> UpdateCatalogSettingsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateCatalogSettingsRequest&, const UpdateCatalogSettingsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCatalogSettingsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDatabaseResult> UpdateDatabaseOutcome;
+			typedef std::future<UpdateDatabaseOutcome> UpdateDatabaseOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateDatabaseRequest&, const UpdateDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDatabaseAsyncHandler;
+			typedef Outcome<Error, Model::UpdateFunctionResult> UpdateFunctionOutcome;
+			typedef std::future<UpdateFunctionOutcome> UpdateFunctionOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateFunctionRequest&, const UpdateFunctionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateFunctionAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePartitionColumnStatisticsResult> UpdatePartitionColumnStatisticsOutcome;
+			typedef std::future<UpdatePartitionColumnStatisticsOutcome> UpdatePartitionColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdatePartitionColumnStatisticsRequest&, const UpdatePartitionColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePartitionColumnStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePermissionsResult> UpdatePermissionsOutcome;
+			typedef std::future<UpdatePermissionsOutcome> UpdatePermissionsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdatePermissionsRequest&, const UpdatePermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePermissionsAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRegisteredLocationResult> UpdateRegisteredLocationOutcome;
+			typedef std::future<UpdateRegisteredLocationOutcome> UpdateRegisteredLocationOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateRegisteredLocationRequest&, const UpdateRegisteredLocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRegisteredLocationAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRoleResult> UpdateRoleOutcome;
+			typedef std::future<UpdateRoleOutcome> UpdateRoleOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateRoleRequest&, const UpdateRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRoleAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRoleUsersResult> UpdateRoleUsersOutcome;
+			typedef std::future<UpdateRoleUsersOutcome> UpdateRoleUsersOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateRoleUsersRequest&, const UpdateRoleUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRoleUsersAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTableResult> UpdateTableOutcome;
+			typedef std::future<UpdateTableOutcome> UpdateTableOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateTableRequest&, const UpdateTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTableAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTableColumnStatisticsResult> UpdateTableColumnStatisticsOutcome;
+			typedef std::future<UpdateTableColumnStatisticsOutcome> UpdateTableColumnStatisticsOutcomeCallable;
+			typedef std::function<void(const DataLakeClient*, const Model::UpdateTableColumnStatisticsRequest&, const UpdateTableColumnStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTableColumnStatisticsAsyncHandler;
+
+			DataLakeClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			DataLakeClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			DataLakeClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~DataLakeClient();
+			AbortLockOutcome abortLock(const Model::AbortLockRequest &request)const;
+			void abortLockAsync(const Model::AbortLockRequest& request, const AbortLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AbortLockOutcomeCallable abortLockCallable(const Model::AbortLockRequest& request) const;
+			BatchCreatePartitionsOutcome batchCreatePartitions(const Model::BatchCreatePartitionsRequest &request)const;
+			void batchCreatePartitionsAsync(const Model::BatchCreatePartitionsRequest& request, const BatchCreatePartitionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchCreatePartitionsOutcomeCallable batchCreatePartitionsCallable(const Model::BatchCreatePartitionsRequest& request) const;
+			BatchCreateTablesOutcome batchCreateTables(const Model::BatchCreateTablesRequest &request)const;
+			void batchCreateTablesAsync(const Model::BatchCreateTablesRequest& request, const BatchCreateTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchCreateTablesOutcomeCallable batchCreateTablesCallable(const Model::BatchCreateTablesRequest& request) const;
+			BatchDeletePartitionsOutcome batchDeletePartitions(const Model::BatchDeletePartitionsRequest &request)const;
+			void batchDeletePartitionsAsync(const Model::BatchDeletePartitionsRequest& request, const BatchDeletePartitionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchDeletePartitionsOutcomeCallable batchDeletePartitionsCallable(const Model::BatchDeletePartitionsRequest& request) const;
+			BatchDeleteTableVersionsOutcome batchDeleteTableVersions(const Model::BatchDeleteTableVersionsRequest &request)const;
+			void batchDeleteTableVersionsAsync(const Model::BatchDeleteTableVersionsRequest& request, const BatchDeleteTableVersionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchDeleteTableVersionsOutcomeCallable batchDeleteTableVersionsCallable(const Model::BatchDeleteTableVersionsRequest& request) const;
+			BatchDeleteTablesOutcome batchDeleteTables(const Model::BatchDeleteTablesRequest &request)const;
+			void batchDeleteTablesAsync(const Model::BatchDeleteTablesRequest& request, const BatchDeleteTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchDeleteTablesOutcomeCallable batchDeleteTablesCallable(const Model::BatchDeleteTablesRequest& request) const;
+			BatchGetPartitionColumnStatisticsOutcome batchGetPartitionColumnStatistics(const Model::BatchGetPartitionColumnStatisticsRequest &request)const;
+			void batchGetPartitionColumnStatisticsAsync(const Model::BatchGetPartitionColumnStatisticsRequest& request, const BatchGetPartitionColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchGetPartitionColumnStatisticsOutcomeCallable batchGetPartitionColumnStatisticsCallable(const Model::BatchGetPartitionColumnStatisticsRequest& request) const;
+			BatchGetPartitionsOutcome batchGetPartitions(const Model::BatchGetPartitionsRequest &request)const;
+			void batchGetPartitionsAsync(const Model::BatchGetPartitionsRequest& request, const BatchGetPartitionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchGetPartitionsOutcomeCallable batchGetPartitionsCallable(const Model::BatchGetPartitionsRequest& request) const;
+			BatchGetTablesOutcome batchGetTables(const Model::BatchGetTablesRequest &request)const;
+			void batchGetTablesAsync(const Model::BatchGetTablesRequest& request, const BatchGetTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchGetTablesOutcomeCallable batchGetTablesCallable(const Model::BatchGetTablesRequest& request) const;
+			BatchGrantPermissionsOutcome batchGrantPermissions(const Model::BatchGrantPermissionsRequest &request)const;
+			void batchGrantPermissionsAsync(const Model::BatchGrantPermissionsRequest& request, const BatchGrantPermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchGrantPermissionsOutcomeCallable batchGrantPermissionsCallable(const Model::BatchGrantPermissionsRequest& request) const;
+			BatchRevokePermissionsOutcome batchRevokePermissions(const Model::BatchRevokePermissionsRequest &request)const;
+			void batchRevokePermissionsAsync(const Model::BatchRevokePermissionsRequest& request, const BatchRevokePermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchRevokePermissionsOutcomeCallable batchRevokePermissionsCallable(const Model::BatchRevokePermissionsRequest& request) const;
+			BatchUpdatePartitionsOutcome batchUpdatePartitions(const Model::BatchUpdatePartitionsRequest &request)const;
+			void batchUpdatePartitionsAsync(const Model::BatchUpdatePartitionsRequest& request, const BatchUpdatePartitionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchUpdatePartitionsOutcomeCallable batchUpdatePartitionsCallable(const Model::BatchUpdatePartitionsRequest& request) const;
+			BatchUpdateTablesOutcome batchUpdateTables(const Model::BatchUpdateTablesRequest &request)const;
+			void batchUpdateTablesAsync(const Model::BatchUpdateTablesRequest& request, const BatchUpdateTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchUpdateTablesOutcomeCallable batchUpdateTablesCallable(const Model::BatchUpdateTablesRequest& request) const;
+			CancelQueryOutcome cancelQuery(const Model::CancelQueryRequest &request)const;
+			void cancelQueryAsync(const Model::CancelQueryRequest& request, const CancelQueryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelQueryOutcomeCallable cancelQueryCallable(const Model::CancelQueryRequest& request) const;
+			CheckPermissionsOutcome checkPermissions(const Model::CheckPermissionsRequest &request)const;
+			void checkPermissionsAsync(const Model::CheckPermissionsRequest& request, const CheckPermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckPermissionsOutcomeCallable checkPermissionsCallable(const Model::CheckPermissionsRequest& request) const;
+			CreateCatalogOutcome createCatalog(const Model::CreateCatalogRequest &request)const;
+			void createCatalogAsync(const Model::CreateCatalogRequest& request, const CreateCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateCatalogOutcomeCallable createCatalogCallable(const Model::CreateCatalogRequest& request) const;
+			CreateDatabaseOutcome createDatabase(const Model::CreateDatabaseRequest &request)const;
+			void createDatabaseAsync(const Model::CreateDatabaseRequest& request, const CreateDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDatabaseOutcomeCallable createDatabaseCallable(const Model::CreateDatabaseRequest& request) const;
+			CreateFunctionOutcome createFunction(const Model::CreateFunctionRequest &request)const;
+			void createFunctionAsync(const Model::CreateFunctionRequest& request, const CreateFunctionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFunctionOutcomeCallable createFunctionCallable(const Model::CreateFunctionRequest& request) const;
+			CreateLockOutcome createLock(const Model::CreateLockRequest &request)const;
+			void createLockAsync(const Model::CreateLockRequest& request, const CreateLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLockOutcomeCallable createLockCallable(const Model::CreateLockRequest& request) const;
+			CreatePartitionOutcome createPartition(const Model::CreatePartitionRequest &request)const;
+			void createPartitionAsync(const Model::CreatePartitionRequest& request, const CreatePartitionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePartitionOutcomeCallable createPartitionCallable(const Model::CreatePartitionRequest& request) const;
+			CreateRoleOutcome createRole(const Model::CreateRoleRequest &request)const;
+			void createRoleAsync(const Model::CreateRoleRequest& request, const CreateRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRoleOutcomeCallable createRoleCallable(const Model::CreateRoleRequest& request) const;
+			CreateTableOutcome createTable(const Model::CreateTableRequest &request)const;
+			void createTableAsync(const Model::CreateTableRequest& request, const CreateTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateTableOutcomeCallable createTableCallable(const Model::CreateTableRequest& request) const;
+			DeleteCatalogOutcome deleteCatalog(const Model::DeleteCatalogRequest &request)const;
+			void deleteCatalogAsync(const Model::DeleteCatalogRequest& request, const DeleteCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteCatalogOutcomeCallable deleteCatalogCallable(const Model::DeleteCatalogRequest& request) const;
+			DeleteDatabaseOutcome deleteDatabase(const Model::DeleteDatabaseRequest &request)const;
+			void deleteDatabaseAsync(const Model::DeleteDatabaseRequest& request, const DeleteDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDatabaseOutcomeCallable deleteDatabaseCallable(const Model::DeleteDatabaseRequest& request) const;
+			DeleteFunctionOutcome deleteFunction(const Model::DeleteFunctionRequest &request)const;
+			void deleteFunctionAsync(const Model::DeleteFunctionRequest& request, const DeleteFunctionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFunctionOutcomeCallable deleteFunctionCallable(const Model::DeleteFunctionRequest& request) const;
+			DeletePartitionOutcome deletePartition(const Model::DeletePartitionRequest &request)const;
+			void deletePartitionAsync(const Model::DeletePartitionRequest& request, const DeletePartitionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePartitionOutcomeCallable deletePartitionCallable(const Model::DeletePartitionRequest& request) const;
+			DeletePartitionColumnStatisticsOutcome deletePartitionColumnStatistics(const Model::DeletePartitionColumnStatisticsRequest &request)const;
+			void deletePartitionColumnStatisticsAsync(const Model::DeletePartitionColumnStatisticsRequest& request, const DeletePartitionColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePartitionColumnStatisticsOutcomeCallable deletePartitionColumnStatisticsCallable(const Model::DeletePartitionColumnStatisticsRequest& request) const;
+			DeleteRoleOutcome deleteRole(const Model::DeleteRoleRequest &request)const;
+			void deleteRoleAsync(const Model::DeleteRoleRequest& request, const DeleteRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteRoleOutcomeCallable deleteRoleCallable(const Model::DeleteRoleRequest& request) const;
+			DeleteTableOutcome deleteTable(const Model::DeleteTableRequest &request)const;
+			void deleteTableAsync(const Model::DeleteTableRequest& request, const DeleteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTableOutcomeCallable deleteTableCallable(const Model::DeleteTableRequest& request) const;
+			DeleteTableColumnStatisticsOutcome deleteTableColumnStatistics(const Model::DeleteTableColumnStatisticsRequest &request)const;
+			void deleteTableColumnStatisticsAsync(const Model::DeleteTableColumnStatisticsRequest& request, const DeleteTableColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTableColumnStatisticsOutcomeCallable deleteTableColumnStatisticsCallable(const Model::DeleteTableColumnStatisticsRequest& request) const;
+			DeleteTableVersionOutcome deleteTableVersion(const Model::DeleteTableVersionRequest &request)const;
+			void deleteTableVersionAsync(const Model::DeleteTableVersionRequest& request, const DeleteTableVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTableVersionOutcomeCallable deleteTableVersionCallable(const Model::DeleteTableVersionRequest& request) const;
+			DeregisterLocationOutcome deregisterLocation(const Model::DeregisterLocationRequest &request)const;
+			void deregisterLocationAsync(const Model::DeregisterLocationRequest& request, const DeregisterLocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeregisterLocationOutcomeCallable deregisterLocationCallable(const Model::DeregisterLocationRequest& request) const;
+			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
+			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
+			GetAsyncTaskStatusOutcome getAsyncTaskStatus(const Model::GetAsyncTaskStatusRequest &request)const;
+			void getAsyncTaskStatusAsync(const Model::GetAsyncTaskStatusRequest& request, const GetAsyncTaskStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAsyncTaskStatusOutcomeCallable getAsyncTaskStatusCallable(const Model::GetAsyncTaskStatusRequest& request) const;
+			GetCatalogOutcome getCatalog(const Model::GetCatalogRequest &request)const;
+			void getCatalogAsync(const Model::GetCatalogRequest& request, const GetCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCatalogOutcomeCallable getCatalogCallable(const Model::GetCatalogRequest& request) const;
+			GetCatalogSettingsOutcome getCatalogSettings(const Model::GetCatalogSettingsRequest &request)const;
+			void getCatalogSettingsAsync(const Model::GetCatalogSettingsRequest& request, const GetCatalogSettingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCatalogSettingsOutcomeCallable getCatalogSettingsCallable(const Model::GetCatalogSettingsRequest& request) const;
+			GetDatabaseOutcome getDatabase(const Model::GetDatabaseRequest &request)const;
+			void getDatabaseAsync(const Model::GetDatabaseRequest& request, const GetDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDatabaseOutcomeCallable getDatabaseCallable(const Model::GetDatabaseRequest& request) const;
+			GetFunctionOutcome getFunction(const Model::GetFunctionRequest &request)const;
+			void getFunctionAsync(const Model::GetFunctionRequest& request, const GetFunctionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetFunctionOutcomeCallable getFunctionCallable(const Model::GetFunctionRequest& request) const;
+			GetLockOutcome getLock(const Model::GetLockRequest &request)const;
+			void getLockAsync(const Model::GetLockRequest& request, const GetLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetLockOutcomeCallable getLockCallable(const Model::GetLockRequest& request) const;
+			GetPartitionOutcome getPartition(const Model::GetPartitionRequest &request)const;
+			void getPartitionAsync(const Model::GetPartitionRequest& request, const GetPartitionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPartitionOutcomeCallable getPartitionCallable(const Model::GetPartitionRequest& request) const;
+			GetPartitionColumnStatisticsOutcome getPartitionColumnStatistics(const Model::GetPartitionColumnStatisticsRequest &request)const;
+			void getPartitionColumnStatisticsAsync(const Model::GetPartitionColumnStatisticsRequest& request, const GetPartitionColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPartitionColumnStatisticsOutcomeCallable getPartitionColumnStatisticsCallable(const Model::GetPartitionColumnStatisticsRequest& request) const;
+			GetQueryResultOutcome getQueryResult(const Model::GetQueryResultRequest &request)const;
+			void getQueryResultAsync(const Model::GetQueryResultRequest& request, const GetQueryResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetQueryResultOutcomeCallable getQueryResultCallable(const Model::GetQueryResultRequest& request) const;
+			GetRegionStatusOutcome getRegionStatus(const Model::GetRegionStatusRequest &request)const;
+			void getRegionStatusAsync(const Model::GetRegionStatusRequest& request, const GetRegionStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetRegionStatusOutcomeCallable getRegionStatusCallable(const Model::GetRegionStatusRequest& request) const;
+			GetRoleOutcome getRole(const Model::GetRoleRequest &request)const;
+			void getRoleAsync(const Model::GetRoleRequest& request, const GetRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetRoleOutcomeCallable getRoleCallable(const Model::GetRoleRequest& request) const;
+			GetServiceStatusOutcome getServiceStatus(const Model::GetServiceStatusRequest &request)const;
+			void getServiceStatusAsync(const Model::GetServiceStatusRequest& request, const GetServiceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetServiceStatusOutcomeCallable getServiceStatusCallable(const Model::GetServiceStatusRequest& request) const;
+			GetTableOutcome getTable(const Model::GetTableRequest &request)const;
+			void getTableAsync(const Model::GetTableRequest& request, const GetTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetTableOutcomeCallable getTableCallable(const Model::GetTableRequest& request) const;
+			GetTableColumnStatisticsOutcome getTableColumnStatistics(const Model::GetTableColumnStatisticsRequest &request)const;
+			void getTableColumnStatisticsAsync(const Model::GetTableColumnStatisticsRequest& request, const GetTableColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetTableColumnStatisticsOutcomeCallable getTableColumnStatisticsCallable(const Model::GetTableColumnStatisticsRequest& request) const;
+			GetTableProfileOutcome getTableProfile(const Model::GetTableProfileRequest &request)const;
+			void getTableProfileAsync(const Model::GetTableProfileRequest& request, const GetTableProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetTableProfileOutcomeCallable getTableProfileCallable(const Model::GetTableProfileRequest& request) const;
+			GetTableVersionOutcome getTableVersion(const Model::GetTableVersionRequest &request)const;
+			void getTableVersionAsync(const Model::GetTableVersionRequest& request, const GetTableVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetTableVersionOutcomeCallable getTableVersionCallable(const Model::GetTableVersionRequest& request) const;
+			GrantPermissionsOutcome grantPermissions(const Model::GrantPermissionsRequest &request)const;
+			void grantPermissionsAsync(const Model::GrantPermissionsRequest& request, const GrantPermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GrantPermissionsOutcomeCallable grantPermissionsCallable(const Model::GrantPermissionsRequest& request) const;
+			GrantRoleToUsersOutcome grantRoleToUsers(const Model::GrantRoleToUsersRequest &request)const;
+			void grantRoleToUsersAsync(const Model::GrantRoleToUsersRequest& request, const GrantRoleToUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GrantRoleToUsersOutcomeCallable grantRoleToUsersCallable(const Model::GrantRoleToUsersRequest& request) const;
+			GrantRolesToUserOutcome grantRolesToUser(const Model::GrantRolesToUserRequest &request)const;
+			void grantRolesToUserAsync(const Model::GrantRolesToUserRequest& request, const GrantRolesToUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GrantRolesToUserOutcomeCallable grantRolesToUserCallable(const Model::GrantRolesToUserRequest& request) const;
+			ListCatalogsOutcome listCatalogs(const Model::ListCatalogsRequest &request)const;
+			void listCatalogsAsync(const Model::ListCatalogsRequest& request, const ListCatalogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCatalogsOutcomeCallable listCatalogsCallable(const Model::ListCatalogsRequest& request) const;
+			ListDatabasesOutcome listDatabases(const Model::ListDatabasesRequest &request)const;
+			void listDatabasesAsync(const Model::ListDatabasesRequest& request, const ListDatabasesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDatabasesOutcomeCallable listDatabasesCallable(const Model::ListDatabasesRequest& request) const;
+			ListFunctionNamesOutcome listFunctionNames(const Model::ListFunctionNamesRequest &request)const;
+			void listFunctionNamesAsync(const Model::ListFunctionNamesRequest& request, const ListFunctionNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListFunctionNamesOutcomeCallable listFunctionNamesCallable(const Model::ListFunctionNamesRequest& request) const;
+			ListFunctionsOutcome listFunctions(const Model::ListFunctionsRequest &request)const;
+			void listFunctionsAsync(const Model::ListFunctionsRequest& request, const ListFunctionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListFunctionsOutcomeCallable listFunctionsCallable(const Model::ListFunctionsRequest& request) const;
+			ListPartitionNamesOutcome listPartitionNames(const Model::ListPartitionNamesRequest &request)const;
+			void listPartitionNamesAsync(const Model::ListPartitionNamesRequest& request, const ListPartitionNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPartitionNamesOutcomeCallable listPartitionNamesCallable(const Model::ListPartitionNamesRequest& request) const;
+			ListPartitionsOutcome listPartitions(const Model::ListPartitionsRequest &request)const;
+			void listPartitionsAsync(const Model::ListPartitionsRequest& request, const ListPartitionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPartitionsOutcomeCallable listPartitionsCallable(const Model::ListPartitionsRequest& request) const;
+			ListPartitionsByExprOutcome listPartitionsByExpr(const Model::ListPartitionsByExprRequest &request)const;
+			void listPartitionsByExprAsync(const Model::ListPartitionsByExprRequest& request, const ListPartitionsByExprAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPartitionsByExprOutcomeCallable listPartitionsByExprCallable(const Model::ListPartitionsByExprRequest& request) const;
+			ListPartitionsByFilterOutcome listPartitionsByFilter(const Model::ListPartitionsByFilterRequest &request)const;
+			void listPartitionsByFilterAsync(const Model::ListPartitionsByFilterRequest& request, const ListPartitionsByFilterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPartitionsByFilterOutcomeCallable listPartitionsByFilterCallable(const Model::ListPartitionsByFilterRequest& request) const;
+			ListPermissionsOutcome listPermissions(const Model::ListPermissionsRequest &request)const;
+			void listPermissionsAsync(const Model::ListPermissionsRequest& request, const ListPermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPermissionsOutcomeCallable listPermissionsCallable(const Model::ListPermissionsRequest& request) const;
+			ListRoleUsersOutcome listRoleUsers(const Model::ListRoleUsersRequest &request)const;
+			void listRoleUsersAsync(const Model::ListRoleUsersRequest& request, const ListRoleUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRoleUsersOutcomeCallable listRoleUsersCallable(const Model::ListRoleUsersRequest& request) const;
+			ListRolesOutcome listRoles(const Model::ListRolesRequest &request)const;
+			void listRolesAsync(const Model::ListRolesRequest& request, const ListRolesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRolesOutcomeCallable listRolesCallable(const Model::ListRolesRequest& request) const;
+			ListTableNamesOutcome listTableNames(const Model::ListTableNamesRequest &request)const;
+			void listTableNamesAsync(const Model::ListTableNamesRequest& request, const ListTableNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTableNamesOutcomeCallable listTableNamesCallable(const Model::ListTableNamesRequest& request) const;
+			ListTableVersionsOutcome listTableVersions(const Model::ListTableVersionsRequest &request)const;
+			void listTableVersionsAsync(const Model::ListTableVersionsRequest& request, const ListTableVersionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTableVersionsOutcomeCallable listTableVersionsCallable(const Model::ListTableVersionsRequest& request) const;
+			ListTablesOutcome listTables(const Model::ListTablesRequest &request)const;
+			void listTablesAsync(const Model::ListTablesRequest& request, const ListTablesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTablesOutcomeCallable listTablesCallable(const Model::ListTablesRequest& request) const;
+			ListUserRolesOutcome listUserRoles(const Model::ListUserRolesRequest &request)const;
+			void listUserRolesAsync(const Model::ListUserRolesRequest& request, const ListUserRolesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUserRolesOutcomeCallable listUserRolesCallable(const Model::ListUserRolesRequest& request) const;
+			RefreshLockOutcome refreshLock(const Model::RefreshLockRequest &request)const;
+			void refreshLockAsync(const Model::RefreshLockRequest& request, const RefreshLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RefreshLockOutcomeCallable refreshLockCallable(const Model::RefreshLockRequest& request) const;
+			RegisterLocationOutcome registerLocation(const Model::RegisterLocationRequest &request)const;
+			void registerLocationAsync(const Model::RegisterLocationRequest& request, const RegisterLocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RegisterLocationOutcomeCallable registerLocationCallable(const Model::RegisterLocationRequest& request) const;
+			RenamePartitionOutcome renamePartition(const Model::RenamePartitionRequest &request)const;
+			void renamePartitionAsync(const Model::RenamePartitionRequest& request, const RenamePartitionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RenamePartitionOutcomeCallable renamePartitionCallable(const Model::RenamePartitionRequest& request) const;
+			RenameTableOutcome renameTable(const Model::RenameTableRequest &request)const;
+			void renameTableAsync(const Model::RenameTableRequest& request, const RenameTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RenameTableOutcomeCallable renameTableCallable(const Model::RenameTableRequest& request) const;
+			RevokePermissionsOutcome revokePermissions(const Model::RevokePermissionsRequest &request)const;
+			void revokePermissionsAsync(const Model::RevokePermissionsRequest& request, const RevokePermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RevokePermissionsOutcomeCallable revokePermissionsCallable(const Model::RevokePermissionsRequest& request) const;
+			RevokeRoleFromUsersOutcome revokeRoleFromUsers(const Model::RevokeRoleFromUsersRequest &request)const;
+			void revokeRoleFromUsersAsync(const Model::RevokeRoleFromUsersRequest& request, const RevokeRoleFromUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RevokeRoleFromUsersOutcomeCallable revokeRoleFromUsersCallable(const Model::RevokeRoleFromUsersRequest& request) const;
+			RevokeRolesFromUserOutcome revokeRolesFromUser(const Model::RevokeRolesFromUserRequest &request)const;
+			void revokeRolesFromUserAsync(const Model::RevokeRolesFromUserRequest& request, const RevokeRolesFromUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RevokeRolesFromUserOutcomeCallable revokeRolesFromUserCallable(const Model::RevokeRolesFromUserRequest& request) const;
+			RunMigrationWorkflowOutcome runMigrationWorkflow(const Model::RunMigrationWorkflowRequest &request)const;
+			void runMigrationWorkflowAsync(const Model::RunMigrationWorkflowRequest& request, const RunMigrationWorkflowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RunMigrationWorkflowOutcomeCallable runMigrationWorkflowCallable(const Model::RunMigrationWorkflowRequest& request) const;
+			SearchOutcome search(const Model::SearchRequest &request)const;
+			void searchAsync(const Model::SearchRequest& request, const SearchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SearchOutcomeCallable searchCallable(const Model::SearchRequest& request) const;
+			SearchAcrossCatalogOutcome searchAcrossCatalog(const Model::SearchAcrossCatalogRequest &request)const;
+			void searchAcrossCatalogAsync(const Model::SearchAcrossCatalogRequest& request, const SearchAcrossCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SearchAcrossCatalogOutcomeCallable searchAcrossCatalogCallable(const Model::SearchAcrossCatalogRequest& request) const;
+			StopMigrationWorkflowOutcome stopMigrationWorkflow(const Model::StopMigrationWorkflowRequest &request)const;
+			void stopMigrationWorkflowAsync(const Model::StopMigrationWorkflowRequest& request, const StopMigrationWorkflowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopMigrationWorkflowOutcomeCallable stopMigrationWorkflowCallable(const Model::StopMigrationWorkflowRequest& request) const;
+			SubmitQueryOutcome submitQuery(const Model::SubmitQueryRequest &request)const;
+			void submitQueryAsync(const Model::SubmitQueryRequest& request, const SubmitQueryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SubmitQueryOutcomeCallable submitQueryCallable(const Model::SubmitQueryRequest& request) const;
+			UnLockOutcome unLock(const Model::UnLockRequest &request)const;
+			void unLockAsync(const Model::UnLockRequest& request, const UnLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnLockOutcomeCallable unLockCallable(const Model::UnLockRequest& request) const;
+			UpdateCatalogOutcome updateCatalog(const Model::UpdateCatalogRequest &request)const;
+			void updateCatalogAsync(const Model::UpdateCatalogRequest& request, const UpdateCatalogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateCatalogOutcomeCallable updateCatalogCallable(const Model::UpdateCatalogRequest& request) const;
+			UpdateCatalogSettingsOutcome updateCatalogSettings(const Model::UpdateCatalogSettingsRequest &request)const;
+			void updateCatalogSettingsAsync(const Model::UpdateCatalogSettingsRequest& request, const UpdateCatalogSettingsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateCatalogSettingsOutcomeCallable updateCatalogSettingsCallable(const Model::UpdateCatalogSettingsRequest& request) const;
+			UpdateDatabaseOutcome updateDatabase(const Model::UpdateDatabaseRequest &request)const;
+			void updateDatabaseAsync(const Model::UpdateDatabaseRequest& request, const UpdateDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDatabaseOutcomeCallable updateDatabaseCallable(const Model::UpdateDatabaseRequest& request) const;
+			UpdateFunctionOutcome updateFunction(const Model::UpdateFunctionRequest &request)const;
+			void updateFunctionAsync(const Model::UpdateFunctionRequest& request, const UpdateFunctionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateFunctionOutcomeCallable updateFunctionCallable(const Model::UpdateFunctionRequest& request) const;
+			UpdatePartitionColumnStatisticsOutcome updatePartitionColumnStatistics(const Model::UpdatePartitionColumnStatisticsRequest &request)const;
+			void updatePartitionColumnStatisticsAsync(const Model::UpdatePartitionColumnStatisticsRequest& request, const UpdatePartitionColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePartitionColumnStatisticsOutcomeCallable updatePartitionColumnStatisticsCallable(const Model::UpdatePartitionColumnStatisticsRequest& request) const;
+			UpdatePermissionsOutcome updatePermissions(const Model::UpdatePermissionsRequest &request)const;
+			void updatePermissionsAsync(const Model::UpdatePermissionsRequest& request, const UpdatePermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePermissionsOutcomeCallable updatePermissionsCallable(const Model::UpdatePermissionsRequest& request) const;
+			UpdateRegisteredLocationOutcome updateRegisteredLocation(const Model::UpdateRegisteredLocationRequest &request)const;
+			void updateRegisteredLocationAsync(const Model::UpdateRegisteredLocationRequest& request, const UpdateRegisteredLocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRegisteredLocationOutcomeCallable updateRegisteredLocationCallable(const Model::UpdateRegisteredLocationRequest& request) const;
+			UpdateRoleOutcome updateRole(const Model::UpdateRoleRequest &request)const;
+			void updateRoleAsync(const Model::UpdateRoleRequest& request, const UpdateRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRoleOutcomeCallable updateRoleCallable(const Model::UpdateRoleRequest& request) const;
+			UpdateRoleUsersOutcome updateRoleUsers(const Model::UpdateRoleUsersRequest &request)const;
+			void updateRoleUsersAsync(const Model::UpdateRoleUsersRequest& request, const UpdateRoleUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRoleUsersOutcomeCallable updateRoleUsersCallable(const Model::UpdateRoleUsersRequest& request) const;
+			UpdateTableOutcome updateTable(const Model::UpdateTableRequest &request)const;
+			void updateTableAsync(const Model::UpdateTableRequest& request, const UpdateTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTableOutcomeCallable updateTableCallable(const Model::UpdateTableRequest& request) const;
+			UpdateTableColumnStatisticsOutcome updateTableColumnStatistics(const Model::UpdateTableColumnStatisticsRequest &request)const;
+			void updateTableColumnStatisticsAsync(const Model::UpdateTableColumnStatisticsRequest& request, const UpdateTableColumnStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTableColumnStatisticsOutcomeCallable updateTableColumnStatisticsCallable(const Model::UpdateTableColumnStatisticsRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_DATALAKE_DATALAKECLIENT_H_

+ 32 - 0
datalake/include/alibabacloud/datalake/DataLakeExport.h

@@ -0,0 +1,32 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_DATALAKEEXPORT_H_
+#define ALIBABACLOUD_DATALAKE_DATALAKEEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_DATALAKE_LIBRARY)
+#		define ALIBABACLOUD_DATALAKE_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_DATALAKE_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_DATALAKE_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_DATALAKE_DATALAKEEXPORT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/AbortLockRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT AbortLockRequest : public RoaServiceRequest {
+public:
+	AbortLockRequest();
+	~AbortLockRequest();
+	long getLockId() const;
+	void setLockId(long lockId);
+
+private:
+	long lockId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/AbortLockResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT AbortLockResult : public ServiceResult
+			{
+			public:
+
+
+				AbortLockResult();
+				explicit AbortLockResult(const std::string &payload);
+				~AbortLockResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_ABORTLOCKRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchCreatePartitionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchCreatePartitionsRequest : public RoaServiceRequest {
+public:
+	BatchCreatePartitionsRequest();
+	~BatchCreatePartitionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSREQUEST_H_

+ 126 - 0
datalake/include/alibabacloud/datalake/model/BatchCreatePartitionsResult.h

@@ -0,0 +1,126 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchCreatePartitionsResult : public ServiceResult
+			{
+			public:
+				struct PartitionError
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::vector<std::string> partitionValues;
+				};
+				struct PartitionsItem
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					Sd sd;
+					std::string tableName;
+					std::string parameters;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					int createTime;
+					std::string databaseName;
+					std::vector<std::string> values;
+					int lastAccessTime;
+				};
+
+
+				BatchCreatePartitionsResult();
+				explicit BatchCreatePartitionsResult(const std::string &payload);
+				~BatchCreatePartitionsResult();
+				std::vector<PartitionsItem> getPartitions()const;
+				std::string getMessage()const;
+				std::vector<PartitionError> getPartitionErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PartitionsItem> partitions_;
+				std::string message_;
+				std::vector<PartitionError> partitionErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATEPARTITIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchCreateTablesRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchCreateTablesRequest : public RoaServiceRequest {
+public:
+	BatchCreateTablesRequest();
+	~BatchCreateTablesRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESREQUEST_H_

+ 67 - 0
datalake/include/alibabacloud/datalake/model/BatchCreateTablesResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchCreateTablesResult : public ServiceResult
+			{
+			public:
+				struct TableError
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::string tableName;
+				};
+
+
+				BatchCreateTablesResult();
+				explicit BatchCreateTablesResult(const std::string &payload);
+				~BatchCreateTablesResult();
+				std::string getMessage()const;
+				std::vector<TableError> getTableErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<TableError> tableErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHCREATETABLESRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchDeletePartitionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchDeletePartitionsRequest : public RoaServiceRequest {
+public:
+	BatchDeletePartitionsRequest();
+	~BatchDeletePartitionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSREQUEST_H_

+ 67 - 0
datalake/include/alibabacloud/datalake/model/BatchDeletePartitionsResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchDeletePartitionsResult : public ServiceResult
+			{
+			public:
+				struct PartitionErrorsItem
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::vector<std::string> partitionValues;
+				};
+
+
+				BatchDeletePartitionsResult();
+				explicit BatchDeletePartitionsResult(const std::string &payload);
+				~BatchDeletePartitionsResult();
+				std::string getMessage()const;
+				std::vector<PartitionErrorsItem> getPartitionErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<PartitionErrorsItem> partitionErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETEPARTITIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchDeleteTableVersionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchDeleteTableVersionsRequest : public RoaServiceRequest {
+public:
+	BatchDeleteTableVersionsRequest();
+	~BatchDeleteTableVersionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/BatchDeleteTableVersionsResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchDeleteTableVersionsResult : public ServiceResult
+			{
+			public:
+
+
+				BatchDeleteTableVersionsResult();
+				explicit BatchDeleteTableVersionsResult(const std::string &payload);
+				~BatchDeleteTableVersionsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLEVERSIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchDeleteTablesRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchDeleteTablesRequest : public RoaServiceRequest {
+public:
+	BatchDeleteTablesRequest();
+	~BatchDeleteTablesRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESREQUEST_H_

+ 67 - 0
datalake/include/alibabacloud/datalake/model/BatchDeleteTablesResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchDeleteTablesResult : public ServiceResult
+			{
+			public:
+				struct TableError
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::string tableName;
+				};
+
+
+				BatchDeleteTablesResult();
+				explicit BatchDeleteTablesResult(const std::string &payload);
+				~BatchDeleteTablesResult();
+				std::string getMessage()const;
+				std::vector<TableError> getTableErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<TableError> tableErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHDELETETABLESRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchGetPartitionColumnStatisticsRequest : public RoaServiceRequest {
+public:
+	BatchGetPartitionColumnStatisticsRequest();
+	~BatchGetPartitionColumnStatisticsRequest();
+	body getBody() const;
+	void setBody(const body &body);
+
+private:
+	body body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSREQUEST_H_

+ 57 - 0
datalake/include/alibabacloud/datalake/model/BatchGetPartitionColumnStatisticsResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchGetPartitionColumnStatisticsResult : public ServiceResult
+			{
+			public:
+
+
+				BatchGetPartitionColumnStatisticsResult();
+				explicit BatchGetPartitionColumnStatisticsResult(const std::string &payload);
+				~BatchGetPartitionColumnStatisticsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				std::string getPartitionStatisticsMap()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				std::string partitionStatisticsMap_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONCOLUMNSTATISTICSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchGetPartitionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchGetPartitionsRequest : public RoaServiceRequest {
+public:
+	BatchGetPartitionsRequest();
+	~BatchGetPartitionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSREQUEST_H_

+ 202 - 0
datalake/include/alibabacloud/datalake/model/BatchGetPartitionsResult.h

@@ -0,0 +1,202 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchGetPartitionsResult : public ServiceResult
+			{
+			public:
+				struct PartitionErrorsItem
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::vector<std::string> partitionValues;
+				};
+				struct PartitionsItem
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					Sd sd;
+					std::string tableName;
+					std::string parameters;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					int createTime;
+					std::string databaseName;
+					std::vector<std::string> values;
+					int lastAccessTime;
+				};
+				struct PartitionSpecsItem
+				{
+					struct SharedStorageDescriptor
+					{
+						struct ColsItem14
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						std::vector<ColsItem14> cols13;
+						std::string location;
+					};
+					struct SharedSDPartitionsItem
+					{
+						struct Privileges2
+						{
+							std::string groupPrivileges;
+							std::string rolePrivileges;
+							std::string userPrivileges;
+						};
+						struct Sd3
+						{
+							struct SerDeInfo5
+							{
+								std::string serializationLib;
+								std::string parameters;
+								std::string name;
+							};
+							struct SkewedInfo6
+							{
+								std::vector<std::string> skewedColValues12;
+								std::vector<std::string> skewedColNames11;
+								std::string skewedColValueLocationMaps;
+							};
+							struct ColsItem9
+							{
+								std::string comment;
+								std::string type;
+								std::string parameters;
+								std::string name;
+							};
+							struct SortColsItem10
+							{
+								int order;
+								std::string col;
+							};
+							std::vector<ColsItem9> cols7;
+							bool storedAsSubDirectories;
+							std::vector<std::string> bucketCols4;
+							std::string parameters;
+							std::string inputFormat;
+							SerDeInfo5 serDeInfo5;
+							std::vector<SortColsItem10> sortCols8;
+							std::string outputFormat;
+							SkewedInfo6 skewedInfo6;
+							bool compressed;
+							int numBuckets;
+							std::string location;
+						};
+						Privileges2 privileges2;
+						std::string tableName;
+						Sd3 sd3;
+						std::string parameters;
+						int lastAnalyzedTime;
+						int createTime;
+						std::string databaseName;
+						std::vector<std::string> values1;
+						int lastAccessTime;
+					};
+					SharedStorageDescriptor sharedStorageDescriptor;
+					std::vector<PartitionSpecsItem::SharedSDPartitionsItem> sharedSDPartitions;
+				};
+
+
+				BatchGetPartitionsResult();
+				explicit BatchGetPartitionsResult(const std::string &payload);
+				~BatchGetPartitionsResult();
+				std::vector<PartitionsItem> getPartitions()const;
+				std::vector<PartitionSpecsItem> getPartitionSpecs()const;
+				std::string getMessage()const;
+				std::vector<PartitionErrorsItem> getPartitionErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PartitionsItem> partitions_;
+				std::vector<PartitionSpecsItem> partitionSpecs_;
+				std::string message_;
+				std::vector<PartitionErrorsItem> partitionErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETPARTITIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchGetTablesRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchGetTablesRequest : public RoaServiceRequest {
+public:
+	BatchGetTablesRequest();
+	~BatchGetTablesRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESREQUEST_H_

+ 151 - 0
datalake/include/alibabacloud/datalake/model/BatchGetTablesResult.h

@@ -0,0 +1,151 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchGetTablesResult : public ServiceResult
+			{
+			public:
+				struct TableErrorsItem
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::string tableName;
+				};
+				struct TablesItem
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					struct TableVersion
+					{
+						int versionId;
+						ObjectOfAny table;
+					};
+					struct PartitionKeysItem
+					{
+						std::string comment;
+						std::string type;
+						std::string parameters;
+						std::string name;
+					};
+					std::string tableId;
+					std::string owner;
+					std::string viewOriginalText;
+					std::string createdBy;
+					std::string parameters;
+					std::string tableType;
+					int createTime;
+					std::string databaseName;
+					int lastAccessTime;
+					int retention;
+					Sd sd;
+					std::string tableName;
+					std::string ownerType;
+					bool temporary;
+					std::string viewExpandedText;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					TableVersion tableVersion;
+					int updateTime;
+					std::vector<TablesItem::PartitionKeysItem> partitionKeys;
+					bool rewriteEnabled;
+					bool cascade;
+				};
+
+
+				BatchGetTablesResult();
+				explicit BatchGetTablesResult(const std::string &payload);
+				~BatchGetTablesResult();
+				std::string getMessage()const;
+				std::vector<TableErrorsItem> getTableErrors()const;
+				std::vector<TablesItem> getTables()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<TableErrorsItem> tableErrors_;
+				std::vector<TablesItem> tables_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGETTABLESRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchGrantPermissionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchGrantPermissionsRequest : public RoaServiceRequest {
+public:
+	BatchGrantPermissionsRequest();
+	~BatchGrantPermissionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSREQUEST_H_

+ 113 - 0
datalake/include/alibabacloud/datalake/model/BatchGrantPermissionsResult.h

@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchGrantPermissionsResult : public ServiceResult
+			{
+			public:
+				struct BatchGrantRevokeFailureResultItem
+				{
+					struct GrantRevokeEntry
+					{
+						struct MetaResource
+						{
+							struct CatalogResource
+							{
+								std::string catalogId;
+							};
+							struct DatabaseResource
+							{
+								std::string databaseName;
+								std::string databaseWildcard;
+							};
+							struct TableResource
+							{
+								std::string tableName;
+								std::string databaseName;
+							};
+							struct FunctionResource
+							{
+								std::string functionName;
+								std::string databaseName;
+							};
+							struct ColumnResource
+							{
+								std::string tableName;
+								std::vector<std::string> columnNames;
+								std::string databaseName;
+							};
+							CatalogResource catalogResource;
+							FunctionResource functionResource;
+							ColumnResource columnResource;
+							TableResource tableResource;
+							DatabaseResource databaseResource;
+							std::string resourceType;
+						};
+						struct Principal
+						{
+							std::string principalArn;
+						};
+						std::vector<std::string> delegateAccesses;
+						MetaResource metaResource;
+						std::vector<std::string> accesses;
+						std::string id;
+						Principal principal;
+					};
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					GrantRevokeEntry grantRevokeEntry;
+				};
+
+
+				BatchGrantPermissionsResult();
+				explicit BatchGrantPermissionsResult(const std::string &payload);
+				~BatchGrantPermissionsResult();
+				std::string getMessage()const;
+				std::vector<BatchGrantRevokeFailureResultItem> getBatchGrantRevokeFailureResult()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<BatchGrantRevokeFailureResultItem> batchGrantRevokeFailureResult_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHGRANTPERMISSIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchRevokePermissionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchRevokePermissionsRequest : public RoaServiceRequest {
+public:
+	BatchRevokePermissionsRequest();
+	~BatchRevokePermissionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSREQUEST_H_

+ 113 - 0
datalake/include/alibabacloud/datalake/model/BatchRevokePermissionsResult.h

@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchRevokePermissionsResult : public ServiceResult
+			{
+			public:
+				struct BatchGrantRevokeFailureResultItem
+				{
+					struct GrantRevokeEntry
+					{
+						struct MetaResource
+						{
+							struct CatalogResource
+							{
+								std::string catalogId;
+							};
+							struct DatabaseResource
+							{
+								std::string databaseName;
+								std::string databaseWildcard;
+							};
+							struct TableResource
+							{
+								std::string tableName;
+								std::string databaseName;
+							};
+							struct FunctionResource
+							{
+								std::string functionName;
+								std::string databaseName;
+							};
+							struct ColumnResource
+							{
+								std::string tableName;
+								std::vector<std::string> columnNames;
+								std::string databaseName;
+							};
+							CatalogResource catalogResource;
+							FunctionResource functionResource;
+							ColumnResource columnResource;
+							TableResource tableResource;
+							DatabaseResource databaseResource;
+							std::string resourceType;
+						};
+						struct Principal
+						{
+							std::string principalArn;
+						};
+						std::vector<std::string> delegateAccesses;
+						MetaResource metaResource;
+						std::vector<std::string> accesses;
+						std::string id;
+						Principal principal;
+					};
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					GrantRevokeEntry grantRevokeEntry;
+				};
+
+
+				BatchRevokePermissionsResult();
+				explicit BatchRevokePermissionsResult(const std::string &payload);
+				~BatchRevokePermissionsResult();
+				std::string getMessage()const;
+				std::vector<BatchGrantRevokeFailureResultItem> getBatchGrantRevokeFailureResult()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<BatchGrantRevokeFailureResultItem> batchGrantRevokeFailureResult_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHREVOKEPERMISSIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchUpdatePartitionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchUpdatePartitionsRequest : public RoaServiceRequest {
+public:
+	BatchUpdatePartitionsRequest();
+	~BatchUpdatePartitionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSREQUEST_H_

+ 67 - 0
datalake/include/alibabacloud/datalake/model/BatchUpdatePartitionsResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchUpdatePartitionsResult : public ServiceResult
+			{
+			public:
+				struct PartitionErrorsItem
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::vector<std::string> partitionValues;
+				};
+
+
+				BatchUpdatePartitionsResult();
+				explicit BatchUpdatePartitionsResult(const std::string &payload);
+				~BatchUpdatePartitionsResult();
+				std::string getMessage()const;
+				std::vector<PartitionErrorsItem> getPartitionErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<PartitionErrorsItem> partitionErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATEPARTITIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/BatchUpdateTablesRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT BatchUpdateTablesRequest : public RoaServiceRequest {
+public:
+	BatchUpdateTablesRequest();
+	~BatchUpdateTablesRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESREQUEST_H_

+ 69 - 0
datalake/include/alibabacloud/datalake/model/BatchUpdateTablesResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT BatchUpdateTablesResult : public ServiceResult
+			{
+			public:
+				struct TableError
+				{
+					struct ErrorDetail
+					{
+						std::string message;
+						std::string code;
+					};
+					ErrorDetail errorDetail;
+					std::string tableName;
+				};
+
+
+				BatchUpdateTablesResult();
+				explicit BatchUpdateTablesResult(const std::string &payload);
+				~BatchUpdateTablesResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::vector<TableError> getTableErrors()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::vector<TableError> tableErrors_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_BATCHUPDATETABLESRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CancelQueryRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CancelQueryRequest : public RoaServiceRequest {
+public:
+	CancelQueryRequest();
+	~CancelQueryRequest();
+	std::string getQueryId() const;
+	void setQueryId(const std::string &queryId);
+
+private:
+	std::string queryId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYREQUEST_H_

+ 53 - 0
datalake/include/alibabacloud/datalake/model/CancelQueryResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CancelQueryResult : public ServiceResult
+			{
+			public:
+
+
+				CancelQueryResult();
+				explicit CancelQueryResult(const std::string &payload);
+				~CancelQueryResult();
+				std::string getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CANCELQUERYRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CheckPermissionsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CheckPermissionsRequest : public RoaServiceRequest {
+public:
+	CheckPermissionsRequest();
+	~CheckPermissionsRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CheckPermissionsResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CheckPermissionsResult : public ServiceResult
+			{
+			public:
+
+
+				CheckPermissionsResult();
+				explicit CheckPermissionsResult(const std::string &payload);
+				~CheckPermissionsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CHECKPERMISSIONSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateCatalogRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateCatalogRequest : public RoaServiceRequest {
+public:
+	CreateCatalogRequest();
+	~CreateCatalogRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CreateCatalogResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateCatalogResult : public ServiceResult
+			{
+			public:
+
+
+				CreateCatalogResult();
+				explicit CreateCatalogResult(const std::string &payload);
+				~CreateCatalogResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATECATALOGRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateDatabaseRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateDatabaseRequest : public RoaServiceRequest {
+public:
+	CreateDatabaseRequest();
+	~CreateDatabaseRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CreateDatabaseResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateDatabaseResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDatabaseResult();
+				explicit CreateDatabaseResult(const std::string &payload);
+				~CreateDatabaseResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEDATABASERESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateFunctionRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateFunctionRequest : public RoaServiceRequest {
+public:
+	CreateFunctionRequest();
+	~CreateFunctionRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CreateFunctionResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateFunctionResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFunctionResult();
+				explicit CreateFunctionResult(const std::string &payload);
+				~CreateFunctionResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEFUNCTIONRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateLockRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateLockRequest : public RoaServiceRequest {
+public:
+	CreateLockRequest();
+	~CreateLockRequest();
+	Body getBody() const;
+	void setBody(const Body &body);
+
+private:
+	Body body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKREQUEST_H_

+ 62 - 0
datalake/include/alibabacloud/datalake/model/CreateLockResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateLockResult : public ServiceResult
+			{
+			public:
+				struct LockStatus
+				{
+					std::string lockState;
+					long lockId;
+				};
+
+
+				CreateLockResult();
+				explicit CreateLockResult(const std::string &payload);
+				~CreateLockResult();
+				std::string getMessage()const;
+				LockStatus getLockStatus()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				LockStatus lockStatus_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATELOCKRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreatePartitionRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreatePartitionRequest : public RoaServiceRequest {
+public:
+	CreatePartitionRequest();
+	~CreatePartitionRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONREQUEST_H_

+ 114 - 0
datalake/include/alibabacloud/datalake/model/CreatePartitionResult.h

@@ -0,0 +1,114 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreatePartitionResult : public ServiceResult
+			{
+			public:
+				struct Partition
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					Sd sd;
+					std::string tableName;
+					std::string parameters;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					int createTime;
+					std::string databaseName;
+					std::vector<std::string> values;
+					int lastAccessTime;
+				};
+
+
+				CreatePartitionResult();
+				explicit CreatePartitionResult(const std::string &payload);
+				~CreatePartitionResult();
+				Partition getPartition()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Partition partition_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEPARTITIONRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateRoleRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEROLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEROLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateRoleRequest : public RoaServiceRequest {
+public:
+	CreateRoleRequest();
+	~CreateRoleRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEROLEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CreateRoleResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATEROLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATEROLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateRoleResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRoleResult();
+				explicit CreateRoleResult(const std::string &payload);
+				~CreateRoleResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATEROLERESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/CreateTableRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATETABLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATETABLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT CreateTableRequest : public RoaServiceRequest {
+public:
+	CreateTableRequest();
+	~CreateTableRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATETABLEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/CreateTableResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_CREATETABLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_CREATETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT CreateTableResult : public ServiceResult
+			{
+			public:
+
+
+				CreateTableResult();
+				explicit CreateTableResult(const std::string &payload);
+				~CreateTableResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_CREATETABLERESULT_H_

+ 45 - 0
datalake/include/alibabacloud/datalake/model/DeleteCatalogRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteCatalogRequest : public RoaServiceRequest {
+public:
+	DeleteCatalogRequest();
+	~DeleteCatalogRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	bool getIsAsync() const;
+	void setIsAsync(bool isAsync);
+
+private:
+	std::string catalogId_;
+	bool isAsync_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGREQUEST_H_

+ 57 - 0
datalake/include/alibabacloud/datalake/model/DeleteCatalogResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteCatalogResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteCatalogResult();
+				explicit DeleteCatalogResult(const std::string &payload);
+				~DeleteCatalogResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETECATALOGRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/DeleteDatabaseRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteDatabaseRequest : public RoaServiceRequest {
+public:
+	DeleteDatabaseRequest();
+	~DeleteDatabaseRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	bool getCascade() const;
+	void setCascade(bool cascade);
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string catalogId_;
+	bool cascade_;
+	std::string name_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteDatabaseResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteDatabaseResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDatabaseResult();
+				explicit DeleteDatabaseResult(const std::string &payload);
+				~DeleteDatabaseResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEDATABASERESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/DeleteFunctionRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteFunctionRequest : public RoaServiceRequest {
+public:
+	DeleteFunctionRequest();
+	~DeleteFunctionRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getFunctionName() const;
+	void setFunctionName(const std::string &functionName);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+
+private:
+	std::string catalogId_;
+	std::string functionName_;
+	std::string databaseName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteFunctionResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteFunctionResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFunctionResult();
+				explicit DeleteFunctionResult(const std::string &payload);
+				~DeleteFunctionResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEFUNCTIONRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeletePartitionColumnStatisticsRequest : public RoaServiceRequest {
+public:
+	DeletePartitionColumnStatisticsRequest();
+	~DeletePartitionColumnStatisticsRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeletePartitionColumnStatisticsResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeletePartitionColumnStatisticsResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePartitionColumnStatisticsResult();
+				explicit DeletePartitionColumnStatisticsResult(const std::string &payload);
+				~DeletePartitionColumnStatisticsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONCOLUMNSTATISTICSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/DeletePartitionRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeletePartitionRequest : public RoaServiceRequest {
+public:
+	DeletePartitionRequest();
+	~DeletePartitionRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeletePartitionResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeletePartitionResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePartitionResult();
+				explicit DeletePartitionResult(const std::string &payload);
+				~DeletePartitionResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEPARTITIONRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/DeleteRoleRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEROLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEROLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteRoleRequest : public RoaServiceRequest {
+public:
+	DeleteRoleRequest();
+	~DeleteRoleRequest();
+	std::string getRoleName() const;
+	void setRoleName(const std::string &roleName);
+
+private:
+	std::string roleName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEROLEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteRoleResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETEROLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETEROLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteRoleResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteRoleResult();
+				explicit DeleteRoleResult(const std::string &payload);
+				~DeleteRoleResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETEROLERESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableColumnStatisticsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableColumnStatisticsRequest : public RoaServiceRequest {
+public:
+	DeleteTableColumnStatisticsRequest();
+	~DeleteTableColumnStatisticsRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableColumnStatisticsResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableColumnStatisticsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTableColumnStatisticsResult();
+				explicit DeleteTableColumnStatisticsResult(const std::string &payload);
+				~DeleteTableColumnStatisticsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLECOLUMNSTATISTICSRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableRequest : public RoaServiceRequest {
+public:
+	DeleteTableRequest();
+	~DeleteTableRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTableResult();
+				explicit DeleteTableResult(const std::string &payload);
+				~DeleteTableResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLERESULT_H_

+ 51 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableVersionRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableVersionRequest : public RoaServiceRequest {
+public:
+	DeleteTableVersionRequest();
+	~DeleteTableVersionRequest();
+	int getVersionId() const;
+	void setVersionId(int versionId);
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	int versionId_;
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONREQUEST_H_

+ 55 - 0
datalake/include/alibabacloud/datalake/model/DeleteTableVersionResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeleteTableVersionResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTableVersionResult();
+				explicit DeleteTableVersionResult(const std::string &payload);
+				~DeleteTableVersionResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DELETETABLEVERSIONRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/DeregisterLocationRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DeregisterLocationRequest : public RoaServiceRequest {
+public:
+	DeregisterLocationRequest();
+	~DeregisterLocationRequest();
+	std::string getLocationId() const;
+	void setLocationId(const std::string &locationId);
+
+private:
+	std::string locationId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONREQUEST_H_

+ 67 - 0
datalake/include/alibabacloud/datalake/model/DeregisterLocationResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DeregisterLocationResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct StorageCollectTaskOperationResultListItem
+					{
+						std::string taskId;
+						bool dlfCreated;
+						std::string taskType;
+						std::string errMessage;
+						bool success;
+						std::string errCode;
+					};
+					std::string locationId;
+					std::vector<StorageCollectTaskOperationResultListItem> storageCollectTaskOperationResultList;
+				};
+
+
+				DeregisterLocationResult();
+				explicit DeregisterLocationResult(const std::string &payload);
+				~DeregisterLocationResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DEREGISTERLOCATIONRESULT_H_

+ 39 - 0
datalake/include/alibabacloud/datalake/model/DescribeRegionsRequest.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT DescribeRegionsRequest : public RoaServiceRequest {
+public:
+	DescribeRegionsRequest();
+	~DescribeRegionsRequest();
+
+private:
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 60 - 0
datalake/include/alibabacloud/datalake/model/DescribeRegionsResult.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct Region
+				{
+					std::string type;
+					std::string description;
+					std::string showName;
+					std::string name;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				std::vector<Region> getRegions()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Region> regions_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_DESCRIBEREGIONSRESULT_H_

+ 45 - 0
datalake/include/alibabacloud/datalake/model/GetAsyncTaskStatusRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetAsyncTaskStatusRequest : public RoaServiceRequest {
+public:
+	GetAsyncTaskStatusRequest();
+	~GetAsyncTaskStatusRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+
+private:
+	std::string catalogId_;
+	std::string taskId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSREQUEST_H_

+ 62 - 0
datalake/include/alibabacloud/datalake/model/GetAsyncTaskStatusResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetAsyncTaskStatusResult : public ServiceResult
+			{
+			public:
+				struct TaskStatus
+				{
+					std::string status;
+					std::string message;
+				};
+
+
+				GetAsyncTaskStatusResult();
+				explicit GetAsyncTaskStatusResult(const std::string &payload);
+				~GetAsyncTaskStatusResult();
+				std::string getMessage()const;
+				TaskStatus getTaskStatus()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				TaskStatus taskStatus_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETASYNCTASKSTATUSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/GetCatalogRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetCatalogRequest : public RoaServiceRequest {
+public:
+	GetCatalogRequest();
+	~GetCatalogRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+
+private:
+	std::string catalogId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGREQUEST_H_

+ 68 - 0
datalake/include/alibabacloud/datalake/model/GetCatalogResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetCatalogResult : public ServiceResult
+			{
+			public:
+				struct Catalog
+				{
+					std::string status;
+					std::string locationUri;
+					std::string owner;
+					std::string description;
+					std::string createdBy;
+					long createTime;
+					long updateTime;
+					std::string catalogId;
+				};
+
+
+				GetCatalogResult();
+				explicit GetCatalogResult(const std::string &payload);
+				~GetCatalogResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				Catalog getCatalog()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				Catalog catalog_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/GetCatalogSettingsRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetCatalogSettingsRequest : public RoaServiceRequest {
+public:
+	GetCatalogSettingsRequest();
+	~GetCatalogSettingsRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+
+private:
+	std::string catalogId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSREQUEST_H_

+ 61 - 0
datalake/include/alibabacloud/datalake/model/GetCatalogSettingsResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetCatalogSettingsResult : public ServiceResult
+			{
+			public:
+				struct CatalogSettings
+				{
+					std::string config;
+				};
+
+
+				GetCatalogSettingsResult();
+				explicit GetCatalogSettingsResult(const std::string &payload);
+				~GetCatalogSettingsResult();
+				CatalogSettings getCatalogSettings()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				CatalogSettings catalogSettings_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETCATALOGSETTINGSRESULT_H_

+ 45 - 0
datalake/include/alibabacloud/datalake/model/GetDatabaseRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETDATABASEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETDATABASEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetDatabaseRequest : public RoaServiceRequest {
+public:
+	GetDatabaseRequest();
+	~GetDatabaseRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string catalogId_;
+	std::string name_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETDATABASEREQUEST_H_

+ 76 - 0
datalake/include/alibabacloud/datalake/model/GetDatabaseResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETDATABASERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETDATABASERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetDatabaseResult : public ServiceResult
+			{
+			public:
+				struct Database
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					std::string locationUri;
+					std::string ownerName;
+					std::string ownerType;
+					std::string description;
+					std::string parameters;
+					std::string createdBy;
+					Privileges privileges;
+					int createTime;
+					int updateTime;
+					std::string name;
+				};
+
+
+				GetDatabaseResult();
+				explicit GetDatabaseResult(const std::string &payload);
+				~GetDatabaseResult();
+				std::string getMessage()const;
+				Database getDatabase()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Database database_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETDATABASERESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetFunctionRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetFunctionRequest : public RoaServiceRequest {
+public:
+	GetFunctionRequest();
+	~GetFunctionRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getFunctionName() const;
+	void setFunctionName(const std::string &functionName);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+
+private:
+	std::string catalogId_;
+	std::string functionName_;
+	std::string databaseName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONREQUEST_H_

+ 76 - 0
datalake/include/alibabacloud/datalake/model/GetFunctionResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetFunctionResult : public ServiceResult
+			{
+			public:
+				struct Function
+				{
+					struct ResourceUriItem
+					{
+						std::string resourceType;
+						std::string uri;
+					};
+					std::vector<ResourceUriItem> resourceUri;
+					std::string functionName;
+					std::string ownerName;
+					std::string ownerType;
+					std::string createdBy;
+					int createTime;
+					std::string functionType;
+					std::string className;
+					std::string databaseName;
+					int updateTime;
+					std::string catalogId;
+				};
+
+
+				GetFunctionResult();
+				explicit GetFunctionResult(const std::string &payload);
+				~GetFunctionResult();
+				Function getFunction()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Function function_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETFUNCTIONRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/GetLockRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETLOCKREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETLOCKREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetLockRequest : public RoaServiceRequest {
+public:
+	GetLockRequest();
+	~GetLockRequest();
+	long getLockId() const;
+	void setLockId(long lockId);
+
+private:
+	long lockId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETLOCKREQUEST_H_

+ 62 - 0
datalake/include/alibabacloud/datalake/model/GetLockResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETLOCKRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETLOCKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetLockResult : public ServiceResult
+			{
+			public:
+				struct LockStatus
+				{
+					std::string lockState;
+					long lockId;
+				};
+
+
+				GetLockResult();
+				explicit GetLockResult(const std::string &payload);
+				~GetLockResult();
+				std::string getMessage()const;
+				LockStatus getLockStatus()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				LockStatus lockStatus_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETLOCKRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetPartitionColumnStatisticsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetPartitionColumnStatisticsRequest : public RoaServiceRequest {
+public:
+	GetPartitionColumnStatisticsRequest();
+	~GetPartitionColumnStatisticsRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSREQUEST_H_

+ 57 - 0
datalake/include/alibabacloud/datalake/model/GetPartitionColumnStatisticsResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetPartitionColumnStatisticsResult : public ServiceResult
+			{
+			public:
+
+
+				GetPartitionColumnStatisticsResult();
+				explicit GetPartitionColumnStatisticsResult(const std::string &payload);
+				~GetPartitionColumnStatisticsResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+				std::string getPartitionStatisticsMap()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+				std::string partitionStatisticsMap_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONCOLUMNSTATISTICSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/GetPartitionRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetPartitionRequest : public RoaServiceRequest {
+public:
+	GetPartitionRequest();
+	~GetPartitionRequest();
+	std::string getBody() const;
+	void setBody(const std::string &body);
+
+private:
+	std::string body_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONREQUEST_H_

+ 114 - 0
datalake/include/alibabacloud/datalake/model/GetPartitionResult.h

@@ -0,0 +1,114 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetPartitionResult : public ServiceResult
+			{
+			public:
+				struct Partition
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					Sd sd;
+					std::string tableName;
+					std::string parameters;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					int createTime;
+					std::string databaseName;
+					std::vector<std::string> values;
+					int lastAccessTime;
+				};
+
+
+				GetPartitionResult();
+				explicit GetPartitionResult(const std::string &payload);
+				~GetPartitionResult();
+				Partition getPartition()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Partition partition_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETPARTITIONRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetQueryResultRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetQueryResultRequest : public RoaServiceRequest {
+public:
+	GetQueryResultRequest();
+	~GetQueryResultRequest();
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getQueryId() const;
+	void setQueryId(const std::string &queryId);
+
+private:
+	int pageSize_;
+	int pageNumber_;
+	std::string queryId_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTREQUEST_H_

+ 93 - 0
datalake/include/alibabacloud/datalake/model/GetQueryResultResult.h

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetQueryResultResult : public ServiceResult
+			{
+			public:
+
+
+				GetQueryResultResult();
+				explicit GetQueryResultResult(const std::string &payload);
+				~GetQueryResultResult();
+				std::string getStatus()const;
+				long getOwner()const;
+				int getProgress()const;
+				std::string getEndTime()const;
+				std::string getSchema()const;
+				std::string getGmtModified()const;
+				std::string getStartTime()const;
+				long getDuration()const;
+				std::string getLogs()const;
+				bool getSuccess()const;
+				std::string getSql()const;
+				std::string getResultTmpDb()const;
+				std::string getGmtCreate()const;
+				bool getRowCountOverLimit()const;
+				std::string getResultTmpTable()const;
+				std::string getRegionId()const;
+				std::string getId()const;
+				long getTotalBytesProcessed()const;
+				std::string getErrorMessage()const;
+				int getRowCount()const;
+				bool getJobCompleted()const;
+				std::string getRows()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				long owner_;
+				int progress_;
+				std::string endTime_;
+				std::string schema_;
+				std::string gmtModified_;
+				std::string startTime_;
+				long duration_;
+				std::string logs_;
+				bool success_;
+				std::string sql_;
+				std::string resultTmpDb_;
+				std::string gmtCreate_;
+				bool rowCountOverLimit_;
+				std::string resultTmpTable_;
+				std::string regionId_;
+				std::string id_;
+				long totalBytesProcessed_;
+				std::string errorMessage_;
+				int rowCount_;
+				bool jobCompleted_;
+				std::string rows_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETQUERYRESULTRESULT_H_

+ 39 - 0
datalake/include/alibabacloud/datalake/model/GetRegionStatusRequest.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetRegionStatusRequest : public RoaServiceRequest {
+public:
+	GetRegionStatusRequest();
+	~GetRegionStatusRequest();
+
+private:
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSREQUEST_H_

+ 61 - 0
datalake/include/alibabacloud/datalake/model/GetRegionStatusResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetRegionStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string accountStatus;
+					std::string regionStatus;
+					bool isDependencyReady;
+					std::string regionId;
+					bool isDlfServiceOpen;
+				};
+
+
+				GetRegionStatusResult();
+				explicit GetRegionStatusResult(const std::string &payload);
+				~GetRegionStatusResult();
+				Data getData()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETREGIONSTATUSRESULT_H_

+ 42 - 0
datalake/include/alibabacloud/datalake/model/GetRoleRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETROLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETROLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetRoleRequest : public RoaServiceRequest {
+public:
+	GetRoleRequest();
+	~GetRoleRequest();
+	std::string getRoleName() const;
+	void setRoleName(const std::string &roleName);
+
+private:
+	std::string roleName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETROLEREQUEST_H_

+ 72 - 0
datalake/include/alibabacloud/datalake/model/GetRoleResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETROLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETROLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetRoleResult : public ServiceResult
+			{
+			public:
+				struct Role
+				{
+					struct UsersItem
+					{
+						std::string principalArn;
+					};
+					std::string description;
+					std::string principalArn;
+					long createTime;
+					std::string displayName;
+					long updateTime;
+					std::vector<UsersItem> users;
+					std::string name;
+					int isPredefined;
+				};
+
+
+				GetRoleResult();
+				explicit GetRoleResult(const std::string &payload);
+				~GetRoleResult();
+				Role getRole()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Role role_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETROLERESULT_H_

+ 39 - 0
datalake/include/alibabacloud/datalake/model/GetServiceStatusRequest.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetServiceStatusRequest : public RoaServiceRequest {
+public:
+	GetServiceStatusRequest();
+	~GetServiceStatusRequest();
+
+private:
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSREQUEST_H_

+ 59 - 0
datalake/include/alibabacloud/datalake/model/GetServiceStatusResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetServiceStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					bool isOssOpen;
+					bool isDlfServiceOpen;
+					bool hasRamPermissions;
+				};
+
+
+				GetServiceStatusResult();
+				explicit GetServiceStatusResult(const std::string &payload);
+				~GetServiceStatusResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETSERVICESTATUSRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetTableColumnStatisticsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetTableColumnStatisticsRequest : public RoaServiceRequest {
+public:
+	GetTableColumnStatisticsRequest();
+	~GetTableColumnStatisticsRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSREQUEST_H_

+ 68 - 0
datalake/include/alibabacloud/datalake/model/GetTableColumnStatisticsResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSRESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetTableColumnStatisticsResult : public ServiceResult
+			{
+			public:
+				struct ColumnStatisticsObjListItem
+				{
+					struct ColumnStatisticsData
+					{
+						std::string statisticsType;
+						std::string statisticsData;
+					};
+					std::string columnName;
+					std::string columnType;
+					ColumnStatisticsData columnStatisticsData;
+				};
+
+
+				GetTableColumnStatisticsResult();
+				explicit GetTableColumnStatisticsResult(const std::string &payload);
+				~GetTableColumnStatisticsResult();
+				std::string getMessage()const;
+				std::vector<ColumnStatisticsObjListItem> getColumnStatisticsObjList()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<ColumnStatisticsObjListItem> columnStatisticsObjList_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLECOLUMNSTATISTICSRESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetTableProfileRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetTableProfileRequest : public RoaServiceRequest {
+public:
+	GetTableProfileRequest();
+	~GetTableProfileRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILEREQUEST_H_

+ 75 - 0
datalake/include/alibabacloud/datalake/model/GetTableProfileResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetTableProfileResult : public ServiceResult
+			{
+			public:
+				struct TableProfile
+				{
+					long accessNum;
+					std::string createTime;
+					std::string databaseName;
+					long fileCnt;
+					bool isPartitioned;
+					std::string lastModifyTime;
+					std::string lastAccessTime;
+					std::string latestDate;
+					std::string tableName;
+					long recordCnt;
+					long accessNumMonthly;
+					long partitionCnt;
+					long accessNumWeekly;
+					long fileSize;
+					std::string location;
+				};
+
+
+				GetTableProfileResult();
+				explicit GetTableProfileResult(const std::string &payload);
+				~GetTableProfileResult();
+				TableProfile getTableProfile()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				TableProfile tableProfile_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLEPROFILERESULT_H_

+ 48 - 0
datalake/include/alibabacloud/datalake/model/GetTableRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLEREQUEST_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLEREQUEST_H_
+
+#include <alibabacloud/datalake/DataLakeExport.h>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace DataLake {
+namespace Model {
+class ALIBABACLOUD_DATALAKE_EXPORT GetTableRequest : public RoaServiceRequest {
+public:
+	GetTableRequest();
+	~GetTableRequest();
+	std::string getCatalogId() const;
+	void setCatalogId(const std::string &catalogId);
+	std::string getDatabaseName() const;
+	void setDatabaseName(const std::string &databaseName);
+	std::string getTableName() const;
+	void setTableName(const std::string &tableName);
+
+private:
+	std::string catalogId_;
+	std::string databaseName_;
+	std::string tableName_;
+};
+} // namespace Model
+} // namespace DataLake
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLEREQUEST_H_

+ 139 - 0
datalake/include/alibabacloud/datalake/model/GetTableResult.h

@@ -0,0 +1,139 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DATALAKE_MODEL_GETTABLERESULT_H_
+#define ALIBABACLOUD_DATALAKE_MODEL_GETTABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/datalake/DataLakeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace DataLake
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DATALAKE_EXPORT GetTableResult : public ServiceResult
+			{
+			public:
+				struct Table
+				{
+					struct Privileges
+					{
+						std::string groupPrivileges;
+						std::string rolePrivileges;
+						std::string userPrivileges;
+					};
+					struct Sd
+					{
+						struct SerDeInfo
+						{
+							std::string serializationLib;
+							std::string parameters;
+							std::string name;
+						};
+						struct SkewedInfo
+						{
+							std::vector<std::string> skewedColValues;
+							std::string skewedColValueLocationMaps;
+							std::vector<std::string> skewedColNames;
+						};
+						struct ColsItem
+						{
+							std::string comment;
+							std::string type;
+							std::string parameters;
+							std::string name;
+						};
+						struct SortColsItem
+						{
+							int order;
+							std::string col;
+						};
+						bool storedAsSubDirectories;
+						std::vector<SortColsItem> sortCols;
+						std::vector<ColsItem> cols;
+						std::string parameters;
+						SkewedInfo skewedInfo;
+						std::string inputFormat;
+						SerDeInfo serDeInfo;
+						std::string outputFormat;
+						std::vector<std::string> bucketCols;
+						bool compressed;
+						int numBuckets;
+						std::string location;
+					};
+					struct TableVersion
+					{
+						int versionId;
+						ObjectOfAny table;
+					};
+					struct PartitionKeysItem
+					{
+						std::string comment;
+						std::string type;
+						std::string parameters;
+						std::string name;
+					};
+					std::string tableId;
+					std::string owner;
+					std::string viewOriginalText;
+					std::string createdBy;
+					std::string parameters;
+					std::string tableType;
+					int createTime;
+					std::string databaseName;
+					int lastAccessTime;
+					int retention;
+					Sd sd;
+					std::string tableName;
+					std::string ownerType;
+					bool temporary;
+					std::string viewExpandedText;
+					int lastAnalyzedTime;
+					Privileges privileges;
+					TableVersion tableVersion;
+					int updateTime;
+					std::vector<PartitionKeysItem> partitionKeys;
+					bool rewriteEnabled;
+					bool cascade;
+				};
+
+
+				GetTableResult();
+				explicit GetTableResult(const std::string &payload);
+				~GetTableResult();
+				Table getTable()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Table table_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DATALAKE_MODEL_GETTABLERESULT_H_

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно