Browse Source

Generated 2019-01-01 for Cassandra.

sdk-team 6 years ago
parent
commit
ec000a3be6
100 changed files with 7504 additions and 1 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 266 0
      cassandra/CMakeLists.txt
  4. 414 0
      cassandra/include/alibabacloud/cassandra/CassandraClient.h
  5. 32 0
      cassandra/include/alibabacloud/cassandra/CassandraExport.h
  6. 51 0
      cassandra/include/alibabacloud/cassandra/model/AllocatePublicContactPointsRequest.h
  7. 49 0
      cassandra/include/alibabacloud/cassandra/model/AllocatePublicContactPointsResult.h
  8. 63 0
      cassandra/include/alibabacloud/cassandra/model/CreateBackupPlanRequest.h
  9. 49 0
      cassandra/include/alibabacloud/cassandra/model/CreateBackupPlanResult.h
  10. 99 0
      cassandra/include/alibabacloud/cassandra/model/CreateClusterRequest.h
  11. 51 0
      cassandra/include/alibabacloud/cassandra/model/CreateClusterResult.h
  12. 93 0
      cassandra/include/alibabacloud/cassandra/model/CreateDataCenterRequest.h
  13. 51 0
      cassandra/include/alibabacloud/cassandra/model/CreateDataCenterResult.h
  14. 51 0
      cassandra/include/alibabacloud/cassandra/model/DeleteBackupPlanRequest.h
  15. 49 0
      cassandra/include/alibabacloud/cassandra/model/DeleteBackupPlanResult.h
  16. 48 0
      cassandra/include/alibabacloud/cassandra/model/DeleteClusterRequest.h
  17. 49 0
      cassandra/include/alibabacloud/cassandra/model/DeleteClusterResult.h
  18. 51 0
      cassandra/include/alibabacloud/cassandra/model/DeleteDataCenterRequest.h
  19. 49 0
      cassandra/include/alibabacloud/cassandra/model/DeleteDataCenterResult.h
  20. 54 0
      cassandra/include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryRequest.h
  21. 49 0
      cassandra/include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryResult.h
  22. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeAccountsRequest.h
  23. 55 0
      cassandra/include/alibabacloud/cassandra/model/DescribeAccountsResult.h
  24. 51 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlanRequest.h
  25. 61 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlanResult.h
  26. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlansRequest.h
  27. 61 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlansResult.h
  28. 57 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupRequest.h
  29. 63 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupResult.h
  30. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupsRequest.h
  31. 62 0
      cassandra/include/alibabacloud/cassandra/model/DescribeBackupsResult.h
  32. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterDashboardRequest.h
  33. 67 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterDashboardResult.h
  34. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterRequest.h
  35. 67 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterResult.h
  36. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterStatusRequest.h
  37. 53 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClusterStatusResult.h
  38. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClustersRequest.h
  39. 70 0
      cassandra/include/alibabacloud/cassandra/model/DescribeClustersResult.h
  40. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeContactPointsRequest.h
  41. 58 0
      cassandra/include/alibabacloud/cassandra/model/DescribeContactPointsResult.h
  42. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeDataCentersRequest.h
  43. 71 0
      cassandra/include/alibabacloud/cassandra/model/DescribeDataCentersResult.h
  44. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeDeletedClustersRequest.h
  45. 69 0
      cassandra/include/alibabacloud/cassandra/model/DescribeDeletedClustersResult.h
  46. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeInstanceTypeRequest.h
  47. 57 0
      cassandra/include/alibabacloud/cassandra/model/DescribeInstanceTypeResult.h
  48. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsRequest.h
  49. 57 0
      cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsResult.h
  50. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistRequest.h
  51. 51 0
      cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistResult.h
  52. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesRequest.h
  53. 70 0
      cassandra/include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesResult.h
  54. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesRequest.h
  55. 64 0
      cassandra/include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesResult.h
  56. 54 0
      cassandra/include/alibabacloud/cassandra/model/DescribeParametersRequest.h
  57. 66 0
      cassandra/include/alibabacloud/cassandra/model/DescribeParametersResult.h
  58. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeRegionsRequest.h
  59. 62 0
      cassandra/include/alibabacloud/cassandra/model/DescribeRegionsResult.h
  60. 48 0
      cassandra/include/alibabacloud/cassandra/model/DescribeSecurityGroupsRequest.h
  61. 51 0
      cassandra/include/alibabacloud/cassandra/model/DescribeSecurityGroupsResult.h
  62. 57 0
      cassandra/include/alibabacloud/cassandra/model/ExecuteNodeToolRequest.h
  63. 49 0
      cassandra/include/alibabacloud/cassandra/model/ExecuteNodeToolResult.h
  64. 48 0
      cassandra/include/alibabacloud/cassandra/model/GetCmsUrlRequest.h
  65. 51 0
      cassandra/include/alibabacloud/cassandra/model/GetCmsUrlResult.h
  66. 54 0
      cassandra/include/alibabacloud/cassandra/model/ModifyAccountPasswordRequest.h
  67. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyAccountPasswordResult.h
  68. 63 0
      cassandra/include/alibabacloud/cassandra/model/ModifyBackupPlanRequest.h
  69. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyBackupPlanResult.h
  70. 51 0
      cassandra/include/alibabacloud/cassandra/model/ModifyClusterRequest.h
  71. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyClusterResult.h
  72. 54 0
      cassandra/include/alibabacloud/cassandra/model/ModifyDataCenterRequest.h
  73. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyDataCenterResult.h
  74. 54 0
      cassandra/include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeRequest.h
  75. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeResult.h
  76. 54 0
      cassandra/include/alibabacloud/cassandra/model/ModifyInstanceTypeRequest.h
  77. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyInstanceTypeResult.h
  78. 57 0
      cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupRequest.h
  79. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupResult.h
  80. 51 0
      cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistRequest.h
  81. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistResult.h
  82. 54 0
      cassandra/include/alibabacloud/cassandra/model/ModifyParameterRequest.h
  83. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifyParameterResult.h
  84. 51 0
      cassandra/include/alibabacloud/cassandra/model/ModifySecurityGroupsRequest.h
  85. 49 0
      cassandra/include/alibabacloud/cassandra/model/ModifySecurityGroupsResult.h
  86. 48 0
      cassandra/include/alibabacloud/cassandra/model/PurgeClusterRequest.h
  87. 49 0
      cassandra/include/alibabacloud/cassandra/model/PurgeClusterResult.h
  88. 48 0
      cassandra/include/alibabacloud/cassandra/model/RebootClusterRequest.h
  89. 49 0
      cassandra/include/alibabacloud/cassandra/model/RebootClusterResult.h
  90. 51 0
      cassandra/include/alibabacloud/cassandra/model/ReleasePublicContactPointsRequest.h
  91. 49 0
      cassandra/include/alibabacloud/cassandra/model/ReleasePublicContactPointsResult.h
  92. 54 0
      cassandra/include/alibabacloud/cassandra/model/ResizeDiskSizeRequest.h
  93. 49 0
      cassandra/include/alibabacloud/cassandra/model/ResizeDiskSizeResult.h
  94. 54 0
      cassandra/include/alibabacloud/cassandra/model/ResizeNodeCountRequest.h
  95. 49 0
      cassandra/include/alibabacloud/cassandra/model/ResizeNodeCountResult.h
  96. 48 0
      cassandra/include/alibabacloud/cassandra/model/UpgradeClusterVersionRequest.h
  97. 49 0
      cassandra/include/alibabacloud/cassandra/model/UpgradeClusterVersionResult.h
  98. 1709 0
      cassandra/src/CassandraClient.cc
  99. 51 0
      cassandra/src/model/AllocatePublicContactPointsRequest.cc
  100. 44 0
      cassandra/src/model/AllocatePublicContactPointsResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-04-08 Version: 1.36.341
+- Generated 2019-01-01 for `Cassandra`.
+
 2020-04-03 Version: 1.36.340
 - Add trace api.
 - Add prometheus api.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.340
+1.36.341

+ 266 - 0
cassandra/CMakeLists.txt

