Explorar el Código

Updated tag api.

sdk-team hace 4 años
padre
commit
8cc78b3a3e
Se han modificado 38 ficheros con 2123 adiciones y 29 borrados
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 24 0
      sgw/CMakeLists.txt
  4. 48 0
      sgw/include/alibabacloud/sgw/SgwClient.h
  5. 57 0
      sgw/include/alibabacloud/sgw/model/DeleteCSGClientsRequest.h
  6. 57 0
      sgw/include/alibabacloud/sgw/model/DeleteCSGClientsResult.h
  7. 60 0
      sgw/include/alibabacloud/sgw/model/DeployCSGClientsRequest.h
  8. 57 0
      sgw/include/alibabacloud/sgw/model/DeployCSGClientsResult.h
  9. 63 0
      sgw/include/alibabacloud/sgw/model/DescribeCSGClientTasksRequest.h
  10. 74 0
      sgw/include/alibabacloud/sgw/model/DescribeCSGClientTasksResult.h
  11. 60 0
      sgw/include/alibabacloud/sgw/model/DescribeCSGClientsRequest.h
  12. 75 0
      sgw/include/alibabacloud/sgw/model/DescribeCSGClientsResult.h
  13. 3 2
      sgw/include/alibabacloud/sgw/model/DescribeTasksResult.h
  14. 3 0
      sgw/include/alibabacloud/sgw/model/ListTagResourcesRequest.h
  15. 63 0
      sgw/include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationRequest.h
  16. 57 0
      sgw/include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationResult.h
  17. 3 0
      sgw/include/alibabacloud/sgw/model/TagResourcesRequest.h
  18. 3 0
      sgw/include/alibabacloud/sgw/model/UntagResourcesRequest.h
  19. 57 0
      sgw/include/alibabacloud/sgw/model/UploadCSGClientLogRequest.h
  20. 57 0
      sgw/include/alibabacloud/sgw/model/UploadCSGClientLogResult.h
  21. 216 0
      sgw/src/SgwClient.cc
  22. 73 0
      sgw/src/model/DeleteCSGClientsRequest.cc
  23. 72 0
      sgw/src/model/DeleteCSGClientsResult.cc
  24. 84 0
      sgw/src/model/DeployCSGClientsRequest.cc
  25. 72 0
      sgw/src/model/DeployCSGClientsResult.cc
  26. 95 0
      sgw/src/model/DescribeCSGClientTasksRequest.cc
  27. 113 0
      sgw/src/model/DescribeCSGClientTasksResult.cc
  28. 84 0
      sgw/src/model/DescribeCSGClientsRequest.cc
  29. 115 0
      sgw/src/model/DescribeCSGClientsResult.cc
  30. 24 22
      sgw/src/model/DescribeTasksResult.cc
  31. 11 0
      sgw/src/model/ListTagResourcesRequest.cc
  32. 4 4
      sgw/src/model/ListTagResourcesResult.cc
  33. 95 0
      sgw/src/model/SwitchCSGClientsReverseSyncConfigurationRequest.cc
  34. 72 0
      sgw/src/model/SwitchCSGClientsReverseSyncConfigurationResult.cc
  35. 11 0
      sgw/src/model/TagResourcesRequest.cc
  36. 11 0
      sgw/src/model/UntagResourcesRequest.cc
  37. 73 0
      sgw/src/model/UploadCSGClientLogRequest.cc
  38. 72 0
      sgw/src/model/UploadCSGClientLogResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2021-10-28 Version: 1.36.913
+- Updated tag api.
+- Updated DescribeTask api to get relatedResourceId info.
+
 2021-10-27 Version: 1.36.912
 - Fix ModifyInstanceName.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.912
+1.36.913

+ 24 - 0
sgw/CMakeLists.txt

