소스 검색

Generated 2023-01-20 for csas.

sdk-team 1 년 전
부모
커밋
948b05b62e
92개의 변경된 파일6348개의 추가작업 그리고 57개의 파일을 삭제
  1. 1 1
      VERSION
  2. 80 0
      csas/CMakeLists.txt
  3. 160 0
      csas/include/alibabacloud/csas/CsasClient.h
  4. 51 0
      csas/include/alibabacloud/csas/model/AttachPolicy2ApprovalProcessRequest.h
  5. 49 0
      csas/include/alibabacloud/csas/model/AttachPolicy2ApprovalProcessResult.h
  6. 63 0
      csas/include/alibabacloud/csas/model/CreateApprovalProcessRequest.h
  7. 49 0
      csas/include/alibabacloud/csas/model/CreateApprovalProcessResult.h
  8. 45 0
      csas/include/alibabacloud/csas/model/DeleteApprovalProcessesRequest.h
  9. 49 0
      csas/include/alibabacloud/csas/model/DeleteApprovalProcessesResult.h
  10. 51 0
      csas/include/alibabacloud/csas/model/DetachPolicy2ApprovalProcessRequest.h
  11. 49 0
      csas/include/alibabacloud/csas/model/DetachPolicy2ApprovalProcessResult.h
  12. 45 0
      csas/include/alibabacloud/csas/model/GetApprovalProcessRequest.h
  13. 49 0
      csas/include/alibabacloud/csas/model/GetApprovalProcessResult.h
  14. 45 0
      csas/include/alibabacloud/csas/model/GetApprovalRequest.h
  15. 85 0
      csas/include/alibabacloud/csas/model/GetApprovalResult.h
  16. 45 0
      csas/include/alibabacloud/csas/model/GetApprovalSchemaRequest.h
  17. 62 0
      csas/include/alibabacloud/csas/model/GetApprovalSchemaResult.h
  18. 42 0
      csas/include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyRequest.h
  19. 83 0
      csas/include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyResult.h
  20. 6 0
      csas/include/alibabacloud/csas/model/GetUserDeviceResult.h
  21. 45 0
      csas/include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasRequest.h
  22. 63 0
      csas/include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasResult.h
  23. 66 0
      csas/include/alibabacloud/csas/model/ListApprovalProcessesRequest.h
  24. 49 0
      csas/include/alibabacloud/csas/model/ListApprovalProcessesResult.h
  25. 45 0
      csas/include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesRequest.h
  26. 67 0
      csas/include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesResult.h
  27. 57 0
      csas/include/alibabacloud/csas/model/ListApprovalSchemasRequest.h
  28. 64 0
      csas/include/alibabacloud/csas/model/ListApprovalSchemasResult.h
  29. 93 0
      csas/include/alibabacloud/csas/model/ListApprovalsRequest.h
  30. 87 0
      csas/include/alibabacloud/csas/model/ListApprovalsResult.h
  31. 66 0
      csas/include/alibabacloud/csas/model/ListUninstallApplicationsRequest.h
  32. 69 0
      csas/include/alibabacloud/csas/model/ListUninstallApplicationsResult.h
  33. 51 0
      csas/include/alibabacloud/csas/model/ListUserApplicationsRequest.h
  34. 67 0
      csas/include/alibabacloud/csas/model/ListUserApplicationsResult.h
  35. 6 0
      csas/include/alibabacloud/csas/model/ListUserDevicesResult.h
  36. 51 0
      csas/include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesRequest.h
  37. 71 0
      csas/include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesResult.h
  38. 66 0
      csas/include/alibabacloud/csas/model/UpdateApprovalProcessRequest.h
  39. 49 0
      csas/include/alibabacloud/csas/model/UpdateApprovalProcessResult.h
  40. 48 0
      csas/include/alibabacloud/csas/model/UpdateApprovalStatusRequest.h
  41. 83 0
      csas/include/alibabacloud/csas/model/UpdateApprovalStatusResult.h
  42. 76 0
      csas/include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyRequest.h
  43. 83 0
      csas/include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyResult.h
  44. 48 0
      csas/include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusRequest.h
  45. 67 0
      csas/include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusResult.h
  46. 6 0
      csas/include/alibabacloud/csas/model/UpdateUserDevicesSharingStatusResult.h
  47. 6 0
      csas/include/alibabacloud/csas/model/UpdateUserDevicesStatusResult.h
  48. 740 56
      csas/src/CsasClient.cc
  49. 63 0
      csas/src/model/AttachPolicy2ApprovalProcessRequest.cc
  50. 44 0
      csas/src/model/AttachPolicy2ApprovalProcessResult.cc
  51. 82 0
      csas/src/model/CreateApprovalProcessRequest.cc
  52. 44 0
      csas/src/model/CreateApprovalProcessResult.cc
  53. 47 0
      csas/src/model/DeleteApprovalProcessesRequest.cc
  54. 44 0
      csas/src/model/DeleteApprovalProcessesResult.cc
  55. 63 0
      csas/src/model/DetachPolicy2ApprovalProcessRequest.cc
  56. 44 0
      csas/src/model/DetachPolicy2ApprovalProcessResult.cc
  57. 45 0
      csas/src/model/GetApprovalProcessRequest.cc
  58. 44 0
      csas/src/model/GetApprovalProcessResult.cc
  59. 45 0
      csas/src/model/GetApprovalRequest.cc
  60. 113 0
      csas/src/model/GetApprovalResult.cc
  61. 45 0
      csas/src/model/GetApprovalSchemaRequest.cc
  62. 66 0
      csas/src/model/GetApprovalSchemaResult.cc
  63. 36 0
      csas/src/model/GetBootAndAntiUninstallPolicyRequest.cc
  64. 89 0
      csas/src/model/GetBootAndAntiUninstallPolicyResult.cc
  65. 10 0
      csas/src/model/GetUserDeviceResult.cc
  66. 47 0
      csas/src/model/ListApprovalProcessesForApprovalSchemasRequest.cc
  67. 71 0
      csas/src/model/ListApprovalProcessesForApprovalSchemasResult.cc
  68. 110 0
      csas/src/model/ListApprovalProcessesRequest.cc
  69. 44 0
      csas/src/model/ListApprovalProcessesResult.cc
  70. 47 0
      csas/src/model/ListApprovalSchemasForApprovalProcessesRequest.cc
  71. 79 0
      csas/src/model/ListApprovalSchemasForApprovalProcessesResult.cc
  72. 83 0
      csas/src/model/ListApprovalSchemasRequest.cc
  73. 78 0
      csas/src/model/ListApprovalSchemasResult.cc
  74. 193 0
      csas/src/model/ListApprovalsRequest.cc
  75. 120 0
      csas/src/model/ListApprovalsResult.cc
  76. 112 0
      csas/src/model/ListUninstallApplicationsRequest.cc
  77. 88 0
      csas/src/model/ListUninstallApplicationsResult.cc
  78. 63 0
      csas/src/model/ListUserApplicationsRequest.cc
  79. 83 0
      csas/src/model/ListUserApplicationsResult.cc
  80. 10 0
      csas/src/model/ListUserDevicesResult.cc
  81. 63 0
      csas/src/model/ListUserPrivateAccessPoliciesRequest.cc
  82. 90 0
      csas/src/model/ListUserPrivateAccessPoliciesResult.cc
  83. 91 0
      csas/src/model/UpdateApprovalProcessRequest.cc
  84. 44 0
      csas/src/model/UpdateApprovalProcessResult.cc
  85. 54 0
      csas/src/model/UpdateApprovalStatusRequest.cc
  86. 109 0
      csas/src/model/UpdateApprovalStatusResult.cc
  87. 101 0
      csas/src/model/UpdateBootAndAntiUninstallPolicyRequest.cc
  88. 89 0
      csas/src/model/UpdateBootAndAntiUninstallPolicyResult.cc
  89. 56 0
      csas/src/model/UpdateUninstallApplicationsStatusRequest.cc
  90. 81 0
      csas/src/model/UpdateUninstallApplicationsStatusResult.cc
  91. 10 0
      csas/src/model/UpdateUserDevicesSharingStatusResult.cc
  92. 10 0
      csas/src/model/UpdateUserDevicesStatusResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.2037
+1.36.2038

+ 80 - 0
csas/CMakeLists.txt

@@ -23,6 +23,10 @@ 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/AttachPolicy2ApprovalProcessRequest.h
+	include/alibabacloud/csas/model/AttachPolicy2ApprovalProcessResult.h
+	include/alibabacloud/csas/model/CreateApprovalProcessRequest.h
+	include/alibabacloud/csas/model/CreateApprovalProcessResult.h
 	include/alibabacloud/csas/model/CreateClientUserRequest.h
 	include/alibabacloud/csas/model/CreateClientUserResult.h
 	include/alibabacloud/csas/model/CreateDynamicRouteRequest.h
@@ -47,6 +51,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/CreateWmExtractTaskResult.h
 	include/alibabacloud/csas/model/CreateWmInfoMappingRequest.h
 	include/alibabacloud/csas/model/CreateWmInfoMappingResult.h
+	include/alibabacloud/csas/model/DeleteApprovalProcessesRequest.h
+	include/alibabacloud/csas/model/DeleteApprovalProcessesResult.h
 	include/alibabacloud/csas/model/DeleteClientUserRequest.h
 	include/alibabacloud/csas/model/DeleteClientUserResult.h
 	include/alibabacloud/csas/model/DeleteDynamicRouteRequest.h
@@ -67,10 +73,20 @@ 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/DetachPolicy2ApprovalProcessRequest.h
+	include/alibabacloud/csas/model/DetachPolicy2ApprovalProcessResult.h
 	include/alibabacloud/csas/model/ExportUserDevicesRequest.h
 	include/alibabacloud/csas/model/ExportUserDevicesResult.h
 	include/alibabacloud/csas/model/GetActiveIdpConfigRequest.h
 	include/alibabacloud/csas/model/GetActiveIdpConfigResult.h
+	include/alibabacloud/csas/model/GetApprovalRequest.h
+	include/alibabacloud/csas/model/GetApprovalResult.h
+	include/alibabacloud/csas/model/GetApprovalProcessRequest.h
+	include/alibabacloud/csas/model/GetApprovalProcessResult.h
+	include/alibabacloud/csas/model/GetApprovalSchemaRequest.h
+	include/alibabacloud/csas/model/GetApprovalSchemaResult.h
+	include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyRequest.h
+	include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyResult.h
 	include/alibabacloud/csas/model/GetClientUserRequest.h
 	include/alibabacloud/csas/model/GetClientUserResult.h
 	include/alibabacloud/csas/model/GetDynamicRouteRequest.h
@@ -95,6 +111,16 @@ 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/ListApprovalProcessesRequest.h
+	include/alibabacloud/csas/model/ListApprovalProcessesResult.h
+	include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasRequest.h
+	include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasResult.h
+	include/alibabacloud/csas/model/ListApprovalSchemasRequest.h
+	include/alibabacloud/csas/model/ListApprovalSchemasResult.h
+	include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesRequest.h
+	include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesResult.h
+	include/alibabacloud/csas/model/ListApprovalsRequest.h
+	include/alibabacloud/csas/model/ListApprovalsResult.h
 	include/alibabacloud/csas/model/ListClientUsersRequest.h
 	include/alibabacloud/csas/model/ListClientUsersResult.h
 	include/alibabacloud/csas/model/ListConnectorsRequest.h
@@ -139,6 +165,10 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListTagsForPrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/ListTagsForPrivateAccessPolicyRequest.h
 	include/alibabacloud/csas/model/ListTagsForPrivateAccessPolicyResult.h
+	include/alibabacloud/csas/model/ListUninstallApplicationsRequest.h
+	include/alibabacloud/csas/model/ListUninstallApplicationsResult.h
+	include/alibabacloud/csas/model/ListUserApplicationsRequest.h
+	include/alibabacloud/csas/model/ListUserApplicationsResult.h
 	include/alibabacloud/csas/model/ListUserDevicesRequest.h
 	include/alibabacloud/csas/model/ListUserDevicesResult.h
 	include/alibabacloud/csas/model/ListUserGroupsRequest.h
@@ -147,12 +177,20 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListUserGroupsForPrivateAccessPolicyResult.h
 	include/alibabacloud/csas/model/ListUserGroupsForRegistrationPolicyRequest.h
 	include/alibabacloud/csas/model/ListUserGroupsForRegistrationPolicyResult.h
+	include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesRequest.h
+	include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesResult.h
 	include/alibabacloud/csas/model/ListUsersRequest.h
 	include/alibabacloud/csas/model/ListUsersResult.h
 	include/alibabacloud/csas/model/LookupWmInfoMappingRequest.h
 	include/alibabacloud/csas/model/LookupWmInfoMappingResult.h
 	include/alibabacloud/csas/model/RevokeUserSessionRequest.h
 	include/alibabacloud/csas/model/RevokeUserSessionResult.h
+	include/alibabacloud/csas/model/UpdateApprovalProcessRequest.h
+	include/alibabacloud/csas/model/UpdateApprovalProcessResult.h
+	include/alibabacloud/csas/model/UpdateApprovalStatusRequest.h
+	include/alibabacloud/csas/model/UpdateApprovalStatusResult.h
+	include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyRequest.h
+	include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyResult.h
 	include/alibabacloud/csas/model/UpdateClientUserRequest.h
 	include/alibabacloud/csas/model/UpdateClientUserResult.h
 	include/alibabacloud/csas/model/UpdateClientUserPasswordRequest.h
@@ -173,6 +211,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/UpdatePrivateAccessPolicyResult.h
 	include/alibabacloud/csas/model/UpdateRegistrationPolicyRequest.h
 	include/alibabacloud/csas/model/UpdateRegistrationPolicyResult.h
+	include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusRequest.h
+	include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusResult.h
 	include/alibabacloud/csas/model/UpdateUserDevicesSharingStatusRequest.h
 	include/alibabacloud/csas/model/UpdateUserDevicesSharingStatusResult.h
 	include/alibabacloud/csas/model/UpdateUserDevicesStatusRequest.h
