Эх сурвалжийг харах

Generated 2023-01-20 for csas.

sdk-team 2 жил өмнө
parent
commit
83f9047345
66 өөрчлөгдсөн 3953 нэмэгдсэн , 1 устгасан
  1. 1 1
      VERSION
  2. 60 0
      csas/CMakeLists.txt
  3. 120 0
      csas/include/alibabacloud/csas/CsasClient.h
  4. 60 0
      csas/include/alibabacloud/csas/model/CreateClientUserRequest.h
  5. 51 0
      csas/include/alibabacloud/csas/model/CreateClientUserResult.h
  6. 45 0
      csas/include/alibabacloud/csas/model/CreateIdpDepartmentRequest.h
  7. 51 0
      csas/include/alibabacloud/csas/model/CreateIdpDepartmentResult.h
  8. 42 0
      csas/include/alibabacloud/csas/model/DeleteClientUserRequest.h
  9. 49 0
      csas/include/alibabacloud/csas/model/DeleteClientUserResult.h
  10. 45 0
      csas/include/alibabacloud/csas/model/DeleteIdpDepartmentRequest.h
  11. 49 0
      csas/include/alibabacloud/csas/model/DeleteIdpDepartmentResult.h
  12. 39 0
      csas/include/alibabacloud/csas/model/GetActiveIdpConfigRequest.h
  13. 58 0
      csas/include/alibabacloud/csas/model/GetActiveIdpConfigResult.h
  14. 45 0
      csas/include/alibabacloud/csas/model/GetClientUserRequest.h
  15. 69 0
      csas/include/alibabacloud/csas/model/GetClientUserResult.h
  16. 42 0
      csas/include/alibabacloud/csas/model/GetIdpConfigRequest.h
  17. 72 0
      csas/include/alibabacloud/csas/model/GetIdpConfigResult.h
  18. 63 0
      csas/include/alibabacloud/csas/model/ListClientUsersRequest.h
  19. 74 0
      csas/include/alibabacloud/csas/model/ListClientUsersResult.h
  20. 48 0
      csas/include/alibabacloud/csas/model/ListIdpConfigsRequest.h
  21. 70 0
      csas/include/alibabacloud/csas/model/ListIdpConfigsResult.h
  22. 48 0
      csas/include/alibabacloud/csas/model/ListIdpDepartmentsRequest.h
  23. 62 0
      csas/include/alibabacloud/csas/model/ListIdpDepartmentsResult.h
  24. 3 0
      csas/include/alibabacloud/csas/model/ListUserDevicesRequest.h
  25. 45 0
      csas/include/alibabacloud/csas/model/RevokeUserSessionRequest.h
  26. 49 0
      csas/include/alibabacloud/csas/model/RevokeUserSessionResult.h
  27. 48 0
      csas/include/alibabacloud/csas/model/UpdateClientUserPasswordRequest.h
  28. 49 0
      csas/include/alibabacloud/csas/model/UpdateClientUserPasswordResult.h
  29. 54 0
      csas/include/alibabacloud/csas/model/UpdateClientUserRequest.h
  30. 49 0
      csas/include/alibabacloud/csas/model/UpdateClientUserResult.h
  31. 45 0
      csas/include/alibabacloud/csas/model/UpdateClientUserStatusRequest.h
  32. 49 0
      csas/include/alibabacloud/csas/model/UpdateClientUserStatusResult.h
  33. 48 0
      csas/include/alibabacloud/csas/model/UpdateIdpDepartmentRequest.h
  34. 49 0
      csas/include/alibabacloud/csas/model/UpdateIdpDepartmentResult.h
  35. 540 0
      csas/src/CsasClient.cc
  36. 90 0
      csas/src/model/CreateClientUserRequest.cc
  37. 51 0
      csas/src/model/CreateClientUserResult.cc
  38. 45 0
      csas/src/model/CreateIdpDepartmentRequest.cc
  39. 51 0
      csas/src/model/CreateIdpDepartmentResult.cc
  40. 36 0
      csas/src/model/DeleteClientUserRequest.cc
  41. 44 0
      csas/src/model/DeleteClientUserResult.cc
  42. 45 0
      csas/src/model/DeleteIdpDepartmentRequest.cc
  43. 44 0
      csas/src/model/DeleteIdpDepartmentResult.cc
  44. 27 0
      csas/src/model/GetActiveIdpConfigRequest.cc
  45. 58 0
      csas/src/model/GetActiveIdpConfigResult.cc
  46. 45 0
      csas/src/model/GetClientUserRequest.cc
  47. 73 0
      csas/src/model/GetClientUserResult.cc
  48. 36 0
      csas/src/model/GetIdpConfigRequest.cc
  49. 86 0
      csas/src/model/GetIdpConfigResult.cc
  50. 99 0
      csas/src/model/ListClientUsersRequest.cc
  51. 81 0
      csas/src/model/ListClientUsersResult.cc
  52. 54 0
      csas/src/model/ListIdpConfigsRequest.cc
  53. 80 0
      csas/src/model/ListIdpConfigsResult.cc
  54. 54 0
      csas/src/model/ListIdpDepartmentsRequest.cc
  55. 64 0
      csas/src/model/ListIdpDepartmentsResult.cc
  56. 9 0
      csas/src/model/ListUserDevicesRequest.cc
  57. 45 0
      csas/src/model/RevokeUserSessionRequest.cc
  58. 44 0
      csas/src/model/RevokeUserSessionResult.cc
  59. 54 0
      csas/src/model/UpdateClientUserPasswordRequest.cc
  60. 44 0
      csas/src/model/UpdateClientUserPasswordResult.cc
  61. 72 0
      csas/src/model/UpdateClientUserRequest.cc
  62. 44 0
      csas/src/model/UpdateClientUserResult.cc
  63. 45 0
      csas/src/model/UpdateClientUserStatusRequest.cc
  64. 44 0
      csas/src/model/UpdateClientUserStatusResult.cc
  65. 54 0
      csas/src/model/UpdateIdpDepartmentRequest.cc
  66. 44 0
      csas/src/model/UpdateIdpDepartmentResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1925
+1.36.1926

+ 60 - 0
csas/CMakeLists.txt

