소스 검색

由燧木发起的DRDS SDK自动发布, 版本号:1.12.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 년 전
부모
커밋
6d41511442
100개의 변경된 파일7296개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 0
      CHANGELOG
  2. 2 1
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 190 0
      drds/CMakeLists.txt
  5. 262 0
      drds/include/alibabacloud/drds/DrdsClient.h
  6. 32 0
      drds/include/alibabacloud/drds/DrdsExport.h
  7. 60 0
      drds/include/alibabacloud/drds/model/CreateDrdsAccountRequest.h
  8. 51 0
      drds/include/alibabacloud/drds/model/CreateDrdsAccountResult.h
  9. 63 0
      drds/include/alibabacloud/drds/model/CreateDrdsDBRequest.h
  10. 51 0
      drds/include/alibabacloud/drds/model/CreateDrdsDBResult.h
  11. 81 0
      drds/include/alibabacloud/drds/model/CreateDrdsInstanceRequest.h
  12. 58 0
      drds/include/alibabacloud/drds/model/CreateDrdsInstanceResult.h
  13. 57 0
      drds/include/alibabacloud/drds/model/CreateReadOnlyAccountRequest.h
  14. 59 0
      drds/include/alibabacloud/drds/model/CreateReadOnlyAccountResult.h
  15. 54 0
      drds/include/alibabacloud/drds/model/DeleteDrdsDBRequest.h
  16. 51 0
      drds/include/alibabacloud/drds/model/DeleteDrdsDBResult.h
  17. 54 0
      drds/include/alibabacloud/drds/model/DeleteFailedDrdsDBRequest.h
  18. 51 0
      drds/include/alibabacloud/drds/model/DeleteFailedDrdsDBResult.h
  19. 51 0
      drds/include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusRequest.h
  20. 57 0
      drds/include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusResult.h
  21. 57 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListRequest.h
  22. 57 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListResult.h
  23. 54 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBRequest.h
  24. 61 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBResult.h
  25. 51 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBsRequest.h
  26. 61 0
      drds/include/alibabacloud/drds/model/DescribeDrdsDBsResult.h
  27. 51 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerRequest.h
  28. 64 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerResult.h
  29. 51 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstanceRequest.h
  30. 76 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstanceResult.h
  31. 54 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstancesRequest.h
  32. 75 0
      drds/include/alibabacloud/drds/model/DescribeDrdsInstancesResult.h
  33. 54 0
      drds/include/alibabacloud/drds/model/DescribeRdsListRequest.h
  34. 74 0
      drds/include/alibabacloud/drds/model/DescribeRdsListResult.h
  35. 54 0
      drds/include/alibabacloud/drds/model/DescribeReadOnlyAccountRequest.h
  36. 59 0
      drds/include/alibabacloud/drds/model/DescribeReadOnlyAccountResult.h
  37. 48 0
      drds/include/alibabacloud/drds/model/DescribeRegionsRequest.h
  38. 72 0
      drds/include/alibabacloud/drds/model/DescribeRegionsResult.h
  39. 54 0
      drds/include/alibabacloud/drds/model/DescribeShardDBsRequest.h
  40. 58 0
      drds/include/alibabacloud/drds/model/DescribeShardDBsResult.h
  41. 57 0
      drds/include/alibabacloud/drds/model/DescribeShardDbConnectionInfoRequest.h
  42. 68 0
      drds/include/alibabacloud/drds/model/DescribeShardDbConnectionInfoResult.h
  43. 57 0
      drds/include/alibabacloud/drds/model/ModifyDrdsDBPasswdRequest.h
  44. 51 0
      drds/include/alibabacloud/drds/model/ModifyDrdsDBPasswdResult.h
  45. 54 0
      drds/include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionRequest.h
  46. 51 0
      drds/include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionResult.h
  47. 66 0
      drds/include/alibabacloud/drds/model/ModifyDrdsIpWhiteListRequest.h
  48. 51 0
      drds/include/alibabacloud/drds/model/ModifyDrdsIpWhiteListResult.h
  49. 60 0
      drds/include/alibabacloud/drds/model/ModifyFullTableScanRequest.h
  50. 51 0
      drds/include/alibabacloud/drds/model/ModifyFullTableScanResult.h
  51. 60 0
      drds/include/alibabacloud/drds/model/ModifyRdsReadWeightRequest.h
  52. 51 0
      drds/include/alibabacloud/drds/model/ModifyRdsReadWeightResult.h
  53. 63 0
      drds/include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordRequest.h
  54. 51 0
      drds/include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordResult.h
  55. 57 0
      drds/include/alibabacloud/drds/model/QueryInstanceInfoByConnRequest.h
  56. 78 0
      drds/include/alibabacloud/drds/model/QueryInstanceInfoByConnResult.h
  57. 51 0
      drds/include/alibabacloud/drds/model/RemoveDrdsInstanceRequest.h
  58. 51 0
      drds/include/alibabacloud/drds/model/RemoveDrdsInstanceResult.h
  59. 57 0
      drds/include/alibabacloud/drds/model/RemoveReadOnlyAccountRequest.h
  60. 51 0
      drds/include/alibabacloud/drds/model/RemoveReadOnlyAccountResult.h
  61. 1025 0
      drds/src/DrdsClient.cc
  62. 82 0
      drds/src/model/CreateDrdsAccountRequest.cc
  63. 52 0
      drds/src/model/CreateDrdsAccountResult.cc
  64. 93 0
      drds/src/model/CreateDrdsDBRequest.cc
  65. 52 0
      drds/src/model/CreateDrdsDBResult.cc
  66. 159 0
      drds/src/model/CreateDrdsInstanceRequest.cc
  67. 63 0
      drds/src/model/CreateDrdsInstanceResult.cc
  68. 71 0
      drds/src/model/CreateReadOnlyAccountRequest.cc
  69. 64 0
      drds/src/model/CreateReadOnlyAccountResult.cc
  70. 60 0
      drds/src/model/DeleteDrdsDBRequest.cc
  71. 52 0
      drds/src/model/DeleteDrdsDBResult.cc
  72. 60 0
      drds/src/model/DeleteFailedDrdsDBRequest.cc
  73. 52 0
      drds/src/model/DeleteFailedDrdsDBResult.cc
  74. 49 0
      drds/src/model/DescribeCreateDrdsInstanceStatusRequest.cc
  75. 60 0
      drds/src/model/DescribeCreateDrdsInstanceStatusResult.cc
  76. 71 0
      drds/src/model/DescribeDrdsDBIpWhiteListRequest.cc
  77. 61 0
      drds/src/model/DescribeDrdsDBIpWhiteListResult.cc
  78. 60 0
      drds/src/model/DescribeDrdsDBRequest.cc
  79. 68 0
      drds/src/model/DescribeDrdsDBResult.cc
  80. 49 0
      drds/src/model/DescribeDrdsDBsRequest.cc
  81. 73 0
      drds/src/model/DescribeDrdsDBsResult.cc
  82. 49 0
      drds/src/model/DescribeDrdsInstanceNetInfoForInnerRequest.cc
  83. 85 0
      drds/src/model/DescribeDrdsInstanceNetInfoForInnerResult.cc
  84. 49 0
      drds/src/model/DescribeDrdsInstanceRequest.cc
  85. 96 0
      drds/src/model/DescribeDrdsInstanceResult.cc
  86. 60 0
      drds/src/model/DescribeDrdsInstancesRequest.cc
  87. 99 0
      drds/src/model/DescribeDrdsInstancesResult.cc
  88. 60 0
      drds/src/model/DescribeRdsListRequest.cc
  89. 97 0
      drds/src/model/DescribeRdsListResult.cc
  90. 60 0
      drds/src/model/DescribeReadOnlyAccountRequest.cc
  91. 64 0
      drds/src/model/DescribeReadOnlyAccountResult.cc
  92. 38 0
      drds/src/model/DescribeRegionsRequest.cc
  93. 91 0
      drds/src/model/DescribeRegionsResult.cc
  94. 60 0
      drds/src/model/DescribeShardDBsRequest.cc
  95. 67 0
      drds/src/model/DescribeShardDBsResult.cc
  96. 71 0
      drds/src/model/DescribeShardDbConnectionInfoRequest.cc
  97. 82 0
      drds/src/model/DescribeShardDbConnectionInfoResult.cc
  98. 71 0
      drds/src/model/ModifyDrdsDBPasswdRequest.cc
  99. 52 0
      drds/src/model/ModifyDrdsDBPasswdResult.cc
  100. 60 0
      drds/src/model/ModifyDrdsInstanceDescriptionRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-05-23 Version: 1.12.0
+1, Add CreateDrdsAccount API, to support creating account for all databases of a DRDS instance.
+
 2018-05-23 Version: 1.11.0
 1, Update API version to 2018-04-12. 
 2, New APIs in this new version: StartCluster, StopCluster, RecoverCluster, StartNodes, StopNodes, ListCustomImages. Support stopping a post-paid cluster or partial nodes of a cluster to save cost.

+ 2 - 1
CMakeLists.txt

@@ -73,4 +73,5 @@ add_subdirectory(hsm)
 add_subdirectory(dcdn)
 add_subdirectory(pvtz)
 add_subdirectory(cloudauth)
-add_subdirectory(dyvmsapi)
+add_subdirectory(dyvmsapi)
+add_subdirectory(drds)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.11.0
+1.12.0

+ 190 - 0
drds/CMakeLists.txt

