瀏覽代碼

Update parameter.

sdk-team 6 年之前
父節點
當前提交
480c9b3700
共有 73 個文件被更改,包括 5153 次插入25 次删除
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 62 2
      vcs/CMakeLists.txt
  4. 120 0
      vcs/include/alibabacloud/vcs/VcsClient.h
  5. 51 0
      vcs/include/alibabacloud/vcs/model/BindCorpGroupRequest.h
  6. 55 0
      vcs/include/alibabacloud/vcs/model/BindCorpGroupResult.h
  7. 60 0
      vcs/include/alibabacloud/vcs/model/BindUserRequest.h
  8. 55 0
      vcs/include/alibabacloud/vcs/model/BindUserResult.h
  9. 57 0
      vcs/include/alibabacloud/vcs/model/CreateUserGroupRequest.h
  10. 61 0
      vcs/include/alibabacloud/vcs/model/CreateUserGroupResult.h
  11. 84 0
      vcs/include/alibabacloud/vcs/model/CreateUserRequest.h
  12. 71 0
      vcs/include/alibabacloud/vcs/model/CreateUserResult.h
  13. 54 0
      vcs/include/alibabacloud/vcs/model/DeleteUserGroupRequest.h
  14. 55 0
      vcs/include/alibabacloud/vcs/model/DeleteUserGroupResult.h
  15. 54 0
      vcs/include/alibabacloud/vcs/model/DeleteUserRequest.h
  16. 55 0
      vcs/include/alibabacloud/vcs/model/DeleteUserResult.h
  17. 57 0
      vcs/include/alibabacloud/vcs/model/GetPersonListRequest.h
  18. 76 0
      vcs/include/alibabacloud/vcs/model/GetPersonListResult.h
  19. 57 0
      vcs/include/alibabacloud/vcs/model/GetUserDetailRequest.h
  20. 71 0
      vcs/include/alibabacloud/vcs/model/GetUserDetailResult.h
  21. 12 0
      vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsRequest.h
  22. 10 5
      vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsResult.h
  23. 9 0
      vcs/include/alibabacloud/vcs/model/ListCorpMetricsRequest.h
  24. 5 0
      vcs/include/alibabacloud/vcs/model/ListCorpMetricsResult.h
  25. 51 0
      vcs/include/alibabacloud/vcs/model/ListUserGroupsRequest.h
  26. 66 0
      vcs/include/alibabacloud/vcs/model/ListUserGroupsResult.h
  27. 90 0
      vcs/include/alibabacloud/vcs/model/ListUsersRequest.h
  28. 76 0
      vcs/include/alibabacloud/vcs/model/ListUsersResult.h
  29. 51 0
      vcs/include/alibabacloud/vcs/model/UnbindCorpGroupRequest.h
  30. 55 0
      vcs/include/alibabacloud/vcs/model/UnbindCorpGroupResult.h
  31. 54 0
      vcs/include/alibabacloud/vcs/model/UnbindUserRequest.h
  32. 55 0
      vcs/include/alibabacloud/vcs/model/UnbindUserResult.h
  33. 57 0
      vcs/include/alibabacloud/vcs/model/UpdateUserGroupRequest.h
  34. 63 0
      vcs/include/alibabacloud/vcs/model/UpdateUserGroupResult.h
  35. 90 0
      vcs/include/alibabacloud/vcs/model/UpdateUserRequest.h
  36. 55 0
      vcs/include/alibabacloud/vcs/model/UpdateUserResult.h
  37. 48 0
      vcs/include/alibabacloud/vcs/model/UploadImageRequest.h
  38. 55 0
      vcs/include/alibabacloud/vcs/model/UploadImageResult.h
  39. 543 3
      vcs/src/VcsClient.cc
  40. 51 0
      vcs/src/model/BindCorpGroupRequest.cc
  41. 65 0
      vcs/src/model/BindCorpGroupResult.cc
  42. 84 0
      vcs/src/model/BindUserRequest.cc
  43. 65 0
      vcs/src/model/BindUserResult.cc
  44. 73 0
      vcs/src/model/CreateUserGroupRequest.cc
  45. 70 0
      vcs/src/model/CreateUserGroupResult.cc
  46. 172 0
      vcs/src/model/CreateUserRequest.cc
  47. 90 0
      vcs/src/model/CreateUserResult.cc
  48. 62 0
      vcs/src/model/DeleteUserGroupRequest.cc
  49. 65 0
      vcs/src/model/DeleteUserGroupResult.cc
  50. 62 0
      vcs/src/model/DeleteUserRequest.cc
  51. 65 0
      vcs/src/model/DeleteUserResult.cc
  52. 73 0
      vcs/src/model/GetPersonListRequest.cc
  53. 96 0
      vcs/src/model/GetPersonListResult.cc
  54. 73 0
      vcs/src/model/GetUserDetailRequest.cc
  55. 90 0
      vcs/src/model/GetUserDetailResult.cc
  56. 44 0
      vcs/src/model/ListCorpGroupMetricsRequest.cc
  57. 24 14
      vcs/src/model/ListCorpGroupMetricsResult.cc
  58. 33 0
      vcs/src/model/ListCorpMetricsRequest.cc
  59. 10 0
      vcs/src/model/ListCorpMetricsResult.cc
  60. 51 0
      vcs/src/model/ListUserGroupsRequest.cc
  61. 85 0
      vcs/src/model/ListUserGroupsResult.cc
  62. 194 0
      vcs/src/model/ListUsersRequest.cc
  63. 98 0
      vcs/src/model/ListUsersResult.cc
  64. 51 0
      vcs/src/model/UnbindCorpGroupRequest.cc
  65. 65 0
      vcs/src/model/UnbindCorpGroupResult.cc
  66. 62 0
      vcs/src/model/UnbindUserRequest.cc
  67. 65 0
      vcs/src/model/UnbindUserResult.cc
  68. 73 0
      vcs/src/model/UpdateUserGroupRequest.cc
  69. 74 0
      vcs/src/model/UpdateUserGroupResult.cc
  70. 194 0
      vcs/src/model/UpdateUserRequest.cc
  71. 65 0
      vcs/src/model/UpdateUserResult.cc
  72. 40 0
      vcs/src/model/UploadImageRequest.cc
  73. 65 0
      vcs/src/model/UploadImageResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-08-27 Version: 1.36.612
+- Update parameter.
+
 2020-08-25 Version: 1.36.611
 - Release ExtractPedestrianFeatureAttribute and BlurFace.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.611
+1.36.612

+ 62 - 2
vcs/CMakeLists.txt

@@ -27,10 +27,18 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/AddDeviceResult.h
 	include/alibabacloud/vcs/model/AddMonitorRequest.h
 	include/alibabacloud/vcs/model/AddMonitorResult.h
+	include/alibabacloud/vcs/model/BindCorpGroupRequest.h
+	include/alibabacloud/vcs/model/BindCorpGroupResult.h
+	include/alibabacloud/vcs/model/BindUserRequest.h
+	include/alibabacloud/vcs/model/BindUserResult.h
 	include/alibabacloud/vcs/model/CreateCorpRequest.h
 	include/alibabacloud/vcs/model/CreateCorpResult.h
 	include/alibabacloud/vcs/model/CreateCorpGroupRequest.h
 	include/alibabacloud/vcs/model/CreateCorpGroupResult.h
+	include/alibabacloud/vcs/model/CreateUserRequest.h
+	include/alibabacloud/vcs/model/CreateUserResult.h
+	include/alibabacloud/vcs/model/CreateUserGroupRequest.h
+	include/alibabacloud/vcs/model/CreateUserGroupResult.h
 	include/alibabacloud/vcs/model/CreateVideoComposeTaskRequest.h
 	include/alibabacloud/vcs/model/CreateVideoComposeTaskResult.h
 	include/alibabacloud/vcs/model/CreateVideoSummaryTaskRequest.h
@@ -43,6 +51,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/DeleteDeviceResult.h
 	include/alibabacloud/vcs/model/DeleteRecordsRequest.h
 	include/alibabacloud/vcs/model/DeleteRecordsResult.h
+	include/alibabacloud/vcs/model/DeleteUserRequest.h
+	include/alibabacloud/vcs/model/DeleteUserResult.h
+	include/alibabacloud/vcs/model/DeleteUserGroupRequest.h
+	include/alibabacloud/vcs/model/DeleteUserGroupResult.h
 	include/alibabacloud/vcs/model/DeleteVideoSummaryTaskRequest.h
 	include/alibabacloud/vcs/model/DeleteVideoSummaryTaskResult.h
 	include/alibabacloud/vcs/model/GetBodyOptionsRequest.h
@@ -63,6 +75,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/GetMonitorResultResult.h
 	include/alibabacloud/vcs/model/GetPersonDetailRequest.h
 	include/alibabacloud/vcs/model/GetPersonDetailResult.h
+	include/alibabacloud/vcs/model/GetPersonListRequest.h
+	include/alibabacloud/vcs/model/GetPersonListResult.h
+	include/alibabacloud/vcs/model/GetUserDetailRequest.h
+	include/alibabacloud/vcs/model/GetUserDetailResult.h
 	include/alibabacloud/vcs/model/GetVideoComposeResultRequest.h
 	include/alibabacloud/vcs/model/GetVideoComposeResultResult.h
 	include/alibabacloud/vcs/model/GetVideoSummaryTaskResultRequest.h
@@ -97,6 +113,10 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/ListPersonVisitCountResult.h
 	include/alibabacloud/vcs/model/ListPersonsRequest.h
 	include/alibabacloud/vcs/model/ListPersonsResult.h
+	include/alibabacloud/vcs/model/ListUserGroupsRequest.h
+	include/alibabacloud/vcs/model/ListUserGroupsResult.h
+	include/alibabacloud/vcs/model/ListUsersRequest.h
+	include/alibabacloud/vcs/model/ListUsersResult.h
 	include/alibabacloud/vcs/model/RecognizeFaceQualityRequest.h
 	include/alibabacloud/vcs/model/RecognizeFaceQualityResult.h
 	include/alibabacloud/vcs/model/RecognizeImageRequest.h
@@ -115,14 +135,24 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/StopMonitorResult.h
 	include/alibabacloud/vcs/model/SyncDeviceTimeRequest.h
 	include/alibabacloud/vcs/model/SyncDeviceTimeResult.h
+	include/alibabacloud/vcs/model/UnbindCorpGroupRequest.h
+	include/alibabacloud/vcs/model/UnbindCorpGroupResult.h
+	include/alibabacloud/vcs/model/UnbindUserRequest.h
+	include/alibabacloud/vcs/model/UnbindUserResult.h
 	include/alibabacloud/vcs/model/UpdateCorpRequest.h
 	include/alibabacloud/vcs/model/UpdateCorpResult.h
 	include/alibabacloud/vcs/model/UpdateDeviceRequest.h
 	include/alibabacloud/vcs/model/UpdateDeviceResult.h
 	include/alibabacloud/vcs/model/UpdateMonitorRequest.h
 	include/alibabacloud/vcs/model/UpdateMonitorResult.h
+	include/alibabacloud/vcs/model/UpdateUserRequest.h
+	include/alibabacloud/vcs/model/UpdateUserResult.h
+	include/alibabacloud/vcs/model/UpdateUserGroupRequest.h
+	include/alibabacloud/vcs/model/UpdateUserGroupResult.h
 	include/alibabacloud/vcs/model/UploadFileRequest.h