@@ -23,8 +23,12 @@ set(csas_public_header
 set(csas_public_header_model 
 	include/alibabacloud/csas/model/AttachApplication2ConnectorRequest.h
 	include/alibabacloud/csas/model/AttachApplication2ConnectorResult.h
+	include/alibabacloud/csas/model/CreateClientUserRequest.h
+	include/alibabacloud/csas/model/CreateClientUserResult.h
 	include/alibabacloud/csas/model/CreateDynamicRouteRequest.h
 	include/alibabacloud/csas/model/CreateDynamicRouteResult.h
+	include/alibabacloud/csas/model/CreateIdpDepartmentRequest.h
+	include/alibabacloud/csas/model/CreateIdpDepartmentResult.h
 	include/alibabacloud/csas/model/CreatePrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/CreatePrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/CreatePrivateAccessPolicyRequest.h
@@ -35,8 +39,12 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/CreateRegistrationPolicyResult.h
 	include/alibabacloud/csas/model/CreateUserGroupRequest.h
 	include/alibabacloud/csas/model/CreateUserGroupResult.h
+	include/alibabacloud/csas/model/DeleteClientUserRequest.h
+	include/alibabacloud/csas/model/DeleteClientUserResult.h
 	include/alibabacloud/csas/model/DeleteDynamicRouteRequest.h
 	include/alibabacloud/csas/model/DeleteDynamicRouteResult.h
+	include/alibabacloud/csas/model/DeleteIdpDepartmentRequest.h
+	include/alibabacloud/csas/model/DeleteIdpDepartmentResult.h
 	include/alibabacloud/csas/model/DeletePrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/DeletePrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/DeletePrivateAccessPolicyRequest.h
@@ -49,8 +57,14 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/DeleteUserGroupResult.h
 	include/alibabacloud/csas/model/DetachApplication2ConnectorRequest.h
 	include/alibabacloud/csas/model/DetachApplication2ConnectorResult.h
+	include/alibabacloud/csas/model/GetActiveIdpConfigRequest.h
+	include/alibabacloud/csas/model/GetActiveIdpConfigResult.h
+	include/alibabacloud/csas/model/GetClientUserRequest.h
+	include/alibabacloud/csas/model/GetClientUserResult.h
 	include/alibabacloud/csas/model/GetDynamicRouteRequest.h
 	include/alibabacloud/csas/model/GetDynamicRouteResult.h
+	include/alibabacloud/csas/model/GetIdpConfigRequest.h
+	include/alibabacloud/csas/model/GetIdpConfigResult.h
 	include/alibabacloud/csas/model/GetPrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/GetPrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/GetPrivateAccessPolicyRequest.h
@@ -65,6 +79,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListApplicationsForPrivateAccessPolicyResult.h
 	include/alibabacloud/csas/model/ListApplicationsForPrivateAccessTagRequest.h
 	include/alibabacloud/csas/model/ListApplicationsForPrivateAccessTagResult.h
+	include/alibabacloud/csas/model/ListClientUsersRequest.h
+	include/alibabacloud/csas/model/ListClientUsersResult.h
 	include/alibabacloud/csas/model/ListConnectorsRequest.h
 	include/alibabacloud/csas/model/ListConnectorsResult.h
 	include/alibabacloud/csas/model/ListDynamicRouteRegionsRequest.h
@@ -73,6 +89,10 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListDynamicRoutesResult.h
 	include/alibabacloud/csas/model/ListExcessiveDeviceRegistrationApplicationsRequest.h
 	include/alibabacloud/csas/model/ListExcessiveDeviceRegistrationApplicationsResult.h
+	include/alibabacloud/csas/model/ListIdpConfigsRequest.h
+	include/alibabacloud/csas/model/ListIdpConfigsResult.h
+	include/alibabacloud/csas/model/ListIdpDepartmentsRequest.h
+	include/alibabacloud/csas/model/ListIdpDepartmentsResult.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessTagRequest.h
@@ -111,10 +131,20 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListUserGroupsForRegistrationPolicyResult.h
 	include/alibabacloud/csas/model/ListUsersRequest.h
 	include/alibabacloud/csas/model/ListUsersResult.h
+	include/alibabacloud/csas/model/RevokeUserSessionRequest.h
+	include/alibabacloud/csas/model/RevokeUserSessionResult.h
+	include/alibabacloud/csas/model/UpdateClientUserRequest.h
+	include/alibabacloud/csas/model/UpdateClientUserResult.h
+	include/alibabacloud/csas/model/UpdateClientUserPasswordRequest.h
+	include/alibabacloud/csas/model/UpdateClientUserPasswordResult.h
+	include/alibabacloud/csas/model/UpdateClientUserStatusRequest.h
+	include/alibabacloud/csas/model/UpdateClientUserStatusResult.h
 	include/alibabacloud/csas/model/UpdateDynamicRouteRequest.h
 	include/alibabacloud/csas/model/UpdateDynamicRouteResult.h
 	include/alibabacloud/csas/model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.h
 	include/alibabacloud/csas/model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.h
+	include/alibabacloud/csas/model/UpdateIdpDepartmentRequest.h
+	include/alibabacloud/csas/model/UpdateIdpDepartmentResult.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessPolicyRequest.h
@@ -134,8 +164,12 @@ set(csas_src
 	src/CsasClient.cc
 	src/model/AttachApplication2ConnectorRequest.cc
 	src/model/AttachApplication2ConnectorResult.cc
+	src/model/CreateClientUserRequest.cc
+	src/model/CreateClientUserResult.cc
 	src/model/CreateDynamicRouteRequest.cc
 	src/model/CreateDynamicRouteResult.cc
+	src/model/CreateIdpDepartmentRequest.cc
+	src/model/CreateIdpDepartmentResult.cc
 	src/model/CreatePrivateAccessApplicationRequest.cc
 	src/model/CreatePrivateAccessApplicationResult.cc
 	src/model/CreatePrivateAccessPolicyRequest.cc
@@ -146,8 +180,12 @@ set(csas_src
 	src/model/CreateRegistrationPolicyResult.cc
 	src/model/CreateUserGroupRequest.cc
 	src/model/CreateUserGroupResult.cc
+	src/model/DeleteClientUserRequest.cc
+	src/model/DeleteClientUserResult.cc
 	src/model/DeleteDynamicRouteRequest.cc
 	src/model/DeleteDynamicRouteResult.cc
+	src/model/DeleteIdpDepartmentRequest.cc
+	src/model/DeleteIdpDepartmentResult.cc
 	src/model/DeletePrivateAccessApplicationRequest.cc
 	src/model/DeletePrivateAccessApplicationResult.cc
 	src/model/DeletePrivateAccessPolicyRequest.cc
@@ -160,8 +198,14 @@ set(csas_src
 	src/model/DeleteUserGroupResult.cc
 	src/model/DetachApplication2ConnectorRequest.cc
 	src/model/DetachApplication2ConnectorResult.cc
+	src/model/GetActiveIdpConfigRequest.cc
+	src/model/GetActiveIdpConfigResult.cc
+	src/model/GetClientUserRequest.cc
+	src/model/GetClientUserResult.cc
 	src/model/GetDynamicRouteRequest.cc
 	src/model/GetDynamicRouteResult.cc
+	src/model/GetIdpConfigRequest.cc
+	src/model/GetIdpConfigResult.cc
 	src/model/GetPrivateAccessApplicationRequest.cc
 	src/model/GetPrivateAccessApplicationResult.cc
 	src/model/GetPrivateAccessPolicyRequest.cc
@@ -176,6 +220,8 @@ set(csas_src
 	src/model/ListApplicationsForPrivateAccessPolicyResult.cc
 	src/model/ListApplicationsForPrivateAccessTagRequest.cc
 	src/model/ListApplicationsForPrivateAccessTagResult.cc
+	src/model/ListClientUsersRequest.cc
+	src/model/ListClientUsersResult.cc
 	src/model/ListConnectorsRequest.cc
 	src/model/ListConnectorsResult.cc
 	src/model/ListDynamicRouteRegionsRequest.cc
@@ -184,6 +230,10 @@ set(csas_src
 	src/model/ListDynamicRoutesResult.cc
 	src/model/ListExcessiveDeviceRegistrationApplicationsRequest.cc
 	src/model/ListExcessiveDeviceRegistrationApplicationsResult.cc
+	src/model/ListIdpConfigsRequest.cc
+	src/model/ListIdpConfigsResult.cc
+	src/model/ListIdpDepartmentsRequest.cc
+	src/model/ListIdpDepartmentsResult.cc
 	src/model/ListPolicesForPrivateAccessApplicationRequest.cc
 	src/model/ListPolicesForPrivateAccessApplicationResult.cc
 	src/model/ListPolicesForPrivateAccessTagRequest.cc
@@ -222,10 +272,20 @@ set(csas_src
 	src/model/ListUserGroupsForRegistrationPolicyResult.cc
 	src/model/ListUsersRequest.cc
 	src/model/ListUsersResult.cc
+	src/model/RevokeUserSessionRequest.cc
+	src/model/RevokeUserSessionResult.cc
+	src/model/UpdateClientUserRequest.cc
+	src/model/UpdateClientUserResult.cc
+	src/model/UpdateClientUserPasswordRequest.cc
+	src/model/UpdateClientUserPasswordResult.cc
+	src/model/UpdateClientUserStatusRequest.cc
+	src/model/UpdateClientUserStatusResult.cc
 	src/model/UpdateDynamicRouteRequest.cc
 	src/model/UpdateDynamicRouteResult.cc
 	src/model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.cc
 	src/model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.cc
+	src/model/UpdateIdpDepartmentRequest.cc
+	src/model/UpdateIdpDepartmentResult.cc
 	src/model/UpdatePrivateAccessApplicationRequest.cc
 	src/model/UpdatePrivateAccessApplicationResult.cc
 	src/model/UpdatePrivateAccessPolicyRequest.cc

+ 120 - 0
csas/include/alibabacloud/csas/CsasClient.h

@@ -24,8 +24,12 @@
 #include "CsasExport.h"
 #include "model/AttachApplication2ConnectorRequest.h"
 #include "model/AttachApplication2ConnectorResult.h"
+#include "model/CreateClientUserRequest.h"
+#include "model/CreateClientUserResult.h"
 #include "model/CreateDynamicRouteRequest.h"
 #include "model/CreateDynamicRouteResult.h"
+#include "model/CreateIdpDepartmentRequest.h"
+#include "model/CreateIdpDepartmentResult.h"
 #include "model/CreatePrivateAccessApplicationRequest.h"
 #include "model/CreatePrivateAccessApplicationResult.h"
 #include "model/CreatePrivateAccessPolicyRequest.h"
@@ -36,8 +40,12 @@
 #include "model/CreateRegistrationPolicyResult.h"
 #include "model/CreateUserGroupRequest.h"
 #include "model/CreateUserGroupResult.h"
+#include "model/DeleteClientUserRequest.h"
+#include "model/DeleteClientUserResult.h"
 #include "model/DeleteDynamicRouteRequest.h"
 #include "model/DeleteDynamicRouteResult.h"
+#include "model/DeleteIdpDepartmentRequest.h"
+#include "model/DeleteIdpDepartmentResult.h"
 #include "model/DeletePrivateAccessApplicationRequest.h"
 #include "model/DeletePrivateAccessApplicationResult.h"
 #include "model/DeletePrivateAccessPolicyRequest.h"
@@ -50,8 +58,14 @@
 #include "model/DeleteUserGroupResult.h"
 #include "model/DetachApplication2ConnectorRequest.h"
 #include "model/DetachApplication2ConnectorResult.h"
+#include "model/GetActiveIdpConfigRequest.h"
+#include "model/GetActiveIdpConfigResult.h"
+#include "model/GetClientUserRequest.h"
+#include "model/GetClientUserResult.h"
 #include "model/GetDynamicRouteRequest.h"
 #include "model/GetDynamicRouteResult.h"
+#include "model/GetIdpConfigRequest.h"
+#include "model/GetIdpConfigResult.h"
 #include "model/GetPrivateAccessApplicationRequest.h"
 #include "model/GetPrivateAccessApplicationResult.h"
 #include "model/GetPrivateAccessPolicyRequest.h"
@@ -66,6 +80,8 @@
 #include "model/ListApplicationsForPrivateAccessPolicyResult.h"
 #include "model/ListApplicationsForPrivateAccessTagRequest.h"
 #include "model/ListApplicationsForPrivateAccessTagResult.h"
+#include "model/ListClientUsersRequest.h"
+#include "model/ListClientUsersResult.h"
 #include "model/ListConnectorsRequest.h"
 #include "model/ListConnectorsResult.h"
 #include "model/ListDynamicRouteRegionsRequest.h"
@@ -74,6 +90,10 @@
 #include "model/ListDynamicRoutesResult.h"
 #include "model/ListExcessiveDeviceRegistrationApplicationsRequest.h"
 #include "model/ListExcessiveDeviceRegistrationApplicationsResult.h"
+#include "model/ListIdpConfigsRequest.h"
+#include "model/ListIdpConfigsResult.h"
+#include "model/ListIdpDepartmentsRequest.h"
+#include "model/ListIdpDepartmentsResult.h"
 #include "model/ListPolicesForPrivateAccessApplicationRequest.h"
 #include "model/ListPolicesForPrivateAccessApplicationResult.h"
 #include "model/ListPolicesForPrivateAccessTagRequest.h"
@@ -112,10 +132,20 @@
 #include "model/ListUserGroupsForRegistrationPolicyResult.h"
 #include "model/ListUsersRequest.h"
 #include "model/ListUsersResult.h"
+#include "model/RevokeUserSessionRequest.h"
+#include "model/RevokeUserSessionResult.h"
+#include "model/UpdateClientUserRequest.h"
+#include "model/UpdateClientUserResult.h"
+#include "model/UpdateClientUserPasswordRequest.h"
+#include "model/UpdateClientUserPasswordResult.h"
+#include "model/UpdateClientUserStatusRequest.h"
+#include "model/UpdateClientUserStatusResult.h"
 #include "model/UpdateDynamicRouteRequest.h"
 #include "model/UpdateDynamicRouteResult.h"
 #include "model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.h"
 #include "model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.h"
+#include "model/UpdateIdpDepartmentRequest.h"
+#include "model/UpdateIdpDepartmentResult.h"
 #include "model/UpdatePrivateAccessApplicationRequest.h"
 #include "model/UpdatePrivateAccessApplicationResult.h"
 #include "model/UpdatePrivateAccessPolicyRequest.h"
@@ -142,9 +172,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AttachApplication2ConnectorResult> AttachApplication2ConnectorOutcome;
 			typedef std::future<AttachApplication2ConnectorOutcome> AttachApplication2ConnectorOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::AttachApplication2ConnectorRequest&, const AttachApplication2ConnectorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachApplication2ConnectorAsyncHandler;
+			typedef Outcome<Error, Model::CreateClientUserResult> CreateClientUserOutcome;
+			typedef std::future<CreateClientUserOutcome> CreateClientUserOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::CreateClientUserRequest&, const CreateClientUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateClientUserAsyncHandler;
 			typedef Outcome<Error, Model::CreateDynamicRouteResult> CreateDynamicRouteOutcome;
 			typedef std::future<CreateDynamicRouteOutcome> CreateDynamicRouteOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::CreateDynamicRouteRequest&, const CreateDynamicRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDynamicRouteAsyncHandler;
+			typedef Outcome<Error, Model::CreateIdpDepartmentResult> CreateIdpDepartmentOutcome;
+			typedef std::future<CreateIdpDepartmentOutcome> CreateIdpDepartmentOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::CreateIdpDepartmentRequest&, const CreateIdpDepartmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateIdpDepartmentAsyncHandler;
 			typedef Outcome<Error, Model::CreatePrivateAccessApplicationResult> CreatePrivateAccessApplicationOutcome;
 			typedef std::future<CreatePrivateAccessApplicationOutcome> CreatePrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::CreatePrivateAccessApplicationRequest&, const CreatePrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePrivateAccessApplicationAsyncHandler;
@@ -160,9 +196,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateUserGroupResult> CreateUserGroupOutcome;
 			typedef std::future<CreateUserGroupOutcome> CreateUserGroupOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::CreateUserGroupRequest&, const CreateUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUserGroupAsyncHandler;
+			typedef Outcome<Error, Model::DeleteClientUserResult> DeleteClientUserOutcome;
+			typedef std::future<DeleteClientUserOutcome> DeleteClientUserOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::DeleteClientUserRequest&, const DeleteClientUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClientUserAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDynamicRouteResult> DeleteDynamicRouteOutcome;
 			typedef std::future<DeleteDynamicRouteOutcome> DeleteDynamicRouteOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::DeleteDynamicRouteRequest&, const DeleteDynamicRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDynamicRouteAsyncHandler;
+			typedef Outcome<Error, Model::DeleteIdpDepartmentResult> DeleteIdpDepartmentOutcome;
+			typedef std::future<DeleteIdpDepartmentOutcome> DeleteIdpDepartmentOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::DeleteIdpDepartmentRequest&, const DeleteIdpDepartmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteIdpDepartmentAsyncHandler;
 			typedef Outcome<Error, Model::DeletePrivateAccessApplicationResult> DeletePrivateAccessApplicationOutcome;
 			typedef std::future<DeletePrivateAccessApplicationOutcome> DeletePrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::DeletePrivateAccessApplicationRequest&, const DeletePrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePrivateAccessApplicationAsyncHandler;
@@ -181,9 +223,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DetachApplication2ConnectorResult> DetachApplication2ConnectorOutcome;
 			typedef std::future<DetachApplication2ConnectorOutcome> DetachApplication2ConnectorOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::DetachApplication2ConnectorRequest&, const DetachApplication2ConnectorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachApplication2ConnectorAsyncHandler;
+			typedef Outcome<Error, Model::GetActiveIdpConfigResult> GetActiveIdpConfigOutcome;
+			typedef std::future<GetActiveIdpConfigOutcome> GetActiveIdpConfigOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetActiveIdpConfigRequest&, const GetActiveIdpConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetActiveIdpConfigAsyncHandler;
+			typedef Outcome<Error, Model::GetClientUserResult> GetClientUserOutcome;
+			typedef std::future<GetClientUserOutcome> GetClientUserOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetClientUserRequest&, const GetClientUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetClientUserAsyncHandler;
 			typedef Outcome<Error, Model::GetDynamicRouteResult> GetDynamicRouteOutcome;
 			typedef std::future<GetDynamicRouteOutcome> GetDynamicRouteOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::GetDynamicRouteRequest&, const GetDynamicRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDynamicRouteAsyncHandler;
+			typedef Outcome<Error, Model::GetIdpConfigResult> GetIdpConfigOutcome;
+			typedef std::future<GetIdpConfigOutcome> GetIdpConfigOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetIdpConfigRequest&, const GetIdpConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetIdpConfigAsyncHandler;
 			typedef Outcome<Error, Model::GetPrivateAccessApplicationResult> GetPrivateAccessApplicationOutcome;
 			typedef std::future<GetPrivateAccessApplicationOutcome> GetPrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::GetPrivateAccessApplicationRequest&, const GetPrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPrivateAccessApplicationAsyncHandler;
@@ -205,6 +256,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListApplicationsForPrivateAccessTagResult> ListApplicationsForPrivateAccessTagOutcome;
 			typedef std::future<ListApplicationsForPrivateAccessTagOutcome> ListApplicationsForPrivateAccessTagOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListApplicationsForPrivateAccessTagRequest&, const ListApplicationsForPrivateAccessTagOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApplicationsForPrivateAccessTagAsyncHandler;
+			typedef Outcome<Error, Model::ListClientUsersResult> ListClientUsersOutcome;
+			typedef std::future<ListClientUsersOutcome> ListClientUsersOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListClientUsersRequest&, const ListClientUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClientUsersAsyncHandler;
 			typedef Outcome<Error, Model::ListConnectorsResult> ListConnectorsOutcome;
 			typedef std::future<ListConnectorsOutcome> ListConnectorsOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListConnectorsRequest&, const ListConnectorsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListConnectorsAsyncHandler;
@@ -217,6 +271,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListExcessiveDeviceRegistrationApplicationsResult> ListExcessiveDeviceRegistrationApplicationsOutcome;
 			typedef std::future<ListExcessiveDeviceRegistrationApplicationsOutcome> ListExcessiveDeviceRegistrationApplicationsOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListExcessiveDeviceRegistrationApplicationsRequest&, const ListExcessiveDeviceRegistrationApplicationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListExcessiveDeviceRegistrationApplicationsAsyncHandler;
+			typedef Outcome<Error, Model::ListIdpConfigsResult> ListIdpConfigsOutcome;
+			typedef std::future<ListIdpConfigsOutcome> ListIdpConfigsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListIdpConfigsRequest&, const ListIdpConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIdpConfigsAsyncHandler;
+			typedef Outcome<Error, Model::ListIdpDepartmentsResult> ListIdpDepartmentsOutcome;
+			typedef std::future<ListIdpDepartmentsOutcome> ListIdpDepartmentsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListIdpDepartmentsRequest&, const ListIdpDepartmentsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIdpDepartmentsAsyncHandler;
 			typedef Outcome<Error, Model::ListPolicesForPrivateAccessApplicationResult> ListPolicesForPrivateAccessApplicationOutcome;
 			typedef std::future<ListPolicesForPrivateAccessApplicationOutcome> ListPolicesForPrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListPolicesForPrivateAccessApplicationRequest&, const ListPolicesForPrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPolicesForPrivateAccessApplicationAsyncHandler;
@@ -274,12 +334,27 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListUsersResult> ListUsersOutcome;
 			typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListUsersRequest&, const ListUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUsersAsyncHandler;
+			typedef Outcome<Error, Model::RevokeUserSessionResult> RevokeUserSessionOutcome;
+			typedef std::future<RevokeUserSessionOutcome> RevokeUserSessionOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::RevokeUserSessionRequest&, const RevokeUserSessionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RevokeUserSessionAsyncHandler;
+			typedef Outcome<Error, Model::UpdateClientUserResult> UpdateClientUserOutcome;
+			typedef std::future<UpdateClientUserOutcome> UpdateClientUserOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateClientUserRequest&, const UpdateClientUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateClientUserAsyncHandler;
+			typedef Outcome<Error, Model::UpdateClientUserPasswordResult> UpdateClientUserPasswordOutcome;
+			typedef std::future<UpdateClientUserPasswordOutcome> UpdateClientUserPasswordOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateClientUserPasswordRequest&, const UpdateClientUserPasswordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateClientUserPasswordAsyncHandler;
+			typedef Outcome<Error, Model::UpdateClientUserStatusResult> UpdateClientUserStatusOutcome;
+			typedef std::future<UpdateClientUserStatusOutcome> UpdateClientUserStatusOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateClientUserStatusRequest&, const UpdateClientUserStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateClientUserStatusAsyncHandler;
 			typedef Outcome<Error, Model::UpdateDynamicRouteResult> UpdateDynamicRouteOutcome;
 			typedef std::future<UpdateDynamicRouteOutcome> UpdateDynamicRouteOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateDynamicRouteRequest&, const UpdateDynamicRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDynamicRouteAsyncHandler;
 			typedef Outcome<Error, Model::UpdateExcessiveDeviceRegistrationApplicationsStatusResult> UpdateExcessiveDeviceRegistrationApplicationsStatusOutcome;
 			typedef std::future<UpdateExcessiveDeviceRegistrationApplicationsStatusOutcome> UpdateExcessiveDeviceRegistrationApplicationsStatusOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateExcessiveDeviceRegistrationApplicationsStatusRequest&, const UpdateExcessiveDeviceRegistrationApplicationsStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateExcessiveDeviceRegistrationApplicationsStatusAsyncHandler;
+			typedef Outcome<Error, Model::UpdateIdpDepartmentResult> UpdateIdpDepartmentOutcome;
+			typedef std::future<UpdateIdpDepartmentOutcome> UpdateIdpDepartmentOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateIdpDepartmentRequest&, const UpdateIdpDepartmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateIdpDepartmentAsyncHandler;
 			typedef Outcome<Error, Model::UpdatePrivateAccessApplicationResult> UpdatePrivateAccessApplicationOutcome;
 			typedef std::future<UpdatePrivateAccessApplicationOutcome> UpdatePrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdatePrivateAccessApplicationRequest&, const UpdatePrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePrivateAccessApplicationAsyncHandler;
@@ -309,9 +384,15 @@ namespace AlibabaCloud
 			AttachApplication2ConnectorOutcome attachApplication2Connector(const Model::AttachApplication2ConnectorRequest &request)const;
 			void attachApplication2ConnectorAsync(const Model::AttachApplication2ConnectorRequest& request, const AttachApplication2ConnectorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AttachApplication2ConnectorOutcomeCallable attachApplication2ConnectorCallable(const Model::AttachApplication2ConnectorRequest& request) const;
+			CreateClientUserOutcome createClientUser(const Model::CreateClientUserRequest &request)const;
+			void createClientUserAsync(const Model::CreateClientUserRequest& request, const CreateClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateClientUserOutcomeCallable createClientUserCallable(const Model::CreateClientUserRequest& request) const;
 			CreateDynamicRouteOutcome createDynamicRoute(const Model::CreateDynamicRouteRequest &request)const;
 			void createDynamicRouteAsync(const Model::CreateDynamicRouteRequest& request, const CreateDynamicRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDynamicRouteOutcomeCallable createDynamicRouteCallable(const Model::CreateDynamicRouteRequest& request) const;
+			CreateIdpDepartmentOutcome createIdpDepartment(const Model::CreateIdpDepartmentRequest &request)const;
+			void createIdpDepartmentAsync(const Model::CreateIdpDepartmentRequest& request, const CreateIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateIdpDepartmentOutcomeCallable createIdpDepartmentCallable(const Model::CreateIdpDepartmentRequest& request) const;
 			CreatePrivateAccessApplicationOutcome createPrivateAccessApplication(const Model::CreatePrivateAccessApplicationRequest &request)const;
 			void createPrivateAccessApplicationAsync(const Model::CreatePrivateAccessApplicationRequest& request, const CreatePrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreatePrivateAccessApplicationOutcomeCallable createPrivateAccessApplicationCallable(const Model::CreatePrivateAccessApplicationRequest& request) const;
@@ -327,9 +408,15 @@ namespace AlibabaCloud
 			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;
+			DeleteClientUserOutcome deleteClientUser(const Model::DeleteClientUserRequest &request)const;
+			void deleteClientUserAsync(const Model::DeleteClientUserRequest& request, const DeleteClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteClientUserOutcomeCallable deleteClientUserCallable(const Model::DeleteClientUserRequest& request) const;
 			DeleteDynamicRouteOutcome deleteDynamicRoute(const Model::DeleteDynamicRouteRequest &request)const;
 			void deleteDynamicRouteAsync(const Model::DeleteDynamicRouteRequest& request, const DeleteDynamicRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDynamicRouteOutcomeCallable deleteDynamicRouteCallable(const Model::DeleteDynamicRouteRequest& request) const;
+			DeleteIdpDepartmentOutcome deleteIdpDepartment(const Model::DeleteIdpDepartmentRequest &request)const;
+			void deleteIdpDepartmentAsync(const Model::DeleteIdpDepartmentRequest& request, const DeleteIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteIdpDepartmentOutcomeCallable deleteIdpDepartmentCallable(const Model::DeleteIdpDepartmentRequest& request) const;
 			DeletePrivateAccessApplicationOutcome deletePrivateAccessApplication(const Model::DeletePrivateAccessApplicationRequest &request)const;
 			void deletePrivateAccessApplicationAsync(const Model::DeletePrivateAccessApplicationRequest& request, const DeletePrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeletePrivateAccessApplicationOutcomeCallable deletePrivateAccessApplicationCallable(const Model::DeletePrivateAccessApplicationRequest& request) const;
@@ -348,9 +435,18 @@ namespace AlibabaCloud
 			DetachApplication2ConnectorOutcome detachApplication2Connector(const Model::DetachApplication2ConnectorRequest &request)const;
 			void detachApplication2ConnectorAsync(const Model::DetachApplication2ConnectorRequest& request, const DetachApplication2ConnectorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DetachApplication2ConnectorOutcomeCallable detachApplication2ConnectorCallable(const Model::DetachApplication2ConnectorRequest& request) const;
+			GetActiveIdpConfigOutcome getActiveIdpConfig(const Model::GetActiveIdpConfigRequest &request)const;
+			void getActiveIdpConfigAsync(const Model::GetActiveIdpConfigRequest& request, const GetActiveIdpConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetActiveIdpConfigOutcomeCallable getActiveIdpConfigCallable(const Model::GetActiveIdpConfigRequest& request) const;
+			GetClientUserOutcome getClientUser(const Model::GetClientUserRequest &request)const;
+			void getClientUserAsync(const Model::GetClientUserRequest& request, const GetClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetClientUserOutcomeCallable getClientUserCallable(const Model::GetClientUserRequest& request) const;
 			GetDynamicRouteOutcome getDynamicRoute(const Model::GetDynamicRouteRequest &request)const;
 			void getDynamicRouteAsync(const Model::GetDynamicRouteRequest& request, const GetDynamicRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDynamicRouteOutcomeCallable getDynamicRouteCallable(const Model::GetDynamicRouteRequest& request) const;
+			GetIdpConfigOutcome getIdpConfig(const Model::GetIdpConfigRequest &request)const;
+			void getIdpConfigAsync(const Model::GetIdpConfigRequest& request, const GetIdpConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetIdpConfigOutcomeCallable getIdpConfigCallable(const Model::GetIdpConfigRequest& request) const;
 			GetPrivateAccessApplicationOutcome getPrivateAccessApplication(const Model::GetPrivateAccessApplicationRequest &request)const;
 			void getPrivateAccessApplicationAsync(const Model::GetPrivateAccessApplicationRequest& request, const GetPrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPrivateAccessApplicationOutcomeCallable getPrivateAccessApplicationCallable(const Model::GetPrivateAccessApplicationRequest& request) const;
@@ -372,6 +468,9 @@ namespace AlibabaCloud
 			ListApplicationsForPrivateAccessTagOutcome listApplicationsForPrivateAccessTag(const Model::ListApplicationsForPrivateAccessTagRequest &request)const;
 			void listApplicationsForPrivateAccessTagAsync(const Model::ListApplicationsForPrivateAccessTagRequest& request, const ListApplicationsForPrivateAccessTagAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListApplicationsForPrivateAccessTagOutcomeCallable listApplicationsForPrivateAccessTagCallable(const Model::ListApplicationsForPrivateAccessTagRequest& request) const;
+			ListClientUsersOutcome listClientUsers(const Model::ListClientUsersRequest &request)const;
+			void listClientUsersAsync(const Model::ListClientUsersRequest& request, const ListClientUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListClientUsersOutcomeCallable listClientUsersCallable(const Model::ListClientUsersRequest& request) const;
 			ListConnectorsOutcome listConnectors(const Model::ListConnectorsRequest &request)const;
 			void listConnectorsAsync(const Model::ListConnectorsRequest& request, const ListConnectorsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListConnectorsOutcomeCallable listConnectorsCallable(const Model::ListConnectorsRequest& request) const;
@@ -384,6 +483,12 @@ namespace AlibabaCloud
 			ListExcessiveDeviceRegistrationApplicationsOutcome listExcessiveDeviceRegistrationApplications(const Model::ListExcessiveDeviceRegistrationApplicationsRequest &request)const;
 			void listExcessiveDeviceRegistrationApplicationsAsync(const Model::ListExcessiveDeviceRegistrationApplicationsRequest& request, const ListExcessiveDeviceRegistrationApplicationsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListExcessiveDeviceRegistrationApplicationsOutcomeCallable listExcessiveDeviceRegistrationApplicationsCallable(const Model::ListExcessiveDeviceRegistrationApplicationsRequest& request) const;
+			ListIdpConfigsOutcome listIdpConfigs(const Model::ListIdpConfigsRequest &request)const;
+			void listIdpConfigsAsync(const Model::ListIdpConfigsRequest& request, const ListIdpConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListIdpConfigsOutcomeCallable listIdpConfigsCallable(const Model::ListIdpConfigsRequest& request) const;
+			ListIdpDepartmentsOutcome listIdpDepartments(const Model::ListIdpDepartmentsRequest &request)const;
+			void listIdpDepartmentsAsync(const Model::ListIdpDepartmentsRequest& request, const ListIdpDepartmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListIdpDepartmentsOutcomeCallable listIdpDepartmentsCallable(const Model::ListIdpDepartmentsRequest& request) const;
 			ListPolicesForPrivateAccessApplicationOutcome listPolicesForPrivateAccessApplication(const Model::ListPolicesForPrivateAccessApplicationRequest &request)const;
 			void listPolicesForPrivateAccessApplicationAsync(const Model::ListPolicesForPrivateAccessApplicationRequest& request, const ListPolicesForPrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPolicesForPrivateAccessApplicationOutcomeCallable listPolicesForPrivateAccessApplicationCallable(const Model::ListPolicesForPrivateAccessApplicationRequest& request) const;
@@ -441,12 +546,27 @@ namespace AlibabaCloud
 			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;
+			RevokeUserSessionOutcome revokeUserSession(const Model::RevokeUserSessionRequest &request)const;
+			void revokeUserSessionAsync(const Model::RevokeUserSessionRequest& request, const RevokeUserSessionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RevokeUserSessionOutcomeCallable revokeUserSessionCallable(const Model::RevokeUserSessionRequest& request) const;
+			UpdateClientUserOutcome updateClientUser(const Model::UpdateClientUserRequest &request)const;
+			void updateClientUserAsync(const Model::UpdateClientUserRequest& request, const UpdateClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateClientUserOutcomeCallable updateClientUserCallable(const Model::UpdateClientUserRequest& request) const;
+			UpdateClientUserPasswordOutcome updateClientUserPassword(const Model::UpdateClientUserPasswordRequest &request)const;
+			void updateClientUserPasswordAsync(const Model::UpdateClientUserPasswordRequest& request, const UpdateClientUserPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateClientUserPasswordOutcomeCallable updateClientUserPasswordCallable(const Model::UpdateClientUserPasswordRequest& request) const;
+			UpdateClientUserStatusOutcome updateClientUserStatus(const Model::UpdateClientUserStatusRequest &request)const;
+			void updateClientUserStatusAsync(const Model::UpdateClientUserStatusRequest& request, const UpdateClientUserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateClientUserStatusOutcomeCallable updateClientUserStatusCallable(const Model::UpdateClientUserStatusRequest& request) const;
 			UpdateDynamicRouteOutcome updateDynamicRoute(const Model::UpdateDynamicRouteRequest &request)const;
 			void updateDynamicRouteAsync(const Model::UpdateDynamicRouteRequest& request, const UpdateDynamicRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateDynamicRouteOutcomeCallable updateDynamicRouteCallable(const Model::UpdateDynamicRouteRequest& request) const;
 			UpdateExcessiveDeviceRegistrationApplicationsStatusOutcome updateExcessiveDeviceRegistrationApplicationsStatus(const Model::UpdateExcessiveDeviceRegistrationApplicationsStatusRequest &request)const;
 			void updateExcessiveDeviceRegistrationApplicationsStatusAsync(const Model::UpdateExcessiveDeviceRegistrationApplicationsStatusRequest& request, const UpdateExcessiveDeviceRegistrationApplicationsStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateExcessiveDeviceRegistrationApplicationsStatusOutcomeCallable updateExcessiveDeviceRegistrationApplicationsStatusCallable(const Model::UpdateExcessiveDeviceRegistrationApplicationsStatusRequest& request) const;
+			UpdateIdpDepartmentOutcome updateIdpDepartment(const Model::UpdateIdpDepartmentRequest &request)const;
+			void updateIdpDepartmentAsync(const Model::UpdateIdpDepartmentRequest& request, const UpdateIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateIdpDepartmentOutcomeCallable updateIdpDepartmentCallable(const Model::UpdateIdpDepartmentRequest& request) const;
 			UpdatePrivateAccessApplicationOutcome updatePrivateAccessApplication(const Model::UpdatePrivateAccessApplicationRequest &request)const;
 			void updatePrivateAccessApplicationAsync(const Model::UpdatePrivateAccessApplicationRequest& request, const UpdatePrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdatePrivateAccessApplicationOutcomeCallable updatePrivateAccessApplicationCallable(const Model::UpdatePrivateAccessApplicationRequest& request) const;

+ 60 - 0
csas/include/alibabacloud/csas/model/CreateClientUserRequest.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_CSAS_MODEL_CREATECLIENTUSERREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATECLIENTUSERREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT CreateClientUserRequest : public RpcServiceRequest {
+public:
+	CreateClientUserRequest();
+	~CreateClientUserRequest();
+	std::string getMobileNumber() const;
+	void setMobileNumber(const std::string &mobileNumber);
+	std::string getDepartmentId() const;
+	void setDepartmentId(const std::string &departmentId);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	std::string getPassword() const;
+	void setPassword(const std::string &password);
+	std::string getEmail() const;
+	void setEmail(const std::string &email);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::string mobileNumber_;
+	std::string departmentId_;
+	std::string description_;
+	std::string idpConfigId_;
+	std::string password_;
+	std::string email_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATECLIENTUSERREQUEST_H_

+ 51 - 0
csas/include/alibabacloud/csas/model/CreateClientUserResult.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_CSAS_MODEL_CREATECLIENTUSERRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATECLIENTUSERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT CreateClientUserResult : public ServiceResult
+			{
+			public:
+
+
+				CreateClientUserResult();
+				explicit CreateClientUserResult(const std::string &payload);
+				~CreateClientUserResult();
+				std::string getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATECLIENTUSERRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/CreateIdpDepartmentRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_CREATEIDPDEPARTMENTREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATEIDPDEPARTMENTREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT CreateIdpDepartmentRequest : public RpcServiceRequest {
+public:
+	CreateIdpDepartmentRequest();
+	~CreateIdpDepartmentRequest();
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	std::string getDepartmentName() const;
+	void setDepartmentName(const std::string &departmentName);
+
+private:
+	std::string idpConfigId_;
+	std::string departmentName_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATEIDPDEPARTMENTREQUEST_H_

+ 51 - 0
csas/include/alibabacloud/csas/model/CreateIdpDepartmentResult.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_CSAS_MODEL_CREATEIDPDEPARTMENTRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATEIDPDEPARTMENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT CreateIdpDepartmentResult : public ServiceResult
+			{
+			public:
+
+
+				CreateIdpDepartmentResult();
+				explicit CreateIdpDepartmentResult(const std::string &payload);
+				~CreateIdpDepartmentResult();
+				std::string getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATEIDPDEPARTMENTRESULT_H_

+ 42 - 0
csas/include/alibabacloud/csas/model/DeleteClientUserRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_DELETECLIENTUSERREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_DELETECLIENTUSERREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT DeleteClientUserRequest : public RpcServiceRequest {
+public:
+	DeleteClientUserRequest();
+	~DeleteClientUserRequest();
+	std::string getId() const;
+	void setId(const std::string &id);
+
+private:
+	std::string id_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_DELETECLIENTUSERREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/DeleteClientUserResult.h

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

+ 45 - 0
csas/include/alibabacloud/csas/model/DeleteIdpDepartmentRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_DELETEIDPDEPARTMENTREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_DELETEIDPDEPARTMENTREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT DeleteIdpDepartmentRequest : public RpcServiceRequest {
+public:
+	DeleteIdpDepartmentRequest();
+	~DeleteIdpDepartmentRequest();
+	std::string getDepartmentId() const;
+	void setDepartmentId(const std::string &departmentId);
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+
+private:
+	std::string departmentId_;
+	std::string idpConfigId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_DELETEIDPDEPARTMENTREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/DeleteIdpDepartmentResult.h

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

+ 39 - 0
csas/include/alibabacloud/csas/model/GetActiveIdpConfigRequest.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_GETACTIVEIDPCONFIGREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETACTIVEIDPCONFIGREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT GetActiveIdpConfigRequest : public RpcServiceRequest {
+public:
+	GetActiveIdpConfigRequest();
+	~GetActiveIdpConfigRequest();
+
+private:
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETACTIVEIDPCONFIGREQUEST_H_

+ 58 - 0
csas/include/alibabacloud/csas/model/GetActiveIdpConfigResult.h

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

+ 45 - 0
csas/include/alibabacloud/csas/model/GetClientUserRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_GETCLIENTUSERREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETCLIENTUSERREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT GetClientUserRequest : public RpcServiceRequest {
+public:
+	GetClientUserRequest();
+	~GetClientUserRequest();
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::string idpConfigId_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETCLIENTUSERREQUEST_H_

+ 69 - 0
csas/include/alibabacloud/csas/model/GetClientUserResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_GETCLIENTUSERRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETCLIENTUSERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT GetClientUserResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Department
+					{
+						std::string id;
+						std::string name;
+					};
+					std::string status;
+					Department department;
+					std::string mobileNumber;
+					std::string description;
+					std::string email;
+					std::string username;
+					std::string userId;
+					std::string id;
+					std::string departmentId;
+					std::string idpConfigId;
+				};
+
+
+				GetClientUserResult();
+				explicit GetClientUserResult(const std::string &payload);
+				~GetClientUserResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETCLIENTUSERRESULT_H_

+ 42 - 0
csas/include/alibabacloud/csas/model/GetIdpConfigRequest.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_GETIDPCONFIGREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETIDPCONFIGREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT GetIdpConfigRequest : public RpcServiceRequest {
+public:
+	GetIdpConfigRequest();
+	~GetIdpConfigRequest();
+	std::string getId() const;
+	void setId(const std::string &id);
+
+private:
+	std::string id_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETIDPCONFIGREQUEST_H_

+ 72 - 0
csas/include/alibabacloud/csas/model/GetIdpConfigResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_GETIDPCONFIGRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETIDPCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT GetIdpConfigResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					std::string description;
+					std::string mobileMfaConfigType;
+					std::string pcLoginType;
+					std::string accessKeySecret;
+					std::string verifyUrl;
+					std::string multiIdpInfo;
+					std::string verifyToken;
+					std::string verifyAesKey;
+					std::string name;
+					std::string type;
+					std::string getGroupUrl;
+					std::string updateTime;
+					std::string mobileLoginType;
+					std::string id;
+					std::string idpMetadata;
+					std::string accessKey;
+					std::string mfaConfigType;
+				};
+
+
+				GetIdpConfigResult();
+				explicit GetIdpConfigResult(const std::string &payload);
+				~GetIdpConfigResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETIDPCONFIGRESULT_H_

+ 63 - 0
csas/include/alibabacloud/csas/model/ListClientUsersRequest.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_CSAS_MODEL_LISTCLIENTUSERSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTCLIENTUSERSREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT ListClientUsersRequest : public RpcServiceRequest {
+public:
+	ListClientUsersRequest();
+	~ListClientUsersRequest();
+	std::string getMobileNumber() const;
+	void setMobileNumber(const std::string &mobileNumber);
+	std::string getDepartmentId() const;
+	void setDepartmentId(const std::string &departmentId);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	std::string getEmail() const;
+	void setEmail(const std::string &email);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string mobileNumber_;
+	std::string departmentId_;
+	long currentPage_;
+	std::string idpConfigId_;
+	long pageSize_;
+	std::string email_;
+	std::string username_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTCLIENTUSERSREQUEST_H_

+ 74 - 0
csas/include/alibabacloud/csas/model/ListClientUsersResult.h

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTCLIENTUSERSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTCLIENTUSERSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT ListClientUsersResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct DataListItem
+					{
+						struct Department
+						{
+							std::string id;
+							std::string name;
+						};
+						std::string status;
+						Department department;
+						std::string mobileNumber;
+						std::string description;
+						std::string email;
+						std::string username;
+						std::string userId;
+						std::string id;
+						std::string departmentId;
+						std::string idpConfigId;
+					};
+					std::vector<DataListItem> dataList;
+					long totalNum;
+				};
+
+
+				ListClientUsersResult();
+				explicit ListClientUsersResult(const std::string &payload);
+				~ListClientUsersResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTCLIENTUSERSRESULT_H_

+ 48 - 0
csas/include/alibabacloud/csas/model/ListIdpConfigsRequest.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_CSAS_MODEL_LISTIDPCONFIGSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTIDPCONFIGSREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT ListIdpConfigsRequest : public RpcServiceRequest {
+public:
+	ListIdpConfigsRequest();
+	~ListIdpConfigsRequest();
+	std::string getInclude() const;
+	void setInclude(const std::string &include);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+
+private:
+	std::string include_;
+	long currentPage_;
+	long pageSize_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTIDPCONFIGSREQUEST_H_

+ 70 - 0
csas/include/alibabacloud/csas/model/ListIdpConfigsResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTIDPCONFIGSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTIDPCONFIGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/csas/CsasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Csas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CSAS_EXPORT ListIdpConfigsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct DataListItem
+					{
+						std::string status;
+						std::string type;
+						std::string description;
+						std::string mobileMfaConfigType;
+						std::string pcLoginType;
+						std::string updateTime;
+						std::string mfa;
+						std::string mobileLoginType;
+						std::string id;
+						std::string multiIdpInfo;
+						std::string name;
+					};
+					std::vector<DataListItem> dataList;
+					long totalNum;
+				};
+
+
+				ListIdpConfigsResult();
+				explicit ListIdpConfigsResult(const std::string &payload);
+				~ListIdpConfigsResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTIDPCONFIGSRESULT_H_

+ 48 - 0
csas/include/alibabacloud/csas/model/ListIdpDepartmentsRequest.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_CSAS_MODEL_LISTIDPDEPARTMENTSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTIDPDEPARTMENTSREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT ListIdpDepartmentsRequest : public RpcServiceRequest {
+public:
+	ListIdpDepartmentsRequest();
+	~ListIdpDepartmentsRequest();
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+
+private:
+	long currentPage_;
+	std::string idpConfigId_;
+	long pageSize_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTIDPDEPARTMENTSREQUEST_H_

+ 62 - 0
csas/include/alibabacloud/csas/model/ListIdpDepartmentsResult.h

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

+ 3 - 0
csas/include/alibabacloud/csas/model/ListUserDevicesRequest.h

@@ -50,6 +50,8 @@ public:
 	void setNacStatuses(const std::vector<std::string> &nacStatuses);
 	std::string getDepartment() const;
 	void setDepartment(const std::string &department);
+	std::string getInnerIp() const;
+	void setInnerIp(const std::string &innerIp);
 	std::vector<std::string> getIaStatuses() const;
 	void setIaStatuses(const std::vector<std::string> &iaStatuses);
 	std::string getDeviceBelong() const;
@@ -80,6 +82,7 @@ private:
 	long pageSize_;
 	std::vector<std::string> nacStatuses_;
 	std::string department_;
+	std::string innerIp_;
 	std::vector<std::string> iaStatuses_;
 	std::string deviceBelong_;
 	long currentPage_;

+ 45 - 0
csas/include/alibabacloud/csas/model/RevokeUserSessionRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_REVOKEUSERSESSIONREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_REVOKEUSERSESSIONREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT RevokeUserSessionRequest : public RpcServiceRequest {
+public:
+	RevokeUserSessionRequest();
+	~RevokeUserSessionRequest();
+	std::string getIdpId() const;
+	void setIdpId(const std::string &idpId);
+	std::string getExternalIds() const;
+	void setExternalIds(const std::string &externalIds);
+
+private:
+	std::string idpId_;
+	std::string externalIds_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_REVOKEUSERSESSIONREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/RevokeUserSessionResult.h

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

+ 48 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserPasswordRequest.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_CSAS_MODEL_UPDATECLIENTUSERPASSWORDREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERPASSWORDREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT UpdateClientUserPasswordRequest : public RpcServiceRequest {
+public:
+	UpdateClientUserPasswordRequest();
+	~UpdateClientUserPasswordRequest();
+	std::string getPassword() const;
+	void setPassword(const std::string &password);
+	std::string getId() const;
+	void setId(const std::string &id);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::string password_;
+	std::string id_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERPASSWORDREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserPasswordResult.h

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

+ 54 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserRequest.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_CSAS_MODEL_UPDATECLIENTUSERREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT UpdateClientUserRequest : public RpcServiceRequest {
+public:
+	UpdateClientUserRequest();
+	~UpdateClientUserRequest();
+	std::string getMobileNumber() const;
+	void setMobileNumber(const std::string &mobileNumber);
+	std::string getDepartmentId() const;
+	void setDepartmentId(const std::string &departmentId);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getId() const;
+	void setId(const std::string &id);
+	std::string getEmail() const;
+	void setEmail(const std::string &email);
+
+private:
+	std::string mobileNumber_;
+	std::string departmentId_;
+	std::string description_;
+	std::string id_;
+	std::string email_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserResult.h

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

+ 45 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserStatusRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_CSAS_MODEL_UPDATECLIENTUSERSTATUSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERSTATUSREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT UpdateClientUserStatusRequest : public RpcServiceRequest {
+public:
+	UpdateClientUserStatusRequest();
+	~UpdateClientUserStatusRequest();
+	std::string getId() const;
+	void setId(const std::string &id);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string id_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATECLIENTUSERSTATUSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateClientUserStatusResult.h

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

+ 48 - 0
csas/include/alibabacloud/csas/model/UpdateIdpDepartmentRequest.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_CSAS_MODEL_UPDATEIDPDEPARTMENTREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEIDPDEPARTMENTREQUEST_H_
+
+#include <alibabacloud/csas/CsasExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Csas {
+namespace Model {
+class ALIBABACLOUD_CSAS_EXPORT UpdateIdpDepartmentRequest : public RpcServiceRequest {
+public:
+	UpdateIdpDepartmentRequest();
+	~UpdateIdpDepartmentRequest();
+	std::string getDepartmentId() const;
+	void setDepartmentId(const std::string &departmentId);
+	std::string getIdpConfigId() const;
+	void setIdpConfigId(const std::string &idpConfigId);
+	std::string getDepartmentName() const;
+	void setDepartmentName(const std::string &departmentName);
+
+private:
+	std::string departmentId_;
+	std::string idpConfigId_;
+	std::string departmentName_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEIDPDEPARTMENTREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateIdpDepartmentResult.h

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

+ 540 - 0
csas/src/CsasClient.cc

@@ -87,6 +87,42 @@ CsasClient::AttachApplication2ConnectorOutcomeCallable CsasClient::attachApplica
 	return task->get_future();
 }
 
+CsasClient::CreateClientUserOutcome CsasClient::createClientUser(const CreateClientUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateClientUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateClientUserOutcome(CreateClientUserResult(outcome.result()));
+	else
+		return CreateClientUserOutcome(outcome.error());
+}
+
+void CsasClient::createClientUserAsync(const CreateClientUserRequest& request, const CreateClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createClientUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::CreateClientUserOutcomeCallable CsasClient::createClientUserCallable(const CreateClientUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateClientUserOutcome()>>(
+			[this, request]()
+			{
+			return this->createClientUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::CreateDynamicRouteOutcome CsasClient::createDynamicRoute(const CreateDynamicRouteRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -123,6 +159,42 @@ CsasClient::CreateDynamicRouteOutcomeCallable CsasClient::createDynamicRouteCall
 	return task->get_future();
 }
 
+CsasClient::CreateIdpDepartmentOutcome CsasClient::createIdpDepartment(const CreateIdpDepartmentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateIdpDepartmentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateIdpDepartmentOutcome(CreateIdpDepartmentResult(outcome.result()));
+	else
+		return CreateIdpDepartmentOutcome(outcome.error());
+}
+
+void CsasClient::createIdpDepartmentAsync(const CreateIdpDepartmentRequest& request, const CreateIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createIdpDepartment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::CreateIdpDepartmentOutcomeCallable CsasClient::createIdpDepartmentCallable(const CreateIdpDepartmentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateIdpDepartmentOutcome()>>(
+			[this, request]()
+			{
+			return this->createIdpDepartment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::CreatePrivateAccessApplicationOutcome CsasClient::createPrivateAccessApplication(const CreatePrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -303,6 +375,42 @@ CsasClient::CreateUserGroupOutcomeCallable CsasClient::createUserGroupCallable(c
 	return task->get_future();
 }
 
+CsasClient::DeleteClientUserOutcome CsasClient::deleteClientUser(const DeleteClientUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteClientUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteClientUserOutcome(DeleteClientUserResult(outcome.result()));
+	else
+		return DeleteClientUserOutcome(outcome.error());
+}
+
+void CsasClient::deleteClientUserAsync(const DeleteClientUserRequest& request, const DeleteClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteClientUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::DeleteClientUserOutcomeCallable CsasClient::deleteClientUserCallable(const DeleteClientUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteClientUserOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteClientUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::DeleteDynamicRouteOutcome CsasClient::deleteDynamicRoute(const DeleteDynamicRouteRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -339,6 +447,42 @@ CsasClient::DeleteDynamicRouteOutcomeCallable CsasClient::deleteDynamicRouteCall
 	return task->get_future();
 }
 
+CsasClient::DeleteIdpDepartmentOutcome CsasClient::deleteIdpDepartment(const DeleteIdpDepartmentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteIdpDepartmentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteIdpDepartmentOutcome(DeleteIdpDepartmentResult(outcome.result()));
+	else
+		return DeleteIdpDepartmentOutcome(outcome.error());
+}
+
+void CsasClient::deleteIdpDepartmentAsync(const DeleteIdpDepartmentRequest& request, const DeleteIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteIdpDepartment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::DeleteIdpDepartmentOutcomeCallable CsasClient::deleteIdpDepartmentCallable(const DeleteIdpDepartmentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteIdpDepartmentOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteIdpDepartment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::DeletePrivateAccessApplicationOutcome CsasClient::deletePrivateAccessApplication(const DeletePrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +699,78 @@ CsasClient::DetachApplication2ConnectorOutcomeCallable CsasClient::detachApplica
 	return task->get_future();
 }
 
+CsasClient::GetActiveIdpConfigOutcome CsasClient::getActiveIdpConfig(const GetActiveIdpConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetActiveIdpConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetActiveIdpConfigOutcome(GetActiveIdpConfigResult(outcome.result()));
+	else
+		return GetActiveIdpConfigOutcome(outcome.error());
+}
+
+void CsasClient::getActiveIdpConfigAsync(const GetActiveIdpConfigRequest& request, const GetActiveIdpConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getActiveIdpConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::GetActiveIdpConfigOutcomeCallable CsasClient::getActiveIdpConfigCallable(const GetActiveIdpConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetActiveIdpConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->getActiveIdpConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CsasClient::GetClientUserOutcome CsasClient::getClientUser(const GetClientUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetClientUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetClientUserOutcome(GetClientUserResult(outcome.result()));
+	else
+		return GetClientUserOutcome(outcome.error());
+}
+
+void CsasClient::getClientUserAsync(const GetClientUserRequest& request, const GetClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getClientUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::GetClientUserOutcomeCallable CsasClient::getClientUserCallable(const GetClientUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetClientUserOutcome()>>(
+			[this, request]()
+			{
+			return this->getClientUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::GetDynamicRouteOutcome CsasClient::getDynamicRoute(const GetDynamicRouteRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -591,6 +807,42 @@ CsasClient::GetDynamicRouteOutcomeCallable CsasClient::getDynamicRouteCallable(c
 	return task->get_future();
 }
 
+CsasClient::GetIdpConfigOutcome CsasClient::getIdpConfig(const GetIdpConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetIdpConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetIdpConfigOutcome(GetIdpConfigResult(outcome.result()));
+	else
+		return GetIdpConfigOutcome(outcome.error());
+}
+
+void CsasClient::getIdpConfigAsync(const GetIdpConfigRequest& request, const GetIdpConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getIdpConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::GetIdpConfigOutcomeCallable CsasClient::getIdpConfigCallable(const GetIdpConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetIdpConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->getIdpConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::GetPrivateAccessApplicationOutcome CsasClient::getPrivateAccessApplication(const GetPrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -843,6 +1095,42 @@ CsasClient::ListApplicationsForPrivateAccessTagOutcomeCallable CsasClient::listA
 	return task->get_future();
 }
 
+CsasClient::ListClientUsersOutcome CsasClient::listClientUsers(const ListClientUsersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListClientUsersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListClientUsersOutcome(ListClientUsersResult(outcome.result()));
+	else
+		return ListClientUsersOutcome(outcome.error());
+}
+
+void CsasClient::listClientUsersAsync(const ListClientUsersRequest& request, const ListClientUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listClientUsers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListClientUsersOutcomeCallable CsasClient::listClientUsersCallable(const ListClientUsersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListClientUsersOutcome()>>(
+			[this, request]()
+			{
+			return this->listClientUsers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::ListConnectorsOutcome CsasClient::listConnectors(const ListConnectorsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -987,6 +1275,78 @@ CsasClient::ListExcessiveDeviceRegistrationApplicationsOutcomeCallable CsasClien
 	return task->get_future();
 }
 
+CsasClient::ListIdpConfigsOutcome CsasClient::listIdpConfigs(const ListIdpConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListIdpConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListIdpConfigsOutcome(ListIdpConfigsResult(outcome.result()));
+	else
+		return ListIdpConfigsOutcome(outcome.error());
+}
+
+void CsasClient::listIdpConfigsAsync(const ListIdpConfigsRequest& request, const ListIdpConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listIdpConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListIdpConfigsOutcomeCallable CsasClient::listIdpConfigsCallable(const ListIdpConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListIdpConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->listIdpConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CsasClient::ListIdpDepartmentsOutcome CsasClient::listIdpDepartments(const ListIdpDepartmentsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListIdpDepartmentsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListIdpDepartmentsOutcome(ListIdpDepartmentsResult(outcome.result()));
+	else
+		return ListIdpDepartmentsOutcome(outcome.error());
+}
+
+void CsasClient::listIdpDepartmentsAsync(const ListIdpDepartmentsRequest& request, const ListIdpDepartmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listIdpDepartments(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListIdpDepartmentsOutcomeCallable CsasClient::listIdpDepartmentsCallable(const ListIdpDepartmentsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListIdpDepartmentsOutcome()>>(
+			[this, request]()
+			{
+			return this->listIdpDepartments(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::ListPolicesForPrivateAccessApplicationOutcome CsasClient::listPolicesForPrivateAccessApplication(const ListPolicesForPrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1671,6 +2031,150 @@ CsasClient::ListUsersOutcomeCallable CsasClient::listUsersCallable(const ListUse
 	return task->get_future();
 }
 
+CsasClient::RevokeUserSessionOutcome CsasClient::revokeUserSession(const RevokeUserSessionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RevokeUserSessionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RevokeUserSessionOutcome(RevokeUserSessionResult(outcome.result()));
+	else
+		return RevokeUserSessionOutcome(outcome.error());
+}
+
+void CsasClient::revokeUserSessionAsync(const RevokeUserSessionRequest& request, const RevokeUserSessionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, revokeUserSession(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::RevokeUserSessionOutcomeCallable CsasClient::revokeUserSessionCallable(const RevokeUserSessionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RevokeUserSessionOutcome()>>(
+			[this, request]()
+			{
+			return this->revokeUserSession(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CsasClient::UpdateClientUserOutcome CsasClient::updateClientUser(const UpdateClientUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateClientUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateClientUserOutcome(UpdateClientUserResult(outcome.result()));
+	else
+		return UpdateClientUserOutcome(outcome.error());
+}
+
+void CsasClient::updateClientUserAsync(const UpdateClientUserRequest& request, const UpdateClientUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateClientUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateClientUserOutcomeCallable CsasClient::updateClientUserCallable(const UpdateClientUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateClientUserOutcome()>>(
+			[this, request]()
+			{
+			return this->updateClientUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CsasClient::UpdateClientUserPasswordOutcome CsasClient::updateClientUserPassword(const UpdateClientUserPasswordRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateClientUserPasswordOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateClientUserPasswordOutcome(UpdateClientUserPasswordResult(outcome.result()));
+	else
+		return UpdateClientUserPasswordOutcome(outcome.error());
+}
+
+void CsasClient::updateClientUserPasswordAsync(const UpdateClientUserPasswordRequest& request, const UpdateClientUserPasswordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateClientUserPassword(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateClientUserPasswordOutcomeCallable CsasClient::updateClientUserPasswordCallable(const UpdateClientUserPasswordRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateClientUserPasswordOutcome()>>(
+			[this, request]()
+			{
+			return this->updateClientUserPassword(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CsasClient::UpdateClientUserStatusOutcome CsasClient::updateClientUserStatus(const UpdateClientUserStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateClientUserStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateClientUserStatusOutcome(UpdateClientUserStatusResult(outcome.result()));
+	else
+		return UpdateClientUserStatusOutcome(outcome.error());
+}
+
+void CsasClient::updateClientUserStatusAsync(const UpdateClientUserStatusRequest& request, const UpdateClientUserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateClientUserStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateClientUserStatusOutcomeCallable CsasClient::updateClientUserStatusCallable(const UpdateClientUserStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateClientUserStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->updateClientUserStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::UpdateDynamicRouteOutcome CsasClient::updateDynamicRoute(const UpdateDynamicRouteRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1743,6 +2247,42 @@ CsasClient::UpdateExcessiveDeviceRegistrationApplicationsStatusOutcomeCallable C
 	return task->get_future();
 }
 
+CsasClient::UpdateIdpDepartmentOutcome CsasClient::updateIdpDepartment(const UpdateIdpDepartmentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateIdpDepartmentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateIdpDepartmentOutcome(UpdateIdpDepartmentResult(outcome.result()));
+	else
+		return UpdateIdpDepartmentOutcome(outcome.error());
+}
+
+void CsasClient::updateIdpDepartmentAsync(const UpdateIdpDepartmentRequest& request, const UpdateIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateIdpDepartment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateIdpDepartmentOutcomeCallable CsasClient::updateIdpDepartmentCallable(const UpdateIdpDepartmentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateIdpDepartmentOutcome()>>(
+			[this, request]()
+			{
+			return this->updateIdpDepartment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::UpdatePrivateAccessApplicationOutcome CsasClient::updatePrivateAccessApplication(const UpdatePrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 90 - 0
csas/src/model/CreateClientUserRequest.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/csas/model/CreateClientUserRequest.h>
+
+using AlibabaCloud::Csas::Model::CreateClientUserRequest;
+
+CreateClientUserRequest::CreateClientUserRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "CreateClientUser") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateClientUserRequest::~CreateClientUserRequest() {}
+
+std::string CreateClientUserRequest::getMobileNumber() const {
+  return mobileNumber_;
+}
+
+void CreateClientUserRequest::setMobileNumber(const std::string &mobileNumber) {
+  mobileNumber_ = mobileNumber;
+  setParameter(std::string("MobileNumber"), mobileNumber);
+}
+
+std::string CreateClientUserRequest::getDepartmentId() const {
+  return departmentId_;
+}
+
+void CreateClientUserRequest::setDepartmentId(const std::string &departmentId) {
+  departmentId_ = departmentId;
+  setParameter(std::string("DepartmentId"), departmentId);
+}
+
+std::string CreateClientUserRequest::getDescription() const {
+  return description_;
+}
+
+void CreateClientUserRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+std::string CreateClientUserRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void CreateClientUserRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+std::string CreateClientUserRequest::getPassword() const {
+  return password_;
+}
+
+void CreateClientUserRequest::setPassword(const std::string &password) {
+  password_ = password;
+  setParameter(std::string("Password"), password);
+}
+
+std::string CreateClientUserRequest::getEmail() const {
+  return email_;
+}
+
+void CreateClientUserRequest::setEmail(const std::string &email) {
+  email_ = email;
+  setParameter(std::string("Email"), email);
+}
+
+std::string CreateClientUserRequest::getUsername() const {
+  return username_;
+}
+
+void CreateClientUserRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+

+ 51 - 0
csas/src/model/CreateClientUserResult.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/csas/model/CreateClientUserResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+CreateClientUserResult::CreateClientUserResult() :
+	ServiceResult()
+{}
+
+CreateClientUserResult::CreateClientUserResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateClientUserResult::~CreateClientUserResult()
+{}
+
+void CreateClientUserResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+
+}
+
+std::string CreateClientUserResult::getData()const
+{
+	return data_;
+}
+

+ 45 - 0
csas/src/model/CreateIdpDepartmentRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/CreateIdpDepartmentRequest.h>
+
+using AlibabaCloud::Csas::Model::CreateIdpDepartmentRequest;
+
+CreateIdpDepartmentRequest::CreateIdpDepartmentRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "CreateIdpDepartment") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateIdpDepartmentRequest::~CreateIdpDepartmentRequest() {}
+
+std::string CreateIdpDepartmentRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void CreateIdpDepartmentRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+std::string CreateIdpDepartmentRequest::getDepartmentName() const {
+  return departmentName_;
+}
+
+void CreateIdpDepartmentRequest::setDepartmentName(const std::string &departmentName) {
+  departmentName_ = departmentName;
+  setParameter(std::string("DepartmentName"), departmentName);
+}
+

+ 51 - 0
csas/src/model/CreateIdpDepartmentResult.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/csas/model/CreateIdpDepartmentResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+CreateIdpDepartmentResult::CreateIdpDepartmentResult() :
+	ServiceResult()
+{}
+
+CreateIdpDepartmentResult::CreateIdpDepartmentResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateIdpDepartmentResult::~CreateIdpDepartmentResult()
+{}
+
+void CreateIdpDepartmentResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+
+}
+
+std::string CreateIdpDepartmentResult::getData()const
+{
+	return data_;
+}
+

+ 36 - 0
csas/src/model/DeleteClientUserRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/DeleteClientUserRequest.h>
+
+using AlibabaCloud::Csas::Model::DeleteClientUserRequest;
+
+DeleteClientUserRequest::DeleteClientUserRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "DeleteClientUser") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteClientUserRequest::~DeleteClientUserRequest() {}
+
+std::string DeleteClientUserRequest::getId() const {
+  return id_;
+}
+
+void DeleteClientUserRequest::setId(const std::string &id) {
+  id_ = id;
+  setParameter(std::string("Id"), id);
+}
+

+ 44 - 0
csas/src/model/DeleteClientUserResult.cc

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

+ 45 - 0
csas/src/model/DeleteIdpDepartmentRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/DeleteIdpDepartmentRequest.h>
+
+using AlibabaCloud::Csas::Model::DeleteIdpDepartmentRequest;
+
+DeleteIdpDepartmentRequest::DeleteIdpDepartmentRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "DeleteIdpDepartment") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteIdpDepartmentRequest::~DeleteIdpDepartmentRequest() {}
+
+std::string DeleteIdpDepartmentRequest::getDepartmentId() const {
+  return departmentId_;
+}
+
+void DeleteIdpDepartmentRequest::setDepartmentId(const std::string &departmentId) {
+  departmentId_ = departmentId;
+  setParameter(std::string("DepartmentId"), departmentId);
+}
+
+std::string DeleteIdpDepartmentRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void DeleteIdpDepartmentRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+

+ 44 - 0
csas/src/model/DeleteIdpDepartmentResult.cc

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

+ 27 - 0
csas/src/model/GetActiveIdpConfigRequest.cc

@@ -0,0 +1,27 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/GetActiveIdpConfigRequest.h>
+
+using AlibabaCloud::Csas::Model::GetActiveIdpConfigRequest;
+
+GetActiveIdpConfigRequest::GetActiveIdpConfigRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetActiveIdpConfig") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetActiveIdpConfigRequest::~GetActiveIdpConfigRequest() {}
+

+ 58 - 0
csas/src/model/GetActiveIdpConfigResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/GetActiveIdpConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetActiveIdpConfigResult::GetActiveIdpConfigResult() :
+	ServiceResult()
+{}
+
+GetActiveIdpConfigResult::GetActiveIdpConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetActiveIdpConfigResult::~GetActiveIdpConfigResult()
+{}
+
+void GetActiveIdpConfigResult::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["Id"].isNull())
+		data_.id = dataNode["Id"].asString();
+	if(!dataNode["Name"].isNull())
+		data_.name = dataNode["Name"].asString();
+	if(!dataNode["Type"].isNull())
+		data_.type = dataNode["Type"].asString();
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+
+}
+
+GetActiveIdpConfigResult::Data GetActiveIdpConfigResult::getData()const
+{
+	return data_;
+}
+

+ 45 - 0
csas/src/model/GetClientUserRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/GetClientUserRequest.h>
+
+using AlibabaCloud::Csas::Model::GetClientUserRequest;
+
+GetClientUserRequest::GetClientUserRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetClientUser") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetClientUserRequest::~GetClientUserRequest() {}
+
+std::string GetClientUserRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void GetClientUserRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+std::string GetClientUserRequest::getUsername() const {
+  return username_;
+}
+
+void GetClientUserRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+

+ 73 - 0
csas/src/model/GetClientUserResult.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/csas/model/GetClientUserResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetClientUserResult::GetClientUserResult() :
+	ServiceResult()
+{}
+
+GetClientUserResult::GetClientUserResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetClientUserResult::~GetClientUserResult()
+{}
+
+void GetClientUserResult::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["Id"].isNull())
+		data_.id = dataNode["Id"].asString();
+	if(!dataNode["IdpConfigId"].isNull())
+		data_.idpConfigId = dataNode["IdpConfigId"].asString();
+	if(!dataNode["Username"].isNull())
+		data_.username = dataNode["Username"].asString();
+	if(!dataNode["UserId"].isNull())
+		data_.userId = dataNode["UserId"].asString();
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["Email"].isNull())
+		data_.email = dataNode["Email"].asString();
+	if(!dataNode["MobileNumber"].isNull())
+		data_.mobileNumber = dataNode["MobileNumber"].asString();
+	if(!dataNode["DepartmentId"].isNull())
+		data_.departmentId = dataNode["DepartmentId"].asString();
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	auto departmentNode = dataNode["Department"];
+	if(!departmentNode["Id"].isNull())
+		data_.department.id = departmentNode["Id"].asString();
+	if(!departmentNode["Name"].isNull())
+		data_.department.name = departmentNode["Name"].asString();
+
+}
+
+GetClientUserResult::Data GetClientUserResult::getData()const
+{
+	return data_;
+}
+

+ 36 - 0
csas/src/model/GetIdpConfigRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/GetIdpConfigRequest.h>
+
+using AlibabaCloud::Csas::Model::GetIdpConfigRequest;
+
+GetIdpConfigRequest::GetIdpConfigRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetIdpConfig") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetIdpConfigRequest::~GetIdpConfigRequest() {}
+
+std::string GetIdpConfigRequest::getId() const {
+  return id_;
+}
+
+void GetIdpConfigRequest::setId(const std::string &id) {
+  id_ = id;
+  setParameter(std::string("Id"), id);
+}
+

+ 86 - 0
csas/src/model/GetIdpConfigResult.cc

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/GetIdpConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetIdpConfigResult::GetIdpConfigResult() :
+	ServiceResult()
+{}
+
+GetIdpConfigResult::GetIdpConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetIdpConfigResult::~GetIdpConfigResult()
+{}
+
+void GetIdpConfigResult::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["Id"].isNull())
+		data_.id = dataNode["Id"].asString();
+	if(!dataNode["Name"].isNull())
+		data_.name = dataNode["Name"].asString();
+	if(!dataNode["Type"].isNull())
+		data_.type = dataNode["Type"].asString();
+	if(!dataNode["IdpMetadata"].isNull())
+		data_.idpMetadata = dataNode["IdpMetadata"].asString();
+	if(!dataNode["AccessKey"].isNull())
+		data_.accessKey = dataNode["AccessKey"].asString();
+	if(!dataNode["AccessKeySecret"].isNull())
+		data_.accessKeySecret = dataNode["AccessKeySecret"].asString();
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	if(!dataNode["MfaConfigType"].isNull())
+		data_.mfaConfigType = dataNode["MfaConfigType"].asString();
+	if(!dataNode["UpdateTime"].isNull())
+		data_.updateTime = dataNode["UpdateTime"].asString();
+	if(!dataNode["GetGroupUrl"].isNull())
+		data_.getGroupUrl = dataNode["GetGroupUrl"].asString();
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["MultiIdpInfo"].isNull())
+		data_.multiIdpInfo = dataNode["MultiIdpInfo"].asString();
+	if(!dataNode["PcLoginType"].isNull())
+		data_.pcLoginType = dataNode["PcLoginType"].asString();
+	if(!dataNode["MobileLoginType"].isNull())
+		data_.mobileLoginType = dataNode["MobileLoginType"].asString();
+	if(!dataNode["MobileMfaConfigType"].isNull())
+		data_.mobileMfaConfigType = dataNode["MobileMfaConfigType"].asString();
+	if(!dataNode["VerifyToken"].isNull())
+		data_.verifyToken = dataNode["VerifyToken"].asString();
+	if(!dataNode["VerifyAesKey"].isNull())
+		data_.verifyAesKey = dataNode["VerifyAesKey"].asString();
+	if(!dataNode["VerifyUrl"].isNull())
+		data_.verifyUrl = dataNode["VerifyUrl"].asString();
+
+}
+
+GetIdpConfigResult::Data GetIdpConfigResult::getData()const
+{
+	return data_;
+}
+

+ 99 - 0
csas/src/model/ListClientUsersRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListClientUsersRequest.h>
+
+using AlibabaCloud::Csas::Model::ListClientUsersRequest;
+
+ListClientUsersRequest::ListClientUsersRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListClientUsers") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListClientUsersRequest::~ListClientUsersRequest() {}
+
+std::string ListClientUsersRequest::getMobileNumber() const {
+  return mobileNumber_;
+}
+
+void ListClientUsersRequest::setMobileNumber(const std::string &mobileNumber) {
+  mobileNumber_ = mobileNumber;
+  setParameter(std::string("MobileNumber"), mobileNumber);
+}
+
+std::string ListClientUsersRequest::getDepartmentId() const {
+  return departmentId_;
+}
+
+void ListClientUsersRequest::setDepartmentId(const std::string &departmentId) {
+  departmentId_ = departmentId;
+  setParameter(std::string("DepartmentId"), departmentId);
+}
+
+long ListClientUsersRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListClientUsersRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string ListClientUsersRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void ListClientUsersRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+long ListClientUsersRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListClientUsersRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListClientUsersRequest::getEmail() const {
+  return email_;
+}
+
+void ListClientUsersRequest::setEmail(const std::string &email) {
+  email_ = email;
+  setParameter(std::string("Email"), email);
+}
+
+std::string ListClientUsersRequest::getUsername() const {
+  return username_;
+}
+
+void ListClientUsersRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+
+std::string ListClientUsersRequest::getStatus() const {
+  return status_;
+}
+
+void ListClientUsersRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 81 - 0
csas/src/model/ListClientUsersResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListClientUsersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListClientUsersResult::ListClientUsersResult() :
+	ServiceResult()
+{}
+
+ListClientUsersResult::ListClientUsersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListClientUsersResult::~ListClientUsersResult()
+{}
+
+void ListClientUsersResult::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["TotalNum"].isNull())
+		data_.totalNum = std::stol(dataNode["TotalNum"].asString());
+	auto allDataListNode = dataNode["DataList"]["DataListItem"];
+	for (auto dataNodeDataListDataListItem : allDataListNode)
+	{
+		Data::DataListItem dataListItemObject;
+		if(!dataNodeDataListDataListItem["Id"].isNull())
+			dataListItemObject.id = dataNodeDataListDataListItem["Id"].asString();
+		if(!dataNodeDataListDataListItem["IdpConfigId"].isNull())
+			dataListItemObject.idpConfigId = dataNodeDataListDataListItem["IdpConfigId"].asString();
+		if(!dataNodeDataListDataListItem["Username"].isNull())
+			dataListItemObject.username = dataNodeDataListDataListItem["Username"].asString();
+		if(!dataNodeDataListDataListItem["UserId"].isNull())
+			dataListItemObject.userId = dataNodeDataListDataListItem["UserId"].asString();
+		if(!dataNodeDataListDataListItem["Description"].isNull())
+			dataListItemObject.description = dataNodeDataListDataListItem["Description"].asString();
+		if(!dataNodeDataListDataListItem["Email"].isNull())
+			dataListItemObject.email = dataNodeDataListDataListItem["Email"].asString();
+		if(!dataNodeDataListDataListItem["MobileNumber"].isNull())
+			dataListItemObject.mobileNumber = dataNodeDataListDataListItem["MobileNumber"].asString();
+		if(!dataNodeDataListDataListItem["DepartmentId"].isNull())
+			dataListItemObject.departmentId = dataNodeDataListDataListItem["DepartmentId"].asString();
+		if(!dataNodeDataListDataListItem["Status"].isNull())
+			dataListItemObject.status = dataNodeDataListDataListItem["Status"].asString();
+		auto departmentNode = value["Department"];
+		if(!departmentNode["Id"].isNull())
+			dataListItemObject.department.id = departmentNode["Id"].asString();
+		if(!departmentNode["Name"].isNull())
+			dataListItemObject.department.name = departmentNode["Name"].asString();
+		data_.dataList.push_back(dataListItemObject);
+	}
+
+}
+
+ListClientUsersResult::Data ListClientUsersResult::getData()const
+{
+	return data_;
+}
+

+ 54 - 0
csas/src/model/ListIdpConfigsRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListIdpConfigsRequest.h>
+
+using AlibabaCloud::Csas::Model::ListIdpConfigsRequest;
+
+ListIdpConfigsRequest::ListIdpConfigsRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListIdpConfigs") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListIdpConfigsRequest::~ListIdpConfigsRequest() {}
+
+std::string ListIdpConfigsRequest::getInclude() const {
+  return include_;
+}
+
+void ListIdpConfigsRequest::setInclude(const std::string &include) {
+  include_ = include;
+  setParameter(std::string("Include"), include);
+}
+
+long ListIdpConfigsRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListIdpConfigsRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+long ListIdpConfigsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListIdpConfigsRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 80 - 0
csas/src/model/ListIdpConfigsResult.cc

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListIdpConfigsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListIdpConfigsResult::ListIdpConfigsResult() :
+	ServiceResult()
+{}
+
+ListIdpConfigsResult::ListIdpConfigsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListIdpConfigsResult::~ListIdpConfigsResult()
+{}
+
+void ListIdpConfigsResult::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["TotalNum"].isNull())
+		data_.totalNum = std::stol(dataNode["TotalNum"].asString());
+	auto allDataListNode = dataNode["DataList"]["DataListItem"];
+	for (auto dataNodeDataListDataListItem : allDataListNode)
+	{
+		Data::DataListItem dataListItemObject;
+		if(!dataNodeDataListDataListItem["Id"].isNull())
+			dataListItemObject.id = dataNodeDataListDataListItem["Id"].asString();
+		if(!dataNodeDataListDataListItem["Name"].isNull())
+			dataListItemObject.name = dataNodeDataListDataListItem["Name"].asString();
+		if(!dataNodeDataListDataListItem["Type"].isNull())
+			dataListItemObject.type = dataNodeDataListDataListItem["Type"].asString();
+		if(!dataNodeDataListDataListItem["Description"].isNull())
+			dataListItemObject.description = dataNodeDataListDataListItem["Description"].asString();
+		if(!dataNodeDataListDataListItem["Mfa"].isNull())
+			dataListItemObject.mfa = dataNodeDataListDataListItem["Mfa"].asString();
+		if(!dataNodeDataListDataListItem["MobileLoginType"].isNull())
+			dataListItemObject.mobileLoginType = dataNodeDataListDataListItem["MobileLoginType"].asString();
+		if(!dataNodeDataListDataListItem["MobileMfaConfigType"].isNull())
+			dataListItemObject.mobileMfaConfigType = dataNodeDataListDataListItem["MobileMfaConfigType"].asString();
+		if(!dataNodeDataListDataListItem["MultiIdpInfo"].isNull())
+			dataListItemObject.multiIdpInfo = dataNodeDataListDataListItem["MultiIdpInfo"].asString();
+		if(!dataNodeDataListDataListItem["PcLoginType"].isNull())
+			dataListItemObject.pcLoginType = dataNodeDataListDataListItem["PcLoginType"].asString();
+		if(!dataNodeDataListDataListItem["Status"].isNull())
+			dataListItemObject.status = dataNodeDataListDataListItem["Status"].asString();
+		if(!dataNodeDataListDataListItem["UpdateTime"].isNull())
+			dataListItemObject.updateTime = dataNodeDataListDataListItem["UpdateTime"].asString();
+		data_.dataList.push_back(dataListItemObject);
+	}
+
+}
+
+ListIdpConfigsResult::Data ListIdpConfigsResult::getData()const
+{
+	return data_;
+}
+

+ 54 - 0
csas/src/model/ListIdpDepartmentsRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListIdpDepartmentsRequest.h>
+
+using AlibabaCloud::Csas::Model::ListIdpDepartmentsRequest;
+
+ListIdpDepartmentsRequest::ListIdpDepartmentsRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListIdpDepartments") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListIdpDepartmentsRequest::~ListIdpDepartmentsRequest() {}
+
+long ListIdpDepartmentsRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListIdpDepartmentsRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string ListIdpDepartmentsRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void ListIdpDepartmentsRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+long ListIdpDepartmentsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListIdpDepartmentsRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 64 - 0
csas/src/model/ListIdpDepartmentsResult.cc

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListIdpDepartmentsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListIdpDepartmentsResult::ListIdpDepartmentsResult() :
+	ServiceResult()
+{}
+
+ListIdpDepartmentsResult::ListIdpDepartmentsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListIdpDepartmentsResult::~ListIdpDepartmentsResult()
+{}
+
+void ListIdpDepartmentsResult::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["TotalNum"].isNull())
+		data_.totalNum = std::stol(dataNode["TotalNum"].asString());
+	auto allDataListNode = dataNode["DataList"]["DataListItem"];
+	for (auto dataNodeDataListDataListItem : allDataListNode)
+	{
+		Data::DataListItem dataListItemObject;
+		if(!dataNodeDataListDataListItem["Id"].isNull())
+			dataListItemObject.id = dataNodeDataListDataListItem["Id"].asString();
+		if(!dataNodeDataListDataListItem["Name"].isNull())
+			dataListItemObject.name = dataNodeDataListDataListItem["Name"].asString();
+		if(!dataNodeDataListDataListItem["IdpConfigId"].isNull())
+			dataListItemObject.idpConfigId = dataNodeDataListDataListItem["IdpConfigId"].asString();
+		data_.dataList.push_back(dataListItemObject);
+	}
+
+}
+
+ListIdpDepartmentsResult::Data ListIdpDepartmentsResult::getData()const
+{
+	return data_;
+}
+

+ 9 - 0
csas/src/model/ListUserDevicesRequest.cc

@@ -123,6 +123,15 @@ void ListUserDevicesRequest::setDepartment(const std::string &department) {
   setParameter(std::string("Department"), department);
 }
 
+std::string ListUserDevicesRequest::getInnerIp() const {
+  return innerIp_;
+}
+
+void ListUserDevicesRequest::setInnerIp(const std::string &innerIp) {
+  innerIp_ = innerIp;
+  setParameter(std::string("InnerIp"), innerIp);
+}
+
 std::vector<ListUserDevicesRequest::std::string> ListUserDevicesRequest::getIaStatuses() const {
   return iaStatuses_;
 }

+ 45 - 0
csas/src/model/RevokeUserSessionRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/RevokeUserSessionRequest.h>
+
+using AlibabaCloud::Csas::Model::RevokeUserSessionRequest;
+
+RevokeUserSessionRequest::RevokeUserSessionRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "RevokeUserSession") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RevokeUserSessionRequest::~RevokeUserSessionRequest() {}
+
+std::string RevokeUserSessionRequest::getIdpId() const {
+  return idpId_;
+}
+
+void RevokeUserSessionRequest::setIdpId(const std::string &idpId) {
+  idpId_ = idpId;
+  setParameter(std::string("IdpId"), idpId);
+}
+
+std::string RevokeUserSessionRequest::getExternalIds() const {
+  return externalIds_;
+}
+
+void RevokeUserSessionRequest::setExternalIds(const std::string &externalIds) {
+  externalIds_ = externalIds;
+  setParameter(std::string("ExternalIds"), externalIds);
+}
+

+ 44 - 0
csas/src/model/RevokeUserSessionResult.cc

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

+ 54 - 0
csas/src/model/UpdateClientUserPasswordRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/UpdateClientUserPasswordRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateClientUserPasswordRequest;
+
+UpdateClientUserPasswordRequest::UpdateClientUserPasswordRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateClientUserPassword") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateClientUserPasswordRequest::~UpdateClientUserPasswordRequest() {}
+
+std::string UpdateClientUserPasswordRequest::getPassword() const {
+  return password_;
+}
+
+void UpdateClientUserPasswordRequest::setPassword(const std::string &password) {
+  password_ = password;
+  setParameter(std::string("Password"), password);
+}
+
+std::string UpdateClientUserPasswordRequest::getId() const {
+  return id_;
+}
+
+void UpdateClientUserPasswordRequest::setId(const std::string &id) {
+  id_ = id;
+  setParameter(std::string("Id"), id);
+}
+
+std::string UpdateClientUserPasswordRequest::getUsername() const {
+  return username_;
+}
+
+void UpdateClientUserPasswordRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+

+ 44 - 0
csas/src/model/UpdateClientUserPasswordResult.cc

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

+ 72 - 0
csas/src/model/UpdateClientUserRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/UpdateClientUserRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateClientUserRequest;
+
+UpdateClientUserRequest::UpdateClientUserRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateClientUser") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateClientUserRequest::~UpdateClientUserRequest() {}
+
+std::string UpdateClientUserRequest::getMobileNumber() const {
+  return mobileNumber_;
+}
+
+void UpdateClientUserRequest::setMobileNumber(const std::string &mobileNumber) {
+  mobileNumber_ = mobileNumber;
+  setParameter(std::string("MobileNumber"), mobileNumber);
+}
+
+std::string UpdateClientUserRequest::getDepartmentId() const {
+  return departmentId_;
+}
+
+void UpdateClientUserRequest::setDepartmentId(const std::string &departmentId) {
+  departmentId_ = departmentId;
+  setParameter(std::string("DepartmentId"), departmentId);
+}
+
+std::string UpdateClientUserRequest::getDescription() const {
+  return description_;
+}
+
+void UpdateClientUserRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+std::string UpdateClientUserRequest::getId() const {
+  return id_;
+}
+
+void UpdateClientUserRequest::setId(const std::string &id) {
+  id_ = id;
+  setParameter(std::string("Id"), id);
+}
+
+std::string UpdateClientUserRequest::getEmail() const {
+  return email_;
+}
+
+void UpdateClientUserRequest::setEmail(const std::string &email) {
+  email_ = email;
+  setParameter(std::string("Email"), email);
+}
+

+ 44 - 0
csas/src/model/UpdateClientUserResult.cc

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

+ 45 - 0
csas/src/model/UpdateClientUserStatusRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/csas/model/UpdateClientUserStatusRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateClientUserStatusRequest;
+
+UpdateClientUserStatusRequest::UpdateClientUserStatusRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateClientUserStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateClientUserStatusRequest::~UpdateClientUserStatusRequest() {}
+
+std::string UpdateClientUserStatusRequest::getId() const {
+  return id_;
+}
+
+void UpdateClientUserStatusRequest::setId(const std::string &id) {
+  id_ = id;
+  setParameter(std::string("Id"), id);
+}
+
+std::string UpdateClientUserStatusRequest::getStatus() const {
+  return status_;
+}
+
+void UpdateClientUserStatusRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 44 - 0
csas/src/model/UpdateClientUserStatusResult.cc

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

+ 54 - 0
csas/src/model/UpdateIdpDepartmentRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/UpdateIdpDepartmentRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateIdpDepartmentRequest;
+
+UpdateIdpDepartmentRequest::UpdateIdpDepartmentRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateIdpDepartment") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateIdpDepartmentRequest::~UpdateIdpDepartmentRequest() {}
+
+std::string UpdateIdpDepartmentRequest::getDepartmentId() const {
+  return departmentId_;
+}
+
+void UpdateIdpDepartmentRequest::setDepartmentId(const std::string &departmentId) {
+  departmentId_ = departmentId;
+  setParameter(std::string("DepartmentId"), departmentId);
+}
+
+std::string UpdateIdpDepartmentRequest::getIdpConfigId() const {
+  return idpConfigId_;
+}
+
+void UpdateIdpDepartmentRequest::setIdpConfigId(const std::string &idpConfigId) {
+  idpConfigId_ = idpConfigId;
+  setParameter(std::string("IdpConfigId"), idpConfigId);
+}
+
+std::string UpdateIdpDepartmentRequest::getDepartmentName() const {
+  return departmentName_;
+}
+
+void UpdateIdpDepartmentRequest::setDepartmentName(const std::string &departmentName) {
+  departmentName_ = departmentName;
+  setParameter(std::string("DepartmentName"), departmentName);
+}
+

+ 44 - 0
csas/src/model/UpdateIdpDepartmentResult.cc

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