ソースを参照

Add openapis for whitelist template.

sdk-team 3 年 前
コミット
daf3dcd2b0
32 ファイル変更2222 行追加1 行削除
  1. 1 1
      VERSION
  2. 28 0
      rds/CMakeLists.txt
  3. 56 0
      rds/include/alibabacloud/rds/RdsClient.h
  4. 51 0
      rds/include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceRequest.h
  5. 63 0
      rds/include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceResult.h
  6. 57 0
      rds/include/alibabacloud/rds/model/DescribeAllWhitelistTemplateRequest.h
  7. 77 0
      rds/include/alibabacloud/rds/model/DescribeAllWhitelistTemplateResult.h
  8. 48 0
      rds/include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateRequest.h
  9. 72 0
      rds/include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateResult.h
  10. 48 0
      rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceRequest.h
  11. 64 0
      rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceResult.h
  12. 48 0
      rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateRequest.h
  13. 71 0
      rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateResult.h
  14. 51 0
      rds/include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceRequest.h
  15. 63 0
      rds/include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceResult.h
  16. 54 0
      rds/include/alibabacloud/rds/model/ModifyWhitelistTemplateRequest.h
  17. 63 0
      rds/include/alibabacloud/rds/model/ModifyWhitelistTemplateResult.h
  18. 252 0
      rds/src/RdsClient.cc
  19. 63 0
      rds/src/model/AttachWhitelistTemplateToInstanceRequest.cc
  20. 80 0
      rds/src/model/AttachWhitelistTemplateToInstanceResult.cc
  21. 81 0
      rds/src/model/DescribeAllWhitelistTemplateRequest.cc
  22. 106 0
      rds/src/model/DescribeAllWhitelistTemplateResult.cc
  23. 54 0
      rds/src/model/DescribeInstanceLinkedWhitelistTemplateRequest.cc
  24. 96 0
      rds/src/model/DescribeInstanceLinkedWhitelistTemplateResult.cc
  25. 54 0
      rds/src/model/DescribeWhitelistTemplateLinkedInstanceRequest.cc
  26. 83 0
      rds/src/model/DescribeWhitelistTemplateLinkedInstanceResult.cc
  27. 54 0
      rds/src/model/DescribeWhitelistTemplateRequest.cc
  28. 89 0
      rds/src/model/DescribeWhitelistTemplateResult.cc
  29. 63 0
      rds/src/model/DetachWhitelistTemplateToInstanceRequest.cc
  30. 80 0
      rds/src/model/DetachWhitelistTemplateToInstanceResult.cc
  31. 72 0
      rds/src/model/ModifyWhitelistTemplateRequest.cc
  32. 80 0
      rds/src/model/ModifyWhitelistTemplateResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1668
+1.36.1669

+ 28 - 0
rds/CMakeLists.txt

@@ -29,6 +29,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/AllocateInstancePublicConnectionResult.h
 	include/alibabacloud/rds/model/AllocateReadWriteSplittingConnectionRequest.h
 	include/alibabacloud/rds/model/AllocateReadWriteSplittingConnectionResult.h
+	include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceRequest.h
+	include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceResult.h
 	include/alibabacloud/rds/model/CalculateDBInstanceWeightRequest.h
 	include/alibabacloud/rds/model/CalculateDBInstanceWeightResult.h
 	include/alibabacloud/rds/model/CancelImportRequest.h
@@ -143,6 +145,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DescribeActionEventPolicyResult.h
 	include/alibabacloud/rds/model/DescribeActiveOperationTasksRequest.h
 	include/alibabacloud/rds/model/DescribeActiveOperationTasksResult.h
+	include/alibabacloud/rds/model/DescribeAllWhitelistTemplateRequest.h
+	include/alibabacloud/rds/model/DescribeAllWhitelistTemplateResult.h
 	include/alibabacloud/rds/model/DescribeAnalyticdbByPrimaryDBInstanceRequest.h
 	include/alibabacloud/rds/model/DescribeAnalyticdbByPrimaryDBInstanceResult.h
 	include/alibabacloud/rds/model/DescribeAvailableClassesRequest.h
@@ -267,6 +271,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DescribeInstanceCrossBackupPolicyResult.h
 	include/alibabacloud/rds/model/DescribeInstanceKeywordsRequest.h
 	include/alibabacloud/rds/model/DescribeInstanceKeywordsResult.h
+	include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateRequest.h
+	include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateResult.h
 	include/alibabacloud/rds/model/DescribeLocalAvailableRecoveryTimeRequest.h
 	include/alibabacloud/rds/model/DescribeLocalAvailableRecoveryTimeResult.h
 	include/alibabacloud/rds/model/DescribeLogBackupFilesRequest.h
@@ -341,10 +347,16 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DescribeUpgradeMajorVersionTasksResult.h
 	include/alibabacloud/rds/model/DescribeVSwitchesRequest.h
 	include/alibabacloud/rds/model/DescribeVSwitchesResult.h
+	include/alibabacloud/rds/model/DescribeWhitelistTemplateRequest.h
+	include/alibabacloud/rds/model/DescribeWhitelistTemplateResult.h
+	include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceRequest.h
+	include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceResult.h
 	include/alibabacloud/rds/model/DestroyDBInstanceRequest.h
 	include/alibabacloud/rds/model/DestroyDBInstanceResult.h
 	include/alibabacloud/rds/model/DetachGadInstanceMemberRequest.h
 	include/alibabacloud/rds/model/DetachGadInstanceMemberResult.h
+	include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceRequest.h
+	include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceResult.h
 	include/alibabacloud/rds/model/GetDBInstanceTopologyRequest.h
 	include/alibabacloud/rds/model/GetDBInstanceTopologyResult.h
 	include/alibabacloud/rds/model/GetDbProxyInstanceSslRequest.h
@@ -469,6 +481,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/ModifySecurityGroupConfigurationResult.h
 	include/alibabacloud/rds/model/ModifySecurityIpsRequest.h
 	include/alibabacloud/rds/model/ModifySecurityIpsResult.h
+	include/alibabacloud/rds/model/ModifyWhitelistTemplateRequest.h
+	include/alibabacloud/rds/model/ModifyWhitelistTemplateResult.h
 	include/alibabacloud/rds/model/PurgeDBInstanceLogRequest.h
 	include/alibabacloud/rds/model/PurgeDBInstanceLogResult.h
 	include/alibabacloud/rds/model/QueryNotifyRequest.h