-	include/alibabacloud/vcs/model/UploadFileResult.h )
+	include/alibabacloud/vcs/model/UploadFileResult.h
+	include/alibabacloud/vcs/model/UploadImageRequest.h
+	include/alibabacloud/vcs/model/UploadImageResult.h )
 
 set(vcs_src 
 	src/VcsClient.cc
@@ -132,10 +162,18 @@ set(vcs_src
 	src/model/AddDeviceResult.cc
 	src/model/AddMonitorRequest.cc
 	src/model/AddMonitorResult.cc
+	src/model/BindCorpGroupRequest.cc
+	src/model/BindCorpGroupResult.cc
+	src/model/BindUserRequest.cc
+	src/model/BindUserResult.cc
 	src/model/CreateCorpRequest.cc
 	src/model/CreateCorpResult.cc
 	src/model/CreateCorpGroupRequest.cc
 	src/model/CreateCorpGroupResult.cc
+	src/model/CreateUserRequest.cc
+	src/model/CreateUserResult.cc
+	src/model/CreateUserGroupRequest.cc
+	src/model/CreateUserGroupResult.cc
 	src/model/CreateVideoComposeTaskRequest.cc
 	src/model/CreateVideoComposeTaskResult.cc
 	src/model/CreateVideoSummaryTaskRequest.cc
@@ -148,6 +186,10 @@ set(vcs_src
 	src/model/DeleteDeviceResult.cc
 	src/model/DeleteRecordsRequest.cc
 	src/model/DeleteRecordsResult.cc
+	src/model/DeleteUserRequest.cc
+	src/model/DeleteUserResult.cc
+	src/model/DeleteUserGroupRequest.cc
+	src/model/DeleteUserGroupResult.cc
 	src/model/DeleteVideoSummaryTaskRequest.cc
 	src/model/DeleteVideoSummaryTaskResult.cc
 	src/model/GetBodyOptionsRequest.cc
@@ -168,6 +210,10 @@ set(vcs_src
 	src/model/GetMonitorResultResult.cc
 	src/model/GetPersonDetailRequest.cc
 	src/model/GetPersonDetailResult.cc
+	src/model/GetPersonListRequest.cc
+	src/model/GetPersonListResult.cc
+	src/model/GetUserDetailRequest.cc
+	src/model/GetUserDetailResult.cc
 	src/model/GetVideoComposeResultRequest.cc
 	src/model/GetVideoComposeResultResult.cc
 	src/model/GetVideoSummaryTaskResultRequest.cc
@@ -202,6 +248,10 @@ set(vcs_src
 	src/model/ListPersonVisitCountResult.cc
 	src/model/ListPersonsRequest.cc
 	src/model/ListPersonsResult.cc
+	src/model/ListUserGroupsRequest.cc
+	src/model/ListUserGroupsResult.cc
+	src/model/ListUsersRequest.cc
+	src/model/ListUsersResult.cc
 	src/model/RecognizeFaceQualityRequest.cc
 	src/model/RecognizeFaceQualityResult.cc
 	src/model/RecognizeImageRequest.cc
@@ -220,14 +270,24 @@ set(vcs_src
 	src/model/StopMonitorResult.cc
 	src/model/SyncDeviceTimeRequest.cc
 	src/model/SyncDeviceTimeResult.cc
+	src/model/UnbindCorpGroupRequest.cc
+	src/model/UnbindCorpGroupResult.cc
+	src/model/UnbindUserRequest.cc
+	src/model/UnbindUserResult.cc
 	src/model/UpdateCorpRequest.cc
 	src/model/UpdateCorpResult.cc
 	src/model/UpdateDeviceRequest.cc
 	src/model/UpdateDeviceResult.cc
 	src/model/UpdateMonitorRequest.cc
 	src/model/UpdateMonitorResult.cc
+	src/model/UpdateUserRequest.cc
+	src/model/UpdateUserResult.cc
+	src/model/UpdateUserGroupRequest.cc
+	src/model/UpdateUserGroupResult.cc
 	src/model/UploadFileRequest.cc
-	src/model/UploadFileResult.cc )
+	src/model/UploadFileResult.cc
+	src/model/UploadImageRequest.cc
+	src/model/UploadImageResult.cc )
 
 add_library(vcs ${LIB_TYPE}
 	${vcs_public_header}

+ 120 - 0
vcs/include/alibabacloud/vcs/VcsClient.h

@@ -28,10 +28,18 @@
 #include "model/AddDeviceResult.h"
 #include "model/AddMonitorRequest.h"
 #include "model/AddMonitorResult.h"
+#include "model/BindCorpGroupRequest.h"
+#include "model/BindCorpGroupResult.h"
+#include "model/BindUserRequest.h"
+#include "model/BindUserResult.h"
 #include "model/CreateCorpRequest.h"
 #include "model/CreateCorpResult.h"
 #include "model/CreateCorpGroupRequest.h"
 #include "model/CreateCorpGroupResult.h"
+#include "model/CreateUserRequest.h"
+#include "model/CreateUserResult.h"
+#include "model/CreateUserGroupRequest.h"
+#include "model/CreateUserGroupResult.h"
 #include "model/CreateVideoComposeTaskRequest.h"
 #include "model/CreateVideoComposeTaskResult.h"
 #include "model/CreateVideoSummaryTaskRequest.h"
@@ -44,6 +52,10 @@
 #include "model/DeleteDeviceResult.h"
 #include "model/DeleteRecordsRequest.h"
 #include "model/DeleteRecordsResult.h"
+#include "model/DeleteUserRequest.h"
+#include "model/DeleteUserResult.h"
+#include "model/DeleteUserGroupRequest.h"
+#include "model/DeleteUserGroupResult.h"
 #include "model/DeleteVideoSummaryTaskRequest.h"
 #include "model/DeleteVideoSummaryTaskResult.h"
 #include "model/GetBodyOptionsRequest.h"
@@ -64,6 +76,10 @@
 #include "model/GetMonitorResultResult.h"
 #include "model/GetPersonDetailRequest.h"
 #include "model/GetPersonDetailResult.h"
+#include "model/GetPersonListRequest.h"
+#include "model/GetPersonListResult.h"
+#include "model/GetUserDetailRequest.h"
+#include "model/GetUserDetailResult.h"
 #include "model/GetVideoComposeResultRequest.h"
 #include "model/GetVideoComposeResultResult.h"
 #include "model/GetVideoSummaryTaskResultRequest.h"
@@ -98,6 +114,10 @@
 #include "model/ListPersonVisitCountResult.h"
 #include "model/ListPersonsRequest.h"
 #include "model/ListPersonsResult.h"
+#include "model/ListUserGroupsRequest.h"
+#include "model/ListUserGroupsResult.h"
+#include "model/ListUsersRequest.h"
+#include "model/ListUsersResult.h"
 #include "model/RecognizeFaceQualityRequest.h"
 #include "model/RecognizeFaceQualityResult.h"
 #include "model/RecognizeImageRequest.h"
@@ -116,14 +136,24 @@
 #include "model/StopMonitorResult.h"
 #include "model/SyncDeviceTimeRequest.h"
 #include "model/SyncDeviceTimeResult.h"
+#include "model/UnbindCorpGroupRequest.h"
+#include "model/UnbindCorpGroupResult.h"
+#include "model/UnbindUserRequest.h"
+#include "model/UnbindUserResult.h"
 #include "model/UpdateCorpRequest.h"
 #include "model/UpdateCorpResult.h"
 #include "model/UpdateDeviceRequest.h"
 #include "model/UpdateDeviceResult.h"
 #include "model/UpdateMonitorRequest.h"
 #include "model/UpdateMonitorResult.h"
+#include "model/UpdateUserRequest.h"
+#include "model/UpdateUserResult.h"
+#include "model/UpdateUserGroupRequest.h"
+#include "model/UpdateUserGroupResult.h"
 #include "model/UploadFileRequest.h"
 #include "model/UploadFileResult.h"
+#include "model/UploadImageRequest.h"
+#include "model/UploadImageResult.h"
 
 
 namespace AlibabaCloud
@@ -142,12 +172,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddMonitorResult> AddMonitorOutcome;
 			typedef std::future<AddMonitorOutcome> AddMonitorOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::AddMonitorRequest&, const AddMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddMonitorAsyncHandler;
+			typedef Outcome<Error, Model::BindCorpGroupResult> BindCorpGroupOutcome;
+			typedef std::future<BindCorpGroupOutcome> BindCorpGroupOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::BindCorpGroupRequest&, const BindCorpGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindCorpGroupAsyncHandler;
+			typedef Outcome<Error, Model::BindUserResult> BindUserOutcome;
+			typedef std::future<BindUserOutcome> BindUserOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::BindUserRequest&, const BindUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindUserAsyncHandler;
 			typedef Outcome<Error, Model::CreateCorpResult> CreateCorpOutcome;
 			typedef std::future<CreateCorpOutcome> CreateCorpOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::CreateCorpRequest&, const CreateCorpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCorpAsyncHandler;
 			typedef Outcome<Error, Model::CreateCorpGroupResult> CreateCorpGroupOutcome;
 			typedef std::future<CreateCorpGroupOutcome> CreateCorpGroupOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::CreateCorpGroupRequest&, const CreateCorpGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCorpGroupAsyncHandler;
+			typedef Outcome<Error, Model::CreateUserResult> CreateUserOutcome;
+			typedef std::future<CreateUserOutcome> CreateUserOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::CreateUserRequest&, const CreateUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUserAsyncHandler;
+			typedef Outcome<Error, Model::CreateUserGroupResult> CreateUserGroupOutcome;
+			typedef std::future<CreateUserGroupOutcome> CreateUserGroupOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::CreateUserGroupRequest&, const CreateUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUserGroupAsyncHandler;
 			typedef Outcome<Error, Model::CreateVideoComposeTaskResult> CreateVideoComposeTaskOutcome;
 			typedef std::future<CreateVideoComposeTaskOutcome> CreateVideoComposeTaskOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::CreateVideoComposeTaskRequest&, const CreateVideoComposeTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateVideoComposeTaskAsyncHandler;
@@ -166,6 +208,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteRecordsResult> DeleteRecordsOutcome;
 			typedef std::future<DeleteRecordsOutcome> DeleteRecordsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::DeleteRecordsRequest&, const DeleteRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRecordsAsyncHandler;
+			typedef Outcome<Error, Model::DeleteUserResult> DeleteUserOutcome;
+			typedef std::future<DeleteUserOutcome> DeleteUserOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::DeleteUserRequest&, const DeleteUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUserAsyncHandler;
+			typedef Outcome<Error, Model::DeleteUserGroupResult> DeleteUserGroupOutcome;
+			typedef std::future<DeleteUserGroupOutcome> DeleteUserGroupOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::DeleteUserGroupRequest&, const DeleteUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUserGroupAsyncHandler;
 			typedef Outcome<Error, Model::DeleteVideoSummaryTaskResult> DeleteVideoSummaryTaskOutcome;
 			typedef std::future<DeleteVideoSummaryTaskOutcome> DeleteVideoSummaryTaskOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::DeleteVideoSummaryTaskRequest&, const DeleteVideoSummaryTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteVideoSummaryTaskAsyncHandler;
@@ -196,6 +244,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetPersonDetailResult> GetPersonDetailOutcome;
 			typedef std::future<GetPersonDetailOutcome> GetPersonDetailOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetPersonDetailRequest&, const GetPersonDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPersonDetailAsyncHandler;
+			typedef Outcome<Error, Model::GetPersonListResult> GetPersonListOutcome;
+			typedef std::future<GetPersonListOutcome> GetPersonListOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetPersonListRequest&, const GetPersonListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPersonListAsyncHandler;
+			typedef Outcome<Error, Model::GetUserDetailResult> GetUserDetailOutcome;
+			typedef std::future<GetUserDetailOutcome> GetUserDetailOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetUserDetailRequest&, const GetUserDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUserDetailAsyncHandler;
 			typedef Outcome<Error, Model::GetVideoComposeResultResult> GetVideoComposeResultOutcome;
 			typedef std::future<GetVideoComposeResultOutcome> GetVideoComposeResultOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetVideoComposeResultRequest&, const GetVideoComposeResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetVideoComposeResultAsyncHandler;
@@ -247,6 +301,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListPersonsResult> ListPersonsOutcome;
 			typedef std::future<ListPersonsOutcome> ListPersonsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListPersonsRequest&, const ListPersonsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonsAsyncHandler;
+			typedef Outcome<Error, Model::ListUserGroupsResult> ListUserGroupsOutcome;
+			typedef std::future<ListUserGroupsOutcome> ListUserGroupsOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::ListUserGroupsRequest&, const ListUserGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserGroupsAsyncHandler;
+			typedef Outcome<Error, Model::ListUsersResult> ListUsersOutcome;
+			typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::ListUsersRequest&, const ListUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUsersAsyncHandler;
 			typedef Outcome<Error, Model::RecognizeFaceQualityResult> RecognizeFaceQualityOutcome;
 			typedef std::future<RecognizeFaceQualityOutcome> RecognizeFaceQualityOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::RecognizeFaceQualityRequest&, const RecognizeFaceQualityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RecognizeFaceQualityAsyncHandler;
@@ -274,6 +334,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SyncDeviceTimeResult> SyncDeviceTimeOutcome;
 			typedef std::future<SyncDeviceTimeOutcome> SyncDeviceTimeOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::SyncDeviceTimeRequest&, const SyncDeviceTimeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SyncDeviceTimeAsyncHandler;
+			typedef Outcome<Error, Model::UnbindCorpGroupResult> UnbindCorpGroupOutcome;
+			typedef std::future<UnbindCorpGroupOutcome> UnbindCorpGroupOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UnbindCorpGroupRequest&, const UnbindCorpGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindCorpGroupAsyncHandler;
+			typedef Outcome<Error, Model::UnbindUserResult> UnbindUserOutcome;
+			typedef std::future<UnbindUserOutcome> UnbindUserOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UnbindUserRequest&, const UnbindUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindUserAsyncHandler;
 			typedef Outcome<Error, Model::UpdateCorpResult> UpdateCorpOutcome;
 			typedef std::future<UpdateCorpOutcome> UpdateCorpOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UpdateCorpRequest&, const UpdateCorpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCorpAsyncHandler;
@@ -283,9 +349,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateMonitorResult> UpdateMonitorOutcome;
 			typedef std::future<UpdateMonitorOutcome> UpdateMonitorOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UpdateMonitorRequest&, const UpdateMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMonitorAsyncHandler;
+			typedef Outcome<Error, Model::UpdateUserResult> UpdateUserOutcome;
+			typedef std::future<UpdateUserOutcome> UpdateUserOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UpdateUserRequest&, const UpdateUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserAsyncHandler;
+			typedef Outcome<Error, Model::UpdateUserGroupResult> UpdateUserGroupOutcome;
+			typedef std::future<UpdateUserGroupOutcome> UpdateUserGroupOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UpdateUserGroupRequest&, const UpdateUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserGroupAsyncHandler;
 			typedef Outcome<Error, Model::UploadFileResult> UploadFileOutcome;
 			typedef std::future<UploadFileOutcome> UploadFileOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::UploadFileRequest&, const UploadFileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UploadFileAsyncHandler;
+			typedef Outcome<Error, Model::UploadImageResult> UploadImageOutcome;
+			typedef std::future<UploadImageOutcome> UploadImageOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::UploadImageRequest&, const UploadImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UploadImageAsyncHandler;
 
 			VcsClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			VcsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -300,12 +375,24 @@ namespace AlibabaCloud
 			AddMonitorOutcome addMonitor(const Model::AddMonitorRequest &request)const;
 			void addMonitorAsync(const Model::AddMonitorRequest& request, const AddMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddMonitorOutcomeCallable addMonitorCallable(const Model::AddMonitorRequest& request) const;
+			BindCorpGroupOutcome bindCorpGroup(const Model::BindCorpGroupRequest &request)const;
+			void bindCorpGroupAsync(const Model::BindCorpGroupRequest& request, const BindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindCorpGroupOutcomeCallable bindCorpGroupCallable(const Model::BindCorpGroupRequest& request) const;
+			BindUserOutcome bindUser(const Model::BindUserRequest &request)const;
+			void bindUserAsync(const Model::BindUserRequest& request, const BindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindUserOutcomeCallable bindUserCallable(const Model::BindUserRequest& request) const;
 			CreateCorpOutcome createCorp(const Model::CreateCorpRequest &request)const;
 			void createCorpAsync(const Model::CreateCorpRequest& request, const CreateCorpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCorpOutcomeCallable createCorpCallable(const Model::CreateCorpRequest& request) const;
 			CreateCorpGroupOutcome createCorpGroup(const Model::CreateCorpGroupRequest &request)const;
 			void createCorpGroupAsync(const Model::CreateCorpGroupRequest& request, const CreateCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCorpGroupOutcomeCallable createCorpGroupCallable(const Model::CreateCorpGroupRequest& request) const;
+			CreateUserOutcome createUser(const Model::CreateUserRequest &request)const;
+			void createUserAsync(const Model::CreateUserRequest& request, const CreateUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateUserOutcomeCallable createUserCallable(const Model::CreateUserRequest& request) const;
+			CreateUserGroupOutcome createUserGroup(const Model::CreateUserGroupRequest &request)const;
+			void createUserGroupAsync(const Model::CreateUserGroupRequest& request, const CreateUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateUserGroupOutcomeCallable createUserGroupCallable(const Model::CreateUserGroupRequest& request) const;
 			CreateVideoComposeTaskOutcome createVideoComposeTask(const Model::CreateVideoComposeTaskRequest &request)const;
 			void createVideoComposeTaskAsync(const Model::CreateVideoComposeTaskRequest& request, const CreateVideoComposeTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateVideoComposeTaskOutcomeCallable createVideoComposeTaskCallable(const Model::CreateVideoComposeTaskRequest& request) const;
@@ -324,6 +411,12 @@ namespace AlibabaCloud
 			DeleteRecordsOutcome deleteRecords(const Model::DeleteRecordsRequest &request)const;
 			void deleteRecordsAsync(const Model::DeleteRecordsRequest& request, const DeleteRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRecordsOutcomeCallable deleteRecordsCallable(const Model::DeleteRecordsRequest& request) const;
+			DeleteUserOutcome deleteUser(const Model::DeleteUserRequest &request)const;
+			void deleteUserAsync(const Model::DeleteUserRequest& request, const DeleteUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteUserOutcomeCallable deleteUserCallable(const Model::DeleteUserRequest& request) const;
+			DeleteUserGroupOutcome deleteUserGroup(const Model::DeleteUserGroupRequest &request)const;
+			void deleteUserGroupAsync(const Model::DeleteUserGroupRequest& request, const DeleteUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteUserGroupOutcomeCallable deleteUserGroupCallable(const Model::DeleteUserGroupRequest& request) const;
 			DeleteVideoSummaryTaskOutcome deleteVideoSummaryTask(const Model::DeleteVideoSummaryTaskRequest &request)const;
 			void deleteVideoSummaryTaskAsync(const Model::DeleteVideoSummaryTaskRequest& request, const DeleteVideoSummaryTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteVideoSummaryTaskOutcomeCallable deleteVideoSummaryTaskCallable(const Model::DeleteVideoSummaryTaskRequest& request) const;
@@ -354,6 +447,12 @@ namespace AlibabaCloud
 			GetPersonDetailOutcome getPersonDetail(const Model::GetPersonDetailRequest &request)const;
 			void getPersonDetailAsync(const Model::GetPersonDetailRequest& request, const GetPersonDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPersonDetailOutcomeCallable getPersonDetailCallable(const Model::GetPersonDetailRequest& request) const;
+			GetPersonListOutcome getPersonList(const Model::GetPersonListRequest &request)const;
+			void getPersonListAsync(const Model::GetPersonListRequest& request, const GetPersonListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPersonListOutcomeCallable getPersonListCallable(const Model::GetPersonListRequest& request) const;
+			GetUserDetailOutcome getUserDetail(const Model::GetUserDetailRequest &request)const;
+			void getUserDetailAsync(const Model::GetUserDetailRequest& request, const GetUserDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetUserDetailOutcomeCallable getUserDetailCallable(const Model::GetUserDetailRequest& request) const;
 			GetVideoComposeResultOutcome getVideoComposeResult(const Model::GetVideoComposeResultRequest &request)const;
 			void getVideoComposeResultAsync(const Model::GetVideoComposeResultRequest& request, const GetVideoComposeResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetVideoComposeResultOutcomeCallable getVideoComposeResultCallable(const Model::GetVideoComposeResultRequest& request) const;
@@ -405,6 +504,12 @@ namespace AlibabaCloud
 			ListPersonsOutcome listPersons(const Model::ListPersonsRequest &request)const;
 			void listPersonsAsync(const Model::ListPersonsRequest& request, const ListPersonsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPersonsOutcomeCallable listPersonsCallable(const Model::ListPersonsRequest& request) const;
+			ListUserGroupsOutcome listUserGroups(const Model::ListUserGroupsRequest &request)const;
+			void listUserGroupsAsync(const Model::ListUserGroupsRequest& request, const ListUserGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUserGroupsOutcomeCallable listUserGroupsCallable(const Model::ListUserGroupsRequest& request) const;
+			ListUsersOutcome listUsers(const Model::ListUsersRequest &request)const;
+			void listUsersAsync(const Model::ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUsersOutcomeCallable listUsersCallable(const Model::ListUsersRequest& request) const;
 			RecognizeFaceQualityOutcome recognizeFaceQuality(const Model::RecognizeFaceQualityRequest &request)const;
 			void recognizeFaceQualityAsync(const Model::RecognizeFaceQualityRequest& request, const RecognizeFaceQualityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RecognizeFaceQualityOutcomeCallable recognizeFaceQualityCallable(const Model::RecognizeFaceQualityRequest& request) const;
@@ -432,6 +537,12 @@ namespace AlibabaCloud
 			SyncDeviceTimeOutcome syncDeviceTime(const Model::SyncDeviceTimeRequest &request)const;
 			void syncDeviceTimeAsync(const Model::SyncDeviceTimeRequest& request, const SyncDeviceTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SyncDeviceTimeOutcomeCallable syncDeviceTimeCallable(const Model::SyncDeviceTimeRequest& request) const;
+			UnbindCorpGroupOutcome unbindCorpGroup(const Model::UnbindCorpGroupRequest &request)const;
+			void unbindCorpGroupAsync(const Model::UnbindCorpGroupRequest& request, const UnbindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnbindCorpGroupOutcomeCallable unbindCorpGroupCallable(const Model::UnbindCorpGroupRequest& request) const;
+			UnbindUserOutcome unbindUser(const Model::UnbindUserRequest &request)const;
+			void unbindUserAsync(const Model::UnbindUserRequest& request, const UnbindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnbindUserOutcomeCallable unbindUserCallable(const Model::UnbindUserRequest& request) const;
 			UpdateCorpOutcome updateCorp(const Model::UpdateCorpRequest &request)const;
 			void updateCorpAsync(const Model::UpdateCorpRequest& request, const UpdateCorpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCorpOutcomeCallable updateCorpCallable(const Model::UpdateCorpRequest& request) const;
@@ -441,9 +552,18 @@ namespace AlibabaCloud
 			UpdateMonitorOutcome updateMonitor(const Model::UpdateMonitorRequest &request)const;
 			void updateMonitorAsync(const Model::UpdateMonitorRequest& request, const UpdateMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateMonitorOutcomeCallable updateMonitorCallable(const Model::UpdateMonitorRequest& request) const;
+			UpdateUserOutcome updateUser(const Model::UpdateUserRequest &request)const;
+			void updateUserAsync(const Model::UpdateUserRequest& request, const UpdateUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateUserOutcomeCallable updateUserCallable(const Model::UpdateUserRequest& request) const;
+			UpdateUserGroupOutcome updateUserGroup(const Model::UpdateUserGroupRequest &request)const;
+			void updateUserGroupAsync(const Model::UpdateUserGroupRequest& request, const UpdateUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateUserGroupOutcomeCallable updateUserGroupCallable(const Model::UpdateUserGroupRequest& request) const;
 			UploadFileOutcome uploadFile(const Model::UploadFileRequest &request)const;
 			void uploadFileAsync(const Model::UploadFileRequest& request, const UploadFileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UploadFileOutcomeCallable uploadFileCallable(const Model::UploadFileRequest& request) const;
+			UploadImageOutcome uploadImage(const Model::UploadImageRequest &request)const;
+			void uploadImageAsync(const Model::UploadImageRequest& request, const UploadImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UploadImageOutcomeCallable uploadImageCallable(const Model::UploadImageRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 51 - 0
vcs/include/alibabacloud/vcs/model/BindCorpGroupRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_BINDCORPGROUPREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_BINDCORPGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT BindCorpGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindCorpGroupRequest();
+				~BindCorpGroupRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCorpGroupId()const;
+				void setCorpGroupId(const std::string& corpGroupId);
+
+            private:
+				std::string corpId_;
+				std::string corpGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_BINDCORPGROUPREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/BindCorpGroupResult.h

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

+ 60 - 0
vcs/include/alibabacloud/vcs/model/BindUserRequest.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_VCS_MODEL_BINDUSERREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_BINDUSERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT BindUserRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindUserRequest();
+				~BindUserRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getUserId()const;
+				void setUserId(long userId);
+				std::string getMatchingRate()const;
+				void setMatchingRate(const std::string& matchingRate);
+				std::string getPersonId()const;
+				void setPersonId(const std::string& personId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long userId_;
+				std::string matchingRate_;
+				std::string personId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_BINDUSERREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/BindUserResult.h

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

+ 57 - 0
vcs/include/alibabacloud/vcs/model/CreateUserGroupRequest.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_VCS_MODEL_CREATEUSERGROUPREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_CREATEUSERGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT CreateUserGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateUserGroupRequest();
+				~CreateUserGroupRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getUserGroupName()const;
+				void setUserGroupName(const std::string& userGroupName);
+				long getParentUserGroupId()const;
+				void setParentUserGroupId(long parentUserGroupId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				std::string userGroupName_;
+				long parentUserGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_CREATEUSERGROUPREQUEST_H_

+ 61 - 0
vcs/include/alibabacloud/vcs/model/CreateUserGroupResult.h

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

+ 84 - 0
vcs/include/alibabacloud/vcs/model/CreateUserRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_CREATEUSERREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_CREATEUSERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT CreateUserRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateUserRequest();
+				~CreateUserRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				std::string getFaceImageUrl()const;
+				void setFaceImageUrl(const std::string& faceImageUrl);
+				std::string getAttachment()const;
+				void setAttachment(const std::string& attachment);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getAddress()const;
+				void setAddress(const std::string& address);
+				long getUserGroupId()const;
+				void setUserGroupId(long userGroupId);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+				int getAge()const;
+				void setAge(int age);
+				std::string getUserName()const;
+				void setUserName(const std::string& userName);
+
+            private:
+				std::string corpId_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				std::string faceImageUrl_;
+				std::string attachment_;
+				std::string isvSubId_;
+				std::string address_;
+				long userGroupId_;
+				std::string phoneNo_;
+				std::string bizId_;
+				int age_;
+				std::string userName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_CREATEUSERREQUEST_H_

+ 71 - 0
vcs/include/alibabacloud/vcs/model/CreateUserResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_CREATEUSERRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_CREATEUSERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT CreateUserResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string userName;
+					std::string address;
+					std::string idNumber;
+					int userGroupId;
+					std::string isvSubId;
+					std::string attachment;
+					std::string gender;
+					std::string faceImageUrl;
+					std::string phoneNo;
+					int userId;
+					std::string plateNo;
+					std::string bizId;
+					std::string age;
+				};
+
+
+				CreateUserResult();
+				explicit CreateUserResult(const std::string &payload);
+				~CreateUserResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_CREATEUSERRESULT_H_

+ 54 - 0
vcs/include/alibabacloud/vcs/model/DeleteUserGroupRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_DELETEUSERGROUPREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEUSERGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteUserGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteUserGroupRequest();
+				~DeleteUserGroupRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getUserGroupId()const;
+				void setUserGroupId(const std::string& userGroupId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				std::string userGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEUSERGROUPREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/DeleteUserGroupResult.h

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

+ 54 - 0
vcs/include/alibabacloud/vcs/model/DeleteUserRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_DELETEUSERREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_DELETEUSERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT DeleteUserRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteUserRequest();
+				~DeleteUserRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getUserId()const;
+				void setUserId(long userId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long userId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_DELETEUSERREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/DeleteUserResult.h

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

+ 57 - 0
vcs/include/alibabacloud/vcs/model/GetPersonListRequest.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_VCS_MODEL_GETPERSONLISTREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPERSONLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetPersonListRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetPersonListRequest();
+				~GetPersonListRequest();
+
+				std::string getFaceImageUrl()const;
+				void setFaceImageUrl(const std::string& faceImageUrl);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getCorpIdList()const;
+				void setCorpIdList(const std::string& corpIdList);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+
+            private:
+				std::string faceImageUrl_;
+				std::string pageNumber_;
+				std::string corpIdList_;
+				std::string pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPERSONLISTREQUEST_H_

+ 76 - 0
vcs/include/alibabacloud/vcs/model/GetPersonListResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_GETPERSONLISTRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETPERSONLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetPersonListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						struct TagListItem
+						{
+							std::string tagCodeName;
+							std::string tagName;
+							std::string value;
+							std::string code;
+						};
+						std::string firstAppearTime;
+						std::string personId;
+						std::vector<RecordsItem::TagListItem> tagList;
+						std::string faceImageUrl;
+					};
+					std::string totalCount;
+					std::string pageSize;
+					std::string pageNumber;
+					std::vector<RecordsItem> records;
+				};
+
+
+				GetPersonListResult();
+				explicit GetPersonListResult(const std::string &payload);
+				~GetPersonListResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETPERSONLISTRESULT_H_

+ 57 - 0
vcs/include/alibabacloud/vcs/model/GetUserDetailRequest.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_VCS_MODEL_GETUSERDETAILREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETUSERDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetUserDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetUserDetailRequest();
+				~GetUserDetailRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				bool getNeedFaceDetail()const;
+				void setNeedFaceDetail(bool needFaceDetail);
+				long getUserId()const;
+				void setUserId(long userId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				bool needFaceDetail_;
+				long userId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETUSERDETAILREQUEST_H_

+ 71 - 0
vcs/include/alibabacloud/vcs/model/GetUserDetailResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_GETUSERDETAILRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETUSERDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetUserDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string userName;
+					std::string address;
+					std::string idNumber;
+					int userGroupId;
+					std::string isvSubId;
+					std::string attachment;
+					std::string gender;
+					std::string faceImageUrl;
+					std::string phoneNo;
+					int userId;
+					std::string plateNo;
+					std::string bizId;
+					std::string age;
+				};
+
+
+				GetUserDetailResult();
+				explicit GetUserDetailResult(const std::string &payload);
+				~GetUserDetailResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETUSERDETAILRESULT_H_

+ 12 - 0
vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsRequest.h

@@ -35,26 +35,38 @@ namespace AlibabaCloud
 				ListCorpGroupMetricsRequest();
 				~ListCorpGroupMetricsRequest();
 
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
 				std::string getGroupId()const;
 				void setGroupId(const std::string& groupId);
 				std::string getEndTime()const;
 				void setEndTime(const std::string& endTime);
 				std::string getStartTime()const;
 				void setStartTime(const std::string& startTime);
+				std::string getDeviceId()const;
+				void setDeviceId(const std::string& deviceId);
 				std::string getPageNumber()const;
 				void setPageNumber(const std::string& pageNumber);
+				std::string getDeviceGroup()const;
+				void setDeviceGroup(const std::string& deviceGroup);
 				std::string getTagCode()const;
 				void setTagCode(const std::string& tagCode);
 				std::string getPageSize()const;
 				void setPageSize(const std::string& pageSize);
+				std::string getUserGroup()const;
+				void setUserGroup(const std::string& userGroup);
 
             private:
+				std::string corpId_;
 				std::string groupId_;
 				std::string endTime_;
 				std::string startTime_;
+				std::string deviceId_;
 				std::string pageNumber_;
+				std::string deviceGroup_;
 				std::string tagCode_;
 				std::string pageSize_;
+				std::string userGroup_;
 
 			};
 		}

+ 10 - 5
vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsResult.h

@@ -32,13 +32,18 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_VCS_EXPORT ListCorpGroupMetricsResult : public ServiceResult
 			{
 			public:
-				struct Day
+				struct DataItem
 				{
-					std::string checkedTime;
+					std::string corpId;
+					std::string personID;
+					std::string corpGroupId;
+					std::string deviceGroupId;
+					std::string deviceId;
+					std::string userGroupId;
 					std::string tagMetrics;
 					std::string tagCode;
 					std::string tagValue;
-					std::string groupId;
+					std::string dateId;
 				};
 
 
@@ -49,7 +54,7 @@ namespace AlibabaCloud
 				std::string getMessage()const;
 				int getPageSize()const;
 				int getPageNumber()const;
-				std::vector<Day> getData()const;
+				std::vector<DataItem> getData()const;
 				std::string getCode()const;
 				std::string getSuccess()const;
 
@@ -60,7 +65,7 @@ namespace AlibabaCloud
 				std::string message_;
 				int pageSize_;
 				int pageNumber_;
-				std::vector<Day> data_;
+				std::vector<DataItem> data_;
 				std::string code_;
 				std::string success_;
 

+ 9 - 0
vcs/include/alibabacloud/vcs/model/ListCorpMetricsRequest.h

@@ -43,18 +43,27 @@ namespace AlibabaCloud
 				void setStartTime(const std::string& startTime);
 				std::string getPageNumber()const;
 				void setPageNumber(const std::string& pageNumber);
+				std::string getDeviceGroupList()const;
+				void setDeviceGroupList(const std::string& deviceGroupList);
 				std::string getTagCode()const;
 				void setTagCode(const std::string& tagCode);
+				std::string getUserGroupList()const;
+				void setUserGroupList(const std::string& userGroupList);
 				std::string getPageSize()const;
 				void setPageSize(const std::string& pageSize);
+				std::string getDeviceIdList()const;
+				void setDeviceIdList(const std::string& deviceIdList);
 
             private:
 				std::string corpId_;
 				std::string endTime_;
 				std::string startTime_;
 				std::string pageNumber_;
+				std::string deviceGroupList_;
 				std::string tagCode_;
+				std::string userGroupList_;
 				std::string pageSize_;
+				std::string deviceIdList_;
 
 			};
 		}

+ 5 - 0
vcs/include/alibabacloud/vcs/model/ListCorpMetricsResult.h

@@ -35,9 +35,14 @@ namespace AlibabaCloud
 				struct DataItem
 				{
 					std::string corpId;
+					std::string personId;
+					std::string deviceGroupId;
+					std::string deviceId;
+					std::string userGroupId;
 					std::string tagMetrics;
 					std::string tagCode;
 					std::string tagValue;
+					std::string dateId;
 				};
 
 

+ 51 - 0
vcs/include/alibabacloud/vcs/model/ListUserGroupsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTUSERGROUPSREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTUSERGROUPSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListUserGroupsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListUserGroupsRequest();
+				~ListUserGroupsRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTUSERGROUPSREQUEST_H_

+ 66 - 0
vcs/include/alibabacloud/vcs/model/ListUserGroupsResult.h

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

+ 90 - 0
vcs/include/alibabacloud/vcs/model/ListUsersRequest.h

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTUSERSREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTUSERSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListUsersRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListUsersRequest();
+				~ListUsersRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				std::string getFaceImageUrl()const;
+				void setFaceImageUrl(const std::string& faceImageUrl);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAttachment()const;
+				void setAttachment(const std::string& attachment);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getAddress()const;
+				void setAddress(const std::string& address);
+				long getUserGroupId()const;
+				void setUserGroupId(long userGroupId);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+				int getAge()const;
+				void setAge(int age);
+				std::string getUserName()const;
+				void setUserName(const std::string& userName);
+
+            private:
+				std::string corpId_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				std::string faceImageUrl_;
+				long pageNumber_;
+				std::string attachment_;
+				long pageSize_;
+				std::string isvSubId_;
+				std::string address_;
+				long userGroupId_;
+				std::string phoneNo_;
+				std::string bizId_;
+				int age_;
+				std::string userName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTUSERSREQUEST_H_

+ 76 - 0
vcs/include/alibabacloud/vcs/model/ListUsersResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTUSERSRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTUSERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListUsersResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						std::string userName;
+						std::string idNumber;
+						int userId;
+						int userGroupId;
+						std::string isvSubId;
+						std::string attachment;
+						std::string gender;
+						std::string bizId;
+						std::string age;
+						std::string faceImageUrl;
+					};
+					long pageSize;
+					long pageNumber;
+					long total;
+					std::vector<RecordsItem> records;
+					long success;
+				};
+
+
+				ListUsersResult();
+				explicit ListUsersResult(const std::string &payload);
+				~ListUsersResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTUSERSRESULT_H_

+ 51 - 0
vcs/include/alibabacloud/vcs/model/UnbindCorpGroupRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_UNBINDCORPGROUPREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UNBINDCORPGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UnbindCorpGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnbindCorpGroupRequest();
+				~UnbindCorpGroupRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCorpGroupId()const;
+				void setCorpGroupId(const std::string& corpGroupId);
+
+            private:
+				std::string corpId_;
+				std::string corpGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UNBINDCORPGROUPREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UnbindCorpGroupResult.h

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

+ 54 - 0
vcs/include/alibabacloud/vcs/model/UnbindUserRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_UNBINDUSERREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UNBINDUSERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UnbindUserRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnbindUserRequest();
+				~UnbindUserRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getUserId()const;
+				void setUserId(long userId);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long userId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UNBINDUSERREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UnbindUserResult.h

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

+ 57 - 0
vcs/include/alibabacloud/vcs/model/UpdateUserGroupRequest.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_VCS_MODEL_UPDATEUSERGROUPREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEUSERGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateUserGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateUserGroupRequest();
+				~UpdateUserGroupRequest();
+
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getUserGroupId()const;
+				void setUserGroupId(long userGroupId);
+				std::string getUserGroupName()const;
+				void setUserGroupName(const std::string& userGroupName);
+
+            private:
+				std::string isvSubId_;
+				std::string corpId_;
+				long userGroupId_;
+				std::string userGroupName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEUSERGROUPREQUEST_H_

+ 63 - 0
vcs/include/alibabacloud/vcs/model/UpdateUserGroupResult.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_VCS_MODEL_UPDATEUSERGROUPRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEUSERGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateUserGroupResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string parentUserGroupId;
+					long userCount;
+					long userGroupId;
+					std::string userGroupName;
+					std::string isvSubId;
+				};
+
+
+				UpdateUserGroupResult();
+				explicit UpdateUserGroupResult(const std::string &payload);
+				~UpdateUserGroupResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEUSERGROUPRESULT_H_

+ 90 - 0
vcs/include/alibabacloud/vcs/model/UpdateUserRequest.h

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_UPDATEUSERREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_UPDATEUSERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT UpdateUserRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateUserRequest();
+				~UpdateUserRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getFaceImageContent()const;
+				void setFaceImageContent(const std::string& faceImageContent);
+				int getGender()const;
+				void setGender(int gender);
+				std::string getPlateNo()const;
+				void setPlateNo(const std::string& plateNo);
+				std::string getIdNumber()const;
+				void setIdNumber(const std::string& idNumber);
+				std::string getFaceImageUrl()const;
+				void setFaceImageUrl(const std::string& faceImageUrl);
+				long getUserId()const;
+				void setUserId(long userId);
+				std::string getAttachment()const;
+				void setAttachment(const std::string& attachment);
+				std::string getIsvSubId()const;
+				void setIsvSubId(const std::string& isvSubId);
+				std::string getAddress()const;
+				void setAddress(const std::string& address);
+				long getUserGroupId()const;
+				void setUserGroupId(long userGroupId);
+				std::string getPhoneNo()const;
+				void setPhoneNo(const std::string& phoneNo);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+				int getAge()const;
+				void setAge(int age);
+				std::string getUserName()const;
+				void setUserName(const std::string& userName);
+
+            private:
+				std::string corpId_;
+				std::string faceImageContent_;
+				int gender_;
+				std::string plateNo_;
+				std::string idNumber_;
+				std::string faceImageUrl_;
+				long userId_;
+				std::string attachment_;
+				std::string isvSubId_;
+				std::string address_;
+				long userGroupId_;
+				std::string phoneNo_;
+				std::string bizId_;
+				int age_;
+				std::string userName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_UPDATEUSERREQUEST_H_

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UpdateUserResult.h

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

+ 48 - 0
vcs/include/alibabacloud/vcs/model/UploadImageRequest.h

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

+ 55 - 0
vcs/include/alibabacloud/vcs/model/UploadImageResult.h

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

+ 543 - 3
vcs/src/VcsClient.cc

@@ -31,21 +31,21 @@ VcsClient::VcsClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 VcsClient::VcsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 VcsClient::VcsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 VcsClient::~VcsClient()
@@ -159,6 +159,78 @@ VcsClient::AddMonitorOutcomeCallable VcsClient::addMonitorCallable(const AddMoni
 	return task->get_future();
 }
 
+VcsClient::BindCorpGroupOutcome VcsClient::bindCorpGroup(const BindCorpGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BindCorpGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BindCorpGroupOutcome(BindCorpGroupResult(outcome.result()));
+	else
+		return BindCorpGroupOutcome(outcome.error());
+}
+
+void VcsClient::bindCorpGroupAsync(const BindCorpGroupRequest& request, const BindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, bindCorpGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::BindCorpGroupOutcomeCallable VcsClient::bindCorpGroupCallable(const BindCorpGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BindCorpGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->bindCorpGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::BindUserOutcome VcsClient::bindUser(const BindUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BindUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BindUserOutcome(BindUserResult(outcome.result()));
+	else
+		return BindUserOutcome(outcome.error());
+}
+
+void VcsClient::bindUserAsync(const BindUserRequest& request, const BindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, bindUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::BindUserOutcomeCallable VcsClient::bindUserCallable(const BindUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BindUserOutcome()>>(
+			[this, request]()
+			{
+			return this->bindUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::CreateCorpOutcome VcsClient::createCorp(const CreateCorpRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -231,6 +303,78 @@ VcsClient::CreateCorpGroupOutcomeCallable VcsClient::createCorpGroupCallable(con
 	return task->get_future();
 }
 
+VcsClient::CreateUserOutcome VcsClient::createUser(const CreateUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateUserOutcome(CreateUserResult(outcome.result()));
+	else
+		return CreateUserOutcome(outcome.error());
+}
+
+void VcsClient::createUserAsync(const CreateUserRequest& request, const CreateUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::CreateUserOutcomeCallable VcsClient::createUserCallable(const CreateUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateUserOutcome()>>(
+			[this, request]()
+			{
+			return this->createUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::CreateUserGroupOutcome VcsClient::createUserGroup(const CreateUserGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateUserGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateUserGroupOutcome(CreateUserGroupResult(outcome.result()));
+	else
+		return CreateUserGroupOutcome(outcome.error());
+}
+
+void VcsClient::createUserGroupAsync(const CreateUserGroupRequest& request, const CreateUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createUserGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::CreateUserGroupOutcomeCallable VcsClient::createUserGroupCallable(const CreateUserGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateUserGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->createUserGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::CreateVideoComposeTaskOutcome VcsClient::createVideoComposeTask(const CreateVideoComposeTaskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -447,6 +591,78 @@ VcsClient::DeleteRecordsOutcomeCallable VcsClient::deleteRecordsCallable(const D
 	return task->get_future();
 }
 
+VcsClient::DeleteUserOutcome VcsClient::deleteUser(const DeleteUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteUserOutcome(DeleteUserResult(outcome.result()));
+	else
+		return DeleteUserOutcome(outcome.error());
+}
+
+void VcsClient::deleteUserAsync(const DeleteUserRequest& request, const DeleteUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::DeleteUserOutcomeCallable VcsClient::deleteUserCallable(const DeleteUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteUserOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::DeleteUserGroupOutcome VcsClient::deleteUserGroup(const DeleteUserGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteUserGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteUserGroupOutcome(DeleteUserGroupResult(outcome.result()));
+	else
+		return DeleteUserGroupOutcome(outcome.error());
+}
+
+void VcsClient::deleteUserGroupAsync(const DeleteUserGroupRequest& request, const DeleteUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteUserGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::DeleteUserGroupOutcomeCallable VcsClient::deleteUserGroupCallable(const DeleteUserGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteUserGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteUserGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::DeleteVideoSummaryTaskOutcome VcsClient::deleteVideoSummaryTask(const DeleteVideoSummaryTaskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -807,6 +1023,78 @@ VcsClient::GetPersonDetailOutcomeCallable VcsClient::getPersonDetailCallable(con
 	return task->get_future();
 }
 
+VcsClient::GetPersonListOutcome VcsClient::getPersonList(const GetPersonListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetPersonListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetPersonListOutcome(GetPersonListResult(outcome.result()));
+	else
+		return GetPersonListOutcome(outcome.error());
+}
+
+void VcsClient::getPersonListAsync(const GetPersonListRequest& request, const GetPersonListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getPersonList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetPersonListOutcomeCallable VcsClient::getPersonListCallable(const GetPersonListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetPersonListOutcome()>>(
+			[this, request]()
+			{
+			return this->getPersonList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::GetUserDetailOutcome VcsClient::getUserDetail(const GetUserDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetUserDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetUserDetailOutcome(GetUserDetailResult(outcome.result()));
+	else
+		return GetUserDetailOutcome(outcome.error());
+}
+
+void VcsClient::getUserDetailAsync(const GetUserDetailRequest& request, const GetUserDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getUserDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetUserDetailOutcomeCallable VcsClient::getUserDetailCallable(const GetUserDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetUserDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->getUserDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::GetVideoComposeResultOutcome VcsClient::getVideoComposeResult(const GetVideoComposeResultRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1419,6 +1707,78 @@ VcsClient::ListPersonsOutcomeCallable VcsClient::listPersonsCallable(const ListP
 	return task->get_future();
 }
 
+VcsClient::ListUserGroupsOutcome VcsClient::listUserGroups(const ListUserGroupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListUserGroupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListUserGroupsOutcome(ListUserGroupsResult(outcome.result()));
+	else
+		return ListUserGroupsOutcome(outcome.error());
+}
+
+void VcsClient::listUserGroupsAsync(const ListUserGroupsRequest& request, const ListUserGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listUserGroups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListUserGroupsOutcomeCallable VcsClient::listUserGroupsCallable(const ListUserGroupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListUserGroupsOutcome()>>(
+			[this, request]()
+			{
+			return this->listUserGroups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::ListUsersOutcome VcsClient::listUsers(const ListUsersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListUsersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListUsersOutcome(ListUsersResult(outcome.result()));
+	else
+		return ListUsersOutcome(outcome.error());
+}
+
+void VcsClient::listUsersAsync(const ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listUsers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListUsersOutcomeCallable VcsClient::listUsersCallable(const ListUsersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListUsersOutcome()>>(
+			[this, request]()
+			{
+			return this->listUsers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::RecognizeFaceQualityOutcome VcsClient::recognizeFaceQuality(const RecognizeFaceQualityRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1743,6 +2103,78 @@ VcsClient::SyncDeviceTimeOutcomeCallable VcsClient::syncDeviceTimeCallable(const
 	return task->get_future();
 }
 
+VcsClient::UnbindCorpGroupOutcome VcsClient::unbindCorpGroup(const UnbindCorpGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnbindCorpGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnbindCorpGroupOutcome(UnbindCorpGroupResult(outcome.result()));
+	else
+		return UnbindCorpGroupOutcome(outcome.error());
+}
+
+void VcsClient::unbindCorpGroupAsync(const UnbindCorpGroupRequest& request, const UnbindCorpGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unbindCorpGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UnbindCorpGroupOutcomeCallable VcsClient::unbindCorpGroupCallable(const UnbindCorpGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnbindCorpGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->unbindCorpGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::UnbindUserOutcome VcsClient::unbindUser(const UnbindUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnbindUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnbindUserOutcome(UnbindUserResult(outcome.result()));
+	else
+		return UnbindUserOutcome(outcome.error());
+}
+
+void VcsClient::unbindUserAsync(const UnbindUserRequest& request, const UnbindUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unbindUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UnbindUserOutcomeCallable VcsClient::unbindUserCallable(const UnbindUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnbindUserOutcome()>>(
+			[this, request]()
+			{
+			return this->unbindUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::UpdateCorpOutcome VcsClient::updateCorp(const UpdateCorpRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1851,6 +2283,78 @@ VcsClient::UpdateMonitorOutcomeCallable VcsClient::updateMonitorCallable(const U
 	return task->get_future();
 }
 
+VcsClient::UpdateUserOutcome VcsClient::updateUser(const UpdateUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateUserOutcome(UpdateUserResult(outcome.result()));
+	else
+		return UpdateUserOutcome(outcome.error());
+}
+
+void VcsClient::updateUserAsync(const UpdateUserRequest& request, const UpdateUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UpdateUserOutcomeCallable VcsClient::updateUserCallable(const UpdateUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateUserOutcome()>>(
+			[this, request]()
+			{
+			return this->updateUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VcsClient::UpdateUserGroupOutcome VcsClient::updateUserGroup(const UpdateUserGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateUserGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateUserGroupOutcome(UpdateUserGroupResult(outcome.result()));
+	else
+		return UpdateUserGroupOutcome(outcome.error());
+}
+
+void VcsClient::updateUserGroupAsync(const UpdateUserGroupRequest& request, const UpdateUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateUserGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UpdateUserGroupOutcomeCallable VcsClient::updateUserGroupCallable(const UpdateUserGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateUserGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->updateUserGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::UploadFileOutcome VcsClient::uploadFile(const UploadFileRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1887,3 +2391,39 @@ VcsClient::UploadFileOutcomeCallable VcsClient::uploadFileCallable(const UploadF
 	return task->get_future();
 }
 
+VcsClient::UploadImageOutcome VcsClient::uploadImage(const UploadImageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UploadImageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UploadImageOutcome(UploadImageResult(outcome.result()));
+	else
+		return UploadImageOutcome(outcome.error());
+}
+
+void VcsClient::uploadImageAsync(const UploadImageRequest& request, const UploadImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, uploadImage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::UploadImageOutcomeCallable VcsClient::uploadImageCallable(const UploadImageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UploadImageOutcome()>>(
+			[this, request]()
+			{
+			return this->uploadImage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 51 - 0
vcs/src/model/BindCorpGroupRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/BindCorpGroupRequest.h>
+
+using AlibabaCloud::Vcs::Model::BindCorpGroupRequest;
+
+BindCorpGroupRequest::BindCorpGroupRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "BindCorpGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindCorpGroupRequest::~BindCorpGroupRequest()
+{}
+
+std::string BindCorpGroupRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void BindCorpGroupRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string BindCorpGroupRequest::getCorpGroupId()const
+{
+	return corpGroupId_;
+}
+
+void BindCorpGroupRequest::setCorpGroupId(const std::string& corpGroupId)
+{
+	corpGroupId_ = corpGroupId;
+	setBodyParameter("CorpGroupId", corpGroupId);
+}
+

+ 65 - 0
vcs/src/model/BindCorpGroupResult.cc

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

+ 84 - 0
vcs/src/model/BindUserRequest.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/vcs/model/BindUserRequest.h>
+
+using AlibabaCloud::Vcs::Model::BindUserRequest;
+
+BindUserRequest::BindUserRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "BindUser")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindUserRequest::~BindUserRequest()
+{}
+
+std::string BindUserRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void BindUserRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string BindUserRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void BindUserRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long BindUserRequest::getUserId()const
+{
+	return userId_;
+}
+
+void BindUserRequest::setUserId(long userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", std::to_string(userId));
+}
+
+std::string BindUserRequest::getMatchingRate()const
+{
+	return matchingRate_;
+}
+
+void BindUserRequest::setMatchingRate(const std::string& matchingRate)
+{
+	matchingRate_ = matchingRate;
+	setBodyParameter("MatchingRate", matchingRate);
+}
+
+std::string BindUserRequest::getPersonId()const
+{
+	return personId_;
+}
+
+void BindUserRequest::setPersonId(const std::string& personId)
+{
+	personId_ = personId;
+	setBodyParameter("PersonId", personId);
+}
+

+ 65 - 0
vcs/src/model/BindUserResult.cc

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

+ 73 - 0
vcs/src/model/CreateUserGroupRequest.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/vcs/model/CreateUserGroupRequest.h>
+
+using AlibabaCloud::Vcs::Model::CreateUserGroupRequest;
+
+CreateUserGroupRequest::CreateUserGroupRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "CreateUserGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateUserGroupRequest::~CreateUserGroupRequest()
+{}
+
+std::string CreateUserGroupRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void CreateUserGroupRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string CreateUserGroupRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void CreateUserGroupRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string CreateUserGroupRequest::getUserGroupName()const
+{
+	return userGroupName_;
+}
+
+void CreateUserGroupRequest::setUserGroupName(const std::string& userGroupName)
+{
+	userGroupName_ = userGroupName;
+	setBodyParameter("UserGroupName", userGroupName);
+}
+
+long CreateUserGroupRequest::getParentUserGroupId()const
+{
+	return parentUserGroupId_;
+}
+
+void CreateUserGroupRequest::setParentUserGroupId(long parentUserGroupId)
+{
+	parentUserGroupId_ = parentUserGroupId;
+	setBodyParameter("ParentUserGroupId", std::to_string(parentUserGroupId));
+}
+

+ 70 - 0
vcs/src/model/CreateUserGroupResult.cc

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

+ 172 - 0
vcs/src/model/CreateUserRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/CreateUserRequest.h>
+
+using AlibabaCloud::Vcs::Model::CreateUserRequest;
+
+CreateUserRequest::CreateUserRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "CreateUser")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateUserRequest::~CreateUserRequest()
+{}
+
+std::string CreateUserRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void CreateUserRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int CreateUserRequest::getGender()const
+{
+	return gender_;
+}
+
+void CreateUserRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string CreateUserRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void CreateUserRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string CreateUserRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void CreateUserRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+std::string CreateUserRequest::getFaceImageUrl()const
+{
+	return faceImageUrl_;
+}
+
+void CreateUserRequest::setFaceImageUrl(const std::string& faceImageUrl)
+{
+	faceImageUrl_ = faceImageUrl;
+	setBodyParameter("FaceImageUrl", faceImageUrl);
+}
+
+std::string CreateUserRequest::getAttachment()const
+{
+	return attachment_;
+}
+
+void CreateUserRequest::setAttachment(const std::string& attachment)
+{
+	attachment_ = attachment;
+	setBodyParameter("Attachment", attachment);
+}
+
+std::string CreateUserRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void CreateUserRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string CreateUserRequest::getAddress()const
+{
+	return address_;
+}
+
+void CreateUserRequest::setAddress(const std::string& address)
+{
+	address_ = address;
+	setBodyParameter("Address", address);
+}
+
+long CreateUserRequest::getUserGroupId()const
+{
+	return userGroupId_;
+}
+
+void CreateUserRequest::setUserGroupId(long userGroupId)
+{
+	userGroupId_ = userGroupId;
+	setBodyParameter("UserGroupId", std::to_string(userGroupId));
+}
+
+std::string CreateUserRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void CreateUserRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+std::string CreateUserRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void CreateUserRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+
+int CreateUserRequest::getAge()const
+{
+	return age_;
+}
+
+void CreateUserRequest::setAge(int age)
+{
+	age_ = age;
+	setBodyParameter("Age", std::to_string(age));
+}
+
+std::string CreateUserRequest::getUserName()const
+{
+	return userName_;
+}
+
+void CreateUserRequest::setUserName(const std::string& userName)
+{
+	userName_ = userName;
+	setBodyParameter("UserName", userName);
+}
+

+ 90 - 0
vcs/src/model/CreateUserResult.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/CreateUserResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+CreateUserResult::CreateUserResult() :
+	ServiceResult()
+{}
+
+CreateUserResult::CreateUserResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateUserResult::~CreateUserResult()
+{}
+
+void CreateUserResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["UserId"].isNull())
+		data_.userId = std::stoi(dataNode["UserId"].asString());
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!dataNode["UserName"].isNull())
+		data_.userName = dataNode["UserName"].asString();
+	if(!dataNode["UserGroupId"].isNull())
+		data_.userGroupId = std::stoi(dataNode["UserGroupId"].asString());
+	if(!dataNode["IdNumber"].isNull())
+		data_.idNumber = dataNode["IdNumber"].asString();
+	if(!dataNode["FaceImageUrl"].isNull())
+		data_.faceImageUrl = dataNode["FaceImageUrl"].asString();
+	if(!dataNode["Address"].isNull())
+		data_.address = dataNode["Address"].asString();
+	if(!dataNode["Age"].isNull())
+		data_.age = dataNode["Age"].asString();
+	if(!dataNode["Gender"].isNull())
+		data_.gender = dataNode["Gender"].asString();
+	if(!dataNode["PlateNo"].isNull())
+		data_.plateNo = dataNode["PlateNo"].asString();
+	if(!dataNode["PhoneNo"].isNull())
+		data_.phoneNo = dataNode["PhoneNo"].asString();
+	if(!dataNode["Attachment"].isNull())
+		data_.attachment = dataNode["Attachment"].asString();
+	if(!dataNode["BizId"].isNull())
+		data_.bizId = dataNode["BizId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string CreateUserResult::getMessage()const
+{
+	return message_;
+}
+
+CreateUserResult::Data CreateUserResult::getData()const
+{
+	return data_;
+}
+
+std::string CreateUserResult::getCode()const
+{
+	return code_;
+}
+

+ 62 - 0
vcs/src/model/DeleteUserGroupRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/DeleteUserGroupRequest.h>
+
+using AlibabaCloud::Vcs::Model::DeleteUserGroupRequest;
+
+DeleteUserGroupRequest::DeleteUserGroupRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "DeleteUserGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteUserGroupRequest::~DeleteUserGroupRequest()
+{}
+
+std::string DeleteUserGroupRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void DeleteUserGroupRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string DeleteUserGroupRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void DeleteUserGroupRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string DeleteUserGroupRequest::getUserGroupId()const
+{
+	return userGroupId_;
+}
+
+void DeleteUserGroupRequest::setUserGroupId(const std::string& userGroupId)
+{
+	userGroupId_ = userGroupId;
+	setBodyParameter("UserGroupId", userGroupId);
+}
+

+ 65 - 0
vcs/src/model/DeleteUserGroupResult.cc

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

+ 62 - 0
vcs/src/model/DeleteUserRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/DeleteUserRequest.h>
+
+using AlibabaCloud::Vcs::Model::DeleteUserRequest;
+
+DeleteUserRequest::DeleteUserRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "DeleteUser")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteUserRequest::~DeleteUserRequest()
+{}
+
+std::string DeleteUserRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void DeleteUserRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string DeleteUserRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void DeleteUserRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long DeleteUserRequest::getUserId()const
+{
+	return userId_;
+}
+
+void DeleteUserRequest::setUserId(long userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", std::to_string(userId));
+}
+

+ 65 - 0
vcs/src/model/DeleteUserResult.cc

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

+ 73 - 0
vcs/src/model/GetPersonListRequest.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/vcs/model/GetPersonListRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetPersonListRequest;
+
+GetPersonListRequest::GetPersonListRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetPersonList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetPersonListRequest::~GetPersonListRequest()
+{}
+
+std::string GetPersonListRequest::getFaceImageUrl()const
+{
+	return faceImageUrl_;
+}
+
+void GetPersonListRequest::setFaceImageUrl(const std::string& faceImageUrl)
+{
+	faceImageUrl_ = faceImageUrl;
+	setBodyParameter("FaceImageUrl", faceImageUrl);
+}
+
+std::string GetPersonListRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void GetPersonListRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string GetPersonListRequest::getCorpIdList()const
+{
+	return corpIdList_;
+}
+
+void GetPersonListRequest::setCorpIdList(const std::string& corpIdList)
+{
+	corpIdList_ = corpIdList;
+	setBodyParameter("CorpIdList", corpIdList);
+}
+
+std::string GetPersonListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void GetPersonListRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+

+ 96 - 0
vcs/src/model/GetPersonListResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/GetPersonListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetPersonListResult::GetPersonListResult() :
+	ServiceResult()
+{}
+
+GetPersonListResult::GetPersonListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetPersonListResult::~GetPersonListResult()
+{}
+
+void GetPersonListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageNumber"].isNull())
+		data_.pageNumber = dataNode["PageNumber"].asString();
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = dataNode["PageSize"].asString();
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = dataNode["TotalCount"].asString();
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["FirstAppearTime"].isNull())
+			recordsItemObject.firstAppearTime = dataNodeRecordsRecordsItem["FirstAppearTime"].asString();
+		if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
+			recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
+		if(!dataNodeRecordsRecordsItem["FaceImageUrl"].isNull())
+			recordsItemObject.faceImageUrl = dataNodeRecordsRecordsItem["FaceImageUrl"].asString();
+		auto allTagListNode = allRecordsNode["TagList"]["TagListItem"];
+		for (auto allRecordsNodeTagListTagListItem : allTagListNode)
+		{
+			Data::RecordsItem::TagListItem tagListObject;
+			if(!allRecordsNodeTagListTagListItem["Code"].isNull())
+				tagListObject.code = allRecordsNodeTagListTagListItem["Code"].asString();
+			if(!allRecordsNodeTagListTagListItem["Value"].isNull())
+				tagListObject.value = allRecordsNodeTagListTagListItem["Value"].asString();
+			if(!allRecordsNodeTagListTagListItem["TagCodeName"].isNull())
+				tagListObject.tagCodeName = allRecordsNodeTagListTagListItem["TagCodeName"].asString();
+			if(!allRecordsNodeTagListTagListItem["TagName"].isNull())
+				tagListObject.tagName = allRecordsNodeTagListTagListItem["TagName"].asString();
+			recordsItemObject.tagList.push_back(tagListObject);
+		}
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetPersonListResult::getMessage()const
+{
+	return message_;
+}
+
+GetPersonListResult::Data GetPersonListResult::getData()const
+{
+	return data_;
+}
+
+std::string GetPersonListResult::getCode()const
+{
+	return code_;
+}
+

+ 73 - 0
vcs/src/model/GetUserDetailRequest.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/vcs/model/GetUserDetailRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetUserDetailRequest;
+
+GetUserDetailRequest::GetUserDetailRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetUserDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetUserDetailRequest::~GetUserDetailRequest()
+{}
+
+std::string GetUserDetailRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void GetUserDetailRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string GetUserDetailRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetUserDetailRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+bool GetUserDetailRequest::getNeedFaceDetail()const
+{
+	return needFaceDetail_;
+}
+
+void GetUserDetailRequest::setNeedFaceDetail(bool needFaceDetail)
+{
+	needFaceDetail_ = needFaceDetail;
+	setBodyParameter("NeedFaceDetail", needFaceDetail ? "true" : "false");
+}
+
+long GetUserDetailRequest::getUserId()const
+{
+	return userId_;
+}
+
+void GetUserDetailRequest::setUserId(long userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", std::to_string(userId));
+}
+

+ 90 - 0
vcs/src/model/GetUserDetailResult.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/GetUserDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetUserDetailResult::GetUserDetailResult() :
+	ServiceResult()
+{}
+
+GetUserDetailResult::GetUserDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetUserDetailResult::~GetUserDetailResult()
+{}
+
+void GetUserDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Address"].isNull())
+		data_.address = dataNode["Address"].asString();
+	if(!dataNode["Age"].isNull())
+		data_.age = dataNode["Age"].asString();
+	if(!dataNode["Attachment"].isNull())
+		data_.attachment = dataNode["Attachment"].asString();
+	if(!dataNode["BizId"].isNull())
+		data_.bizId = dataNode["BizId"].asString();
+	if(!dataNode["FaceImageUrl"].isNull())
+		data_.faceImageUrl = dataNode["FaceImageUrl"].asString();
+	if(!dataNode["Gender"].isNull())
+		data_.gender = dataNode["Gender"].asString();
+	if(!dataNode["IdNumber"].isNull())
+		data_.idNumber = dataNode["IdNumber"].asString();
+	if(!dataNode["PhoneNo"].isNull())
+		data_.phoneNo = dataNode["PhoneNo"].asString();
+	if(!dataNode["PlateNo"].isNull())
+		data_.plateNo = dataNode["PlateNo"].asString();
+	if(!dataNode["UserGroupId"].isNull())
+		data_.userGroupId = std::stoi(dataNode["UserGroupId"].asString());
+	if(!dataNode["UserId"].isNull())
+		data_.userId = std::stoi(dataNode["UserId"].asString());
+	if(!dataNode["UserName"].isNull())
+		data_.userName = dataNode["UserName"].asString();
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetUserDetailResult::getMessage()const
+{
+	return message_;
+}
+
+GetUserDetailResult::Data GetUserDetailResult::getData()const
+{
+	return data_;
+}
+
+std::string GetUserDetailResult::getCode()const
+{
+	return code_;
+}
+

+ 44 - 0
vcs/src/model/ListCorpGroupMetricsRequest.cc

@@ -27,6 +27,17 @@ ListCorpGroupMetricsRequest::ListCorpGroupMetricsRequest() :
 ListCorpGroupMetricsRequest::~ListCorpGroupMetricsRequest()
 {}
 
+std::string ListCorpGroupMetricsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListCorpGroupMetricsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
 std::string ListCorpGroupMetricsRequest::getGroupId()const
 {
 	return groupId_;
@@ -60,6 +71,17 @@ void ListCorpGroupMetricsRequest::setStartTime(const std::string& startTime)
 	setBodyParameter("StartTime", startTime);
 }
 
+std::string ListCorpGroupMetricsRequest::getDeviceId()const
+{
+	return deviceId_;
+}
+
+void ListCorpGroupMetricsRequest::setDeviceId(const std::string& deviceId)
+{
+	deviceId_ = deviceId;
+	setBodyParameter("DeviceId", deviceId);
+}
+
 std::string ListCorpGroupMetricsRequest::getPageNumber()const
 {
 	return pageNumber_;
@@ -71,6 +93,17 @@ void ListCorpGroupMetricsRequest::setPageNumber(const std::string& pageNumber)
 	setBodyParameter("PageNumber", pageNumber);
 }
 
+std::string ListCorpGroupMetricsRequest::getDeviceGroup()const
+{
+	return deviceGroup_;
+}
+
+void ListCorpGroupMetricsRequest::setDeviceGroup(const std::string& deviceGroup)
+{
+	deviceGroup_ = deviceGroup;
+	setBodyParameter("DeviceGroup", deviceGroup);
+}
+
 std::string ListCorpGroupMetricsRequest::getTagCode()const
 {
 	return tagCode_;
@@ -93,3 +126,14 @@ void ListCorpGroupMetricsRequest::setPageSize(const std::string& pageSize)
 	setBodyParameter("PageSize", pageSize);
 }
 
+std::string ListCorpGroupMetricsRequest::getUserGroup()const
+{
+	return userGroup_;
+}
+
+void ListCorpGroupMetricsRequest::setUserGroup(const std::string& userGroup)
+{
+	userGroup_ = userGroup;
+	setBodyParameter("UserGroup", userGroup);
+}
+

+ 24 - 14
vcs/src/model/ListCorpGroupMetricsResult.cc

@@ -39,20 +39,30 @@ void ListCorpGroupMetricsResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allDataNode = value["Data"]["Day"];
-	for (auto valueDataDay : allDataNode)
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
 	{
-		Day dataObject;
-		if(!valueDataDay["CheckedTime"].isNull())
-			dataObject.checkedTime = valueDataDay["CheckedTime"].asString();
-		if(!valueDataDay["TagMetrics"].isNull())
-			dataObject.tagMetrics = valueDataDay["TagMetrics"].asString();
-		if(!valueDataDay["TagCode"].isNull())
-			dataObject.tagCode = valueDataDay["TagCode"].asString();
-		if(!valueDataDay["TagValue"].isNull())
-			dataObject.tagValue = valueDataDay["TagValue"].asString();
-		if(!valueDataDay["GroupId"].isNull())
-			dataObject.groupId = valueDataDay["GroupId"].asString();
+		DataItem dataObject;
+		if(!valueDataDataItem["DateId"].isNull())
+			dataObject.dateId = valueDataDataItem["DateId"].asString();
+		if(!valueDataDataItem["TagMetrics"].isNull())
+			dataObject.tagMetrics = valueDataDataItem["TagMetrics"].asString();
+		if(!valueDataDataItem["TagCode"].isNull())
+			dataObject.tagCode = valueDataDataItem["TagCode"].asString();
+		if(!valueDataDataItem["TagValue"].isNull())
+			dataObject.tagValue = valueDataDataItem["TagValue"].asString();
+		if(!valueDataDataItem["CorpGroupId"].isNull())
+			dataObject.corpGroupId = valueDataDataItem["CorpGroupId"].asString();
+		if(!valueDataDataItem["CorpId"].isNull())
+			dataObject.corpId = valueDataDataItem["CorpId"].asString();
+		if(!valueDataDataItem["DeviceGroupId"].isNull())
+			dataObject.deviceGroupId = valueDataDataItem["DeviceGroupId"].asString();
+		if(!valueDataDataItem["DeviceId"].isNull())
+			dataObject.deviceId = valueDataDataItem["DeviceId"].asString();
+		if(!valueDataDataItem["UserGroupId"].isNull())
+			dataObject.userGroupId = valueDataDataItem["UserGroupId"].asString();
+		if(!valueDataDataItem["PersonID"].isNull())
+			dataObject.personID = valueDataDataItem["PersonID"].asString();
 		data_.push_back(dataObject);
 	}
 	if(!value["Code"].isNull())
@@ -90,7 +100,7 @@ int ListCorpGroupMetricsResult::getPageNumber()const
 	return pageNumber_;
 }
 
-std::vector<ListCorpGroupMetricsResult::Day> ListCorpGroupMetricsResult::getData()const
+std::vector<ListCorpGroupMetricsResult::DataItem> ListCorpGroupMetricsResult::getData()const
 {
 	return data_;
 }

+ 33 - 0
vcs/src/model/ListCorpMetricsRequest.cc

@@ -71,6 +71,17 @@ void ListCorpMetricsRequest::setPageNumber(const std::string& pageNumber)
 	setBodyParameter("PageNumber", pageNumber);
 }
 
+std::string ListCorpMetricsRequest::getDeviceGroupList()const
+{
+	return deviceGroupList_;
+}
+
+void ListCorpMetricsRequest::setDeviceGroupList(const std::string& deviceGroupList)
+{
+	deviceGroupList_ = deviceGroupList;
+	setBodyParameter("DeviceGroupList", deviceGroupList);
+}
+
 std::string ListCorpMetricsRequest::getTagCode()const
 {
 	return tagCode_;
@@ -82,6 +93,17 @@ void ListCorpMetricsRequest::setTagCode(const std::string& tagCode)
 	setBodyParameter("TagCode", tagCode);
 }
 
+std::string ListCorpMetricsRequest::getUserGroupList()const
+{
+	return userGroupList_;
+}
+
+void ListCorpMetricsRequest::setUserGroupList(const std::string& userGroupList)
+{
+	userGroupList_ = userGroupList;
+	setBodyParameter("UserGroupList", userGroupList);
+}
+
 std::string ListCorpMetricsRequest::getPageSize()const
 {
 	return pageSize_;
@@ -93,3 +115,14 @@ void ListCorpMetricsRequest::setPageSize(const std::string& pageSize)
 	setBodyParameter("PageSize", pageSize);
 }
 
+std::string ListCorpMetricsRequest::getDeviceIdList()const
+{
+	return deviceIdList_;
+}
+
+void ListCorpMetricsRequest::setDeviceIdList(const std::string& deviceIdList)
+{
+	deviceIdList_ = deviceIdList;
+	setBodyParameter("DeviceIdList", deviceIdList);
+}
+

+ 10 - 0
vcs/src/model/ListCorpMetricsResult.cc

@@ -51,6 +51,16 @@ void ListCorpMetricsResult::parse(const std::string &payload)
 			dataObject.tagMetrics = valueDataDataItem["TagMetrics"].asString();
 		if(!valueDataDataItem["TagValue"].isNull())
 			dataObject.tagValue = valueDataDataItem["TagValue"].asString();
+		if(!valueDataDataItem["DeviceGroupId"].isNull())
+			dataObject.deviceGroupId = valueDataDataItem["DeviceGroupId"].asString();
+		if(!valueDataDataItem["DeviceId"].isNull())
+			dataObject.deviceId = valueDataDataItem["DeviceId"].asString();
+		if(!valueDataDataItem["UserGroupId"].isNull())
+			dataObject.userGroupId = valueDataDataItem["UserGroupId"].asString();
+		if(!valueDataDataItem["PersonId"].isNull())
+			dataObject.personId = valueDataDataItem["PersonId"].asString();
+		if(!valueDataDataItem["DateId"].isNull())
+			dataObject.dateId = valueDataDataItem["DateId"].asString();
 		data_.push_back(dataObject);
 	}
 	if(!value["Code"].isNull())

+ 51 - 0
vcs/src/model/ListUserGroupsRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListUserGroupsRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListUserGroupsRequest;
+
+ListUserGroupsRequest::ListUserGroupsRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListUserGroups")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListUserGroupsRequest::~ListUserGroupsRequest()
+{}
+
+std::string ListUserGroupsRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void ListUserGroupsRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setParameter("IsvSubId", isvSubId);
+}
+
+std::string ListUserGroupsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListUserGroupsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setParameter("CorpId", corpId);
+}
+

+ 85 - 0
vcs/src/model/ListUserGroupsResult.cc

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListUserGroupsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListUserGroupsResult::ListUserGroupsResult() :
+	ServiceResult()
+{}
+
+ListUserGroupsResult::ListUserGroupsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUserGroupsResult::~ListUserGroupsResult()
+{}
+
+void ListUserGroupsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["Creator"].isNull())
+			dataObject.creator = valueDataDataItem["Creator"].asString();
+		if(!valueDataDataItem["UserGroupName"].isNull())
+			dataObject.userGroupName = valueDataDataItem["UserGroupName"].asString();
+		if(!valueDataDataItem["IsvSubId"].isNull())
+			dataObject.isvSubId = valueDataDataItem["IsvSubId"].asString();
+		if(!valueDataDataItem["UserGroupId"].isNull())
+			dataObject.userGroupId = std::stol(valueDataDataItem["UserGroupId"].asString());
+		if(!valueDataDataItem["UserCount"].isNull())
+			dataObject.userCount = std::stol(valueDataDataItem["UserCount"].asString());
+		if(!valueDataDataItem["CreateTime"].isNull())
+			dataObject.createTime = valueDataDataItem["CreateTime"].asString();
+		if(!valueDataDataItem["UpdateTime"].isNull())
+			dataObject.updateTime = valueDataDataItem["UpdateTime"].asString();
+		if(!valueDataDataItem["ParentUserGroupId"].isNull())
+			dataObject.parentUserGroupId = std::stol(valueDataDataItem["ParentUserGroupId"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ListUserGroupsResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<ListUserGroupsResult::DataItem> ListUserGroupsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListUserGroupsResult::getCode()const
+{
+	return code_;
+}
+

+ 194 - 0
vcs/src/model/ListUsersRequest.cc

@@ -0,0 +1,194 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/ListUsersRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListUsersRequest;
+
+ListUsersRequest::ListUsersRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListUsers")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListUsersRequest::~ListUsersRequest()
+{}
+
+std::string ListUsersRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListUsersRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int ListUsersRequest::getGender()const
+{
+	return gender_;
+}
+
+void ListUsersRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string ListUsersRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void ListUsersRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string ListUsersRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void ListUsersRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+std::string ListUsersRequest::getFaceImageUrl()const
+{
+	return faceImageUrl_;
+}
+
+void ListUsersRequest::setFaceImageUrl(const std::string& faceImageUrl)
+{
+	faceImageUrl_ = faceImageUrl;
+	setBodyParameter("FaceImageUrl", faceImageUrl);
+}
+
+long ListUsersRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListUsersRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListUsersRequest::getAttachment()const
+{
+	return attachment_;
+}
+
+void ListUsersRequest::setAttachment(const std::string& attachment)
+{
+	attachment_ = attachment;
+	setBodyParameter("Attachment", attachment);
+}
+
+long ListUsersRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListUsersRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListUsersRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void ListUsersRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string ListUsersRequest::getAddress()const
+{
+	return address_;
+}
+
+void ListUsersRequest::setAddress(const std::string& address)
+{
+	address_ = address;
+	setBodyParameter("Address", address);
+}
+
+long ListUsersRequest::getUserGroupId()const
+{
+	return userGroupId_;
+}
+
+void ListUsersRequest::setUserGroupId(long userGroupId)
+{
+	userGroupId_ = userGroupId;
+	setBodyParameter("UserGroupId", std::to_string(userGroupId));
+}
+
+std::string ListUsersRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void ListUsersRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+std::string ListUsersRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void ListUsersRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+
+int ListUsersRequest::getAge()const
+{
+	return age_;
+}
+
+void ListUsersRequest::setAge(int age)
+{
+	age_ = age;
+	setBodyParameter("Age", std::to_string(age));
+}
+
+std::string ListUsersRequest::getUserName()const
+{
+	return userName_;
+}
+
+void ListUsersRequest::setUserName(const std::string& userName)
+{
+	userName_ = userName;
+	setBodyParameter("UserName", userName);
+}
+

+ 98 - 0
vcs/src/model/ListUsersResult.cc

@@ -0,0 +1,98 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/ListUsersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListUsersResult::ListUsersResult() :
+	ServiceResult()
+{}
+
+ListUsersResult::ListUsersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUsersResult::~ListUsersResult()
+{}
+
+void ListUsersResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageNumber"].isNull())
+		data_.pageNumber = std::stol(dataNode["PageNumber"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stol(dataNode["PageSize"].asString());
+	if(!dataNode["Success"].isNull())
+		data_.success = std::stol(dataNode["Success"].asString());
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stol(dataNode["Total"].asString());
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["UserGroupId"].isNull())
+			recordsItemObject.userGroupId = std::stoi(dataNodeRecordsRecordsItem["UserGroupId"].asString());
+		if(!dataNodeRecordsRecordsItem["Age"].isNull())
+			recordsItemObject.age = dataNodeRecordsRecordsItem["Age"].asString();
+		if(!dataNodeRecordsRecordsItem["Attachment"].isNull())
+			recordsItemObject.attachment = dataNodeRecordsRecordsItem["Attachment"].asString();
+		if(!dataNodeRecordsRecordsItem["BizId"].isNull())
+			recordsItemObject.bizId = dataNodeRecordsRecordsItem["BizId"].asString();
+		if(!dataNodeRecordsRecordsItem["FaceImageUrl"].isNull())
+			recordsItemObject.faceImageUrl = dataNodeRecordsRecordsItem["FaceImageUrl"].asString();
+		if(!dataNodeRecordsRecordsItem["Gender"].isNull())
+			recordsItemObject.gender = dataNodeRecordsRecordsItem["Gender"].asString();
+		if(!dataNodeRecordsRecordsItem["IdNumber"].isNull())
+			recordsItemObject.idNumber = dataNodeRecordsRecordsItem["IdNumber"].asString();
+		if(!dataNodeRecordsRecordsItem["UserId"].isNull())
+			recordsItemObject.userId = std::stoi(dataNodeRecordsRecordsItem["UserId"].asString());
+		if(!dataNodeRecordsRecordsItem["UserName"].isNull())
+			recordsItemObject.userName = dataNodeRecordsRecordsItem["UserName"].asString();
+		if(!dataNodeRecordsRecordsItem["IsvSubId"].isNull())
+			recordsItemObject.isvSubId = dataNodeRecordsRecordsItem["IsvSubId"].asString();
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ListUsersResult::getMessage()const
+{
+	return message_;
+}
+
+ListUsersResult::Data ListUsersResult::getData()const
+{
+	return data_;
+}
+
+std::string ListUsersResult::getCode()const
+{
+	return code_;
+}
+

+ 51 - 0
vcs/src/model/UnbindCorpGroupRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/UnbindCorpGroupRequest.h>
+
+using AlibabaCloud::Vcs::Model::UnbindCorpGroupRequest;
+
+UnbindCorpGroupRequest::UnbindCorpGroupRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UnbindCorpGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnbindCorpGroupRequest::~UnbindCorpGroupRequest()
+{}
+
+std::string UnbindCorpGroupRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UnbindCorpGroupRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string UnbindCorpGroupRequest::getCorpGroupId()const
+{
+	return corpGroupId_;
+}
+
+void UnbindCorpGroupRequest::setCorpGroupId(const std::string& corpGroupId)
+{
+	corpGroupId_ = corpGroupId;
+	setBodyParameter("CorpGroupId", corpGroupId);
+}
+

+ 65 - 0
vcs/src/model/UnbindCorpGroupResult.cc

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

+ 62 - 0
vcs/src/model/UnbindUserRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/UnbindUserRequest.h>
+
+using AlibabaCloud::Vcs::Model::UnbindUserRequest;
+
+UnbindUserRequest::UnbindUserRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UnbindUser")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnbindUserRequest::~UnbindUserRequest()
+{}
+
+std::string UnbindUserRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UnbindUserRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UnbindUserRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UnbindUserRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long UnbindUserRequest::getUserId()const
+{
+	return userId_;
+}
+
+void UnbindUserRequest::setUserId(long userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", std::to_string(userId));
+}
+

+ 65 - 0
vcs/src/model/UnbindUserResult.cc

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

+ 73 - 0
vcs/src/model/UpdateUserGroupRequest.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/vcs/model/UpdateUserGroupRequest.h>
+
+using AlibabaCloud::Vcs::Model::UpdateUserGroupRequest;
+
+UpdateUserGroupRequest::UpdateUserGroupRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UpdateUserGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateUserGroupRequest::~UpdateUserGroupRequest()
+{}
+
+std::string UpdateUserGroupRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UpdateUserGroupRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UpdateUserGroupRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UpdateUserGroupRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long UpdateUserGroupRequest::getUserGroupId()const
+{
+	return userGroupId_;
+}
+
+void UpdateUserGroupRequest::setUserGroupId(long userGroupId)
+{
+	userGroupId_ = userGroupId;
+	setBodyParameter("UserGroupId", std::to_string(userGroupId));
+}
+
+std::string UpdateUserGroupRequest::getUserGroupName()const
+{
+	return userGroupName_;
+}
+
+void UpdateUserGroupRequest::setUserGroupName(const std::string& userGroupName)
+{
+	userGroupName_ = userGroupName;
+	setBodyParameter("UserGroupName", userGroupName);
+}
+

+ 74 - 0
vcs/src/model/UpdateUserGroupResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/vcs/model/UpdateUserGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+UpdateUserGroupResult::UpdateUserGroupResult() :
+	ServiceResult()
+{}
+
+UpdateUserGroupResult::UpdateUserGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateUserGroupResult::~UpdateUserGroupResult()
+{}
+
+void UpdateUserGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["UserGroupId"].isNull())
+		data_.userGroupId = std::stol(dataNode["UserGroupId"].asString());
+	if(!dataNode["IsvSubId"].isNull())
+		data_.isvSubId = dataNode["IsvSubId"].asString();
+	if(!dataNode["UserGroupName"].isNull())
+		data_.userGroupName = dataNode["UserGroupName"].asString();
+	if(!dataNode["UserCount"].isNull())
+		data_.userCount = std::stol(dataNode["UserCount"].asString());
+	if(!dataNode["ParentUserGroupId"].isNull())
+		data_.parentUserGroupId = dataNode["ParentUserGroupId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateUserGroupResult::getMessage()const
+{
+	return message_;
+}
+
+UpdateUserGroupResult::Data UpdateUserGroupResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateUserGroupResult::getCode()const
+{
+	return code_;
+}
+

+ 194 - 0
vcs/src/model/UpdateUserRequest.cc

@@ -0,0 +1,194 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/UpdateUserRequest.h>
+
+using AlibabaCloud::Vcs::Model::UpdateUserRequest;
+
+UpdateUserRequest::UpdateUserRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UpdateUser")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateUserRequest::~UpdateUserRequest()
+{}
+
+std::string UpdateUserRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UpdateUserRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string UpdateUserRequest::getFaceImageContent()const
+{
+	return faceImageContent_;
+}
+
+void UpdateUserRequest::setFaceImageContent(const std::string& faceImageContent)
+{
+	faceImageContent_ = faceImageContent;
+	setBodyParameter("FaceImageContent", faceImageContent);
+}
+
+int UpdateUserRequest::getGender()const
+{
+	return gender_;
+}
+
+void UpdateUserRequest::setGender(int gender)
+{
+	gender_ = gender;
+	setBodyParameter("Gender", std::to_string(gender));
+}
+
+std::string UpdateUserRequest::getPlateNo()const
+{
+	return plateNo_;
+}
+
+void UpdateUserRequest::setPlateNo(const std::string& plateNo)
+{
+	plateNo_ = plateNo;
+	setBodyParameter("PlateNo", plateNo);
+}
+
+std::string UpdateUserRequest::getIdNumber()const
+{
+	return idNumber_;
+}
+
+void UpdateUserRequest::setIdNumber(const std::string& idNumber)
+{
+	idNumber_ = idNumber;
+	setBodyParameter("IdNumber", idNumber);
+}
+
+std::string UpdateUserRequest::getFaceImageUrl()const
+{
+	return faceImageUrl_;
+}
+
+void UpdateUserRequest::setFaceImageUrl(const std::string& faceImageUrl)
+{
+	faceImageUrl_ = faceImageUrl;
+	setBodyParameter("FaceImageUrl", faceImageUrl);
+}
+
+long UpdateUserRequest::getUserId()const
+{
+	return userId_;
+}
+
+void UpdateUserRequest::setUserId(long userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", std::to_string(userId));
+}
+
+std::string UpdateUserRequest::getAttachment()const
+{
+	return attachment_;
+}
+
+void UpdateUserRequest::setAttachment(const std::string& attachment)
+{
+	attachment_ = attachment;
+	setBodyParameter("Attachment", attachment);
+}
+
+std::string UpdateUserRequest::getIsvSubId()const
+{
+	return isvSubId_;
+}
+
+void UpdateUserRequest::setIsvSubId(const std::string& isvSubId)
+{
+	isvSubId_ = isvSubId;
+	setBodyParameter("IsvSubId", isvSubId);
+}
+
+std::string UpdateUserRequest::getAddress()const
+{
+	return address_;
+}
+
+void UpdateUserRequest::setAddress(const std::string& address)
+{
+	address_ = address;
+	setBodyParameter("Address", address);
+}
+
+long UpdateUserRequest::getUserGroupId()const
+{
+	return userGroupId_;
+}
+
+void UpdateUserRequest::setUserGroupId(long userGroupId)
+{
+	userGroupId_ = userGroupId;
+	setBodyParameter("UserGroupId", std::to_string(userGroupId));
+}
+
+std::string UpdateUserRequest::getPhoneNo()const
+{
+	return phoneNo_;
+}
+
+void UpdateUserRequest::setPhoneNo(const std::string& phoneNo)
+{
+	phoneNo_ = phoneNo;
+	setBodyParameter("PhoneNo", phoneNo);
+}
+
+std::string UpdateUserRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void UpdateUserRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+
+int UpdateUserRequest::getAge()const
+{
+	return age_;
+}
+
+void UpdateUserRequest::setAge(int age)
+{
+	age_ = age;
+	setBodyParameter("Age", std::to_string(age));
+}
+
+std::string UpdateUserRequest::getUserName()const
+{
+	return userName_;
+}
+
+void UpdateUserRequest::setUserName(const std::string& userName)
+{
+	userName_ = userName;
+	setBodyParameter("UserName", userName);
+}
+

+ 65 - 0
vcs/src/model/UpdateUserResult.cc

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

+ 40 - 0
vcs/src/model/UploadImageRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/vcs/model/UploadImageRequest.h>
+
+using AlibabaCloud::Vcs::Model::UploadImageRequest;
+
+UploadImageRequest::UploadImageRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "UploadImage")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UploadImageRequest::~UploadImageRequest()
+{}
+
+std::string UploadImageRequest::getImageUrl()const
+{
+	return imageUrl_;
+}
+
+void UploadImageRequest::setImageUrl(const std::string& imageUrl)
+{
+	imageUrl_ = imageUrl;
+	setBodyParameter("ImageUrl", imageUrl);
+}
+

+ 65 - 0
vcs/src/model/UploadImageResult.cc

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