@@ -0,0 +1,190 @@
+#
+# 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(drds_public_header 
+	include/alibabacloud/drds/DrdsClient.h
+	include/alibabacloud/drds/DrdsExport.h )
+
+set(drds_public_header_model 
+	include/alibabacloud/drds/model/DescribeDrdsDBRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsDBResult.h
+	include/alibabacloud/drds/model/DeleteDrdsDBRequest.h
+	include/alibabacloud/drds/model/DeleteDrdsDBResult.h
+	include/alibabacloud/drds/model/CreateReadOnlyAccountRequest.h
+	include/alibabacloud/drds/model/CreateReadOnlyAccountResult.h
+	include/alibabacloud/drds/model/DescribeShardDBsRequest.h
+	include/alibabacloud/drds/model/DescribeShardDBsResult.h
+	include/alibabacloud/drds/model/RemoveDrdsInstanceRequest.h
+	include/alibabacloud/drds/model/RemoveDrdsInstanceResult.h
+	include/alibabacloud/drds/model/ModifyDrdsIpWhiteListRequest.h
+	include/alibabacloud/drds/model/ModifyDrdsIpWhiteListResult.h
+	include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionRequest.h
+	include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionResult.h
+	include/alibabacloud/drds/model/CreateDrdsDBRequest.h
+	include/alibabacloud/drds/model/CreateDrdsDBResult.h
+	include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerResult.h
+	include/alibabacloud/drds/model/CreateDrdsAccountRequest.h
+	include/alibabacloud/drds/model/CreateDrdsAccountResult.h
+	include/alibabacloud/drds/model/DescribeReadOnlyAccountRequest.h
+	include/alibabacloud/drds/model/DescribeReadOnlyAccountResult.h
+	include/alibabacloud/drds/model/ModifyRdsReadWeightRequest.h
+	include/alibabacloud/drds/model/ModifyRdsReadWeightResult.h
+	include/alibabacloud/drds/model/CreateDrdsInstanceRequest.h
+	include/alibabacloud/drds/model/CreateDrdsInstanceResult.h
+	include/alibabacloud/drds/model/DescribeRegionsRequest.h
+	include/alibabacloud/drds/model/DescribeRegionsResult.h
+	include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListResult.h
+	include/alibabacloud/drds/model/DescribeRdsListRequest.h
+	include/alibabacloud/drds/model/DescribeRdsListResult.h
+	include/alibabacloud/drds/model/DescribeDrdsInstancesRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsInstancesResult.h
+	include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordRequest.h
+	include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordResult.h
+	include/alibabacloud/drds/model/DescribeShardDbConnectionInfoRequest.h
+	include/alibabacloud/drds/model/DescribeShardDbConnectionInfoResult.h
+	include/alibabacloud/drds/model/RemoveReadOnlyAccountRequest.h
+	include/alibabacloud/drds/model/RemoveReadOnlyAccountResult.h
+	include/alibabacloud/drds/model/ModifyDrdsDBPasswdRequest.h
+	include/alibabacloud/drds/model/ModifyDrdsDBPasswdResult.h
+	include/alibabacloud/drds/model/DeleteFailedDrdsDBRequest.h
+	include/alibabacloud/drds/model/DeleteFailedDrdsDBResult.h
+	include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusRequest.h
+	include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusResult.h
+	include/alibabacloud/drds/model/DescribeDrdsDBsRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsDBsResult.h
+	include/alibabacloud/drds/model/QueryInstanceInfoByConnRequest.h
+	include/alibabacloud/drds/model/QueryInstanceInfoByConnResult.h
+	include/alibabacloud/drds/model/ModifyFullTableScanRequest.h
+	include/alibabacloud/drds/model/ModifyFullTableScanResult.h
+	include/alibabacloud/drds/model/DescribeDrdsInstanceRequest.h
+	include/alibabacloud/drds/model/DescribeDrdsInstanceResult.h )
+
+set(drds_src 
+	src/DrdsClient.cc
+	src/model/DescribeDrdsDBRequest.cc
+	src/model/DescribeDrdsDBResult.cc
+	src/model/DeleteDrdsDBRequest.cc
+	src/model/DeleteDrdsDBResult.cc
+	src/model/CreateReadOnlyAccountRequest.cc
+	src/model/CreateReadOnlyAccountResult.cc
+	src/model/DescribeShardDBsRequest.cc
+	src/model/DescribeShardDBsResult.cc
+	src/model/RemoveDrdsInstanceRequest.cc
+	src/model/RemoveDrdsInstanceResult.cc
+	src/model/ModifyDrdsIpWhiteListRequest.cc
+	src/model/ModifyDrdsIpWhiteListResult.cc
+	src/model/ModifyDrdsInstanceDescriptionRequest.cc
+	src/model/ModifyDrdsInstanceDescriptionResult.cc
+	src/model/CreateDrdsDBRequest.cc
+	src/model/CreateDrdsDBResult.cc
+	src/model/DescribeDrdsInstanceNetInfoForInnerRequest.cc
+	src/model/DescribeDrdsInstanceNetInfoForInnerResult.cc
+	src/model/CreateDrdsAccountRequest.cc
+	src/model/CreateDrdsAccountResult.cc
+	src/model/DescribeReadOnlyAccountRequest.cc
+	src/model/DescribeReadOnlyAccountResult.cc
+	src/model/ModifyRdsReadWeightRequest.cc
+	src/model/ModifyRdsReadWeightResult.cc
+	src/model/CreateDrdsInstanceRequest.cc
+	src/model/CreateDrdsInstanceResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/DescribeDrdsDBIpWhiteListRequest.cc
+	src/model/DescribeDrdsDBIpWhiteListResult.cc
+	src/model/DescribeRdsListRequest.cc
+	src/model/DescribeRdsListResult.cc
+	src/model/DescribeDrdsInstancesRequest.cc
+	src/model/DescribeDrdsInstancesResult.cc
+	src/model/ModifyReadOnlyAccountPasswordRequest.cc
+	src/model/ModifyReadOnlyAccountPasswordResult.cc
+	src/model/DescribeShardDbConnectionInfoRequest.cc
+	src/model/DescribeShardDbConnectionInfoResult.cc
+	src/model/RemoveReadOnlyAccountRequest.cc
+	src/model/RemoveReadOnlyAccountResult.cc
+	src/model/ModifyDrdsDBPasswdRequest.cc
+	src/model/ModifyDrdsDBPasswdResult.cc
+	src/model/DeleteFailedDrdsDBRequest.cc
+	src/model/DeleteFailedDrdsDBResult.cc
+	src/model/DescribeCreateDrdsInstanceStatusRequest.cc
+	src/model/DescribeCreateDrdsInstanceStatusResult.cc
+	src/model/DescribeDrdsDBsRequest.cc
+	src/model/DescribeDrdsDBsResult.cc
+	src/model/QueryInstanceInfoByConnRequest.cc
+	src/model/QueryInstanceInfoByConnResult.cc
+	src/model/ModifyFullTableScanRequest.cc
+	src/model/ModifyFullTableScanResult.cc
+	src/model/DescribeDrdsInstanceRequest.cc
+	src/model/DescribeDrdsInstanceResult.cc )
+
+add_library(drds ${LIB_TYPE}
+	${drds_public_header}
+	${drds_public_header_model}
+	${drds_src})
+
+set_target_properties(drds
+	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}drds
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(drds
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_DRDS_LIBRARY)
+endif()
+
+target_include_directories(drds
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(drds
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(drds
+		jsoncpp)
+	target_include_directories(drds
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(drds
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(drds
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(drds
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(drds
+		jsoncpp)
+endif()
+
+install(FILES ${drds_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/drds)
+install(FILES ${drds_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/drds/model)
+install(TARGETS drds
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 262 - 0
drds/include/alibabacloud/drds/DrdsClient.h

@@ -0,0 +1,262 @@
+/*
+ * 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_DRDS_DRDSCLIENT_H_
+#define ALIBABACLOUD_DRDS_DRDSCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "DrdsExport.h"
+#include "model/DescribeDrdsDBRequest.h"
+#include "model/DescribeDrdsDBResult.h"
+#include "model/DeleteDrdsDBRequest.h"
+#include "model/DeleteDrdsDBResult.h"
+#include "model/CreateReadOnlyAccountRequest.h"
+#include "model/CreateReadOnlyAccountResult.h"
+#include "model/DescribeShardDBsRequest.h"
+#include "model/DescribeShardDBsResult.h"
+#include "model/RemoveDrdsInstanceRequest.h"
+#include "model/RemoveDrdsInstanceResult.h"
+#include "model/ModifyDrdsIpWhiteListRequest.h"
+#include "model/ModifyDrdsIpWhiteListResult.h"
+#include "model/ModifyDrdsInstanceDescriptionRequest.h"
+#include "model/ModifyDrdsInstanceDescriptionResult.h"
+#include "model/CreateDrdsDBRequest.h"
+#include "model/CreateDrdsDBResult.h"
+#include "model/DescribeDrdsInstanceNetInfoForInnerRequest.h"
+#include "model/DescribeDrdsInstanceNetInfoForInnerResult.h"
+#include "model/CreateDrdsAccountRequest.h"
+#include "model/CreateDrdsAccountResult.h"
+#include "model/DescribeReadOnlyAccountRequest.h"
+#include "model/DescribeReadOnlyAccountResult.h"
+#include "model/ModifyRdsReadWeightRequest.h"
+#include "model/ModifyRdsReadWeightResult.h"
+#include "model/CreateDrdsInstanceRequest.h"
+#include "model/CreateDrdsInstanceResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/DescribeDrdsDBIpWhiteListRequest.h"
+#include "model/DescribeDrdsDBIpWhiteListResult.h"
+#include "model/DescribeRdsListRequest.h"
+#include "model/DescribeRdsListResult.h"
+#include "model/DescribeDrdsInstancesRequest.h"
+#include "model/DescribeDrdsInstancesResult.h"
+#include "model/ModifyReadOnlyAccountPasswordRequest.h"
+#include "model/ModifyReadOnlyAccountPasswordResult.h"
+#include "model/DescribeShardDbConnectionInfoRequest.h"
+#include "model/DescribeShardDbConnectionInfoResult.h"
+#include "model/RemoveReadOnlyAccountRequest.h"
+#include "model/RemoveReadOnlyAccountResult.h"
+#include "model/ModifyDrdsDBPasswdRequest.h"
+#include "model/ModifyDrdsDBPasswdResult.h"
+#include "model/DeleteFailedDrdsDBRequest.h"
+#include "model/DeleteFailedDrdsDBResult.h"
+#include "model/DescribeCreateDrdsInstanceStatusRequest.h"
+#include "model/DescribeCreateDrdsInstanceStatusResult.h"
+#include "model/DescribeDrdsDBsRequest.h"
+#include "model/DescribeDrdsDBsResult.h"
+#include "model/QueryInstanceInfoByConnRequest.h"
+#include "model/QueryInstanceInfoByConnResult.h"
+#include "model/ModifyFullTableScanRequest.h"
+#include "model/ModifyFullTableScanResult.h"
+#include "model/DescribeDrdsInstanceRequest.h"
+#include "model/DescribeDrdsInstanceResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		class ALIBABACLOUD_DRDS_EXPORT DrdsClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::DescribeDrdsDBResult> DescribeDrdsDBOutcome;
+			typedef std::future<DescribeDrdsDBOutcome> DescribeDrdsDBOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsDBRequest&, const DescribeDrdsDBOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsDBAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDrdsDBResult> DeleteDrdsDBOutcome;
+			typedef std::future<DeleteDrdsDBOutcome> DeleteDrdsDBOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DeleteDrdsDBRequest&, const DeleteDrdsDBOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDrdsDBAsyncHandler;
+			typedef Outcome<Error, Model::CreateReadOnlyAccountResult> CreateReadOnlyAccountOutcome;
+			typedef std::future<CreateReadOnlyAccountOutcome> CreateReadOnlyAccountOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::CreateReadOnlyAccountRequest&, const CreateReadOnlyAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateReadOnlyAccountAsyncHandler;
+			typedef Outcome<Error, Model::DescribeShardDBsResult> DescribeShardDBsOutcome;
+			typedef std::future<DescribeShardDBsOutcome> DescribeShardDBsOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeShardDBsRequest&, const DescribeShardDBsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeShardDBsAsyncHandler;
+			typedef Outcome<Error, Model::RemoveDrdsInstanceResult> RemoveDrdsInstanceOutcome;
+			typedef std::future<RemoveDrdsInstanceOutcome> RemoveDrdsInstanceOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::RemoveDrdsInstanceRequest&, const RemoveDrdsInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveDrdsInstanceAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDrdsIpWhiteListResult> ModifyDrdsIpWhiteListOutcome;
+			typedef std::future<ModifyDrdsIpWhiteListOutcome> ModifyDrdsIpWhiteListOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyDrdsIpWhiteListRequest&, const ModifyDrdsIpWhiteListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDrdsIpWhiteListAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDrdsInstanceDescriptionResult> ModifyDrdsInstanceDescriptionOutcome;
+			typedef std::future<ModifyDrdsInstanceDescriptionOutcome> ModifyDrdsInstanceDescriptionOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyDrdsInstanceDescriptionRequest&, const ModifyDrdsInstanceDescriptionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDrdsInstanceDescriptionAsyncHandler;
+			typedef Outcome<Error, Model::CreateDrdsDBResult> CreateDrdsDBOutcome;
+			typedef std::future<CreateDrdsDBOutcome> CreateDrdsDBOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::CreateDrdsDBRequest&, const CreateDrdsDBOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDrdsDBAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDrdsInstanceNetInfoForInnerResult> DescribeDrdsInstanceNetInfoForInnerOutcome;
+			typedef std::future<DescribeDrdsInstanceNetInfoForInnerOutcome> DescribeDrdsInstanceNetInfoForInnerOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsInstanceNetInfoForInnerRequest&, const DescribeDrdsInstanceNetInfoForInnerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsInstanceNetInfoForInnerAsyncHandler;
+			typedef Outcome<Error, Model::CreateDrdsAccountResult> CreateDrdsAccountOutcome;
+			typedef std::future<CreateDrdsAccountOutcome> CreateDrdsAccountOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::CreateDrdsAccountRequest&, const CreateDrdsAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDrdsAccountAsyncHandler;
+			typedef Outcome<Error, Model::DescribeReadOnlyAccountResult> DescribeReadOnlyAccountOutcome;
+			typedef std::future<DescribeReadOnlyAccountOutcome> DescribeReadOnlyAccountOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeReadOnlyAccountRequest&, const DescribeReadOnlyAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeReadOnlyAccountAsyncHandler;
+			typedef Outcome<Error, Model::ModifyRdsReadWeightResult> ModifyRdsReadWeightOutcome;
+			typedef std::future<ModifyRdsReadWeightOutcome> ModifyRdsReadWeightOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyRdsReadWeightRequest&, const ModifyRdsReadWeightOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyRdsReadWeightAsyncHandler;
+			typedef Outcome<Error, Model::CreateDrdsInstanceResult> CreateDrdsInstanceOutcome;
+			typedef std::future<CreateDrdsInstanceOutcome> CreateDrdsInstanceOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::CreateDrdsInstanceRequest&, const CreateDrdsInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDrdsInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDrdsDBIpWhiteListResult> DescribeDrdsDBIpWhiteListOutcome;
+			typedef std::future<DescribeDrdsDBIpWhiteListOutcome> DescribeDrdsDBIpWhiteListOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsDBIpWhiteListRequest&, const DescribeDrdsDBIpWhiteListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsDBIpWhiteListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRdsListResult> DescribeRdsListOutcome;
+			typedef std::future<DescribeRdsListOutcome> DescribeRdsListOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeRdsListRequest&, const DescribeRdsListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRdsListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDrdsInstancesResult> DescribeDrdsInstancesOutcome;
+			typedef std::future<DescribeDrdsInstancesOutcome> DescribeDrdsInstancesOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsInstancesRequest&, const DescribeDrdsInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsInstancesAsyncHandler;
+			typedef Outcome<Error, Model::ModifyReadOnlyAccountPasswordResult> ModifyReadOnlyAccountPasswordOutcome;
+			typedef std::future<ModifyReadOnlyAccountPasswordOutcome> ModifyReadOnlyAccountPasswordOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyReadOnlyAccountPasswordRequest&, const ModifyReadOnlyAccountPasswordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyReadOnlyAccountPasswordAsyncHandler;
+			typedef Outcome<Error, Model::DescribeShardDbConnectionInfoResult> DescribeShardDbConnectionInfoOutcome;
+			typedef std::future<DescribeShardDbConnectionInfoOutcome> DescribeShardDbConnectionInfoOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeShardDbConnectionInfoRequest&, const DescribeShardDbConnectionInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeShardDbConnectionInfoAsyncHandler;
+			typedef Outcome<Error, Model::RemoveReadOnlyAccountResult> RemoveReadOnlyAccountOutcome;
+			typedef std::future<RemoveReadOnlyAccountOutcome> RemoveReadOnlyAccountOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::RemoveReadOnlyAccountRequest&, const RemoveReadOnlyAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveReadOnlyAccountAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDrdsDBPasswdResult> ModifyDrdsDBPasswdOutcome;
+			typedef std::future<ModifyDrdsDBPasswdOutcome> ModifyDrdsDBPasswdOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyDrdsDBPasswdRequest&, const ModifyDrdsDBPasswdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDrdsDBPasswdAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFailedDrdsDBResult> DeleteFailedDrdsDBOutcome;
+			typedef std::future<DeleteFailedDrdsDBOutcome> DeleteFailedDrdsDBOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DeleteFailedDrdsDBRequest&, const DeleteFailedDrdsDBOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFailedDrdsDBAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCreateDrdsInstanceStatusResult> DescribeCreateDrdsInstanceStatusOutcome;
+			typedef std::future<DescribeCreateDrdsInstanceStatusOutcome> DescribeCreateDrdsInstanceStatusOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeCreateDrdsInstanceStatusRequest&, const DescribeCreateDrdsInstanceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCreateDrdsInstanceStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDrdsDBsResult> DescribeDrdsDBsOutcome;
+			typedef std::future<DescribeDrdsDBsOutcome> DescribeDrdsDBsOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsDBsRequest&, const DescribeDrdsDBsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsDBsAsyncHandler;
+			typedef Outcome<Error, Model::QueryInstanceInfoByConnResult> QueryInstanceInfoByConnOutcome;
+			typedef std::future<QueryInstanceInfoByConnOutcome> QueryInstanceInfoByConnOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::QueryInstanceInfoByConnRequest&, const QueryInstanceInfoByConnOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryInstanceInfoByConnAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFullTableScanResult> ModifyFullTableScanOutcome;
+			typedef std::future<ModifyFullTableScanOutcome> ModifyFullTableScanOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::ModifyFullTableScanRequest&, const ModifyFullTableScanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFullTableScanAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDrdsInstanceResult> DescribeDrdsInstanceOutcome;
+			typedef std::future<DescribeDrdsInstanceOutcome> DescribeDrdsInstanceOutcomeCallable;
+			typedef std::function<void(const DrdsClient*, const Model::DescribeDrdsInstanceRequest&, const DescribeDrdsInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDrdsInstanceAsyncHandler;
+
+			DrdsClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			DrdsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			DrdsClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~DrdsClient();
+			DescribeDrdsDBOutcome describeDrdsDB(const Model::DescribeDrdsDBRequest &request)const;
+			void describeDrdsDBAsync(const Model::DescribeDrdsDBRequest& request, const DescribeDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsDBOutcomeCallable describeDrdsDBCallable(const Model::DescribeDrdsDBRequest& request) const;
+			DeleteDrdsDBOutcome deleteDrdsDB(const Model::DeleteDrdsDBRequest &request)const;
+			void deleteDrdsDBAsync(const Model::DeleteDrdsDBRequest& request, const DeleteDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDrdsDBOutcomeCallable deleteDrdsDBCallable(const Model::DeleteDrdsDBRequest& request) const;
+			CreateReadOnlyAccountOutcome createReadOnlyAccount(const Model::CreateReadOnlyAccountRequest &request)const;
+			void createReadOnlyAccountAsync(const Model::CreateReadOnlyAccountRequest& request, const CreateReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateReadOnlyAccountOutcomeCallable createReadOnlyAccountCallable(const Model::CreateReadOnlyAccountRequest& request) const;
+			DescribeShardDBsOutcome describeShardDBs(const Model::DescribeShardDBsRequest &request)const;
+			void describeShardDBsAsync(const Model::DescribeShardDBsRequest& request, const DescribeShardDBsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeShardDBsOutcomeCallable describeShardDBsCallable(const Model::DescribeShardDBsRequest& request) const;
+			RemoveDrdsInstanceOutcome removeDrdsInstance(const Model::RemoveDrdsInstanceRequest &request)const;
+			void removeDrdsInstanceAsync(const Model::RemoveDrdsInstanceRequest& request, const RemoveDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveDrdsInstanceOutcomeCallable removeDrdsInstanceCallable(const Model::RemoveDrdsInstanceRequest& request) const;
+			ModifyDrdsIpWhiteListOutcome modifyDrdsIpWhiteList(const Model::ModifyDrdsIpWhiteListRequest &request)const;
+			void modifyDrdsIpWhiteListAsync(const Model::ModifyDrdsIpWhiteListRequest& request, const ModifyDrdsIpWhiteListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDrdsIpWhiteListOutcomeCallable modifyDrdsIpWhiteListCallable(const Model::ModifyDrdsIpWhiteListRequest& request) const;
+			ModifyDrdsInstanceDescriptionOutcome modifyDrdsInstanceDescription(const Model::ModifyDrdsInstanceDescriptionRequest &request)const;
+			void modifyDrdsInstanceDescriptionAsync(const Model::ModifyDrdsInstanceDescriptionRequest& request, const ModifyDrdsInstanceDescriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDrdsInstanceDescriptionOutcomeCallable modifyDrdsInstanceDescriptionCallable(const Model::ModifyDrdsInstanceDescriptionRequest& request) const;
+			CreateDrdsDBOutcome createDrdsDB(const Model::CreateDrdsDBRequest &request)const;
+			void createDrdsDBAsync(const Model::CreateDrdsDBRequest& request, const CreateDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDrdsDBOutcomeCallable createDrdsDBCallable(const Model::CreateDrdsDBRequest& request) const;
+			DescribeDrdsInstanceNetInfoForInnerOutcome describeDrdsInstanceNetInfoForInner(const Model::DescribeDrdsInstanceNetInfoForInnerRequest &request)const;
+			void describeDrdsInstanceNetInfoForInnerAsync(const Model::DescribeDrdsInstanceNetInfoForInnerRequest& request, const DescribeDrdsInstanceNetInfoForInnerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsInstanceNetInfoForInnerOutcomeCallable describeDrdsInstanceNetInfoForInnerCallable(const Model::DescribeDrdsInstanceNetInfoForInnerRequest& request) const;
+			CreateDrdsAccountOutcome createDrdsAccount(const Model::CreateDrdsAccountRequest &request)const;
+			void createDrdsAccountAsync(const Model::CreateDrdsAccountRequest& request, const CreateDrdsAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDrdsAccountOutcomeCallable createDrdsAccountCallable(const Model::CreateDrdsAccountRequest& request) const;
+			DescribeReadOnlyAccountOutcome describeReadOnlyAccount(const Model::DescribeReadOnlyAccountRequest &request)const;
+			void describeReadOnlyAccountAsync(const Model::DescribeReadOnlyAccountRequest& request, const DescribeReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeReadOnlyAccountOutcomeCallable describeReadOnlyAccountCallable(const Model::DescribeReadOnlyAccountRequest& request) const;
+			ModifyRdsReadWeightOutcome modifyRdsReadWeight(const Model::ModifyRdsReadWeightRequest &request)const;
+			void modifyRdsReadWeightAsync(const Model::ModifyRdsReadWeightRequest& request, const ModifyRdsReadWeightAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyRdsReadWeightOutcomeCallable modifyRdsReadWeightCallable(const Model::ModifyRdsReadWeightRequest& request) const;
+			CreateDrdsInstanceOutcome createDrdsInstance(const Model::CreateDrdsInstanceRequest &request)const;
+			void createDrdsInstanceAsync(const Model::CreateDrdsInstanceRequest& request, const CreateDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDrdsInstanceOutcomeCallable createDrdsInstanceCallable(const Model::CreateDrdsInstanceRequest& 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;
+			DescribeDrdsDBIpWhiteListOutcome describeDrdsDBIpWhiteList(const Model::DescribeDrdsDBIpWhiteListRequest &request)const;
+			void describeDrdsDBIpWhiteListAsync(const Model::DescribeDrdsDBIpWhiteListRequest& request, const DescribeDrdsDBIpWhiteListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsDBIpWhiteListOutcomeCallable describeDrdsDBIpWhiteListCallable(const Model::DescribeDrdsDBIpWhiteListRequest& request) const;
+			DescribeRdsListOutcome describeRdsList(const Model::DescribeRdsListRequest &request)const;
+			void describeRdsListAsync(const Model::DescribeRdsListRequest& request, const DescribeRdsListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRdsListOutcomeCallable describeRdsListCallable(const Model::DescribeRdsListRequest& request) const;
+			DescribeDrdsInstancesOutcome describeDrdsInstances(const Model::DescribeDrdsInstancesRequest &request)const;
+			void describeDrdsInstancesAsync(const Model::DescribeDrdsInstancesRequest& request, const DescribeDrdsInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsInstancesOutcomeCallable describeDrdsInstancesCallable(const Model::DescribeDrdsInstancesRequest& request) const;
+			ModifyReadOnlyAccountPasswordOutcome modifyReadOnlyAccountPassword(const Model::ModifyReadOnlyAccountPasswordRequest &request)const;
+			void modifyReadOnlyAccountPasswordAsync(const Model::ModifyReadOnlyAccountPasswordRequest& request, const ModifyReadOnlyAccountPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyReadOnlyAccountPasswordOutcomeCallable modifyReadOnlyAccountPasswordCallable(const Model::ModifyReadOnlyAccountPasswordRequest& request) const;
+			DescribeShardDbConnectionInfoOutcome describeShardDbConnectionInfo(const Model::DescribeShardDbConnectionInfoRequest &request)const;
+			void describeShardDbConnectionInfoAsync(const Model::DescribeShardDbConnectionInfoRequest& request, const DescribeShardDbConnectionInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeShardDbConnectionInfoOutcomeCallable describeShardDbConnectionInfoCallable(const Model::DescribeShardDbConnectionInfoRequest& request) const;
+			RemoveReadOnlyAccountOutcome removeReadOnlyAccount(const Model::RemoveReadOnlyAccountRequest &request)const;
+			void removeReadOnlyAccountAsync(const Model::RemoveReadOnlyAccountRequest& request, const RemoveReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveReadOnlyAccountOutcomeCallable removeReadOnlyAccountCallable(const Model::RemoveReadOnlyAccountRequest& request) const;
+			ModifyDrdsDBPasswdOutcome modifyDrdsDBPasswd(const Model::ModifyDrdsDBPasswdRequest &request)const;
+			void modifyDrdsDBPasswdAsync(const Model::ModifyDrdsDBPasswdRequest& request, const ModifyDrdsDBPasswdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDrdsDBPasswdOutcomeCallable modifyDrdsDBPasswdCallable(const Model::ModifyDrdsDBPasswdRequest& request) const;
+			DeleteFailedDrdsDBOutcome deleteFailedDrdsDB(const Model::DeleteFailedDrdsDBRequest &request)const;
+			void deleteFailedDrdsDBAsync(const Model::DeleteFailedDrdsDBRequest& request, const DeleteFailedDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFailedDrdsDBOutcomeCallable deleteFailedDrdsDBCallable(const Model::DeleteFailedDrdsDBRequest& request) const;
+			DescribeCreateDrdsInstanceStatusOutcome describeCreateDrdsInstanceStatus(const Model::DescribeCreateDrdsInstanceStatusRequest &request)const;
+			void describeCreateDrdsInstanceStatusAsync(const Model::DescribeCreateDrdsInstanceStatusRequest& request, const DescribeCreateDrdsInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCreateDrdsInstanceStatusOutcomeCallable describeCreateDrdsInstanceStatusCallable(const Model::DescribeCreateDrdsInstanceStatusRequest& request) const;
+			DescribeDrdsDBsOutcome describeDrdsDBs(const Model::DescribeDrdsDBsRequest &request)const;
+			void describeDrdsDBsAsync(const Model::DescribeDrdsDBsRequest& request, const DescribeDrdsDBsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsDBsOutcomeCallable describeDrdsDBsCallable(const Model::DescribeDrdsDBsRequest& request) const;
+			QueryInstanceInfoByConnOutcome queryInstanceInfoByConn(const Model::QueryInstanceInfoByConnRequest &request)const;
+			void queryInstanceInfoByConnAsync(const Model::QueryInstanceInfoByConnRequest& request, const QueryInstanceInfoByConnAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryInstanceInfoByConnOutcomeCallable queryInstanceInfoByConnCallable(const Model::QueryInstanceInfoByConnRequest& request) const;
+			ModifyFullTableScanOutcome modifyFullTableScan(const Model::ModifyFullTableScanRequest &request)const;
+			void modifyFullTableScanAsync(const Model::ModifyFullTableScanRequest& request, const ModifyFullTableScanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFullTableScanOutcomeCallable modifyFullTableScanCallable(const Model::ModifyFullTableScanRequest& request) const;
+			DescribeDrdsInstanceOutcome describeDrdsInstance(const Model::DescribeDrdsInstanceRequest &request)const;
+			void describeDrdsInstanceAsync(const Model::DescribeDrdsInstanceRequest& request, const DescribeDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDrdsInstanceOutcomeCallable describeDrdsInstanceCallable(const Model::DescribeDrdsInstanceRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_DRDS_DRDSCLIENT_H_

+ 32 - 0
drds/include/alibabacloud/drds/DrdsExport.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_DRDS_DRDSEXPORT_H_
+#define ALIBABACLOUD_DRDS_DRDSEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_DRDS_LIBRARY)
+#		define ALIBABACLOUD_DRDS_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_DRDS_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_DRDS_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_DRDS_DRDSEXPORT_H_

+ 60 - 0
drds/include/alibabacloud/drds/model/CreateDrdsAccountRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_CREATEDRDSACCOUNTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSACCOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsAccountRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDrdsAccountRequest();
+				~CreateDrdsAccountRequest();
+
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getUserName()const;
+				void setUserName(const std::string& userName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string password_;
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string userName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSACCOUNTREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/CreateDrdsAccountResult.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_DRDS_MODEL_CREATEDRDSACCOUNTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSACCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsAccountResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDrdsAccountResult();
+				explicit CreateDrdsAccountResult(const std::string &payload);
+				~CreateDrdsAccountResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSACCOUNTRESULT_H_

+ 63 - 0
drds/include/alibabacloud/drds/model/CreateDrdsDBRequest.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_DRDS_MODEL_CREATEDRDSDBREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSDBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsDBRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDrdsDBRequest();
+				~CreateDrdsDBRequest();
+
+				std::string getEncode()const;
+				void setEncode(const std::string& encode);
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getRdsInstances()const;
+				void setRdsInstances(const std::string& rdsInstances);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string encode_;
+				std::string password_;
+				std::string dbName_;
+				std::string rdsInstances_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSDBREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/CreateDrdsDBResult.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_DRDS_MODEL_CREATEDRDSDBRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSDBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsDBResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDrdsDBResult();
+				explicit CreateDrdsDBResult(const std::string &payload);
+				~CreateDrdsDBResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSDBRESULT_H_

+ 81 - 0
drds/include/alibabacloud/drds/model/CreateDrdsInstanceRequest.h

@@ -0,0 +1,81 @@
+/*
+ * 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_DRDS_MODEL_CREATEDRDSINSTANCEREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDrdsInstanceRequest();
+				~CreateDrdsInstanceRequest();
+
+				int getQuantity()const;
+				void setQuantity(int quantity);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getSpecification()const;
+				void setSpecification(const std::string& specification);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getVswitchId()const;
+				void setVswitchId(const std::string& vswitchId);
+				bool getIsHa()const;
+				void setIsHa(bool isHa);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getInstanceSeries()const;
+				void setInstanceSeries(const std::string& instanceSeries);
+				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:
+				int quantity_;
+				std::string description_;
+				std::string specification_;
+				std::string type_;
+				std::string accessKeyId_;
+				std::string vswitchId_;
+				bool isHa_;
+				std::string regionId_;
+				std::string instanceSeries_;
+				std::string vpcId_;
+				std::string zoneId_;
+				std::string payType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSINSTANCEREQUEST_H_

+ 58 - 0
drds/include/alibabacloud/drds/model/CreateDrdsInstanceResult.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_DRDS_MODEL_CREATEDRDSINSTANCERESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEDRDSINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateDrdsInstanceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long orderId;
+					std::vector<std::string> drdsInstanceIdList;
+				};
+
+
+				CreateDrdsInstanceResult();
+				explicit CreateDrdsInstanceResult(const std::string &payload);
+				~CreateDrdsInstanceResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEDRDSINSTANCERESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/CreateReadOnlyAccountRequest.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_DRDS_MODEL_CREATEREADONLYACCOUNTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_CREATEREADONLYACCOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT CreateReadOnlyAccountRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateReadOnlyAccountRequest();
+				~CreateReadOnlyAccountRequest();
+
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string password_;
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_CREATEREADONLYACCOUNTREQUEST_H_

+ 59 - 0
drds/include/alibabacloud/drds/model/CreateReadOnlyAccountResult.h

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

+ 54 - 0
drds/include/alibabacloud/drds/model/DeleteDrdsDBRequest.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_DRDS_MODEL_DELETEDRDSDBREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DELETEDRDSDBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DeleteDrdsDBRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDrdsDBRequest();
+				~DeleteDrdsDBRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DELETEDRDSDBREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DeleteDrdsDBResult.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_DRDS_MODEL_DELETEDRDSDBRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DELETEDRDSDBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DeleteDrdsDBResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDrdsDBResult();
+				explicit DeleteDrdsDBResult(const std::string &payload);
+				~DeleteDrdsDBResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DELETEDRDSDBRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DeleteFailedDrdsDBRequest.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_DRDS_MODEL_DELETEFAILEDDRDSDBREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DELETEFAILEDDRDSDBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DeleteFailedDrdsDBRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteFailedDrdsDBRequest();
+				~DeleteFailedDrdsDBRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DELETEFAILEDDRDSDBREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DeleteFailedDrdsDBResult.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_DRDS_MODEL_DELETEFAILEDDRDSDBRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DELETEFAILEDDRDSDBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DeleteFailedDrdsDBResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFailedDrdsDBResult();
+				explicit DeleteFailedDrdsDBResult(const std::string &payload);
+				~DeleteFailedDrdsDBResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DELETEFAILEDDRDSDBRESULT_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusRequest.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_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeCreateDrdsInstanceStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeCreateDrdsInstanceStatusRequest();
+				~DescribeCreateDrdsInstanceStatusRequest();
+
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSREQUEST_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusResult.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_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeCreateDrdsInstanceStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+				};
+
+
+				DescribeCreateDrdsInstanceStatusResult();
+				explicit DescribeCreateDrdsInstanceStatusResult(const std::string &payload);
+				~DescribeCreateDrdsInstanceStatusResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBECREATEDRDSINSTANCESTATUSRESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListRequest.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_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBIpWhiteListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsDBIpWhiteListRequest();
+				~DescribeDrdsDBIpWhiteListRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getGroupName()const;
+				void setGroupName(const std::string& groupName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string groupName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTREQUEST_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBIpWhiteListResult.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_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBIpWhiteListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::vector<std::string> ipWhiteList;
+				};
+
+
+				DescribeDrdsDBIpWhiteListResult();
+				explicit DescribeDrdsDBIpWhiteListResult(const std::string &payload);
+				~DescribeDrdsDBIpWhiteListResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBIPWHITELISTRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBRequest.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_DRDS_MODEL_DESCRIBEDRDSDBREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsDBRequest();
+				~DescribeDrdsDBRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBREQUEST_H_

+ 61 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBResult.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_DRDS_MODEL_DESCRIBEDRDSDBRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int status;
+					std::string msg;
+					std::string createTime;
+					std::string mode;
+					std::string dbName;
+				};
+
+
+				DescribeDrdsDBResult();
+				explicit DescribeDrdsDBResult(const std::string &payload);
+				~DescribeDrdsDBResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBRESULT_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBsRequest.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_DRDS_MODEL_DESCRIBEDRDSDBSREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsDBsRequest();
+				~DescribeDrdsDBsRequest();
+
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBSREQUEST_H_

+ 61 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsDBsResult.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_DRDS_MODEL_DESCRIBEDRDSDBSRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsDBsResult : public ServiceResult
+			{
+			public:
+				struct Db
+				{
+					int status;
+					std::string msg;
+					std::string createTime;
+					std::string mode;
+					std::string dbName;
+				};
+
+
+				DescribeDrdsDBsResult();
+				explicit DescribeDrdsDBsResult(const std::string &payload);
+				~DescribeDrdsDBsResult();
+				std::vector<Db> getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Db> data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSDBSRESULT_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerRequest.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_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstanceNetInfoForInnerRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsInstanceNetInfoForInnerRequest();
+				~DescribeDrdsInstanceNetInfoForInnerRequest();
+
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERREQUEST_H_

+ 64 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerResult.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_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstanceNetInfoForInnerResult : public ServiceResult
+			{
+			public:
+				struct NetInfo
+				{
+					std::string type;
+					std::string iP;
+					std::string port;
+					bool isForVpc;
+				};
+
+
+				DescribeDrdsInstanceNetInfoForInnerResult();
+				explicit DescribeDrdsInstanceNetInfoForInnerResult(const std::string &payload);
+				~DescribeDrdsInstanceNetInfoForInnerResult();
+				std::vector<NetInfo> getNetInfos()const;
+				std::string getDrdsInstanceId()const;
+				std::string getNetworkType()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<NetInfo> netInfos_;
+				std::string drdsInstanceId_;
+				std::string networkType_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCENETINFOFORINNERRESULT_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstanceRequest.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_DRDS_MODEL_DESCRIBEDRDSINSTANCEREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsInstanceRequest();
+				~DescribeDrdsInstanceRequest();
+
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCEREQUEST_H_

+ 76 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstanceResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCERESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstanceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Vip
+					{
+						std::string type;
+						std::string vpcId;
+						std::string iP;
+						std::string port;
+						std::string vswitchId;
+					};
+					std::string status;
+					std::string type;
+					std::string description;
+					std::string drdsInstanceId;
+					std::string zoneId;
+					long version;
+					std::string networkType;
+					long createTime;
+					std::string vpcCloudInstanceId;
+					std::string specification;
+					std::string regionId;
+					std::vector<Vip> vips;
+				};
+
+
+				DescribeDrdsInstanceResult();
+				explicit DescribeDrdsInstanceResult(const std::string &payload);
+				~DescribeDrdsInstanceResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCERESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstancesRequest.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_DRDS_MODEL_DESCRIBEDRDSINSTANCESREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDrdsInstancesRequest();
+				~DescribeDrdsInstancesRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string regionId_;
+				std::string type_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCESREQUEST_H_

+ 75 - 0
drds/include/alibabacloud/drds/model/DescribeDrdsInstancesResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCESRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeDrdsInstancesResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					struct Vip
+					{
+						std::string type;
+						std::string vpcId;
+						std::string iP;
+						std::string port;
+						std::string vswitchId;
+					};
+					std::string status;
+					std::string type;
+					std::string description;
+					std::string drdsInstanceId;
+					std::string zoneId;
+					long version;
+					std::string networkType;
+					long createTime;
+					std::string vpcCloudInstanceId;
+					std::string regionId;
+					std::vector<Instance::Vip> vips;
+				};
+
+
+				DescribeDrdsInstancesResult();
+				explicit DescribeDrdsInstancesResult(const std::string &payload);
+				~DescribeDrdsInstancesResult();
+				std::vector<Instance> getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Instance> data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEDRDSINSTANCESRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DescribeRdsListRequest.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_DRDS_MODEL_DESCRIBERDSLISTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBERDSLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeRdsListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRdsListRequest();
+				~DescribeRdsListRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBERDSLISTREQUEST_H_

+ 74 - 0
drds/include/alibabacloud/drds/model/DescribeRdsListResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_DRDS_MODEL_DESCRIBERDSLISTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBERDSLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeRdsListResult : public ServiceResult
+			{
+			public:
+				struct RdsInstance
+				{
+					struct Child
+					{
+						std::string instanceName;
+						std::string connectUrl;
+						int readWeight;
+						std::string instanceId;
+						std::string instanceStatus;
+						int port;
+						std::string dbType;
+					};
+					std::vector<RdsInstance::Child> readOnlyChildren;
+					std::string instanceName;
+					std::string connectUrl;
+					int readWeight;
+					int instanceId;
+					std::string instanceStatus;
+					int port;
+					std::string dbType;
+				};
+
+
+				DescribeRdsListResult();
+				explicit DescribeRdsListResult(const std::string &payload);
+				~DescribeRdsListResult();
+				std::vector<RdsInstance> getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<RdsInstance> data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBERDSLISTRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DescribeReadOnlyAccountRequest.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_DRDS_MODEL_DESCRIBEREADONLYACCOUNTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEREADONLYACCOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeReadOnlyAccountRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeReadOnlyAccountRequest();
+				~DescribeReadOnlyAccountRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEREADONLYACCOUNTREQUEST_H_

+ 59 - 0
drds/include/alibabacloud/drds/model/DescribeReadOnlyAccountResult.h

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

+ 48 - 0
drds/include/alibabacloud/drds/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_DRDS_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeRegionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRegionsRequest();
+				~DescribeRegionsRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 72 - 0
drds/include/alibabacloud/drds/model/DescribeRegionsResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBEREGIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct DrdsRegion
+				{
+					struct InstanceSeries
+					{
+						struct Spec
+						{
+							std::string specName;
+							std::string specId;
+						};
+						std::string seriesId;
+						std::string seriesName;
+						std::vector<InstanceSeries::Spec> specList;
+					};
+					std::string zoneName;
+					std::string zoneId;
+					std::string regionName;
+					std::vector<DrdsRegion::InstanceSeries> instanceSeriesList;
+					std::string regionId;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				std::vector<DrdsRegion> getDrdsRegions()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DrdsRegion> drdsRegions_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBEREGIONSRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/DescribeShardDBsRequest.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_DRDS_MODEL_DESCRIBESHARDDBSREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeShardDBsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeShardDBsRequest();
+				~DescribeShardDBsRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBSREQUEST_H_

+ 58 - 0
drds/include/alibabacloud/drds/model/DescribeShardDBsResult.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_DRDS_MODEL_DESCRIBESHARDDBSRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeShardDBsResult : public ServiceResult
+			{
+			public:
+				struct DbIntancePair
+				{
+					std::string instanceName;
+					std::string subDbName;
+				};
+
+
+				DescribeShardDBsResult();
+				explicit DescribeShardDBsResult(const std::string &payload);
+				~DescribeShardDBsResult();
+				std::vector<DbIntancePair> getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DbIntancePair> data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBSRESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/DescribeShardDbConnectionInfoRequest.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_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFOREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeShardDbConnectionInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeShardDbConnectionInfoRequest();
+				~DescribeShardDbConnectionInfoRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getSubDbName()const;
+				void setSubDbName(const std::string& subDbName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string subDbName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFOREQUEST_H_

+ 68 - 0
drds/include/alibabacloud/drds/model/DescribeShardDbConnectionInfoResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFORESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT DescribeShardDbConnectionInfoResult : public ServiceResult
+			{
+			public:
+				struct ConnectionInfo
+				{
+					std::string instanceName;
+					int preparedStatementCacheSize;
+					std::string userName;
+					std::string instanceUrl;
+					std::string dbStatus;
+					std::string subDbName;
+					int maxPoolSize;
+					std::string connectionProperties;
+					int idleTimeOut;
+					int minPoolSize;
+					std::string dbType;
+					int blockingTimeout;
+				};
+
+
+				DescribeShardDbConnectionInfoResult();
+				explicit DescribeShardDbConnectionInfoResult(const std::string &payload);
+				~DescribeShardDbConnectionInfoResult();
+				ConnectionInfo getConnectionInfo()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ConnectionInfo connectionInfo_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_DESCRIBESHARDDBCONNECTIONINFORESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsDBPasswdRequest.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_DRDS_MODEL_MODIFYDRDSDBPASSWDREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSDBPASSWDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsDBPasswdRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDrdsDBPasswdRequest();
+				~ModifyDrdsDBPasswdRequest();
+
+				std::string getNewPasswd()const;
+				void setNewPasswd(const std::string& newPasswd);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string newPasswd_;
+				std::string dbName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSDBPASSWDREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsDBPasswdResult.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_DRDS_MODEL_MODIFYDRDSDBPASSWDRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSDBPASSWDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsDBPasswdResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDrdsDBPasswdResult();
+				explicit ModifyDrdsDBPasswdResult(const std::string &payload);
+				~ModifyDrdsDBPasswdResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSDBPASSWDRESULT_H_

+ 54 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionRequest.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_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsInstanceDescriptionRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDrdsInstanceDescriptionRequest();
+				~ModifyDrdsInstanceDescriptionRequest();
+
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string description_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsInstanceDescriptionResult.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_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsInstanceDescriptionResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDrdsInstanceDescriptionResult();
+				explicit ModifyDrdsInstanceDescriptionResult(const std::string &payload);
+				~ModifyDrdsInstanceDescriptionResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSINSTANCEDESCRIPTIONRESULT_H_

+ 66 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsIpWhiteListRequest.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_DRDS_MODEL_MODIFYDRDSIPWHITELISTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSIPWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsIpWhiteListRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDrdsIpWhiteListRequest();
+				~ModifyDrdsIpWhiteListRequest();
+
+				bool getMode()const;
+				void setMode(bool mode);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getGroupAttribute()const;
+				void setGroupAttribute(const std::string& groupAttribute);
+				std::string getIpWhiteList()const;
+				void setIpWhiteList(const std::string& ipWhiteList);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getGroupName()const;
+				void setGroupName(const std::string& groupName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				bool mode_;
+				std::string dbName_;
+				std::string groupAttribute_;
+				std::string ipWhiteList_;
+				std::string drdsInstanceId_;
+				std::string groupName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSIPWHITELISTREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyDrdsIpWhiteListResult.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_DRDS_MODEL_MODIFYDRDSIPWHITELISTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSIPWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyDrdsIpWhiteListResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDrdsIpWhiteListResult();
+				explicit ModifyDrdsIpWhiteListResult(const std::string &payload);
+				~ModifyDrdsIpWhiteListResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYDRDSIPWHITELISTRESULT_H_

+ 60 - 0
drds/include/alibabacloud/drds/model/ModifyFullTableScanRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_MODIFYFULLTABLESCANREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYFULLTABLESCANREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyFullTableScanRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyFullTableScanRequest();
+				~ModifyFullTableScanRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getTableNames()const;
+				void setTableNames(const std::string& tableNames);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				bool getFullTableScan()const;
+				void setFullTableScan(bool fullTableScan);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string tableNames_;
+				std::string drdsInstanceId_;
+				bool fullTableScan_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYFULLTABLESCANREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyFullTableScanResult.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_DRDS_MODEL_MODIFYFULLTABLESCANRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYFULLTABLESCANRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyFullTableScanResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyFullTableScanResult();
+				explicit ModifyFullTableScanResult(const std::string &payload);
+				~ModifyFullTableScanResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYFULLTABLESCANRESULT_H_

+ 60 - 0
drds/include/alibabacloud/drds/model/ModifyRdsReadWeightRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DRDS_MODEL_MODIFYRDSREADWEIGHTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYRDSREADWEIGHTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyRdsReadWeightRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyRdsReadWeightRequest();
+				~ModifyRdsReadWeightRequest();
+
+				std::string getInstanceNames()const;
+				void setInstanceNames(const std::string& instanceNames);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getWeights()const;
+				void setWeights(const std::string& weights);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string instanceNames_;
+				std::string dbName_;
+				std::string weights_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYRDSREADWEIGHTREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyRdsReadWeightResult.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_DRDS_MODEL_MODIFYRDSREADWEIGHTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYRDSREADWEIGHTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyRdsReadWeightResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyRdsReadWeightResult();
+				explicit ModifyRdsReadWeightResult(const std::string &payload);
+				~ModifyRdsReadWeightResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYRDSREADWEIGHTRESULT_H_

+ 63 - 0
drds/include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordRequest.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_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyReadOnlyAccountPasswordRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyReadOnlyAccountPasswordRequest();
+				~ModifyReadOnlyAccountPasswordRequest();
+
+				std::string getNewPasswd()const;
+				void setNewPasswd(const std::string& newPasswd);
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getAccountName()const;
+				void setAccountName(const std::string& accountName);
+				std::string getOriginPassword()const;
+				void setOriginPassword(const std::string& originPassword);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string newPasswd_;
+				std::string dbName_;
+				std::string accountName_;
+				std::string originPassword_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/ModifyReadOnlyAccountPasswordResult.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_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT ModifyReadOnlyAccountPasswordResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyReadOnlyAccountPasswordResult();
+				explicit ModifyReadOnlyAccountPasswordResult(const std::string &payload);
+				~ModifyReadOnlyAccountPasswordResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_MODIFYREADONLYACCOUNTPASSWORDRESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/QueryInstanceInfoByConnRequest.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_DRDS_MODEL_QUERYINSTANCEINFOBYCONNREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_QUERYINSTANCEINFOBYCONNREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT QueryInstanceInfoByConnRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryInstanceInfoByConnRequest();
+				~QueryInstanceInfoByConnRequest();
+
+				int getPort()const;
+				void setPort(int port);
+				std::string getHost()const;
+				void setHost(const std::string& host);
+				std::string getUserName()const;
+				void setUserName(const std::string& userName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int port_;
+				std::string host_;
+				std::string userName_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_QUERYINSTANCEINFOBYCONNREQUEST_H_

+ 78 - 0
drds/include/alibabacloud/drds/model/QueryInstanceInfoByConnResult.h

@@ -0,0 +1,78 @@
+/*
+ * 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_DRDS_MODEL_QUERYINSTANCEINFOBYCONNRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_QUERYINSTANCEINFOBYCONNRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT QueryInstanceInfoByConnResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Vip
+					{
+						std::string type;
+						std::string vpcId;
+						std::string iP;
+						std::string port;
+						std::string vswitchId;
+					};
+					std::string status;
+					std::string description;
+					std::string zoneId;
+					std::string specTypeId;
+					long createTime;
+					std::string specification;
+					std::string type;
+					std::string drdsInstanceId;
+					long version;
+					std::string networkType;
+					std::string vpcCloudInstanceId;
+					std::string regionId;
+					std::vector<Vip> vips;
+					std::string specTypeName;
+				};
+
+
+				QueryInstanceInfoByConnResult();
+				explicit QueryInstanceInfoByConnResult(const std::string &payload);
+				~QueryInstanceInfoByConnResult();
+				Data getData()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_QUERYINSTANCEINFOBYCONNRESULT_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/RemoveDrdsInstanceRequest.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_DRDS_MODEL_REMOVEDRDSINSTANCEREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_REMOVEDRDSINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT RemoveDrdsInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				RemoveDrdsInstanceRequest();
+				~RemoveDrdsInstanceRequest();
+
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_REMOVEDRDSINSTANCEREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/RemoveDrdsInstanceResult.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_DRDS_MODEL_REMOVEDRDSINSTANCERESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_REMOVEDRDSINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT RemoveDrdsInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				RemoveDrdsInstanceResult();
+				explicit RemoveDrdsInstanceResult(const std::string &payload);
+				~RemoveDrdsInstanceResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_REMOVEDRDSINSTANCERESULT_H_

+ 57 - 0
drds/include/alibabacloud/drds/model/RemoveReadOnlyAccountRequest.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_DRDS_MODEL_REMOVEREADONLYACCOUNTREQUEST_H_
+#define ALIBABACLOUD_DRDS_MODEL_REMOVEREADONLYACCOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT RemoveReadOnlyAccountRequest : public RpcServiceRequest
+			{
+
+			public:
+				RemoveReadOnlyAccountRequest();
+				~RemoveReadOnlyAccountRequest();
+
+				std::string getDbName()const;
+				void setDbName(const std::string& dbName);
+				std::string getAccountName()const;
+				void setAccountName(const std::string& accountName);
+				std::string getDrdsInstanceId()const;
+				void setDrdsInstanceId(const std::string& drdsInstanceId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string dbName_;
+				std::string accountName_;
+				std::string drdsInstanceId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_REMOVEREADONLYACCOUNTREQUEST_H_

+ 51 - 0
drds/include/alibabacloud/drds/model/RemoveReadOnlyAccountResult.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_DRDS_MODEL_REMOVEREADONLYACCOUNTRESULT_H_
+#define ALIBABACLOUD_DRDS_MODEL_REMOVEREADONLYACCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/drds/DrdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Drds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DRDS_EXPORT RemoveReadOnlyAccountResult : public ServiceResult
+			{
+			public:
+
+
+				RemoveReadOnlyAccountResult();
+				explicit RemoveReadOnlyAccountResult(const std::string &payload);
+				~RemoveReadOnlyAccountResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DRDS_MODEL_REMOVEREADONLYACCOUNTRESULT_H_

+ 1025 - 0
drds/src/DrdsClient.cc

@@ -0,0 +1,1025 @@
+/*
+ * 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/drds/DrdsClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "Drds";
+}
+
+DrdsClient::DrdsClient(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, "");
+}
+
+DrdsClient::DrdsClient(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, "");
+}
+
+DrdsClient::DrdsClient(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, "");
+}
+
+DrdsClient::~DrdsClient()
+{}
+
+DrdsClient::DescribeDrdsDBOutcome DrdsClient::describeDrdsDB(const DescribeDrdsDBRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsDBOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsDBOutcome(DescribeDrdsDBResult(outcome.result()));
+	else
+		return DescribeDrdsDBOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsDBAsync(const DescribeDrdsDBRequest& request, const DescribeDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsDB(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsDBOutcomeCallable DrdsClient::describeDrdsDBCallable(const DescribeDrdsDBRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsDBOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsDB(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DeleteDrdsDBOutcome DrdsClient::deleteDrdsDB(const DeleteDrdsDBRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDrdsDBOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDrdsDBOutcome(DeleteDrdsDBResult(outcome.result()));
+	else
+		return DeleteDrdsDBOutcome(outcome.error());
+}
+
+void DrdsClient::deleteDrdsDBAsync(const DeleteDrdsDBRequest& request, const DeleteDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDrdsDB(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DeleteDrdsDBOutcomeCallable DrdsClient::deleteDrdsDBCallable(const DeleteDrdsDBRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDrdsDBOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDrdsDB(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::CreateReadOnlyAccountOutcome DrdsClient::createReadOnlyAccount(const CreateReadOnlyAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateReadOnlyAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateReadOnlyAccountOutcome(CreateReadOnlyAccountResult(outcome.result()));
+	else
+		return CreateReadOnlyAccountOutcome(outcome.error());
+}
+
+void DrdsClient::createReadOnlyAccountAsync(const CreateReadOnlyAccountRequest& request, const CreateReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createReadOnlyAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::CreateReadOnlyAccountOutcomeCallable DrdsClient::createReadOnlyAccountCallable(const CreateReadOnlyAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateReadOnlyAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->createReadOnlyAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeShardDBsOutcome DrdsClient::describeShardDBs(const DescribeShardDBsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeShardDBsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeShardDBsOutcome(DescribeShardDBsResult(outcome.result()));
+	else
+		return DescribeShardDBsOutcome(outcome.error());
+}
+
+void DrdsClient::describeShardDBsAsync(const DescribeShardDBsRequest& request, const DescribeShardDBsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeShardDBs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeShardDBsOutcomeCallable DrdsClient::describeShardDBsCallable(const DescribeShardDBsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeShardDBsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeShardDBs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::RemoveDrdsInstanceOutcome DrdsClient::removeDrdsInstance(const RemoveDrdsInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RemoveDrdsInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RemoveDrdsInstanceOutcome(RemoveDrdsInstanceResult(outcome.result()));
+	else
+		return RemoveDrdsInstanceOutcome(outcome.error());
+}
+
+void DrdsClient::removeDrdsInstanceAsync(const RemoveDrdsInstanceRequest& request, const RemoveDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, removeDrdsInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::RemoveDrdsInstanceOutcomeCallable DrdsClient::removeDrdsInstanceCallable(const RemoveDrdsInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RemoveDrdsInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->removeDrdsInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyDrdsIpWhiteListOutcome DrdsClient::modifyDrdsIpWhiteList(const ModifyDrdsIpWhiteListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDrdsIpWhiteListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDrdsIpWhiteListOutcome(ModifyDrdsIpWhiteListResult(outcome.result()));
+	else
+		return ModifyDrdsIpWhiteListOutcome(outcome.error());
+}
+
+void DrdsClient::modifyDrdsIpWhiteListAsync(const ModifyDrdsIpWhiteListRequest& request, const ModifyDrdsIpWhiteListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDrdsIpWhiteList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyDrdsIpWhiteListOutcomeCallable DrdsClient::modifyDrdsIpWhiteListCallable(const ModifyDrdsIpWhiteListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDrdsIpWhiteListOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDrdsIpWhiteList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyDrdsInstanceDescriptionOutcome DrdsClient::modifyDrdsInstanceDescription(const ModifyDrdsInstanceDescriptionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDrdsInstanceDescriptionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDrdsInstanceDescriptionOutcome(ModifyDrdsInstanceDescriptionResult(outcome.result()));
+	else
+		return ModifyDrdsInstanceDescriptionOutcome(outcome.error());
+}
+
+void DrdsClient::modifyDrdsInstanceDescriptionAsync(const ModifyDrdsInstanceDescriptionRequest& request, const ModifyDrdsInstanceDescriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDrdsInstanceDescription(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyDrdsInstanceDescriptionOutcomeCallable DrdsClient::modifyDrdsInstanceDescriptionCallable(const ModifyDrdsInstanceDescriptionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDrdsInstanceDescriptionOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDrdsInstanceDescription(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::CreateDrdsDBOutcome DrdsClient::createDrdsDB(const CreateDrdsDBRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDrdsDBOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDrdsDBOutcome(CreateDrdsDBResult(outcome.result()));
+	else
+		return CreateDrdsDBOutcome(outcome.error());
+}
+
+void DrdsClient::createDrdsDBAsync(const CreateDrdsDBRequest& request, const CreateDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDrdsDB(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::CreateDrdsDBOutcomeCallable DrdsClient::createDrdsDBCallable(const CreateDrdsDBRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDrdsDBOutcome()>>(
+			[this, request]()
+			{
+			return this->createDrdsDB(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeDrdsInstanceNetInfoForInnerOutcome DrdsClient::describeDrdsInstanceNetInfoForInner(const DescribeDrdsInstanceNetInfoForInnerRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsInstanceNetInfoForInnerOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsInstanceNetInfoForInnerOutcome(DescribeDrdsInstanceNetInfoForInnerResult(outcome.result()));
+	else
+		return DescribeDrdsInstanceNetInfoForInnerOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsInstanceNetInfoForInnerAsync(const DescribeDrdsInstanceNetInfoForInnerRequest& request, const DescribeDrdsInstanceNetInfoForInnerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsInstanceNetInfoForInner(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsInstanceNetInfoForInnerOutcomeCallable DrdsClient::describeDrdsInstanceNetInfoForInnerCallable(const DescribeDrdsInstanceNetInfoForInnerRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsInstanceNetInfoForInnerOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsInstanceNetInfoForInner(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::CreateDrdsAccountOutcome DrdsClient::createDrdsAccount(const CreateDrdsAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDrdsAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDrdsAccountOutcome(CreateDrdsAccountResult(outcome.result()));
+	else
+		return CreateDrdsAccountOutcome(outcome.error());
+}
+
+void DrdsClient::createDrdsAccountAsync(const CreateDrdsAccountRequest& request, const CreateDrdsAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDrdsAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::CreateDrdsAccountOutcomeCallable DrdsClient::createDrdsAccountCallable(const CreateDrdsAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDrdsAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->createDrdsAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeReadOnlyAccountOutcome DrdsClient::describeReadOnlyAccount(const DescribeReadOnlyAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeReadOnlyAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeReadOnlyAccountOutcome(DescribeReadOnlyAccountResult(outcome.result()));
+	else
+		return DescribeReadOnlyAccountOutcome(outcome.error());
+}
+
+void DrdsClient::describeReadOnlyAccountAsync(const DescribeReadOnlyAccountRequest& request, const DescribeReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeReadOnlyAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeReadOnlyAccountOutcomeCallable DrdsClient::describeReadOnlyAccountCallable(const DescribeReadOnlyAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeReadOnlyAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->describeReadOnlyAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyRdsReadWeightOutcome DrdsClient::modifyRdsReadWeight(const ModifyRdsReadWeightRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyRdsReadWeightOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyRdsReadWeightOutcome(ModifyRdsReadWeightResult(outcome.result()));
+	else
+		return ModifyRdsReadWeightOutcome(outcome.error());
+}
+
+void DrdsClient::modifyRdsReadWeightAsync(const ModifyRdsReadWeightRequest& request, const ModifyRdsReadWeightAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyRdsReadWeight(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyRdsReadWeightOutcomeCallable DrdsClient::modifyRdsReadWeightCallable(const ModifyRdsReadWeightRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyRdsReadWeightOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyRdsReadWeight(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::CreateDrdsInstanceOutcome DrdsClient::createDrdsInstance(const CreateDrdsInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDrdsInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDrdsInstanceOutcome(CreateDrdsInstanceResult(outcome.result()));
+	else
+		return CreateDrdsInstanceOutcome(outcome.error());
+}
+
+void DrdsClient::createDrdsInstanceAsync(const CreateDrdsInstanceRequest& request, const CreateDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDrdsInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::CreateDrdsInstanceOutcomeCallable DrdsClient::createDrdsInstanceCallable(const CreateDrdsInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDrdsInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->createDrdsInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeRegionsOutcome DrdsClient::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 DrdsClient::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));
+}
+
+DrdsClient::DescribeRegionsOutcomeCallable DrdsClient::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();
+}
+
+DrdsClient::DescribeDrdsDBIpWhiteListOutcome DrdsClient::describeDrdsDBIpWhiteList(const DescribeDrdsDBIpWhiteListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsDBIpWhiteListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsDBIpWhiteListOutcome(DescribeDrdsDBIpWhiteListResult(outcome.result()));
+	else
+		return DescribeDrdsDBIpWhiteListOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsDBIpWhiteListAsync(const DescribeDrdsDBIpWhiteListRequest& request, const DescribeDrdsDBIpWhiteListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsDBIpWhiteList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsDBIpWhiteListOutcomeCallable DrdsClient::describeDrdsDBIpWhiteListCallable(const DescribeDrdsDBIpWhiteListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsDBIpWhiteListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsDBIpWhiteList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeRdsListOutcome DrdsClient::describeRdsList(const DescribeRdsListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRdsListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRdsListOutcome(DescribeRdsListResult(outcome.result()));
+	else
+		return DescribeRdsListOutcome(outcome.error());
+}
+
+void DrdsClient::describeRdsListAsync(const DescribeRdsListRequest& request, const DescribeRdsListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRdsList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeRdsListOutcomeCallable DrdsClient::describeRdsListCallable(const DescribeRdsListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRdsListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRdsList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeDrdsInstancesOutcome DrdsClient::describeDrdsInstances(const DescribeDrdsInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsInstancesOutcome(DescribeDrdsInstancesResult(outcome.result()));
+	else
+		return DescribeDrdsInstancesOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsInstancesAsync(const DescribeDrdsInstancesRequest& request, const DescribeDrdsInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsInstancesOutcomeCallable DrdsClient::describeDrdsInstancesCallable(const DescribeDrdsInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyReadOnlyAccountPasswordOutcome DrdsClient::modifyReadOnlyAccountPassword(const ModifyReadOnlyAccountPasswordRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyReadOnlyAccountPasswordOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyReadOnlyAccountPasswordOutcome(ModifyReadOnlyAccountPasswordResult(outcome.result()));
+	else
+		return ModifyReadOnlyAccountPasswordOutcome(outcome.error());
+}
+
+void DrdsClient::modifyReadOnlyAccountPasswordAsync(const ModifyReadOnlyAccountPasswordRequest& request, const ModifyReadOnlyAccountPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyReadOnlyAccountPassword(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyReadOnlyAccountPasswordOutcomeCallable DrdsClient::modifyReadOnlyAccountPasswordCallable(const ModifyReadOnlyAccountPasswordRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyReadOnlyAccountPasswordOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyReadOnlyAccountPassword(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeShardDbConnectionInfoOutcome DrdsClient::describeShardDbConnectionInfo(const DescribeShardDbConnectionInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeShardDbConnectionInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeShardDbConnectionInfoOutcome(DescribeShardDbConnectionInfoResult(outcome.result()));
+	else
+		return DescribeShardDbConnectionInfoOutcome(outcome.error());
+}
+
+void DrdsClient::describeShardDbConnectionInfoAsync(const DescribeShardDbConnectionInfoRequest& request, const DescribeShardDbConnectionInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeShardDbConnectionInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeShardDbConnectionInfoOutcomeCallable DrdsClient::describeShardDbConnectionInfoCallable(const DescribeShardDbConnectionInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeShardDbConnectionInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->describeShardDbConnectionInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::RemoveReadOnlyAccountOutcome DrdsClient::removeReadOnlyAccount(const RemoveReadOnlyAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RemoveReadOnlyAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RemoveReadOnlyAccountOutcome(RemoveReadOnlyAccountResult(outcome.result()));
+	else
+		return RemoveReadOnlyAccountOutcome(outcome.error());
+}
+
+void DrdsClient::removeReadOnlyAccountAsync(const RemoveReadOnlyAccountRequest& request, const RemoveReadOnlyAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, removeReadOnlyAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::RemoveReadOnlyAccountOutcomeCallable DrdsClient::removeReadOnlyAccountCallable(const RemoveReadOnlyAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RemoveReadOnlyAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->removeReadOnlyAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyDrdsDBPasswdOutcome DrdsClient::modifyDrdsDBPasswd(const ModifyDrdsDBPasswdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDrdsDBPasswdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDrdsDBPasswdOutcome(ModifyDrdsDBPasswdResult(outcome.result()));
+	else
+		return ModifyDrdsDBPasswdOutcome(outcome.error());
+}
+
+void DrdsClient::modifyDrdsDBPasswdAsync(const ModifyDrdsDBPasswdRequest& request, const ModifyDrdsDBPasswdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDrdsDBPasswd(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyDrdsDBPasswdOutcomeCallable DrdsClient::modifyDrdsDBPasswdCallable(const ModifyDrdsDBPasswdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDrdsDBPasswdOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDrdsDBPasswd(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DeleteFailedDrdsDBOutcome DrdsClient::deleteFailedDrdsDB(const DeleteFailedDrdsDBRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteFailedDrdsDBOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteFailedDrdsDBOutcome(DeleteFailedDrdsDBResult(outcome.result()));
+	else
+		return DeleteFailedDrdsDBOutcome(outcome.error());
+}
+
+void DrdsClient::deleteFailedDrdsDBAsync(const DeleteFailedDrdsDBRequest& request, const DeleteFailedDrdsDBAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteFailedDrdsDB(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DeleteFailedDrdsDBOutcomeCallable DrdsClient::deleteFailedDrdsDBCallable(const DeleteFailedDrdsDBRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteFailedDrdsDBOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteFailedDrdsDB(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeCreateDrdsInstanceStatusOutcome DrdsClient::describeCreateDrdsInstanceStatus(const DescribeCreateDrdsInstanceStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCreateDrdsInstanceStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCreateDrdsInstanceStatusOutcome(DescribeCreateDrdsInstanceStatusResult(outcome.result()));
+	else
+		return DescribeCreateDrdsInstanceStatusOutcome(outcome.error());
+}
+
+void DrdsClient::describeCreateDrdsInstanceStatusAsync(const DescribeCreateDrdsInstanceStatusRequest& request, const DescribeCreateDrdsInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCreateDrdsInstanceStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeCreateDrdsInstanceStatusOutcomeCallable DrdsClient::describeCreateDrdsInstanceStatusCallable(const DescribeCreateDrdsInstanceStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCreateDrdsInstanceStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCreateDrdsInstanceStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeDrdsDBsOutcome DrdsClient::describeDrdsDBs(const DescribeDrdsDBsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsDBsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsDBsOutcome(DescribeDrdsDBsResult(outcome.result()));
+	else
+		return DescribeDrdsDBsOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsDBsAsync(const DescribeDrdsDBsRequest& request, const DescribeDrdsDBsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsDBs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsDBsOutcomeCallable DrdsClient::describeDrdsDBsCallable(const DescribeDrdsDBsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsDBsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsDBs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::QueryInstanceInfoByConnOutcome DrdsClient::queryInstanceInfoByConn(const QueryInstanceInfoByConnRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryInstanceInfoByConnOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryInstanceInfoByConnOutcome(QueryInstanceInfoByConnResult(outcome.result()));
+	else
+		return QueryInstanceInfoByConnOutcome(outcome.error());
+}
+
+void DrdsClient::queryInstanceInfoByConnAsync(const QueryInstanceInfoByConnRequest& request, const QueryInstanceInfoByConnAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryInstanceInfoByConn(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::QueryInstanceInfoByConnOutcomeCallable DrdsClient::queryInstanceInfoByConnCallable(const QueryInstanceInfoByConnRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryInstanceInfoByConnOutcome()>>(
+			[this, request]()
+			{
+			return this->queryInstanceInfoByConn(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::ModifyFullTableScanOutcome DrdsClient::modifyFullTableScan(const ModifyFullTableScanRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyFullTableScanOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyFullTableScanOutcome(ModifyFullTableScanResult(outcome.result()));
+	else
+		return ModifyFullTableScanOutcome(outcome.error());
+}
+
+void DrdsClient::modifyFullTableScanAsync(const ModifyFullTableScanRequest& request, const ModifyFullTableScanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyFullTableScan(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::ModifyFullTableScanOutcomeCallable DrdsClient::modifyFullTableScanCallable(const ModifyFullTableScanRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyFullTableScanOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyFullTableScan(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DrdsClient::DescribeDrdsInstanceOutcome DrdsClient::describeDrdsInstance(const DescribeDrdsInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDrdsInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDrdsInstanceOutcome(DescribeDrdsInstanceResult(outcome.result()));
+	else
+		return DescribeDrdsInstanceOutcome(outcome.error());
+}
+
+void DrdsClient::describeDrdsInstanceAsync(const DescribeDrdsInstanceRequest& request, const DescribeDrdsInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDrdsInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DrdsClient::DescribeDrdsInstanceOutcomeCallable DrdsClient::describeDrdsInstanceCallable(const DescribeDrdsInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDrdsInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDrdsInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 82 - 0
drds/src/model/CreateDrdsAccountRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/drds/model/CreateDrdsAccountRequest.h>
+
+using AlibabaCloud::Drds::Model::CreateDrdsAccountRequest;
+
+CreateDrdsAccountRequest::CreateDrdsAccountRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "CreateDrdsAccount")
+{}
+
+CreateDrdsAccountRequest::~CreateDrdsAccountRequest()
+{}
+
+std::string CreateDrdsAccountRequest::getPassword()const
+{
+	return password_;
+}
+
+void CreateDrdsAccountRequest::setPassword(const std::string& password)
+{
+	password_ = password;
+	setParameter("Password", password);
+}
+
+std::string CreateDrdsAccountRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void CreateDrdsAccountRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string CreateDrdsAccountRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void CreateDrdsAccountRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string CreateDrdsAccountRequest::getUserName()const
+{
+	return userName_;
+}
+
+void CreateDrdsAccountRequest::setUserName(const std::string& userName)
+{
+	userName_ = userName;
+	setParameter("UserName", userName);
+}
+
+std::string CreateDrdsAccountRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateDrdsAccountRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 52 - 0
drds/src/model/CreateDrdsAccountResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/drds/model/CreateDrdsAccountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+CreateDrdsAccountResult::CreateDrdsAccountResult() :
+	ServiceResult()
+{}
+
+CreateDrdsAccountResult::CreateDrdsAccountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDrdsAccountResult::~CreateDrdsAccountResult()
+{}
+
+void CreateDrdsAccountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+bool CreateDrdsAccountResult::getSuccess()const
+{
+	return success_;
+}
+

+ 93 - 0
drds/src/model/CreateDrdsDBRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/CreateDrdsDBRequest.h>
+
+using AlibabaCloud::Drds::Model::CreateDrdsDBRequest;
+
+CreateDrdsDBRequest::CreateDrdsDBRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "CreateDrdsDB")
+{}
+
+CreateDrdsDBRequest::~CreateDrdsDBRequest()
+{}
+
+std::string CreateDrdsDBRequest::getEncode()const
+{
+	return encode_;
+}
+
+void CreateDrdsDBRequest::setEncode(const std::string& encode)
+{
+	encode_ = encode;
+	setParameter("Encode", encode);
+}
+
+std::string CreateDrdsDBRequest::getPassword()const
+{
+	return password_;
+}
+
+void CreateDrdsDBRequest::setPassword(const std::string& password)
+{
+	password_ = password;
+	setParameter("Password", password);
+}
+
+std::string CreateDrdsDBRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void CreateDrdsDBRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string CreateDrdsDBRequest::getRdsInstances()const
+{
+	return rdsInstances_;
+}
+
+void CreateDrdsDBRequest::setRdsInstances(const std::string& rdsInstances)
+{
+	rdsInstances_ = rdsInstances;
+	setParameter("RdsInstances", rdsInstances);
+}
+
+std::string CreateDrdsDBRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void CreateDrdsDBRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string CreateDrdsDBRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateDrdsDBRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 52 - 0
drds/src/model/CreateDrdsDBResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/drds/model/CreateDrdsDBResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+CreateDrdsDBResult::CreateDrdsDBResult() :
+	ServiceResult()
+{}
+
+CreateDrdsDBResult::CreateDrdsDBResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDrdsDBResult::~CreateDrdsDBResult()
+{}
+
+void CreateDrdsDBResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+bool CreateDrdsDBResult::getSuccess()const
+{
+	return success_;
+}
+

+ 159 - 0
drds/src/model/CreateDrdsInstanceRequest.cc

@@ -0,0 +1,159 @@
+/*
+ * 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/drds/model/CreateDrdsInstanceRequest.h>
+
+using AlibabaCloud::Drds::Model::CreateDrdsInstanceRequest;
+
+CreateDrdsInstanceRequest::CreateDrdsInstanceRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "CreateDrdsInstance")
+{}
+
+CreateDrdsInstanceRequest::~CreateDrdsInstanceRequest()
+{}
+
+int CreateDrdsInstanceRequest::getQuantity()const
+{
+	return quantity_;
+}
+
+void CreateDrdsInstanceRequest::setQuantity(int quantity)
+{
+	quantity_ = quantity;
+	setParameter("Quantity", std::to_string(quantity));
+}
+
+std::string CreateDrdsInstanceRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateDrdsInstanceRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateDrdsInstanceRequest::getSpecification()const
+{
+	return specification_;
+}
+
+void CreateDrdsInstanceRequest::setSpecification(const std::string& specification)
+{
+	specification_ = specification;
+	setParameter("Specification", specification);
+}
+
+std::string CreateDrdsInstanceRequest::getType()const
+{
+	return type_;
+}
+
+void CreateDrdsInstanceRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string CreateDrdsInstanceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateDrdsInstanceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateDrdsInstanceRequest::getVswitchId()const
+{
+	return vswitchId_;
+}
+
+void CreateDrdsInstanceRequest::setVswitchId(const std::string& vswitchId)
+{
+	vswitchId_ = vswitchId;
+	setParameter("VswitchId", vswitchId);
+}
+
+bool CreateDrdsInstanceRequest::getIsHa()const
+{
+	return isHa_;
+}
+
+void CreateDrdsInstanceRequest::setIsHa(bool isHa)
+{
+	isHa_ = isHa;
+	setParameter("IsHa", std::to_string(isHa));
+}
+
+std::string CreateDrdsInstanceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateDrdsInstanceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateDrdsInstanceRequest::getInstanceSeries()const
+{
+	return instanceSeries_;
+}
+
+void CreateDrdsInstanceRequest::setInstanceSeries(const std::string& instanceSeries)
+{
+	instanceSeries_ = instanceSeries;
+	setParameter("InstanceSeries", instanceSeries);
+}
+
+std::string CreateDrdsInstanceRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateDrdsInstanceRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
+std::string CreateDrdsInstanceRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateDrdsInstanceRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string CreateDrdsInstanceRequest::getPayType()const
+{
+	return payType_;
+}
+
+void CreateDrdsInstanceRequest::setPayType(const std::string& payType)
+{
+	payType_ = payType;
+	setParameter("PayType", payType);
+}
+

+ 63 - 0
drds/src/model/CreateDrdsInstanceResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/CreateDrdsInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+CreateDrdsInstanceResult::CreateDrdsInstanceResult() :
+	ServiceResult()
+{}
+
+CreateDrdsInstanceResult::CreateDrdsInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDrdsInstanceResult::~CreateDrdsInstanceResult()
+{}
+
+void CreateDrdsInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["OrderId"].isNull())
+		data_.orderId = std::stol(dataNode["OrderId"].asString());
+		auto allDrdsInstanceIdList = dataNode["DrdsInstanceIdList"]["DrdsInstanceId"];
+		for (auto value : allDrdsInstanceIdList)
+			data_.drdsInstanceIdList.push_back(value.asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+CreateDrdsInstanceResult::Data CreateDrdsInstanceResult::getData()const
+{
+	return data_;
+}
+
+bool CreateDrdsInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 71 - 0
drds/src/model/CreateReadOnlyAccountRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/CreateReadOnlyAccountRequest.h>
+
+using AlibabaCloud::Drds::Model::CreateReadOnlyAccountRequest;
+
+CreateReadOnlyAccountRequest::CreateReadOnlyAccountRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "CreateReadOnlyAccount")
+{}
+
+CreateReadOnlyAccountRequest::~CreateReadOnlyAccountRequest()
+{}
+
+std::string CreateReadOnlyAccountRequest::getPassword()const
+{
+	return password_;
+}
+
+void CreateReadOnlyAccountRequest::setPassword(const std::string& password)
+{
+	password_ = password;
+	setParameter("Password", password);
+}
+
+std::string CreateReadOnlyAccountRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void CreateReadOnlyAccountRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string CreateReadOnlyAccountRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void CreateReadOnlyAccountRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string CreateReadOnlyAccountRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateReadOnlyAccountRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 64 - 0
drds/src/model/CreateReadOnlyAccountResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/CreateReadOnlyAccountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+CreateReadOnlyAccountResult::CreateReadOnlyAccountResult() :
+	ServiceResult()
+{}
+
+CreateReadOnlyAccountResult::CreateReadOnlyAccountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateReadOnlyAccountResult::~CreateReadOnlyAccountResult()
+{}
+
+void CreateReadOnlyAccountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["DbName"].isNull())
+		data_.dbName = dataNode["DbName"].asString();
+	if(!dataNode["DrdsInstanceId"].isNull())
+		data_.drdsInstanceId = dataNode["DrdsInstanceId"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+CreateReadOnlyAccountResult::Data CreateReadOnlyAccountResult::getData()const
+{
+	return data_;
+}
+
+bool CreateReadOnlyAccountResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DeleteDrdsDBRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DeleteDrdsDBRequest.h>
+
+using AlibabaCloud::Drds::Model::DeleteDrdsDBRequest;
+
+DeleteDrdsDBRequest::DeleteDrdsDBRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DeleteDrdsDB")
+{}
+
+DeleteDrdsDBRequest::~DeleteDrdsDBRequest()
+{}
+
+std::string DeleteDrdsDBRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DeleteDrdsDBRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DeleteDrdsDBRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DeleteDrdsDBRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DeleteDrdsDBRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteDrdsDBRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 52 - 0
drds/src/model/DeleteDrdsDBResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/drds/model/DeleteDrdsDBResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DeleteDrdsDBResult::DeleteDrdsDBResult() :
+	ServiceResult()
+{}
+
+DeleteDrdsDBResult::DeleteDrdsDBResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteDrdsDBResult::~DeleteDrdsDBResult()
+{}
+
+void DeleteDrdsDBResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+bool DeleteDrdsDBResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DeleteFailedDrdsDBRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DeleteFailedDrdsDBRequest.h>
+
+using AlibabaCloud::Drds::Model::DeleteFailedDrdsDBRequest;
+
+DeleteFailedDrdsDBRequest::DeleteFailedDrdsDBRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DeleteFailedDrdsDB")
+{}
+
+DeleteFailedDrdsDBRequest::~DeleteFailedDrdsDBRequest()
+{}
+
+std::string DeleteFailedDrdsDBRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DeleteFailedDrdsDBRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DeleteFailedDrdsDBRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DeleteFailedDrdsDBRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DeleteFailedDrdsDBRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteFailedDrdsDBRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 52 - 0
drds/src/model/DeleteFailedDrdsDBResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/drds/model/DeleteFailedDrdsDBResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DeleteFailedDrdsDBResult::DeleteFailedDrdsDBResult() :
+	ServiceResult()
+{}
+
+DeleteFailedDrdsDBResult::DeleteFailedDrdsDBResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteFailedDrdsDBResult::~DeleteFailedDrdsDBResult()
+{}
+
+void DeleteFailedDrdsDBResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+bool DeleteFailedDrdsDBResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
drds/src/model/DescribeCreateDrdsInstanceStatusRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeCreateDrdsInstanceStatusRequest;
+
+DescribeCreateDrdsInstanceStatusRequest::DescribeCreateDrdsInstanceStatusRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeCreateDrdsInstanceStatus")
+{}
+
+DescribeCreateDrdsInstanceStatusRequest::~DescribeCreateDrdsInstanceStatusRequest()
+{}
+
+std::string DescribeCreateDrdsInstanceStatusRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeCreateDrdsInstanceStatusRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeCreateDrdsInstanceStatusRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeCreateDrdsInstanceStatusRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 60 - 0
drds/src/model/DescribeCreateDrdsInstanceStatusResult.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeCreateDrdsInstanceStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeCreateDrdsInstanceStatusResult::DescribeCreateDrdsInstanceStatusResult() :
+	ServiceResult()
+{}
+
+DescribeCreateDrdsInstanceStatusResult::DescribeCreateDrdsInstanceStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCreateDrdsInstanceStatusResult::~DescribeCreateDrdsInstanceStatusResult()
+{}
+
+void DescribeCreateDrdsInstanceStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeCreateDrdsInstanceStatusResult::Data DescribeCreateDrdsInstanceStatusResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeCreateDrdsInstanceStatusResult::getSuccess()const
+{
+	return success_;
+}
+

+ 71 - 0
drds/src/model/DescribeDrdsDBIpWhiteListRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsDBIpWhiteListRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsDBIpWhiteListRequest;
+
+DescribeDrdsDBIpWhiteListRequest::DescribeDrdsDBIpWhiteListRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsDBIpWhiteList")
+{}
+
+DescribeDrdsDBIpWhiteListRequest::~DescribeDrdsDBIpWhiteListRequest()
+{}
+
+std::string DescribeDrdsDBIpWhiteListRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeDrdsDBIpWhiteListRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeDrdsDBIpWhiteListRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeDrdsDBIpWhiteListRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeDrdsDBIpWhiteListRequest::getGroupName()const
+{
+	return groupName_;
+}
+
+void DescribeDrdsDBIpWhiteListRequest::setGroupName(const std::string& groupName)
+{
+	groupName_ = groupName;
+	setParameter("GroupName", groupName);
+}
+
+std::string DescribeDrdsDBIpWhiteListRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsDBIpWhiteListRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 61 - 0
drds/src/model/DescribeDrdsDBIpWhiteListResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsDBIpWhiteListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsDBIpWhiteListResult::DescribeDrdsDBIpWhiteListResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsDBIpWhiteListResult::DescribeDrdsDBIpWhiteListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsDBIpWhiteListResult::~DescribeDrdsDBIpWhiteListResult()
+{}
+
+void DescribeDrdsDBIpWhiteListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+		auto allIpWhiteList = dataNode["IpWhiteList"]["Ip"];
+		for (auto value : allIpWhiteList)
+			data_.ipWhiteList.push_back(value.asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeDrdsDBIpWhiteListResult::Data DescribeDrdsDBIpWhiteListResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeDrdsDBIpWhiteListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DescribeDrdsDBRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsDBRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsDBRequest;
+
+DescribeDrdsDBRequest::DescribeDrdsDBRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsDB")
+{}
+
+DescribeDrdsDBRequest::~DescribeDrdsDBRequest()
+{}
+
+std::string DescribeDrdsDBRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeDrdsDBRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeDrdsDBRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeDrdsDBRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeDrdsDBRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsDBRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 68 - 0
drds/src/model/DescribeDrdsDBResult.cc

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsDBResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsDBResult::DescribeDrdsDBResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsDBResult::DescribeDrdsDBResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsDBResult::~DescribeDrdsDBResult()
+{}
+
+void DescribeDrdsDBResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["DbName"].isNull())
+		data_.dbName = dataNode["DbName"].asString();
+	if(!dataNode["Status"].isNull())
+		data_.status = std::stoi(dataNode["Status"].asString());
+	if(!dataNode["CreateTime"].isNull())
+		data_.createTime = dataNode["CreateTime"].asString();
+	if(!dataNode["Msg"].isNull())
+		data_.msg = dataNode["Msg"].asString();
+	if(!dataNode["Mode"].isNull())
+		data_.mode = dataNode["Mode"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeDrdsDBResult::Data DescribeDrdsDBResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeDrdsDBResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
drds/src/model/DescribeDrdsDBsRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsDBsRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsDBsRequest;
+
+DescribeDrdsDBsRequest::DescribeDrdsDBsRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsDBs")
+{}
+
+DescribeDrdsDBsRequest::~DescribeDrdsDBsRequest()
+{}
+
+std::string DescribeDrdsDBsRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeDrdsDBsRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeDrdsDBsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsDBsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 73 - 0
drds/src/model/DescribeDrdsDBsResult.cc

@@ -0,0 +1,73 @@
+/*
+ * 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/drds/model/DescribeDrdsDBsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsDBsResult::DescribeDrdsDBsResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsDBsResult::DescribeDrdsDBsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsDBsResult::~DescribeDrdsDBsResult()
+{}
+
+void DescribeDrdsDBsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["Db"];
+	for (auto value : allData)
+	{
+		Db dataObject;
+		if(!value["DbName"].isNull())
+			dataObject.dbName = value["DbName"].asString();
+		if(!value["Status"].isNull())
+			dataObject.status = std::stoi(value["Status"].asString());
+		if(!value["CreateTime"].isNull())
+			dataObject.createTime = value["CreateTime"].asString();
+		if(!value["Msg"].isNull())
+			dataObject.msg = value["Msg"].asString();
+		if(!value["Mode"].isNull())
+			dataObject.mode = value["Mode"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeDrdsDBsResult::Db> DescribeDrdsDBsResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeDrdsDBsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
drds/src/model/DescribeDrdsInstanceNetInfoForInnerRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsInstanceNetInfoForInnerRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsInstanceNetInfoForInnerRequest;
+
+DescribeDrdsInstanceNetInfoForInnerRequest::DescribeDrdsInstanceNetInfoForInnerRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsInstanceNetInfoForInner")
+{}
+
+DescribeDrdsInstanceNetInfoForInnerRequest::~DescribeDrdsInstanceNetInfoForInnerRequest()
+{}
+
+std::string DescribeDrdsInstanceNetInfoForInnerRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeDrdsInstanceNetInfoForInnerRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeDrdsInstanceNetInfoForInnerRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsInstanceNetInfoForInnerRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 85 - 0
drds/src/model/DescribeDrdsInstanceNetInfoForInnerResult.cc

@@ -0,0 +1,85 @@
+/*
+ * 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/drds/model/DescribeDrdsInstanceNetInfoForInnerResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsInstanceNetInfoForInnerResult::DescribeDrdsInstanceNetInfoForInnerResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsInstanceNetInfoForInnerResult::DescribeDrdsInstanceNetInfoForInnerResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsInstanceNetInfoForInnerResult::~DescribeDrdsInstanceNetInfoForInnerResult()
+{}
+
+void DescribeDrdsInstanceNetInfoForInnerResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allNetInfos = value["NetInfos"]["NetInfo"];
+	for (auto value : allNetInfos)
+	{
+		NetInfo netInfosObject;
+		if(!value["IP"].isNull())
+			netInfosObject.iP = value["IP"].asString();
+		if(!value["Port"].isNull())
+			netInfosObject.port = value["Port"].asString();
+		if(!value["Type"].isNull())
+			netInfosObject.type = value["Type"].asString();
+		if(!value["IsForVpc"].isNull())
+			netInfosObject.isForVpc = value["IsForVpc"].asString() == "true";
+		netInfos_.push_back(netInfosObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["DrdsInstanceId"].isNull())
+		drdsInstanceId_ = value["DrdsInstanceId"].asString();
+	if(!value["NetworkType"].isNull())
+		networkType_ = value["NetworkType"].asString();
+
+}
+
+std::vector<DescribeDrdsInstanceNetInfoForInnerResult::NetInfo> DescribeDrdsInstanceNetInfoForInnerResult::getNetInfos()const
+{
+	return netInfos_;
+}
+
+std::string DescribeDrdsInstanceNetInfoForInnerResult::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+std::string DescribeDrdsInstanceNetInfoForInnerResult::getNetworkType()const
+{
+	return networkType_;
+}
+
+bool DescribeDrdsInstanceNetInfoForInnerResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
drds/src/model/DescribeDrdsInstanceRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsInstanceRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsInstanceRequest;
+
+DescribeDrdsInstanceRequest::DescribeDrdsInstanceRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsInstance")
+{}
+
+DescribeDrdsInstanceRequest::~DescribeDrdsInstanceRequest()
+{}
+
+std::string DescribeDrdsInstanceRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeDrdsInstanceRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeDrdsInstanceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsInstanceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 96 - 0
drds/src/model/DescribeDrdsInstanceResult.cc

@@ -0,0 +1,96 @@
+/*
+ * 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/drds/model/DescribeDrdsInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsInstanceResult::DescribeDrdsInstanceResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsInstanceResult::DescribeDrdsInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsInstanceResult::~DescribeDrdsInstanceResult()
+{}
+
+void DescribeDrdsInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["DrdsInstanceId"].isNull())
+		data_.drdsInstanceId = dataNode["DrdsInstanceId"].asString();
+	if(!dataNode["Type"].isNull())
+		data_.type = dataNode["Type"].asString();
+	if(!dataNode["RegionId"].isNull())
+		data_.regionId = dataNode["RegionId"].asString();
+	if(!dataNode["ZoneId"].isNull())
+		data_.zoneId = dataNode["ZoneId"].asString();
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["NetworkType"].isNull())
+		data_.networkType = dataNode["NetworkType"].asString();
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	if(!dataNode["CreateTime"].isNull())
+		data_.createTime = std::stol(dataNode["CreateTime"].asString());
+	if(!dataNode["Version"].isNull())
+		data_.version = std::stol(dataNode["Version"].asString());
+	if(!dataNode["Specification"].isNull())
+		data_.specification = dataNode["Specification"].asString();
+	if(!dataNode["VpcCloudInstanceId"].isNull())
+		data_.vpcCloudInstanceId = dataNode["VpcCloudInstanceId"].asString();
+	auto allVips = value["Vips"]["Vip"];
+	for (auto value : allVips)
+	{
+		Data::Vip vipObject;
+		if(!value["IP"].isNull())
+			vipObject.iP = value["IP"].asString();
+		if(!value["Port"].isNull())
+			vipObject.port = value["Port"].asString();
+		if(!value["Type"].isNull())
+			vipObject.type = value["Type"].asString();
+		if(!value["VpcId"].isNull())
+			vipObject.vpcId = value["VpcId"].asString();
+		if(!value["VswitchId"].isNull())
+			vipObject.vswitchId = value["VswitchId"].asString();
+		data_.vips.push_back(vipObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeDrdsInstanceResult::Data DescribeDrdsInstanceResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeDrdsInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DescribeDrdsInstancesRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsInstancesRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeDrdsInstancesRequest;
+
+DescribeDrdsInstancesRequest::DescribeDrdsInstancesRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeDrdsInstances")
+{}
+
+DescribeDrdsInstancesRequest::~DescribeDrdsInstancesRequest()
+{}
+
+std::string DescribeDrdsInstancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeDrdsInstancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeDrdsInstancesRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeDrdsInstancesRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribeDrdsInstancesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDrdsInstancesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 99 - 0
drds/src/model/DescribeDrdsInstancesResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeDrdsInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeDrdsInstancesResult::DescribeDrdsInstancesResult() :
+	ServiceResult()
+{}
+
+DescribeDrdsInstancesResult::DescribeDrdsInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDrdsInstancesResult::~DescribeDrdsInstancesResult()
+{}
+
+void DescribeDrdsInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["Instance"];
+	for (auto value : allData)
+	{
+		Instance dataObject;
+		if(!value["DrdsInstanceId"].isNull())
+			dataObject.drdsInstanceId = value["DrdsInstanceId"].asString();
+		if(!value["Type"].isNull())
+			dataObject.type = value["Type"].asString();
+		if(!value["RegionId"].isNull())
+			dataObject.regionId = value["RegionId"].asString();
+		if(!value["ZoneId"].isNull())
+			dataObject.zoneId = value["ZoneId"].asString();
+		if(!value["Description"].isNull())
+			dataObject.description = value["Description"].asString();
+		if(!value["NetworkType"].isNull())
+			dataObject.networkType = value["NetworkType"].asString();
+		if(!value["Status"].isNull())
+			dataObject.status = value["Status"].asString();
+		if(!value["CreateTime"].isNull())
+			dataObject.createTime = std::stol(value["CreateTime"].asString());
+		if(!value["Version"].isNull())
+			dataObject.version = std::stol(value["Version"].asString());
+		if(!value["VpcCloudInstanceId"].isNull())
+			dataObject.vpcCloudInstanceId = value["VpcCloudInstanceId"].asString();
+		auto allVips = value["Vips"]["Vip"];
+		for (auto value : allVips)
+		{
+			Instance::Vip vipsObject;
+			if(!value["IP"].isNull())
+				vipsObject.iP = value["IP"].asString();
+			if(!value["Port"].isNull())
+				vipsObject.port = value["Port"].asString();
+			if(!value["Type"].isNull())
+				vipsObject.type = value["Type"].asString();
+			if(!value["VpcId"].isNull())
+				vipsObject.vpcId = value["VpcId"].asString();
+			if(!value["VswitchId"].isNull())
+				vipsObject.vswitchId = value["VswitchId"].asString();
+			dataObject.vips.push_back(vipsObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeDrdsInstancesResult::Instance> DescribeDrdsInstancesResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeDrdsInstancesResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DescribeRdsListRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeRdsListRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeRdsListRequest;
+
+DescribeRdsListRequest::DescribeRdsListRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeRdsList")
+{}
+
+DescribeRdsListRequest::~DescribeRdsListRequest()
+{}
+
+std::string DescribeRdsListRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeRdsListRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeRdsListRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeRdsListRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeRdsListRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeRdsListRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 97 - 0
drds/src/model/DescribeRdsListResult.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/drds/model/DescribeRdsListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeRdsListResult::DescribeRdsListResult() :
+	ServiceResult()
+{}
+
+DescribeRdsListResult::DescribeRdsListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRdsListResult::~DescribeRdsListResult()
+{}
+
+void DescribeRdsListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["RdsInstance"];
+	for (auto value : allData)
+	{
+		RdsInstance dataObject;
+		if(!value["InstanceId"].isNull())
+			dataObject.instanceId = std::stoi(value["InstanceId"].asString());
+		if(!value["InstanceName"].isNull())
+			dataObject.instanceName = value["InstanceName"].asString();
+		if(!value["ConnectUrl"].isNull())
+			dataObject.connectUrl = value["ConnectUrl"].asString();
+		if(!value["Port"].isNull())
+			dataObject.port = std::stoi(value["Port"].asString());
+		if(!value["InstanceStatus"].isNull())
+			dataObject.instanceStatus = value["InstanceStatus"].asString();
+		if(!value["DbType"].isNull())
+			dataObject.dbType = value["DbType"].asString();
+		if(!value["ReadWeight"].isNull())
+			dataObject.readWeight = std::stoi(value["ReadWeight"].asString());
+		auto allReadOnlyChildren = value["ReadOnlyChildren"]["Child"];
+		for (auto value : allReadOnlyChildren)
+		{
+			RdsInstance::Child readOnlyChildrenObject;
+			if(!value["InstanceId"].isNull())
+				readOnlyChildrenObject.instanceId = value["InstanceId"].asString();
+			if(!value["InstanceName"].isNull())
+				readOnlyChildrenObject.instanceName = value["InstanceName"].asString();
+			if(!value["ConnectUrl"].isNull())
+				readOnlyChildrenObject.connectUrl = value["ConnectUrl"].asString();
+			if(!value["port"].isNull())
+				readOnlyChildrenObject.port = std::stoi(value["port"].asString());
+			if(!value["InstanceStatus"].isNull())
+				readOnlyChildrenObject.instanceStatus = value["InstanceStatus"].asString();
+			if(!value["DbType"].isNull())
+				readOnlyChildrenObject.dbType = value["DbType"].asString();
+			if(!value["ReadWeight"].isNull())
+				readOnlyChildrenObject.readWeight = std::stoi(value["ReadWeight"].asString());
+			dataObject.readOnlyChildren.push_back(readOnlyChildrenObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeRdsListResult::RdsInstance> DescribeRdsListResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeRdsListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DescribeReadOnlyAccountRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeReadOnlyAccountRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeReadOnlyAccountRequest;
+
+DescribeReadOnlyAccountRequest::DescribeReadOnlyAccountRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeReadOnlyAccount")
+{}
+
+DescribeReadOnlyAccountRequest::~DescribeReadOnlyAccountRequest()
+{}
+
+std::string DescribeReadOnlyAccountRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeReadOnlyAccountRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeReadOnlyAccountRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeReadOnlyAccountRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeReadOnlyAccountRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeReadOnlyAccountRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 64 - 0
drds/src/model/DescribeReadOnlyAccountResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeReadOnlyAccountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeReadOnlyAccountResult::DescribeReadOnlyAccountResult() :
+	ServiceResult()
+{}
+
+DescribeReadOnlyAccountResult::DescribeReadOnlyAccountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeReadOnlyAccountResult::~DescribeReadOnlyAccountResult()
+{}
+
+void DescribeReadOnlyAccountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["DbName"].isNull())
+		data_.dbName = dataNode["DbName"].asString();
+	if(!dataNode["DrdsInstanceId"].isNull())
+		data_.drdsInstanceId = dataNode["DrdsInstanceId"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeReadOnlyAccountResult::Data DescribeReadOnlyAccountResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeReadOnlyAccountResult::getSuccess()const
+{
+	return success_;
+}
+

+ 38 - 0
drds/src/model/DescribeRegionsRequest.cc

@@ -0,0 +1,38 @@
+/*
+ * 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/drds/model/DescribeRegionsRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeRegionsRequest;
+
+DescribeRegionsRequest::DescribeRegionsRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeRegions")
+{}
+
+DescribeRegionsRequest::~DescribeRegionsRequest()
+{}
+
+std::string DescribeRegionsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeRegionsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 91 - 0
drds/src/model/DescribeRegionsResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/drds/model/DescribeRegionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeRegionsResult::DescribeRegionsResult() :
+	ServiceResult()
+{}
+
+DescribeRegionsResult::DescribeRegionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRegionsResult::~DescribeRegionsResult()
+{}
+
+void DescribeRegionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDrdsRegions = value["DrdsRegions"]["DrdsRegion"];
+	for (auto value : allDrdsRegions)
+	{
+		DrdsRegion drdsRegionsObject;
+		if(!value["RegionId"].isNull())
+			drdsRegionsObject.regionId = value["RegionId"].asString();
+		if(!value["RegionName"].isNull())
+			drdsRegionsObject.regionName = value["RegionName"].asString();
+		if(!value["ZoneId"].isNull())
+			drdsRegionsObject.zoneId = value["ZoneId"].asString();
+		if(!value["ZoneName"].isNull())
+			drdsRegionsObject.zoneName = value["ZoneName"].asString();
+		auto allInstanceSeriesList = value["InstanceSeriesList"]["InstanceSeries"];
+		for (auto value : allInstanceSeriesList)
+		{
+			DrdsRegion::InstanceSeries instanceSeriesListObject;
+			if(!value["SeriesId"].isNull())
+				instanceSeriesListObject.seriesId = value["SeriesId"].asString();
+			if(!value["SeriesName"].isNull())
+				instanceSeriesListObject.seriesName = value["SeriesName"].asString();
+			auto allSpecList = value["SpecList"]["Spec"];
+			for (auto value : allSpecList)
+			{
+				DrdsRegion::InstanceSeries::Spec specListObject;
+				if(!value["SpecId"].isNull())
+					specListObject.specId = value["SpecId"].asString();
+				if(!value["SpecName"].isNull())
+					specListObject.specName = value["SpecName"].asString();
+				instanceSeriesListObject.specList.push_back(specListObject);
+			}
+			drdsRegionsObject.instanceSeriesList.push_back(instanceSeriesListObject);
+		}
+		drdsRegions_.push_back(drdsRegionsObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeRegionsResult::DrdsRegion> DescribeRegionsResult::getDrdsRegions()const
+{
+	return drdsRegions_;
+}
+
+bool DescribeRegionsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/DescribeShardDBsRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/DescribeShardDBsRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeShardDBsRequest;
+
+DescribeShardDBsRequest::DescribeShardDBsRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeShardDBs")
+{}
+
+DescribeShardDBsRequest::~DescribeShardDBsRequest()
+{}
+
+std::string DescribeShardDBsRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeShardDBsRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeShardDBsRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeShardDBsRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeShardDBsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeShardDBsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 67 - 0
drds/src/model/DescribeShardDBsResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeShardDBsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeShardDBsResult::DescribeShardDBsResult() :
+	ServiceResult()
+{}
+
+DescribeShardDBsResult::DescribeShardDBsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeShardDBsResult::~DescribeShardDBsResult()
+{}
+
+void DescribeShardDBsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["DbIntancePair"];
+	for (auto value : allData)
+	{
+		DbIntancePair dataObject;
+		if(!value["SubDbName"].isNull())
+			dataObject.subDbName = value["SubDbName"].asString();
+		if(!value["InstanceName"].isNull())
+			dataObject.instanceName = value["InstanceName"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeShardDBsResult::DbIntancePair> DescribeShardDBsResult::getData()const
+{
+	return data_;
+}
+
+bool DescribeShardDBsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 71 - 0
drds/src/model/DescribeShardDbConnectionInfoRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/DescribeShardDbConnectionInfoRequest.h>
+
+using AlibabaCloud::Drds::Model::DescribeShardDbConnectionInfoRequest;
+
+DescribeShardDbConnectionInfoRequest::DescribeShardDbConnectionInfoRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "DescribeShardDbConnectionInfo")
+{}
+
+DescribeShardDbConnectionInfoRequest::~DescribeShardDbConnectionInfoRequest()
+{}
+
+std::string DescribeShardDbConnectionInfoRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void DescribeShardDbConnectionInfoRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string DescribeShardDbConnectionInfoRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void DescribeShardDbConnectionInfoRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string DescribeShardDbConnectionInfoRequest::getSubDbName()const
+{
+	return subDbName_;
+}
+
+void DescribeShardDbConnectionInfoRequest::setSubDbName(const std::string& subDbName)
+{
+	subDbName_ = subDbName;
+	setParameter("SubDbName", subDbName);
+}
+
+std::string DescribeShardDbConnectionInfoRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeShardDbConnectionInfoRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 82 - 0
drds/src/model/DescribeShardDbConnectionInfoResult.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/drds/model/DescribeShardDbConnectionInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+DescribeShardDbConnectionInfoResult::DescribeShardDbConnectionInfoResult() :
+	ServiceResult()
+{}
+
+DescribeShardDbConnectionInfoResult::DescribeShardDbConnectionInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeShardDbConnectionInfoResult::~DescribeShardDbConnectionInfoResult()
+{}
+
+void DescribeShardDbConnectionInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto connectionInfoNode = value["ConnectionInfo"];
+	if(!connectionInfoNode["InstanceName"].isNull())
+		connectionInfo_.instanceName = connectionInfoNode["InstanceName"].asString();
+	if(!connectionInfoNode["InstanceUrl"].isNull())
+		connectionInfo_.instanceUrl = connectionInfoNode["InstanceUrl"].asString();
+	if(!connectionInfoNode["subDbName"].isNull())
+		connectionInfo_.subDbName = connectionInfoNode["subDbName"].asString();
+	if(!connectionInfoNode["dbStatus"].isNull())
+		connectionInfo_.dbStatus = connectionInfoNode["dbStatus"].asString();
+	if(!connectionInfoNode["dbType"].isNull())
+		connectionInfo_.dbType = connectionInfoNode["dbType"].asString();
+	if(!connectionInfoNode["minPoolSize"].isNull())
+		connectionInfo_.minPoolSize = std::stoi(connectionInfoNode["minPoolSize"].asString());
+	if(!connectionInfoNode["maxPoolSize"].isNull())
+		connectionInfo_.maxPoolSize = std::stoi(connectionInfoNode["maxPoolSize"].asString());
+	if(!connectionInfoNode["idleTimeOut"].isNull())
+		connectionInfo_.idleTimeOut = std::stoi(connectionInfoNode["idleTimeOut"].asString());
+	if(!connectionInfoNode["blockingTimeout"].isNull())
+		connectionInfo_.blockingTimeout = std::stoi(connectionInfoNode["blockingTimeout"].asString());
+	if(!connectionInfoNode["connectionProperties"].isNull())
+		connectionInfo_.connectionProperties = connectionInfoNode["connectionProperties"].asString();
+	if(!connectionInfoNode["preparedStatementCacheSize"].isNull())
+		connectionInfo_.preparedStatementCacheSize = std::stoi(connectionInfoNode["preparedStatementCacheSize"].asString());
+	if(!connectionInfoNode["userName"].isNull())
+		connectionInfo_.userName = connectionInfoNode["userName"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeShardDbConnectionInfoResult::ConnectionInfo DescribeShardDbConnectionInfoResult::getConnectionInfo()const
+{
+	return connectionInfo_;
+}
+
+bool DescribeShardDbConnectionInfoResult::getSuccess()const
+{
+	return success_;
+}
+

+ 71 - 0
drds/src/model/ModifyDrdsDBPasswdRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/drds/model/ModifyDrdsDBPasswdRequest.h>
+
+using AlibabaCloud::Drds::Model::ModifyDrdsDBPasswdRequest;
+
+ModifyDrdsDBPasswdRequest::ModifyDrdsDBPasswdRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "ModifyDrdsDBPasswd")
+{}
+
+ModifyDrdsDBPasswdRequest::~ModifyDrdsDBPasswdRequest()
+{}
+
+std::string ModifyDrdsDBPasswdRequest::getNewPasswd()const
+{
+	return newPasswd_;
+}
+
+void ModifyDrdsDBPasswdRequest::setNewPasswd(const std::string& newPasswd)
+{
+	newPasswd_ = newPasswd;
+	setParameter("NewPasswd", newPasswd);
+}
+
+std::string ModifyDrdsDBPasswdRequest::getDbName()const
+{
+	return dbName_;
+}
+
+void ModifyDrdsDBPasswdRequest::setDbName(const std::string& dbName)
+{
+	dbName_ = dbName;
+	setParameter("DbName", dbName);
+}
+
+std::string ModifyDrdsDBPasswdRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void ModifyDrdsDBPasswdRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string ModifyDrdsDBPasswdRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyDrdsDBPasswdRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 52 - 0
drds/src/model/ModifyDrdsDBPasswdResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/drds/model/ModifyDrdsDBPasswdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Drds;
+using namespace AlibabaCloud::Drds::Model;
+
+ModifyDrdsDBPasswdResult::ModifyDrdsDBPasswdResult() :
+	ServiceResult()
+{}
+
+ModifyDrdsDBPasswdResult::ModifyDrdsDBPasswdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDrdsDBPasswdResult::~ModifyDrdsDBPasswdResult()
+{}
+
+void ModifyDrdsDBPasswdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+bool ModifyDrdsDBPasswdResult::getSuccess()const
+{
+	return success_;
+}
+

+ 60 - 0
drds/src/model/ModifyDrdsInstanceDescriptionRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/drds/model/ModifyDrdsInstanceDescriptionRequest.h>
+
+using AlibabaCloud::Drds::Model::ModifyDrdsInstanceDescriptionRequest;
+
+ModifyDrdsInstanceDescriptionRequest::ModifyDrdsInstanceDescriptionRequest() :
+	RpcServiceRequest("drds", "2017-10-16", "ModifyDrdsInstanceDescription")
+{}
+
+ModifyDrdsInstanceDescriptionRequest::~ModifyDrdsInstanceDescriptionRequest()
+{}
+
+std::string ModifyDrdsInstanceDescriptionRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyDrdsInstanceDescriptionRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyDrdsInstanceDescriptionRequest::getDrdsInstanceId()const
+{
+	return drdsInstanceId_;
+}
+
+void ModifyDrdsInstanceDescriptionRequest::setDrdsInstanceId(const std::string& drdsInstanceId)
+{
+	drdsInstanceId_ = drdsInstanceId;
+	setParameter("DrdsInstanceId", drdsInstanceId);
+}
+
+std::string ModifyDrdsInstanceDescriptionRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyDrdsInstanceDescriptionRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.