@@ -550,6 +564,8 @@ set(rds_src
 	src/model/AllocateInstancePublicConnectionResult.cc
 	src/model/AllocateReadWriteSplittingConnectionRequest.cc
 	src/model/AllocateReadWriteSplittingConnectionResult.cc
+	src/model/AttachWhitelistTemplateToInstanceRequest.cc
+	src/model/AttachWhitelistTemplateToInstanceResult.cc
 	src/model/CalculateDBInstanceWeightRequest.cc
 	src/model/CalculateDBInstanceWeightResult.cc
 	src/model/CancelImportRequest.cc
@@ -664,6 +680,8 @@ set(rds_src
 	src/model/DescribeActionEventPolicyResult.cc
 	src/model/DescribeActiveOperationTasksRequest.cc
 	src/model/DescribeActiveOperationTasksResult.cc
+	src/model/DescribeAllWhitelistTemplateRequest.cc
+	src/model/DescribeAllWhitelistTemplateResult.cc
 	src/model/DescribeAnalyticdbByPrimaryDBInstanceRequest.cc
 	src/model/DescribeAnalyticdbByPrimaryDBInstanceResult.cc
 	src/model/DescribeAvailableClassesRequest.cc
@@ -788,6 +806,8 @@ set(rds_src
 	src/model/DescribeInstanceCrossBackupPolicyResult.cc
 	src/model/DescribeInstanceKeywordsRequest.cc
 	src/model/DescribeInstanceKeywordsResult.cc
+	src/model/DescribeInstanceLinkedWhitelistTemplateRequest.cc
+	src/model/DescribeInstanceLinkedWhitelistTemplateResult.cc
 	src/model/DescribeLocalAvailableRecoveryTimeRequest.cc
 	src/model/DescribeLocalAvailableRecoveryTimeResult.cc
 	src/model/DescribeLogBackupFilesRequest.cc
@@ -862,10 +882,16 @@ set(rds_src
 	src/model/DescribeUpgradeMajorVersionTasksResult.cc
 	src/model/DescribeVSwitchesRequest.cc
 	src/model/DescribeVSwitchesResult.cc
+	src/model/DescribeWhitelistTemplateRequest.cc
+	src/model/DescribeWhitelistTemplateResult.cc
+	src/model/DescribeWhitelistTemplateLinkedInstanceRequest.cc
+	src/model/DescribeWhitelistTemplateLinkedInstanceResult.cc
 	src/model/DestroyDBInstanceRequest.cc
 	src/model/DestroyDBInstanceResult.cc
 	src/model/DetachGadInstanceMemberRequest.cc
 	src/model/DetachGadInstanceMemberResult.cc
+	src/model/DetachWhitelistTemplateToInstanceRequest.cc
+	src/model/DetachWhitelistTemplateToInstanceResult.cc
 	src/model/GetDBInstanceTopologyRequest.cc
 	src/model/GetDBInstanceTopologyResult.cc
 	src/model/GetDbProxyInstanceSslRequest.cc
@@ -990,6 +1016,8 @@ set(rds_src
 	src/model/ModifySecurityGroupConfigurationResult.cc
 	src/model/ModifySecurityIpsRequest.cc
 	src/model/ModifySecurityIpsResult.cc
+	src/model/ModifyWhitelistTemplateRequest.cc
+	src/model/ModifyWhitelistTemplateResult.cc
 	src/model/PurgeDBInstanceLogRequest.cc
 	src/model/PurgeDBInstanceLogResult.cc
 	src/model/QueryNotifyRequest.cc

+ 56 - 0
rds/include/alibabacloud/rds/RdsClient.h

@@ -30,6 +30,8 @@
 #include "model/AllocateInstancePublicConnectionResult.h"
 #include "model/AllocateReadWriteSplittingConnectionRequest.h"
 #include "model/AllocateReadWriteSplittingConnectionResult.h"
+#include "model/AttachWhitelistTemplateToInstanceRequest.h"
+#include "model/AttachWhitelistTemplateToInstanceResult.h"
 #include "model/CalculateDBInstanceWeightRequest.h"
 #include "model/CalculateDBInstanceWeightResult.h"
 #include "model/CancelImportRequest.h"
@@ -144,6 +146,8 @@
 #include "model/DescribeActionEventPolicyResult.h"
 #include "model/DescribeActiveOperationTasksRequest.h"
 #include "model/DescribeActiveOperationTasksResult.h"
+#include "model/DescribeAllWhitelistTemplateRequest.h"
+#include "model/DescribeAllWhitelistTemplateResult.h"
 #include "model/DescribeAnalyticdbByPrimaryDBInstanceRequest.h"
 #include "model/DescribeAnalyticdbByPrimaryDBInstanceResult.h"
 #include "model/DescribeAvailableClassesRequest.h"
@@ -268,6 +272,8 @@
 #include "model/DescribeInstanceCrossBackupPolicyResult.h"
 #include "model/DescribeInstanceKeywordsRequest.h"
 #include "model/DescribeInstanceKeywordsResult.h"
+#include "model/DescribeInstanceLinkedWhitelistTemplateRequest.h"
+#include "model/DescribeInstanceLinkedWhitelistTemplateResult.h"
 #include "model/DescribeLocalAvailableRecoveryTimeRequest.h"
 #include "model/DescribeLocalAvailableRecoveryTimeResult.h"
 #include "model/DescribeLogBackupFilesRequest.h"
@@ -342,10 +348,16 @@
 #include "model/DescribeUpgradeMajorVersionTasksResult.h"
 #include "model/DescribeVSwitchesRequest.h"
 #include "model/DescribeVSwitchesResult.h"
+#include "model/DescribeWhitelistTemplateRequest.h"
+#include "model/DescribeWhitelistTemplateResult.h"
+#include "model/DescribeWhitelistTemplateLinkedInstanceRequest.h"
+#include "model/DescribeWhitelistTemplateLinkedInstanceResult.h"
 #include "model/DestroyDBInstanceRequest.h"
 #include "model/DestroyDBInstanceResult.h"
 #include "model/DetachGadInstanceMemberRequest.h"
 #include "model/DetachGadInstanceMemberResult.h"
+#include "model/DetachWhitelistTemplateToInstanceRequest.h"
+#include "model/DetachWhitelistTemplateToInstanceResult.h"
 #include "model/GetDBInstanceTopologyRequest.h"
 #include "model/GetDBInstanceTopologyResult.h"
 #include "model/GetDbProxyInstanceSslRequest.h"
@@ -470,6 +482,8 @@
 #include "model/ModifySecurityGroupConfigurationResult.h"
 #include "model/ModifySecurityIpsRequest.h"
 #include "model/ModifySecurityIpsResult.h"
+#include "model/ModifyWhitelistTemplateRequest.h"
+#include "model/ModifyWhitelistTemplateResult.h"
 #include "model/PurgeDBInstanceLogRequest.h"
 #include "model/PurgeDBInstanceLogResult.h"
 #include "model/QueryNotifyRequest.h"
@@ -561,6 +575,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AllocateReadWriteSplittingConnectionResult> AllocateReadWriteSplittingConnectionOutcome;
 			typedef std::future<AllocateReadWriteSplittingConnectionOutcome> AllocateReadWriteSplittingConnectionOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::AllocateReadWriteSplittingConnectionRequest&, const AllocateReadWriteSplittingConnectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocateReadWriteSplittingConnectionAsyncHandler;
+			typedef Outcome<Error, Model::AttachWhitelistTemplateToInstanceResult> AttachWhitelistTemplateToInstanceOutcome;
+			typedef std::future<AttachWhitelistTemplateToInstanceOutcome> AttachWhitelistTemplateToInstanceOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::AttachWhitelistTemplateToInstanceRequest&, const AttachWhitelistTemplateToInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachWhitelistTemplateToInstanceAsyncHandler;
 			typedef Outcome<Error, Model::CalculateDBInstanceWeightResult> CalculateDBInstanceWeightOutcome;
 			typedef std::future<CalculateDBInstanceWeightOutcome> CalculateDBInstanceWeightOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::CalculateDBInstanceWeightRequest&, const CalculateDBInstanceWeightOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CalculateDBInstanceWeightAsyncHandler;
@@ -732,6 +749,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeActiveOperationTasksResult> DescribeActiveOperationTasksOutcome;
 			typedef std::future<DescribeActiveOperationTasksOutcome> DescribeActiveOperationTasksOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeActiveOperationTasksRequest&, const DescribeActiveOperationTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeActiveOperationTasksAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAllWhitelistTemplateResult> DescribeAllWhitelistTemplateOutcome;
+			typedef std::future<DescribeAllWhitelistTemplateOutcome> DescribeAllWhitelistTemplateOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribeAllWhitelistTemplateRequest&, const DescribeAllWhitelistTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAllWhitelistTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DescribeAnalyticdbByPrimaryDBInstanceResult> DescribeAnalyticdbByPrimaryDBInstanceOutcome;
 			typedef std::future<DescribeAnalyticdbByPrimaryDBInstanceOutcome> DescribeAnalyticdbByPrimaryDBInstanceOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeAnalyticdbByPrimaryDBInstanceRequest&, const DescribeAnalyticdbByPrimaryDBInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAnalyticdbByPrimaryDBInstanceAsyncHandler;
@@ -918,6 +938,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceKeywordsResult> DescribeInstanceKeywordsOutcome;
 			typedef std::future<DescribeInstanceKeywordsOutcome> DescribeInstanceKeywordsOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeInstanceKeywordsRequest&, const DescribeInstanceKeywordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceKeywordsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceLinkedWhitelistTemplateResult> DescribeInstanceLinkedWhitelistTemplateOutcome;
+			typedef std::future<DescribeInstanceLinkedWhitelistTemplateOutcome> DescribeInstanceLinkedWhitelistTemplateOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribeInstanceLinkedWhitelistTemplateRequest&, const DescribeInstanceLinkedWhitelistTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceLinkedWhitelistTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLocalAvailableRecoveryTimeResult> DescribeLocalAvailableRecoveryTimeOutcome;
 			typedef std::future<DescribeLocalAvailableRecoveryTimeOutcome> DescribeLocalAvailableRecoveryTimeOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeLocalAvailableRecoveryTimeRequest&, const DescribeLocalAvailableRecoveryTimeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLocalAvailableRecoveryTimeAsyncHandler;
@@ -1029,12 +1052,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeVSwitchesResult> DescribeVSwitchesOutcome;
 			typedef std::future<DescribeVSwitchesOutcome> DescribeVSwitchesOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeVSwitchesRequest&, const DescribeVSwitchesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVSwitchesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeWhitelistTemplateResult> DescribeWhitelistTemplateOutcome;
+			typedef std::future<DescribeWhitelistTemplateOutcome> DescribeWhitelistTemplateOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribeWhitelistTemplateRequest&, const DescribeWhitelistTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeWhitelistTemplateAsyncHandler;
+			typedef Outcome<Error, Model::DescribeWhitelistTemplateLinkedInstanceResult> DescribeWhitelistTemplateLinkedInstanceOutcome;
+			typedef std::future<DescribeWhitelistTemplateLinkedInstanceOutcome> DescribeWhitelistTemplateLinkedInstanceOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribeWhitelistTemplateLinkedInstanceRequest&, const DescribeWhitelistTemplateLinkedInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeWhitelistTemplateLinkedInstanceAsyncHandler;
 			typedef Outcome<Error, Model::DestroyDBInstanceResult> DestroyDBInstanceOutcome;
 			typedef std::future<DestroyDBInstanceOutcome> DestroyDBInstanceOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DestroyDBInstanceRequest&, const DestroyDBInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DestroyDBInstanceAsyncHandler;
 			typedef Outcome<Error, Model::DetachGadInstanceMemberResult> DetachGadInstanceMemberOutcome;
 			typedef std::future<DetachGadInstanceMemberOutcome> DetachGadInstanceMemberOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DetachGadInstanceMemberRequest&, const DetachGadInstanceMemberOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachGadInstanceMemberAsyncHandler;
+			typedef Outcome<Error, Model::DetachWhitelistTemplateToInstanceResult> DetachWhitelistTemplateToInstanceOutcome;
+			typedef std::future<DetachWhitelistTemplateToInstanceOutcome> DetachWhitelistTemplateToInstanceOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DetachWhitelistTemplateToInstanceRequest&, const DetachWhitelistTemplateToInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachWhitelistTemplateToInstanceAsyncHandler;
 			typedef Outcome<Error, Model::GetDBInstanceTopologyResult> GetDBInstanceTopologyOutcome;
 			typedef std::future<GetDBInstanceTopologyOutcome> GetDBInstanceTopologyOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::GetDBInstanceTopologyRequest&, const GetDBInstanceTopologyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDBInstanceTopologyAsyncHandler;
@@ -1221,6 +1253,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifySecurityIpsResult> ModifySecurityIpsOutcome;
 			typedef std::future<ModifySecurityIpsOutcome> ModifySecurityIpsOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::ModifySecurityIpsRequest&, const ModifySecurityIpsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifySecurityIpsAsyncHandler;
+			typedef Outcome<Error, Model::ModifyWhitelistTemplateResult> ModifyWhitelistTemplateOutcome;
+			typedef std::future<ModifyWhitelistTemplateOutcome> ModifyWhitelistTemplateOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::ModifyWhitelistTemplateRequest&, const ModifyWhitelistTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyWhitelistTemplateAsyncHandler;
 			typedef Outcome<Error, Model::PurgeDBInstanceLogResult> PurgeDBInstanceLogOutcome;
 			typedef std::future<PurgeDBInstanceLogOutcome> PurgeDBInstanceLogOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::PurgeDBInstanceLogRequest&, const PurgeDBInstanceLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PurgeDBInstanceLogAsyncHandler;
@@ -1343,6 +1378,9 @@ namespace AlibabaCloud
 			AllocateReadWriteSplittingConnectionOutcome allocateReadWriteSplittingConnection(const Model::AllocateReadWriteSplittingConnectionRequest &request)const;
 			void allocateReadWriteSplittingConnectionAsync(const Model::AllocateReadWriteSplittingConnectionRequest& request, const AllocateReadWriteSplittingConnectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AllocateReadWriteSplittingConnectionOutcomeCallable allocateReadWriteSplittingConnectionCallable(const Model::AllocateReadWriteSplittingConnectionRequest& request) const;
+			AttachWhitelistTemplateToInstanceOutcome attachWhitelistTemplateToInstance(const Model::AttachWhitelistTemplateToInstanceRequest &request)const;
+			void attachWhitelistTemplateToInstanceAsync(const Model::AttachWhitelistTemplateToInstanceRequest& request, const AttachWhitelistTemplateToInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AttachWhitelistTemplateToInstanceOutcomeCallable attachWhitelistTemplateToInstanceCallable(const Model::AttachWhitelistTemplateToInstanceRequest& request) const;
 			CalculateDBInstanceWeightOutcome calculateDBInstanceWeight(const Model::CalculateDBInstanceWeightRequest &request)const;
 			void calculateDBInstanceWeightAsync(const Model::CalculateDBInstanceWeightRequest& request, const CalculateDBInstanceWeightAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CalculateDBInstanceWeightOutcomeCallable calculateDBInstanceWeightCallable(const Model::CalculateDBInstanceWeightRequest& request) const;
@@ -1514,6 +1552,9 @@ namespace AlibabaCloud
 			DescribeActiveOperationTasksOutcome describeActiveOperationTasks(const Model::DescribeActiveOperationTasksRequest &request)const;
 			void describeActiveOperationTasksAsync(const Model::DescribeActiveOperationTasksRequest& request, const DescribeActiveOperationTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeActiveOperationTasksOutcomeCallable describeActiveOperationTasksCallable(const Model::DescribeActiveOperationTasksRequest& request) const;
+			DescribeAllWhitelistTemplateOutcome describeAllWhitelistTemplate(const Model::DescribeAllWhitelistTemplateRequest &request)const;
+			void describeAllWhitelistTemplateAsync(const Model::DescribeAllWhitelistTemplateRequest& request, const DescribeAllWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAllWhitelistTemplateOutcomeCallable describeAllWhitelistTemplateCallable(const Model::DescribeAllWhitelistTemplateRequest& request) const;
 			DescribeAnalyticdbByPrimaryDBInstanceOutcome describeAnalyticdbByPrimaryDBInstance(const Model::DescribeAnalyticdbByPrimaryDBInstanceRequest &request)const;
 			void describeAnalyticdbByPrimaryDBInstanceAsync(const Model::DescribeAnalyticdbByPrimaryDBInstanceRequest& request, const DescribeAnalyticdbByPrimaryDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeAnalyticdbByPrimaryDBInstanceOutcomeCallable describeAnalyticdbByPrimaryDBInstanceCallable(const Model::DescribeAnalyticdbByPrimaryDBInstanceRequest& request) const;
@@ -1700,6 +1741,9 @@ namespace AlibabaCloud
 			DescribeInstanceKeywordsOutcome describeInstanceKeywords(const Model::DescribeInstanceKeywordsRequest &request)const;
 			void describeInstanceKeywordsAsync(const Model::DescribeInstanceKeywordsRequest& request, const DescribeInstanceKeywordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceKeywordsOutcomeCallable describeInstanceKeywordsCallable(const Model::DescribeInstanceKeywordsRequest& request) const;
+			DescribeInstanceLinkedWhitelistTemplateOutcome describeInstanceLinkedWhitelistTemplate(const Model::DescribeInstanceLinkedWhitelistTemplateRequest &request)const;
+			void describeInstanceLinkedWhitelistTemplateAsync(const Model::DescribeInstanceLinkedWhitelistTemplateRequest& request, const DescribeInstanceLinkedWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceLinkedWhitelistTemplateOutcomeCallable describeInstanceLinkedWhitelistTemplateCallable(const Model::DescribeInstanceLinkedWhitelistTemplateRequest& request) const;
 			DescribeLocalAvailableRecoveryTimeOutcome describeLocalAvailableRecoveryTime(const Model::DescribeLocalAvailableRecoveryTimeRequest &request)const;
 			void describeLocalAvailableRecoveryTimeAsync(const Model::DescribeLocalAvailableRecoveryTimeRequest& request, const DescribeLocalAvailableRecoveryTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLocalAvailableRecoveryTimeOutcomeCallable describeLocalAvailableRecoveryTimeCallable(const Model::DescribeLocalAvailableRecoveryTimeRequest& request) const;
@@ -1811,12 +1855,21 @@ namespace AlibabaCloud
 			DescribeVSwitchesOutcome describeVSwitches(const Model::DescribeVSwitchesRequest &request)const;
 			void describeVSwitchesAsync(const Model::DescribeVSwitchesRequest& request, const DescribeVSwitchesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVSwitchesOutcomeCallable describeVSwitchesCallable(const Model::DescribeVSwitchesRequest& request) const;
+			DescribeWhitelistTemplateOutcome describeWhitelistTemplate(const Model::DescribeWhitelistTemplateRequest &request)const;
+			void describeWhitelistTemplateAsync(const Model::DescribeWhitelistTemplateRequest& request, const DescribeWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeWhitelistTemplateOutcomeCallable describeWhitelistTemplateCallable(const Model::DescribeWhitelistTemplateRequest& request) const;
+			DescribeWhitelistTemplateLinkedInstanceOutcome describeWhitelistTemplateLinkedInstance(const Model::DescribeWhitelistTemplateLinkedInstanceRequest &request)const;
+			void describeWhitelistTemplateLinkedInstanceAsync(const Model::DescribeWhitelistTemplateLinkedInstanceRequest& request, const DescribeWhitelistTemplateLinkedInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeWhitelistTemplateLinkedInstanceOutcomeCallable describeWhitelistTemplateLinkedInstanceCallable(const Model::DescribeWhitelistTemplateLinkedInstanceRequest& request) const;
 			DestroyDBInstanceOutcome destroyDBInstance(const Model::DestroyDBInstanceRequest &request)const;
 			void destroyDBInstanceAsync(const Model::DestroyDBInstanceRequest& request, const DestroyDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DestroyDBInstanceOutcomeCallable destroyDBInstanceCallable(const Model::DestroyDBInstanceRequest& request) const;
 			DetachGadInstanceMemberOutcome detachGadInstanceMember(const Model::DetachGadInstanceMemberRequest &request)const;
 			void detachGadInstanceMemberAsync(const Model::DetachGadInstanceMemberRequest& request, const DetachGadInstanceMemberAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DetachGadInstanceMemberOutcomeCallable detachGadInstanceMemberCallable(const Model::DetachGadInstanceMemberRequest& request) const;
+			DetachWhitelistTemplateToInstanceOutcome detachWhitelistTemplateToInstance(const Model::DetachWhitelistTemplateToInstanceRequest &request)const;
+			void detachWhitelistTemplateToInstanceAsync(const Model::DetachWhitelistTemplateToInstanceRequest& request, const DetachWhitelistTemplateToInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DetachWhitelistTemplateToInstanceOutcomeCallable detachWhitelistTemplateToInstanceCallable(const Model::DetachWhitelistTemplateToInstanceRequest& request) const;
 			GetDBInstanceTopologyOutcome getDBInstanceTopology(const Model::GetDBInstanceTopologyRequest &request)const;
 			void getDBInstanceTopologyAsync(const Model::GetDBInstanceTopologyRequest& request, const GetDBInstanceTopologyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDBInstanceTopologyOutcomeCallable getDBInstanceTopologyCallable(const Model::GetDBInstanceTopologyRequest& request) const;
@@ -2003,6 +2056,9 @@ namespace AlibabaCloud
 			ModifySecurityIpsOutcome modifySecurityIps(const Model::ModifySecurityIpsRequest &request)const;
 			void modifySecurityIpsAsync(const Model::ModifySecurityIpsRequest& request, const ModifySecurityIpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifySecurityIpsOutcomeCallable modifySecurityIpsCallable(const Model::ModifySecurityIpsRequest& request) const;
+			ModifyWhitelistTemplateOutcome modifyWhitelistTemplate(const Model::ModifyWhitelistTemplateRequest &request)const;
+			void modifyWhitelistTemplateAsync(const Model::ModifyWhitelistTemplateRequest& request, const ModifyWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyWhitelistTemplateOutcomeCallable modifyWhitelistTemplateCallable(const Model::ModifyWhitelistTemplateRequest& request) const;
 			PurgeDBInstanceLogOutcome purgeDBInstanceLog(const Model::PurgeDBInstanceLogRequest &request)const;
 			void purgeDBInstanceLogAsync(const Model::PurgeDBInstanceLogRequest& request, const PurgeDBInstanceLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			PurgeDBInstanceLogOutcomeCallable purgeDBInstanceLogCallable(const Model::PurgeDBInstanceLogRequest& request) const;

+ 51 - 0
rds/include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceRequest.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_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT AttachWhitelistTemplateToInstanceRequest : public RpcServiceRequest {
+public:
+	AttachWhitelistTemplateToInstanceRequest();
+	~AttachWhitelistTemplateToInstanceRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getTemplateId() const;
+	void setTemplateId(int templateId);
+	std::string getInsName() const;
+	void setInsName(const std::string &insName);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	int templateId_;
+	std::string insName_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_

+ 63 - 0
rds/include/alibabacloud/rds/model/AttachWhitelistTemplateToInstanceResult.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_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT AttachWhitelistTemplateToInstanceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+				};
+
+
+				AttachWhitelistTemplateToInstanceResult();
+				explicit AttachWhitelistTemplateToInstanceResult(const std::string &payload);
+				~AttachWhitelistTemplateToInstanceResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_ATTACHWHITELISTTEMPLATETOINSTANCERESULT_H_

+ 57 - 0
rds/include/alibabacloud/rds/model/DescribeAllWhitelistTemplateRequest.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_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribeAllWhitelistTemplateRequest : public RpcServiceRequest {
+public:
+	DescribeAllWhitelistTemplateRequest();
+	~DescribeAllWhitelistTemplateRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	int getPageNumbers() const;
+	void setPageNumbers(int pageNumbers);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
+	bool getFuzzySearch() const;
+	void setFuzzySearch(bool fuzzySearch);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getMaxRecordsPerPage() const;
+	void setMaxRecordsPerPage(int maxRecordsPerPage);
+
+private:
+	long resourceOwnerId_;
+	int pageNumbers_;
+	std::string templateName_;
+	bool fuzzySearch_;
+	std::string resourceOwnerAccount_;
+	int maxRecordsPerPage_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATEREQUEST_H_

+ 77 - 0
rds/include/alibabacloud/rds/model/DescribeAllWhitelistTemplateResult.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DescribeAllWhitelistTemplateResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct _Template
+					{
+						int userId;
+						std::string templateName;
+						int id;
+						std::string ips;
+						int templateId;
+					};
+					int maxRecordsPerPage;
+					std::vector<_Template> templates;
+					int totalRecords;
+					int totalPageNumbers;
+					bool hasPrev;
+					int currPageNumbers;
+					bool hasNext;
+				};
+
+
+				DescribeAllWhitelistTemplateResult();
+				explicit DescribeAllWhitelistTemplateResult(const std::string &payload);
+				~DescribeAllWhitelistTemplateResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEALLWHITELISTTEMPLATERESULT_H_

+ 48 - 0
rds/include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateRequest.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_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribeInstanceLinkedWhitelistTemplateRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceLinkedWhitelistTemplateRequest();
+	~DescribeInstanceLinkedWhitelistTemplateRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getInsName() const;
+	void setInsName(const std::string &insName);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	std::string insName_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATEREQUEST_H_

+ 72 - 0
rds/include/alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateResult.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_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DescribeInstanceLinkedWhitelistTemplateResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct _Template
+					{
+						int userId;
+						std::string templateName;
+						int id;
+						std::string ips;
+						int templateId;
+					};
+					std::vector<_Template> templates;
+					std::string insName;
+				};
+
+
+				DescribeInstanceLinkedWhitelistTemplateResult();
+				explicit DescribeInstanceLinkedWhitelistTemplateResult(const std::string &payload);
+				~DescribeInstanceLinkedWhitelistTemplateResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEINSTANCELINKEDWHITELISTTEMPLATERESULT_H_

+ 48 - 0
rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceRequest.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_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribeWhitelistTemplateLinkedInstanceRequest : public RpcServiceRequest {
+public:
+	DescribeWhitelistTemplateLinkedInstanceRequest();
+	~DescribeWhitelistTemplateLinkedInstanceRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getTemplateId() const;
+	void setTemplateId(int templateId);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	int templateId_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCEREQUEST_H_

+ 64 - 0
rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceResult.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_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DescribeWhitelistTemplateLinkedInstanceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::vector<std::string> insName;
+					int templateId;
+				};
+
+
+				DescribeWhitelistTemplateLinkedInstanceResult();
+				explicit DescribeWhitelistTemplateLinkedInstanceResult(const std::string &payload);
+				~DescribeWhitelistTemplateLinkedInstanceResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATELINKEDINSTANCERESULT_H_

+ 48 - 0
rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateRequest.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_RDS_MODEL_DESCRIBEWHITELISTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribeWhitelistTemplateRequest : public RpcServiceRequest {
+public:
+	DescribeWhitelistTemplateRequest();
+	~DescribeWhitelistTemplateRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getTemplateId() const;
+	void setTemplateId(int templateId);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	int templateId_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEWHITELISTTEMPLATEREQUEST_H_

+ 71 - 0
rds/include/alibabacloud/rds/model/DescribeWhitelistTemplateResult.h

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

+ 51 - 0
rds/include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceRequest.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_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DetachWhitelistTemplateToInstanceRequest : public RpcServiceRequest {
+public:
+	DetachWhitelistTemplateToInstanceRequest();
+	~DetachWhitelistTemplateToInstanceRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getTemplateId() const;
+	void setTemplateId(int templateId);
+	std::string getInsName() const;
+	void setInsName(const std::string &insName);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	int templateId_;
+	std::string insName_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCEREQUEST_H_

+ 63 - 0
rds/include/alibabacloud/rds/model/DetachWhitelistTemplateToInstanceResult.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_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DetachWhitelistTemplateToInstanceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+				};
+
+
+				DetachWhitelistTemplateToInstanceResult();
+				explicit DetachWhitelistTemplateToInstanceResult(const std::string &payload);
+				~DetachWhitelistTemplateToInstanceResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DETACHWHITELISTTEMPLATETOINSTANCERESULT_H_

+ 54 - 0
rds/include/alibabacloud/rds/model/ModifyWhitelistTemplateRequest.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_RDS_MODEL_MODIFYWHITELISTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_MODIFYWHITELISTTEMPLATEREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT ModifyWhitelistTemplateRequest : public RpcServiceRequest {
+public:
+	ModifyWhitelistTemplateRequest();
+	~ModifyWhitelistTemplateRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	int getTemplateId() const;
+	void setTemplateId(int templateId);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
+	std::string getIpWhitelist() const;
+	void setIpWhitelist(const std::string &ipWhitelist);
+
+private:
+	long resourceOwnerId_;
+	std::string resourceOwnerAccount_;
+	int templateId_;
+	std::string templateName_;
+	std::string ipWhitelist_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_MODIFYWHITELISTTEMPLATEREQUEST_H_

+ 63 - 0
rds/include/alibabacloud/rds/model/ModifyWhitelistTemplateResult.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_RDS_MODEL_MODIFYWHITELISTTEMPLATERESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_MODIFYWHITELISTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT ModifyWhitelistTemplateResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+				};
+
+
+				ModifyWhitelistTemplateResult();
+				explicit ModifyWhitelistTemplateResult(const std::string &payload);
+				~ModifyWhitelistTemplateResult();
+				std::string getMessage()const;
+				int getHttpStatusCode()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				int httpStatusCode_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_MODIFYWHITELISTTEMPLATERESULT_H_

+ 252 - 0
rds/src/RdsClient.cc

@@ -195,6 +195,42 @@ RdsClient::AllocateReadWriteSplittingConnectionOutcomeCallable RdsClient::alloca
 	return task->get_future();
 }
 
+RdsClient::AttachWhitelistTemplateToInstanceOutcome RdsClient::attachWhitelistTemplateToInstance(const AttachWhitelistTemplateToInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AttachWhitelistTemplateToInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AttachWhitelistTemplateToInstanceOutcome(AttachWhitelistTemplateToInstanceResult(outcome.result()));
+	else
+		return AttachWhitelistTemplateToInstanceOutcome(outcome.error());
+}
+
+void RdsClient::attachWhitelistTemplateToInstanceAsync(const AttachWhitelistTemplateToInstanceRequest& request, const AttachWhitelistTemplateToInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, attachWhitelistTemplateToInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::AttachWhitelistTemplateToInstanceOutcomeCallable RdsClient::attachWhitelistTemplateToInstanceCallable(const AttachWhitelistTemplateToInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AttachWhitelistTemplateToInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->attachWhitelistTemplateToInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::CalculateDBInstanceWeightOutcome RdsClient::calculateDBInstanceWeight(const CalculateDBInstanceWeightRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2247,6 +2283,42 @@ RdsClient::DescribeActiveOperationTasksOutcomeCallable RdsClient::describeActive
 	return task->get_future();
 }
 
+RdsClient::DescribeAllWhitelistTemplateOutcome RdsClient::describeAllWhitelistTemplate(const DescribeAllWhitelistTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAllWhitelistTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAllWhitelistTemplateOutcome(DescribeAllWhitelistTemplateResult(outcome.result()));
+	else
+		return DescribeAllWhitelistTemplateOutcome(outcome.error());
+}
+
+void RdsClient::describeAllWhitelistTemplateAsync(const DescribeAllWhitelistTemplateRequest& request, const DescribeAllWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAllWhitelistTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribeAllWhitelistTemplateOutcomeCallable RdsClient::describeAllWhitelistTemplateCallable(const DescribeAllWhitelistTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAllWhitelistTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAllWhitelistTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DescribeAnalyticdbByPrimaryDBInstanceOutcome RdsClient::describeAnalyticdbByPrimaryDBInstance(const DescribeAnalyticdbByPrimaryDBInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4479,6 +4551,42 @@ RdsClient::DescribeInstanceKeywordsOutcomeCallable RdsClient::describeInstanceKe
 	return task->get_future();
 }
 
+RdsClient::DescribeInstanceLinkedWhitelistTemplateOutcome RdsClient::describeInstanceLinkedWhitelistTemplate(const DescribeInstanceLinkedWhitelistTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceLinkedWhitelistTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceLinkedWhitelistTemplateOutcome(DescribeInstanceLinkedWhitelistTemplateResult(outcome.result()));
+	else
+		return DescribeInstanceLinkedWhitelistTemplateOutcome(outcome.error());
+}
+
+void RdsClient::describeInstanceLinkedWhitelistTemplateAsync(const DescribeInstanceLinkedWhitelistTemplateRequest& request, const DescribeInstanceLinkedWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceLinkedWhitelistTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribeInstanceLinkedWhitelistTemplateOutcomeCallable RdsClient::describeInstanceLinkedWhitelistTemplateCallable(const DescribeInstanceLinkedWhitelistTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceLinkedWhitelistTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceLinkedWhitelistTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DescribeLocalAvailableRecoveryTimeOutcome RdsClient::describeLocalAvailableRecoveryTime(const DescribeLocalAvailableRecoveryTimeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5811,6 +5919,78 @@ RdsClient::DescribeVSwitchesOutcomeCallable RdsClient::describeVSwitchesCallable
 	return task->get_future();
 }
 
+RdsClient::DescribeWhitelistTemplateOutcome RdsClient::describeWhitelistTemplate(const DescribeWhitelistTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeWhitelistTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeWhitelistTemplateOutcome(DescribeWhitelistTemplateResult(outcome.result()));
+	else
+		return DescribeWhitelistTemplateOutcome(outcome.error());
+}
+
+void RdsClient::describeWhitelistTemplateAsync(const DescribeWhitelistTemplateRequest& request, const DescribeWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeWhitelistTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribeWhitelistTemplateOutcomeCallable RdsClient::describeWhitelistTemplateCallable(const DescribeWhitelistTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeWhitelistTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->describeWhitelistTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+RdsClient::DescribeWhitelistTemplateLinkedInstanceOutcome RdsClient::describeWhitelistTemplateLinkedInstance(const DescribeWhitelistTemplateLinkedInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeWhitelistTemplateLinkedInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeWhitelistTemplateLinkedInstanceOutcome(DescribeWhitelistTemplateLinkedInstanceResult(outcome.result()));
+	else
+		return DescribeWhitelistTemplateLinkedInstanceOutcome(outcome.error());
+}
+
+void RdsClient::describeWhitelistTemplateLinkedInstanceAsync(const DescribeWhitelistTemplateLinkedInstanceRequest& request, const DescribeWhitelistTemplateLinkedInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeWhitelistTemplateLinkedInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribeWhitelistTemplateLinkedInstanceOutcomeCallable RdsClient::describeWhitelistTemplateLinkedInstanceCallable(const DescribeWhitelistTemplateLinkedInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeWhitelistTemplateLinkedInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeWhitelistTemplateLinkedInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DestroyDBInstanceOutcome RdsClient::destroyDBInstance(const DestroyDBInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5883,6 +6063,42 @@ RdsClient::DetachGadInstanceMemberOutcomeCallable RdsClient::detachGadInstanceMe
 	return task->get_future();
 }
 
+RdsClient::DetachWhitelistTemplateToInstanceOutcome RdsClient::detachWhitelistTemplateToInstance(const DetachWhitelistTemplateToInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DetachWhitelistTemplateToInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DetachWhitelistTemplateToInstanceOutcome(DetachWhitelistTemplateToInstanceResult(outcome.result()));
+	else
+		return DetachWhitelistTemplateToInstanceOutcome(outcome.error());
+}
+
+void RdsClient::detachWhitelistTemplateToInstanceAsync(const DetachWhitelistTemplateToInstanceRequest& request, const DetachWhitelistTemplateToInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, detachWhitelistTemplateToInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DetachWhitelistTemplateToInstanceOutcomeCallable RdsClient::detachWhitelistTemplateToInstanceCallable(const DetachWhitelistTemplateToInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DetachWhitelistTemplateToInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->detachWhitelistTemplateToInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::GetDBInstanceTopologyOutcome RdsClient::getDBInstanceTopology(const GetDBInstanceTopologyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8115,6 +8331,42 @@ RdsClient::ModifySecurityIpsOutcomeCallable RdsClient::modifySecurityIpsCallable
 	return task->get_future();
 }
 
+RdsClient::ModifyWhitelistTemplateOutcome RdsClient::modifyWhitelistTemplate(const ModifyWhitelistTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyWhitelistTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyWhitelistTemplateOutcome(ModifyWhitelistTemplateResult(outcome.result()));
+	else
+		return ModifyWhitelistTemplateOutcome(outcome.error());
+}
+
+void RdsClient::modifyWhitelistTemplateAsync(const ModifyWhitelistTemplateRequest& request, const ModifyWhitelistTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyWhitelistTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::ModifyWhitelistTemplateOutcomeCallable RdsClient::modifyWhitelistTemplateCallable(const ModifyWhitelistTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyWhitelistTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyWhitelistTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::PurgeDBInstanceLogOutcome RdsClient::purgeDBInstanceLog(const PurgeDBInstanceLogRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 63 - 0
rds/src/model/AttachWhitelistTemplateToInstanceRequest.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/rds/model/AttachWhitelistTemplateToInstanceRequest.h>
+
+using AlibabaCloud::Rds::Model::AttachWhitelistTemplateToInstanceRequest;
+
+AttachWhitelistTemplateToInstanceRequest::AttachWhitelistTemplateToInstanceRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "AttachWhitelistTemplateToInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+AttachWhitelistTemplateToInstanceRequest::~AttachWhitelistTemplateToInstanceRequest() {}
+
+long AttachWhitelistTemplateToInstanceRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void AttachWhitelistTemplateToInstanceRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string AttachWhitelistTemplateToInstanceRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void AttachWhitelistTemplateToInstanceRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int AttachWhitelistTemplateToInstanceRequest::getTemplateId() const {
+  return templateId_;
+}
+
+void AttachWhitelistTemplateToInstanceRequest::setTemplateId(int templateId) {
+  templateId_ = templateId;
+  setParameter(std::string("TemplateId"), std::to_string(templateId));
+}
+
+std::string AttachWhitelistTemplateToInstanceRequest::getInsName() const {
+  return insName_;
+}
+
+void AttachWhitelistTemplateToInstanceRequest::setInsName(const std::string &insName) {
+  insName_ = insName;
+  setParameter(std::string("InsName"), insName);
+}
+

+ 80 - 0
rds/src/model/AttachWhitelistTemplateToInstanceResult.cc

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/AttachWhitelistTemplateToInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+AttachWhitelistTemplateToInstanceResult::AttachWhitelistTemplateToInstanceResult() :
+	ServiceResult()
+{}
+
+AttachWhitelistTemplateToInstanceResult::AttachWhitelistTemplateToInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+AttachWhitelistTemplateToInstanceResult::~AttachWhitelistTemplateToInstanceResult()
+{}
+
+void AttachWhitelistTemplateToInstanceResult::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";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string AttachWhitelistTemplateToInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+int AttachWhitelistTemplateToInstanceResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+AttachWhitelistTemplateToInstanceResult::Data AttachWhitelistTemplateToInstanceResult::getData()const
+{
+	return data_;
+}
+
+std::string AttachWhitelistTemplateToInstanceResult::getCode()const
+{
+	return code_;
+}
+
+bool AttachWhitelistTemplateToInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 81 - 0
rds/src/model/DescribeAllWhitelistTemplateRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/rds/model/DescribeAllWhitelistTemplateRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribeAllWhitelistTemplateRequest;
+
+DescribeAllWhitelistTemplateRequest::DescribeAllWhitelistTemplateRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribeAllWhitelistTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeAllWhitelistTemplateRequest::~DescribeAllWhitelistTemplateRequest() {}
+
+long DescribeAllWhitelistTemplateRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+int DescribeAllWhitelistTemplateRequest::getPageNumbers() const {
+  return pageNumbers_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setPageNumbers(int pageNumbers) {
+  pageNumbers_ = pageNumbers;
+  setParameter(std::string("PageNumbers"), std::to_string(pageNumbers));
+}
+
+std::string DescribeAllWhitelistTemplateRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setParameter(std::string("TemplateName"), templateName);
+}
+
+bool DescribeAllWhitelistTemplateRequest::getFuzzySearch() const {
+  return fuzzySearch_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setFuzzySearch(bool fuzzySearch) {
+  fuzzySearch_ = fuzzySearch;
+  setParameter(std::string("FuzzySearch"), fuzzySearch ? "true" : "false");
+}
+
+std::string DescribeAllWhitelistTemplateRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int DescribeAllWhitelistTemplateRequest::getMaxRecordsPerPage() const {
+  return maxRecordsPerPage_;
+}
+
+void DescribeAllWhitelistTemplateRequest::setMaxRecordsPerPage(int maxRecordsPerPage) {
+  maxRecordsPerPage_ = maxRecordsPerPage;
+  setParameter(std::string("MaxRecordsPerPage"), std::to_string(maxRecordsPerPage));
+}
+

+ 106 - 0
rds/src/model/DescribeAllWhitelistTemplateResult.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/DescribeAllWhitelistTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribeAllWhitelistTemplateResult::DescribeAllWhitelistTemplateResult() :
+	ServiceResult()
+{}
+
+DescribeAllWhitelistTemplateResult::DescribeAllWhitelistTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAllWhitelistTemplateResult::~DescribeAllWhitelistTemplateResult()
+{}
+
+void DescribeAllWhitelistTemplateResult::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["TotalRecords"].isNull())
+		data_.totalRecords = std::stoi(dataNode["TotalRecords"].asString());
+	if(!dataNode["MaxRecordsPerPage"].isNull())
+		data_.maxRecordsPerPage = std::stoi(dataNode["MaxRecordsPerPage"].asString());
+	if(!dataNode["CurrPageNumbers"].isNull())
+		data_.currPageNumbers = std::stoi(dataNode["CurrPageNumbers"].asString());
+	if(!dataNode["TotalPageNumbers"].isNull())
+		data_.totalPageNumbers = std::stoi(dataNode["TotalPageNumbers"].asString());
+	if(!dataNode["HasNext"].isNull())
+		data_.hasNext = dataNode["HasNext"].asString() == "true";
+	if(!dataNode["HasPrev"].isNull())
+		data_.hasPrev = dataNode["HasPrev"].asString() == "true";
+	auto allTemplatesNode = dataNode["Templates"]["Template"];
+	for (auto dataNodeTemplatesTemplate : allTemplatesNode)
+	{
+		Data::_Template _templateObject;
+		if(!dataNodeTemplatesTemplate["Id"].isNull())
+			_templateObject.id = std::stoi(dataNodeTemplatesTemplate["Id"].asString());
+		if(!dataNodeTemplatesTemplate["UserId"].isNull())
+			_templateObject.userId = std::stoi(dataNodeTemplatesTemplate["UserId"].asString());
+		if(!dataNodeTemplatesTemplate["TemplateId"].isNull())
+			_templateObject.templateId = std::stoi(dataNodeTemplatesTemplate["TemplateId"].asString());
+		if(!dataNodeTemplatesTemplate["TemplateName"].isNull())
+			_templateObject.templateName = dataNodeTemplatesTemplate["TemplateName"].asString();
+		if(!dataNodeTemplatesTemplate["Ips"].isNull())
+			_templateObject.ips = dataNodeTemplatesTemplate["Ips"].asString();
+		data_.templates.push_back(_templateObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string DescribeAllWhitelistTemplateResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeAllWhitelistTemplateResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+DescribeAllWhitelistTemplateResult::Data DescribeAllWhitelistTemplateResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeAllWhitelistTemplateResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeAllWhitelistTemplateResult::getSuccess()const
+{
+	return success_;
+}
+

+ 54 - 0
rds/src/model/DescribeInstanceLinkedWhitelistTemplateRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/rds/model/DescribeInstanceLinkedWhitelistTemplateRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribeInstanceLinkedWhitelistTemplateRequest;
+
+DescribeInstanceLinkedWhitelistTemplateRequest::DescribeInstanceLinkedWhitelistTemplateRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribeInstanceLinkedWhitelistTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceLinkedWhitelistTemplateRequest::~DescribeInstanceLinkedWhitelistTemplateRequest() {}
+
+long DescribeInstanceLinkedWhitelistTemplateRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeInstanceLinkedWhitelistTemplateRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeInstanceLinkedWhitelistTemplateRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeInstanceLinkedWhitelistTemplateRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeInstanceLinkedWhitelistTemplateRequest::getInsName() const {
+  return insName_;
+}
+
+void DescribeInstanceLinkedWhitelistTemplateRequest::setInsName(const std::string &insName) {
+  insName_ = insName;
+  setParameter(std::string("InsName"), insName);
+}
+

+ 96 - 0
rds/src/model/DescribeInstanceLinkedWhitelistTemplateResult.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/rds/model/DescribeInstanceLinkedWhitelistTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribeInstanceLinkedWhitelistTemplateResult::DescribeInstanceLinkedWhitelistTemplateResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceLinkedWhitelistTemplateResult::DescribeInstanceLinkedWhitelistTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceLinkedWhitelistTemplateResult::~DescribeInstanceLinkedWhitelistTemplateResult()
+{}
+
+void DescribeInstanceLinkedWhitelistTemplateResult::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["InsName"].isNull())
+		data_.insName = dataNode["InsName"].asString();
+	auto allTemplatesNode = dataNode["Templates"]["Template"];
+	for (auto dataNodeTemplatesTemplate : allTemplatesNode)
+	{
+		Data::_Template _templateObject;
+		if(!dataNodeTemplatesTemplate["Id"].isNull())
+			_templateObject.id = std::stoi(dataNodeTemplatesTemplate["Id"].asString());
+		if(!dataNodeTemplatesTemplate["UserId"].isNull())
+			_templateObject.userId = std::stoi(dataNodeTemplatesTemplate["UserId"].asString());
+		if(!dataNodeTemplatesTemplate["TemplateId"].isNull())
+			_templateObject.templateId = std::stoi(dataNodeTemplatesTemplate["TemplateId"].asString());
+		if(!dataNodeTemplatesTemplate["TemplateName"].isNull())
+			_templateObject.templateName = dataNodeTemplatesTemplate["TemplateName"].asString();
+		if(!dataNodeTemplatesTemplate["Ips"].isNull())
+			_templateObject.ips = dataNodeTemplatesTemplate["Ips"].asString();
+		data_.templates.push_back(_templateObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string DescribeInstanceLinkedWhitelistTemplateResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeInstanceLinkedWhitelistTemplateResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+DescribeInstanceLinkedWhitelistTemplateResult::Data DescribeInstanceLinkedWhitelistTemplateResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeInstanceLinkedWhitelistTemplateResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeInstanceLinkedWhitelistTemplateResult::getSuccess()const
+{
+	return success_;
+}
+

+ 54 - 0
rds/src/model/DescribeWhitelistTemplateLinkedInstanceRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/rds/model/DescribeWhitelistTemplateLinkedInstanceRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribeWhitelistTemplateLinkedInstanceRequest;
+
+DescribeWhitelistTemplateLinkedInstanceRequest::DescribeWhitelistTemplateLinkedInstanceRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribeWhitelistTemplateLinkedInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeWhitelistTemplateLinkedInstanceRequest::~DescribeWhitelistTemplateLinkedInstanceRequest() {}
+
+long DescribeWhitelistTemplateLinkedInstanceRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeWhitelistTemplateLinkedInstanceRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeWhitelistTemplateLinkedInstanceRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeWhitelistTemplateLinkedInstanceRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int DescribeWhitelistTemplateLinkedInstanceRequest::getTemplateId() const {
+  return templateId_;
+}
+
+void DescribeWhitelistTemplateLinkedInstanceRequest::setTemplateId(int templateId) {
+  templateId_ = templateId;
+  setBodyParameter(std::string("TemplateId"), std::to_string(templateId));
+}
+

+ 83 - 0
rds/src/model/DescribeWhitelistTemplateLinkedInstanceResult.cc

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/DescribeWhitelistTemplateLinkedInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribeWhitelistTemplateLinkedInstanceResult::DescribeWhitelistTemplateLinkedInstanceResult() :
+	ServiceResult()
+{}
+
+DescribeWhitelistTemplateLinkedInstanceResult::DescribeWhitelistTemplateLinkedInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeWhitelistTemplateLinkedInstanceResult::~DescribeWhitelistTemplateLinkedInstanceResult()
+{}
+
+void DescribeWhitelistTemplateLinkedInstanceResult::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["TemplateId"].isNull())
+		data_.templateId = std::stoi(dataNode["TemplateId"].asString());
+		auto allInsName = dataNode["InsName"]["InsName"];
+		for (auto value : allInsName)
+			data_.insName.push_back(value.asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string DescribeWhitelistTemplateLinkedInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeWhitelistTemplateLinkedInstanceResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+DescribeWhitelistTemplateLinkedInstanceResult::Data DescribeWhitelistTemplateLinkedInstanceResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeWhitelistTemplateLinkedInstanceResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeWhitelistTemplateLinkedInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 54 - 0
rds/src/model/DescribeWhitelistTemplateRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/rds/model/DescribeWhitelistTemplateRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribeWhitelistTemplateRequest;
+
+DescribeWhitelistTemplateRequest::DescribeWhitelistTemplateRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribeWhitelistTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeWhitelistTemplateRequest::~DescribeWhitelistTemplateRequest() {}
+
+long DescribeWhitelistTemplateRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeWhitelistTemplateRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeWhitelistTemplateRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeWhitelistTemplateRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int DescribeWhitelistTemplateRequest::getTemplateId() const {
+  return templateId_;
+}
+
+void DescribeWhitelistTemplateRequest::setTemplateId(int templateId) {
+  templateId_ = templateId;
+  setParameter(std::string("TemplateId"), std::to_string(templateId));
+}
+

+ 89 - 0
rds/src/model/DescribeWhitelistTemplateResult.cc

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/DescribeWhitelistTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribeWhitelistTemplateResult::DescribeWhitelistTemplateResult() :
+	ServiceResult()
+{}
+
+DescribeWhitelistTemplateResult::DescribeWhitelistTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeWhitelistTemplateResult::~DescribeWhitelistTemplateResult()
+{}
+
+void DescribeWhitelistTemplateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto _templateNode = dataNode["Template"];
+	if(!_templateNode["Id"].isNull())
+		data_._template.id = std::stoi(_templateNode["Id"].asString());
+	if(!_templateNode["UserId"].isNull())
+		data_._template.userId = std::stoi(_templateNode["UserId"].asString());
+	if(!_templateNode["TemplateId"].isNull())
+		data_._template.templateId = std::stoi(_templateNode["TemplateId"].asString());
+	if(!_templateNode["TemplateName"].isNull())
+		data_._template.templateName = _templateNode["TemplateName"].asString();
+	if(!_templateNode["Ips"].isNull())
+		data_._template.ips = _templateNode["Ips"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string DescribeWhitelistTemplateResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeWhitelistTemplateResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+DescribeWhitelistTemplateResult::Data DescribeWhitelistTemplateResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeWhitelistTemplateResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeWhitelistTemplateResult::getSuccess()const
+{
+	return success_;
+}
+

+ 63 - 0
rds/src/model/DetachWhitelistTemplateToInstanceRequest.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/rds/model/DetachWhitelistTemplateToInstanceRequest.h>
+
+using AlibabaCloud::Rds::Model::DetachWhitelistTemplateToInstanceRequest;
+
+DetachWhitelistTemplateToInstanceRequest::DetachWhitelistTemplateToInstanceRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DetachWhitelistTemplateToInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DetachWhitelistTemplateToInstanceRequest::~DetachWhitelistTemplateToInstanceRequest() {}
+
+long DetachWhitelistTemplateToInstanceRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DetachWhitelistTemplateToInstanceRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DetachWhitelistTemplateToInstanceRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DetachWhitelistTemplateToInstanceRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int DetachWhitelistTemplateToInstanceRequest::getTemplateId() const {
+  return templateId_;
+}
+
+void DetachWhitelistTemplateToInstanceRequest::setTemplateId(int templateId) {
+  templateId_ = templateId;
+  setParameter(std::string("TemplateId"), std::to_string(templateId));
+}
+
+std::string DetachWhitelistTemplateToInstanceRequest::getInsName() const {
+  return insName_;
+}
+
+void DetachWhitelistTemplateToInstanceRequest::setInsName(const std::string &insName) {
+  insName_ = insName;
+  setParameter(std::string("InsName"), insName);
+}
+

+ 80 - 0
rds/src/model/DetachWhitelistTemplateToInstanceResult.cc

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/DetachWhitelistTemplateToInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DetachWhitelistTemplateToInstanceResult::DetachWhitelistTemplateToInstanceResult() :
+	ServiceResult()
+{}
+
+DetachWhitelistTemplateToInstanceResult::DetachWhitelistTemplateToInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DetachWhitelistTemplateToInstanceResult::~DetachWhitelistTemplateToInstanceResult()
+{}
+
+void DetachWhitelistTemplateToInstanceResult::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";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string DetachWhitelistTemplateToInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+int DetachWhitelistTemplateToInstanceResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+DetachWhitelistTemplateToInstanceResult::Data DetachWhitelistTemplateToInstanceResult::getData()const
+{
+	return data_;
+}
+
+std::string DetachWhitelistTemplateToInstanceResult::getCode()const
+{
+	return code_;
+}
+
+bool DetachWhitelistTemplateToInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 72 - 0
rds/src/model/ModifyWhitelistTemplateRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/rds/model/ModifyWhitelistTemplateRequest.h>
+
+using AlibabaCloud::Rds::Model::ModifyWhitelistTemplateRequest;
+
+ModifyWhitelistTemplateRequest::ModifyWhitelistTemplateRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "ModifyWhitelistTemplate") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyWhitelistTemplateRequest::~ModifyWhitelistTemplateRequest() {}
+
+long ModifyWhitelistTemplateRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void ModifyWhitelistTemplateRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string ModifyWhitelistTemplateRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void ModifyWhitelistTemplateRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+int ModifyWhitelistTemplateRequest::getTemplateId() const {
+  return templateId_;
+}
+
+void ModifyWhitelistTemplateRequest::setTemplateId(int templateId) {
+  templateId_ = templateId;
+  setParameter(std::string("TemplateId"), std::to_string(templateId));
+}
+
+std::string ModifyWhitelistTemplateRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void ModifyWhitelistTemplateRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setParameter(std::string("TemplateName"), templateName);
+}
+
+std::string ModifyWhitelistTemplateRequest::getIpWhitelist() const {
+  return ipWhitelist_;
+}
+
+void ModifyWhitelistTemplateRequest::setIpWhitelist(const std::string &ipWhitelist) {
+  ipWhitelist_ = ipWhitelist;
+  setParameter(std::string("IpWhitelist"), ipWhitelist);
+}
+

+ 80 - 0
rds/src/model/ModifyWhitelistTemplateResult.cc

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/rds/model/ModifyWhitelistTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+ModifyWhitelistTemplateResult::ModifyWhitelistTemplateResult() :
+	ServiceResult()
+{}
+
+ModifyWhitelistTemplateResult::ModifyWhitelistTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyWhitelistTemplateResult::~ModifyWhitelistTemplateResult()
+{}
+
+void ModifyWhitelistTemplateResult::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";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+std::string ModifyWhitelistTemplateResult::getMessage()const
+{
+	return message_;
+}
+
+int ModifyWhitelistTemplateResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+ModifyWhitelistTemplateResult::Data ModifyWhitelistTemplateResult::getData()const
+{
+	return data_;
+}
+
+std::string ModifyWhitelistTemplateResult::getCode()const
+{
+	return code_;
+}
+
+bool ModifyWhitelistTemplateResult::getSuccess()const
+{
+	return success_;
+}
+