@@ -63,6 +63,8 @@ set(sgw_public_header_model
 	include/alibabacloud/sgw/model/CreateGatewaySMBUserResult.h
 	include/alibabacloud/sgw/model/CreateStorageBundleRequest.h
 	include/alibabacloud/sgw/model/CreateStorageBundleResult.h
+	include/alibabacloud/sgw/model/DeleteCSGClientsRequest.h
+	include/alibabacloud/sgw/model/DeleteCSGClientsResult.h
 	include/alibabacloud/sgw/model/DeleteElasticGatewayPrivateZoneRequest.h
 	include/alibabacloud/sgw/model/DeleteElasticGatewayPrivateZoneResult.h
 	include/alibabacloud/sgw/model/DeleteExpressSyncRequest.h
@@ -81,6 +83,8 @@ set(sgw_public_header_model
 	include/alibabacloud/sgw/model/DeleteGatewaySMBUserResult.h
 	include/alibabacloud/sgw/model/DeleteStorageBundleRequest.h
 	include/alibabacloud/sgw/model/DeleteStorageBundleResult.h
+	include/alibabacloud/sgw/model/DeployCSGClientsRequest.h
+	include/alibabacloud/sgw/model/DeployCSGClientsResult.h
 	include/alibabacloud/sgw/model/DeployCacheDiskRequest.h
 	include/alibabacloud/sgw/model/DeployCacheDiskResult.h
 	include/alibabacloud/sgw/model/DeployGatewayRequest.h
@@ -89,6 +93,10 @@ set(sgw_public_header_model
 	include/alibabacloud/sgw/model/DescribeAccountConfigResult.h
 	include/alibabacloud/sgw/model/DescribeBlockVolumeSnapshotsRequest.h
 	include/alibabacloud/sgw/model/DescribeBlockVolumeSnapshotsResult.h
+	include/alibabacloud/sgw/model/DescribeCSGClientTasksRequest.h
+	include/alibabacloud/sgw/model/DescribeCSGClientTasksResult.h
+	include/alibabacloud/sgw/model/DescribeCSGClientsRequest.h
+	include/alibabacloud/sgw/model/DescribeCSGClientsResult.h
 	include/alibabacloud/sgw/model/DescribeDashboardRequest.h
 	include/alibabacloud/sgw/model/DescribeDashboardResult.h
 	include/alibabacloud/sgw/model/DescribeExpireCachesRequest.h
@@ -245,6 +253,8 @@ set(sgw_public_header_model
 	include/alibabacloud/sgw/model/SetGatewayDNSResult.h
 	include/alibabacloud/sgw/model/SetGatewayLDAPInfoRequest.h
 	include/alibabacloud/sgw/model/SetGatewayLDAPInfoResult.h
+	include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationRequest.h
+	include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationResult.h
 	include/alibabacloud/sgw/model/SwitchGatewayExpirationPolicyRequest.h
 	include/alibabacloud/sgw/model/SwitchGatewayExpirationPolicyResult.h
 	include/alibabacloud/sgw/model/SwitchToSubscriptionRequest.h
@@ -261,6 +271,8 @@ set(sgw_public_header_model
 	include/alibabacloud/sgw/model/UpdateGatewayFileShareResult.h
 	include/alibabacloud/sgw/model/UpgradeGatewayRequest.h
 	include/alibabacloud/sgw/model/UpgradeGatewayResult.h
+	include/alibabacloud/sgw/model/UploadCSGClientLogRequest.h
+	include/alibabacloud/sgw/model/UploadCSGClientLogResult.h
 	include/alibabacloud/sgw/model/UploadGatewayLogRequest.h
 	include/alibabacloud/sgw/model/UploadGatewayLogResult.h
 	include/alibabacloud/sgw/model/ValidateExpressSyncConfigRequest.h
@@ -312,6 +324,8 @@ set(sgw_src
 	src/model/CreateGatewaySMBUserResult.cc
 	src/model/CreateStorageBundleRequest.cc
 	src/model/CreateStorageBundleResult.cc
+	src/model/DeleteCSGClientsRequest.cc
+	src/model/DeleteCSGClientsResult.cc
 	src/model/DeleteElasticGatewayPrivateZoneRequest.cc
 	src/model/DeleteElasticGatewayPrivateZoneResult.cc
 	src/model/DeleteExpressSyncRequest.cc
@@ -330,6 +344,8 @@ set(sgw_src
 	src/model/DeleteGatewaySMBUserResult.cc
 	src/model/DeleteStorageBundleRequest.cc
 	src/model/DeleteStorageBundleResult.cc
+	src/model/DeployCSGClientsRequest.cc
+	src/model/DeployCSGClientsResult.cc
 	src/model/DeployCacheDiskRequest.cc
 	src/model/DeployCacheDiskResult.cc
 	src/model/DeployGatewayRequest.cc
@@ -338,6 +354,10 @@ set(sgw_src
 	src/model/DescribeAccountConfigResult.cc
 	src/model/DescribeBlockVolumeSnapshotsRequest.cc
 	src/model/DescribeBlockVolumeSnapshotsResult.cc
+	src/model/DescribeCSGClientTasksRequest.cc
+	src/model/DescribeCSGClientTasksResult.cc
+	src/model/DescribeCSGClientsRequest.cc
+	src/model/DescribeCSGClientsResult.cc
 	src/model/DescribeDashboardRequest.cc
 	src/model/DescribeDashboardResult.cc
 	src/model/DescribeExpireCachesRequest.cc
@@ -494,6 +514,8 @@ set(sgw_src
 	src/model/SetGatewayDNSResult.cc
 	src/model/SetGatewayLDAPInfoRequest.cc
 	src/model/SetGatewayLDAPInfoResult.cc
+	src/model/SwitchCSGClientsReverseSyncConfigurationRequest.cc
+	src/model/SwitchCSGClientsReverseSyncConfigurationResult.cc
 	src/model/SwitchGatewayExpirationPolicyRequest.cc
 	src/model/SwitchGatewayExpirationPolicyResult.cc
 	src/model/SwitchToSubscriptionRequest.cc
@@ -510,6 +532,8 @@ set(sgw_src
 	src/model/UpdateGatewayFileShareResult.cc
 	src/model/UpgradeGatewayRequest.cc
 	src/model/UpgradeGatewayResult.cc
+	src/model/UploadCSGClientLogRequest.cc
+	src/model/UploadCSGClientLogResult.cc
 	src/model/UploadGatewayLogRequest.cc
 	src/model/UploadGatewayLogResult.cc
 	src/model/ValidateExpressSyncConfigRequest.cc

+ 48 - 0
sgw/include/alibabacloud/sgw/SgwClient.h

@@ -64,6 +64,8 @@
 #include "model/CreateGatewaySMBUserResult.h"
 #include "model/CreateStorageBundleRequest.h"
 #include "model/CreateStorageBundleResult.h"
+#include "model/DeleteCSGClientsRequest.h"
+#include "model/DeleteCSGClientsResult.h"
 #include "model/DeleteElasticGatewayPrivateZoneRequest.h"
 #include "model/DeleteElasticGatewayPrivateZoneResult.h"
 #include "model/DeleteExpressSyncRequest.h"
@@ -82,6 +84,8 @@
 #include "model/DeleteGatewaySMBUserResult.h"
 #include "model/DeleteStorageBundleRequest.h"
 #include "model/DeleteStorageBundleResult.h"
+#include "model/DeployCSGClientsRequest.h"
+#include "model/DeployCSGClientsResult.h"
 #include "model/DeployCacheDiskRequest.h"
 #include "model/DeployCacheDiskResult.h"
 #include "model/DeployGatewayRequest.h"
@@ -90,6 +94,10 @@
 #include "model/DescribeAccountConfigResult.h"
 #include "model/DescribeBlockVolumeSnapshotsRequest.h"
 #include "model/DescribeBlockVolumeSnapshotsResult.h"
+#include "model/DescribeCSGClientTasksRequest.h"
+#include "model/DescribeCSGClientTasksResult.h"
+#include "model/DescribeCSGClientsRequest.h"
+#include "model/DescribeCSGClientsResult.h"
 #include "model/DescribeDashboardRequest.h"
 #include "model/DescribeDashboardResult.h"
 #include "model/DescribeExpireCachesRequest.h"
@@ -246,6 +254,8 @@
 #include "model/SetGatewayDNSResult.h"
 #include "model/SetGatewayLDAPInfoRequest.h"
 #include "model/SetGatewayLDAPInfoResult.h"
+#include "model/SwitchCSGClientsReverseSyncConfigurationRequest.h"
+#include "model/SwitchCSGClientsReverseSyncConfigurationResult.h"
 #include "model/SwitchGatewayExpirationPolicyRequest.h"
 #include "model/SwitchGatewayExpirationPolicyResult.h"
 #include "model/SwitchToSubscriptionRequest.h"
@@ -262,6 +272,8 @@
 #include "model/UpdateGatewayFileShareResult.h"
 #include "model/UpgradeGatewayRequest.h"
 #include "model/UpgradeGatewayResult.h"
+#include "model/UploadCSGClientLogRequest.h"
+#include "model/UploadCSGClientLogResult.h"
 #include "model/UploadGatewayLogRequest.h"
 #include "model/UploadGatewayLogResult.h"
 #include "model/ValidateExpressSyncConfigRequest.h"
@@ -340,6 +352,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateStorageBundleResult> CreateStorageBundleOutcome;
 			typedef std::future<CreateStorageBundleOutcome> CreateStorageBundleOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::CreateStorageBundleRequest&, const CreateStorageBundleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateStorageBundleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteCSGClientsResult> DeleteCSGClientsOutcome;
+			typedef std::future<DeleteCSGClientsOutcome> DeleteCSGClientsOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::DeleteCSGClientsRequest&, const DeleteCSGClientsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCSGClientsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteElasticGatewayPrivateZoneResult> DeleteElasticGatewayPrivateZoneOutcome;
 			typedef std::future<DeleteElasticGatewayPrivateZoneOutcome> DeleteElasticGatewayPrivateZoneOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::DeleteElasticGatewayPrivateZoneRequest&, const DeleteElasticGatewayPrivateZoneOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteElasticGatewayPrivateZoneAsyncHandler;
@@ -367,6 +382,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteStorageBundleResult> DeleteStorageBundleOutcome;
 			typedef std::future<DeleteStorageBundleOutcome> DeleteStorageBundleOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::DeleteStorageBundleRequest&, const DeleteStorageBundleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteStorageBundleAsyncHandler;
+			typedef Outcome<Error, Model::DeployCSGClientsResult> DeployCSGClientsOutcome;
+			typedef std::future<DeployCSGClientsOutcome> DeployCSGClientsOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::DeployCSGClientsRequest&, const DeployCSGClientsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeployCSGClientsAsyncHandler;
 			typedef Outcome<Error, Model::DeployCacheDiskResult> DeployCacheDiskOutcome;
 			typedef std::future<DeployCacheDiskOutcome> DeployCacheDiskOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::DeployCacheDiskRequest&, const DeployCacheDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeployCacheDiskAsyncHandler;
@@ -379,6 +397,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeBlockVolumeSnapshotsResult> DescribeBlockVolumeSnapshotsOutcome;
 			typedef std::future<DescribeBlockVolumeSnapshotsOutcome> DescribeBlockVolumeSnapshotsOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::DescribeBlockVolumeSnapshotsRequest&, const DescribeBlockVolumeSnapshotsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBlockVolumeSnapshotsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCSGClientTasksResult> DescribeCSGClientTasksOutcome;
+			typedef std::future<DescribeCSGClientTasksOutcome> DescribeCSGClientTasksOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::DescribeCSGClientTasksRequest&, const DescribeCSGClientTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCSGClientTasksAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCSGClientsResult> DescribeCSGClientsOutcome;
+			typedef std::future<DescribeCSGClientsOutcome> DescribeCSGClientsOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::DescribeCSGClientsRequest&, const DescribeCSGClientsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCSGClientsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDashboardResult> DescribeDashboardOutcome;
 			typedef std::future<DescribeDashboardOutcome> DescribeDashboardOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::DescribeDashboardRequest&, const DescribeDashboardOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDashboardAsyncHandler;
@@ -613,6 +637,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetGatewayLDAPInfoResult> SetGatewayLDAPInfoOutcome;
 			typedef std::future<SetGatewayLDAPInfoOutcome> SetGatewayLDAPInfoOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::SetGatewayLDAPInfoRequest&, const SetGatewayLDAPInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetGatewayLDAPInfoAsyncHandler;
+			typedef Outcome<Error, Model::SwitchCSGClientsReverseSyncConfigurationResult> SwitchCSGClientsReverseSyncConfigurationOutcome;
+			typedef std::future<SwitchCSGClientsReverseSyncConfigurationOutcome> SwitchCSGClientsReverseSyncConfigurationOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::SwitchCSGClientsReverseSyncConfigurationRequest&, const SwitchCSGClientsReverseSyncConfigurationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SwitchCSGClientsReverseSyncConfigurationAsyncHandler;
 			typedef Outcome<Error, Model::SwitchGatewayExpirationPolicyResult> SwitchGatewayExpirationPolicyOutcome;
 			typedef std::future<SwitchGatewayExpirationPolicyOutcome> SwitchGatewayExpirationPolicyOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::SwitchGatewayExpirationPolicyRequest&, const SwitchGatewayExpirationPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SwitchGatewayExpirationPolicyAsyncHandler;
@@ -637,6 +664,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpgradeGatewayResult> UpgradeGatewayOutcome;
 			typedef std::future<UpgradeGatewayOutcome> UpgradeGatewayOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::UpgradeGatewayRequest&, const UpgradeGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeGatewayAsyncHandler;
+			typedef Outcome<Error, Model::UploadCSGClientLogResult> UploadCSGClientLogOutcome;
+			typedef std::future<UploadCSGClientLogOutcome> UploadCSGClientLogOutcomeCallable;
+			typedef std::function<void(const SgwClient*, const Model::UploadCSGClientLogRequest&, const UploadCSGClientLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UploadCSGClientLogAsyncHandler;
 			typedef Outcome<Error, Model::UploadGatewayLogResult> UploadGatewayLogOutcome;
 			typedef std::future<UploadGatewayLogOutcome> UploadGatewayLogOutcomeCallable;
 			typedef std::function<void(const SgwClient*, const Model::UploadGatewayLogRequest&, const UploadGatewayLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UploadGatewayLogAsyncHandler;
@@ -714,6 +744,9 @@ namespace AlibabaCloud
 			CreateStorageBundleOutcome createStorageBundle(const Model::CreateStorageBundleRequest &request)const;
 			void createStorageBundleAsync(const Model::CreateStorageBundleRequest& request, const CreateStorageBundleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateStorageBundleOutcomeCallable createStorageBundleCallable(const Model::CreateStorageBundleRequest& request) const;
+			DeleteCSGClientsOutcome deleteCSGClients(const Model::DeleteCSGClientsRequest &request)const;
+			void deleteCSGClientsAsync(const Model::DeleteCSGClientsRequest& request, const DeleteCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteCSGClientsOutcomeCallable deleteCSGClientsCallable(const Model::DeleteCSGClientsRequest& request) const;
 			DeleteElasticGatewayPrivateZoneOutcome deleteElasticGatewayPrivateZone(const Model::DeleteElasticGatewayPrivateZoneRequest &request)const;
 			void deleteElasticGatewayPrivateZoneAsync(const Model::DeleteElasticGatewayPrivateZoneRequest& request, const DeleteElasticGatewayPrivateZoneAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteElasticGatewayPrivateZoneOutcomeCallable deleteElasticGatewayPrivateZoneCallable(const Model::DeleteElasticGatewayPrivateZoneRequest& request) const;
@@ -741,6 +774,9 @@ namespace AlibabaCloud
 			DeleteStorageBundleOutcome deleteStorageBundle(const Model::DeleteStorageBundleRequest &request)const;
 			void deleteStorageBundleAsync(const Model::DeleteStorageBundleRequest& request, const DeleteStorageBundleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteStorageBundleOutcomeCallable deleteStorageBundleCallable(const Model::DeleteStorageBundleRequest& request) const;
+			DeployCSGClientsOutcome deployCSGClients(const Model::DeployCSGClientsRequest &request)const;
+			void deployCSGClientsAsync(const Model::DeployCSGClientsRequest& request, const DeployCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeployCSGClientsOutcomeCallable deployCSGClientsCallable(const Model::DeployCSGClientsRequest& request) const;
 			DeployCacheDiskOutcome deployCacheDisk(const Model::DeployCacheDiskRequest &request)const;
 			void deployCacheDiskAsync(const Model::DeployCacheDiskRequest& request, const DeployCacheDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeployCacheDiskOutcomeCallable deployCacheDiskCallable(const Model::DeployCacheDiskRequest& request) const;
@@ -753,6 +789,12 @@ namespace AlibabaCloud
 			DescribeBlockVolumeSnapshotsOutcome describeBlockVolumeSnapshots(const Model::DescribeBlockVolumeSnapshotsRequest &request)const;
 			void describeBlockVolumeSnapshotsAsync(const Model::DescribeBlockVolumeSnapshotsRequest& request, const DescribeBlockVolumeSnapshotsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBlockVolumeSnapshotsOutcomeCallable describeBlockVolumeSnapshotsCallable(const Model::DescribeBlockVolumeSnapshotsRequest& request) const;
+			DescribeCSGClientTasksOutcome describeCSGClientTasks(const Model::DescribeCSGClientTasksRequest &request)const;
+			void describeCSGClientTasksAsync(const Model::DescribeCSGClientTasksRequest& request, const DescribeCSGClientTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCSGClientTasksOutcomeCallable describeCSGClientTasksCallable(const Model::DescribeCSGClientTasksRequest& request) const;
+			DescribeCSGClientsOutcome describeCSGClients(const Model::DescribeCSGClientsRequest &request)const;
+			void describeCSGClientsAsync(const Model::DescribeCSGClientsRequest& request, const DescribeCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCSGClientsOutcomeCallable describeCSGClientsCallable(const Model::DescribeCSGClientsRequest& request) const;
 			DescribeDashboardOutcome describeDashboard(const Model::DescribeDashboardRequest &request)const;
 			void describeDashboardAsync(const Model::DescribeDashboardRequest& request, const DescribeDashboardAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDashboardOutcomeCallable describeDashboardCallable(const Model::DescribeDashboardRequest& request) const;
@@ -987,6 +1029,9 @@ namespace AlibabaCloud
 			SetGatewayLDAPInfoOutcome setGatewayLDAPInfo(const Model::SetGatewayLDAPInfoRequest &request)const;
 			void setGatewayLDAPInfoAsync(const Model::SetGatewayLDAPInfoRequest& request, const SetGatewayLDAPInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetGatewayLDAPInfoOutcomeCallable setGatewayLDAPInfoCallable(const Model::SetGatewayLDAPInfoRequest& request) const;
+			SwitchCSGClientsReverseSyncConfigurationOutcome switchCSGClientsReverseSyncConfiguration(const Model::SwitchCSGClientsReverseSyncConfigurationRequest &request)const;
+			void switchCSGClientsReverseSyncConfigurationAsync(const Model::SwitchCSGClientsReverseSyncConfigurationRequest& request, const SwitchCSGClientsReverseSyncConfigurationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SwitchCSGClientsReverseSyncConfigurationOutcomeCallable switchCSGClientsReverseSyncConfigurationCallable(const Model::SwitchCSGClientsReverseSyncConfigurationRequest& request) const;
 			SwitchGatewayExpirationPolicyOutcome switchGatewayExpirationPolicy(const Model::SwitchGatewayExpirationPolicyRequest &request)const;
 			void switchGatewayExpirationPolicyAsync(const Model::SwitchGatewayExpirationPolicyRequest& request, const SwitchGatewayExpirationPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SwitchGatewayExpirationPolicyOutcomeCallable switchGatewayExpirationPolicyCallable(const Model::SwitchGatewayExpirationPolicyRequest& request) const;
@@ -1011,6 +1056,9 @@ namespace AlibabaCloud
 			UpgradeGatewayOutcome upgradeGateway(const Model::UpgradeGatewayRequest &request)const;
 			void upgradeGatewayAsync(const Model::UpgradeGatewayRequest& request, const UpgradeGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpgradeGatewayOutcomeCallable upgradeGatewayCallable(const Model::UpgradeGatewayRequest& request) const;
+			UploadCSGClientLogOutcome uploadCSGClientLog(const Model::UploadCSGClientLogRequest &request)const;
+			void uploadCSGClientLogAsync(const Model::UploadCSGClientLogRequest& request, const UploadCSGClientLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UploadCSGClientLogOutcomeCallable uploadCSGClientLogCallable(const Model::UploadCSGClientLogRequest& request) const;
 			UploadGatewayLogOutcome uploadGatewayLog(const Model::UploadGatewayLogRequest &request)const;
 			void uploadGatewayLogAsync(const Model::UploadGatewayLogRequest& request, const UploadGatewayLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UploadGatewayLogOutcomeCallable uploadGatewayLogCallable(const Model::UploadGatewayLogRequest& request) const;

+ 57 - 0
sgw/include/alibabacloud/sgw/model/DeleteCSGClientsRequest.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_SGW_MODEL_DELETECSGCLIENTSREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_DELETECSGCLIENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DeleteCSGClientsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteCSGClientsRequest();
+				~DeleteCSGClientsRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				Array getClientIds()const;
+				void setClientIds(const Array& clientIds);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+
+            private:
+				std::string accessKeyId_;
+				Array clientIds_;
+				std::string clientRegionId_;
+				std::string securityToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DELETECSGCLIENTSREQUEST_H_

+ 57 - 0
sgw/include/alibabacloud/sgw/model/DeleteCSGClientsResult.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_SGW_MODEL_DELETECSGCLIENTSRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_DELETECSGCLIENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DeleteCSGClientsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteCSGClientsResult();
+				explicit DeleteCSGClientsResult(const std::string &payload);
+				~DeleteCSGClientsResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DELETECSGCLIENTSRESULT_H_

+ 60 - 0
sgw/include/alibabacloud/sgw/model/DeployCSGClientsRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SGW_MODEL_DEPLOYCSGCLIENTSREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_DEPLOYCSGCLIENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DeployCSGClientsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeployCSGClientsRequest();
+				~DeployCSGClientsRequest();
+
+				Array getEcsInstanceIds()const;
+				void setEcsInstanceIds(const Array& ecsInstanceIds);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+
+            private:
+				Array ecsInstanceIds_;
+				std::string accessKeyId_;
+				std::string clientRegionId_;
+				std::string securityToken_;
+				std::string vpcId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DEPLOYCSGCLIENTSREQUEST_H_

+ 57 - 0
sgw/include/alibabacloud/sgw/model/DeployCSGClientsResult.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_SGW_MODEL_DEPLOYCSGCLIENTSRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_DEPLOYCSGCLIENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DeployCSGClientsResult : public ServiceResult
+			{
+			public:
+
+
+				DeployCSGClientsResult();
+				explicit DeployCSGClientsResult(const std::string &payload);
+				~DeployCSGClientsResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DEPLOYCSGCLIENTSRESULT_H_

+ 63 - 0
sgw/include/alibabacloud/sgw/model/DescribeCSGClientTasksRequest.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_SGW_MODEL_DESCRIBECSGCLIENTTASKSREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTTASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DescribeCSGClientTasksRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeCSGClientTasksRequest();
+				~DescribeCSGClientTasksRequest();
+
+				std::string getClientId()const;
+				void setClientId(const std::string& clientId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string clientId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string clientRegionId_;
+				std::string securityToken_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTTASKSREQUEST_H_

+ 74 - 0
sgw/include/alibabacloud/sgw/model/DescribeCSGClientTasksResult.h

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTTASKSRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DescribeCSGClientTasksResult : public ServiceResult
+			{
+			public:
+				struct Task
+				{
+					int progress;
+					std::string messageKey;
+					std::string taskId;
+					long createdTime;
+					std::string stateCode;
+					std::string messageParams;
+					long updatedTime;
+					std::string name;
+				};
+
+
+				DescribeCSGClientTasksResult();
+				explicit DescribeCSGClientTasksResult(const std::string &payload);
+				~DescribeCSGClientTasksResult();
+				int getTotalCount()const;
+				std::vector<Task> getTasks()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<Task> tasks_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTTASKSRESULT_H_

+ 60 - 0
sgw/include/alibabacloud/sgw/model/DescribeCSGClientsRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DescribeCSGClientsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeCSGClientsRequest();
+				~DescribeCSGClientsRequest();
+
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string clientRegionId_;
+				std::string securityToken_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSREQUEST_H_

+ 75 - 0
sgw/include/alibabacloud/sgw/model/DescribeCSGClientsResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT DescribeCSGClientsResult : public ServiceResult
+			{
+			public:
+				struct Client
+				{
+					std::string status;
+					std::string ecsInstanceId;
+					std::string vpcId;
+					std::string clientDeletionCommand;
+					std::string workDirectory;
+					long lastHeartbeatTime;
+					std::string clientId;
+					std::string clientVersion;
+					std::string clientInstallationCommand;
+				};
+
+
+				DescribeCSGClientsResult();
+				explicit DescribeCSGClientsResult(const std::string &payload);
+				~DescribeCSGClientsResult();
+				int getTotalCount()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Client> getClients()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Client> clients_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_DESCRIBECSGCLIENTSRESULT_H_

+ 3 - 2
sgw/include/alibabacloud/sgw/model/DescribeTasksResult.h

@@ -35,9 +35,10 @@ namespace AlibabaCloud
 				struct SimpleTask
 				{
 					int progress;
-					std::string taskId;
-					long createdTime;
 					std::string messageKey;
+					long createdTime;
+					std::string taskId;
+					std::string relatedResourceId;
 					std::string stateCode;
 					std::string messageParams;
 					long updatedTime;

+ 3 - 0
sgw/include/alibabacloud/sgw/model/ListTagResourcesRequest.h

@@ -55,6 +55,8 @@ namespace AlibabaCloud
 				void setNextToken(const std::string& nextToken);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
+				std::string getResourceRegionId()const;
+				void setResourceRegionId(const std::string& resourceRegionId);
 
             private:
 				std::vector<std::string> resourceId_;
@@ -64,6 +66,7 @@ namespace AlibabaCloud
 				std::string regionId_;
 				std::string nextToken_;
 				std::vector<Tag> tag_;
+				std::string resourceRegionId_;
 
 			};
 		}

+ 63 - 0
sgw/include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationRequest.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_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT SwitchCSGClientsReverseSyncConfigurationRequest : public RpcServiceRequest
+			{
+
+			public:
+				SwitchCSGClientsReverseSyncConfigurationRequest();
+				~SwitchCSGClientsReverseSyncConfigurationRequest();
+
+				int getReverseSyncInternalSecond()const;
+				void setReverseSyncInternalSecond(int reverseSyncInternalSecond);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				Array getClientIds()const;
+				void setClientIds(const Array& clientIds);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				bool getIsReverseSync()const;
+				void setIsReverseSync(bool isReverseSync);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+
+            private:
+				int reverseSyncInternalSecond_;
+				std::string accessKeyId_;
+				Array clientIds_;
+				std::string clientRegionId_;
+				bool isReverseSync_;
+				std::string securityToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONREQUEST_H_

+ 57 - 0
sgw/include/alibabacloud/sgw/model/SwitchCSGClientsReverseSyncConfigurationResult.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_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT SwitchCSGClientsReverseSyncConfigurationResult : public ServiceResult
+			{
+			public:
+
+
+				SwitchCSGClientsReverseSyncConfigurationResult();
+				explicit SwitchCSGClientsReverseSyncConfigurationResult(const std::string &payload);
+				~SwitchCSGClientsReverseSyncConfigurationResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_SWITCHCSGCLIENTSREVERSESYNCCONFIGURATIONRESULT_H_

+ 3 - 0
sgw/include/alibabacloud/sgw/model/TagResourcesRequest.h

@@ -53,6 +53,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
+				std::string getResourceRegionId()const;
+				void setResourceRegionId(const std::string& resourceRegionId);
 
             private:
 				std::vector<std::string> resourceId_;
@@ -61,6 +63,7 @@ namespace AlibabaCloud
 				std::string securityToken_;
 				std::string regionId_;
 				std::vector<Tag> tag_;
+				std::string resourceRegionId_;
 
 			};
 		}

+ 3 - 0
sgw/include/alibabacloud/sgw/model/UntagResourcesRequest.h

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				std::vector<std::string> getTagKey()const;
 				void setTagKey(const std::vector<std::string>& tagKey);
+				std::string getResourceRegionId()const;
+				void setResourceRegionId(const std::string& resourceRegionId);
 
             private:
 				bool all_;
@@ -58,6 +60,7 @@ namespace AlibabaCloud
 				std::string securityToken_;
 				std::string regionId_;
 				std::vector<std::string> tagKey_;
+				std::string resourceRegionId_;
 
 			};
 		}

+ 57 - 0
sgw/include/alibabacloud/sgw/model/UploadCSGClientLogRequest.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_SGW_MODEL_UPLOADCSGCLIENTLOGREQUEST_H_
+#define ALIBABACLOUD_SGW_MODEL_UPLOADCSGCLIENTLOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT UploadCSGClientLogRequest : public RpcServiceRequest
+			{
+
+			public:
+				UploadCSGClientLogRequest();
+				~UploadCSGClientLogRequest();
+
+				std::string getClientId()const;
+				void setClientId(const std::string& clientId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getClientRegionId()const;
+				void setClientRegionId(const std::string& clientRegionId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+
+            private:
+				std::string clientId_;
+				std::string accessKeyId_;
+				std::string clientRegionId_;
+				std::string securityToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_UPLOADCSGCLIENTLOGREQUEST_H_

+ 57 - 0
sgw/include/alibabacloud/sgw/model/UploadCSGClientLogResult.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_SGW_MODEL_UPLOADCSGCLIENTLOGRESULT_H_
+#define ALIBABACLOUD_SGW_MODEL_UPLOADCSGCLIENTLOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sgw/SgwExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sgw
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SGW_EXPORT UploadCSGClientLogResult : public ServiceResult
+			{
+			public:
+
+
+				UploadCSGClientLogResult();
+				explicit UploadCSGClientLogResult(const std::string &payload);
+				~UploadCSGClientLogResult();
+				std::string getTaskId()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SGW_MODEL_UPLOADCSGCLIENTLOGRESULT_H_

+ 216 - 0
sgw/src/SgwClient.cc

@@ -807,6 +807,42 @@ SgwClient::CreateStorageBundleOutcomeCallable SgwClient::createStorageBundleCall
 	return task->get_future();
 }
 
+SgwClient::DeleteCSGClientsOutcome SgwClient::deleteCSGClients(const DeleteCSGClientsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteCSGClientsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteCSGClientsOutcome(DeleteCSGClientsResult(outcome.result()));
+	else
+		return DeleteCSGClientsOutcome(outcome.error());
+}
+
+void SgwClient::deleteCSGClientsAsync(const DeleteCSGClientsRequest& request, const DeleteCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteCSGClients(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::DeleteCSGClientsOutcomeCallable SgwClient::deleteCSGClientsCallable(const DeleteCSGClientsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteCSGClientsOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteCSGClients(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SgwClient::DeleteElasticGatewayPrivateZoneOutcome SgwClient::deleteElasticGatewayPrivateZone(const DeleteElasticGatewayPrivateZoneRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1131,6 +1167,42 @@ SgwClient::DeleteStorageBundleOutcomeCallable SgwClient::deleteStorageBundleCall
 	return task->get_future();
 }
 
+SgwClient::DeployCSGClientsOutcome SgwClient::deployCSGClients(const DeployCSGClientsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeployCSGClientsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeployCSGClientsOutcome(DeployCSGClientsResult(outcome.result()));
+	else
+		return DeployCSGClientsOutcome(outcome.error());
+}
+
+void SgwClient::deployCSGClientsAsync(const DeployCSGClientsRequest& request, const DeployCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deployCSGClients(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::DeployCSGClientsOutcomeCallable SgwClient::deployCSGClientsCallable(const DeployCSGClientsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeployCSGClientsOutcome()>>(
+			[this, request]()
+			{
+			return this->deployCSGClients(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SgwClient::DeployCacheDiskOutcome SgwClient::deployCacheDisk(const DeployCacheDiskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1275,6 +1347,78 @@ SgwClient::DescribeBlockVolumeSnapshotsOutcomeCallable SgwClient::describeBlockV
 	return task->get_future();
 }
 
+SgwClient::DescribeCSGClientTasksOutcome SgwClient::describeCSGClientTasks(const DescribeCSGClientTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCSGClientTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCSGClientTasksOutcome(DescribeCSGClientTasksResult(outcome.result()));
+	else
+		return DescribeCSGClientTasksOutcome(outcome.error());
+}
+
+void SgwClient::describeCSGClientTasksAsync(const DescribeCSGClientTasksRequest& request, const DescribeCSGClientTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCSGClientTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::DescribeCSGClientTasksOutcomeCallable SgwClient::describeCSGClientTasksCallable(const DescribeCSGClientTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCSGClientTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCSGClientTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SgwClient::DescribeCSGClientsOutcome SgwClient::describeCSGClients(const DescribeCSGClientsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCSGClientsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCSGClientsOutcome(DescribeCSGClientsResult(outcome.result()));
+	else
+		return DescribeCSGClientsOutcome(outcome.error());
+}
+
+void SgwClient::describeCSGClientsAsync(const DescribeCSGClientsRequest& request, const DescribeCSGClientsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCSGClients(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::DescribeCSGClientsOutcomeCallable SgwClient::describeCSGClientsCallable(const DescribeCSGClientsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCSGClientsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCSGClients(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SgwClient::DescribeDashboardOutcome SgwClient::describeDashboard(const DescribeDashboardRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4083,6 +4227,42 @@ SgwClient::SetGatewayLDAPInfoOutcomeCallable SgwClient::setGatewayLDAPInfoCallab
 	return task->get_future();
 }
 
+SgwClient::SwitchCSGClientsReverseSyncConfigurationOutcome SgwClient::switchCSGClientsReverseSyncConfiguration(const SwitchCSGClientsReverseSyncConfigurationRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SwitchCSGClientsReverseSyncConfigurationOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SwitchCSGClientsReverseSyncConfigurationOutcome(SwitchCSGClientsReverseSyncConfigurationResult(outcome.result()));
+	else
+		return SwitchCSGClientsReverseSyncConfigurationOutcome(outcome.error());
+}
+
+void SgwClient::switchCSGClientsReverseSyncConfigurationAsync(const SwitchCSGClientsReverseSyncConfigurationRequest& request, const SwitchCSGClientsReverseSyncConfigurationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, switchCSGClientsReverseSyncConfiguration(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::SwitchCSGClientsReverseSyncConfigurationOutcomeCallable SgwClient::switchCSGClientsReverseSyncConfigurationCallable(const SwitchCSGClientsReverseSyncConfigurationRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SwitchCSGClientsReverseSyncConfigurationOutcome()>>(
+			[this, request]()
+			{
+			return this->switchCSGClientsReverseSyncConfiguration(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SgwClient::SwitchGatewayExpirationPolicyOutcome SgwClient::switchGatewayExpirationPolicy(const SwitchGatewayExpirationPolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4371,6 +4551,42 @@ SgwClient::UpgradeGatewayOutcomeCallable SgwClient::upgradeGatewayCallable(const
 	return task->get_future();
 }
 
+SgwClient::UploadCSGClientLogOutcome SgwClient::uploadCSGClientLog(const UploadCSGClientLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UploadCSGClientLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UploadCSGClientLogOutcome(UploadCSGClientLogResult(outcome.result()));
+	else
+		return UploadCSGClientLogOutcome(outcome.error());
+}
+
+void SgwClient::uploadCSGClientLogAsync(const UploadCSGClientLogRequest& request, const UploadCSGClientLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, uploadCSGClientLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SgwClient::UploadCSGClientLogOutcomeCallable SgwClient::uploadCSGClientLogCallable(const UploadCSGClientLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UploadCSGClientLogOutcome()>>(
+			[this, request]()
+			{
+			return this->uploadCSGClientLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SgwClient::UploadGatewayLogOutcome SgwClient::uploadGatewayLog(const UploadGatewayLogRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 73 - 0
sgw/src/model/DeleteCSGClientsRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/sgw/model/DeleteCSGClientsRequest.h>
+
+using AlibabaCloud::Sgw::Model::DeleteCSGClientsRequest;
+
+DeleteCSGClientsRequest::DeleteCSGClientsRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "DeleteCSGClients")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteCSGClientsRequest::~DeleteCSGClientsRequest()
+{}
+
+std::string DeleteCSGClientsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteCSGClientsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+Array DeleteCSGClientsRequest::getClientIds()const
+{
+	return clientIds_;
+}
+
+void DeleteCSGClientsRequest::setClientIds(const Array& clientIds)
+{
+	clientIds_ = clientIds;
+	setParameter("ClientIds", std::to_string(clientIds));
+}
+
+std::string DeleteCSGClientsRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void DeleteCSGClientsRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+std::string DeleteCSGClientsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteCSGClientsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+

+ 72 - 0
sgw/src/model/DeleteCSGClientsResult.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/sgw/model/DeleteCSGClientsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+DeleteCSGClientsResult::DeleteCSGClientsResult() :
+	ServiceResult()
+{}
+
+DeleteCSGClientsResult::DeleteCSGClientsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteCSGClientsResult::~DeleteCSGClientsResult()
+{}
+
+void DeleteCSGClientsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteCSGClientsResult::getTaskId()const
+{
+	return taskId_;
+}
+
+std::string DeleteCSGClientsResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeleteCSGClientsResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteCSGClientsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 84 - 0
sgw/src/model/DeployCSGClientsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/sgw/model/DeployCSGClientsRequest.h>
+
+using AlibabaCloud::Sgw::Model::DeployCSGClientsRequest;
+
+DeployCSGClientsRequest::DeployCSGClientsRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "DeployCSGClients")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeployCSGClientsRequest::~DeployCSGClientsRequest()
+{}
+
+Array DeployCSGClientsRequest::getEcsInstanceIds()const
+{
+	return ecsInstanceIds_;
+}
+
+void DeployCSGClientsRequest::setEcsInstanceIds(const Array& ecsInstanceIds)
+{
+	ecsInstanceIds_ = ecsInstanceIds;
+	setParameter("EcsInstanceIds", std::to_string(ecsInstanceIds));
+}
+
+std::string DeployCSGClientsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeployCSGClientsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeployCSGClientsRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void DeployCSGClientsRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+std::string DeployCSGClientsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeployCSGClientsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeployCSGClientsRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void DeployCSGClientsRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+

+ 72 - 0
sgw/src/model/DeployCSGClientsResult.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/sgw/model/DeployCSGClientsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+DeployCSGClientsResult::DeployCSGClientsResult() :
+	ServiceResult()
+{}
+
+DeployCSGClientsResult::DeployCSGClientsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeployCSGClientsResult::~DeployCSGClientsResult()
+{}
+
+void DeployCSGClientsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeployCSGClientsResult::getTaskId()const
+{
+	return taskId_;
+}
+
+std::string DeployCSGClientsResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeployCSGClientsResult::getCode()const
+{
+	return code_;
+}
+
+bool DeployCSGClientsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 95 - 0
sgw/src/model/DescribeCSGClientTasksRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/sgw/model/DescribeCSGClientTasksRequest.h>
+
+using AlibabaCloud::Sgw::Model::DescribeCSGClientTasksRequest;
+
+DescribeCSGClientTasksRequest::DescribeCSGClientTasksRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "DescribeCSGClientTasks")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCSGClientTasksRequest::~DescribeCSGClientTasksRequest()
+{}
+
+std::string DescribeCSGClientTasksRequest::getClientId()const
+{
+	return clientId_;
+}
+
+void DescribeCSGClientTasksRequest::setClientId(const std::string& clientId)
+{
+	clientId_ = clientId;
+	setParameter("ClientId", clientId);
+}
+
+int DescribeCSGClientTasksRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeCSGClientTasksRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeCSGClientTasksRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeCSGClientTasksRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeCSGClientTasksRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void DescribeCSGClientTasksRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+std::string DescribeCSGClientTasksRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeCSGClientTasksRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeCSGClientTasksRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeCSGClientTasksRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+

+ 113 - 0
sgw/src/model/DescribeCSGClientTasksResult.cc

@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/sgw/model/DescribeCSGClientTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+DescribeCSGClientTasksResult::DescribeCSGClientTasksResult() :
+	ServiceResult()
+{}
+
+DescribeCSGClientTasksResult::DescribeCSGClientTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCSGClientTasksResult::~DescribeCSGClientTasksResult()
+{}
+
+void DescribeCSGClientTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTasksNode = value["Tasks"]["Task"];
+	for (auto valueTasksTask : allTasksNode)
+	{
+		Task tasksObject;
+		if(!valueTasksTask["StateCode"].isNull())
+			tasksObject.stateCode = valueTasksTask["StateCode"].asString();
+		if(!valueTasksTask["Progress"].isNull())
+			tasksObject.progress = std::stoi(valueTasksTask["Progress"].asString());
+		if(!valueTasksTask["MessageParams"].isNull())
+			tasksObject.messageParams = valueTasksTask["MessageParams"].asString();
+		if(!valueTasksTask["UpdatedTime"].isNull())
+			tasksObject.updatedTime = std::stol(valueTasksTask["UpdatedTime"].asString());
+		if(!valueTasksTask["MessageKey"].isNull())
+			tasksObject.messageKey = valueTasksTask["MessageKey"].asString();
+		if(!valueTasksTask["Name"].isNull())
+			tasksObject.name = valueTasksTask["Name"].asString();
+		if(!valueTasksTask["TaskId"].isNull())
+			tasksObject.taskId = valueTasksTask["TaskId"].asString();
+		if(!valueTasksTask["CreatedTime"].isNull())
+			tasksObject.createdTime = std::stol(valueTasksTask["CreatedTime"].asString());
+		tasks_.push_back(tasksObject);
+	}
+	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["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeCSGClientTasksResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeCSGClientTasksResult::Task> DescribeCSGClientTasksResult::getTasks()const
+{
+	return tasks_;
+}
+
+std::string DescribeCSGClientTasksResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeCSGClientTasksResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeCSGClientTasksResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::string DescribeCSGClientTasksResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeCSGClientTasksResult::getSuccess()const
+{
+	return success_;
+}
+

+ 84 - 0
sgw/src/model/DescribeCSGClientsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/sgw/model/DescribeCSGClientsRequest.h>
+
+using AlibabaCloud::Sgw::Model::DescribeCSGClientsRequest;
+
+DescribeCSGClientsRequest::DescribeCSGClientsRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "DescribeCSGClients")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCSGClientsRequest::~DescribeCSGClientsRequest()
+{}
+
+int DescribeCSGClientsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeCSGClientsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeCSGClientsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeCSGClientsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeCSGClientsRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void DescribeCSGClientsRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+std::string DescribeCSGClientsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeCSGClientsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeCSGClientsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeCSGClientsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+

+ 115 - 0
sgw/src/model/DescribeCSGClientsResult.cc

@@ -0,0 +1,115 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/sgw/model/DescribeCSGClientsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+DescribeCSGClientsResult::DescribeCSGClientsResult() :
+	ServiceResult()
+{}
+
+DescribeCSGClientsResult::DescribeCSGClientsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCSGClientsResult::~DescribeCSGClientsResult()
+{}
+
+void DescribeCSGClientsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allClientsNode = value["Clients"]["Client"];
+	for (auto valueClientsClient : allClientsNode)
+	{
+		Client clientsObject;
+		if(!valueClientsClient["VpcId"].isNull())
+			clientsObject.vpcId = valueClientsClient["VpcId"].asString();
+		if(!valueClientsClient["Status"].isNull())
+			clientsObject.status = valueClientsClient["Status"].asString();
+		if(!valueClientsClient["EcsInstanceId"].isNull())
+			clientsObject.ecsInstanceId = valueClientsClient["EcsInstanceId"].asString();
+		if(!valueClientsClient["LastHeartbeatTime"].isNull())
+			clientsObject.lastHeartbeatTime = std::stol(valueClientsClient["LastHeartbeatTime"].asString());
+		if(!valueClientsClient["ClientId"].isNull())
+			clientsObject.clientId = valueClientsClient["ClientId"].asString();
+		if(!valueClientsClient["ClientVersion"].isNull())
+			clientsObject.clientVersion = valueClientsClient["ClientVersion"].asString();
+		if(!valueClientsClient["ClientInstallationCommand"].isNull())
+			clientsObject.clientInstallationCommand = valueClientsClient["ClientInstallationCommand"].asString();
+		if(!valueClientsClient["ClientDeletionCommand"].isNull())
+			clientsObject.clientDeletionCommand = valueClientsClient["ClientDeletionCommand"].asString();
+		if(!valueClientsClient["WorkDirectory"].isNull())
+			clientsObject.workDirectory = valueClientsClient["WorkDirectory"].asString();
+		clients_.push_back(clientsObject);
+	}
+	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["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeCSGClientsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string DescribeCSGClientsResult::getMessage()const
+{
+	return message_;
+}
+
+int DescribeCSGClientsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeCSGClientsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeCSGClientsResult::Client> DescribeCSGClientsResult::getClients()const
+{
+	return clients_;
+}
+
+std::string DescribeCSGClientsResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeCSGClientsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 24 - 22
sgw/src/model/DescribeTasksResult.cc

@@ -43,38 +43,40 @@ void DescribeTasksResult::parse(const std::string &payload)
 	for (auto valueTasksSimpleTask : allTasksNode)
 	{
 		SimpleTask tasksObject;
-		if(!valueTasksSimpleTask["TaskId"].isNull())
-			tasksObject.taskId = valueTasksSimpleTask["TaskId"].asString();
-		if(!valueTasksSimpleTask["Name"].isNull())
-			tasksObject.name = valueTasksSimpleTask["Name"].asString();
-		if(!valueTasksSimpleTask["CreatedTime"].isNull())
-			tasksObject.createdTime = std::stol(valueTasksSimpleTask["CreatedTime"].asString());
-		if(!valueTasksSimpleTask["UpdatedTime"].isNull())
-			tasksObject.updatedTime = std::stol(valueTasksSimpleTask["UpdatedTime"].asString());
-		if(!valueTasksSimpleTask["Progress"].isNull())
-			tasksObject.progress = std::stoi(valueTasksSimpleTask["Progress"].asString());
 		if(!valueTasksSimpleTask["StateCode"].isNull())
 			tasksObject.stateCode = valueTasksSimpleTask["StateCode"].asString();
-		if(!valueTasksSimpleTask["StageCode"].isNull())
-			tasksObject.stageCode = valueTasksSimpleTask["StageCode"].asString();
-		if(!valueTasksSimpleTask["MessageKey"].isNull())
-			tasksObject.messageKey = valueTasksSimpleTask["MessageKey"].asString();
+		if(!valueTasksSimpleTask["Progress"].isNull())
+			tasksObject.progress = std::stoi(valueTasksSimpleTask["Progress"].asString());
 		if(!valueTasksSimpleTask["MessageParams"].isNull())
 			tasksObject.messageParams = valueTasksSimpleTask["MessageParams"].asString();
+		if(!valueTasksSimpleTask["UpdatedTime"].isNull())
+			tasksObject.updatedTime = std::stol(valueTasksSimpleTask["UpdatedTime"].asString());
+		if(!valueTasksSimpleTask["MessageKey"].isNull())
+			tasksObject.messageKey = valueTasksSimpleTask["MessageKey"].asString();
+		if(!valueTasksSimpleTask["Name"].isNull())
+			tasksObject.name = valueTasksSimpleTask["Name"].asString();
+		if(!valueTasksSimpleTask["StageCode"].isNull())
+			tasksObject.stageCode = valueTasksSimpleTask["StageCode"].asString();
+		if(!valueTasksSimpleTask["CreatedTime"].isNull())
+			tasksObject.createdTime = std::stol(valueTasksSimpleTask["CreatedTime"].asString());
+		if(!valueTasksSimpleTask["TaskId"].isNull())
+			tasksObject.taskId = valueTasksSimpleTask["TaskId"].asString();
+		if(!valueTasksSimpleTask["RelatedResourceId"].isNull())
+			tasksObject.relatedResourceId = valueTasksSimpleTask["RelatedResourceId"].asString();
 		tasks_.push_back(tasksObject);
 	}
-	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["TotalCount"].isNull())
 		totalCount_ = std::stoi(value["TotalCount"].asString());
-	if(!value["PageNumber"].isNull())
-		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 	if(!value["PageSize"].isNull())
 		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 11 - 0
sgw/src/model/ListTagResourcesRequest.cc

@@ -111,3 +111,14 @@ void ListTagResourcesRequest::setTag(const std::vector<Tag>& tag)
 	}
 }
 
+std::string ListTagResourcesRequest::getResourceRegionId()const
+{
+	return resourceRegionId_;
+}
+
+void ListTagResourcesRequest::setResourceRegionId(const std::string& resourceRegionId)
+{
+	resourceRegionId_ = resourceRegionId;
+	setParameter("ResourceRegionId", resourceRegionId);
+}
+

+ 4 - 4
sgw/src/model/ListTagResourcesResult.cc

@@ -43,14 +43,14 @@ void ListTagResourcesResult::parse(const std::string &payload)
 	for (auto valueTagResourcesTagResource : allTagResourcesNode)
 	{
 		TagResource tagResourcesObject;
-		if(!valueTagResourcesTagResource["TagKey"].isNull())
-			tagResourcesObject.tagKey = valueTagResourcesTagResource["TagKey"].asString();
+		if(!valueTagResourcesTagResource["ResourceType"].isNull())
+			tagResourcesObject.resourceType = valueTagResourcesTagResource["ResourceType"].asString();
 		if(!valueTagResourcesTagResource["TagValue"].isNull())
 			tagResourcesObject.tagValue = valueTagResourcesTagResource["TagValue"].asString();
 		if(!valueTagResourcesTagResource["ResourceId"].isNull())
 			tagResourcesObject.resourceId = valueTagResourcesTagResource["ResourceId"].asString();
-		if(!valueTagResourcesTagResource["ResourceType"].isNull())
-			tagResourcesObject.resourceType = valueTagResourcesTagResource["ResourceType"].asString();
+		if(!valueTagResourcesTagResource["TagKey"].isNull())
+			tagResourcesObject.tagKey = valueTagResourcesTagResource["TagKey"].asString();
 		tagResources_.push_back(tagResourcesObject);
 	}
 	if(!value["NextToken"].isNull())

+ 95 - 0
sgw/src/model/SwitchCSGClientsReverseSyncConfigurationRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/sgw/model/SwitchCSGClientsReverseSyncConfigurationRequest.h>
+
+using AlibabaCloud::Sgw::Model::SwitchCSGClientsReverseSyncConfigurationRequest;
+
+SwitchCSGClientsReverseSyncConfigurationRequest::SwitchCSGClientsReverseSyncConfigurationRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "SwitchCSGClientsReverseSyncConfiguration")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SwitchCSGClientsReverseSyncConfigurationRequest::~SwitchCSGClientsReverseSyncConfigurationRequest()
+{}
+
+int SwitchCSGClientsReverseSyncConfigurationRequest::getReverseSyncInternalSecond()const
+{
+	return reverseSyncInternalSecond_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setReverseSyncInternalSecond(int reverseSyncInternalSecond)
+{
+	reverseSyncInternalSecond_ = reverseSyncInternalSecond;
+	setParameter("ReverseSyncInternalSecond", std::to_string(reverseSyncInternalSecond));
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+Array SwitchCSGClientsReverseSyncConfigurationRequest::getClientIds()const
+{
+	return clientIds_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setClientIds(const Array& clientIds)
+{
+	clientIds_ = clientIds;
+	setParameter("ClientIds", std::to_string(clientIds));
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+bool SwitchCSGClientsReverseSyncConfigurationRequest::getIsReverseSync()const
+{
+	return isReverseSync_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setIsReverseSync(bool isReverseSync)
+{
+	isReverseSync_ = isReverseSync;
+	setParameter("IsReverseSync", isReverseSync ? "true" : "false");
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void SwitchCSGClientsReverseSyncConfigurationRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+

+ 72 - 0
sgw/src/model/SwitchCSGClientsReverseSyncConfigurationResult.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/sgw/model/SwitchCSGClientsReverseSyncConfigurationResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+SwitchCSGClientsReverseSyncConfigurationResult::SwitchCSGClientsReverseSyncConfigurationResult() :
+	ServiceResult()
+{}
+
+SwitchCSGClientsReverseSyncConfigurationResult::SwitchCSGClientsReverseSyncConfigurationResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SwitchCSGClientsReverseSyncConfigurationResult::~SwitchCSGClientsReverseSyncConfigurationResult()
+{}
+
+void SwitchCSGClientsReverseSyncConfigurationResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationResult::getTaskId()const
+{
+	return taskId_;
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationResult::getMessage()const
+{
+	return message_;
+}
+
+std::string SwitchCSGClientsReverseSyncConfigurationResult::getCode()const
+{
+	return code_;
+}
+
+bool SwitchCSGClientsReverseSyncConfigurationResult::getSuccess()const
+{
+	return success_;
+}
+

+ 11 - 0
sgw/src/model/TagResourcesRequest.cc

@@ -100,3 +100,14 @@ void TagResourcesRequest::setTag(const std::vector<Tag>& tag)
 	}
 }
 
+std::string TagResourcesRequest::getResourceRegionId()const
+{
+	return resourceRegionId_;
+}
+
+void TagResourcesRequest::setResourceRegionId(const std::string& resourceRegionId)
+{
+	resourceRegionId_ = resourceRegionId;
+	setParameter("ResourceRegionId", resourceRegionId);
+}
+

+ 11 - 0
sgw/src/model/UntagResourcesRequest.cc

@@ -108,3 +108,14 @@ void UntagResourcesRequest::setTagKey(const std::vector<std::string>& tagKey)
 	}
 }
 
+std::string UntagResourcesRequest::getResourceRegionId()const
+{
+	return resourceRegionId_;
+}
+
+void UntagResourcesRequest::setResourceRegionId(const std::string& resourceRegionId)
+{
+	resourceRegionId_ = resourceRegionId;
+	setParameter("ResourceRegionId", resourceRegionId);
+}
+

+ 73 - 0
sgw/src/model/UploadCSGClientLogRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/sgw/model/UploadCSGClientLogRequest.h>
+
+using AlibabaCloud::Sgw::Model::UploadCSGClientLogRequest;
+
+UploadCSGClientLogRequest::UploadCSGClientLogRequest() :
+	RpcServiceRequest("sgw", "2018-05-11", "UploadCSGClientLog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UploadCSGClientLogRequest::~UploadCSGClientLogRequest()
+{}
+
+std::string UploadCSGClientLogRequest::getClientId()const
+{
+	return clientId_;
+}
+
+void UploadCSGClientLogRequest::setClientId(const std::string& clientId)
+{
+	clientId_ = clientId;
+	setParameter("ClientId", clientId);
+}
+
+std::string UploadCSGClientLogRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void UploadCSGClientLogRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string UploadCSGClientLogRequest::getClientRegionId()const
+{
+	return clientRegionId_;
+}
+
+void UploadCSGClientLogRequest::setClientRegionId(const std::string& clientRegionId)
+{
+	clientRegionId_ = clientRegionId;
+	setParameter("ClientRegionId", clientRegionId);
+}
+
+std::string UploadCSGClientLogRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void UploadCSGClientLogRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+

+ 72 - 0
sgw/src/model/UploadCSGClientLogResult.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/sgw/model/UploadCSGClientLogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sgw;
+using namespace AlibabaCloud::Sgw::Model;
+
+UploadCSGClientLogResult::UploadCSGClientLogResult() :
+	ServiceResult()
+{}
+
+UploadCSGClientLogResult::UploadCSGClientLogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UploadCSGClientLogResult::~UploadCSGClientLogResult()
+{}
+
+void UploadCSGClientLogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string UploadCSGClientLogResult::getTaskId()const
+{
+	return taskId_;
+}
+
+std::string UploadCSGClientLogResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UploadCSGClientLogResult::getCode()const
+{
+	return code_;
+}
+
+bool UploadCSGClientLogResult::getSuccess()const
+{
+	return success_;
+}
+