@@ -0,0 +1,266 @@
+#
+# 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(cassandra_public_header 
+	include/alibabacloud/cassandra/CassandraClient.h
+	include/alibabacloud/cassandra/CassandraExport.h )
+
+set(cassandra_public_header_model 
+	include/alibabacloud/cassandra/model/AllocatePublicContactPointsRequest.h
+	include/alibabacloud/cassandra/model/AllocatePublicContactPointsResult.h
+	include/alibabacloud/cassandra/model/CreateBackupPlanRequest.h
+	include/alibabacloud/cassandra/model/CreateBackupPlanResult.h
+	include/alibabacloud/cassandra/model/CreateClusterRequest.h
+	include/alibabacloud/cassandra/model/CreateClusterResult.h
+	include/alibabacloud/cassandra/model/CreateDataCenterRequest.h
+	include/alibabacloud/cassandra/model/CreateDataCenterResult.h
+	include/alibabacloud/cassandra/model/DeleteBackupPlanRequest.h
+	include/alibabacloud/cassandra/model/DeleteBackupPlanResult.h
+	include/alibabacloud/cassandra/model/DeleteClusterRequest.h
+	include/alibabacloud/cassandra/model/DeleteClusterResult.h
+	include/alibabacloud/cassandra/model/DeleteDataCenterRequest.h
+	include/alibabacloud/cassandra/model/DeleteDataCenterResult.h
+	include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryRequest.h
+	include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryResult.h
+	include/alibabacloud/cassandra/model/DescribeAccountsRequest.h
+	include/alibabacloud/cassandra/model/DescribeAccountsResult.h
+	include/alibabacloud/cassandra/model/DescribeBackupRequest.h
+	include/alibabacloud/cassandra/model/DescribeBackupResult.h
+	include/alibabacloud/cassandra/model/DescribeBackupPlanRequest.h
+	include/alibabacloud/cassandra/model/DescribeBackupPlanResult.h
+	include/alibabacloud/cassandra/model/DescribeBackupPlansRequest.h
+	include/alibabacloud/cassandra/model/DescribeBackupPlansResult.h
+	include/alibabacloud/cassandra/model/DescribeBackupsRequest.h
+	include/alibabacloud/cassandra/model/DescribeBackupsResult.h
+	include/alibabacloud/cassandra/model/DescribeClusterRequest.h
+	include/alibabacloud/cassandra/model/DescribeClusterResult.h
+	include/alibabacloud/cassandra/model/DescribeClusterDashboardRequest.h
+	include/alibabacloud/cassandra/model/DescribeClusterDashboardResult.h
+	include/alibabacloud/cassandra/model/DescribeClusterStatusRequest.h
+	include/alibabacloud/cassandra/model/DescribeClusterStatusResult.h
+	include/alibabacloud/cassandra/model/DescribeClustersRequest.h
+	include/alibabacloud/cassandra/model/DescribeClustersResult.h
+	include/alibabacloud/cassandra/model/DescribeContactPointsRequest.h
+	include/alibabacloud/cassandra/model/DescribeContactPointsResult.h
+	include/alibabacloud/cassandra/model/DescribeDataCentersRequest.h
+	include/alibabacloud/cassandra/model/DescribeDataCentersResult.h
+	include/alibabacloud/cassandra/model/DescribeDeletedClustersRequest.h
+	include/alibabacloud/cassandra/model/DescribeDeletedClustersResult.h
+	include/alibabacloud/cassandra/model/DescribeInstanceTypeRequest.h
+	include/alibabacloud/cassandra/model/DescribeInstanceTypeResult.h
+	include/alibabacloud/cassandra/model/DescribeIpWhitelistRequest.h
+	include/alibabacloud/cassandra/model/DescribeIpWhitelistResult.h
+	include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsRequest.h
+	include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsResult.h
+	include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesRequest.h
+	include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesResult.h
+	include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesRequest.h
+	include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesResult.h
+	include/alibabacloud/cassandra/model/DescribeParametersRequest.h
+	include/alibabacloud/cassandra/model/DescribeParametersResult.h
+	include/alibabacloud/cassandra/model/DescribeRegionsRequest.h
+	include/alibabacloud/cassandra/model/DescribeRegionsResult.h
+	include/alibabacloud/cassandra/model/DescribeSecurityGroupsRequest.h
+	include/alibabacloud/cassandra/model/DescribeSecurityGroupsResult.h
+	include/alibabacloud/cassandra/model/ExecuteNodeToolRequest.h
+	include/alibabacloud/cassandra/model/ExecuteNodeToolResult.h
+	include/alibabacloud/cassandra/model/GetCmsUrlRequest.h
+	include/alibabacloud/cassandra/model/GetCmsUrlResult.h
+	include/alibabacloud/cassandra/model/ModifyAccountPasswordRequest.h
+	include/alibabacloud/cassandra/model/ModifyAccountPasswordResult.h
+	include/alibabacloud/cassandra/model/ModifyBackupPlanRequest.h
+	include/alibabacloud/cassandra/model/ModifyBackupPlanResult.h
+	include/alibabacloud/cassandra/model/ModifyClusterRequest.h
+	include/alibabacloud/cassandra/model/ModifyClusterResult.h
+	include/alibabacloud/cassandra/model/ModifyDataCenterRequest.h
+	include/alibabacloud/cassandra/model/ModifyDataCenterResult.h
+	include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeRequest.h
+	include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeResult.h
+	include/alibabacloud/cassandra/model/ModifyInstanceTypeRequest.h
+	include/alibabacloud/cassandra/model/ModifyInstanceTypeResult.h
+	include/alibabacloud/cassandra/model/ModifyIpWhitelistRequest.h
+	include/alibabacloud/cassandra/model/ModifyIpWhitelistResult.h
+	include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupRequest.h
+	include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupResult.h
+	include/alibabacloud/cassandra/model/ModifyParameterRequest.h
+	include/alibabacloud/cassandra/model/ModifyParameterResult.h
+	include/alibabacloud/cassandra/model/ModifySecurityGroupsRequest.h
+	include/alibabacloud/cassandra/model/ModifySecurityGroupsResult.h
+	include/alibabacloud/cassandra/model/PurgeClusterRequest.h
+	include/alibabacloud/cassandra/model/PurgeClusterResult.h
+	include/alibabacloud/cassandra/model/RebootClusterRequest.h
+	include/alibabacloud/cassandra/model/RebootClusterResult.h
+	include/alibabacloud/cassandra/model/ReleasePublicContactPointsRequest.h
+	include/alibabacloud/cassandra/model/ReleasePublicContactPointsResult.h
+	include/alibabacloud/cassandra/model/ResizeDiskSizeRequest.h
+	include/alibabacloud/cassandra/model/ResizeDiskSizeResult.h
+	include/alibabacloud/cassandra/model/ResizeNodeCountRequest.h
+	include/alibabacloud/cassandra/model/ResizeNodeCountResult.h
+	include/alibabacloud/cassandra/model/UpgradeClusterVersionRequest.h
+	include/alibabacloud/cassandra/model/UpgradeClusterVersionResult.h )
+
+set(cassandra_src 
+	src/CassandraClient.cc
+	src/model/AllocatePublicContactPointsRequest.cc
+	src/model/AllocatePublicContactPointsResult.cc
+	src/model/CreateBackupPlanRequest.cc
+	src/model/CreateBackupPlanResult.cc
+	src/model/CreateClusterRequest.cc
+	src/model/CreateClusterResult.cc
+	src/model/CreateDataCenterRequest.cc
+	src/model/CreateDataCenterResult.cc
+	src/model/DeleteBackupPlanRequest.cc
+	src/model/DeleteBackupPlanResult.cc
+	src/model/DeleteClusterRequest.cc
+	src/model/DeleteClusterResult.cc
+	src/model/DeleteDataCenterRequest.cc
+	src/model/DeleteDataCenterResult.cc
+	src/model/DeleteNodeToolExecutionHistoryRequest.cc
+	src/model/DeleteNodeToolExecutionHistoryResult.cc
+	src/model/DescribeAccountsRequest.cc
+	src/model/DescribeAccountsResult.cc
+	src/model/DescribeBackupRequest.cc
+	src/model/DescribeBackupResult.cc
+	src/model/DescribeBackupPlanRequest.cc
+	src/model/DescribeBackupPlanResult.cc
+	src/model/DescribeBackupPlansRequest.cc
+	src/model/DescribeBackupPlansResult.cc
+	src/model/DescribeBackupsRequest.cc
+	src/model/DescribeBackupsResult.cc
+	src/model/DescribeClusterRequest.cc
+	src/model/DescribeClusterResult.cc
+	src/model/DescribeClusterDashboardRequest.cc
+	src/model/DescribeClusterDashboardResult.cc
+	src/model/DescribeClusterStatusRequest.cc
+	src/model/DescribeClusterStatusResult.cc
+	src/model/DescribeClustersRequest.cc
+	src/model/DescribeClustersResult.cc
+	src/model/DescribeContactPointsRequest.cc
+	src/model/DescribeContactPointsResult.cc
+	src/model/DescribeDataCentersRequest.cc
+	src/model/DescribeDataCentersResult.cc
+	src/model/DescribeDeletedClustersRequest.cc
+	src/model/DescribeDeletedClustersResult.cc
+	src/model/DescribeInstanceTypeRequest.cc
+	src/model/DescribeInstanceTypeResult.cc
+	src/model/DescribeIpWhitelistRequest.cc
+	src/model/DescribeIpWhitelistResult.cc
+	src/model/DescribeIpWhitelistGroupsRequest.cc
+	src/model/DescribeIpWhitelistGroupsResult.cc
+	src/model/DescribeNodeToolExecutionHistoriesRequest.cc
+	src/model/DescribeNodeToolExecutionHistoriesResult.cc
+	src/model/DescribeParameterModificationHistoriesRequest.cc
+	src/model/DescribeParameterModificationHistoriesResult.cc
+	src/model/DescribeParametersRequest.cc
+	src/model/DescribeParametersResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/DescribeSecurityGroupsRequest.cc
+	src/model/DescribeSecurityGroupsResult.cc
+	src/model/ExecuteNodeToolRequest.cc
+	src/model/ExecuteNodeToolResult.cc
+	src/model/GetCmsUrlRequest.cc
+	src/model/GetCmsUrlResult.cc
+	src/model/ModifyAccountPasswordRequest.cc
+	src/model/ModifyAccountPasswordResult.cc
+	src/model/ModifyBackupPlanRequest.cc
+	src/model/ModifyBackupPlanResult.cc
+	src/model/ModifyClusterRequest.cc
+	src/model/ModifyClusterResult.cc
+	src/model/ModifyDataCenterRequest.cc
+	src/model/ModifyDataCenterResult.cc
+	src/model/ModifyInstanceMaintainTimeRequest.cc
+	src/model/ModifyInstanceMaintainTimeResult.cc
+	src/model/ModifyInstanceTypeRequest.cc
+	src/model/ModifyInstanceTypeResult.cc
+	src/model/ModifyIpWhitelistRequest.cc
+	src/model/ModifyIpWhitelistResult.cc
+	src/model/ModifyIpWhitelistGroupRequest.cc
+	src/model/ModifyIpWhitelistGroupResult.cc
+	src/model/ModifyParameterRequest.cc
+	src/model/ModifyParameterResult.cc
+	src/model/ModifySecurityGroupsRequest.cc
+	src/model/ModifySecurityGroupsResult.cc
+	src/model/PurgeClusterRequest.cc
+	src/model/PurgeClusterResult.cc
+	src/model/RebootClusterRequest.cc
+	src/model/RebootClusterResult.cc
+	src/model/ReleasePublicContactPointsRequest.cc
+	src/model/ReleasePublicContactPointsResult.cc
+	src/model/ResizeDiskSizeRequest.cc
+	src/model/ResizeDiskSizeResult.cc
+	src/model/ResizeNodeCountRequest.cc
+	src/model/ResizeNodeCountResult.cc
+	src/model/UpgradeClusterVersionRequest.cc
+	src/model/UpgradeClusterVersionResult.cc )
+
+add_library(cassandra ${LIB_TYPE}
+	${cassandra_public_header}
+	${cassandra_public_header_model}
+	${cassandra_src})
+
+set_target_properties(cassandra
+	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}cassandra
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(cassandra
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_CASSANDRA_LIBRARY)
+endif()
+
+target_include_directories(cassandra
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(cassandra
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(cassandra
+		jsoncpp)
+	target_include_directories(cassandra
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(cassandra
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(cassandra
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(cassandra
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(cassandra
+		jsoncpp)
+endif()
+
+install(FILES ${cassandra_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/cassandra)
+install(FILES ${cassandra_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/cassandra/model)
+install(TARGETS cassandra
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 414 - 0
cassandra/include/alibabacloud/cassandra/CassandraClient.h

@@ -0,0 +1,414 @@
+/*
+ * 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_CASSANDRA_CASSANDRACLIENT_H_
+#define ALIBABACLOUD_CASSANDRA_CASSANDRACLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "CassandraExport.h"
+#include "model/AllocatePublicContactPointsRequest.h"
+#include "model/AllocatePublicContactPointsResult.h"
+#include "model/CreateBackupPlanRequest.h"
+#include "model/CreateBackupPlanResult.h"
+#include "model/CreateClusterRequest.h"
+#include "model/CreateClusterResult.h"
+#include "model/CreateDataCenterRequest.h"
+#include "model/CreateDataCenterResult.h"
+#include "model/DeleteBackupPlanRequest.h"
+#include "model/DeleteBackupPlanResult.h"
+#include "model/DeleteClusterRequest.h"
+#include "model/DeleteClusterResult.h"
+#include "model/DeleteDataCenterRequest.h"
+#include "model/DeleteDataCenterResult.h"
+#include "model/DeleteNodeToolExecutionHistoryRequest.h"
+#include "model/DeleteNodeToolExecutionHistoryResult.h"
+#include "model/DescribeAccountsRequest.h"
+#include "model/DescribeAccountsResult.h"
+#include "model/DescribeBackupRequest.h"
+#include "model/DescribeBackupResult.h"
+#include "model/DescribeBackupPlanRequest.h"
+#include "model/DescribeBackupPlanResult.h"
+#include "model/DescribeBackupPlansRequest.h"
+#include "model/DescribeBackupPlansResult.h"
+#include "model/DescribeBackupsRequest.h"
+#include "model/DescribeBackupsResult.h"
+#include "model/DescribeClusterRequest.h"
+#include "model/DescribeClusterResult.h"
+#include "model/DescribeClusterDashboardRequest.h"
+#include "model/DescribeClusterDashboardResult.h"
+#include "model/DescribeClusterStatusRequest.h"
+#include "model/DescribeClusterStatusResult.h"
+#include "model/DescribeClustersRequest.h"
+#include "model/DescribeClustersResult.h"
+#include "model/DescribeContactPointsRequest.h"
+#include "model/DescribeContactPointsResult.h"
+#include "model/DescribeDataCentersRequest.h"
+#include "model/DescribeDataCentersResult.h"
+#include "model/DescribeDeletedClustersRequest.h"
+#include "model/DescribeDeletedClustersResult.h"
+#include "model/DescribeInstanceTypeRequest.h"
+#include "model/DescribeInstanceTypeResult.h"
+#include "model/DescribeIpWhitelistRequest.h"
+#include "model/DescribeIpWhitelistResult.h"
+#include "model/DescribeIpWhitelistGroupsRequest.h"
+#include "model/DescribeIpWhitelistGroupsResult.h"
+#include "model/DescribeNodeToolExecutionHistoriesRequest.h"
+#include "model/DescribeNodeToolExecutionHistoriesResult.h"
+#include "model/DescribeParameterModificationHistoriesRequest.h"
+#include "model/DescribeParameterModificationHistoriesResult.h"
+#include "model/DescribeParametersRequest.h"
+#include "model/DescribeParametersResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/DescribeSecurityGroupsRequest.h"
+#include "model/DescribeSecurityGroupsResult.h"
+#include "model/ExecuteNodeToolRequest.h"
+#include "model/ExecuteNodeToolResult.h"
+#include "model/GetCmsUrlRequest.h"
+#include "model/GetCmsUrlResult.h"
+#include "model/ModifyAccountPasswordRequest.h"
+#include "model/ModifyAccountPasswordResult.h"
+#include "model/ModifyBackupPlanRequest.h"
+#include "model/ModifyBackupPlanResult.h"
+#include "model/ModifyClusterRequest.h"
+#include "model/ModifyClusterResult.h"
+#include "model/ModifyDataCenterRequest.h"
+#include "model/ModifyDataCenterResult.h"
+#include "model/ModifyInstanceMaintainTimeRequest.h"
+#include "model/ModifyInstanceMaintainTimeResult.h"
+#include "model/ModifyInstanceTypeRequest.h"
+#include "model/ModifyInstanceTypeResult.h"
+#include "model/ModifyIpWhitelistRequest.h"
+#include "model/ModifyIpWhitelistResult.h"
+#include "model/ModifyIpWhitelistGroupRequest.h"
+#include "model/ModifyIpWhitelistGroupResult.h"
+#include "model/ModifyParameterRequest.h"
+#include "model/ModifyParameterResult.h"
+#include "model/ModifySecurityGroupsRequest.h"
+#include "model/ModifySecurityGroupsResult.h"
+#include "model/PurgeClusterRequest.h"
+#include "model/PurgeClusterResult.h"
+#include "model/RebootClusterRequest.h"
+#include "model/RebootClusterResult.h"
+#include "model/ReleasePublicContactPointsRequest.h"
+#include "model/ReleasePublicContactPointsResult.h"
+#include "model/ResizeDiskSizeRequest.h"
+#include "model/ResizeDiskSizeResult.h"
+#include "model/ResizeNodeCountRequest.h"
+#include "model/ResizeNodeCountResult.h"
+#include "model/UpgradeClusterVersionRequest.h"
+#include "model/UpgradeClusterVersionResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		class ALIBABACLOUD_CASSANDRA_EXPORT CassandraClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::AllocatePublicContactPointsResult> AllocatePublicContactPointsOutcome;
+			typedef std::future<AllocatePublicContactPointsOutcome> AllocatePublicContactPointsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::AllocatePublicContactPointsRequest&, const AllocatePublicContactPointsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocatePublicContactPointsAsyncHandler;
+			typedef Outcome<Error, Model::CreateBackupPlanResult> CreateBackupPlanOutcome;
+			typedef std::future<CreateBackupPlanOutcome> CreateBackupPlanOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::CreateBackupPlanRequest&, const CreateBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateBackupPlanAsyncHandler;
+			typedef Outcome<Error, Model::CreateClusterResult> CreateClusterOutcome;
+			typedef std::future<CreateClusterOutcome> CreateClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::CreateClusterRequest&, const CreateClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateClusterAsyncHandler;
+			typedef Outcome<Error, Model::CreateDataCenterResult> CreateDataCenterOutcome;
+			typedef std::future<CreateDataCenterOutcome> CreateDataCenterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::CreateDataCenterRequest&, const CreateDataCenterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDataCenterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteBackupPlanResult> DeleteBackupPlanOutcome;
+			typedef std::future<DeleteBackupPlanOutcome> DeleteBackupPlanOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DeleteBackupPlanRequest&, const DeleteBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteBackupPlanAsyncHandler;
+			typedef Outcome<Error, Model::DeleteClusterResult> DeleteClusterOutcome;
+			typedef std::future<DeleteClusterOutcome> DeleteClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DeleteClusterRequest&, const DeleteClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClusterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDataCenterResult> DeleteDataCenterOutcome;
+			typedef std::future<DeleteDataCenterOutcome> DeleteDataCenterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DeleteDataCenterRequest&, const DeleteDataCenterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDataCenterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteNodeToolExecutionHistoryResult> DeleteNodeToolExecutionHistoryOutcome;
+			typedef std::future<DeleteNodeToolExecutionHistoryOutcome> DeleteNodeToolExecutionHistoryOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DeleteNodeToolExecutionHistoryRequest&, const DeleteNodeToolExecutionHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteNodeToolExecutionHistoryAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAccountsResult> DescribeAccountsOutcome;
+			typedef std::future<DescribeAccountsOutcome> DescribeAccountsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeAccountsRequest&, const DescribeAccountsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAccountsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupResult> DescribeBackupOutcome;
+			typedef std::future<DescribeBackupOutcome> DescribeBackupOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeBackupRequest&, const DescribeBackupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupPlanResult> DescribeBackupPlanOutcome;
+			typedef std::future<DescribeBackupPlanOutcome> DescribeBackupPlanOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeBackupPlanRequest&, const DescribeBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupPlanAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupPlansResult> DescribeBackupPlansOutcome;
+			typedef std::future<DescribeBackupPlansOutcome> DescribeBackupPlansOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeBackupPlansRequest&, const DescribeBackupPlansOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupPlansAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupsResult> DescribeBackupsOutcome;
+			typedef std::future<DescribeBackupsOutcome> DescribeBackupsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeBackupsRequest&, const DescribeBackupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClusterResult> DescribeClusterOutcome;
+			typedef std::future<DescribeClusterOutcome> DescribeClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeClusterRequest&, const DescribeClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClusterDashboardResult> DescribeClusterDashboardOutcome;
+			typedef std::future<DescribeClusterDashboardOutcome> DescribeClusterDashboardOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeClusterDashboardRequest&, const DescribeClusterDashboardOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterDashboardAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClusterStatusResult> DescribeClusterStatusOutcome;
+			typedef std::future<DescribeClusterStatusOutcome> DescribeClusterStatusOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeClusterStatusRequest&, const DescribeClusterStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClustersResult> DescribeClustersOutcome;
+			typedef std::future<DescribeClustersOutcome> DescribeClustersOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeClustersRequest&, const DescribeClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClustersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeContactPointsResult> DescribeContactPointsOutcome;
+			typedef std::future<DescribeContactPointsOutcome> DescribeContactPointsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeContactPointsRequest&, const DescribeContactPointsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeContactPointsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDataCentersResult> DescribeDataCentersOutcome;
+			typedef std::future<DescribeDataCentersOutcome> DescribeDataCentersOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeDataCentersRequest&, const DescribeDataCentersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDataCentersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDeletedClustersResult> DescribeDeletedClustersOutcome;
+			typedef std::future<DescribeDeletedClustersOutcome> DescribeDeletedClustersOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeDeletedClustersRequest&, const DescribeDeletedClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDeletedClustersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceTypeResult> DescribeInstanceTypeOutcome;
+			typedef std::future<DescribeInstanceTypeOutcome> DescribeInstanceTypeOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeInstanceTypeRequest&, const DescribeInstanceTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceTypeAsyncHandler;
+			typedef Outcome<Error, Model::DescribeIpWhitelistResult> DescribeIpWhitelistOutcome;
+			typedef std::future<DescribeIpWhitelistOutcome> DescribeIpWhitelistOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeIpWhitelistRequest&, const DescribeIpWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIpWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::DescribeIpWhitelistGroupsResult> DescribeIpWhitelistGroupsOutcome;
+			typedef std::future<DescribeIpWhitelistGroupsOutcome> DescribeIpWhitelistGroupsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeIpWhitelistGroupsRequest&, const DescribeIpWhitelistGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIpWhitelistGroupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeNodeToolExecutionHistoriesResult> DescribeNodeToolExecutionHistoriesOutcome;
+			typedef std::future<DescribeNodeToolExecutionHistoriesOutcome> DescribeNodeToolExecutionHistoriesOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeNodeToolExecutionHistoriesRequest&, const DescribeNodeToolExecutionHistoriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNodeToolExecutionHistoriesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeParameterModificationHistoriesResult> DescribeParameterModificationHistoriesOutcome;
+			typedef std::future<DescribeParameterModificationHistoriesOutcome> DescribeParameterModificationHistoriesOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeParameterModificationHistoriesRequest&, const DescribeParameterModificationHistoriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParameterModificationHistoriesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeParametersResult> DescribeParametersOutcome;
+			typedef std::future<DescribeParametersOutcome> DescribeParametersOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeParametersRequest&, const DescribeParametersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParametersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSecurityGroupsResult> DescribeSecurityGroupsOutcome;
+			typedef std::future<DescribeSecurityGroupsOutcome> DescribeSecurityGroupsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::DescribeSecurityGroupsRequest&, const DescribeSecurityGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSecurityGroupsAsyncHandler;
+			typedef Outcome<Error, Model::ExecuteNodeToolResult> ExecuteNodeToolOutcome;
+			typedef std::future<ExecuteNodeToolOutcome> ExecuteNodeToolOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ExecuteNodeToolRequest&, const ExecuteNodeToolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ExecuteNodeToolAsyncHandler;
+			typedef Outcome<Error, Model::GetCmsUrlResult> GetCmsUrlOutcome;
+			typedef std::future<GetCmsUrlOutcome> GetCmsUrlOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::GetCmsUrlRequest&, const GetCmsUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCmsUrlAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAccountPasswordResult> ModifyAccountPasswordOutcome;
+			typedef std::future<ModifyAccountPasswordOutcome> ModifyAccountPasswordOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyAccountPasswordRequest&, const ModifyAccountPasswordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAccountPasswordAsyncHandler;
+			typedef Outcome<Error, Model::ModifyBackupPlanResult> ModifyBackupPlanOutcome;
+			typedef std::future<ModifyBackupPlanOutcome> ModifyBackupPlanOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyBackupPlanRequest&, const ModifyBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBackupPlanAsyncHandler;
+			typedef Outcome<Error, Model::ModifyClusterResult> ModifyClusterOutcome;
+			typedef std::future<ModifyClusterOutcome> ModifyClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyClusterRequest&, const ModifyClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyClusterAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDataCenterResult> ModifyDataCenterOutcome;
+			typedef std::future<ModifyDataCenterOutcome> ModifyDataCenterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyDataCenterRequest&, const ModifyDataCenterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDataCenterAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceMaintainTimeResult> ModifyInstanceMaintainTimeOutcome;
+			typedef std::future<ModifyInstanceMaintainTimeOutcome> ModifyInstanceMaintainTimeOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyInstanceMaintainTimeRequest&, const ModifyInstanceMaintainTimeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceMaintainTimeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceTypeResult> ModifyInstanceTypeOutcome;
+			typedef std::future<ModifyInstanceTypeOutcome> ModifyInstanceTypeOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyInstanceTypeRequest&, const ModifyInstanceTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceTypeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyIpWhitelistResult> ModifyIpWhitelistOutcome;
+			typedef std::future<ModifyIpWhitelistOutcome> ModifyIpWhitelistOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyIpWhitelistRequest&, const ModifyIpWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyIpWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::ModifyIpWhitelistGroupResult> ModifyIpWhitelistGroupOutcome;
+			typedef std::future<ModifyIpWhitelistGroupOutcome> ModifyIpWhitelistGroupOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyIpWhitelistGroupRequest&, const ModifyIpWhitelistGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyIpWhitelistGroupAsyncHandler;
+			typedef Outcome<Error, Model::ModifyParameterResult> ModifyParameterOutcome;
+			typedef std::future<ModifyParameterOutcome> ModifyParameterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifyParameterRequest&, const ModifyParameterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyParameterAsyncHandler;
+			typedef Outcome<Error, Model::ModifySecurityGroupsResult> ModifySecurityGroupsOutcome;
+			typedef std::future<ModifySecurityGroupsOutcome> ModifySecurityGroupsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ModifySecurityGroupsRequest&, const ModifySecurityGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifySecurityGroupsAsyncHandler;
+			typedef Outcome<Error, Model::PurgeClusterResult> PurgeClusterOutcome;
+			typedef std::future<PurgeClusterOutcome> PurgeClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::PurgeClusterRequest&, const PurgeClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PurgeClusterAsyncHandler;
+			typedef Outcome<Error, Model::RebootClusterResult> RebootClusterOutcome;
+			typedef std::future<RebootClusterOutcome> RebootClusterOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::RebootClusterRequest&, const RebootClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RebootClusterAsyncHandler;
+			typedef Outcome<Error, Model::ReleasePublicContactPointsResult> ReleasePublicContactPointsOutcome;
+			typedef std::future<ReleasePublicContactPointsOutcome> ReleasePublicContactPointsOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ReleasePublicContactPointsRequest&, const ReleasePublicContactPointsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleasePublicContactPointsAsyncHandler;
+			typedef Outcome<Error, Model::ResizeDiskSizeResult> ResizeDiskSizeOutcome;
+			typedef std::future<ResizeDiskSizeOutcome> ResizeDiskSizeOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ResizeDiskSizeRequest&, const ResizeDiskSizeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeDiskSizeAsyncHandler;
+			typedef Outcome<Error, Model::ResizeNodeCountResult> ResizeNodeCountOutcome;
+			typedef std::future<ResizeNodeCountOutcome> ResizeNodeCountOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::ResizeNodeCountRequest&, const ResizeNodeCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeNodeCountAsyncHandler;
+			typedef Outcome<Error, Model::UpgradeClusterVersionResult> UpgradeClusterVersionOutcome;
+			typedef std::future<UpgradeClusterVersionOutcome> UpgradeClusterVersionOutcomeCallable;
+			typedef std::function<void(const CassandraClient*, const Model::UpgradeClusterVersionRequest&, const UpgradeClusterVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeClusterVersionAsyncHandler;
+
+			CassandraClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			CassandraClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			CassandraClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~CassandraClient();
+			AllocatePublicContactPointsOutcome allocatePublicContactPoints(const Model::AllocatePublicContactPointsRequest &request)const;
+			void allocatePublicContactPointsAsync(const Model::AllocatePublicContactPointsRequest& request, const AllocatePublicContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AllocatePublicContactPointsOutcomeCallable allocatePublicContactPointsCallable(const Model::AllocatePublicContactPointsRequest& request) const;
+			CreateBackupPlanOutcome createBackupPlan(const Model::CreateBackupPlanRequest &request)const;
+			void createBackupPlanAsync(const Model::CreateBackupPlanRequest& request, const CreateBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateBackupPlanOutcomeCallable createBackupPlanCallable(const Model::CreateBackupPlanRequest& request) const;
+			CreateClusterOutcome createCluster(const Model::CreateClusterRequest &request)const;
+			void createClusterAsync(const Model::CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateClusterOutcomeCallable createClusterCallable(const Model::CreateClusterRequest& request) const;
+			CreateDataCenterOutcome createDataCenter(const Model::CreateDataCenterRequest &request)const;
+			void createDataCenterAsync(const Model::CreateDataCenterRequest& request, const CreateDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDataCenterOutcomeCallable createDataCenterCallable(const Model::CreateDataCenterRequest& request) const;
+			DeleteBackupPlanOutcome deleteBackupPlan(const Model::DeleteBackupPlanRequest &request)const;
+			void deleteBackupPlanAsync(const Model::DeleteBackupPlanRequest& request, const DeleteBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteBackupPlanOutcomeCallable deleteBackupPlanCallable(const Model::DeleteBackupPlanRequest& request) const;
+			DeleteClusterOutcome deleteCluster(const Model::DeleteClusterRequest &request)const;
+			void deleteClusterAsync(const Model::DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteClusterOutcomeCallable deleteClusterCallable(const Model::DeleteClusterRequest& request) const;
+			DeleteDataCenterOutcome deleteDataCenter(const Model::DeleteDataCenterRequest &request)const;
+			void deleteDataCenterAsync(const Model::DeleteDataCenterRequest& request, const DeleteDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDataCenterOutcomeCallable deleteDataCenterCallable(const Model::DeleteDataCenterRequest& request) const;
+			DeleteNodeToolExecutionHistoryOutcome deleteNodeToolExecutionHistory(const Model::DeleteNodeToolExecutionHistoryRequest &request)const;
+			void deleteNodeToolExecutionHistoryAsync(const Model::DeleteNodeToolExecutionHistoryRequest& request, const DeleteNodeToolExecutionHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteNodeToolExecutionHistoryOutcomeCallable deleteNodeToolExecutionHistoryCallable(const Model::DeleteNodeToolExecutionHistoryRequest& request) const;
+			DescribeAccountsOutcome describeAccounts(const Model::DescribeAccountsRequest &request)const;
+			void describeAccountsAsync(const Model::DescribeAccountsRequest& request, const DescribeAccountsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAccountsOutcomeCallable describeAccountsCallable(const Model::DescribeAccountsRequest& request) const;
+			DescribeBackupOutcome describeBackup(const Model::DescribeBackupRequest &request)const;
+			void describeBackupAsync(const Model::DescribeBackupRequest& request, const DescribeBackupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupOutcomeCallable describeBackupCallable(const Model::DescribeBackupRequest& request) const;
+			DescribeBackupPlanOutcome describeBackupPlan(const Model::DescribeBackupPlanRequest &request)const;
+			void describeBackupPlanAsync(const Model::DescribeBackupPlanRequest& request, const DescribeBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupPlanOutcomeCallable describeBackupPlanCallable(const Model::DescribeBackupPlanRequest& request) const;
+			DescribeBackupPlansOutcome describeBackupPlans(const Model::DescribeBackupPlansRequest &request)const;
+			void describeBackupPlansAsync(const Model::DescribeBackupPlansRequest& request, const DescribeBackupPlansAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupPlansOutcomeCallable describeBackupPlansCallable(const Model::DescribeBackupPlansRequest& request) const;
+			DescribeBackupsOutcome describeBackups(const Model::DescribeBackupsRequest &request)const;
+			void describeBackupsAsync(const Model::DescribeBackupsRequest& request, const DescribeBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupsOutcomeCallable describeBackupsCallable(const Model::DescribeBackupsRequest& request) const;
+			DescribeClusterOutcome describeCluster(const Model::DescribeClusterRequest &request)const;
+			void describeClusterAsync(const Model::DescribeClusterRequest& request, const DescribeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterOutcomeCallable describeClusterCallable(const Model::DescribeClusterRequest& request) const;
+			DescribeClusterDashboardOutcome describeClusterDashboard(const Model::DescribeClusterDashboardRequest &request)const;
+			void describeClusterDashboardAsync(const Model::DescribeClusterDashboardRequest& request, const DescribeClusterDashboardAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterDashboardOutcomeCallable describeClusterDashboardCallable(const Model::DescribeClusterDashboardRequest& request) const;
+			DescribeClusterStatusOutcome describeClusterStatus(const Model::DescribeClusterStatusRequest &request)const;
+			void describeClusterStatusAsync(const Model::DescribeClusterStatusRequest& request, const DescribeClusterStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterStatusOutcomeCallable describeClusterStatusCallable(const Model::DescribeClusterStatusRequest& request) const;
+			DescribeClustersOutcome describeClusters(const Model::DescribeClustersRequest &request)const;
+			void describeClustersAsync(const Model::DescribeClustersRequest& request, const DescribeClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClustersOutcomeCallable describeClustersCallable(const Model::DescribeClustersRequest& request) const;
+			DescribeContactPointsOutcome describeContactPoints(const Model::DescribeContactPointsRequest &request)const;
+			void describeContactPointsAsync(const Model::DescribeContactPointsRequest& request, const DescribeContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeContactPointsOutcomeCallable describeContactPointsCallable(const Model::DescribeContactPointsRequest& request) const;
+			DescribeDataCentersOutcome describeDataCenters(const Model::DescribeDataCentersRequest &request)const;
+			void describeDataCentersAsync(const Model::DescribeDataCentersRequest& request, const DescribeDataCentersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDataCentersOutcomeCallable describeDataCentersCallable(const Model::DescribeDataCentersRequest& request) const;
+			DescribeDeletedClustersOutcome describeDeletedClusters(const Model::DescribeDeletedClustersRequest &request)const;
+			void describeDeletedClustersAsync(const Model::DescribeDeletedClustersRequest& request, const DescribeDeletedClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDeletedClustersOutcomeCallable describeDeletedClustersCallable(const Model::DescribeDeletedClustersRequest& request) const;
+			DescribeInstanceTypeOutcome describeInstanceType(const Model::DescribeInstanceTypeRequest &request)const;
+			void describeInstanceTypeAsync(const Model::DescribeInstanceTypeRequest& request, const DescribeInstanceTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceTypeOutcomeCallable describeInstanceTypeCallable(const Model::DescribeInstanceTypeRequest& request) const;
+			DescribeIpWhitelistOutcome describeIpWhitelist(const Model::DescribeIpWhitelistRequest &request)const;
+			void describeIpWhitelistAsync(const Model::DescribeIpWhitelistRequest& request, const DescribeIpWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeIpWhitelistOutcomeCallable describeIpWhitelistCallable(const Model::DescribeIpWhitelistRequest& request) const;
+			DescribeIpWhitelistGroupsOutcome describeIpWhitelistGroups(const Model::DescribeIpWhitelistGroupsRequest &request)const;
+			void describeIpWhitelistGroupsAsync(const Model::DescribeIpWhitelistGroupsRequest& request, const DescribeIpWhitelistGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeIpWhitelistGroupsOutcomeCallable describeIpWhitelistGroupsCallable(const Model::DescribeIpWhitelistGroupsRequest& request) const;
+			DescribeNodeToolExecutionHistoriesOutcome describeNodeToolExecutionHistories(const Model::DescribeNodeToolExecutionHistoriesRequest &request)const;
+			void describeNodeToolExecutionHistoriesAsync(const Model::DescribeNodeToolExecutionHistoriesRequest& request, const DescribeNodeToolExecutionHistoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeNodeToolExecutionHistoriesOutcomeCallable describeNodeToolExecutionHistoriesCallable(const Model::DescribeNodeToolExecutionHistoriesRequest& request) const;
+			DescribeParameterModificationHistoriesOutcome describeParameterModificationHistories(const Model::DescribeParameterModificationHistoriesRequest &request)const;
+			void describeParameterModificationHistoriesAsync(const Model::DescribeParameterModificationHistoriesRequest& request, const DescribeParameterModificationHistoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeParameterModificationHistoriesOutcomeCallable describeParameterModificationHistoriesCallable(const Model::DescribeParameterModificationHistoriesRequest& request) const;
+			DescribeParametersOutcome describeParameters(const Model::DescribeParametersRequest &request)const;
+			void describeParametersAsync(const Model::DescribeParametersRequest& request, const DescribeParametersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeParametersOutcomeCallable describeParametersCallable(const Model::DescribeParametersRequest& 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;
+			DescribeSecurityGroupsOutcome describeSecurityGroups(const Model::DescribeSecurityGroupsRequest &request)const;
+			void describeSecurityGroupsAsync(const Model::DescribeSecurityGroupsRequest& request, const DescribeSecurityGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSecurityGroupsOutcomeCallable describeSecurityGroupsCallable(const Model::DescribeSecurityGroupsRequest& request) const;
+			ExecuteNodeToolOutcome executeNodeTool(const Model::ExecuteNodeToolRequest &request)const;
+			void executeNodeToolAsync(const Model::ExecuteNodeToolRequest& request, const ExecuteNodeToolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ExecuteNodeToolOutcomeCallable executeNodeToolCallable(const Model::ExecuteNodeToolRequest& request) const;
+			GetCmsUrlOutcome getCmsUrl(const Model::GetCmsUrlRequest &request)const;
+			void getCmsUrlAsync(const Model::GetCmsUrlRequest& request, const GetCmsUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCmsUrlOutcomeCallable getCmsUrlCallable(const Model::GetCmsUrlRequest& request) const;
+			ModifyAccountPasswordOutcome modifyAccountPassword(const Model::ModifyAccountPasswordRequest &request)const;
+			void modifyAccountPasswordAsync(const Model::ModifyAccountPasswordRequest& request, const ModifyAccountPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAccountPasswordOutcomeCallable modifyAccountPasswordCallable(const Model::ModifyAccountPasswordRequest& request) const;
+			ModifyBackupPlanOutcome modifyBackupPlan(const Model::ModifyBackupPlanRequest &request)const;
+			void modifyBackupPlanAsync(const Model::ModifyBackupPlanRequest& request, const ModifyBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyBackupPlanOutcomeCallable modifyBackupPlanCallable(const Model::ModifyBackupPlanRequest& request) const;
+			ModifyClusterOutcome modifyCluster(const Model::ModifyClusterRequest &request)const;
+			void modifyClusterAsync(const Model::ModifyClusterRequest& request, const ModifyClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyClusterOutcomeCallable modifyClusterCallable(const Model::ModifyClusterRequest& request) const;
+			ModifyDataCenterOutcome modifyDataCenter(const Model::ModifyDataCenterRequest &request)const;
+			void modifyDataCenterAsync(const Model::ModifyDataCenterRequest& request, const ModifyDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDataCenterOutcomeCallable modifyDataCenterCallable(const Model::ModifyDataCenterRequest& request) const;
+			ModifyInstanceMaintainTimeOutcome modifyInstanceMaintainTime(const Model::ModifyInstanceMaintainTimeRequest &request)const;
+			void modifyInstanceMaintainTimeAsync(const Model::ModifyInstanceMaintainTimeRequest& request, const ModifyInstanceMaintainTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceMaintainTimeOutcomeCallable modifyInstanceMaintainTimeCallable(const Model::ModifyInstanceMaintainTimeRequest& request) const;
+			ModifyInstanceTypeOutcome modifyInstanceType(const Model::ModifyInstanceTypeRequest &request)const;
+			void modifyInstanceTypeAsync(const Model::ModifyInstanceTypeRequest& request, const ModifyInstanceTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceTypeOutcomeCallable modifyInstanceTypeCallable(const Model::ModifyInstanceTypeRequest& request) const;
+			ModifyIpWhitelistOutcome modifyIpWhitelist(const Model::ModifyIpWhitelistRequest &request)const;
+			void modifyIpWhitelistAsync(const Model::ModifyIpWhitelistRequest& request, const ModifyIpWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyIpWhitelistOutcomeCallable modifyIpWhitelistCallable(const Model::ModifyIpWhitelistRequest& request) const;
+			ModifyIpWhitelistGroupOutcome modifyIpWhitelistGroup(const Model::ModifyIpWhitelistGroupRequest &request)const;
+			void modifyIpWhitelistGroupAsync(const Model::ModifyIpWhitelistGroupRequest& request, const ModifyIpWhitelistGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyIpWhitelistGroupOutcomeCallable modifyIpWhitelistGroupCallable(const Model::ModifyIpWhitelistGroupRequest& request) const;
+			ModifyParameterOutcome modifyParameter(const Model::ModifyParameterRequest &request)const;
+			void modifyParameterAsync(const Model::ModifyParameterRequest& request, const ModifyParameterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyParameterOutcomeCallable modifyParameterCallable(const Model::ModifyParameterRequest& request) const;
+			ModifySecurityGroupsOutcome modifySecurityGroups(const Model::ModifySecurityGroupsRequest &request)const;
+			void modifySecurityGroupsAsync(const Model::ModifySecurityGroupsRequest& request, const ModifySecurityGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifySecurityGroupsOutcomeCallable modifySecurityGroupsCallable(const Model::ModifySecurityGroupsRequest& request) const;
+			PurgeClusterOutcome purgeCluster(const Model::PurgeClusterRequest &request)const;
+			void purgeClusterAsync(const Model::PurgeClusterRequest& request, const PurgeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PurgeClusterOutcomeCallable purgeClusterCallable(const Model::PurgeClusterRequest& request) const;
+			RebootClusterOutcome rebootCluster(const Model::RebootClusterRequest &request)const;
+			void rebootClusterAsync(const Model::RebootClusterRequest& request, const RebootClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RebootClusterOutcomeCallable rebootClusterCallable(const Model::RebootClusterRequest& request) const;
+			ReleasePublicContactPointsOutcome releasePublicContactPoints(const Model::ReleasePublicContactPointsRequest &request)const;
+			void releasePublicContactPointsAsync(const Model::ReleasePublicContactPointsRequest& request, const ReleasePublicContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReleasePublicContactPointsOutcomeCallable releasePublicContactPointsCallable(const Model::ReleasePublicContactPointsRequest& request) const;
+			ResizeDiskSizeOutcome resizeDiskSize(const Model::ResizeDiskSizeRequest &request)const;
+			void resizeDiskSizeAsync(const Model::ResizeDiskSizeRequest& request, const ResizeDiskSizeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResizeDiskSizeOutcomeCallable resizeDiskSizeCallable(const Model::ResizeDiskSizeRequest& request) const;
+			ResizeNodeCountOutcome resizeNodeCount(const Model::ResizeNodeCountRequest &request)const;
+			void resizeNodeCountAsync(const Model::ResizeNodeCountRequest& request, const ResizeNodeCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResizeNodeCountOutcomeCallable resizeNodeCountCallable(const Model::ResizeNodeCountRequest& request) const;
+			UpgradeClusterVersionOutcome upgradeClusterVersion(const Model::UpgradeClusterVersionRequest &request)const;
+			void upgradeClusterVersionAsync(const Model::UpgradeClusterVersionRequest& request, const UpgradeClusterVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpgradeClusterVersionOutcomeCallable upgradeClusterVersionCallable(const Model::UpgradeClusterVersionRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_CASSANDRA_CASSANDRACLIENT_H_

+ 32 - 0
cassandra/include/alibabacloud/cassandra/CassandraExport.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_CASSANDRA_CASSANDRAEXPORT_H_
+#define ALIBABACLOUD_CASSANDRA_CASSANDRAEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_CASSANDRA_LIBRARY)
+#		define ALIBABACLOUD_CASSANDRA_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_CASSANDRA_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_CASSANDRA_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_CASSANDRA_CASSANDRAEXPORT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/AllocatePublicContactPointsRequest.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_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT AllocatePublicContactPointsRequest : public RpcServiceRequest
+			{
+
+			public:
+				AllocatePublicContactPointsRequest();
+				~AllocatePublicContactPointsRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/AllocatePublicContactPointsResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT AllocatePublicContactPointsResult : public ServiceResult
+			{
+			public:
+
+
+				AllocatePublicContactPointsResult();
+				explicit AllocatePublicContactPointsResult(const std::string &payload);
+				~AllocatePublicContactPointsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_ALLOCATEPUBLICCONTACTPOINTSRESULT_H_

+ 63 - 0
cassandra/include/alibabacloud/cassandra/model/CreateBackupPlanRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_CASSANDRA_MODEL_CREATEBACKUPPLANREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATEBACKUPPLANREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateBackupPlanRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateBackupPlanRequest();
+				~CreateBackupPlanRequest();
+
+				int getRetentionPeriod()const;
+				void setRetentionPeriod(int retentionPeriod);
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				bool getActive()const;
+				void setActive(bool active);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getBackupTime()const;
+				void setBackupTime(const std::string& backupTime);
+				std::string getBackupPeriod()const;
+				void setBackupPeriod(const std::string& backupPeriod);
+
+            private:
+				int retentionPeriod_;
+				std::string dataCenterId_;
+				bool active_;
+				std::string clusterId_;
+				std::string backupTime_;
+				std::string backupPeriod_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATEBACKUPPLANREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/CreateBackupPlanResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_CREATEBACKUPPLANRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATEBACKUPPLANRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateBackupPlanResult : public ServiceResult
+			{
+			public:
+
+
+				CreateBackupPlanResult();
+				explicit CreateBackupPlanResult(const std::string &payload);
+				~CreateBackupPlanResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATEBACKUPPLANRESULT_H_

+ 99 - 0
cassandra/include/alibabacloud/cassandra/model/CreateClusterRequest.h

@@ -0,0 +1,99 @@
+/*
+ * 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_CASSANDRA_MODEL_CREATECLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATECLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateClusterRequest();
+				~CreateClusterRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getClusterName()const;
+				void setClusterName(const std::string& clusterName);
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				int getAutoRenewPeriod()const;
+				void setAutoRenewPeriod(int autoRenewPeriod);
+				int getPeriod()const;
+				void setPeriod(int period);
+				std::string getMajorVersion()const;
+				void setMajorVersion(const std::string& majorVersion);
+				int getDiskSize()const;
+				void setDiskSize(int diskSize);
+				std::string getDiskType()const;
+				void setDiskType(const std::string& diskType);
+				std::string getVswitchId()const;
+				void setVswitchId(const std::string& vswitchId);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				bool getAutoRenew()const;
+				void setAutoRenew(bool autoRenew);
+				std::string getDataCenterName()const;
+				void setDataCenterName(const std::string& dataCenterName);
+				int getNodeCount()const;
+				void setNodeCount(int nodeCount);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getPayType()const;
+				void setPayType(const std::string& payType);
+
+            private:
+				std::string clientToken_;
+				std::string clusterName_;
+				std::string password_;
+				std::string regionId_;
+				std::string instanceType_;
+				int autoRenewPeriod_;
+				int period_;
+				std::string majorVersion_;
+				int diskSize_;
+				std::string diskType_;
+				std::string vswitchId_;
+				std::string periodUnit_;
+				bool autoRenew_;
+				std::string dataCenterName_;
+				int nodeCount_;
+				std::string vpcId_;
+				std::string zoneId_;
+				std::string payType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATECLUSTERREQUEST_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/CreateClusterResult.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_CASSANDRA_MODEL_CREATECLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATECLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateClusterResult : public ServiceResult
+			{
+			public:
+
+
+				CreateClusterResult();
+				explicit CreateClusterResult(const std::string &payload);
+				~CreateClusterResult();
+				std::string getClusterId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATECLUSTERRESULT_H_

+ 93 - 0
cassandra/include/alibabacloud/cassandra/model/CreateDataCenterRequest.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_CASSANDRA_MODEL_CREATEDATACENTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATEDATACENTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateDataCenterRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDataCenterRequest();
+				~CreateDataCenterRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+				int getAutoRenewPeriod()const;
+				void setAutoRenewPeriod(int autoRenewPeriod);
+				int getPeriod()const;
+				void setPeriod(int period);
+				int getDiskSize()const;
+				void setDiskSize(int diskSize);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getDiskType()const;
+				void setDiskType(const std::string& diskType);
+				std::string getVswitchId()const;
+				void setVswitchId(const std::string& vswitchId);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				bool getAutoRenew()const;
+				void setAutoRenew(bool autoRenew);
+				std::string getDataCenterName()const;
+				void setDataCenterName(const std::string& dataCenterName);
+				int getNodeCount()const;
+				void setNodeCount(int nodeCount);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getPayType()const;
+				void setPayType(const std::string& payType);
+
+            private:
+				std::string clientToken_;
+				std::string regionId_;
+				std::string instanceType_;
+				int autoRenewPeriod_;
+				int period_;
+				int diskSize_;
+				std::string clusterId_;
+				std::string diskType_;
+				std::string vswitchId_;
+				std::string periodUnit_;
+				bool autoRenew_;
+				std::string dataCenterName_;
+				int nodeCount_;
+				std::string vpcId_;
+				std::string zoneId_;
+				std::string payType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATEDATACENTERREQUEST_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/CreateDataCenterResult.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_CASSANDRA_MODEL_CREATEDATACENTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_CREATEDATACENTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT CreateDataCenterResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDataCenterResult();
+				explicit CreateDataCenterResult(const std::string &payload);
+				~CreateDataCenterResult();
+				std::string getDataCenterId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string dataCenterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_CREATEDATACENTERRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteBackupPlanRequest.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_CASSANDRA_MODEL_DELETEBACKUPPLANREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETEBACKUPPLANREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteBackupPlanRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteBackupPlanRequest();
+				~DeleteBackupPlanRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETEBACKUPPLANREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteBackupPlanResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_DELETEBACKUPPLANRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETEBACKUPPLANRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteBackupPlanResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteBackupPlanResult();
+				explicit DeleteBackupPlanResult(const std::string &payload);
+				~DeleteBackupPlanResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETEBACKUPPLANRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteClusterRequest.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_CASSANDRA_MODEL_DELETECLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETECLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteClusterRequest();
+				~DeleteClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETECLUSTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteClusterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_DELETECLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETECLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteClusterResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteClusterResult();
+				explicit DeleteClusterResult(const std::string &payload);
+				~DeleteClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETECLUSTERRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteDataCenterRequest.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_CASSANDRA_MODEL_DELETEDATACENTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETEDATACENTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteDataCenterRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDataCenterRequest();
+				~DeleteDataCenterRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETEDATACENTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteDataCenterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_DELETEDATACENTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETEDATACENTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteDataCenterResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDataCenterResult();
+				explicit DeleteDataCenterResult(const std::string &payload);
+				~DeleteDataCenterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETEDATACENTERRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteNodeToolExecutionHistoryRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteNodeToolExecutionHistoryRequest();
+				~DeleteNodeToolExecutionHistoryRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getJobId()const;
+				void setJobId(const std::string& jobId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/DeleteNodeToolExecutionHistoryResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DeleteNodeToolExecutionHistoryResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteNodeToolExecutionHistoryResult();
+				explicit DeleteNodeToolExecutionHistoryResult(const std::string &payload);
+				~DeleteNodeToolExecutionHistoryResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DELETENODETOOLEXECUTIONHISTORYRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeAccountsRequest.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_CASSANDRA_MODEL_DESCRIBEACCOUNTSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEACCOUNTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeAccountsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAccountsRequest();
+				~DescribeAccountsRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEACCOUNTSREQUEST_H_

+ 55 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeAccountsResult.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_CASSANDRA_MODEL_DESCRIBEACCOUNTSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEACCOUNTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeAccountsResult : public ServiceResult
+			{
+			public:
+				struct Account
+				{
+					std::string name;
+				};
+
+
+				DescribeAccountsResult();
+				explicit DescribeAccountsResult(const std::string &payload);
+				~DescribeAccountsResult();
+				std::vector<Account> getAccounts()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Account> accounts_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEACCOUNTSRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlanRequest.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_CASSANDRA_MODEL_DESCRIBEBACKUPPLANREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupPlanRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupPlanRequest();
+				~DescribeBackupPlanRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANREQUEST_H_

+ 61 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlanResult.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_CASSANDRA_MODEL_DESCRIBEBACKUPPLANRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupPlanResult : public ServiceResult
+			{
+			public:
+				struct BackupPlan
+				{
+					std::string dataCenterId;
+					std::string backupPeriod;
+					bool active;
+					std::string createdTime;
+					std::string clusterId;
+					std::string backupTime;
+					int retentionPeriod;
+				};
+
+
+				DescribeBackupPlanResult();
+				explicit DescribeBackupPlanResult(const std::string &payload);
+				~DescribeBackupPlanResult();
+				BackupPlan getBackupPlan()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				BackupPlan backupPlan_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlansRequest.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_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupPlansRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupPlansRequest();
+				~DescribeBackupPlansRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSREQUEST_H_

+ 61 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupPlansResult.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_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupPlansResult : public ServiceResult
+			{
+			public:
+				struct BackupPlan
+				{
+					std::string dataCenterId;
+					std::string backupPeriod;
+					bool active;
+					std::string createdTime;
+					std::string clusterId;
+					std::string backupTime;
+					int retentionPeriod;
+				};
+
+
+				DescribeBackupPlansResult();
+				explicit DescribeBackupPlansResult(const std::string &payload);
+				~DescribeBackupPlansResult();
+				std::vector<BackupPlan> getBackupPlans()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<BackupPlan> backupPlans_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPPLANSRESULT_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupRequest.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_CASSANDRA_MODEL_DESCRIBEBACKUPREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupRequest();
+				~DescribeBackupRequest();
+
+				std::string getBackupType()const;
+				void setBackupType(const std::string& backupType);
+				std::string getBackupId()const;
+				void setBackupId(const std::string& backupId);
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string backupType_;
+				std::string backupId_;
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPREQUEST_H_

+ 63 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupResult.h

@@ -0,0 +1,63 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEBACKUPRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupResult : public ServiceResult
+			{
+			public:
+				struct Backup
+				{
+					std::string status;
+					std::string dataCenterId;
+					std::string details;
+					std::string endTime;
+					std::string clusterId;
+					long size;
+					std::string startTime;
+					std::string backupId;
+					std::string backupType;
+				};
+
+
+				DescribeBackupResult();
+				explicit DescribeBackupResult(const std::string &payload);
+				~DescribeBackupResult();
+				Backup getBackup()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Backup backup_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEBACKUPSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupsRequest();
+				~DescribeBackupsRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getBackupType()const;
+				void setBackupType(const std::string& backupType);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				std::string backupType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPSREQUEST_H_

+ 62 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeBackupsResult.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_CASSANDRA_MODEL_DESCRIBEBACKUPSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeBackupsResult : public ServiceResult
+			{
+			public:
+				struct Backup
+				{
+					std::string status;
+					std::string dataCenterId;
+					std::string endTime;
+					std::string clusterId;
+					long size;
+					std::string startTime;
+					std::string backupId;
+					std::string backupType;
+				};
+
+
+				DescribeBackupsResult();
+				explicit DescribeBackupsResult(const std::string &payload);
+				~DescribeBackupsResult();
+				std::vector<Backup> getBackups()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Backup> backups_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEBACKUPSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterDashboardRequest.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_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterDashboardRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeClusterDashboardRequest();
+				~DescribeClusterDashboardRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDREQUEST_H_

+ 67 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterDashboardResult.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_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterDashboardResult : public ServiceResult
+			{
+			public:
+				struct Dashboard
+				{
+					struct DataCenter
+					{
+						struct Node
+						{
+							std::string status;
+							std::string load;
+							std::string address;
+						};
+						std::string dataCenterId;
+						std::vector<DataCenter::Node> nodes;
+					};
+					std::vector<DataCenter> dataCenters;
+					std::string clusterId;
+				};
+
+
+				DescribeClusterDashboardResult();
+				explicit DescribeClusterDashboardResult(const std::string &payload);
+				~DescribeClusterDashboardResult();
+				Dashboard getDashboard()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Dashboard dashboard_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERDASHBOARDRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterRequest.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_CASSANDRA_MODEL_DESCRIBECLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeClusterRequest();
+				~DescribeClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERREQUEST_H_

+ 67 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterResult.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_CASSANDRA_MODEL_DESCRIBECLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterResult : public ServiceResult
+			{
+			public:
+				struct Cluster
+				{
+					std::string status;
+					std::string majorVersion;
+					std::string createdTime;
+					std::string clusterId;
+					std::string minorVersion;
+					std::string payType;
+					std::string lockMode;
+					bool isLatestVersion;
+					std::string maintainEndTime;
+					int dataCenterCount;
+					std::string clusterName;
+					std::string expireTime;
+					std::string maintainStartTime;
+				};
+
+
+				DescribeClusterResult();
+				explicit DescribeClusterResult(const std::string &payload);
+				~DescribeClusterResult();
+				Cluster getCluster()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Cluster cluster_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterStatusRequest.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_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeClusterStatusRequest();
+				~DescribeClusterStatusRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSREQUEST_H_

+ 53 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClusterStatusResult.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_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClusterStatusResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeClusterStatusResult();
+				explicit DescribeClusterStatusResult(const std::string &payload);
+				~DescribeClusterStatusResult();
+				std::string getStatus()const;
+				std::string getCreatedTime()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				std::string createdTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSTATUSRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClustersRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBECLUSTERSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClustersRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeClustersRequest();
+				~DescribeClustersRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				std::string regionId_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSREQUEST_H_

+ 70 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeClustersResult.h

@@ -0,0 +1,70 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBECLUSTERSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeClustersResult : public ServiceResult
+			{
+			public:
+				struct Cluster
+				{
+					std::string status;
+					std::string majorVersion;
+					std::string createdTime;
+					std::string clusterId;
+					int dataCenterCount;
+					std::string clusterName;
+					std::string minorVersion;
+					std::string payType;
+					std::string lockMode;
+					std::string expireTime;
+				};
+
+
+				DescribeClustersResult();
+				explicit DescribeClustersResult(const std::string &payload);
+				~DescribeClustersResult();
+				long getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Cluster> getClusters()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Cluster> clusters_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECLUSTERSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeContactPointsRequest.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_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeContactPointsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeContactPointsRequest();
+				~DescribeContactPointsRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSREQUEST_H_

+ 58 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeContactPointsResult.h

@@ -0,0 +1,58 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeContactPointsResult : public ServiceResult
+			{
+			public:
+				struct ContactPoint
+				{
+					std::string dataCenterId;
+					std::vector<std::string> publicAddresses;
+					int port;
+					std::vector<std::string> privateAddresses;
+				};
+
+
+				DescribeContactPointsResult();
+				explicit DescribeContactPointsResult(const std::string &payload);
+				~DescribeContactPointsResult();
+				std::vector<ContactPoint> getContactPoints()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ContactPoint> contactPoints_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBECONTACTPOINTSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeDataCentersRequest.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_CASSANDRA_MODEL_DESCRIBEDATACENTERSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDATACENTERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeDataCentersRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDataCentersRequest();
+				~DescribeDataCentersRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDATACENTERSREQUEST_H_

+ 71 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeDataCentersResult.h

@@ -0,0 +1,71 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEDATACENTERSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDATACENTERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeDataCentersResult : public ServiceResult
+			{
+			public:
+				struct DataCenter
+				{
+					std::string status;
+					std::string dataCenterId;
+					std::string createdTime;
+					std::string commodityInstance;
+					std::string zoneId;
+					int nodeCount;
+					std::string clusterId;
+					std::string payType;
+					std::string lockMode;
+					std::string dataCenterName;
+					std::string vswitchId;
+					std::string diskType;
+					std::string vpcId;
+					int diskSize;
+					std::string regionId;
+					std::string instanceType;
+					std::string expireTime;
+				};
+
+
+				DescribeDataCentersResult();
+				explicit DescribeDataCentersResult(const std::string &payload);
+				~DescribeDataCentersResult();
+				std::vector<DataCenter> getDataCenters()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DataCenter> dataCenters_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDATACENTERSRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeDeletedClustersRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeDeletedClustersRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDeletedClustersRequest();
+				~DescribeDeletedClustersRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				std::string regionId_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSREQUEST_H_

+ 69 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeDeletedClustersResult.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_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeDeletedClustersResult : public ServiceResult
+			{
+			public:
+				struct Cluster
+				{
+					std::string status;
+					std::string majorVersion;
+					std::string createdTime;
+					std::string clusterId;
+					int dataCenterCount;
+					std::string clusterName;
+					std::string minorVersion;
+					std::string payType;
+					std::string expireTime;
+				};
+
+
+				DescribeDeletedClustersResult();
+				explicit DescribeDeletedClustersResult(const std::string &payload);
+				~DescribeDeletedClustersResult();
+				long getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Cluster> getClusters()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Cluster> clusters_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEDELETEDCLUSTERSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeInstanceTypeRequest.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_CASSANDRA_MODEL_DESCRIBEINSTANCETYPEREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEINSTANCETYPEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeInstanceTypeRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeInstanceTypeRequest();
+				~DescribeInstanceTypeRequest();
+
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+
+            private:
+				std::string instanceType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEINSTANCETYPEREQUEST_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeInstanceTypeResult.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_CASSANDRA_MODEL_DESCRIBEINSTANCETYPERESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEINSTANCETYPERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeInstanceTypeResult : public ServiceResult
+			{
+			public:
+				struct InstanceTypeSpec
+				{
+					long cpuSize;
+					long memSize;
+					std::string instanceType;
+				};
+
+
+				DescribeInstanceTypeResult();
+				explicit DescribeInstanceTypeResult(const std::string &payload);
+				~DescribeInstanceTypeResult();
+				std::vector<InstanceTypeSpec> getInstanceTypeSpecList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<InstanceTypeSpec> instanceTypeSpecList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEINSTANCETYPERESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsRequest.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_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeIpWhitelistGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeIpWhitelistGroupsRequest();
+				~DescribeIpWhitelistGroupsRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSREQUEST_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistGroupsResult.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_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeIpWhitelistGroupsResult : public ServiceResult
+			{
+			public:
+				struct Group
+				{
+					std::string groupName;
+					int ipVersion;
+					std::vector<std::string> ipList;
+				};
+
+
+				DescribeIpWhitelistGroupsResult();
+				explicit DescribeIpWhitelistGroupsResult(const std::string &payload);
+				~DescribeIpWhitelistGroupsResult();
+				std::vector<Group> getGroups()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Group> groups_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTGROUPSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistRequest.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_CASSANDRA_MODEL_DESCRIBEIPWHITELISTREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeIpWhitelistRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeIpWhitelistRequest();
+				~DescribeIpWhitelistRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTREQUEST_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeIpWhitelistResult.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_CASSANDRA_MODEL_DESCRIBEIPWHITELISTRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeIpWhitelistResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeIpWhitelistResult();
+				explicit DescribeIpWhitelistResult(const std::string &payload);
+				~DescribeIpWhitelistResult();
+				std::vector<std::string> getIpList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> ipList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEIPWHITELISTRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeNodeToolExecutionHistoriesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeNodeToolExecutionHistoriesRequest();
+				~DescribeNodeToolExecutionHistoriesRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string clusterId_;
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESREQUEST_H_

+ 70 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeNodeToolExecutionHistoriesResult.h

@@ -0,0 +1,70 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeNodeToolExecutionHistoriesResult : public ServiceResult
+			{
+			public:
+				struct History
+				{
+					long modifyTime;
+					std::string dataCenterId;
+					bool isEnded;
+					std::string command;
+					long createTime;
+					std::string arguments;
+					std::string regionId;
+					std::string errorMessage;
+					std::string jobId;
+					std::string nodes;
+				};
+
+
+				DescribeNodeToolExecutionHistoriesResult();
+				explicit DescribeNodeToolExecutionHistoriesResult(const std::string &payload);
+				~DescribeNodeToolExecutionHistoriesResult();
+				long getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<History> getHistories()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<History> histories_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBENODETOOLEXECUTIONHISTORIESRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeParameterModificationHistoriesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeParameterModificationHistoriesRequest();
+				~DescribeParameterModificationHistoriesRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string clusterId_;
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESREQUEST_H_

+ 64 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeParameterModificationHistoriesResult.h

@@ -0,0 +1,64 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeParameterModificationHistoriesResult : public ServiceResult
+			{
+			public:
+				struct History
+				{
+					std::string oldValue;
+					std::string newValue;
+					long time;
+					std::string name;
+				};
+
+
+				DescribeParameterModificationHistoriesResult();
+				explicit DescribeParameterModificationHistoriesResult(const std::string &payload);
+				~DescribeParameterModificationHistoriesResult();
+				long getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<History> getHistories()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<History> histories_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERMODIFICATIONHISTORIESRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeParametersRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEPARAMETERSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeParametersRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeParametersRequest();
+				~DescribeParametersRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string clusterId_;
+				int pageNumber_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERSREQUEST_H_

+ 66 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeParametersResult.h

@@ -0,0 +1,66 @@
+/*
+ * 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_CASSANDRA_MODEL_DESCRIBEPARAMETERSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeParametersResult : public ServiceResult
+			{
+			public:
+				struct _Parameter
+				{
+					std::string defaultValue;
+					std::string allowedValues;
+					std::string description;
+					std::string value;
+					std::string dataType;
+					std::string name;
+				};
+
+
+				DescribeParametersResult();
+				explicit DescribeParametersResult(const std::string &payload);
+				~DescribeParametersResult();
+				long getTotalCount()const;
+				std::vector<_Parameter> getParameters()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<_Parameter> parameters_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEPARAMETERSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeRegionsRequest.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_CASSANDRA_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeRegionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRegionsRequest();
+				~DescribeRegionsRequest();
+
+				std::string getAcceptLanguage()const;
+				void setAcceptLanguage(const std::string& acceptLanguage);
+
+            private:
+				std::string acceptLanguage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 62 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeRegionsResult.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_CASSANDRA_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEREGIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct Region
+				{
+					struct Zone
+					{
+						std::string id;
+					};
+					std::string regionId;
+					std::string regionEndpoint;
+					std::vector<Region::Zone> zones;
+					std::string localName;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				std::vector<Region> getRegions()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Region> regions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBEREGIONSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeSecurityGroupsRequest.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_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeSecurityGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSecurityGroupsRequest();
+				~DescribeSecurityGroupsRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSREQUEST_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/DescribeSecurityGroupsResult.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_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT DescribeSecurityGroupsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeSecurityGroupsResult();
+				explicit DescribeSecurityGroupsResult(const std::string &payload);
+				~DescribeSecurityGroupsResult();
+				std::vector<std::string> getSecurityGroupIds()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> securityGroupIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_DESCRIBESECURITYGROUPSRESULT_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/ExecuteNodeToolRequest.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_CASSANDRA_MODEL_EXECUTENODETOOLREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_EXECUTENODETOOLREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ExecuteNodeToolRequest : public RpcServiceRequest
+			{
+
+			public:
+				ExecuteNodeToolRequest();
+				~ExecuteNodeToolRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getCommand()const;
+				void setCommand(const std::string& command);
+				std::string getArguments()const;
+				void setArguments(const std::string& arguments);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				std::string command_;
+				std::string arguments_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_EXECUTENODETOOLREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ExecuteNodeToolResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_EXECUTENODETOOLRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_EXECUTENODETOOLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ExecuteNodeToolResult : public ServiceResult
+			{
+			public:
+
+
+				ExecuteNodeToolResult();
+				explicit ExecuteNodeToolResult(const std::string &payload);
+				~ExecuteNodeToolResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_EXECUTENODETOOLRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/GetCmsUrlRequest.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_CASSANDRA_MODEL_GETCMSURLREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_GETCMSURLREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT GetCmsUrlRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetCmsUrlRequest();
+				~GetCmsUrlRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_GETCMSURLREQUEST_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/GetCmsUrlResult.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_CASSANDRA_MODEL_GETCMSURLRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_GETCMSURLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT GetCmsUrlResult : public ServiceResult
+			{
+			public:
+
+
+				GetCmsUrlResult();
+				explicit GetCmsUrlResult(const std::string &payload);
+				~GetCmsUrlResult();
+				std::string getUrl()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string url_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_GETCMSURLRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyAccountPasswordRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyAccountPasswordRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyAccountPasswordRequest();
+				~ModifyAccountPasswordRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getAccount()const;
+				void setAccount(const std::string& account);
+
+            private:
+				std::string clusterId_;
+				std::string password_;
+				std::string account_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyAccountPasswordResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyAccountPasswordResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyAccountPasswordResult();
+				explicit ModifyAccountPasswordResult(const std::string &payload);
+				~ModifyAccountPasswordResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYACCOUNTPASSWORDRESULT_H_

+ 63 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyBackupPlanRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYBACKUPPLANREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYBACKUPPLANREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyBackupPlanRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyBackupPlanRequest();
+				~ModifyBackupPlanRequest();
+
+				int getRetentionPeriod()const;
+				void setRetentionPeriod(int retentionPeriod);
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				bool getActive()const;
+				void setActive(bool active);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getBackupTime()const;
+				void setBackupTime(const std::string& backupTime);
+				std::string getBackupPeriod()const;
+				void setBackupPeriod(const std::string& backupPeriod);
+
+            private:
+				int retentionPeriod_;
+				std::string dataCenterId_;
+				bool active_;
+				std::string clusterId_;
+				std::string backupTime_;
+				std::string backupPeriod_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYBACKUPPLANREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyBackupPlanResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYBACKUPPLANRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYBACKUPPLANRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyBackupPlanResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyBackupPlanResult();
+				explicit ModifyBackupPlanResult(const std::string &payload);
+				~ModifyBackupPlanResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYBACKUPPLANRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyClusterRequest.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_CASSANDRA_MODEL_MODIFYCLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYCLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyClusterRequest();
+				~ModifyClusterRequest();
+
+				std::string getClusterName()const;
+				void setClusterName(const std::string& clusterName);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterName_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYCLUSTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyClusterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYCLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYCLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyClusterResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyClusterResult();
+				explicit ModifyClusterResult(const std::string &payload);
+				~ModifyClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYCLUSTERRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyDataCenterRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYDATACENTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYDATACENTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyDataCenterRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDataCenterRequest();
+				~ModifyDataCenterRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getDataCenterName()const;
+				void setDataCenterName(const std::string& dataCenterName);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				std::string dataCenterName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYDATACENTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyDataCenterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYDATACENTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYDATACENTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyDataCenterResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDataCenterResult();
+				explicit ModifyDataCenterResult(const std::string &payload);
+				~ModifyDataCenterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYDATACENTERRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMEREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyInstanceMaintainTimeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceMaintainTimeRequest();
+				~ModifyInstanceMaintainTimeRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getMaintainEndTime()const;
+				void setMaintainEndTime(const std::string& maintainEndTime);
+				std::string getMaintainStartTime()const;
+				void setMaintainStartTime(const std::string& maintainStartTime);
+
+            private:
+				std::string clusterId_;
+				std::string maintainEndTime_;
+				std::string maintainStartTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMEREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyInstanceMaintainTimeResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMERESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyInstanceMaintainTimeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyInstanceMaintainTimeResult();
+				explicit ModifyInstanceMaintainTimeResult(const std::string &payload);
+				~ModifyInstanceMaintainTimeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCEMAINTAINTIMERESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyInstanceTypeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYINSTANCETYPEREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCETYPEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyInstanceTypeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceTypeRequest();
+				~ModifyInstanceTypeRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				std::string instanceType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCETYPEREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyInstanceTypeResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYINSTANCETYPERESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCETYPERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyInstanceTypeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyInstanceTypeResult();
+				explicit ModifyInstanceTypeResult(const std::string &payload);
+				~ModifyInstanceTypeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYINSTANCETYPERESULT_H_

+ 57 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupRequest.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_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyIpWhitelistGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyIpWhitelistGroupRequest();
+				~ModifyIpWhitelistGroupRequest();
+
+				std::string getIpList()const;
+				void setIpList(const std::string& ipList);
+				int getIpVersion()const;
+				void setIpVersion(int ipVersion);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getGroupName()const;
+				void setGroupName(const std::string& groupName);
+
+            private:
+				std::string ipList_;
+				int ipVersion_;
+				std::string clusterId_;
+				std::string groupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistGroupResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyIpWhitelistGroupResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyIpWhitelistGroupResult();
+				explicit ModifyIpWhitelistGroupResult(const std::string &payload);
+				~ModifyIpWhitelistGroupResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTGROUPRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistRequest.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_CASSANDRA_MODEL_MODIFYIPWHITELISTREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyIpWhitelistRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyIpWhitelistRequest();
+				~ModifyIpWhitelistRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getIpList()const;
+				void setIpList(const std::string& ipList);
+
+            private:
+				std::string clusterId_;
+				std::string ipList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyIpWhitelistResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYIPWHITELISTRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyIpWhitelistResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyIpWhitelistResult();
+				explicit ModifyIpWhitelistResult(const std::string &payload);
+				~ModifyIpWhitelistResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYIPWHITELISTRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyParameterRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYPARAMETERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYPARAMETERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyParameterRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyParameterRequest();
+				~ModifyParameterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getValue()const;
+				void setValue(const std::string& value);
+
+            private:
+				std::string clusterId_;
+				std::string name_;
+				std::string value_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYPARAMETERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifyParameterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYPARAMETERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYPARAMETERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifyParameterResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyParameterResult();
+				explicit ModifyParameterResult(const std::string &payload);
+				~ModifyParameterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYPARAMETERRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/ModifySecurityGroupsRequest.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_CASSANDRA_MODEL_MODIFYSECURITYGROUPSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYSECURITYGROUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifySecurityGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifySecurityGroupsRequest();
+				~ModifySecurityGroupsRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getSecurityGroupIds()const;
+				void setSecurityGroupIds(const std::string& securityGroupIds);
+
+            private:
+				std::string clusterId_;
+				std::string securityGroupIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYSECURITYGROUPSREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ModifySecurityGroupsResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_MODIFYSECURITYGROUPSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_MODIFYSECURITYGROUPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ModifySecurityGroupsResult : public ServiceResult
+			{
+			public:
+
+
+				ModifySecurityGroupsResult();
+				explicit ModifySecurityGroupsResult(const std::string &payload);
+				~ModifySecurityGroupsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_MODIFYSECURITYGROUPSRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/PurgeClusterRequest.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_CASSANDRA_MODEL_PURGECLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_PURGECLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT PurgeClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				PurgeClusterRequest();
+				~PurgeClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_PURGECLUSTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/PurgeClusterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_PURGECLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_PURGECLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT PurgeClusterResult : public ServiceResult
+			{
+			public:
+
+
+				PurgeClusterResult();
+				explicit PurgeClusterResult(const std::string &payload);
+				~PurgeClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_PURGECLUSTERRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/RebootClusterRequest.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_CASSANDRA_MODEL_REBOOTCLUSTERREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_REBOOTCLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT RebootClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				RebootClusterRequest();
+				~RebootClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_REBOOTCLUSTERREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/RebootClusterResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_REBOOTCLUSTERRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_REBOOTCLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT RebootClusterResult : public ServiceResult
+			{
+			public:
+
+
+				RebootClusterResult();
+				explicit RebootClusterResult(const std::string &payload);
+				~RebootClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_REBOOTCLUSTERRESULT_H_

+ 51 - 0
cassandra/include/alibabacloud/cassandra/model/ReleasePublicContactPointsRequest.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_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ReleasePublicContactPointsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ReleasePublicContactPointsRequest();
+				~ReleasePublicContactPointsRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ReleasePublicContactPointsResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ReleasePublicContactPointsResult : public ServiceResult
+			{
+			public:
+
+
+				ReleasePublicContactPointsResult();
+				explicit ReleasePublicContactPointsResult(const std::string &payload);
+				~ReleasePublicContactPointsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RELEASEPUBLICCONTACTPOINTSRESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ResizeDiskSizeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_RESIZEDISKSIZEREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RESIZEDISKSIZEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ResizeDiskSizeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ResizeDiskSizeRequest();
+				~ResizeDiskSizeRequest();
+
+				int getDiskSize()const;
+				void setDiskSize(int diskSize);
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				int diskSize_;
+				std::string dataCenterId_;
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RESIZEDISKSIZEREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ResizeDiskSizeResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_RESIZEDISKSIZERESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RESIZEDISKSIZERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ResizeDiskSizeResult : public ServiceResult
+			{
+			public:
+
+
+				ResizeDiskSizeResult();
+				explicit ResizeDiskSizeResult(const std::string &payload);
+				~ResizeDiskSizeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RESIZEDISKSIZERESULT_H_

+ 54 - 0
cassandra/include/alibabacloud/cassandra/model/ResizeNodeCountRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_CASSANDRA_MODEL_RESIZENODECOUNTREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RESIZENODECOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ResizeNodeCountRequest : public RpcServiceRequest
+			{
+
+			public:
+				ResizeNodeCountRequest();
+				~ResizeNodeCountRequest();
+
+				std::string getDataCenterId()const;
+				void setDataCenterId(const std::string& dataCenterId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				int getNodeCount()const;
+				void setNodeCount(int nodeCount);
+
+            private:
+				std::string dataCenterId_;
+				std::string clusterId_;
+				int nodeCount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RESIZENODECOUNTREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/ResizeNodeCountResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_RESIZENODECOUNTRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_RESIZENODECOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT ResizeNodeCountResult : public ServiceResult
+			{
+			public:
+
+
+				ResizeNodeCountResult();
+				explicit ResizeNodeCountResult(const std::string &payload);
+				~ResizeNodeCountResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_RESIZENODECOUNTRESULT_H_

+ 48 - 0
cassandra/include/alibabacloud/cassandra/model/UpgradeClusterVersionRequest.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_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONREQUEST_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT UpgradeClusterVersionRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpgradeClusterVersionRequest();
+				~UpgradeClusterVersionRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+
+            private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONREQUEST_H_

+ 49 - 0
cassandra/include/alibabacloud/cassandra/model/UpgradeClusterVersionResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONRESULT_H_
+#define ALIBABACLOUD_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cassandra/CassandraExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cassandra
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CASSANDRA_EXPORT UpgradeClusterVersionResult : public ServiceResult
+			{
+			public:
+
+
+				UpgradeClusterVersionResult();
+				explicit UpgradeClusterVersionResult(const std::string &payload);
+				~UpgradeClusterVersionResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CASSANDRA_MODEL_UPGRADECLUSTERVERSIONRESULT_H_

+ 1709 - 0
cassandra/src/CassandraClient.cc

@@ -0,0 +1,1709 @@
+/*
+ * 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.
+ */
+
+#include <alibabacloud/cassandra/CassandraClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Cassandra;
+using namespace AlibabaCloud::Cassandra::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "Cassandra";
+}
+
+CassandraClient::CassandraClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "Cassandra");
+}
+
+CassandraClient::CassandraClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "Cassandra");
+}
+
+CassandraClient::CassandraClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "Cassandra");
+}
+
+CassandraClient::~CassandraClient()
+{}
+
+CassandraClient::AllocatePublicContactPointsOutcome CassandraClient::allocatePublicContactPoints(const AllocatePublicContactPointsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AllocatePublicContactPointsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AllocatePublicContactPointsOutcome(AllocatePublicContactPointsResult(outcome.result()));
+	else
+		return AllocatePublicContactPointsOutcome(outcome.error());
+}
+
+void CassandraClient::allocatePublicContactPointsAsync(const AllocatePublicContactPointsRequest& request, const AllocatePublicContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, allocatePublicContactPoints(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::AllocatePublicContactPointsOutcomeCallable CassandraClient::allocatePublicContactPointsCallable(const AllocatePublicContactPointsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AllocatePublicContactPointsOutcome()>>(
+			[this, request]()
+			{
+			return this->allocatePublicContactPoints(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::CreateBackupPlanOutcome CassandraClient::createBackupPlan(const CreateBackupPlanRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateBackupPlanOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateBackupPlanOutcome(CreateBackupPlanResult(outcome.result()));
+	else
+		return CreateBackupPlanOutcome(outcome.error());
+}
+
+void CassandraClient::createBackupPlanAsync(const CreateBackupPlanRequest& request, const CreateBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createBackupPlan(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::CreateBackupPlanOutcomeCallable CassandraClient::createBackupPlanCallable(const CreateBackupPlanRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateBackupPlanOutcome()>>(
+			[this, request]()
+			{
+			return this->createBackupPlan(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::CreateClusterOutcome CassandraClient::createCluster(const CreateClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateClusterOutcome(CreateClusterResult(outcome.result()));
+	else
+		return CreateClusterOutcome(outcome.error());
+}
+
+void CassandraClient::createClusterAsync(const CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::CreateClusterOutcomeCallable CassandraClient::createClusterCallable(const CreateClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->createCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::CreateDataCenterOutcome CassandraClient::createDataCenter(const CreateDataCenterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDataCenterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDataCenterOutcome(CreateDataCenterResult(outcome.result()));
+	else
+		return CreateDataCenterOutcome(outcome.error());
+}
+
+void CassandraClient::createDataCenterAsync(const CreateDataCenterRequest& request, const CreateDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDataCenter(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::CreateDataCenterOutcomeCallable CassandraClient::createDataCenterCallable(const CreateDataCenterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDataCenterOutcome()>>(
+			[this, request]()
+			{
+			return this->createDataCenter(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DeleteBackupPlanOutcome CassandraClient::deleteBackupPlan(const DeleteBackupPlanRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteBackupPlanOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteBackupPlanOutcome(DeleteBackupPlanResult(outcome.result()));
+	else
+		return DeleteBackupPlanOutcome(outcome.error());
+}
+
+void CassandraClient::deleteBackupPlanAsync(const DeleteBackupPlanRequest& request, const DeleteBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteBackupPlan(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DeleteBackupPlanOutcomeCallable CassandraClient::deleteBackupPlanCallable(const DeleteBackupPlanRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteBackupPlanOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteBackupPlan(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DeleteClusterOutcome CassandraClient::deleteCluster(const DeleteClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteClusterOutcome(DeleteClusterResult(outcome.result()));
+	else
+		return DeleteClusterOutcome(outcome.error());
+}
+
+void CassandraClient::deleteClusterAsync(const DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DeleteClusterOutcomeCallable CassandraClient::deleteClusterCallable(const DeleteClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DeleteDataCenterOutcome CassandraClient::deleteDataCenter(const DeleteDataCenterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDataCenterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDataCenterOutcome(DeleteDataCenterResult(outcome.result()));
+	else
+		return DeleteDataCenterOutcome(outcome.error());
+}
+
+void CassandraClient::deleteDataCenterAsync(const DeleteDataCenterRequest& request, const DeleteDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDataCenter(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DeleteDataCenterOutcomeCallable CassandraClient::deleteDataCenterCallable(const DeleteDataCenterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDataCenterOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDataCenter(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DeleteNodeToolExecutionHistoryOutcome CassandraClient::deleteNodeToolExecutionHistory(const DeleteNodeToolExecutionHistoryRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteNodeToolExecutionHistoryOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteNodeToolExecutionHistoryOutcome(DeleteNodeToolExecutionHistoryResult(outcome.result()));
+	else
+		return DeleteNodeToolExecutionHistoryOutcome(outcome.error());
+}
+
+void CassandraClient::deleteNodeToolExecutionHistoryAsync(const DeleteNodeToolExecutionHistoryRequest& request, const DeleteNodeToolExecutionHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteNodeToolExecutionHistory(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DeleteNodeToolExecutionHistoryOutcomeCallable CassandraClient::deleteNodeToolExecutionHistoryCallable(const DeleteNodeToolExecutionHistoryRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteNodeToolExecutionHistoryOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteNodeToolExecutionHistory(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeAccountsOutcome CassandraClient::describeAccounts(const DescribeAccountsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAccountsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAccountsOutcome(DescribeAccountsResult(outcome.result()));
+	else
+		return DescribeAccountsOutcome(outcome.error());
+}
+
+void CassandraClient::describeAccountsAsync(const DescribeAccountsRequest& request, const DescribeAccountsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAccounts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeAccountsOutcomeCallable CassandraClient::describeAccountsCallable(const DescribeAccountsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAccountsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAccounts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeBackupOutcome CassandraClient::describeBackup(const DescribeBackupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupOutcome(DescribeBackupResult(outcome.result()));
+	else
+		return DescribeBackupOutcome(outcome.error());
+}
+
+void CassandraClient::describeBackupAsync(const DescribeBackupRequest& request, const DescribeBackupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeBackupOutcomeCallable CassandraClient::describeBackupCallable(const DescribeBackupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeBackupPlanOutcome CassandraClient::describeBackupPlan(const DescribeBackupPlanRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupPlanOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupPlanOutcome(DescribeBackupPlanResult(outcome.result()));
+	else
+		return DescribeBackupPlanOutcome(outcome.error());
+}
+
+void CassandraClient::describeBackupPlanAsync(const DescribeBackupPlanRequest& request, const DescribeBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackupPlan(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeBackupPlanOutcomeCallable CassandraClient::describeBackupPlanCallable(const DescribeBackupPlanRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupPlanOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackupPlan(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeBackupPlansOutcome CassandraClient::describeBackupPlans(const DescribeBackupPlansRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupPlansOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupPlansOutcome(DescribeBackupPlansResult(outcome.result()));
+	else
+		return DescribeBackupPlansOutcome(outcome.error());
+}
+
+void CassandraClient::describeBackupPlansAsync(const DescribeBackupPlansRequest& request, const DescribeBackupPlansAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackupPlans(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeBackupPlansOutcomeCallable CassandraClient::describeBackupPlansCallable(const DescribeBackupPlansRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupPlansOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackupPlans(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeBackupsOutcome CassandraClient::describeBackups(const DescribeBackupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupsOutcome(DescribeBackupsResult(outcome.result()));
+	else
+		return DescribeBackupsOutcome(outcome.error());
+}
+
+void CassandraClient::describeBackupsAsync(const DescribeBackupsRequest& request, const DescribeBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeBackupsOutcomeCallable CassandraClient::describeBackupsCallable(const DescribeBackupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeClusterOutcome CassandraClient::describeCluster(const DescribeClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClusterOutcome(DescribeClusterResult(outcome.result()));
+	else
+		return DescribeClusterOutcome(outcome.error());
+}
+
+void CassandraClient::describeClusterAsync(const DescribeClusterRequest& request, const DescribeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeClusterOutcomeCallable CassandraClient::describeClusterCallable(const DescribeClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeClusterDashboardOutcome CassandraClient::describeClusterDashboard(const DescribeClusterDashboardRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClusterDashboardOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClusterDashboardOutcome(DescribeClusterDashboardResult(outcome.result()));
+	else
+		return DescribeClusterDashboardOutcome(outcome.error());
+}
+
+void CassandraClient::describeClusterDashboardAsync(const DescribeClusterDashboardRequest& request, const DescribeClusterDashboardAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClusterDashboard(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeClusterDashboardOutcomeCallable CassandraClient::describeClusterDashboardCallable(const DescribeClusterDashboardRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClusterDashboardOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClusterDashboard(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeClusterStatusOutcome CassandraClient::describeClusterStatus(const DescribeClusterStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClusterStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClusterStatusOutcome(DescribeClusterStatusResult(outcome.result()));
+	else
+		return DescribeClusterStatusOutcome(outcome.error());
+}
+
+void CassandraClient::describeClusterStatusAsync(const DescribeClusterStatusRequest& request, const DescribeClusterStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClusterStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeClusterStatusOutcomeCallable CassandraClient::describeClusterStatusCallable(const DescribeClusterStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClusterStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClusterStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeClustersOutcome CassandraClient::describeClusters(const DescribeClustersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClustersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClustersOutcome(DescribeClustersResult(outcome.result()));
+	else
+		return DescribeClustersOutcome(outcome.error());
+}
+
+void CassandraClient::describeClustersAsync(const DescribeClustersRequest& request, const DescribeClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClusters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeClustersOutcomeCallable CassandraClient::describeClustersCallable(const DescribeClustersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClustersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClusters(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeContactPointsOutcome CassandraClient::describeContactPoints(const DescribeContactPointsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeContactPointsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeContactPointsOutcome(DescribeContactPointsResult(outcome.result()));
+	else
+		return DescribeContactPointsOutcome(outcome.error());
+}
+
+void CassandraClient::describeContactPointsAsync(const DescribeContactPointsRequest& request, const DescribeContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeContactPoints(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeContactPointsOutcomeCallable CassandraClient::describeContactPointsCallable(const DescribeContactPointsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeContactPointsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeContactPoints(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeDataCentersOutcome CassandraClient::describeDataCenters(const DescribeDataCentersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDataCentersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDataCentersOutcome(DescribeDataCentersResult(outcome.result()));
+	else
+		return DescribeDataCentersOutcome(outcome.error());
+}
+
+void CassandraClient::describeDataCentersAsync(const DescribeDataCentersRequest& request, const DescribeDataCentersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDataCenters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeDataCentersOutcomeCallable CassandraClient::describeDataCentersCallable(const DescribeDataCentersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDataCentersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDataCenters(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeDeletedClustersOutcome CassandraClient::describeDeletedClusters(const DescribeDeletedClustersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDeletedClustersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDeletedClustersOutcome(DescribeDeletedClustersResult(outcome.result()));
+	else
+		return DescribeDeletedClustersOutcome(outcome.error());
+}
+
+void CassandraClient::describeDeletedClustersAsync(const DescribeDeletedClustersRequest& request, const DescribeDeletedClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDeletedClusters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeDeletedClustersOutcomeCallable CassandraClient::describeDeletedClustersCallable(const DescribeDeletedClustersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDeletedClustersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDeletedClusters(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeInstanceTypeOutcome CassandraClient::describeInstanceType(const DescribeInstanceTypeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceTypeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceTypeOutcome(DescribeInstanceTypeResult(outcome.result()));
+	else
+		return DescribeInstanceTypeOutcome(outcome.error());
+}
+
+void CassandraClient::describeInstanceTypeAsync(const DescribeInstanceTypeRequest& request, const DescribeInstanceTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceType(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeInstanceTypeOutcomeCallable CassandraClient::describeInstanceTypeCallable(const DescribeInstanceTypeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceTypeOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceType(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeIpWhitelistOutcome CassandraClient::describeIpWhitelist(const DescribeIpWhitelistRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeIpWhitelistOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeIpWhitelistOutcome(DescribeIpWhitelistResult(outcome.result()));
+	else
+		return DescribeIpWhitelistOutcome(outcome.error());
+}
+
+void CassandraClient::describeIpWhitelistAsync(const DescribeIpWhitelistRequest& request, const DescribeIpWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeIpWhitelist(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeIpWhitelistOutcomeCallable CassandraClient::describeIpWhitelistCallable(const DescribeIpWhitelistRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeIpWhitelistOutcome()>>(
+			[this, request]()
+			{
+			return this->describeIpWhitelist(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeIpWhitelistGroupsOutcome CassandraClient::describeIpWhitelistGroups(const DescribeIpWhitelistGroupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeIpWhitelistGroupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeIpWhitelistGroupsOutcome(DescribeIpWhitelistGroupsResult(outcome.result()));
+	else
+		return DescribeIpWhitelistGroupsOutcome(outcome.error());
+}
+
+void CassandraClient::describeIpWhitelistGroupsAsync(const DescribeIpWhitelistGroupsRequest& request, const DescribeIpWhitelistGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeIpWhitelistGroups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeIpWhitelistGroupsOutcomeCallable CassandraClient::describeIpWhitelistGroupsCallable(const DescribeIpWhitelistGroupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeIpWhitelistGroupsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeIpWhitelistGroups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeNodeToolExecutionHistoriesOutcome CassandraClient::describeNodeToolExecutionHistories(const DescribeNodeToolExecutionHistoriesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeNodeToolExecutionHistoriesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeNodeToolExecutionHistoriesOutcome(DescribeNodeToolExecutionHistoriesResult(outcome.result()));
+	else
+		return DescribeNodeToolExecutionHistoriesOutcome(outcome.error());
+}
+
+void CassandraClient::describeNodeToolExecutionHistoriesAsync(const DescribeNodeToolExecutionHistoriesRequest& request, const DescribeNodeToolExecutionHistoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeNodeToolExecutionHistories(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeNodeToolExecutionHistoriesOutcomeCallable CassandraClient::describeNodeToolExecutionHistoriesCallable(const DescribeNodeToolExecutionHistoriesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeNodeToolExecutionHistoriesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeNodeToolExecutionHistories(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeParameterModificationHistoriesOutcome CassandraClient::describeParameterModificationHistories(const DescribeParameterModificationHistoriesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeParameterModificationHistoriesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeParameterModificationHistoriesOutcome(DescribeParameterModificationHistoriesResult(outcome.result()));
+	else
+		return DescribeParameterModificationHistoriesOutcome(outcome.error());
+}
+
+void CassandraClient::describeParameterModificationHistoriesAsync(const DescribeParameterModificationHistoriesRequest& request, const DescribeParameterModificationHistoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeParameterModificationHistories(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeParameterModificationHistoriesOutcomeCallable CassandraClient::describeParameterModificationHistoriesCallable(const DescribeParameterModificationHistoriesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeParameterModificationHistoriesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeParameterModificationHistories(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeParametersOutcome CassandraClient::describeParameters(const DescribeParametersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeParametersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeParametersOutcome(DescribeParametersResult(outcome.result()));
+	else
+		return DescribeParametersOutcome(outcome.error());
+}
+
+void CassandraClient::describeParametersAsync(const DescribeParametersRequest& request, const DescribeParametersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeParameters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeParametersOutcomeCallable CassandraClient::describeParametersCallable(const DescribeParametersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeParametersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeParameters(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeRegionsOutcome CassandraClient::describeRegions(const DescribeRegionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRegionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
+	else
+		return DescribeRegionsOutcome(outcome.error());
+}
+
+void CassandraClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRegions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeRegionsOutcomeCallable CassandraClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRegions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::DescribeSecurityGroupsOutcome CassandraClient::describeSecurityGroups(const DescribeSecurityGroupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSecurityGroupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSecurityGroupsOutcome(DescribeSecurityGroupsResult(outcome.result()));
+	else
+		return DescribeSecurityGroupsOutcome(outcome.error());
+}
+
+void CassandraClient::describeSecurityGroupsAsync(const DescribeSecurityGroupsRequest& request, const DescribeSecurityGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSecurityGroups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::DescribeSecurityGroupsOutcomeCallable CassandraClient::describeSecurityGroupsCallable(const DescribeSecurityGroupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSecurityGroupsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSecurityGroups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ExecuteNodeToolOutcome CassandraClient::executeNodeTool(const ExecuteNodeToolRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ExecuteNodeToolOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ExecuteNodeToolOutcome(ExecuteNodeToolResult(outcome.result()));
+	else
+		return ExecuteNodeToolOutcome(outcome.error());
+}
+
+void CassandraClient::executeNodeToolAsync(const ExecuteNodeToolRequest& request, const ExecuteNodeToolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, executeNodeTool(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ExecuteNodeToolOutcomeCallable CassandraClient::executeNodeToolCallable(const ExecuteNodeToolRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ExecuteNodeToolOutcome()>>(
+			[this, request]()
+			{
+			return this->executeNodeTool(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::GetCmsUrlOutcome CassandraClient::getCmsUrl(const GetCmsUrlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCmsUrlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCmsUrlOutcome(GetCmsUrlResult(outcome.result()));
+	else
+		return GetCmsUrlOutcome(outcome.error());
+}
+
+void CassandraClient::getCmsUrlAsync(const GetCmsUrlRequest& request, const GetCmsUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCmsUrl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::GetCmsUrlOutcomeCallable CassandraClient::getCmsUrlCallable(const GetCmsUrlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCmsUrlOutcome()>>(
+			[this, request]()
+			{
+			return this->getCmsUrl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyAccountPasswordOutcome CassandraClient::modifyAccountPassword(const ModifyAccountPasswordRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyAccountPasswordOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyAccountPasswordOutcome(ModifyAccountPasswordResult(outcome.result()));
+	else
+		return ModifyAccountPasswordOutcome(outcome.error());
+}
+
+void CassandraClient::modifyAccountPasswordAsync(const ModifyAccountPasswordRequest& request, const ModifyAccountPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyAccountPassword(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyAccountPasswordOutcomeCallable CassandraClient::modifyAccountPasswordCallable(const ModifyAccountPasswordRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyAccountPasswordOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyAccountPassword(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyBackupPlanOutcome CassandraClient::modifyBackupPlan(const ModifyBackupPlanRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyBackupPlanOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyBackupPlanOutcome(ModifyBackupPlanResult(outcome.result()));
+	else
+		return ModifyBackupPlanOutcome(outcome.error());
+}
+
+void CassandraClient::modifyBackupPlanAsync(const ModifyBackupPlanRequest& request, const ModifyBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyBackupPlan(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyBackupPlanOutcomeCallable CassandraClient::modifyBackupPlanCallable(const ModifyBackupPlanRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyBackupPlanOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyBackupPlan(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyClusterOutcome CassandraClient::modifyCluster(const ModifyClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyClusterOutcome(ModifyClusterResult(outcome.result()));
+	else
+		return ModifyClusterOutcome(outcome.error());
+}
+
+void CassandraClient::modifyClusterAsync(const ModifyClusterRequest& request, const ModifyClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyClusterOutcomeCallable CassandraClient::modifyClusterCallable(const ModifyClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyDataCenterOutcome CassandraClient::modifyDataCenter(const ModifyDataCenterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDataCenterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDataCenterOutcome(ModifyDataCenterResult(outcome.result()));
+	else
+		return ModifyDataCenterOutcome(outcome.error());
+}
+
+void CassandraClient::modifyDataCenterAsync(const ModifyDataCenterRequest& request, const ModifyDataCenterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDataCenter(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyDataCenterOutcomeCallable CassandraClient::modifyDataCenterCallable(const ModifyDataCenterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDataCenterOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDataCenter(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyInstanceMaintainTimeOutcome CassandraClient::modifyInstanceMaintainTime(const ModifyInstanceMaintainTimeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceMaintainTimeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceMaintainTimeOutcome(ModifyInstanceMaintainTimeResult(outcome.result()));
+	else
+		return ModifyInstanceMaintainTimeOutcome(outcome.error());
+}
+
+void CassandraClient::modifyInstanceMaintainTimeAsync(const ModifyInstanceMaintainTimeRequest& request, const ModifyInstanceMaintainTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceMaintainTime(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyInstanceMaintainTimeOutcomeCallable CassandraClient::modifyInstanceMaintainTimeCallable(const ModifyInstanceMaintainTimeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceMaintainTimeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceMaintainTime(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyInstanceTypeOutcome CassandraClient::modifyInstanceType(const ModifyInstanceTypeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceTypeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceTypeOutcome(ModifyInstanceTypeResult(outcome.result()));
+	else
+		return ModifyInstanceTypeOutcome(outcome.error());
+}
+
+void CassandraClient::modifyInstanceTypeAsync(const ModifyInstanceTypeRequest& request, const ModifyInstanceTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceType(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyInstanceTypeOutcomeCallable CassandraClient::modifyInstanceTypeCallable(const ModifyInstanceTypeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceTypeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceType(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyIpWhitelistOutcome CassandraClient::modifyIpWhitelist(const ModifyIpWhitelistRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyIpWhitelistOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyIpWhitelistOutcome(ModifyIpWhitelistResult(outcome.result()));
+	else
+		return ModifyIpWhitelistOutcome(outcome.error());
+}
+
+void CassandraClient::modifyIpWhitelistAsync(const ModifyIpWhitelistRequest& request, const ModifyIpWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyIpWhitelist(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyIpWhitelistOutcomeCallable CassandraClient::modifyIpWhitelistCallable(const ModifyIpWhitelistRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyIpWhitelistOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyIpWhitelist(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyIpWhitelistGroupOutcome CassandraClient::modifyIpWhitelistGroup(const ModifyIpWhitelistGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyIpWhitelistGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyIpWhitelistGroupOutcome(ModifyIpWhitelistGroupResult(outcome.result()));
+	else
+		return ModifyIpWhitelistGroupOutcome(outcome.error());
+}
+
+void CassandraClient::modifyIpWhitelistGroupAsync(const ModifyIpWhitelistGroupRequest& request, const ModifyIpWhitelistGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyIpWhitelistGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyIpWhitelistGroupOutcomeCallable CassandraClient::modifyIpWhitelistGroupCallable(const ModifyIpWhitelistGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyIpWhitelistGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyIpWhitelistGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifyParameterOutcome CassandraClient::modifyParameter(const ModifyParameterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyParameterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyParameterOutcome(ModifyParameterResult(outcome.result()));
+	else
+		return ModifyParameterOutcome(outcome.error());
+}
+
+void CassandraClient::modifyParameterAsync(const ModifyParameterRequest& request, const ModifyParameterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyParameter(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifyParameterOutcomeCallable CassandraClient::modifyParameterCallable(const ModifyParameterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyParameterOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyParameter(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ModifySecurityGroupsOutcome CassandraClient::modifySecurityGroups(const ModifySecurityGroupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifySecurityGroupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifySecurityGroupsOutcome(ModifySecurityGroupsResult(outcome.result()));
+	else
+		return ModifySecurityGroupsOutcome(outcome.error());
+}
+
+void CassandraClient::modifySecurityGroupsAsync(const ModifySecurityGroupsRequest& request, const ModifySecurityGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifySecurityGroups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ModifySecurityGroupsOutcomeCallable CassandraClient::modifySecurityGroupsCallable(const ModifySecurityGroupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifySecurityGroupsOutcome()>>(
+			[this, request]()
+			{
+			return this->modifySecurityGroups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::PurgeClusterOutcome CassandraClient::purgeCluster(const PurgeClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return PurgeClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return PurgeClusterOutcome(PurgeClusterResult(outcome.result()));
+	else
+		return PurgeClusterOutcome(outcome.error());
+}
+
+void CassandraClient::purgeClusterAsync(const PurgeClusterRequest& request, const PurgeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, purgeCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::PurgeClusterOutcomeCallable CassandraClient::purgeClusterCallable(const PurgeClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<PurgeClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->purgeCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::RebootClusterOutcome CassandraClient::rebootCluster(const RebootClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RebootClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RebootClusterOutcome(RebootClusterResult(outcome.result()));
+	else
+		return RebootClusterOutcome(outcome.error());
+}
+
+void CassandraClient::rebootClusterAsync(const RebootClusterRequest& request, const RebootClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, rebootCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::RebootClusterOutcomeCallable CassandraClient::rebootClusterCallable(const RebootClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RebootClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->rebootCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ReleasePublicContactPointsOutcome CassandraClient::releasePublicContactPoints(const ReleasePublicContactPointsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReleasePublicContactPointsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReleasePublicContactPointsOutcome(ReleasePublicContactPointsResult(outcome.result()));
+	else
+		return ReleasePublicContactPointsOutcome(outcome.error());
+}
+
+void CassandraClient::releasePublicContactPointsAsync(const ReleasePublicContactPointsRequest& request, const ReleasePublicContactPointsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, releasePublicContactPoints(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ReleasePublicContactPointsOutcomeCallable CassandraClient::releasePublicContactPointsCallable(const ReleasePublicContactPointsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReleasePublicContactPointsOutcome()>>(
+			[this, request]()
+			{
+			return this->releasePublicContactPoints(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ResizeDiskSizeOutcome CassandraClient::resizeDiskSize(const ResizeDiskSizeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ResizeDiskSizeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ResizeDiskSizeOutcome(ResizeDiskSizeResult(outcome.result()));
+	else
+		return ResizeDiskSizeOutcome(outcome.error());
+}
+
+void CassandraClient::resizeDiskSizeAsync(const ResizeDiskSizeRequest& request, const ResizeDiskSizeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, resizeDiskSize(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ResizeDiskSizeOutcomeCallable CassandraClient::resizeDiskSizeCallable(const ResizeDiskSizeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ResizeDiskSizeOutcome()>>(
+			[this, request]()
+			{
+			return this->resizeDiskSize(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::ResizeNodeCountOutcome CassandraClient::resizeNodeCount(const ResizeNodeCountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ResizeNodeCountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ResizeNodeCountOutcome(ResizeNodeCountResult(outcome.result()));
+	else
+		return ResizeNodeCountOutcome(outcome.error());
+}
+
+void CassandraClient::resizeNodeCountAsync(const ResizeNodeCountRequest& request, const ResizeNodeCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, resizeNodeCount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::ResizeNodeCountOutcomeCallable CassandraClient::resizeNodeCountCallable(const ResizeNodeCountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ResizeNodeCountOutcome()>>(
+			[this, request]()
+			{
+			return this->resizeNodeCount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CassandraClient::UpgradeClusterVersionOutcome CassandraClient::upgradeClusterVersion(const UpgradeClusterVersionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpgradeClusterVersionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpgradeClusterVersionOutcome(UpgradeClusterVersionResult(outcome.result()));
+	else
+		return UpgradeClusterVersionOutcome(outcome.error());
+}
+
+void CassandraClient::upgradeClusterVersionAsync(const UpgradeClusterVersionRequest& request, const UpgradeClusterVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, upgradeClusterVersion(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CassandraClient::UpgradeClusterVersionOutcomeCallable CassandraClient::upgradeClusterVersionCallable(const UpgradeClusterVersionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpgradeClusterVersionOutcome()>>(
+			[this, request]()
+			{
+			return this->upgradeClusterVersion(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 51 - 0
cassandra/src/model/AllocatePublicContactPointsRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/cassandra/model/AllocatePublicContactPointsRequest.h>
+
+using AlibabaCloud::Cassandra::Model::AllocatePublicContactPointsRequest;
+
+AllocatePublicContactPointsRequest::AllocatePublicContactPointsRequest() :
+	RpcServiceRequest("cassandra", "2019-01-01", "AllocatePublicContactPoints")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+AllocatePublicContactPointsRequest::~AllocatePublicContactPointsRequest()
+{}
+
+std::string AllocatePublicContactPointsRequest::getDataCenterId()const
+{
+	return dataCenterId_;
+}
+
+void AllocatePublicContactPointsRequest::setDataCenterId(const std::string& dataCenterId)
+{
+	dataCenterId_ = dataCenterId;
+	setParameter("DataCenterId", dataCenterId);
+}
+
+std::string AllocatePublicContactPointsRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void AllocatePublicContactPointsRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+

+ 44 - 0
cassandra/src/model/AllocatePublicContactPointsResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+#include <alibabacloud/cassandra/model/AllocatePublicContactPointsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cassandra;
+using namespace AlibabaCloud::Cassandra::Model;
+
+AllocatePublicContactPointsResult::AllocatePublicContactPointsResult() :
+	ServiceResult()
+{}
+
+AllocatePublicContactPointsResult::AllocatePublicContactPointsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+AllocatePublicContactPointsResult::~AllocatePublicContactPointsResult()
+{}
+
+void AllocatePublicContactPointsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

Some files were not shown because too many files changed in this diff