@@ -186,6 +226,10 @@ set(csas_src
 	src/CsasClient.cc
 	src/model/AttachApplication2ConnectorRequest.cc
 	src/model/AttachApplication2ConnectorResult.cc
+	src/model/AttachPolicy2ApprovalProcessRequest.cc
+	src/model/AttachPolicy2ApprovalProcessResult.cc
+	src/model/CreateApprovalProcessRequest.cc
+	src/model/CreateApprovalProcessResult.cc
 	src/model/CreateClientUserRequest.cc
 	src/model/CreateClientUserResult.cc
 	src/model/CreateDynamicRouteRequest.cc
@@ -210,6 +254,8 @@ set(csas_src
 	src/model/CreateWmExtractTaskResult.cc
 	src/model/CreateWmInfoMappingRequest.cc
 	src/model/CreateWmInfoMappingResult.cc
+	src/model/DeleteApprovalProcessesRequest.cc
+	src/model/DeleteApprovalProcessesResult.cc
 	src/model/DeleteClientUserRequest.cc
 	src/model/DeleteClientUserResult.cc
 	src/model/DeleteDynamicRouteRequest.cc
@@ -230,10 +276,20 @@ set(csas_src
 	src/model/DeleteUserGroupResult.cc
 	src/model/DetachApplication2ConnectorRequest.cc
 	src/model/DetachApplication2ConnectorResult.cc
+	src/model/DetachPolicy2ApprovalProcessRequest.cc
+	src/model/DetachPolicy2ApprovalProcessResult.cc
 	src/model/ExportUserDevicesRequest.cc
 	src/model/ExportUserDevicesResult.cc
 	src/model/GetActiveIdpConfigRequest.cc
 	src/model/GetActiveIdpConfigResult.cc
+	src/model/GetApprovalRequest.cc
+	src/model/GetApprovalResult.cc
+	src/model/GetApprovalProcessRequest.cc
+	src/model/GetApprovalProcessResult.cc
+	src/model/GetApprovalSchemaRequest.cc
+	src/model/GetApprovalSchemaResult.cc
+	src/model/GetBootAndAntiUninstallPolicyRequest.cc
+	src/model/GetBootAndAntiUninstallPolicyResult.cc
 	src/model/GetClientUserRequest.cc
 	src/model/GetClientUserResult.cc
 	src/model/GetDynamicRouteRequest.cc
@@ -258,6 +314,16 @@ set(csas_src
 	src/model/ListApplicationsForPrivateAccessPolicyResult.cc
 	src/model/ListApplicationsForPrivateAccessTagRequest.cc
 	src/model/ListApplicationsForPrivateAccessTagResult.cc
+	src/model/ListApprovalProcessesRequest.cc
+	src/model/ListApprovalProcessesResult.cc
+	src/model/ListApprovalProcessesForApprovalSchemasRequest.cc
+	src/model/ListApprovalProcessesForApprovalSchemasResult.cc
+	src/model/ListApprovalSchemasRequest.cc
+	src/model/ListApprovalSchemasResult.cc
+	src/model/ListApprovalSchemasForApprovalProcessesRequest.cc
+	src/model/ListApprovalSchemasForApprovalProcessesResult.cc
+	src/model/ListApprovalsRequest.cc
+	src/model/ListApprovalsResult.cc
 	src/model/ListClientUsersRequest.cc
 	src/model/ListClientUsersResult.cc
 	src/model/ListConnectorsRequest.cc
@@ -302,6 +368,10 @@ set(csas_src
 	src/model/ListTagsForPrivateAccessApplicationResult.cc
 	src/model/ListTagsForPrivateAccessPolicyRequest.cc
 	src/model/ListTagsForPrivateAccessPolicyResult.cc
+	src/model/ListUninstallApplicationsRequest.cc
+	src/model/ListUninstallApplicationsResult.cc
+	src/model/ListUserApplicationsRequest.cc
+	src/model/ListUserApplicationsResult.cc
 	src/model/ListUserDevicesRequest.cc
 	src/model/ListUserDevicesResult.cc
 	src/model/ListUserGroupsRequest.cc
@@ -310,12 +380,20 @@ set(csas_src
 	src/model/ListUserGroupsForPrivateAccessPolicyResult.cc
 	src/model/ListUserGroupsForRegistrationPolicyRequest.cc
 	src/model/ListUserGroupsForRegistrationPolicyResult.cc
+	src/model/ListUserPrivateAccessPoliciesRequest.cc
+	src/model/ListUserPrivateAccessPoliciesResult.cc
 	src/model/ListUsersRequest.cc
 	src/model/ListUsersResult.cc
 	src/model/LookupWmInfoMappingRequest.cc
 	src/model/LookupWmInfoMappingResult.cc
 	src/model/RevokeUserSessionRequest.cc
 	src/model/RevokeUserSessionResult.cc
+	src/model/UpdateApprovalProcessRequest.cc
+	src/model/UpdateApprovalProcessResult.cc
+	src/model/UpdateApprovalStatusRequest.cc
+	src/model/UpdateApprovalStatusResult.cc
+	src/model/UpdateBootAndAntiUninstallPolicyRequest.cc
+	src/model/UpdateBootAndAntiUninstallPolicyResult.cc
 	src/model/UpdateClientUserRequest.cc
 	src/model/UpdateClientUserResult.cc
 	src/model/UpdateClientUserPasswordRequest.cc
@@ -336,6 +414,8 @@ set(csas_src
 	src/model/UpdatePrivateAccessPolicyResult.cc
 	src/model/UpdateRegistrationPolicyRequest.cc
 	src/model/UpdateRegistrationPolicyResult.cc
+	src/model/UpdateUninstallApplicationsStatusRequest.cc
+	src/model/UpdateUninstallApplicationsStatusResult.cc
 	src/model/UpdateUserDevicesSharingStatusRequest.cc
 	src/model/UpdateUserDevicesSharingStatusResult.cc
 	src/model/UpdateUserDevicesStatusRequest.cc

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

@@ -24,6 +24,10 @@
 #include "CsasExport.h"
 #include "model/AttachApplication2ConnectorRequest.h"
 #include "model/AttachApplication2ConnectorResult.h"
+#include "model/AttachPolicy2ApprovalProcessRequest.h"
+#include "model/AttachPolicy2ApprovalProcessResult.h"
+#include "model/CreateApprovalProcessRequest.h"
+#include "model/CreateApprovalProcessResult.h"
 #include "model/CreateClientUserRequest.h"
 #include "model/CreateClientUserResult.h"
 #include "model/CreateDynamicRouteRequest.h"
@@ -48,6 +52,8 @@
 #include "model/CreateWmExtractTaskResult.h"
 #include "model/CreateWmInfoMappingRequest.h"
 #include "model/CreateWmInfoMappingResult.h"
+#include "model/DeleteApprovalProcessesRequest.h"
+#include "model/DeleteApprovalProcessesResult.h"
 #include "model/DeleteClientUserRequest.h"
 #include "model/DeleteClientUserResult.h"
 #include "model/DeleteDynamicRouteRequest.h"
@@ -68,10 +74,20 @@
 #include "model/DeleteUserGroupResult.h"
 #include "model/DetachApplication2ConnectorRequest.h"
 #include "model/DetachApplication2ConnectorResult.h"
+#include "model/DetachPolicy2ApprovalProcessRequest.h"
+#include "model/DetachPolicy2ApprovalProcessResult.h"
 #include "model/ExportUserDevicesRequest.h"
 #include "model/ExportUserDevicesResult.h"
 #include "model/GetActiveIdpConfigRequest.h"
 #include "model/GetActiveIdpConfigResult.h"
+#include "model/GetApprovalRequest.h"
+#include "model/GetApprovalResult.h"
+#include "model/GetApprovalProcessRequest.h"
+#include "model/GetApprovalProcessResult.h"
+#include "model/GetApprovalSchemaRequest.h"
+#include "model/GetApprovalSchemaResult.h"
+#include "model/GetBootAndAntiUninstallPolicyRequest.h"
+#include "model/GetBootAndAntiUninstallPolicyResult.h"
 #include "model/GetClientUserRequest.h"
 #include "model/GetClientUserResult.h"
 #include "model/GetDynamicRouteRequest.h"
@@ -96,6 +112,16 @@
 #include "model/ListApplicationsForPrivateAccessPolicyResult.h"
 #include "model/ListApplicationsForPrivateAccessTagRequest.h"
 #include "model/ListApplicationsForPrivateAccessTagResult.h"
+#include "model/ListApprovalProcessesRequest.h"
+#include "model/ListApprovalProcessesResult.h"
+#include "model/ListApprovalProcessesForApprovalSchemasRequest.h"
+#include "model/ListApprovalProcessesForApprovalSchemasResult.h"
+#include "model/ListApprovalSchemasRequest.h"
+#include "model/ListApprovalSchemasResult.h"
+#include "model/ListApprovalSchemasForApprovalProcessesRequest.h"
+#include "model/ListApprovalSchemasForApprovalProcessesResult.h"
+#include "model/ListApprovalsRequest.h"
+#include "model/ListApprovalsResult.h"
 #include "model/ListClientUsersRequest.h"
 #include "model/ListClientUsersResult.h"
 #include "model/ListConnectorsRequest.h"
@@ -140,6 +166,10 @@
 #include "model/ListTagsForPrivateAccessApplicationResult.h"
 #include "model/ListTagsForPrivateAccessPolicyRequest.h"
 #include "model/ListTagsForPrivateAccessPolicyResult.h"
+#include "model/ListUninstallApplicationsRequest.h"
+#include "model/ListUninstallApplicationsResult.h"
+#include "model/ListUserApplicationsRequest.h"
+#include "model/ListUserApplicationsResult.h"
 #include "model/ListUserDevicesRequest.h"
 #include "model/ListUserDevicesResult.h"
 #include "model/ListUserGroupsRequest.h"
@@ -148,12 +178,20 @@
 #include "model/ListUserGroupsForPrivateAccessPolicyResult.h"
 #include "model/ListUserGroupsForRegistrationPolicyRequest.h"
 #include "model/ListUserGroupsForRegistrationPolicyResult.h"
+#include "model/ListUserPrivateAccessPoliciesRequest.h"
+#include "model/ListUserPrivateAccessPoliciesResult.h"
 #include "model/ListUsersRequest.h"
 #include "model/ListUsersResult.h"
 #include "model/LookupWmInfoMappingRequest.h"
 #include "model/LookupWmInfoMappingResult.h"
 #include "model/RevokeUserSessionRequest.h"
 #include "model/RevokeUserSessionResult.h"
+#include "model/UpdateApprovalProcessRequest.h"
+#include "model/UpdateApprovalProcessResult.h"
+#include "model/UpdateApprovalStatusRequest.h"
+#include "model/UpdateApprovalStatusResult.h"
+#include "model/UpdateBootAndAntiUninstallPolicyRequest.h"
+#include "model/UpdateBootAndAntiUninstallPolicyResult.h"
 #include "model/UpdateClientUserRequest.h"
 #include "model/UpdateClientUserResult.h"
 #include "model/UpdateClientUserPasswordRequest.h"
@@ -174,6 +212,8 @@
 #include "model/UpdatePrivateAccessPolicyResult.h"
 #include "model/UpdateRegistrationPolicyRequest.h"
 #include "model/UpdateRegistrationPolicyResult.h"
+#include "model/UpdateUninstallApplicationsStatusRequest.h"
+#include "model/UpdateUninstallApplicationsStatusResult.h"
 #include "model/UpdateUserDevicesSharingStatusRequest.h"
 #include "model/UpdateUserDevicesSharingStatusResult.h"
 #include "model/UpdateUserDevicesStatusRequest.h"
@@ -194,6 +234,12 @@ 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::AttachPolicy2ApprovalProcessResult> AttachPolicy2ApprovalProcessOutcome;
+			typedef std::future<AttachPolicy2ApprovalProcessOutcome> AttachPolicy2ApprovalProcessOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::AttachPolicy2ApprovalProcessRequest&, const AttachPolicy2ApprovalProcessOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachPolicy2ApprovalProcessAsyncHandler;
+			typedef Outcome<Error, Model::CreateApprovalProcessResult> CreateApprovalProcessOutcome;
+			typedef std::future<CreateApprovalProcessOutcome> CreateApprovalProcessOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::CreateApprovalProcessRequest&, const CreateApprovalProcessOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateApprovalProcessAsyncHandler;
 			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;
@@ -230,6 +276,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateWmInfoMappingResult> CreateWmInfoMappingOutcome;
 			typedef std::future<CreateWmInfoMappingOutcome> CreateWmInfoMappingOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::CreateWmInfoMappingRequest&, const CreateWmInfoMappingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateWmInfoMappingAsyncHandler;
+			typedef Outcome<Error, Model::DeleteApprovalProcessesResult> DeleteApprovalProcessesOutcome;
+			typedef std::future<DeleteApprovalProcessesOutcome> DeleteApprovalProcessesOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::DeleteApprovalProcessesRequest&, const DeleteApprovalProcessesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteApprovalProcessesAsyncHandler;
 			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;
@@ -260,12 +309,27 @@ 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::DetachPolicy2ApprovalProcessResult> DetachPolicy2ApprovalProcessOutcome;
+			typedef std::future<DetachPolicy2ApprovalProcessOutcome> DetachPolicy2ApprovalProcessOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::DetachPolicy2ApprovalProcessRequest&, const DetachPolicy2ApprovalProcessOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachPolicy2ApprovalProcessAsyncHandler;
 			typedef Outcome<Error, Model::ExportUserDevicesResult> ExportUserDevicesOutcome;
 			typedef std::future<ExportUserDevicesOutcome> ExportUserDevicesOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ExportUserDevicesRequest&, const ExportUserDevicesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ExportUserDevicesAsyncHandler;
 			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::GetApprovalResult> GetApprovalOutcome;
+			typedef std::future<GetApprovalOutcome> GetApprovalOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetApprovalRequest&, const GetApprovalOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetApprovalAsyncHandler;
+			typedef Outcome<Error, Model::GetApprovalProcessResult> GetApprovalProcessOutcome;
+			typedef std::future<GetApprovalProcessOutcome> GetApprovalProcessOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetApprovalProcessRequest&, const GetApprovalProcessOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetApprovalProcessAsyncHandler;
+			typedef Outcome<Error, Model::GetApprovalSchemaResult> GetApprovalSchemaOutcome;
+			typedef std::future<GetApprovalSchemaOutcome> GetApprovalSchemaOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetApprovalSchemaRequest&, const GetApprovalSchemaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetApprovalSchemaAsyncHandler;
+			typedef Outcome<Error, Model::GetBootAndAntiUninstallPolicyResult> GetBootAndAntiUninstallPolicyOutcome;
+			typedef std::future<GetBootAndAntiUninstallPolicyOutcome> GetBootAndAntiUninstallPolicyOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::GetBootAndAntiUninstallPolicyRequest&, const GetBootAndAntiUninstallPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetBootAndAntiUninstallPolicyAsyncHandler;
 			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;
@@ -302,6 +366,21 @@ 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::ListApprovalProcessesResult> ListApprovalProcessesOutcome;
+			typedef std::future<ListApprovalProcessesOutcome> ListApprovalProcessesOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListApprovalProcessesRequest&, const ListApprovalProcessesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApprovalProcessesAsyncHandler;
+			typedef Outcome<Error, Model::ListApprovalProcessesForApprovalSchemasResult> ListApprovalProcessesForApprovalSchemasOutcome;
+			typedef std::future<ListApprovalProcessesForApprovalSchemasOutcome> ListApprovalProcessesForApprovalSchemasOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListApprovalProcessesForApprovalSchemasRequest&, const ListApprovalProcessesForApprovalSchemasOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApprovalProcessesForApprovalSchemasAsyncHandler;
+			typedef Outcome<Error, Model::ListApprovalSchemasResult> ListApprovalSchemasOutcome;
+			typedef std::future<ListApprovalSchemasOutcome> ListApprovalSchemasOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListApprovalSchemasRequest&, const ListApprovalSchemasOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApprovalSchemasAsyncHandler;
+			typedef Outcome<Error, Model::ListApprovalSchemasForApprovalProcessesResult> ListApprovalSchemasForApprovalProcessesOutcome;
+			typedef std::future<ListApprovalSchemasForApprovalProcessesOutcome> ListApprovalSchemasForApprovalProcessesOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListApprovalSchemasForApprovalProcessesRequest&, const ListApprovalSchemasForApprovalProcessesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApprovalSchemasForApprovalProcessesAsyncHandler;
+			typedef Outcome<Error, Model::ListApprovalsResult> ListApprovalsOutcome;
+			typedef std::future<ListApprovalsOutcome> ListApprovalsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListApprovalsRequest&, const ListApprovalsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListApprovalsAsyncHandler;
 			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;
@@ -368,6 +447,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListTagsForPrivateAccessPolicyResult> ListTagsForPrivateAccessPolicyOutcome;
 			typedef std::future<ListTagsForPrivateAccessPolicyOutcome> ListTagsForPrivateAccessPolicyOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListTagsForPrivateAccessPolicyRequest&, const ListTagsForPrivateAccessPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagsForPrivateAccessPolicyAsyncHandler;
+			typedef Outcome<Error, Model::ListUninstallApplicationsResult> ListUninstallApplicationsOutcome;
+			typedef std::future<ListUninstallApplicationsOutcome> ListUninstallApplicationsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListUninstallApplicationsRequest&, const ListUninstallApplicationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUninstallApplicationsAsyncHandler;
+			typedef Outcome<Error, Model::ListUserApplicationsResult> ListUserApplicationsOutcome;
+			typedef std::future<ListUserApplicationsOutcome> ListUserApplicationsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListUserApplicationsRequest&, const ListUserApplicationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserApplicationsAsyncHandler;
 			typedef Outcome<Error, Model::ListUserDevicesResult> ListUserDevicesOutcome;
 			typedef std::future<ListUserDevicesOutcome> ListUserDevicesOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListUserDevicesRequest&, const ListUserDevicesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserDevicesAsyncHandler;
@@ -380,6 +465,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListUserGroupsForRegistrationPolicyResult> ListUserGroupsForRegistrationPolicyOutcome;
 			typedef std::future<ListUserGroupsForRegistrationPolicyOutcome> ListUserGroupsForRegistrationPolicyOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListUserGroupsForRegistrationPolicyRequest&, const ListUserGroupsForRegistrationPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserGroupsForRegistrationPolicyAsyncHandler;
+			typedef Outcome<Error, Model::ListUserPrivateAccessPoliciesResult> ListUserPrivateAccessPoliciesOutcome;
+			typedef std::future<ListUserPrivateAccessPoliciesOutcome> ListUserPrivateAccessPoliciesOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListUserPrivateAccessPoliciesRequest&, const ListUserPrivateAccessPoliciesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUserPrivateAccessPoliciesAsyncHandler;
 			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;
@@ -389,6 +477,15 @@ namespace AlibabaCloud
 			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::UpdateApprovalProcessResult> UpdateApprovalProcessOutcome;
+			typedef std::future<UpdateApprovalProcessOutcome> UpdateApprovalProcessOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateApprovalProcessRequest&, const UpdateApprovalProcessOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateApprovalProcessAsyncHandler;
+			typedef Outcome<Error, Model::UpdateApprovalStatusResult> UpdateApprovalStatusOutcome;
+			typedef std::future<UpdateApprovalStatusOutcome> UpdateApprovalStatusOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateApprovalStatusRequest&, const UpdateApprovalStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateApprovalStatusAsyncHandler;
+			typedef Outcome<Error, Model::UpdateBootAndAntiUninstallPolicyResult> UpdateBootAndAntiUninstallPolicyOutcome;
+			typedef std::future<UpdateBootAndAntiUninstallPolicyOutcome> UpdateBootAndAntiUninstallPolicyOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateBootAndAntiUninstallPolicyRequest&, const UpdateBootAndAntiUninstallPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateBootAndAntiUninstallPolicyAsyncHandler;
 			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;
@@ -419,6 +516,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateRegistrationPolicyResult> UpdateRegistrationPolicyOutcome;
 			typedef std::future<UpdateRegistrationPolicyOutcome> UpdateRegistrationPolicyOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateRegistrationPolicyRequest&, const UpdateRegistrationPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRegistrationPolicyAsyncHandler;
+			typedef Outcome<Error, Model::UpdateUninstallApplicationsStatusResult> UpdateUninstallApplicationsStatusOutcome;
+			typedef std::future<UpdateUninstallApplicationsStatusOutcome> UpdateUninstallApplicationsStatusOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateUninstallApplicationsStatusRequest&, const UpdateUninstallApplicationsStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUninstallApplicationsStatusAsyncHandler;
 			typedef Outcome<Error, Model::UpdateUserDevicesSharingStatusResult> UpdateUserDevicesSharingStatusOutcome;
 			typedef std::future<UpdateUserDevicesSharingStatusOutcome> UpdateUserDevicesSharingStatusOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateUserDevicesSharingStatusRequest&, const UpdateUserDevicesSharingStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserDevicesSharingStatusAsyncHandler;
@@ -439,6 +539,12 @@ 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;
+			AttachPolicy2ApprovalProcessOutcome attachPolicy2ApprovalProcess(const Model::AttachPolicy2ApprovalProcessRequest &request)const;
+			void attachPolicy2ApprovalProcessAsync(const Model::AttachPolicy2ApprovalProcessRequest& request, const AttachPolicy2ApprovalProcessAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AttachPolicy2ApprovalProcessOutcomeCallable attachPolicy2ApprovalProcessCallable(const Model::AttachPolicy2ApprovalProcessRequest& request) const;
+			CreateApprovalProcessOutcome createApprovalProcess(const Model::CreateApprovalProcessRequest &request)const;
+			void createApprovalProcessAsync(const Model::CreateApprovalProcessRequest& request, const CreateApprovalProcessAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateApprovalProcessOutcomeCallable createApprovalProcessCallable(const Model::CreateApprovalProcessRequest& 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;
@@ -475,6 +581,9 @@ namespace AlibabaCloud
 			CreateWmInfoMappingOutcome createWmInfoMapping(const Model::CreateWmInfoMappingRequest &request)const;
 			void createWmInfoMappingAsync(const Model::CreateWmInfoMappingRequest& request, const CreateWmInfoMappingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateWmInfoMappingOutcomeCallable createWmInfoMappingCallable(const Model::CreateWmInfoMappingRequest& request) const;
+			DeleteApprovalProcessesOutcome deleteApprovalProcesses(const Model::DeleteApprovalProcessesRequest &request)const;
+			void deleteApprovalProcessesAsync(const Model::DeleteApprovalProcessesRequest& request, const DeleteApprovalProcessesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteApprovalProcessesOutcomeCallable deleteApprovalProcessesCallable(const Model::DeleteApprovalProcessesRequest& 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;
@@ -505,12 +614,27 @@ 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;
+			DetachPolicy2ApprovalProcessOutcome detachPolicy2ApprovalProcess(const Model::DetachPolicy2ApprovalProcessRequest &request)const;
+			void detachPolicy2ApprovalProcessAsync(const Model::DetachPolicy2ApprovalProcessRequest& request, const DetachPolicy2ApprovalProcessAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DetachPolicy2ApprovalProcessOutcomeCallable detachPolicy2ApprovalProcessCallable(const Model::DetachPolicy2ApprovalProcessRequest& request) const;
 			ExportUserDevicesOutcome exportUserDevices(const Model::ExportUserDevicesRequest &request)const;
 			void exportUserDevicesAsync(const Model::ExportUserDevicesRequest& request, const ExportUserDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ExportUserDevicesOutcomeCallable exportUserDevicesCallable(const Model::ExportUserDevicesRequest& 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;
+			GetApprovalOutcome getApproval(const Model::GetApprovalRequest &request)const;
+			void getApprovalAsync(const Model::GetApprovalRequest& request, const GetApprovalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetApprovalOutcomeCallable getApprovalCallable(const Model::GetApprovalRequest& request) const;
+			GetApprovalProcessOutcome getApprovalProcess(const Model::GetApprovalProcessRequest &request)const;
+			void getApprovalProcessAsync(const Model::GetApprovalProcessRequest& request, const GetApprovalProcessAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetApprovalProcessOutcomeCallable getApprovalProcessCallable(const Model::GetApprovalProcessRequest& request) const;
+			GetApprovalSchemaOutcome getApprovalSchema(const Model::GetApprovalSchemaRequest &request)const;
+			void getApprovalSchemaAsync(const Model::GetApprovalSchemaRequest& request, const GetApprovalSchemaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetApprovalSchemaOutcomeCallable getApprovalSchemaCallable(const Model::GetApprovalSchemaRequest& request) const;
+			GetBootAndAntiUninstallPolicyOutcome getBootAndAntiUninstallPolicy(const Model::GetBootAndAntiUninstallPolicyRequest &request)const;
+			void getBootAndAntiUninstallPolicyAsync(const Model::GetBootAndAntiUninstallPolicyRequest& request, const GetBootAndAntiUninstallPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetBootAndAntiUninstallPolicyOutcomeCallable getBootAndAntiUninstallPolicyCallable(const Model::GetBootAndAntiUninstallPolicyRequest& 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;
@@ -547,6 +671,21 @@ 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;
+			ListApprovalProcessesOutcome listApprovalProcesses(const Model::ListApprovalProcessesRequest &request)const;
+			void listApprovalProcessesAsync(const Model::ListApprovalProcessesRequest& request, const ListApprovalProcessesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListApprovalProcessesOutcomeCallable listApprovalProcessesCallable(const Model::ListApprovalProcessesRequest& request) const;
+			ListApprovalProcessesForApprovalSchemasOutcome listApprovalProcessesForApprovalSchemas(const Model::ListApprovalProcessesForApprovalSchemasRequest &request)const;
+			void listApprovalProcessesForApprovalSchemasAsync(const Model::ListApprovalProcessesForApprovalSchemasRequest& request, const ListApprovalProcessesForApprovalSchemasAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListApprovalProcessesForApprovalSchemasOutcomeCallable listApprovalProcessesForApprovalSchemasCallable(const Model::ListApprovalProcessesForApprovalSchemasRequest& request) const;
+			ListApprovalSchemasOutcome listApprovalSchemas(const Model::ListApprovalSchemasRequest &request)const;
+			void listApprovalSchemasAsync(const Model::ListApprovalSchemasRequest& request, const ListApprovalSchemasAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListApprovalSchemasOutcomeCallable listApprovalSchemasCallable(const Model::ListApprovalSchemasRequest& request) const;
+			ListApprovalSchemasForApprovalProcessesOutcome listApprovalSchemasForApprovalProcesses(const Model::ListApprovalSchemasForApprovalProcessesRequest &request)const;
+			void listApprovalSchemasForApprovalProcessesAsync(const Model::ListApprovalSchemasForApprovalProcessesRequest& request, const ListApprovalSchemasForApprovalProcessesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListApprovalSchemasForApprovalProcessesOutcomeCallable listApprovalSchemasForApprovalProcessesCallable(const Model::ListApprovalSchemasForApprovalProcessesRequest& request) const;
+			ListApprovalsOutcome listApprovals(const Model::ListApprovalsRequest &request)const;
+			void listApprovalsAsync(const Model::ListApprovalsRequest& request, const ListApprovalsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListApprovalsOutcomeCallable listApprovalsCallable(const Model::ListApprovalsRequest& 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;
@@ -613,6 +752,12 @@ namespace AlibabaCloud
 			ListTagsForPrivateAccessPolicyOutcome listTagsForPrivateAccessPolicy(const Model::ListTagsForPrivateAccessPolicyRequest &request)const;
 			void listTagsForPrivateAccessPolicyAsync(const Model::ListTagsForPrivateAccessPolicyRequest& request, const ListTagsForPrivateAccessPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListTagsForPrivateAccessPolicyOutcomeCallable listTagsForPrivateAccessPolicyCallable(const Model::ListTagsForPrivateAccessPolicyRequest& request) const;
+			ListUninstallApplicationsOutcome listUninstallApplications(const Model::ListUninstallApplicationsRequest &request)const;
+			void listUninstallApplicationsAsync(const Model::ListUninstallApplicationsRequest& request, const ListUninstallApplicationsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUninstallApplicationsOutcomeCallable listUninstallApplicationsCallable(const Model::ListUninstallApplicationsRequest& request) const;
+			ListUserApplicationsOutcome listUserApplications(const Model::ListUserApplicationsRequest &request)const;
+			void listUserApplicationsAsync(const Model::ListUserApplicationsRequest& request, const ListUserApplicationsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUserApplicationsOutcomeCallable listUserApplicationsCallable(const Model::ListUserApplicationsRequest& request) const;
 			ListUserDevicesOutcome listUserDevices(const Model::ListUserDevicesRequest &request)const;
 			void listUserDevicesAsync(const Model::ListUserDevicesRequest& request, const ListUserDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListUserDevicesOutcomeCallable listUserDevicesCallable(const Model::ListUserDevicesRequest& request) const;
@@ -625,6 +770,9 @@ namespace AlibabaCloud
 			ListUserGroupsForRegistrationPolicyOutcome listUserGroupsForRegistrationPolicy(const Model::ListUserGroupsForRegistrationPolicyRequest &request)const;
 			void listUserGroupsForRegistrationPolicyAsync(const Model::ListUserGroupsForRegistrationPolicyRequest& request, const ListUserGroupsForRegistrationPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListUserGroupsForRegistrationPolicyOutcomeCallable listUserGroupsForRegistrationPolicyCallable(const Model::ListUserGroupsForRegistrationPolicyRequest& request) const;
+			ListUserPrivateAccessPoliciesOutcome listUserPrivateAccessPolicies(const Model::ListUserPrivateAccessPoliciesRequest &request)const;
+			void listUserPrivateAccessPoliciesAsync(const Model::ListUserPrivateAccessPoliciesRequest& request, const ListUserPrivateAccessPoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUserPrivateAccessPoliciesOutcomeCallable listUserPrivateAccessPoliciesCallable(const Model::ListUserPrivateAccessPoliciesRequest& request) const;
 			ListUsersOutcome listUsers(const Model::ListUsersRequest &request)const;
 			void listUsersAsync(const Model::ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListUsersOutcomeCallable listUsersCallable(const Model::ListUsersRequest& request) const;
@@ -634,6 +782,15 @@ namespace AlibabaCloud
 			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;
+			UpdateApprovalProcessOutcome updateApprovalProcess(const Model::UpdateApprovalProcessRequest &request)const;
+			void updateApprovalProcessAsync(const Model::UpdateApprovalProcessRequest& request, const UpdateApprovalProcessAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateApprovalProcessOutcomeCallable updateApprovalProcessCallable(const Model::UpdateApprovalProcessRequest& request) const;
+			UpdateApprovalStatusOutcome updateApprovalStatus(const Model::UpdateApprovalStatusRequest &request)const;
+			void updateApprovalStatusAsync(const Model::UpdateApprovalStatusRequest& request, const UpdateApprovalStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateApprovalStatusOutcomeCallable updateApprovalStatusCallable(const Model::UpdateApprovalStatusRequest& request) const;
+			UpdateBootAndAntiUninstallPolicyOutcome updateBootAndAntiUninstallPolicy(const Model::UpdateBootAndAntiUninstallPolicyRequest &request)const;
+			void updateBootAndAntiUninstallPolicyAsync(const Model::UpdateBootAndAntiUninstallPolicyRequest& request, const UpdateBootAndAntiUninstallPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateBootAndAntiUninstallPolicyOutcomeCallable updateBootAndAntiUninstallPolicyCallable(const Model::UpdateBootAndAntiUninstallPolicyRequest& 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;
@@ -664,6 +821,9 @@ namespace AlibabaCloud
 			UpdateRegistrationPolicyOutcome updateRegistrationPolicy(const Model::UpdateRegistrationPolicyRequest &request)const;
 			void updateRegistrationPolicyAsync(const Model::UpdateRegistrationPolicyRequest& request, const UpdateRegistrationPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateRegistrationPolicyOutcomeCallable updateRegistrationPolicyCallable(const Model::UpdateRegistrationPolicyRequest& request) const;
+			UpdateUninstallApplicationsStatusOutcome updateUninstallApplicationsStatus(const Model::UpdateUninstallApplicationsStatusRequest &request)const;
+			void updateUninstallApplicationsStatusAsync(const Model::UpdateUninstallApplicationsStatusRequest& request, const UpdateUninstallApplicationsStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateUninstallApplicationsStatusOutcomeCallable updateUninstallApplicationsStatusCallable(const Model::UpdateUninstallApplicationsStatusRequest& request) const;
 			UpdateUserDevicesSharingStatusOutcome updateUserDevicesSharingStatus(const Model::UpdateUserDevicesSharingStatusRequest &request)const;
 			void updateUserDevicesSharingStatusAsync(const Model::UpdateUserDevicesSharingStatusRequest& request, const UpdateUserDevicesSharingStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateUserDevicesSharingStatusOutcomeCallable updateUserDevicesSharingStatusCallable(const Model::UpdateUserDevicesSharingStatusRequest& request) const;

+ 51 - 0
csas/include/alibabacloud/csas/model/AttachPolicy2ApprovalProcessRequest.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_ATTACHPOLICY2APPROVALPROCESSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_ATTACHPOLICY2APPROVALPROCESSREQUEST_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 AttachPolicy2ApprovalProcessRequest : public RpcServiceRequest {
+public:
+	AttachPolicy2ApprovalProcessRequest();
+	~AttachPolicy2ApprovalProcessRequest();
+	std::string getPolicyType() const;
+	void setPolicyType(const std::string &policyType);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getPolicyId() const;
+	void setPolicyId(const std::string &policyId);
+	std::string getProcessId() const;
+	void setProcessId(const std::string &processId);
+
+private:
+	std::string policyType_;
+	std::string sourceIp_;
+	std::string policyId_;
+	std::string processId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_ATTACHPOLICY2APPROVALPROCESSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/AttachPolicy2ApprovalProcessResult.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_ATTACHPOLICY2APPROVALPROCESSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_ATTACHPOLICY2APPROVALPROCESSRESULT_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 AttachPolicy2ApprovalProcessResult : public ServiceResult
+			{
+			public:
+
+
+				AttachPolicy2ApprovalProcessResult();
+				explicit AttachPolicy2ApprovalProcessResult(const std::string &payload);
+				~AttachPolicy2ApprovalProcessResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_ATTACHPOLICY2APPROVALPROCESSRESULT_H_

+ 63 - 0
csas/include/alibabacloud/csas/model/CreateApprovalProcessRequest.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_CREATEAPPROVALPROCESSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATEAPPROVALPROCESSREQUEST_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 CreateApprovalProcessRequest : public RpcServiceRequest {
+public:
+	struct MatchSchemas {
+		std::string domainBlacklistSchemaId;
+		std::string softwareBlockSchemaId;
+		std::string peripheralBlockSchemaId;
+		std::string deviceRegistrationSchemaId;
+		std::string dlpSendSchemaId;
+		std::string domainWhitelistSchemaId;
+		std::string appUninstallSchemaId;
+	};
+	CreateApprovalProcessRequest();
+	~CreateApprovalProcessRequest();
+	std::vector<std::vector<std::string>> getProcessNodes() const;
+	void setProcessNodes(const std::vector<std::vector<std::string>> &processNodes);
+	MatchSchemas getMatchSchemas() const;
+	void setMatchSchemas(const MatchSchemas &matchSchemas);
+	std::string getProcessName() const;
+	void setProcessName(const std::string &processName);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+
+private:
+	std::vector<std::vector<std::string>> processNodes_;
+	MatchSchemas matchSchemas_;
+	std::string processName_;
+	std::string description_;
+	std::string sourceIp_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATEAPPROVALPROCESSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/CreateApprovalProcessResult.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_CREATEAPPROVALPROCESSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_CREATEAPPROVALPROCESSRESULT_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 CreateApprovalProcessResult : public ServiceResult
+			{
+			public:
+
+
+				CreateApprovalProcessResult();
+				explicit CreateApprovalProcessResult(const std::string &payload);
+				~CreateApprovalProcessResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_CREATEAPPROVALPROCESSRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/DeleteApprovalProcessesRequest.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_DELETEAPPROVALPROCESSESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_DELETEAPPROVALPROCESSESREQUEST_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 DeleteApprovalProcessesRequest : public RpcServiceRequest {
+public:
+	DeleteApprovalProcessesRequest();
+	~DeleteApprovalProcessesRequest();
+	std::vector<std::string> getProcessIds() const;
+	void setProcessIds(const std::vector<std::string> &processIds);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+
+private:
+	std::vector<std::string> processIds_;
+	std::string sourceIp_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_DELETEAPPROVALPROCESSESREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/DeleteApprovalProcessesResult.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_DELETEAPPROVALPROCESSESRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_DELETEAPPROVALPROCESSESRESULT_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 DeleteApprovalProcessesResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteApprovalProcessesResult();
+				explicit DeleteApprovalProcessesResult(const std::string &payload);
+				~DeleteApprovalProcessesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_DELETEAPPROVALPROCESSESRESULT_H_

+ 51 - 0
csas/include/alibabacloud/csas/model/DetachPolicy2ApprovalProcessRequest.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_DETACHPOLICY2APPROVALPROCESSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_DETACHPOLICY2APPROVALPROCESSREQUEST_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 DetachPolicy2ApprovalProcessRequest : public RpcServiceRequest {
+public:
+	DetachPolicy2ApprovalProcessRequest();
+	~DetachPolicy2ApprovalProcessRequest();
+	std::string getPolicyType() const;
+	void setPolicyType(const std::string &policyType);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getPolicyId() const;
+	void setPolicyId(const std::string &policyId);
+	std::string getProcessId() const;
+	void setProcessId(const std::string &processId);
+
+private:
+	std::string policyType_;
+	std::string sourceIp_;
+	std::string policyId_;
+	std::string processId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_DETACHPOLICY2APPROVALPROCESSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/DetachPolicy2ApprovalProcessResult.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_DETACHPOLICY2APPROVALPROCESSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_DETACHPOLICY2APPROVALPROCESSRESULT_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 DetachPolicy2ApprovalProcessResult : public ServiceResult
+			{
+			public:
+
+
+				DetachPolicy2ApprovalProcessResult();
+				explicit DetachPolicy2ApprovalProcessResult(const std::string &payload);
+				~DetachPolicy2ApprovalProcessResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_DETACHPOLICY2APPROVALPROCESSRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/GetApprovalProcessRequest.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_GETAPPROVALPROCESSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALPROCESSREQUEST_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 GetApprovalProcessRequest : public RpcServiceRequest {
+public:
+	GetApprovalProcessRequest();
+	~GetApprovalProcessRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getProcessId() const;
+	void setProcessId(const std::string &processId);
+
+private:
+	std::string sourceIp_;
+	std::string processId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALPROCESSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/GetApprovalProcessResult.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_GETAPPROVALPROCESSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALPROCESSRESULT_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 GetApprovalProcessResult : public ServiceResult
+			{
+			public:
+
+
+				GetApprovalProcessResult();
+				explicit GetApprovalProcessResult(const std::string &payload);
+				~GetApprovalProcessResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALPROCESSRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/GetApprovalRequest.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_GETAPPROVALREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALREQUEST_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 GetApprovalRequest : public RpcServiceRequest {
+public:
+	GetApprovalRequest();
+	~GetApprovalRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getApprovalId() const;
+	void setApprovalId(const std::string &approvalId);
+
+private:
+	std::string sourceIp_;
+	std::string approvalId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALREQUEST_H_

+ 85 - 0
csas/include/alibabacloud/csas/model/GetApprovalResult.h

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_GETAPPROVALRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALRESULT_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 GetApprovalResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ApprovalProgressesItem
+					{
+						struct OperatorsItem
+						{
+							std::string username;
+							std::string saseUserId;
+						};
+						std::string status;
+						std::string comment;
+						std::vector<ApprovalProgressesItem::OperatorsItem> operators;
+						std::string action;
+						std::string executor;
+						long timestamp;
+					};
+					std::string status;
+					std::string policyType;
+					std::string processName;
+					std::vector<Data::ApprovalProgressesItem> approvalProgresses;
+					std::string createTime;
+					std::string approvalId;
+					long endTimestamp;
+					std::string creatorUsername;
+					std::string approvalDetail;
+					std::string schemaContent;
+					std::string reason;
+					std::string schemaId;
+					std::string processId;
+					std::string creatorUserId;
+					std::string schemaName;
+					std::string creatorDevTag;
+					std::string creatorDepartment;
+				};
+
+
+				GetApprovalResult();
+				explicit GetApprovalResult(const std::string &payload);
+				~GetApprovalResult();
+				std::vector<Data> getApproval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> approval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/GetApprovalSchemaRequest.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_GETAPPROVALSCHEMAREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALSCHEMAREQUEST_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 GetApprovalSchemaRequest : public RpcServiceRequest {
+public:
+	GetApprovalSchemaRequest();
+	~GetApprovalSchemaRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getSchemaId() const;
+	void setSchemaId(const std::string &schemaId);
+
+private:
+	std::string sourceIp_;
+	std::string schemaId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALSCHEMAREQUEST_H_

+ 62 - 0
csas/include/alibabacloud/csas/model/GetApprovalSchemaResult.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_GETAPPROVALSCHEMARESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETAPPROVALSCHEMARESULT_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 GetApprovalSchemaResult : public ServiceResult
+			{
+			public:
+				struct Schema
+				{
+					bool isDefault;
+					std::string policyType;
+					std::string description;
+					long schemaVersion;
+					std::string createTime;
+					std::string schemaId;
+					std::string schemaContent;
+					std::string schemaName;
+				};
+
+
+				GetApprovalSchemaResult();
+				explicit GetApprovalSchemaResult(const std::string &payload);
+				~GetApprovalSchemaResult();
+				Schema getSchema()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Schema schema_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETAPPROVALSCHEMARESULT_H_

+ 42 - 0
csas/include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyRequest.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_GETBOOTANDANTIUNINSTALLPOLICYREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETBOOTANDANTIUNINSTALLPOLICYREQUEST_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 GetBootAndAntiUninstallPolicyRequest : public RpcServiceRequest {
+public:
+	GetBootAndAntiUninstallPolicyRequest();
+	~GetBootAndAntiUninstallPolicyRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+
+private:
+	std::string sourceIp_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETBOOTANDANTIUNINSTALLPOLICYREQUEST_H_

+ 83 - 0
csas/include/alibabacloud/csas/model/GetBootAndAntiUninstallPolicyResult.h

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_GETBOOTANDANTIUNINSTALLPOLICYRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_GETBOOTANDANTIUNINSTALLPOLICYRESULT_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 GetBootAndAntiUninstallPolicyResult : public ServiceResult
+			{
+			public:
+				struct Strategy
+				{
+					struct BlockContent
+					{
+						struct BlockTextZh
+						{
+							std::string mainButtonText;
+							std::string content;
+							std::string minorButtonText;
+							std::string title;
+						};
+						struct BlockTextEn
+						{
+							std::string mainButtonText;
+							std::string content;
+							std::string minorButtonText;
+							std::string title;
+						};
+						BlockTextZh blockTextZh;
+						BlockTextEn blockTextEn;
+					};
+					bool isAntiUninstall;
+					std::string reportProcessId;
+					std::string createTime;
+					std::vector<std::string> userGroupIds;
+					BlockContent blockContent;
+					std::string updateTime;
+					bool allowReport;
+					bool isBoot;
+					std::string policyId;
+					std::vector<std::string> whitelistUsers;
+				};
+
+
+				GetBootAndAntiUninstallPolicyResult();
+				explicit GetBootAndAntiUninstallPolicyResult(const std::string &payload);
+				~GetBootAndAntiUninstallPolicyResult();
+				Strategy getStrategy()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Strategy strategy_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_GETBOOTANDANTIUNINSTALLPOLICYRESULT_H_

+ 6 - 0
csas/include/alibabacloud/csas/model/GetUserDeviceResult.h

@@ -39,6 +39,11 @@ namespace AlibabaCloud
 						std::string username;
 						std::string saseUserId;
 					};
+					struct NetInterfaceInfoItem
+					{
+						std::string mac;
+						std::string name;
+					};
 					std::string appStatus;
 					std::string dlpStatus;
 					std::string innerIP;
@@ -46,6 +51,7 @@ namespace AlibabaCloud
 					std::string cPU;
 					std::string appVersion;
 					std::string department;
+					std::vector<NetInterfaceInfoItem> netInterfaceInfo;
 					std::string disk;
 					std::string deviceModel;
 					std::string nacStatus;

+ 45 - 0
csas/include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasRequest.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_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASREQUEST_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 ListApprovalProcessesForApprovalSchemasRequest : public RpcServiceRequest {
+public:
+	ListApprovalProcessesForApprovalSchemasRequest();
+	~ListApprovalProcessesForApprovalSchemasRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::vector<std::string> getSchemaIds() const;
+	void setSchemaIds(const std::vector<std::string> &schemaIds);
+
+private:
+	std::string sourceIp_;
+	std::vector<std::string> schemaIds_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASREQUEST_H_

+ 63 - 0
csas/include/alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasResult.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_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASRESULT_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 ListApprovalProcessesForApprovalSchemasResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ProcessesItem
+					{
+						std::string processName;
+						std::string description;
+						std::string createTime;
+						std::string processId;
+					};
+					std::string schemaId;
+					std::vector<Data::ProcessesItem> processes;
+				};
+
+
+				ListApprovalProcessesForApprovalSchemasResult();
+				explicit ListApprovalProcessesForApprovalSchemasResult(const std::string &payload);
+				~ListApprovalProcessesForApprovalSchemasResult();
+				std::vector<Data> getSchemas()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> schemas_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESFORAPPROVALSCHEMASRESULT_H_

+ 66 - 0
csas/include/alibabacloud/csas/model/ListApprovalProcessesRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESREQUEST_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 ListApprovalProcessesRequest : public RpcServiceRequest {
+public:
+	ListApprovalProcessesRequest();
+	~ListApprovalProcessesRequest();
+	std::vector<std::string> getProcessIds() const;
+	void setProcessIds(const std::vector<std::string> &processIds);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getPolicyId() const;
+	void setPolicyId(const std::string &policyId);
+	std::string getSaseUserId() const;
+	void setSaseUserId(const std::string &saseUserId);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	std::string getPolicyType() const;
+	void setPolicyType(const std::string &policyType);
+	std::string getProcessName() const;
+	void setProcessName(const std::string &processName);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::vector<std::string> processIds_;
+	std::string sourceIp_;
+	std::string policyId_;
+	std::string saseUserId_;
+	long pageSize_;
+	std::string policyType_;
+	std::string processName_;
+	long currentPage_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/ListApprovalProcessesResult.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_LISTAPPROVALPROCESSESRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESRESULT_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 ListApprovalProcessesResult : public ServiceResult
+			{
+			public:
+
+
+				ListApprovalProcessesResult();
+				explicit ListApprovalProcessesResult(const std::string &payload);
+				~ListApprovalProcessesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALPROCESSESRESULT_H_

+ 45 - 0
csas/include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesRequest.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_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESREQUEST_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 ListApprovalSchemasForApprovalProcessesRequest : public RpcServiceRequest {
+public:
+	ListApprovalSchemasForApprovalProcessesRequest();
+	~ListApprovalSchemasForApprovalProcessesRequest();
+	std::vector<std::string> getProcessIds() const;
+	void setProcessIds(const std::vector<std::string> &processIds);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+
+private:
+	std::vector<std::string> processIds_;
+	std::string sourceIp_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESREQUEST_H_

+ 67 - 0
csas/include/alibabacloud/csas/model/ListApprovalSchemasForApprovalProcessesResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESRESULT_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 ListApprovalSchemasForApprovalProcessesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct SchemasItem
+					{
+						bool isDefault;
+						std::string policyType;
+						std::string description;
+						long schemaVersion;
+						std::string createTime;
+						std::string schemaId;
+						std::string schemaContent;
+						std::string schemaName;
+					};
+					std::string processId;
+					std::vector<Data::SchemasItem> schemas;
+				};
+
+
+				ListApprovalSchemasForApprovalProcessesResult();
+				explicit ListApprovalSchemasForApprovalProcessesResult(const std::string &payload);
+				~ListApprovalSchemasForApprovalProcessesResult();
+				std::vector<Data> getProcesses()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> processes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASFORAPPROVALPROCESSESRESULT_H_

+ 57 - 0
csas/include/alibabacloud/csas/model/ListApprovalSchemasRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASREQUEST_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 ListApprovalSchemasRequest : public RpcServiceRequest {
+public:
+	ListApprovalSchemasRequest();
+	~ListApprovalSchemasRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::vector<std::string> getSchemaIds() const;
+	void setSchemaIds(const std::vector<std::string> &schemaIds);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	std::string getSchemaName() const;
+	void setSchemaName(const std::string &schemaName);
+	std::string getPolicyType() const;
+	void setPolicyType(const std::string &policyType);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+
+private:
+	std::string sourceIp_;
+	std::vector<std::string> schemaIds_;
+	long pageSize_;
+	std::string schemaName_;
+	std::string policyType_;
+	long currentPage_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASREQUEST_H_

+ 64 - 0
csas/include/alibabacloud/csas/model/ListApprovalSchemasResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASRESULT_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 ListApprovalSchemasResult : public ServiceResult
+			{
+			public:
+				struct DataList
+				{
+					bool isDefault;
+					std::string policyType;
+					std::string description;
+					long schemaVersion;
+					std::string createTime;
+					std::string schemaId;
+					std::string schemaContent;
+					std::string schemaName;
+				};
+
+
+				ListApprovalSchemasResult();
+				explicit ListApprovalSchemasResult(const std::string &payload);
+				~ListApprovalSchemasResult();
+				std::string getTotalNum()const;
+				std::vector<DataList> getSchemas()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string totalNum_;
+				std::vector<DataList> schemas_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSCHEMASRESULT_H_

+ 93 - 0
csas/include/alibabacloud/csas/model/ListApprovalsRequest.h

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSREQUEST_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 ListApprovalsRequest : public RpcServiceRequest {
+public:
+	ListApprovalsRequest();
+	~ListApprovalsRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getSchemaId() const;
+	void setSchemaId(const std::string &schemaId);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	long getCreateEndTime() const;
+	void setCreateEndTime(long createEndTime);
+	std::string getOperatorUserId() const;
+	void setOperatorUserId(const std::string &operatorUserId);
+	std::string getSchemaName() const;
+	void setSchemaName(const std::string &schemaName);
+	std::string getPolicyType() const;
+	void setPolicyType(const std::string &policyType);
+	std::string getProcessName() const;
+	void setProcessName(const std::string &processName);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	std::vector<std::string> getApprovalIds() const;
+	void setApprovalIds(const std::vector<std::string> &approvalIds);
+	long getCreateStartTime() const;
+	void setCreateStartTime(long createStartTime);
+	std::string getProcessId() const;
+	void setProcessId(const std::string &processId);
+	std::string getCreatorDepartment() const;
+	void setCreatorDepartment(const std::string &creatorDepartment);
+	std::string getOperatorUsername() const;
+	void setOperatorUsername(const std::string &operatorUsername);
+	std::string getCreatorUserId() const;
+	void setCreatorUserId(const std::string &creatorUserId);
+	std::string getCreatorUsername() const;
+	void setCreatorUsername(const std::string &creatorUsername);
+	std::vector<std::string> getStatuses() const;
+	void setStatuses(const std::vector<std::string> &statuses);
+	std::string getCreatorDevTag() const;
+	void setCreatorDevTag(const std::string &creatorDevTag);
+
+private:
+	std::string sourceIp_;
+	std::string schemaId_;
+	long pageSize_;
+	long createEndTime_;
+	std::string operatorUserId_;
+	std::string schemaName_;
+	std::string policyType_;
+	std::string processName_;
+	long currentPage_;
+	std::vector<std::string> approvalIds_;
+	long createStartTime_;
+	std::string processId_;
+	std::string creatorDepartment_;
+	std::string operatorUsername_;
+	std::string creatorUserId_;
+	std::string creatorUsername_;
+	std::vector<std::string> statuses_;
+	std::string creatorDevTag_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSREQUEST_H_

+ 87 - 0
csas/include/alibabacloud/csas/model/ListApprovalsResult.h

@@ -0,0 +1,87 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_LISTAPPROVALSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSRESULT_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 ListApprovalsResult : public ServiceResult
+			{
+			public:
+				struct DataList
+				{
+					struct ApprovalProgressesItem
+					{
+						struct OperatorsItem
+						{
+							std::string username;
+							std::string saseUserId;
+						};
+						std::string status;
+						std::string comment;
+						std::vector<ApprovalProgressesItem::OperatorsItem> operators;
+						std::string action;
+						std::string executor;
+						long timestamp;
+					};
+					std::string status;
+					std::string policyType;
+					std::string processName;
+					std::vector<DataList::ApprovalProgressesItem> approvalProgresses;
+					std::string createTime;
+					std::string approvalId;
+					long endTimestamp;
+					std::string creatorUsername;
+					std::string approvalDetail;
+					std::string schemaContent;
+					std::string reason;
+					std::string schemaId;
+					std::string processId;
+					std::string creatorUserId;
+					std::string schemaName;
+					std::string creatorDevTag;
+					std::string creatorDepartment;
+				};
+
+
+				ListApprovalsResult();
+				explicit ListApprovalsResult(const std::string &payload);
+				~ListApprovalsResult();
+				std::string getTotalNum()const;
+				std::vector<DataList> getApprovals()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string totalNum_;
+				std::vector<DataList> approvals_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTAPPROVALSRESULT_H_

+ 66 - 0
csas/include/alibabacloud/csas/model/ListUninstallApplicationsRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTUNINSTALLAPPLICATIONSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUNINSTALLAPPLICATIONSREQUEST_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 ListUninstallApplicationsRequest : public RpcServiceRequest {
+public:
+	ListUninstallApplicationsRequest();
+	~ListUninstallApplicationsRequest();
+	std::string getMac() const;
+	void setMac(const std::string &mac);
+	std::string getHostname() const;
+	void setHostname(const std::string &hostname);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	std::string getDepartment() const;
+	void setDepartment(const std::string &department);
+	long getCurrentPage() const;
+	void setCurrentPage(long currentPage);
+	std::vector<std::string> getApplicationIds() const;
+	void setApplicationIds(const std::vector<std::string> &applicationIds);
+	std::vector<std::string> getStatuses() const;
+	void setStatuses(const std::vector<std::string> &statuses);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::string mac_;
+	std::string hostname_;
+	std::string sourceIp_;
+	long pageSize_;
+	std::string department_;
+	long currentPage_;
+	std::vector<std::string> applicationIds_;
+	std::vector<std::string> statuses_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUNINSTALLAPPLICATIONSREQUEST_H_

+ 69 - 0
csas/include/alibabacloud/csas/model/ListUninstallApplicationsResult.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_LISTUNINSTALLAPPLICATIONSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUNINSTALLAPPLICATIONSRESULT_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 ListUninstallApplicationsResult : public ServiceResult
+			{
+			public:
+				struct DataList
+				{
+					std::string status;
+					bool isUninstall;
+					std::string devType;
+					std::string createTime;
+					std::string hostname;
+					std::string devTag;
+					std::string saseUserId;
+					std::string mac;
+					std::string reason;
+					std::string department;
+					std::string username;
+					std::string idpName;
+					std::string applicationId;
+				};
+
+
+				ListUninstallApplicationsResult();
+				explicit ListUninstallApplicationsResult(const std::string &payload);
+				~ListUninstallApplicationsResult();
+				long getTotalNum()const;
+				std::vector<DataList> getApplications()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalNum_;
+				std::vector<DataList> applications_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUNINSTALLAPPLICATIONSRESULT_H_

+ 51 - 0
csas/include/alibabacloud/csas/model/ListUserApplicationsRequest.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_LISTUSERAPPLICATIONSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERAPPLICATIONSREQUEST_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 ListUserApplicationsRequest : public RpcServiceRequest {
+public:
+	ListUserApplicationsRequest();
+	~ListUserApplicationsRequest();
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getSaseUserId() const;
+	void setSaseUserId(const std::string &saseUserId);
+	std::string getName() const;
+	void setName(const std::string &name);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	int currentPage_;
+	std::string saseUserId_;
+	std::string name_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERAPPLICATIONSREQUEST_H_

+ 67 - 0
csas/include/alibabacloud/csas/model/ListUserApplicationsResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTUSERAPPLICATIONSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERAPPLICATIONSRESULT_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 ListUserApplicationsResult : public ServiceResult
+			{
+			public:
+				struct ApplicationsItem
+				{
+					struct PortRangesItem
+					{
+						std::string begin;
+						std::string end;
+					};
+					std::vector<std::string> addresses;
+					std::string action;
+					std::vector<ApplicationsItem::PortRangesItem> portRanges;
+					std::string applicationId;
+					std::string protocol;
+					std::string name;
+				};
+
+
+				ListUserApplicationsResult();
+				explicit ListUserApplicationsResult(const std::string &payload);
+				~ListUserApplicationsResult();
+				int getTotalNum()const;
+				std::vector<ApplicationsItem> getApplications()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalNum_;
+				std::vector<ApplicationsItem> applications_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERAPPLICATIONSRESULT_H_

+ 6 - 0
csas/include/alibabacloud/csas/model/ListUserDevicesResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct DataList
 				{
+					struct NetInterfaceInfoItem
+					{
+						std::string mac;
+						std::string name;
+					};
 					std::string appStatus;
 					std::string dlpStatus;
 					std::string innerIP;
@@ -41,6 +46,7 @@ namespace AlibabaCloud
 					std::string cPU;
 					std::string appVersion;
 					std::string department;
+					std::vector<DataList::NetInterfaceInfoItem> netInterfaceInfo;
 					std::string disk;
 					std::string deviceModel;
 					std::string nacStatus;

+ 51 - 0
csas/include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesRequest.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_LISTUSERPRIVATEACCESSPOLICIESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERPRIVATEACCESSPOLICIESREQUEST_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 ListUserPrivateAccessPoliciesRequest : public RpcServiceRequest {
+public:
+	ListUserPrivateAccessPoliciesRequest();
+	~ListUserPrivateAccessPoliciesRequest();
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getSaseUserId() const;
+	void setSaseUserId(const std::string &saseUserId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	int currentPage_;
+	std::string saseUserId_;
+	int pageSize_;
+	std::string name_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERPRIVATEACCESSPOLICIESREQUEST_H_

+ 71 - 0
csas/include/alibabacloud/csas/model/ListUserPrivateAccessPoliciesResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTUSERPRIVATEACCESSPOLICIESRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERPRIVATEACCESSPOLICIESRESULT_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 ListUserPrivateAccessPoliciesResult : public ServiceResult
+			{
+			public:
+				struct Policies
+				{
+					struct CustomUserAttributesItem
+					{
+						std::string relation;
+						int idpId;
+						std::string userGroupType;
+						std::string value;
+					};
+					std::vector<Policies::CustomUserAttributesItem> customUserAttributes;
+					std::string userGroupMode;
+					long priority;
+					std::string deviceAttributeName;
+					std::string policyAction;
+					std::string policyId;
+					std::string name;
+					std::string matchedUserGroup;
+				};
+
+
+				ListUserPrivateAccessPoliciesResult();
+				explicit ListUserPrivateAccessPoliciesResult(const std::string &payload);
+				~ListUserPrivateAccessPoliciesResult();
+				int getTotalNum()const;
+				std::vector<Policies> getPolices()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalNum_;
+				std::vector<Policies> polices_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERPRIVATEACCESSPOLICIESRESULT_H_

+ 66 - 0
csas/include/alibabacloud/csas/model/UpdateApprovalProcessRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALPROCESSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALPROCESSREQUEST_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 UpdateApprovalProcessRequest : public RpcServiceRequest {
+public:
+	struct MatchSchemas {
+		std::string domainBlacklistSchemaId;
+		std::string softwareBlockSchemaId;
+		std::string peripheralBlockSchemaId;
+		std::string deviceRegistrationSchemaId;
+		std::string dlpSendSchemaId;
+		std::string domainWhitelistSchemaId;
+		std::string appUninstallSchemaId;
+	};
+	UpdateApprovalProcessRequest();
+	~UpdateApprovalProcessRequest();
+	std::vector<std::vector<std::string>> getProcessNodes() const;
+	void setProcessNodes(const std::vector<std::vector<std::string>> &processNodes);
+	MatchSchemas getMatchSchemas() const;
+	void setMatchSchemas(const MatchSchemas &matchSchemas);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getProcessName() const;
+	void setProcessName(const std::string &processName);
+	std::string getProcessId() const;
+	void setProcessId(const std::string &processId);
+
+private:
+	std::vector<std::vector<std::string>> processNodes_;
+	MatchSchemas matchSchemas_;
+	std::string description_;
+	std::string sourceIp_;
+	std::string processName_;
+	std::string processId_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALPROCESSREQUEST_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateApprovalProcessResult.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_UPDATEAPPROVALPROCESSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALPROCESSRESULT_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 UpdateApprovalProcessResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateApprovalProcessResult();
+				explicit UpdateApprovalProcessResult(const std::string &payload);
+				~UpdateApprovalProcessResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALPROCESSRESULT_H_

+ 48 - 0
csas/include/alibabacloud/csas/model/UpdateApprovalStatusRequest.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_UPDATEAPPROVALSTATUSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALSTATUSREQUEST_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 UpdateApprovalStatusRequest : public RpcServiceRequest {
+public:
+	UpdateApprovalStatusRequest();
+	~UpdateApprovalStatusRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getApprovalId() const;
+	void setApprovalId(const std::string &approvalId);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string sourceIp_;
+	std::string approvalId_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALSTATUSREQUEST_H_

+ 83 - 0
csas/include/alibabacloud/csas/model/UpdateApprovalStatusResult.h

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALSTATUSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALSTATUSRESULT_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 UpdateApprovalStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ApprovalProgressesItem
+					{
+						struct OperatorsItem
+						{
+							std::string username;
+							std::string saseUserId;
+						};
+						std::string status;
+						std::string comment;
+						std::vector<ApprovalProgressesItem::OperatorsItem> operators;
+						std::string action;
+						std::string executor;
+						long timestamp;
+					};
+					std::string status;
+					std::string policyType;
+					std::string processName;
+					std::vector<Data::ApprovalProgressesItem> approvalProgresses;
+					std::string createTime;
+					std::string approvalId;
+					long endTimestamp;
+					std::string approvalDetail;
+					std::string schemaContent;
+					std::string reason;
+					std::string schemaId;
+					std::string processId;
+					std::string creatorUserId;
+					std::string schemaName;
+					std::string creatorDevTag;
+				};
+
+
+				UpdateApprovalStatusResult();
+				explicit UpdateApprovalStatusResult(const std::string &payload);
+				~UpdateApprovalStatusResult();
+				std::vector<Data> getApproval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> approval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEAPPROVALSTATUSRESULT_H_

+ 76 - 0
csas/include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyRequest.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYREQUEST_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 UpdateBootAndAntiUninstallPolicyRequest : public RpcServiceRequest {
+public:
+	struct BlockContent {
+		struct BlockTextZh {
+			std::string minorButtonText;
+			std::string mainButtonText;
+			std::string title;
+			std::string content;
+		};
+		BlockTextZh blockTextZh;
+		struct BlockTextEn {
+			std::string minorButtonText;
+			std::string mainButtonText;
+			std::string title;
+			std::string content;
+		};
+		BlockTextEn blockTextEn;
+	};
+	UpdateBootAndAntiUninstallPolicyRequest();
+	~UpdateBootAndAntiUninstallPolicyRequest();
+	bool getIsAntiUninstall() const;
+	void setIsAntiUninstall(bool isAntiUninstall);
+	bool getAllowReport() const;
+	void setAllowReport(bool allowReport);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::vector<std::string> getUserGroupIds() const;
+	void setUserGroupIds(const std::vector<std::string> &userGroupIds);
+	std::vector<std::string> getWhitelistUsers() const;
+	void setWhitelistUsers(const std::vector<std::string> &whitelistUsers);
+	BlockContent getBlockContent() const;
+	void setBlockContent(const BlockContent &blockContent);
+	bool getIsBoot() const;
+	void setIsBoot(bool isBoot);
+
+private:
+	bool isAntiUninstall_;
+	bool allowReport_;
+	std::string sourceIp_;
+	std::vector<std::string> userGroupIds_;
+	std::vector<std::string> whitelistUsers_;
+	BlockContent blockContent_;
+	bool isBoot_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYREQUEST_H_

+ 83 - 0
csas/include/alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyResult.h

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYRESULT_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 UpdateBootAndAntiUninstallPolicyResult : public ServiceResult
+			{
+			public:
+				struct Strategy
+				{
+					struct BlockContent
+					{
+						struct BlockTextZh
+						{
+							std::string mainButtonText;
+							std::string content;
+							std::string minorButtonText;
+							std::string title;
+						};
+						struct BlockTextEn
+						{
+							std::string mainButtonText;
+							std::string content;
+							std::string minorButtonText;
+							std::string title;
+						};
+						BlockTextZh blockTextZh;
+						BlockTextEn blockTextEn;
+					};
+					bool isAntiUninstall;
+					std::string reportProcessId;
+					std::string createTime;
+					std::vector<std::string> userGroupIds;
+					BlockContent blockContent;
+					std::string updateTime;
+					bool allowReport;
+					bool isBoot;
+					std::string policyId;
+					std::vector<std::string> whitelistUsers;
+				};
+
+
+				UpdateBootAndAntiUninstallPolicyResult();
+				explicit UpdateBootAndAntiUninstallPolicyResult(const std::string &payload);
+				~UpdateBootAndAntiUninstallPolicyResult();
+				Strategy getStrategy()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Strategy strategy_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEBOOTANDANTIUNINSTALLPOLICYRESULT_H_

+ 48 - 0
csas/include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusRequest.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_UPDATEUNINSTALLAPPLICATIONSSTATUSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEUNINSTALLAPPLICATIONSSTATUSREQUEST_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 UpdateUninstallApplicationsStatusRequest : public RpcServiceRequest {
+public:
+	UpdateUninstallApplicationsStatusRequest();
+	~UpdateUninstallApplicationsStatusRequest();
+	std::vector<std::string> getApplicationIds() const;
+	void setApplicationIds(const std::vector<std::string> &applicationIds);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::vector<std::string> applicationIds_;
+	std::string sourceIp_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEUNINSTALLAPPLICATIONSSTATUSREQUEST_H_

+ 67 - 0
csas/include/alibabacloud/csas/model/UpdateUninstallApplicationsStatusResult.h

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_UPDATEUNINSTALLAPPLICATIONSSTATUSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEUNINSTALLAPPLICATIONSSTATUSRESULT_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 UpdateUninstallApplicationsStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					bool isUninstall;
+					std::string devType;
+					std::string createTime;
+					std::string hostname;
+					std::string devTag;
+					std::string saseUserId;
+					std::string mac;
+					std::string reason;
+					std::string department;
+					std::string username;
+					std::string idpName;
+					std::string applicationId;
+				};
+
+
+				UpdateUninstallApplicationsStatusResult();
+				explicit UpdateUninstallApplicationsStatusResult(const std::string &payload);
+				~UpdateUninstallApplicationsStatusResult();
+				std::vector<Data> getApplications()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> applications_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEUNINSTALLAPPLICATIONSSTATUSRESULT_H_

+ 6 - 0
csas/include/alibabacloud/csas/model/UpdateUserDevicesSharingStatusResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
+					struct NetInterfaceInfoItem
+					{
+						std::string mac;
+						std::string name;
+					};
 					std::string appStatus;
 					std::string dlpStatus;
 					std::string innerIP;
@@ -41,6 +46,7 @@ namespace AlibabaCloud
 					std::string cPU;
 					std::string appVersion;
 					std::string department;
+					std::vector<Data::NetInterfaceInfoItem> netInterfaceInfo;
 					std::string disk;
 					std::string deviceModel;
 					std::string nacStatus;

+ 6 - 0
csas/include/alibabacloud/csas/model/UpdateUserDevicesStatusResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
+					struct NetInterfaceInfoItem
+					{
+						std::string mac;
+						std::string name;
+					};
 					std::string appStatus;
 					std::string dlpStatus;
 					std::string innerIP;
@@ -41,6 +46,7 @@ namespace AlibabaCloud
 					std::string cPU;
 					std::string appVersion;
 					std::string department;
+					std::vector<Data::NetInterfaceInfoItem> netInterfaceInfo;
 					std::string disk;
 					std::string deviceModel;
 					std::string nacStatus;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 740 - 56
csas/src/CsasClient.cc


+ 63 - 0
csas/src/model/AttachPolicy2ApprovalProcessRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/AttachPolicy2ApprovalProcessRequest.h>
+
+using AlibabaCloud::Csas::Model::AttachPolicy2ApprovalProcessRequest;
+
+AttachPolicy2ApprovalProcessRequest::AttachPolicy2ApprovalProcessRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "AttachPolicy2ApprovalProcess") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+AttachPolicy2ApprovalProcessRequest::~AttachPolicy2ApprovalProcessRequest() {}
+
+std::string AttachPolicy2ApprovalProcessRequest::getPolicyType() const {
+  return policyType_;
+}
+
+void AttachPolicy2ApprovalProcessRequest::setPolicyType(const std::string &policyType) {
+  policyType_ = policyType;
+  setBodyParameter(std::string("PolicyType"), policyType);
+}
+
+std::string AttachPolicy2ApprovalProcessRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void AttachPolicy2ApprovalProcessRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string AttachPolicy2ApprovalProcessRequest::getPolicyId() const {
+  return policyId_;
+}
+
+void AttachPolicy2ApprovalProcessRequest::setPolicyId(const std::string &policyId) {
+  policyId_ = policyId;
+  setBodyParameter(std::string("PolicyId"), policyId);
+}
+
+std::string AttachPolicy2ApprovalProcessRequest::getProcessId() const {
+  return processId_;
+}
+
+void AttachPolicy2ApprovalProcessRequest::setProcessId(const std::string &processId) {
+  processId_ = processId;
+  setBodyParameter(std::string("ProcessId"), processId);
+}
+

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

+ 82 - 0
csas/src/model/CreateApprovalProcessRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/CreateApprovalProcessRequest.h>
+
+using AlibabaCloud::Csas::Model::CreateApprovalProcessRequest;
+
+CreateApprovalProcessRequest::CreateApprovalProcessRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "CreateApprovalProcess") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateApprovalProcessRequest::~CreateApprovalProcessRequest() {}
+
+std::vector<CreateApprovalProcessRequest::std::vector<std::string>> CreateApprovalProcessRequest::getProcessNodes() const {
+  return processNodes_;
+}
+
+void CreateApprovalProcessRequest::setProcessNodes(const std::vector<CreateApprovalProcessRequest::std::vector<std::string>> &processNodes) {
+  processNodes_ = processNodes;
+  for(int dep1 = 0; dep1 != processNodes.size(); dep1++) {
+    for(int dep2 = 0; dep2 != processNodes[dep1].size(); dep2++) {
+      setBodyParameter(std::string("ProcessNodes") + "." + std::to_string(dep1 + 1) + "." + std::to_string(dep2 + 1), processNodes[dep1][dep2]);
+    }
+  }
+}
+
+CreateApprovalProcessRequest::MatchSchemas CreateApprovalProcessRequest::getMatchSchemas() const {
+  return matchSchemas_;
+}
+
+void CreateApprovalProcessRequest::setMatchSchemas(const CreateApprovalProcessRequest::MatchSchemas &matchSchemas) {
+  matchSchemas_ = matchSchemas;
+  setBodyParameter(std::string("MatchSchemas") + ".DomainBlacklistSchemaId", matchSchemas.domainBlacklistSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".SoftwareBlockSchemaId", matchSchemas.softwareBlockSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".PeripheralBlockSchemaId", matchSchemas.peripheralBlockSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DeviceRegistrationSchemaId", matchSchemas.deviceRegistrationSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DlpSendSchemaId", matchSchemas.dlpSendSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DomainWhitelistSchemaId", matchSchemas.domainWhitelistSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".AppUninstallSchemaId", matchSchemas.appUninstallSchemaId);
+}
+
+std::string CreateApprovalProcessRequest::getProcessName() const {
+  return processName_;
+}
+
+void CreateApprovalProcessRequest::setProcessName(const std::string &processName) {
+  processName_ = processName;
+  setBodyParameter(std::string("ProcessName"), processName);
+}
+
+std::string CreateApprovalProcessRequest::getDescription() const {
+  return description_;
+}
+
+void CreateApprovalProcessRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setBodyParameter(std::string("Description"), description);
+}
+
+std::string CreateApprovalProcessRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void CreateApprovalProcessRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+

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

+ 47 - 0
csas/src/model/DeleteApprovalProcessesRequest.cc

@@ -0,0 +1,47 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/DeleteApprovalProcessesRequest.h>
+
+using AlibabaCloud::Csas::Model::DeleteApprovalProcessesRequest;
+
+DeleteApprovalProcessesRequest::DeleteApprovalProcessesRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "DeleteApprovalProcesses") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteApprovalProcessesRequest::~DeleteApprovalProcessesRequest() {}
+
+std::vector<DeleteApprovalProcessesRequest::std::string> DeleteApprovalProcessesRequest::getProcessIds() const {
+  return processIds_;
+}
+
+void DeleteApprovalProcessesRequest::setProcessIds(const std::vector<DeleteApprovalProcessesRequest::std::string> &processIds) {
+  processIds_ = processIds;
+  for(int dep1 = 0; dep1 != processIds.size(); dep1++) {
+    setBodyParameter(std::string("ProcessIds") + "." + std::to_string(dep1 + 1), processIds[dep1]);
+  }
+}
+
+std::string DeleteApprovalProcessesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DeleteApprovalProcessesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+

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

+ 63 - 0
csas/src/model/DetachPolicy2ApprovalProcessRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/DetachPolicy2ApprovalProcessRequest.h>
+
+using AlibabaCloud::Csas::Model::DetachPolicy2ApprovalProcessRequest;
+
+DetachPolicy2ApprovalProcessRequest::DetachPolicy2ApprovalProcessRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "DetachPolicy2ApprovalProcess") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DetachPolicy2ApprovalProcessRequest::~DetachPolicy2ApprovalProcessRequest() {}
+
+std::string DetachPolicy2ApprovalProcessRequest::getPolicyType() const {
+  return policyType_;
+}
+
+void DetachPolicy2ApprovalProcessRequest::setPolicyType(const std::string &policyType) {
+  policyType_ = policyType;
+  setBodyParameter(std::string("PolicyType"), policyType);
+}
+
+std::string DetachPolicy2ApprovalProcessRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DetachPolicy2ApprovalProcessRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DetachPolicy2ApprovalProcessRequest::getPolicyId() const {
+  return policyId_;
+}
+
+void DetachPolicy2ApprovalProcessRequest::setPolicyId(const std::string &policyId) {
+  policyId_ = policyId;
+  setBodyParameter(std::string("PolicyId"), policyId);
+}
+
+std::string DetachPolicy2ApprovalProcessRequest::getProcessId() const {
+  return processId_;
+}
+
+void DetachPolicy2ApprovalProcessRequest::setProcessId(const std::string &processId) {
+  processId_ = processId;
+  setBodyParameter(std::string("ProcessId"), processId);
+}
+

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

+ 45 - 0
csas/src/model/GetApprovalProcessRequest.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/GetApprovalProcessRequest.h>
+
+using AlibabaCloud::Csas::Model::GetApprovalProcessRequest;
+
+GetApprovalProcessRequest::GetApprovalProcessRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetApprovalProcess") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetApprovalProcessRequest::~GetApprovalProcessRequest() {}
+
+std::string GetApprovalProcessRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void GetApprovalProcessRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string GetApprovalProcessRequest::getProcessId() const {
+  return processId_;
+}
+
+void GetApprovalProcessRequest::setProcessId(const std::string &processId) {
+  processId_ = processId;
+  setParameter(std::string("ProcessId"), processId);
+}
+

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

+ 45 - 0
csas/src/model/GetApprovalRequest.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/GetApprovalRequest.h>
+
+using AlibabaCloud::Csas::Model::GetApprovalRequest;
+
+GetApprovalRequest::GetApprovalRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetApproval") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetApprovalRequest::~GetApprovalRequest() {}
+
+std::string GetApprovalRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void GetApprovalRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string GetApprovalRequest::getApprovalId() const {
+  return approvalId_;
+}
+
+void GetApprovalRequest::setApprovalId(const std::string &approvalId) {
+  approvalId_ = approvalId;
+  setParameter(std::string("ApprovalId"), approvalId);
+}
+

+ 113 - 0
csas/src/model/GetApprovalResult.cc

@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/GetApprovalResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetApprovalResult::GetApprovalResult() :
+	ServiceResult()
+{}
+
+GetApprovalResult::GetApprovalResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetApprovalResult::~GetApprovalResult()
+{}
+
+void GetApprovalResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApprovalNode = value["Approval"]["data"];
+	for (auto valueApprovaldata : allApprovalNode)
+	{
+		Data approvalObject;
+		if(!valueApprovaldata["ApprovalId"].isNull())
+			approvalObject.approvalId = valueApprovaldata["ApprovalId"].asString();
+		if(!valueApprovaldata["EndTimestamp"].isNull())
+			approvalObject.endTimestamp = std::stol(valueApprovaldata["EndTimestamp"].asString());
+		if(!valueApprovaldata["ApprovalDetail"].isNull())
+			approvalObject.approvalDetail = valueApprovaldata["ApprovalDetail"].asString();
+		if(!valueApprovaldata["Status"].isNull())
+			approvalObject.status = valueApprovaldata["Status"].asString();
+		if(!valueApprovaldata["ProcessId"].isNull())
+			approvalObject.processId = valueApprovaldata["ProcessId"].asString();
+		if(!valueApprovaldata["ProcessName"].isNull())
+			approvalObject.processName = valueApprovaldata["ProcessName"].asString();
+		if(!valueApprovaldata["PolicyType"].isNull())
+			approvalObject.policyType = valueApprovaldata["PolicyType"].asString();
+		if(!valueApprovaldata["SchemaId"].isNull())
+			approvalObject.schemaId = valueApprovaldata["SchemaId"].asString();
+		if(!valueApprovaldata["SchemaName"].isNull())
+			approvalObject.schemaName = valueApprovaldata["SchemaName"].asString();
+		if(!valueApprovaldata["SchemaContent"].isNull())
+			approvalObject.schemaContent = valueApprovaldata["SchemaContent"].asString();
+		if(!valueApprovaldata["CreatorUserId"].isNull())
+			approvalObject.creatorUserId = valueApprovaldata["CreatorUserId"].asString();
+		if(!valueApprovaldata["CreatorDevTag"].isNull())
+			approvalObject.creatorDevTag = valueApprovaldata["CreatorDevTag"].asString();
+		if(!valueApprovaldata["CreateTime"].isNull())
+			approvalObject.createTime = valueApprovaldata["CreateTime"].asString();
+		if(!valueApprovaldata["Reason"].isNull())
+			approvalObject.reason = valueApprovaldata["Reason"].asString();
+		if(!valueApprovaldata["CreatorUsername"].isNull())
+			approvalObject.creatorUsername = valueApprovaldata["CreatorUsername"].asString();
+		if(!valueApprovaldata["CreatorDepartment"].isNull())
+			approvalObject.creatorDepartment = valueApprovaldata["CreatorDepartment"].asString();
+		auto allApprovalProgressesNode = valueApprovaldata["ApprovalProgresses"]["approvalProgressesItem"];
+		for (auto valueApprovaldataApprovalProgressesapprovalProgressesItem : allApprovalProgressesNode)
+		{
+			Data::ApprovalProgressesItem approvalProgressesObject;
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Status"].isNull())
+				approvalProgressesObject.status = valueApprovaldataApprovalProgressesapprovalProgressesItem["Status"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Executor"].isNull())
+				approvalProgressesObject.executor = valueApprovaldataApprovalProgressesapprovalProgressesItem["Executor"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Action"].isNull())
+				approvalProgressesObject.action = valueApprovaldataApprovalProgressesapprovalProgressesItem["Action"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Comment"].isNull())
+				approvalProgressesObject.comment = valueApprovaldataApprovalProgressesapprovalProgressesItem["Comment"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Timestamp"].isNull())
+				approvalProgressesObject.timestamp = std::stol(valueApprovaldataApprovalProgressesapprovalProgressesItem["Timestamp"].asString());
+			auto allOperatorsNode = valueApprovaldataApprovalProgressesapprovalProgressesItem["Operators"]["operatorsItem"];
+			for (auto valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem : allOperatorsNode)
+			{
+				Data::ApprovalProgressesItem::OperatorsItem operatorsObject;
+				if(!valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].isNull())
+					operatorsObject.saseUserId = valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].asString();
+				if(!valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].isNull())
+					operatorsObject.username = valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].asString();
+				approvalProgressesObject.operators.push_back(operatorsObject);
+			}
+			approvalObject.approvalProgresses.push_back(approvalProgressesObject);
+		}
+		approval_.push_back(approvalObject);
+	}
+
+}
+
+std::vector<GetApprovalResult::Data> GetApprovalResult::getApproval()const
+{
+	return approval_;
+}
+

+ 45 - 0
csas/src/model/GetApprovalSchemaRequest.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/GetApprovalSchemaRequest.h>
+
+using AlibabaCloud::Csas::Model::GetApprovalSchemaRequest;
+
+GetApprovalSchemaRequest::GetApprovalSchemaRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetApprovalSchema") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetApprovalSchemaRequest::~GetApprovalSchemaRequest() {}
+
+std::string GetApprovalSchemaRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void GetApprovalSchemaRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string GetApprovalSchemaRequest::getSchemaId() const {
+  return schemaId_;
+}
+
+void GetApprovalSchemaRequest::setSchemaId(const std::string &schemaId) {
+  schemaId_ = schemaId;
+  setParameter(std::string("SchemaId"), schemaId);
+}
+

+ 66 - 0
csas/src/model/GetApprovalSchemaResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/GetApprovalSchemaResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetApprovalSchemaResult::GetApprovalSchemaResult() :
+	ServiceResult()
+{}
+
+GetApprovalSchemaResult::GetApprovalSchemaResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetApprovalSchemaResult::~GetApprovalSchemaResult()
+{}
+
+void GetApprovalSchemaResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto schemaNode = value["Schema"];
+	if(!schemaNode["CreateTime"].isNull())
+		schema_.createTime = schemaNode["CreateTime"].asString();
+	if(!schemaNode["SchemaId"].isNull())
+		schema_.schemaId = schemaNode["SchemaId"].asString();
+	if(!schemaNode["SchemaName"].isNull())
+		schema_.schemaName = schemaNode["SchemaName"].asString();
+	if(!schemaNode["Description"].isNull())
+		schema_.description = schemaNode["Description"].asString();
+	if(!schemaNode["SchemaContent"].isNull())
+		schema_.schemaContent = schemaNode["SchemaContent"].asString();
+	if(!schemaNode["SchemaVersion"].isNull())
+		schema_.schemaVersion = std::stol(schemaNode["SchemaVersion"].asString());
+	if(!schemaNode["PolicyType"].isNull())
+		schema_.policyType = schemaNode["PolicyType"].asString();
+	if(!schemaNode["IsDefault"].isNull())
+		schema_.isDefault = schemaNode["IsDefault"].asString() == "true";
+
+}
+
+GetApprovalSchemaResult::Schema GetApprovalSchemaResult::getSchema()const
+{
+	return schema_;
+}
+

+ 36 - 0
csas/src/model/GetBootAndAntiUninstallPolicyRequest.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/GetBootAndAntiUninstallPolicyRequest.h>
+
+using AlibabaCloud::Csas::Model::GetBootAndAntiUninstallPolicyRequest;
+
+GetBootAndAntiUninstallPolicyRequest::GetBootAndAntiUninstallPolicyRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "GetBootAndAntiUninstallPolicy") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetBootAndAntiUninstallPolicyRequest::~GetBootAndAntiUninstallPolicyRequest() {}
+
+std::string GetBootAndAntiUninstallPolicyRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void GetBootAndAntiUninstallPolicyRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+

+ 89 - 0
csas/src/model/GetBootAndAntiUninstallPolicyResult.cc

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/GetBootAndAntiUninstallPolicyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+GetBootAndAntiUninstallPolicyResult::GetBootAndAntiUninstallPolicyResult() :
+	ServiceResult()
+{}
+
+GetBootAndAntiUninstallPolicyResult::GetBootAndAntiUninstallPolicyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetBootAndAntiUninstallPolicyResult::~GetBootAndAntiUninstallPolicyResult()
+{}
+
+void GetBootAndAntiUninstallPolicyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto strategyNode = value["Strategy"];
+	if(!strategyNode["CreateTime"].isNull())
+		strategy_.createTime = strategyNode["CreateTime"].asString();
+	if(!strategyNode["UpdateTime"].isNull())
+		strategy_.updateTime = strategyNode["UpdateTime"].asString();
+	if(!strategyNode["IsBoot"].isNull())
+		strategy_.isBoot = strategyNode["IsBoot"].asString() == "true";
+	if(!strategyNode["IsAntiUninstall"].isNull())
+		strategy_.isAntiUninstall = strategyNode["IsAntiUninstall"].asString() == "true";
+	if(!strategyNode["AllowReport"].isNull())
+		strategy_.allowReport = strategyNode["AllowReport"].asString() == "true";
+	if(!strategyNode["PolicyId"].isNull())
+		strategy_.policyId = strategyNode["PolicyId"].asString();
+	if(!strategyNode["ReportProcessId"].isNull())
+		strategy_.reportProcessId = strategyNode["ReportProcessId"].asString();
+	auto blockContentNode = strategyNode["BlockContent"];
+	auto blockTextZhNode = blockContentNode["BlockTextZh"];
+	if(!blockTextZhNode["Title"].isNull())
+		strategy_.blockContent.blockTextZh.title = blockTextZhNode["Title"].asString();
+	if(!blockTextZhNode["Content"].isNull())
+		strategy_.blockContent.blockTextZh.content = blockTextZhNode["Content"].asString();
+	if(!blockTextZhNode["MainButtonText"].isNull())
+		strategy_.blockContent.blockTextZh.mainButtonText = blockTextZhNode["MainButtonText"].asString();
+	if(!blockTextZhNode["MinorButtonText"].isNull())
+		strategy_.blockContent.blockTextZh.minorButtonText = blockTextZhNode["MinorButtonText"].asString();
+	auto blockTextEnNode = blockContentNode["BlockTextEn"];
+	if(!blockTextEnNode["Title"].isNull())
+		strategy_.blockContent.blockTextEn.title = blockTextEnNode["Title"].asString();
+	if(!blockTextEnNode["Content"].isNull())
+		strategy_.blockContent.blockTextEn.content = blockTextEnNode["Content"].asString();
+	if(!blockTextEnNode["MainButtonText"].isNull())
+		strategy_.blockContent.blockTextEn.mainButtonText = blockTextEnNode["MainButtonText"].asString();
+	if(!blockTextEnNode["MinorButtonText"].isNull())
+		strategy_.blockContent.blockTextEn.minorButtonText = blockTextEnNode["MinorButtonText"].asString();
+		auto allWhitelistUsers = strategyNode["WhitelistUsers"]["whitelistUsers"];
+		for (auto value : allWhitelistUsers)
+			strategy_.whitelistUsers.push_back(value.asString());
+		auto allUserGroupIds = strategyNode["UserGroupIds"]["userGroupIds"];
+		for (auto value : allUserGroupIds)
+			strategy_.userGroupIds.push_back(value.asString());
+
+}
+
+GetBootAndAntiUninstallPolicyResult::Strategy GetBootAndAntiUninstallPolicyResult::getStrategy()const
+{
+	return strategy_;
+}
+

+ 10 - 0
csas/src/model/GetUserDeviceResult.cc

@@ -100,6 +100,16 @@ void GetUserDeviceResult::parse(const std::string &payload)
 			historyUsersItemObject.saseUserId = deviceNodeHistoryUsershistoryUsersItem["SaseUserId"].asString();
 		device_.historyUsers.push_back(historyUsersItemObject);
 	}
+	auto allNetInterfaceInfoNode = deviceNode["NetInterfaceInfo"]["netInterfaceInfoItem"];
+	for (auto deviceNodeNetInterfaceInfonetInterfaceInfoItem : allNetInterfaceInfoNode)
+	{
+		Device::NetInterfaceInfoItem netInterfaceInfoItemObject;
+		if(!deviceNodeNetInterfaceInfonetInterfaceInfoItem["Name"].isNull())
+			netInterfaceInfoItemObject.name = deviceNodeNetInterfaceInfonetInterfaceInfoItem["Name"].asString();
+		if(!deviceNodeNetInterfaceInfonetInterfaceInfoItem["Mac"].isNull())
+			netInterfaceInfoItemObject.mac = deviceNodeNetInterfaceInfonetInterfaceInfoItem["Mac"].asString();
+		device_.netInterfaceInfo.push_back(netInterfaceInfoItemObject);
+	}
 
 }
 

+ 47 - 0
csas/src/model/ListApprovalProcessesForApprovalSchemasRequest.cc

@@ -0,0 +1,47 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalProcessesForApprovalSchemasRequest.h>
+
+using AlibabaCloud::Csas::Model::ListApprovalProcessesForApprovalSchemasRequest;
+
+ListApprovalProcessesForApprovalSchemasRequest::ListApprovalProcessesForApprovalSchemasRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListApprovalProcessesForApprovalSchemas") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListApprovalProcessesForApprovalSchemasRequest::~ListApprovalProcessesForApprovalSchemasRequest() {}
+
+std::string ListApprovalProcessesForApprovalSchemasRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListApprovalProcessesForApprovalSchemasRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::vector<ListApprovalProcessesForApprovalSchemasRequest::std::string> ListApprovalProcessesForApprovalSchemasRequest::getSchemaIds() const {
+  return schemaIds_;
+}
+
+void ListApprovalProcessesForApprovalSchemasRequest::setSchemaIds(const std::vector<ListApprovalProcessesForApprovalSchemasRequest::std::string> &schemaIds) {
+  schemaIds_ = schemaIds;
+  for(int dep1 = 0; dep1 != schemaIds.size(); dep1++) {
+    setParameter(std::string("SchemaIds") + "." + std::to_string(dep1 + 1), schemaIds[dep1]);
+  }
+}
+

+ 71 - 0
csas/src/model/ListApprovalProcessesForApprovalSchemasResult.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListApprovalProcessesForApprovalSchemasResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListApprovalProcessesForApprovalSchemasResult::ListApprovalProcessesForApprovalSchemasResult() :
+	ServiceResult()
+{}
+
+ListApprovalProcessesForApprovalSchemasResult::ListApprovalProcessesForApprovalSchemasResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListApprovalProcessesForApprovalSchemasResult::~ListApprovalProcessesForApprovalSchemasResult()
+{}
+
+void ListApprovalProcessesForApprovalSchemasResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allSchemasNode = value["Schemas"]["data"];
+	for (auto valueSchemasdata : allSchemasNode)
+	{
+		Data schemasObject;
+		if(!valueSchemasdata["SchemaId"].isNull())
+			schemasObject.schemaId = valueSchemasdata["SchemaId"].asString();
+		auto allProcessesNode = valueSchemasdata["Processes"]["processesItem"];
+		for (auto valueSchemasdataProcessesprocessesItem : allProcessesNode)
+		{
+			Data::ProcessesItem processesObject;
+			if(!valueSchemasdataProcessesprocessesItem["CreateTime"].isNull())
+				processesObject.createTime = valueSchemasdataProcessesprocessesItem["CreateTime"].asString();
+			if(!valueSchemasdataProcessesprocessesItem["ProcessId"].isNull())
+				processesObject.processId = valueSchemasdataProcessesprocessesItem["ProcessId"].asString();
+			if(!valueSchemasdataProcessesprocessesItem["ProcessName"].isNull())
+				processesObject.processName = valueSchemasdataProcessesprocessesItem["ProcessName"].asString();
+			if(!valueSchemasdataProcessesprocessesItem["Description"].isNull())
+				processesObject.description = valueSchemasdataProcessesprocessesItem["Description"].asString();
+			schemasObject.processes.push_back(processesObject);
+		}
+		schemas_.push_back(schemasObject);
+	}
+
+}
+
+std::vector<ListApprovalProcessesForApprovalSchemasResult::Data> ListApprovalProcessesForApprovalSchemasResult::getSchemas()const
+{
+	return schemas_;
+}
+

+ 110 - 0
csas/src/model/ListApprovalProcessesRequest.cc

@@ -0,0 +1,110 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalProcessesRequest.h>
+
+using AlibabaCloud::Csas::Model::ListApprovalProcessesRequest;
+
+ListApprovalProcessesRequest::ListApprovalProcessesRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListApprovalProcesses") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListApprovalProcessesRequest::~ListApprovalProcessesRequest() {}
+
+std::vector<ListApprovalProcessesRequest::std::string> ListApprovalProcessesRequest::getProcessIds() const {
+  return processIds_;
+}
+
+void ListApprovalProcessesRequest::setProcessIds(const std::vector<ListApprovalProcessesRequest::std::string> &processIds) {
+  processIds_ = processIds;
+  for(int dep1 = 0; dep1 != processIds.size(); dep1++) {
+    setParameter(std::string("ProcessIds") + "." + std::to_string(dep1 + 1), processIds[dep1]);
+  }
+}
+
+std::string ListApprovalProcessesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListApprovalProcessesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ListApprovalProcessesRequest::getPolicyId() const {
+  return policyId_;
+}
+
+void ListApprovalProcessesRequest::setPolicyId(const std::string &policyId) {
+  policyId_ = policyId;
+  setParameter(std::string("PolicyId"), policyId);
+}
+
+std::string ListApprovalProcessesRequest::getSaseUserId() const {
+  return saseUserId_;
+}
+
+void ListApprovalProcessesRequest::setSaseUserId(const std::string &saseUserId) {
+  saseUserId_ = saseUserId;
+  setParameter(std::string("SaseUserId"), saseUserId);
+}
+
+long ListApprovalProcessesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListApprovalProcessesRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListApprovalProcessesRequest::getPolicyType() const {
+  return policyType_;
+}
+
+void ListApprovalProcessesRequest::setPolicyType(const std::string &policyType) {
+  policyType_ = policyType;
+  setParameter(std::string("PolicyType"), policyType);
+}
+
+std::string ListApprovalProcessesRequest::getProcessName() const {
+  return processName_;
+}
+
+void ListApprovalProcessesRequest::setProcessName(const std::string &processName) {
+  processName_ = processName;
+  setParameter(std::string("ProcessName"), processName);
+}
+
+long ListApprovalProcessesRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListApprovalProcessesRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string ListApprovalProcessesRequest::getUsername() const {
+  return username_;
+}
+
+void ListApprovalProcessesRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+

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

+ 47 - 0
csas/src/model/ListApprovalSchemasForApprovalProcessesRequest.cc

@@ -0,0 +1,47 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalSchemasForApprovalProcessesRequest.h>
+
+using AlibabaCloud::Csas::Model::ListApprovalSchemasForApprovalProcessesRequest;
+
+ListApprovalSchemasForApprovalProcessesRequest::ListApprovalSchemasForApprovalProcessesRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListApprovalSchemasForApprovalProcesses") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListApprovalSchemasForApprovalProcessesRequest::~ListApprovalSchemasForApprovalProcessesRequest() {}
+
+std::vector<ListApprovalSchemasForApprovalProcessesRequest::std::string> ListApprovalSchemasForApprovalProcessesRequest::getProcessIds() const {
+  return processIds_;
+}
+
+void ListApprovalSchemasForApprovalProcessesRequest::setProcessIds(const std::vector<ListApprovalSchemasForApprovalProcessesRequest::std::string> &processIds) {
+  processIds_ = processIds;
+  for(int dep1 = 0; dep1 != processIds.size(); dep1++) {
+    setParameter(std::string("ProcessIds") + "." + std::to_string(dep1 + 1), processIds[dep1]);
+  }
+}
+
+std::string ListApprovalSchemasForApprovalProcessesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListApprovalSchemasForApprovalProcessesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+

+ 79 - 0
csas/src/model/ListApprovalSchemasForApprovalProcessesResult.cc

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalSchemasForApprovalProcessesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListApprovalSchemasForApprovalProcessesResult::ListApprovalSchemasForApprovalProcessesResult() :
+	ServiceResult()
+{}
+
+ListApprovalSchemasForApprovalProcessesResult::ListApprovalSchemasForApprovalProcessesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListApprovalSchemasForApprovalProcessesResult::~ListApprovalSchemasForApprovalProcessesResult()
+{}
+
+void ListApprovalSchemasForApprovalProcessesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allProcessesNode = value["Processes"]["data"];
+	for (auto valueProcessesdata : allProcessesNode)
+	{
+		Data processesObject;
+		if(!valueProcessesdata["ProcessId"].isNull())
+			processesObject.processId = valueProcessesdata["ProcessId"].asString();
+		auto allSchemasNode = valueProcessesdata["Schemas"]["schemasItem"];
+		for (auto valueProcessesdataSchemasschemasItem : allSchemasNode)
+		{
+			Data::SchemasItem schemasObject;
+			if(!valueProcessesdataSchemasschemasItem["CreateTime"].isNull())
+				schemasObject.createTime = valueProcessesdataSchemasschemasItem["CreateTime"].asString();
+			if(!valueProcessesdataSchemasschemasItem["SchemaId"].isNull())
+				schemasObject.schemaId = valueProcessesdataSchemasschemasItem["SchemaId"].asString();
+			if(!valueProcessesdataSchemasschemasItem["SchemaName"].isNull())
+				schemasObject.schemaName = valueProcessesdataSchemasschemasItem["SchemaName"].asString();
+			if(!valueProcessesdataSchemasschemasItem["Description"].isNull())
+				schemasObject.description = valueProcessesdataSchemasschemasItem["Description"].asString();
+			if(!valueProcessesdataSchemasschemasItem["SchemaContent"].isNull())
+				schemasObject.schemaContent = valueProcessesdataSchemasschemasItem["SchemaContent"].asString();
+			if(!valueProcessesdataSchemasschemasItem["SchemaVersion"].isNull())
+				schemasObject.schemaVersion = std::stol(valueProcessesdataSchemasschemasItem["SchemaVersion"].asString());
+			if(!valueProcessesdataSchemasschemasItem["PolicyType"].isNull())
+				schemasObject.policyType = valueProcessesdataSchemasschemasItem["PolicyType"].asString();
+			if(!valueProcessesdataSchemasschemasItem["IsDefault"].isNull())
+				schemasObject.isDefault = valueProcessesdataSchemasschemasItem["IsDefault"].asString() == "true";
+			processesObject.schemas.push_back(schemasObject);
+		}
+		processes_.push_back(processesObject);
+	}
+
+}
+
+std::vector<ListApprovalSchemasForApprovalProcessesResult::Data> ListApprovalSchemasForApprovalProcessesResult::getProcesses()const
+{
+	return processes_;
+}
+

+ 83 - 0
csas/src/model/ListApprovalSchemasRequest.cc

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListApprovalSchemasRequest.h>
+
+using AlibabaCloud::Csas::Model::ListApprovalSchemasRequest;
+
+ListApprovalSchemasRequest::ListApprovalSchemasRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListApprovalSchemas") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListApprovalSchemasRequest::~ListApprovalSchemasRequest() {}
+
+std::string ListApprovalSchemasRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListApprovalSchemasRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::vector<ListApprovalSchemasRequest::std::string> ListApprovalSchemasRequest::getSchemaIds() const {
+  return schemaIds_;
+}
+
+void ListApprovalSchemasRequest::setSchemaIds(const std::vector<ListApprovalSchemasRequest::std::string> &schemaIds) {
+  schemaIds_ = schemaIds;
+  for(int dep1 = 0; dep1 != schemaIds.size(); dep1++) {
+    setParameter(std::string("SchemaIds") + "." + std::to_string(dep1 + 1), schemaIds[dep1]);
+  }
+}
+
+long ListApprovalSchemasRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListApprovalSchemasRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListApprovalSchemasRequest::getSchemaName() const {
+  return schemaName_;
+}
+
+void ListApprovalSchemasRequest::setSchemaName(const std::string &schemaName) {
+  schemaName_ = schemaName;
+  setParameter(std::string("SchemaName"), schemaName);
+}
+
+std::string ListApprovalSchemasRequest::getPolicyType() const {
+  return policyType_;
+}
+
+void ListApprovalSchemasRequest::setPolicyType(const std::string &policyType) {
+  policyType_ = policyType;
+  setParameter(std::string("PolicyType"), policyType);
+}
+
+long ListApprovalSchemasRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListApprovalSchemasRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+

+ 78 - 0
csas/src/model/ListApprovalSchemasResult.cc

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListApprovalSchemasResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListApprovalSchemasResult::ListApprovalSchemasResult() :
+	ServiceResult()
+{}
+
+ListApprovalSchemasResult::ListApprovalSchemasResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListApprovalSchemasResult::~ListApprovalSchemasResult()
+{}
+
+void ListApprovalSchemasResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allSchemasNode = value["Schemas"]["dataList"];
+	for (auto valueSchemasdataList : allSchemasNode)
+	{
+		DataList schemasObject;
+		if(!valueSchemasdataList["CreateTime"].isNull())
+			schemasObject.createTime = valueSchemasdataList["CreateTime"].asString();
+		if(!valueSchemasdataList["SchemaId"].isNull())
+			schemasObject.schemaId = valueSchemasdataList["SchemaId"].asString();
+		if(!valueSchemasdataList["SchemaName"].isNull())
+			schemasObject.schemaName = valueSchemasdataList["SchemaName"].asString();
+		if(!valueSchemasdataList["Description"].isNull())
+			schemasObject.description = valueSchemasdataList["Description"].asString();
+		if(!valueSchemasdataList["SchemaContent"].isNull())
+			schemasObject.schemaContent = valueSchemasdataList["SchemaContent"].asString();
+		if(!valueSchemasdataList["SchemaVersion"].isNull())
+			schemasObject.schemaVersion = std::stol(valueSchemasdataList["SchemaVersion"].asString());
+		if(!valueSchemasdataList["PolicyType"].isNull())
+			schemasObject.policyType = valueSchemasdataList["PolicyType"].asString();
+		if(!valueSchemasdataList["IsDefault"].isNull())
+			schemasObject.isDefault = valueSchemasdataList["IsDefault"].asString() == "true";
+		schemas_.push_back(schemasObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = value["TotalNum"].asString();
+
+}
+
+std::string ListApprovalSchemasResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListApprovalSchemasResult::DataList> ListApprovalSchemasResult::getSchemas()const
+{
+	return schemas_;
+}
+

+ 193 - 0
csas/src/model/ListApprovalsRequest.cc

@@ -0,0 +1,193 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalsRequest.h>
+
+using AlibabaCloud::Csas::Model::ListApprovalsRequest;
+
+ListApprovalsRequest::ListApprovalsRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListApprovals") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListApprovalsRequest::~ListApprovalsRequest() {}
+
+std::string ListApprovalsRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListApprovalsRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ListApprovalsRequest::getSchemaId() const {
+  return schemaId_;
+}
+
+void ListApprovalsRequest::setSchemaId(const std::string &schemaId) {
+  schemaId_ = schemaId;
+  setParameter(std::string("SchemaId"), schemaId);
+}
+
+long ListApprovalsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListApprovalsRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+long ListApprovalsRequest::getCreateEndTime() const {
+  return createEndTime_;
+}
+
+void ListApprovalsRequest::setCreateEndTime(long createEndTime) {
+  createEndTime_ = createEndTime;
+  setParameter(std::string("CreateEndTime"), std::to_string(createEndTime));
+}
+
+std::string ListApprovalsRequest::getOperatorUserId() const {
+  return operatorUserId_;
+}
+
+void ListApprovalsRequest::setOperatorUserId(const std::string &operatorUserId) {
+  operatorUserId_ = operatorUserId;
+  setParameter(std::string("OperatorUserId"), operatorUserId);
+}
+
+std::string ListApprovalsRequest::getSchemaName() const {
+  return schemaName_;
+}
+
+void ListApprovalsRequest::setSchemaName(const std::string &schemaName) {
+  schemaName_ = schemaName;
+  setParameter(std::string("SchemaName"), schemaName);
+}
+
+std::string ListApprovalsRequest::getPolicyType() const {
+  return policyType_;
+}
+
+void ListApprovalsRequest::setPolicyType(const std::string &policyType) {
+  policyType_ = policyType;
+  setParameter(std::string("PolicyType"), policyType);
+}
+
+std::string ListApprovalsRequest::getProcessName() const {
+  return processName_;
+}
+
+void ListApprovalsRequest::setProcessName(const std::string &processName) {
+  processName_ = processName;
+  setParameter(std::string("ProcessName"), processName);
+}
+
+long ListApprovalsRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListApprovalsRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::vector<ListApprovalsRequest::std::string> ListApprovalsRequest::getApprovalIds() const {
+  return approvalIds_;
+}
+
+void ListApprovalsRequest::setApprovalIds(const std::vector<ListApprovalsRequest::std::string> &approvalIds) {
+  approvalIds_ = approvalIds;
+  for(int dep1 = 0; dep1 != approvalIds.size(); dep1++) {
+    setParameter(std::string("ApprovalIds") + "." + std::to_string(dep1 + 1), approvalIds[dep1]);
+  }
+}
+
+long ListApprovalsRequest::getCreateStartTime() const {
+  return createStartTime_;
+}
+
+void ListApprovalsRequest::setCreateStartTime(long createStartTime) {
+  createStartTime_ = createStartTime;
+  setParameter(std::string("CreateStartTime"), std::to_string(createStartTime));
+}
+
+std::string ListApprovalsRequest::getProcessId() const {
+  return processId_;
+}
+
+void ListApprovalsRequest::setProcessId(const std::string &processId) {
+  processId_ = processId;
+  setParameter(std::string("ProcessId"), processId);
+}
+
+std::string ListApprovalsRequest::getCreatorDepartment() const {
+  return creatorDepartment_;
+}
+
+void ListApprovalsRequest::setCreatorDepartment(const std::string &creatorDepartment) {
+  creatorDepartment_ = creatorDepartment;
+  setParameter(std::string("CreatorDepartment"), creatorDepartment);
+}
+
+std::string ListApprovalsRequest::getOperatorUsername() const {
+  return operatorUsername_;
+}
+
+void ListApprovalsRequest::setOperatorUsername(const std::string &operatorUsername) {
+  operatorUsername_ = operatorUsername;
+  setParameter(std::string("OperatorUsername"), operatorUsername);
+}
+
+std::string ListApprovalsRequest::getCreatorUserId() const {
+  return creatorUserId_;
+}
+
+void ListApprovalsRequest::setCreatorUserId(const std::string &creatorUserId) {
+  creatorUserId_ = creatorUserId;
+  setParameter(std::string("CreatorUserId"), creatorUserId);
+}
+
+std::string ListApprovalsRequest::getCreatorUsername() const {
+  return creatorUsername_;
+}
+
+void ListApprovalsRequest::setCreatorUsername(const std::string &creatorUsername) {
+  creatorUsername_ = creatorUsername;
+  setParameter(std::string("CreatorUsername"), creatorUsername);
+}
+
+std::vector<ListApprovalsRequest::std::string> ListApprovalsRequest::getStatuses() const {
+  return statuses_;
+}
+
+void ListApprovalsRequest::setStatuses(const std::vector<ListApprovalsRequest::std::string> &statuses) {
+  statuses_ = statuses;
+  for(int dep1 = 0; dep1 != statuses.size(); dep1++) {
+    setParameter(std::string("Statuses") + "." + std::to_string(dep1 + 1), statuses[dep1]);
+  }
+}
+
+std::string ListApprovalsRequest::getCreatorDevTag() const {
+  return creatorDevTag_;
+}
+
+void ListApprovalsRequest::setCreatorDevTag(const std::string &creatorDevTag) {
+  creatorDevTag_ = creatorDevTag;
+  setParameter(std::string("CreatorDevTag"), creatorDevTag);
+}
+

+ 120 - 0
csas/src/model/ListApprovalsResult.cc

@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListApprovalsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListApprovalsResult::ListApprovalsResult() :
+	ServiceResult()
+{}
+
+ListApprovalsResult::ListApprovalsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListApprovalsResult::~ListApprovalsResult()
+{}
+
+void ListApprovalsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApprovalsNode = value["Approvals"]["dataList"];
+	for (auto valueApprovalsdataList : allApprovalsNode)
+	{
+		DataList approvalsObject;
+		if(!valueApprovalsdataList["ApprovalId"].isNull())
+			approvalsObject.approvalId = valueApprovalsdataList["ApprovalId"].asString();
+		if(!valueApprovalsdataList["EndTimestamp"].isNull())
+			approvalsObject.endTimestamp = std::stol(valueApprovalsdataList["EndTimestamp"].asString());
+		if(!valueApprovalsdataList["ApprovalDetail"].isNull())
+			approvalsObject.approvalDetail = valueApprovalsdataList["ApprovalDetail"].asString();
+		if(!valueApprovalsdataList["Status"].isNull())
+			approvalsObject.status = valueApprovalsdataList["Status"].asString();
+		if(!valueApprovalsdataList["ProcessId"].isNull())
+			approvalsObject.processId = valueApprovalsdataList["ProcessId"].asString();
+		if(!valueApprovalsdataList["ProcessName"].isNull())
+			approvalsObject.processName = valueApprovalsdataList["ProcessName"].asString();
+		if(!valueApprovalsdataList["PolicyType"].isNull())
+			approvalsObject.policyType = valueApprovalsdataList["PolicyType"].asString();
+		if(!valueApprovalsdataList["SchemaId"].isNull())
+			approvalsObject.schemaId = valueApprovalsdataList["SchemaId"].asString();
+		if(!valueApprovalsdataList["SchemaName"].isNull())
+			approvalsObject.schemaName = valueApprovalsdataList["SchemaName"].asString();
+		if(!valueApprovalsdataList["SchemaContent"].isNull())
+			approvalsObject.schemaContent = valueApprovalsdataList["SchemaContent"].asString();
+		if(!valueApprovalsdataList["CreatorUserId"].isNull())
+			approvalsObject.creatorUserId = valueApprovalsdataList["CreatorUserId"].asString();
+		if(!valueApprovalsdataList["CreatorDevTag"].isNull())
+			approvalsObject.creatorDevTag = valueApprovalsdataList["CreatorDevTag"].asString();
+		if(!valueApprovalsdataList["CreateTime"].isNull())
+			approvalsObject.createTime = valueApprovalsdataList["CreateTime"].asString();
+		if(!valueApprovalsdataList["Reason"].isNull())
+			approvalsObject.reason = valueApprovalsdataList["Reason"].asString();
+		if(!valueApprovalsdataList["CreatorUsername"].isNull())
+			approvalsObject.creatorUsername = valueApprovalsdataList["CreatorUsername"].asString();
+		if(!valueApprovalsdataList["CreatorDepartment"].isNull())
+			approvalsObject.creatorDepartment = valueApprovalsdataList["CreatorDepartment"].asString();
+		auto allApprovalProgressesNode = valueApprovalsdataList["ApprovalProgresses"]["approvalProgressesItem"];
+		for (auto valueApprovalsdataListApprovalProgressesapprovalProgressesItem : allApprovalProgressesNode)
+		{
+			DataList::ApprovalProgressesItem approvalProgressesObject;
+			if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Status"].isNull())
+				approvalProgressesObject.status = valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Status"].asString();
+			if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Executor"].isNull())
+				approvalProgressesObject.executor = valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Executor"].asString();
+			if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Action"].isNull())
+				approvalProgressesObject.action = valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Action"].asString();
+			if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Comment"].isNull())
+				approvalProgressesObject.comment = valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Comment"].asString();
+			if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Timestamp"].isNull())
+				approvalProgressesObject.timestamp = std::stol(valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Timestamp"].asString());
+			auto allOperatorsNode = valueApprovalsdataListApprovalProgressesapprovalProgressesItem["Operators"]["operatorsItem"];
+			for (auto valueApprovalsdataListApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem : allOperatorsNode)
+			{
+				DataList::ApprovalProgressesItem::OperatorsItem operatorsObject;
+				if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].isNull())
+					operatorsObject.saseUserId = valueApprovalsdataListApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].asString();
+				if(!valueApprovalsdataListApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].isNull())
+					operatorsObject.username = valueApprovalsdataListApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].asString();
+				approvalProgressesObject.operators.push_back(operatorsObject);
+			}
+			approvalsObject.approvalProgresses.push_back(approvalProgressesObject);
+		}
+		approvals_.push_back(approvalsObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = value["TotalNum"].asString();
+
+}
+
+std::string ListApprovalsResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListApprovalsResult::DataList> ListApprovalsResult::getApprovals()const
+{
+	return approvals_;
+}
+

+ 112 - 0
csas/src/model/ListUninstallApplicationsRequest.cc

@@ -0,0 +1,112 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListUninstallApplicationsRequest.h>
+
+using AlibabaCloud::Csas::Model::ListUninstallApplicationsRequest;
+
+ListUninstallApplicationsRequest::ListUninstallApplicationsRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListUninstallApplications") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListUninstallApplicationsRequest::~ListUninstallApplicationsRequest() {}
+
+std::string ListUninstallApplicationsRequest::getMac() const {
+  return mac_;
+}
+
+void ListUninstallApplicationsRequest::setMac(const std::string &mac) {
+  mac_ = mac;
+  setParameter(std::string("Mac"), mac);
+}
+
+std::string ListUninstallApplicationsRequest::getHostname() const {
+  return hostname_;
+}
+
+void ListUninstallApplicationsRequest::setHostname(const std::string &hostname) {
+  hostname_ = hostname;
+  setParameter(std::string("Hostname"), hostname);
+}
+
+std::string ListUninstallApplicationsRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListUninstallApplicationsRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+long ListUninstallApplicationsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListUninstallApplicationsRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListUninstallApplicationsRequest::getDepartment() const {
+  return department_;
+}
+
+void ListUninstallApplicationsRequest::setDepartment(const std::string &department) {
+  department_ = department;
+  setParameter(std::string("Department"), department);
+}
+
+long ListUninstallApplicationsRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListUninstallApplicationsRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::vector<ListUninstallApplicationsRequest::std::string> ListUninstallApplicationsRequest::getApplicationIds() const {
+  return applicationIds_;
+}
+
+void ListUninstallApplicationsRequest::setApplicationIds(const std::vector<ListUninstallApplicationsRequest::std::string> &applicationIds) {
+  applicationIds_ = applicationIds;
+  for(int dep1 = 0; dep1 != applicationIds.size(); dep1++) {
+    setParameter(std::string("ApplicationIds") + "." + std::to_string(dep1 + 1), applicationIds[dep1]);
+  }
+}
+
+std::vector<ListUninstallApplicationsRequest::std::string> ListUninstallApplicationsRequest::getStatuses() const {
+  return statuses_;
+}
+
+void ListUninstallApplicationsRequest::setStatuses(const std::vector<ListUninstallApplicationsRequest::std::string> &statuses) {
+  statuses_ = statuses;
+  for(int dep1 = 0; dep1 != statuses.size(); dep1++) {
+    setParameter(std::string("Statuses") + "." + std::to_string(dep1 + 1), statuses[dep1]);
+  }
+}
+
+std::string ListUninstallApplicationsRequest::getUsername() const {
+  return username_;
+}
+
+void ListUninstallApplicationsRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+

+ 88 - 0
csas/src/model/ListUninstallApplicationsResult.cc

@@ -0,0 +1,88 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/ListUninstallApplicationsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListUninstallApplicationsResult::ListUninstallApplicationsResult() :
+	ServiceResult()
+{}
+
+ListUninstallApplicationsResult::ListUninstallApplicationsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUninstallApplicationsResult::~ListUninstallApplicationsResult()
+{}
+
+void ListUninstallApplicationsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApplicationsNode = value["Applications"]["dataList"];
+	for (auto valueApplicationsdataList : allApplicationsNode)
+	{
+		DataList applicationsObject;
+		if(!valueApplicationsdataList["DevTag"].isNull())
+			applicationsObject.devTag = valueApplicationsdataList["DevTag"].asString();
+		if(!valueApplicationsdataList["DevType"].isNull())
+			applicationsObject.devType = valueApplicationsdataList["DevType"].asString();
+		if(!valueApplicationsdataList["Mac"].isNull())
+			applicationsObject.mac = valueApplicationsdataList["Mac"].asString();
+		if(!valueApplicationsdataList["Hostname"].isNull())
+			applicationsObject.hostname = valueApplicationsdataList["Hostname"].asString();
+		if(!valueApplicationsdataList["Username"].isNull())
+			applicationsObject.username = valueApplicationsdataList["Username"].asString();
+		if(!valueApplicationsdataList["SaseUserId"].isNull())
+			applicationsObject.saseUserId = valueApplicationsdataList["SaseUserId"].asString();
+		if(!valueApplicationsdataList["Department"].isNull())
+			applicationsObject.department = valueApplicationsdataList["Department"].asString();
+		if(!valueApplicationsdataList["Reason"].isNull())
+			applicationsObject.reason = valueApplicationsdataList["Reason"].asString();
+		if(!valueApplicationsdataList["Status"].isNull())
+			applicationsObject.status = valueApplicationsdataList["Status"].asString();
+		if(!valueApplicationsdataList["ApplicationId"].isNull())
+			applicationsObject.applicationId = valueApplicationsdataList["ApplicationId"].asString();
+		if(!valueApplicationsdataList["IsUninstall"].isNull())
+			applicationsObject.isUninstall = valueApplicationsdataList["IsUninstall"].asString() == "true";
+		if(!valueApplicationsdataList["CreateTime"].isNull())
+			applicationsObject.createTime = valueApplicationsdataList["CreateTime"].asString();
+		if(!valueApplicationsdataList["IdpName"].isNull())
+			applicationsObject.idpName = valueApplicationsdataList["IdpName"].asString();
+		applications_.push_back(applicationsObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stol(value["TotalNum"].asString());
+
+}
+
+long ListUninstallApplicationsResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListUninstallApplicationsResult::DataList> ListUninstallApplicationsResult::getApplications()const
+{
+	return applications_;
+}
+

+ 63 - 0
csas/src/model/ListUserApplicationsRequest.cc

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

+ 83 - 0
csas/src/model/ListUserApplicationsResult.cc

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListUserApplicationsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListUserApplicationsResult::ListUserApplicationsResult() :
+	ServiceResult()
+{}
+
+ListUserApplicationsResult::ListUserApplicationsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUserApplicationsResult::~ListUserApplicationsResult()
+{}
+
+void ListUserApplicationsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApplicationsNode = value["Applications"]["applicationsItem"];
+	for (auto valueApplicationsapplicationsItem : allApplicationsNode)
+	{
+		ApplicationsItem applicationsObject;
+		if(!valueApplicationsapplicationsItem["Name"].isNull())
+			applicationsObject.name = valueApplicationsapplicationsItem["Name"].asString();
+		if(!valueApplicationsapplicationsItem["ApplicationId"].isNull())
+			applicationsObject.applicationId = valueApplicationsapplicationsItem["ApplicationId"].asString();
+		if(!valueApplicationsapplicationsItem["Protocol"].isNull())
+			applicationsObject.protocol = valueApplicationsapplicationsItem["Protocol"].asString();
+		if(!valueApplicationsapplicationsItem["Action"].isNull())
+			applicationsObject.action = valueApplicationsapplicationsItem["Action"].asString();
+		auto allPortRangesNode = valueApplicationsapplicationsItem["PortRanges"]["portRangesItem"];
+		for (auto valueApplicationsapplicationsItemPortRangesportRangesItem : allPortRangesNode)
+		{
+			ApplicationsItem::PortRangesItem portRangesObject;
+			if(!valueApplicationsapplicationsItemPortRangesportRangesItem["Begin"].isNull())
+				portRangesObject.begin = valueApplicationsapplicationsItemPortRangesportRangesItem["Begin"].asString();
+			if(!valueApplicationsapplicationsItemPortRangesportRangesItem["End"].isNull())
+				portRangesObject.end = valueApplicationsapplicationsItemPortRangesportRangesItem["End"].asString();
+			applicationsObject.portRanges.push_back(portRangesObject);
+		}
+		auto allAddresses = value["Addresses"]["addresses"];
+		for (auto value : allAddresses)
+			applicationsObject.addresses.push_back(value.asString());
+		applications_.push_back(applicationsObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stoi(value["TotalNum"].asString());
+
+}
+
+int ListUserApplicationsResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListUserApplicationsResult::ApplicationsItem> ListUserApplicationsResult::getApplications()const
+{
+	return applications_;
+}
+

+ 10 - 0
csas/src/model/ListUserDevicesResult.cc

@@ -93,6 +93,16 @@ void ListUserDevicesResult::parse(const std::string &payload)
 			devicesObject.createTime = valueDevicesdataList["CreateTime"].asString();
 		if(!valueDevicesdataList["UpdateTime"].isNull())
 			devicesObject.updateTime = valueDevicesdataList["UpdateTime"].asString();
+		auto allNetInterfaceInfoNode = valueDevicesdataList["NetInterfaceInfo"]["netInterfaceInfoItem"];
+		for (auto valueDevicesdataListNetInterfaceInfonetInterfaceInfoItem : allNetInterfaceInfoNode)
+		{
+			DataList::NetInterfaceInfoItem netInterfaceInfoObject;
+			if(!valueDevicesdataListNetInterfaceInfonetInterfaceInfoItem["Name"].isNull())
+				netInterfaceInfoObject.name = valueDevicesdataListNetInterfaceInfonetInterfaceInfoItem["Name"].asString();
+			if(!valueDevicesdataListNetInterfaceInfonetInterfaceInfoItem["Mac"].isNull())
+				netInterfaceInfoObject.mac = valueDevicesdataListNetInterfaceInfonetInterfaceInfoItem["Mac"].asString();
+			devicesObject.netInterfaceInfo.push_back(netInterfaceInfoObject);
+		}
 		devices_.push_back(devicesObject);
 	}
 	if(!value["TotalNum"].isNull())

+ 63 - 0
csas/src/model/ListUserPrivateAccessPoliciesRequest.cc

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

+ 90 - 0
csas/src/model/ListUserPrivateAccessPoliciesResult.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/ListUserPrivateAccessPoliciesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListUserPrivateAccessPoliciesResult::ListUserPrivateAccessPoliciesResult() :
+	ServiceResult()
+{}
+
+ListUserPrivateAccessPoliciesResult::ListUserPrivateAccessPoliciesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUserPrivateAccessPoliciesResult::~ListUserPrivateAccessPoliciesResult()
+{}
+
+void ListUserPrivateAccessPoliciesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPolicesNode = value["Polices"]["policies"];
+	for (auto valuePolicespolicies : allPolicesNode)
+	{
+		Policies policesObject;
+		if(!valuePolicespolicies["PolicyId"].isNull())
+			policesObject.policyId = valuePolicespolicies["PolicyId"].asString();
+		if(!valuePolicespolicies["Name"].isNull())
+			policesObject.name = valuePolicespolicies["Name"].asString();
+		if(!valuePolicespolicies["Priority"].isNull())
+			policesObject.priority = std::stol(valuePolicespolicies["Priority"].asString());
+		if(!valuePolicespolicies["PolicyAction"].isNull())
+			policesObject.policyAction = valuePolicespolicies["PolicyAction"].asString();
+		if(!valuePolicespolicies["UserGroupMode"].isNull())
+			policesObject.userGroupMode = valuePolicespolicies["UserGroupMode"].asString();
+		if(!valuePolicespolicies["MatchedUserGroup"].isNull())
+			policesObject.matchedUserGroup = valuePolicespolicies["MatchedUserGroup"].asString();
+		if(!valuePolicespolicies["DeviceAttributeName"].isNull())
+			policesObject.deviceAttributeName = valuePolicespolicies["DeviceAttributeName"].asString();
+		auto allCustomUserAttributesNode = valuePolicespolicies["CustomUserAttributes"]["customUserAttributesItem"];
+		for (auto valuePolicespoliciesCustomUserAttributescustomUserAttributesItem : allCustomUserAttributesNode)
+		{
+			Policies::CustomUserAttributesItem customUserAttributesObject;
+			if(!valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["UserGroupType"].isNull())
+				customUserAttributesObject.userGroupType = valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["UserGroupType"].asString();
+			if(!valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["Relation"].isNull())
+				customUserAttributesObject.relation = valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["Relation"].asString();
+			if(!valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["Value"].isNull())
+				customUserAttributesObject.value = valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["Value"].asString();
+			if(!valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["IdpId"].isNull())
+				customUserAttributesObject.idpId = std::stoi(valuePolicespoliciesCustomUserAttributescustomUserAttributesItem["IdpId"].asString());
+			policesObject.customUserAttributes.push_back(customUserAttributesObject);
+		}
+		polices_.push_back(policesObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stoi(value["TotalNum"].asString());
+
+}
+
+int ListUserPrivateAccessPoliciesResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListUserPrivateAccessPoliciesResult::Policies> ListUserPrivateAccessPoliciesResult::getPolices()const
+{
+	return polices_;
+}
+

+ 91 - 0
csas/src/model/UpdateApprovalProcessRequest.cc

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/UpdateApprovalProcessRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateApprovalProcessRequest;
+
+UpdateApprovalProcessRequest::UpdateApprovalProcessRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateApprovalProcess") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateApprovalProcessRequest::~UpdateApprovalProcessRequest() {}
+
+std::vector<UpdateApprovalProcessRequest::std::vector<std::string>> UpdateApprovalProcessRequest::getProcessNodes() const {
+  return processNodes_;
+}
+
+void UpdateApprovalProcessRequest::setProcessNodes(const std::vector<UpdateApprovalProcessRequest::std::vector<std::string>> &processNodes) {
+  processNodes_ = processNodes;
+  for(int dep1 = 0; dep1 != processNodes.size(); dep1++) {
+    for(int dep2 = 0; dep2 != processNodes[dep1].size(); dep2++) {
+      setBodyParameter(std::string("ProcessNodes") + "." + std::to_string(dep1 + 1) + "." + std::to_string(dep2 + 1), processNodes[dep1][dep2]);
+    }
+  }
+}
+
+UpdateApprovalProcessRequest::MatchSchemas UpdateApprovalProcessRequest::getMatchSchemas() const {
+  return matchSchemas_;
+}
+
+void UpdateApprovalProcessRequest::setMatchSchemas(const UpdateApprovalProcessRequest::MatchSchemas &matchSchemas) {
+  matchSchemas_ = matchSchemas;
+  setBodyParameter(std::string("MatchSchemas") + ".DomainBlacklistSchemaId", matchSchemas.domainBlacklistSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".SoftwareBlockSchemaId", matchSchemas.softwareBlockSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".PeripheralBlockSchemaId", matchSchemas.peripheralBlockSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DeviceRegistrationSchemaId", matchSchemas.deviceRegistrationSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DlpSendSchemaId", matchSchemas.dlpSendSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".DomainWhitelistSchemaId", matchSchemas.domainWhitelistSchemaId);
+  setBodyParameter(std::string("MatchSchemas") + ".AppUninstallSchemaId", matchSchemas.appUninstallSchemaId);
+}
+
+std::string UpdateApprovalProcessRequest::getDescription() const {
+  return description_;
+}
+
+void UpdateApprovalProcessRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setBodyParameter(std::string("Description"), description);
+}
+
+std::string UpdateApprovalProcessRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void UpdateApprovalProcessRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string UpdateApprovalProcessRequest::getProcessName() const {
+  return processName_;
+}
+
+void UpdateApprovalProcessRequest::setProcessName(const std::string &processName) {
+  processName_ = processName;
+  setBodyParameter(std::string("ProcessName"), processName);
+}
+
+std::string UpdateApprovalProcessRequest::getProcessId() const {
+  return processId_;
+}
+
+void UpdateApprovalProcessRequest::setProcessId(const std::string &processId) {
+  processId_ = processId;
+  setBodyParameter(std::string("ProcessId"), processId);
+}
+

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

+ 54 - 0
csas/src/model/UpdateApprovalStatusRequest.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/UpdateApprovalStatusRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateApprovalStatusRequest;
+
+UpdateApprovalStatusRequest::UpdateApprovalStatusRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateApprovalStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateApprovalStatusRequest::~UpdateApprovalStatusRequest() {}
+
+std::string UpdateApprovalStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void UpdateApprovalStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string UpdateApprovalStatusRequest::getApprovalId() const {
+  return approvalId_;
+}
+
+void UpdateApprovalStatusRequest::setApprovalId(const std::string &approvalId) {
+  approvalId_ = approvalId;
+  setParameter(std::string("ApprovalId"), approvalId);
+}
+
+std::string UpdateApprovalStatusRequest::getStatus() const {
+  return status_;
+}
+
+void UpdateApprovalStatusRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 109 - 0
csas/src/model/UpdateApprovalStatusResult.cc

@@ -0,0 +1,109 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/UpdateApprovalStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+UpdateApprovalStatusResult::UpdateApprovalStatusResult() :
+	ServiceResult()
+{}
+
+UpdateApprovalStatusResult::UpdateApprovalStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateApprovalStatusResult::~UpdateApprovalStatusResult()
+{}
+
+void UpdateApprovalStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApprovalNode = value["Approval"]["data"];
+	for (auto valueApprovaldata : allApprovalNode)
+	{
+		Data approvalObject;
+		if(!valueApprovaldata["ApprovalId"].isNull())
+			approvalObject.approvalId = valueApprovaldata["ApprovalId"].asString();
+		if(!valueApprovaldata["EndTimestamp"].isNull())
+			approvalObject.endTimestamp = std::stol(valueApprovaldata["EndTimestamp"].asString());
+		if(!valueApprovaldata["ApprovalDetail"].isNull())
+			approvalObject.approvalDetail = valueApprovaldata["ApprovalDetail"].asString();
+		if(!valueApprovaldata["Status"].isNull())
+			approvalObject.status = valueApprovaldata["Status"].asString();
+		if(!valueApprovaldata["ProcessId"].isNull())
+			approvalObject.processId = valueApprovaldata["ProcessId"].asString();
+		if(!valueApprovaldata["ProcessName"].isNull())
+			approvalObject.processName = valueApprovaldata["ProcessName"].asString();
+		if(!valueApprovaldata["PolicyType"].isNull())
+			approvalObject.policyType = valueApprovaldata["PolicyType"].asString();
+		if(!valueApprovaldata["SchemaId"].isNull())
+			approvalObject.schemaId = valueApprovaldata["SchemaId"].asString();
+		if(!valueApprovaldata["SchemaName"].isNull())
+			approvalObject.schemaName = valueApprovaldata["SchemaName"].asString();
+		if(!valueApprovaldata["SchemaContent"].isNull())
+			approvalObject.schemaContent = valueApprovaldata["SchemaContent"].asString();
+		if(!valueApprovaldata["CreatorUserId"].isNull())
+			approvalObject.creatorUserId = valueApprovaldata["CreatorUserId"].asString();
+		if(!valueApprovaldata["CreatorDevTag"].isNull())
+			approvalObject.creatorDevTag = valueApprovaldata["CreatorDevTag"].asString();
+		if(!valueApprovaldata["CreateTime"].isNull())
+			approvalObject.createTime = valueApprovaldata["CreateTime"].asString();
+		if(!valueApprovaldata["Reason"].isNull())
+			approvalObject.reason = valueApprovaldata["Reason"].asString();
+		auto allApprovalProgressesNode = valueApprovaldata["ApprovalProgresses"]["approvalProgressesItem"];
+		for (auto valueApprovaldataApprovalProgressesapprovalProgressesItem : allApprovalProgressesNode)
+		{
+			Data::ApprovalProgressesItem approvalProgressesObject;
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Status"].isNull())
+				approvalProgressesObject.status = valueApprovaldataApprovalProgressesapprovalProgressesItem["Status"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Executor"].isNull())
+				approvalProgressesObject.executor = valueApprovaldataApprovalProgressesapprovalProgressesItem["Executor"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Action"].isNull())
+				approvalProgressesObject.action = valueApprovaldataApprovalProgressesapprovalProgressesItem["Action"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Comment"].isNull())
+				approvalProgressesObject.comment = valueApprovaldataApprovalProgressesapprovalProgressesItem["Comment"].asString();
+			if(!valueApprovaldataApprovalProgressesapprovalProgressesItem["Timestamp"].isNull())
+				approvalProgressesObject.timestamp = std::stol(valueApprovaldataApprovalProgressesapprovalProgressesItem["Timestamp"].asString());
+			auto allOperatorsNode = valueApprovaldataApprovalProgressesapprovalProgressesItem["Operators"]["operatorsItem"];
+			for (auto valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem : allOperatorsNode)
+			{
+				Data::ApprovalProgressesItem::OperatorsItem operatorsObject;
+				if(!valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].isNull())
+					operatorsObject.saseUserId = valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["SaseUserId"].asString();
+				if(!valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].isNull())
+					operatorsObject.username = valueApprovaldataApprovalProgressesapprovalProgressesItemOperatorsoperatorsItem["Username"].asString();
+				approvalProgressesObject.operators.push_back(operatorsObject);
+			}
+			approvalObject.approvalProgresses.push_back(approvalProgressesObject);
+		}
+		approval_.push_back(approvalObject);
+	}
+
+}
+
+std::vector<UpdateApprovalStatusResult::Data> UpdateApprovalStatusResult::getApproval()const
+{
+	return approval_;
+}
+

+ 101 - 0
csas/src/model/UpdateBootAndAntiUninstallPolicyRequest.cc

@@ -0,0 +1,101 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/UpdateBootAndAntiUninstallPolicyRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateBootAndAntiUninstallPolicyRequest;
+
+UpdateBootAndAntiUninstallPolicyRequest::UpdateBootAndAntiUninstallPolicyRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateBootAndAntiUninstallPolicy") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateBootAndAntiUninstallPolicyRequest::~UpdateBootAndAntiUninstallPolicyRequest() {}
+
+bool UpdateBootAndAntiUninstallPolicyRequest::getIsAntiUninstall() const {
+  return isAntiUninstall_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setIsAntiUninstall(bool isAntiUninstall) {
+  isAntiUninstall_ = isAntiUninstall;
+  setBodyParameter(std::string("IsAntiUninstall"), isAntiUninstall ? "true" : "false");
+}
+
+bool UpdateBootAndAntiUninstallPolicyRequest::getAllowReport() const {
+  return allowReport_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setAllowReport(bool allowReport) {
+  allowReport_ = allowReport;
+  setBodyParameter(std::string("AllowReport"), allowReport ? "true" : "false");
+}
+
+std::string UpdateBootAndAntiUninstallPolicyRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::vector<UpdateBootAndAntiUninstallPolicyRequest::std::string> UpdateBootAndAntiUninstallPolicyRequest::getUserGroupIds() const {
+  return userGroupIds_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setUserGroupIds(const std::vector<UpdateBootAndAntiUninstallPolicyRequest::std::string> &userGroupIds) {
+  userGroupIds_ = userGroupIds;
+  for(int dep1 = 0; dep1 != userGroupIds.size(); dep1++) {
+    setBodyParameter(std::string("UserGroupIds") + "." + std::to_string(dep1 + 1), userGroupIds[dep1]);
+  }
+}
+
+std::vector<UpdateBootAndAntiUninstallPolicyRequest::std::string> UpdateBootAndAntiUninstallPolicyRequest::getWhitelistUsers() const {
+  return whitelistUsers_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setWhitelistUsers(const std::vector<UpdateBootAndAntiUninstallPolicyRequest::std::string> &whitelistUsers) {
+  whitelistUsers_ = whitelistUsers;
+  for(int dep1 = 0; dep1 != whitelistUsers.size(); dep1++) {
+    setBodyParameter(std::string("WhitelistUsers") + "." + std::to_string(dep1 + 1), whitelistUsers[dep1]);
+  }
+}
+
+UpdateBootAndAntiUninstallPolicyRequest::BlockContent UpdateBootAndAntiUninstallPolicyRequest::getBlockContent() const {
+  return blockContent_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setBlockContent(const UpdateBootAndAntiUninstallPolicyRequest::BlockContent &blockContent) {
+  blockContent_ = blockContent;
+  setBodyParameter(std::string("BlockContent") + ".BlockTextZh.MinorButtonText", blockContent.blockTextZh.minorButtonText);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextZh.MainButtonText", blockContent.blockTextZh.mainButtonText);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextZh.Title", blockContent.blockTextZh.title);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextZh.Content", blockContent.blockTextZh.content);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextEn.MinorButtonText", blockContent.blockTextEn.minorButtonText);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextEn.MainButtonText", blockContent.blockTextEn.mainButtonText);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextEn.Title", blockContent.blockTextEn.title);
+  setBodyParameter(std::string("BlockContent") + ".BlockTextEn.Content", blockContent.blockTextEn.content);
+}
+
+bool UpdateBootAndAntiUninstallPolicyRequest::getIsBoot() const {
+  return isBoot_;
+}
+
+void UpdateBootAndAntiUninstallPolicyRequest::setIsBoot(bool isBoot) {
+  isBoot_ = isBoot;
+  setBodyParameter(std::string("IsBoot"), isBoot ? "true" : "false");
+}
+

+ 89 - 0
csas/src/model/UpdateBootAndAntiUninstallPolicyResult.cc

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/UpdateBootAndAntiUninstallPolicyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+UpdateBootAndAntiUninstallPolicyResult::UpdateBootAndAntiUninstallPolicyResult() :
+	ServiceResult()
+{}
+
+UpdateBootAndAntiUninstallPolicyResult::UpdateBootAndAntiUninstallPolicyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateBootAndAntiUninstallPolicyResult::~UpdateBootAndAntiUninstallPolicyResult()
+{}
+
+void UpdateBootAndAntiUninstallPolicyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto strategyNode = value["Strategy"];
+	if(!strategyNode["CreateTime"].isNull())
+		strategy_.createTime = strategyNode["CreateTime"].asString();
+	if(!strategyNode["UpdateTime"].isNull())
+		strategy_.updateTime = strategyNode["UpdateTime"].asString();
+	if(!strategyNode["IsBoot"].isNull())
+		strategy_.isBoot = strategyNode["IsBoot"].asString() == "true";
+	if(!strategyNode["IsAntiUninstall"].isNull())
+		strategy_.isAntiUninstall = strategyNode["IsAntiUninstall"].asString() == "true";
+	if(!strategyNode["AllowReport"].isNull())
+		strategy_.allowReport = strategyNode["AllowReport"].asString() == "true";
+	if(!strategyNode["PolicyId"].isNull())
+		strategy_.policyId = strategyNode["PolicyId"].asString();
+	if(!strategyNode["ReportProcessId"].isNull())
+		strategy_.reportProcessId = strategyNode["ReportProcessId"].asString();
+	auto blockContentNode = strategyNode["BlockContent"];
+	auto blockTextZhNode = blockContentNode["BlockTextZh"];
+	if(!blockTextZhNode["Title"].isNull())
+		strategy_.blockContent.blockTextZh.title = blockTextZhNode["Title"].asString();
+	if(!blockTextZhNode["Content"].isNull())
+		strategy_.blockContent.blockTextZh.content = blockTextZhNode["Content"].asString();
+	if(!blockTextZhNode["MainButtonText"].isNull())
+		strategy_.blockContent.blockTextZh.mainButtonText = blockTextZhNode["MainButtonText"].asString();
+	if(!blockTextZhNode["MinorButtonText"].isNull())
+		strategy_.blockContent.blockTextZh.minorButtonText = blockTextZhNode["MinorButtonText"].asString();
+	auto blockTextEnNode = blockContentNode["BlockTextEn"];
+	if(!blockTextEnNode["Title"].isNull())
+		strategy_.blockContent.blockTextEn.title = blockTextEnNode["Title"].asString();
+	if(!blockTextEnNode["Content"].isNull())
+		strategy_.blockContent.blockTextEn.content = blockTextEnNode["Content"].asString();
+	if(!blockTextEnNode["MainButtonText"].isNull())
+		strategy_.blockContent.blockTextEn.mainButtonText = blockTextEnNode["MainButtonText"].asString();
+	if(!blockTextEnNode["MinorButtonText"].isNull())
+		strategy_.blockContent.blockTextEn.minorButtonText = blockTextEnNode["MinorButtonText"].asString();
+		auto allWhitelistUsers = strategyNode["WhitelistUsers"]["whitelistUsers"];
+		for (auto value : allWhitelistUsers)
+			strategy_.whitelistUsers.push_back(value.asString());
+		auto allUserGroupIds = strategyNode["UserGroupIds"]["userGroupIds"];
+		for (auto value : allUserGroupIds)
+			strategy_.userGroupIds.push_back(value.asString());
+
+}
+
+UpdateBootAndAntiUninstallPolicyResult::Strategy UpdateBootAndAntiUninstallPolicyResult::getStrategy()const
+{
+	return strategy_;
+}
+

+ 56 - 0
csas/src/model/UpdateUninstallApplicationsStatusRequest.cc

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/UpdateUninstallApplicationsStatusRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateUninstallApplicationsStatusRequest;
+
+UpdateUninstallApplicationsStatusRequest::UpdateUninstallApplicationsStatusRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateUninstallApplicationsStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateUninstallApplicationsStatusRequest::~UpdateUninstallApplicationsStatusRequest() {}
+
+std::vector<UpdateUninstallApplicationsStatusRequest::std::string> UpdateUninstallApplicationsStatusRequest::getApplicationIds() const {
+  return applicationIds_;
+}
+
+void UpdateUninstallApplicationsStatusRequest::setApplicationIds(const std::vector<UpdateUninstallApplicationsStatusRequest::std::string> &applicationIds) {
+  applicationIds_ = applicationIds;
+  for(int dep1 = 0; dep1 != applicationIds.size(); dep1++) {
+    setBodyParameter(std::string("ApplicationIds") + "." + std::to_string(dep1 + 1), applicationIds[dep1]);
+  }
+}
+
+std::string UpdateUninstallApplicationsStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void UpdateUninstallApplicationsStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string UpdateUninstallApplicationsStatusRequest::getStatus() const {
+  return status_;
+}
+
+void UpdateUninstallApplicationsStatusRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setBodyParameter(std::string("Status"), status);
+}
+

+ 81 - 0
csas/src/model/UpdateUninstallApplicationsStatusResult.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/UpdateUninstallApplicationsStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+UpdateUninstallApplicationsStatusResult::UpdateUninstallApplicationsStatusResult() :
+	ServiceResult()
+{}
+
+UpdateUninstallApplicationsStatusResult::UpdateUninstallApplicationsStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateUninstallApplicationsStatusResult::~UpdateUninstallApplicationsStatusResult()
+{}
+
+void UpdateUninstallApplicationsStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allApplicationsNode = value["Applications"]["data"];
+	for (auto valueApplicationsdata : allApplicationsNode)
+	{
+		Data applicationsObject;
+		if(!valueApplicationsdata["DevTag"].isNull())
+			applicationsObject.devTag = valueApplicationsdata["DevTag"].asString();
+		if(!valueApplicationsdata["DevType"].isNull())
+			applicationsObject.devType = valueApplicationsdata["DevType"].asString();
+		if(!valueApplicationsdata["Mac"].isNull())
+			applicationsObject.mac = valueApplicationsdata["Mac"].asString();
+		if(!valueApplicationsdata["Hostname"].isNull())
+			applicationsObject.hostname = valueApplicationsdata["Hostname"].asString();
+		if(!valueApplicationsdata["Username"].isNull())
+			applicationsObject.username = valueApplicationsdata["Username"].asString();
+		if(!valueApplicationsdata["SaseUserId"].isNull())
+			applicationsObject.saseUserId = valueApplicationsdata["SaseUserId"].asString();
+		if(!valueApplicationsdata["Department"].isNull())
+			applicationsObject.department = valueApplicationsdata["Department"].asString();
+		if(!valueApplicationsdata["Reason"].isNull())
+			applicationsObject.reason = valueApplicationsdata["Reason"].asString();
+		if(!valueApplicationsdata["Status"].isNull())
+			applicationsObject.status = valueApplicationsdata["Status"].asString();
+		if(!valueApplicationsdata["ApplicationId"].isNull())
+			applicationsObject.applicationId = valueApplicationsdata["ApplicationId"].asString();
+		if(!valueApplicationsdata["IsUninstall"].isNull())
+			applicationsObject.isUninstall = valueApplicationsdata["IsUninstall"].asString() == "true";
+		if(!valueApplicationsdata["IdpName"].isNull())
+			applicationsObject.idpName = valueApplicationsdata["IdpName"].asString();
+		if(!valueApplicationsdata["CreateTime"].isNull())
+			applicationsObject.createTime = valueApplicationsdata["CreateTime"].asString();
+		applications_.push_back(applicationsObject);
+	}
+
+}
+
+std::vector<UpdateUninstallApplicationsStatusResult::Data> UpdateUninstallApplicationsStatusResult::getApplications()const
+{
+	return applications_;
+}
+

+ 10 - 0
csas/src/model/UpdateUserDevicesSharingStatusResult.cc

@@ -93,6 +93,16 @@ void UpdateUserDevicesSharingStatusResult::parse(const std::string &payload)
 			devicesObject.createTime = valueDevicesdata["CreateTime"].asString();
 		if(!valueDevicesdata["UpdateTime"].isNull())
 			devicesObject.updateTime = valueDevicesdata["UpdateTime"].asString();
+		auto allNetInterfaceInfoNode = valueDevicesdata["NetInterfaceInfo"]["netInterfaceInfoItem"];
+		for (auto valueDevicesdataNetInterfaceInfonetInterfaceInfoItem : allNetInterfaceInfoNode)
+		{
+			Data::NetInterfaceInfoItem netInterfaceInfoObject;
+			if(!valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Name"].isNull())
+				netInterfaceInfoObject.name = valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Name"].asString();
+			if(!valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Mac"].isNull())
+				netInterfaceInfoObject.mac = valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Mac"].asString();
+			devicesObject.netInterfaceInfo.push_back(netInterfaceInfoObject);
+		}
 		devices_.push_back(devicesObject);
 	}
 

+ 10 - 0
csas/src/model/UpdateUserDevicesStatusResult.cc

@@ -93,6 +93,16 @@ void UpdateUserDevicesStatusResult::parse(const std::string &payload)
 			devicesObject.createTime = valueDevicesdata["CreateTime"].asString();
 		if(!valueDevicesdata["UpdateTime"].isNull())
 			devicesObject.updateTime = valueDevicesdata["UpdateTime"].asString();
+		auto allNetInterfaceInfoNode = valueDevicesdata["NetInterfaceInfo"]["netInterfaceInfoItem"];
+		for (auto valueDevicesdataNetInterfaceInfonetInterfaceInfoItem : allNetInterfaceInfoNode)
+		{
+			Data::NetInterfaceInfoItem netInterfaceInfoObject;
+			if(!valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Name"].isNull())
+				netInterfaceInfoObject.name = valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Name"].asString();
+			if(!valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Mac"].isNull())
+				netInterfaceInfoObject.mac = valueDevicesdataNetInterfaceInfonetInterfaceInfoItem["Mac"].asString();
+			devicesObject.netInterfaceInfo.push_back(netInterfaceInfoObject);
+		}
 		devices_.push_back(devicesObject);
 	}
 

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