소스 검색

Generated 2023-01-20 for csas.

sdk-team 2 년 전
부모
커밋
e98b3a0c80
26개의 변경된 파일931개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      VERSION
  2. 14 2
      csas/CMakeLists.txt
  3. 24 0
      csas/include/alibabacloud/csas/CsasClient.h
  4. 3 0
      csas/include/alibabacloud/csas/model/CreatePrivateAccessPolicyRequest.h
  5. 1 0
      csas/include/alibabacloud/csas/model/GetPrivateAccessPolicyResult.h
  6. 48 0
      csas/include/alibabacloud/csas/model/ListPopTrafficStatisticsRequest.h
  7. 61 0
      csas/include/alibabacloud/csas/model/ListPopTrafficStatisticsResult.h
  8. 6 0
      csas/include/alibabacloud/csas/model/ListPrivateAccessPolicesRequest.h
  9. 1 0
      csas/include/alibabacloud/csas/model/ListPrivateAccessPolicesResult.h
  10. 63 0
      csas/include/alibabacloud/csas/model/ListUsersRequest.h
  11. 63 0
      csas/include/alibabacloud/csas/model/ListUsersResult.h
  12. 3 0
      csas/include/alibabacloud/csas/model/UpdatePrivateAccessPolicyRequest.h
  13. 48 0
      csas/include/alibabacloud/csas/model/UpdateUsersStatusRequest.h
  14. 49 0
      csas/include/alibabacloud/csas/model/UpdateUsersStatusResult.h
  15. 108 0
      csas/src/CsasClient.cc
  16. 9 0
      csas/src/model/CreatePrivateAccessPolicyRequest.cc
  17. 2 0
      csas/src/model/GetPrivateAccessPolicyResult.cc
  18. 54 0
      csas/src/model/ListPopTrafficStatisticsRequest.cc
  19. 67 0
      csas/src/model/ListPopTrafficStatisticsResult.cc
  20. 18 0
      csas/src/model/ListPrivateAccessPolicesRequest.cc
  21. 2 0
      csas/src/model/ListPrivateAccessPolicesResult.cc
  22. 101 0
      csas/src/model/ListUsersRequest.cc
  23. 76 0
      csas/src/model/ListUsersResult.cc
  24. 9 0
      csas/src/model/UpdatePrivateAccessPolicyRequest.cc
  25. 56 0
      csas/src/model/UpdateUsersStatusRequest.cc
  26. 44 0
      csas/src/model/UpdateUsersStatusResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1890
+1.36.1891

+ 14 - 2
csas/CMakeLists.txt

@@ -79,6 +79,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessTagResult.h
 	include/alibabacloud/csas/model/ListPolicesForUserGroupRequest.h
 	include/alibabacloud/csas/model/ListPolicesForUserGroupResult.h
+	include/alibabacloud/csas/model/ListPopTrafficStatisticsRequest.h
+	include/alibabacloud/csas/model/ListPopTrafficStatisticsResult.h
 	include/alibabacloud/csas/model/ListPrivateAccessApplicationsRequest.h
 	include/alibabacloud/csas/model/ListPrivateAccessApplicationsResult.h
 	include/alibabacloud/csas/model/ListPrivateAccessApplicationsForDynamicRouteRequest.h
@@ -107,6 +109,8 @@ 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/ListUsersRequest.h
+	include/alibabacloud/csas/model/ListUsersResult.h
 	include/alibabacloud/csas/model/UpdateDynamicRouteRequest.h
 	include/alibabacloud/csas/model/UpdateDynamicRouteResult.h
 	include/alibabacloud/csas/model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.h
@@ -122,7 +126,9 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/UpdateUserDevicesStatusRequest.h
 	include/alibabacloud/csas/model/UpdateUserDevicesStatusResult.h
 	include/alibabacloud/csas/model/UpdateUserGroupRequest.h
-	include/alibabacloud/csas/model/UpdateUserGroupResult.h )
+	include/alibabacloud/csas/model/UpdateUserGroupResult.h
+	include/alibabacloud/csas/model/UpdateUsersStatusRequest.h
+	include/alibabacloud/csas/model/UpdateUsersStatusResult.h )
 
 set(csas_src 
 	src/CsasClient.cc
@@ -184,6 +190,8 @@ set(csas_src
 	src/model/ListPolicesForPrivateAccessTagResult.cc
 	src/model/ListPolicesForUserGroupRequest.cc
 	src/model/ListPolicesForUserGroupResult.cc
+	src/model/ListPopTrafficStatisticsRequest.cc
+	src/model/ListPopTrafficStatisticsResult.cc
 	src/model/ListPrivateAccessApplicationsRequest.cc
 	src/model/ListPrivateAccessApplicationsResult.cc
 	src/model/ListPrivateAccessApplicationsForDynamicRouteRequest.cc
@@ -212,6 +220,8 @@ set(csas_src
 	src/model/ListUserGroupsForPrivateAccessPolicyResult.cc
 	src/model/ListUserGroupsForRegistrationPolicyRequest.cc
 	src/model/ListUserGroupsForRegistrationPolicyResult.cc
+	src/model/ListUsersRequest.cc
+	src/model/ListUsersResult.cc
 	src/model/UpdateDynamicRouteRequest.cc
 	src/model/UpdateDynamicRouteResult.cc
 	src/model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.cc
@@ -227,7 +237,9 @@ set(csas_src
 	src/model/UpdateUserDevicesStatusRequest.cc
 	src/model/UpdateUserDevicesStatusResult.cc
 	src/model/UpdateUserGroupRequest.cc
-	src/model/UpdateUserGroupResult.cc )
+	src/model/UpdateUserGroupResult.cc
+	src/model/UpdateUsersStatusRequest.cc
+	src/model/UpdateUsersStatusResult.cc )
 
 add_library(csas ${LIB_TYPE}
 	${csas_public_header}

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

@@ -80,6 +80,8 @@
 #include "model/ListPolicesForPrivateAccessTagResult.h"
 #include "model/ListPolicesForUserGroupRequest.h"
 #include "model/ListPolicesForUserGroupResult.h"
+#include "model/ListPopTrafficStatisticsRequest.h"
+#include "model/ListPopTrafficStatisticsResult.h"
 #include "model/ListPrivateAccessApplicationsRequest.h"
 #include "model/ListPrivateAccessApplicationsResult.h"
 #include "model/ListPrivateAccessApplicationsForDynamicRouteRequest.h"
@@ -108,6 +110,8 @@
 #include "model/ListUserGroupsForPrivateAccessPolicyResult.h"
 #include "model/ListUserGroupsForRegistrationPolicyRequest.h"
 #include "model/ListUserGroupsForRegistrationPolicyResult.h"
+#include "model/ListUsersRequest.h"
+#include "model/ListUsersResult.h"
 #include "model/UpdateDynamicRouteRequest.h"
 #include "model/UpdateDynamicRouteResult.h"
 #include "model/UpdateExcessiveDeviceRegistrationApplicationsStatusRequest.h"
@@ -124,6 +128,8 @@
 #include "model/UpdateUserDevicesStatusResult.h"
 #include "model/UpdateUserGroupRequest.h"
 #include "model/UpdateUserGroupResult.h"
+#include "model/UpdateUsersStatusRequest.h"
+#include "model/UpdateUsersStatusResult.h"
 
 
 namespace AlibabaCloud
@@ -220,6 +226,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListPolicesForUserGroupResult> ListPolicesForUserGroupOutcome;
 			typedef std::future<ListPolicesForUserGroupOutcome> ListPolicesForUserGroupOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListPolicesForUserGroupRequest&, const ListPolicesForUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPolicesForUserGroupAsyncHandler;
+			typedef Outcome<Error, Model::ListPopTrafficStatisticsResult> ListPopTrafficStatisticsOutcome;
+			typedef std::future<ListPopTrafficStatisticsOutcome> ListPopTrafficStatisticsOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListPopTrafficStatisticsRequest&, const ListPopTrafficStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPopTrafficStatisticsAsyncHandler;
 			typedef Outcome<Error, Model::ListPrivateAccessApplicationsResult> ListPrivateAccessApplicationsOutcome;
 			typedef std::future<ListPrivateAccessApplicationsOutcome> ListPrivateAccessApplicationsOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListPrivateAccessApplicationsRequest&, const ListPrivateAccessApplicationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPrivateAccessApplicationsAsyncHandler;
@@ -262,6 +271,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::ListUsersResult> ListUsersOutcome;
+			typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListUsersRequest&, const ListUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUsersAsyncHandler;
 			typedef Outcome<Error, Model::UpdateDynamicRouteResult> UpdateDynamicRouteOutcome;
 			typedef std::future<UpdateDynamicRouteOutcome> UpdateDynamicRouteOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateDynamicRouteRequest&, const UpdateDynamicRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDynamicRouteAsyncHandler;
@@ -286,6 +298,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateUserGroupResult> UpdateUserGroupOutcome;
 			typedef std::future<UpdateUserGroupOutcome> UpdateUserGroupOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateUserGroupRequest&, const UpdateUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserGroupAsyncHandler;
+			typedef Outcome<Error, Model::UpdateUsersStatusResult> UpdateUsersStatusOutcome;
+			typedef std::future<UpdateUsersStatusOutcome> UpdateUsersStatusOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateUsersStatusRequest&, const UpdateUsersStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUsersStatusAsyncHandler;
 
 			CsasClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			CsasClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -378,6 +393,9 @@ namespace AlibabaCloud
 			ListPolicesForUserGroupOutcome listPolicesForUserGroup(const Model::ListPolicesForUserGroupRequest &request)const;
 			void listPolicesForUserGroupAsync(const Model::ListPolicesForUserGroupRequest& request, const ListPolicesForUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPolicesForUserGroupOutcomeCallable listPolicesForUserGroupCallable(const Model::ListPolicesForUserGroupRequest& request) const;
+			ListPopTrafficStatisticsOutcome listPopTrafficStatistics(const Model::ListPopTrafficStatisticsRequest &request)const;
+			void listPopTrafficStatisticsAsync(const Model::ListPopTrafficStatisticsRequest& request, const ListPopTrafficStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPopTrafficStatisticsOutcomeCallable listPopTrafficStatisticsCallable(const Model::ListPopTrafficStatisticsRequest& request) const;
 			ListPrivateAccessApplicationsOutcome listPrivateAccessApplications(const Model::ListPrivateAccessApplicationsRequest &request)const;
 			void listPrivateAccessApplicationsAsync(const Model::ListPrivateAccessApplicationsRequest& request, const ListPrivateAccessApplicationsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPrivateAccessApplicationsOutcomeCallable listPrivateAccessApplicationsCallable(const Model::ListPrivateAccessApplicationsRequest& request) const;
@@ -420,6 +438,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;
+			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;
 			UpdateDynamicRouteOutcome updateDynamicRoute(const Model::UpdateDynamicRouteRequest &request)const;
 			void updateDynamicRouteAsync(const Model::UpdateDynamicRouteRequest& request, const UpdateDynamicRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateDynamicRouteOutcomeCallable updateDynamicRouteCallable(const Model::UpdateDynamicRouteRequest& request) const;
@@ -444,6 +465,9 @@ namespace AlibabaCloud
 			UpdateUserGroupOutcome updateUserGroup(const Model::UpdateUserGroupRequest &request)const;
 			void updateUserGroupAsync(const Model::UpdateUserGroupRequest& request, const UpdateUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateUserGroupOutcomeCallable updateUserGroupCallable(const Model::UpdateUserGroupRequest& request) const;
+			UpdateUsersStatusOutcome updateUsersStatus(const Model::UpdateUsersStatusRequest &request)const;
+			void updateUsersStatusAsync(const Model::UpdateUsersStatusRequest& request, const UpdateUsersStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateUsersStatusOutcomeCallable updateUsersStatusCallable(const Model::UpdateUsersStatusRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

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

@@ -44,6 +44,8 @@ public:
 	void setCustomUserAttributes(const std::vector<CustomUserAttributes> &customUserAttributes);
 	std::vector<std::string> getTagIds() const;
 	void setTagIds(const std::vector<std::string> &tagIds);
+	std::string getDeviceAttributeId() const;
+	void setDeviceAttributeId(const std::string &deviceAttributeId);
 	std::vector<std::string> getUserGroupIds() const;
 	void setUserGroupIds(const std::vector<std::string> &userGroupIds);
 	std::string getPolicyAction() const;
@@ -66,6 +68,7 @@ private:
 	std::string sourceIp_;
 	std::vector<CustomUserAttributes> customUserAttributes_;
 	std::vector<std::string> tagIds_;
+	std::string deviceAttributeId_;
 	std::vector<std::string> userGroupIds_;
 	std::string policyAction_;
 	int priority_;

+ 1 - 0
csas/include/alibabacloud/csas/model/GetPrivateAccessPolicyResult.h

@@ -52,6 +52,7 @@ namespace AlibabaCloud
 					std::string userGroupMode;
 					std::string applicationType;
 					std::vector<std::string> userGroupIds;
+					std::string deviceAttributeId;
 					std::string policyAction;
 					std::string policyId;
 				};

+ 48 - 0
csas/include/alibabacloud/csas/model/ListPopTrafficStatisticsRequest.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_LISTPOPTRAFFICSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTPOPTRAFFICSTATISTICSREQUEST_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 ListPopTrafficStatisticsRequest : public RpcServiceRequest {
+public:
+	ListPopTrafficStatisticsRequest();
+	~ListPopTrafficStatisticsRequest();
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string endTime_;
+	std::string startTime_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTPOPTRAFFICSTATISTICSREQUEST_H_

+ 61 - 0
csas/include/alibabacloud/csas/model/ListPopTrafficStatisticsResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTPOPTRAFFICSTATISTICSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTPOPTRAFFICSTATISTICSRESULT_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 ListPopTrafficStatisticsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Point
+					{
+						double average;
+						std::string dateTime;
+					};
+					std::string metricName;
+					std::vector<Data::Point> datapoints;
+				};
+
+
+				ListPopTrafficStatisticsResult();
+				explicit ListPopTrafficStatisticsResult(const std::string &payload);
+				~ListPopTrafficStatisticsResult();
+				std::vector<Data> getTrafficData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> trafficData_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTPOPTRAFFICSTATISTICSRESULT_H_

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

@@ -32,6 +32,8 @@ public:
 	~ListPrivateAccessPolicesRequest();
 	std::vector<std::string> getPolicyIds() const;
 	void setPolicyIds(const std::vector<std::string> &policyIds);
+	std::string getTagName() const;
+	void setTagName(const std::string &tagName);
 	std::string getSourceIp() const;
 	void setSourceIp(const std::string &sourceIp);
 	int getPageSize() const;
@@ -46,6 +48,8 @@ public:
 	void setCurrentPage(int currentPage);
 	std::string getPolicyAction() const;
 	void setPolicyAction(const std::string &policyAction);
+	std::string getApplicationName() const;
+	void setApplicationName(const std::string &applicationName);
 	std::string getName() const;
 	void setName(const std::string &name);
 	std::string getStatus() const;
@@ -53,6 +57,7 @@ public:
 
 private:
 	std::vector<std::string> policyIds_;
+	std::string tagName_;
 	std::string sourceIp_;
 	int pageSize_;
 	std::string applicationId_;
@@ -60,6 +65,7 @@ private:
 	std::string userGroupId_;
 	int currentPage_;
 	std::string policyAction_;
+	std::string applicationName_;
 	std::string name_;
 	std::string status_;
 };

+ 1 - 0
csas/include/alibabacloud/csas/model/ListPrivateAccessPolicesResult.h

@@ -52,6 +52,7 @@ namespace AlibabaCloud
 					std::string userGroupMode;
 					std::string applicationType;
 					std::vector<std::string> userGroupIds;
+					std::string deviceAttributeId;
 					std::string policyAction;
 					std::string policyId;
 				};

+ 63 - 0
csas/include/alibabacloud/csas/model/ListUsersRequest.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_LISTUSERSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERSREQUEST_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 ListUsersRequest : public RpcServiceRequest {
+public:
+	ListUsersRequest();
+	~ListUsersRequest();
+	std::string getFuzzyUsername() const;
+	void setFuzzyUsername(const std::string &fuzzyUsername);
+	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::string getPreciseUsername() const;
+	void setPreciseUsername(const std::string &preciseUsername);
+	std::vector<std::string> getSaseUserIds() const;
+	void setSaseUserIds(const std::vector<std::string> &saseUserIds);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string fuzzyUsername_;
+	std::string sourceIp_;
+	long pageSize_;
+	std::string department_;
+	long currentPage_;
+	std::string preciseUsername_;
+	std::vector<std::string> saseUserIds_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERSREQUEST_H_

+ 63 - 0
csas/include/alibabacloud/csas/model/ListUsersResult.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_LISTUSERSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTUSERSRESULT_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 ListUsersResult : public ServiceResult
+			{
+			public:
+				struct DataList
+				{
+					std::string status;
+					std::string department;
+					std::string email;
+					std::string username;
+					std::string phone;
+					std::string idpName;
+					std::string saseUserId;
+				};
+
+
+				ListUsersResult();
+				explicit ListUsersResult(const std::string &payload);
+				~ListUsersResult();
+				std::string getTotalNum()const;
+				std::vector<DataList> getUsers()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string totalNum_;
+				std::vector<DataList> users_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTUSERSRESULT_H_

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

@@ -46,6 +46,8 @@ public:
 	void setCustomUserAttributes(const std::vector<CustomUserAttributes> &customUserAttributes);
 	std::vector<std::string> getTagIds() const;
 	void setTagIds(const std::vector<std::string> &tagIds);
+	std::string getDeviceAttributeId() const;
+	void setDeviceAttributeId(const std::string &deviceAttributeId);
 	std::vector<std::string> getUserGroupIds() const;
 	void setUserGroupIds(const std::vector<std::string> &userGroupIds);
 	std::string getPolicyAction() const;
@@ -69,6 +71,7 @@ private:
 	std::string policyId_;
 	std::vector<CustomUserAttributes> customUserAttributes_;
 	std::vector<std::string> tagIds_;
+	std::string deviceAttributeId_;
 	std::vector<std::string> userGroupIds_;
 	std::string policyAction_;
 	int priority_;

+ 48 - 0
csas/include/alibabacloud/csas/model/UpdateUsersStatusRequest.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_UPDATEUSERSSTATUSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATEUSERSSTATUSREQUEST_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 UpdateUsersStatusRequest : public RpcServiceRequest {
+public:
+	UpdateUsersStatusRequest();
+	~UpdateUsersStatusRequest();
+	std::vector<std::string> getSaseUserIds() const;
+	void setSaseUserIds(const std::vector<std::string> &saseUserIds);
+	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> saseUserIds_;
+	std::string sourceIp_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATEUSERSSTATUSREQUEST_H_

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

+ 108 - 0
csas/src/CsasClient.cc

@@ -1095,6 +1095,42 @@ CsasClient::ListPolicesForUserGroupOutcomeCallable CsasClient::listPolicesForUse
 	return task->get_future();
 }
 
+CsasClient::ListPopTrafficStatisticsOutcome CsasClient::listPopTrafficStatistics(const ListPopTrafficStatisticsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPopTrafficStatisticsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPopTrafficStatisticsOutcome(ListPopTrafficStatisticsResult(outcome.result()));
+	else
+		return ListPopTrafficStatisticsOutcome(outcome.error());
+}
+
+void CsasClient::listPopTrafficStatisticsAsync(const ListPopTrafficStatisticsRequest& request, const ListPopTrafficStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPopTrafficStatistics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListPopTrafficStatisticsOutcomeCallable CsasClient::listPopTrafficStatisticsCallable(const ListPopTrafficStatisticsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPopTrafficStatisticsOutcome()>>(
+			[this, request]()
+			{
+			return this->listPopTrafficStatistics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::ListPrivateAccessApplicationsOutcome CsasClient::listPrivateAccessApplications(const ListPrivateAccessApplicationsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1599,6 +1635,42 @@ CsasClient::ListUserGroupsForRegistrationPolicyOutcomeCallable CsasClient::listU
 	return task->get_future();
 }
 
+CsasClient::ListUsersOutcome CsasClient::listUsers(const ListUsersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListUsersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListUsersOutcome(ListUsersResult(outcome.result()));
+	else
+		return ListUsersOutcome(outcome.error());
+}
+
+void CsasClient::listUsersAsync(const ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listUsers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListUsersOutcomeCallable CsasClient::listUsersCallable(const ListUsersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListUsersOutcome()>>(
+			[this, request]()
+			{
+			return this->listUsers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::UpdateDynamicRouteOutcome CsasClient::updateDynamicRoute(const UpdateDynamicRouteRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1887,3 +1959,39 @@ CsasClient::UpdateUserGroupOutcomeCallable CsasClient::updateUserGroupCallable(c
 	return task->get_future();
 }
 
+CsasClient::UpdateUsersStatusOutcome CsasClient::updateUsersStatus(const UpdateUsersStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateUsersStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateUsersStatusOutcome(UpdateUsersStatusResult(outcome.result()));
+	else
+		return UpdateUsersStatusOutcome(outcome.error());
+}
+
+void CsasClient::updateUsersStatusAsync(const UpdateUsersStatusRequest& request, const UpdateUsersStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateUsersStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateUsersStatusOutcomeCallable CsasClient::updateUsersStatusCallable(const UpdateUsersStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateUsersStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->updateUsersStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

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

@@ -68,6 +68,15 @@ void CreatePrivateAccessPolicyRequest::setTagIds(const std::vector<CreatePrivate
   }
 }
 
+std::string CreatePrivateAccessPolicyRequest::getDeviceAttributeId() const {
+  return deviceAttributeId_;
+}
+
+void CreatePrivateAccessPolicyRequest::setDeviceAttributeId(const std::string &deviceAttributeId) {
+  deviceAttributeId_ = deviceAttributeId;
+  setBodyParameter(std::string("DeviceAttributeId"), deviceAttributeId);
+}
+
 std::vector<CreatePrivateAccessPolicyRequest::std::string> CreatePrivateAccessPolicyRequest::getUserGroupIds() const {
   return userGroupIds_;
 }

+ 2 - 0
csas/src/model/GetPrivateAccessPolicyResult.cc

@@ -58,6 +58,8 @@ void GetPrivateAccessPolicyResult::parse(const std::string &payload)
 		policy_.userGroupMode = policyNode["UserGroupMode"].asString();
 	if(!policyNode["ApplicationType"].isNull())
 		policy_.applicationType = policyNode["ApplicationType"].asString();
+	if(!policyNode["DeviceAttributeId"].isNull())
+		policy_.deviceAttributeId = policyNode["DeviceAttributeId"].asString();
 	auto allCustomUserAttributesNode = policyNode["CustomUserAttributes"]["customUserAttribute"];
 	for (auto policyNodeCustomUserAttributescustomUserAttribute : allCustomUserAttributesNode)
 	{

+ 54 - 0
csas/src/model/ListPopTrafficStatisticsRequest.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/ListPopTrafficStatisticsRequest.h>
+
+using AlibabaCloud::Csas::Model::ListPopTrafficStatisticsRequest;
+
+ListPopTrafficStatisticsRequest::ListPopTrafficStatisticsRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListPopTrafficStatistics") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListPopTrafficStatisticsRequest::~ListPopTrafficStatisticsRequest() {}
+
+std::string ListPopTrafficStatisticsRequest::getEndTime() const {
+  return endTime_;
+}
+
+void ListPopTrafficStatisticsRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+std::string ListPopTrafficStatisticsRequest::getStartTime() const {
+  return startTime_;
+}
+
+void ListPopTrafficStatisticsRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+std::string ListPopTrafficStatisticsRequest::getRegion() const {
+  return region_;
+}
+
+void ListPopTrafficStatisticsRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 67 - 0
csas/src/model/ListPopTrafficStatisticsResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/csas/model/ListPopTrafficStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListPopTrafficStatisticsResult::ListPopTrafficStatisticsResult() :
+	ServiceResult()
+{}
+
+ListPopTrafficStatisticsResult::ListPopTrafficStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPopTrafficStatisticsResult::~ListPopTrafficStatisticsResult()
+{}
+
+void ListPopTrafficStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTrafficDataNode = value["TrafficData"]["data"];
+	for (auto valueTrafficDatadata : allTrafficDataNode)
+	{
+		Data trafficDataObject;
+		if(!valueTrafficDatadata["MetricName"].isNull())
+			trafficDataObject.metricName = valueTrafficDatadata["MetricName"].asString();
+		auto allDatapointsNode = valueTrafficDatadata["Datapoints"]["point"];
+		for (auto valueTrafficDatadataDatapointspoint : allDatapointsNode)
+		{
+			Data::Point datapointsObject;
+			if(!valueTrafficDatadataDatapointspoint["DateTime"].isNull())
+				datapointsObject.dateTime = valueTrafficDatadataDatapointspoint["DateTime"].asString();
+			if(!valueTrafficDatadataDatapointspoint["Average"].isNull())
+				datapointsObject.average = valueTrafficDatadataDatapointspoint["Average"].asString();
+			trafficDataObject.datapoints.push_back(datapointsObject);
+		}
+		trafficData_.push_back(trafficDataObject);
+	}
+
+}
+
+std::vector<ListPopTrafficStatisticsResult::Data> ListPopTrafficStatisticsResult::getTrafficData()const
+{
+	return trafficData_;
+}
+

+ 18 - 0
csas/src/model/ListPrivateAccessPolicesRequest.cc

@@ -36,6 +36,15 @@ void ListPrivateAccessPolicesRequest::setPolicyIds(const std::vector<ListPrivate
   }
 }
 
+std::string ListPrivateAccessPolicesRequest::getTagName() const {
+  return tagName_;
+}
+
+void ListPrivateAccessPolicesRequest::setTagName(const std::string &tagName) {
+  tagName_ = tagName;
+  setParameter(std::string("TagName"), tagName);
+}
+
 std::string ListPrivateAccessPolicesRequest::getSourceIp() const {
   return sourceIp_;
 }
@@ -99,6 +108,15 @@ void ListPrivateAccessPolicesRequest::setPolicyAction(const std::string &policyA
   setParameter(std::string("PolicyAction"), policyAction);
 }
 
+std::string ListPrivateAccessPolicesRequest::getApplicationName() const {
+  return applicationName_;
+}
+
+void ListPrivateAccessPolicesRequest::setApplicationName(const std::string &applicationName) {
+  applicationName_ = applicationName;
+  setParameter(std::string("ApplicationName"), applicationName);
+}
+
 std::string ListPrivateAccessPolicesRequest::getName() const {
   return name_;
 }

+ 2 - 0
csas/src/model/ListPrivateAccessPolicesResult.cc

@@ -61,6 +61,8 @@ void ListPrivateAccessPolicesResult::parse(const std::string &payload)
 			policesObject.userGroupMode = valuePolicespolicy["UserGroupMode"].asString();
 		if(!valuePolicespolicy["ApplicationType"].isNull())
 			policesObject.applicationType = valuePolicespolicy["ApplicationType"].asString();
+		if(!valuePolicespolicy["DeviceAttributeId"].isNull())
+			policesObject.deviceAttributeId = valuePolicespolicy["DeviceAttributeId"].asString();
 		auto allCustomUserAttributesNode = valuePolicespolicy["CustomUserAttributes"]["customUserAttribute"];
 		for (auto valuePolicespolicyCustomUserAttributescustomUserAttribute : allCustomUserAttributesNode)
 		{

+ 101 - 0
csas/src/model/ListUsersRequest.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/ListUsersRequest.h>
+
+using AlibabaCloud::Csas::Model::ListUsersRequest;
+
+ListUsersRequest::ListUsersRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListUsers") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+ListUsersRequest::~ListUsersRequest() {}
+
+std::string ListUsersRequest::getFuzzyUsername() const {
+  return fuzzyUsername_;
+}
+
+void ListUsersRequest::setFuzzyUsername(const std::string &fuzzyUsername) {
+  fuzzyUsername_ = fuzzyUsername;
+  setParameter(std::string("FuzzyUsername"), fuzzyUsername);
+}
+
+std::string ListUsersRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListUsersRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+long ListUsersRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListUsersRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListUsersRequest::getDepartment() const {
+  return department_;
+}
+
+void ListUsersRequest::setDepartment(const std::string &department) {
+  department_ = department;
+  setParameter(std::string("Department"), department);
+}
+
+long ListUsersRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListUsersRequest::setCurrentPage(long currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string ListUsersRequest::getPreciseUsername() const {
+  return preciseUsername_;
+}
+
+void ListUsersRequest::setPreciseUsername(const std::string &preciseUsername) {
+  preciseUsername_ = preciseUsername;
+  setParameter(std::string("PreciseUsername"), preciseUsername);
+}
+
+std::vector<ListUsersRequest::std::string> ListUsersRequest::getSaseUserIds() const {
+  return saseUserIds_;
+}
+
+void ListUsersRequest::setSaseUserIds(const std::vector<ListUsersRequest::std::string> &saseUserIds) {
+  saseUserIds_ = saseUserIds;
+  for(int dep1 = 0; dep1 != saseUserIds.size(); dep1++) {
+    setParameter(std::string("SaseUserIds") + "." + std::to_string(dep1 + 1), saseUserIds[dep1]);
+  }
+}
+
+std::string ListUsersRequest::getStatus() const {
+  return status_;
+}
+
+void ListUsersRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 76 - 0
csas/src/model/ListUsersResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/csas/model/ListUsersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListUsersResult::ListUsersResult() :
+	ServiceResult()
+{}
+
+ListUsersResult::ListUsersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListUsersResult::~ListUsersResult()
+{}
+
+void ListUsersResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUsersNode = value["Users"]["dataList"];
+	for (auto valueUsersdataList : allUsersNode)
+	{
+		DataList usersObject;
+		if(!valueUsersdataList["Username"].isNull())
+			usersObject.username = valueUsersdataList["Username"].asString();
+		if(!valueUsersdataList["SaseUserId"].isNull())
+			usersObject.saseUserId = valueUsersdataList["SaseUserId"].asString();
+		if(!valueUsersdataList["Department"].isNull())
+			usersObject.department = valueUsersdataList["Department"].asString();
+		if(!valueUsersdataList["Email"].isNull())
+			usersObject.email = valueUsersdataList["Email"].asString();
+		if(!valueUsersdataList["Phone"].isNull())
+			usersObject.phone = valueUsersdataList["Phone"].asString();
+		if(!valueUsersdataList["Status"].isNull())
+			usersObject.status = valueUsersdataList["Status"].asString();
+		if(!valueUsersdataList["IdpName"].isNull())
+			usersObject.idpName = valueUsersdataList["IdpName"].asString();
+		users_.push_back(usersObject);
+	}
+	if(!value["TotalNum"].isNull())
+		totalNum_ = value["TotalNum"].asString();
+
+}
+
+std::string ListUsersResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::vector<ListUsersResult::DataList> ListUsersResult::getUsers()const
+{
+	return users_;
+}
+

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

@@ -77,6 +77,15 @@ void UpdatePrivateAccessPolicyRequest::setTagIds(const std::vector<UpdatePrivate
   }
 }
 
+std::string UpdatePrivateAccessPolicyRequest::getDeviceAttributeId() const {
+  return deviceAttributeId_;
+}
+
+void UpdatePrivateAccessPolicyRequest::setDeviceAttributeId(const std::string &deviceAttributeId) {
+  deviceAttributeId_ = deviceAttributeId;
+  setBodyParameter(std::string("DeviceAttributeId"), deviceAttributeId);
+}
+
 std::vector<UpdatePrivateAccessPolicyRequest::std::string> UpdatePrivateAccessPolicyRequest::getUserGroupIds() const {
   return userGroupIds_;
 }

+ 56 - 0
csas/src/model/UpdateUsersStatusRequest.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/UpdateUsersStatusRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateUsersStatusRequest;
+
+UpdateUsersStatusRequest::UpdateUsersStatusRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateUsersStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateUsersStatusRequest::~UpdateUsersStatusRequest() {}
+
+std::vector<UpdateUsersStatusRequest::std::string> UpdateUsersStatusRequest::getSaseUserIds() const {
+  return saseUserIds_;
+}
+
+void UpdateUsersStatusRequest::setSaseUserIds(const std::vector<UpdateUsersStatusRequest::std::string> &saseUserIds) {
+  saseUserIds_ = saseUserIds;
+  for(int dep1 = 0; dep1 != saseUserIds.size(); dep1++) {
+    setParameter(std::string("SaseUserIds") + "." + std::to_string(dep1 + 1), saseUserIds[dep1]);
+  }
+}
+
+std::string UpdateUsersStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void UpdateUsersStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string UpdateUsersStatusRequest::getStatus() const {
+  return status_;
+}
+
+void UpdateUsersStatusRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

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