Procházet zdrojové kódy

Generated 2023-01-20 for csas.

sdk-team před 2 roky
rodič
revize
befcff9add

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1944
+1.36.1945

+ 8 - 0
csas/CMakeLists.txt

@@ -109,6 +109,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/ListIdpConfigsResult.h
 	include/alibabacloud/csas/model/ListIdpDepartmentsRequest.h
 	include/alibabacloud/csas/model/ListIdpDepartmentsResult.h
+	include/alibabacloud/csas/model/ListNacUserCertRequest.h
+	include/alibabacloud/csas/model/ListNacUserCertResult.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/ListPolicesForPrivateAccessTagRequest.h
@@ -163,6 +165,8 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.h
 	include/alibabacloud/csas/model/UpdateIdpDepartmentRequest.h
 	include/alibabacloud/csas/model/UpdateIdpDepartmentResult.h
+	include/alibabacloud/csas/model/UpdateNacUserCertStatusRequest.h
+	include/alibabacloud/csas/model/UpdateNacUserCertStatusResult.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessApplicationRequest.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessApplicationResult.h
 	include/alibabacloud/csas/model/UpdatePrivateAccessPolicyRequest.h
@@ -268,6 +272,8 @@ set(csas_src
 	src/model/ListIdpConfigsResult.cc
 	src/model/ListIdpDepartmentsRequest.cc
 	src/model/ListIdpDepartmentsResult.cc
+	src/model/ListNacUserCertRequest.cc
+	src/model/ListNacUserCertResult.cc
 	src/model/ListPolicesForPrivateAccessApplicationRequest.cc
 	src/model/ListPolicesForPrivateAccessApplicationResult.cc
 	src/model/ListPolicesForPrivateAccessTagRequest.cc
@@ -322,6 +328,8 @@ set(csas_src
 	src/model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.cc
 	src/model/UpdateIdpDepartmentRequest.cc
 	src/model/UpdateIdpDepartmentResult.cc
+	src/model/UpdateNacUserCertStatusRequest.cc
+	src/model/UpdateNacUserCertStatusResult.cc
 	src/model/UpdatePrivateAccessApplicationRequest.cc
 	src/model/UpdatePrivateAccessApplicationResult.cc
 	src/model/UpdatePrivateAccessPolicyRequest.cc

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

@@ -110,6 +110,8 @@
 #include "model/ListIdpConfigsResult.h"
 #include "model/ListIdpDepartmentsRequest.h"
 #include "model/ListIdpDepartmentsResult.h"
+#include "model/ListNacUserCertRequest.h"
+#include "model/ListNacUserCertResult.h"
 #include "model/ListPolicesForPrivateAccessApplicationRequest.h"
 #include "model/ListPolicesForPrivateAccessApplicationResult.h"
 #include "model/ListPolicesForPrivateAccessTagRequest.h"
@@ -164,6 +166,8 @@
 #include "model/UpdateExcessiveDeviceRegistrationApplicationsStatusResult.h"
 #include "model/UpdateIdpDepartmentRequest.h"
 #include "model/UpdateIdpDepartmentResult.h"
+#include "model/UpdateNacUserCertStatusRequest.h"
+#include "model/UpdateNacUserCertStatusResult.h"
 #include "model/UpdatePrivateAccessApplicationRequest.h"
 #include "model/UpdatePrivateAccessApplicationResult.h"
 #include "model/UpdatePrivateAccessPolicyRequest.h"
@@ -319,6 +323,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListIdpDepartmentsResult> ListIdpDepartmentsOutcome;
 			typedef std::future<ListIdpDepartmentsOutcome> ListIdpDepartmentsOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListIdpDepartmentsRequest&, const ListIdpDepartmentsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIdpDepartmentsAsyncHandler;
+			typedef Outcome<Error, Model::ListNacUserCertResult> ListNacUserCertOutcome;
+			typedef std::future<ListNacUserCertOutcome> ListNacUserCertOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::ListNacUserCertRequest&, const ListNacUserCertOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListNacUserCertAsyncHandler;
 			typedef Outcome<Error, Model::ListPolicesForPrivateAccessApplicationResult> ListPolicesForPrivateAccessApplicationOutcome;
 			typedef std::future<ListPolicesForPrivateAccessApplicationOutcome> ListPolicesForPrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::ListPolicesForPrivateAccessApplicationRequest&, const ListPolicesForPrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPolicesForPrivateAccessApplicationAsyncHandler;
@@ -400,6 +407,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateIdpDepartmentResult> UpdateIdpDepartmentOutcome;
 			typedef std::future<UpdateIdpDepartmentOutcome> UpdateIdpDepartmentOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdateIdpDepartmentRequest&, const UpdateIdpDepartmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateIdpDepartmentAsyncHandler;
+			typedef Outcome<Error, Model::UpdateNacUserCertStatusResult> UpdateNacUserCertStatusOutcome;
+			typedef std::future<UpdateNacUserCertStatusOutcome> UpdateNacUserCertStatusOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::UpdateNacUserCertStatusRequest&, const UpdateNacUserCertStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateNacUserCertStatusAsyncHandler;
 			typedef Outcome<Error, Model::UpdatePrivateAccessApplicationResult> UpdatePrivateAccessApplicationOutcome;
 			typedef std::future<UpdatePrivateAccessApplicationOutcome> UpdatePrivateAccessApplicationOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::UpdatePrivateAccessApplicationRequest&, const UpdatePrivateAccessApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePrivateAccessApplicationAsyncHandler;
@@ -558,6 +568,9 @@ namespace AlibabaCloud
 			ListIdpDepartmentsOutcome listIdpDepartments(const Model::ListIdpDepartmentsRequest &request)const;
 			void listIdpDepartmentsAsync(const Model::ListIdpDepartmentsRequest& request, const ListIdpDepartmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListIdpDepartmentsOutcomeCallable listIdpDepartmentsCallable(const Model::ListIdpDepartmentsRequest& request) const;
+			ListNacUserCertOutcome listNacUserCert(const Model::ListNacUserCertRequest &request)const;
+			void listNacUserCertAsync(const Model::ListNacUserCertRequest& request, const ListNacUserCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListNacUserCertOutcomeCallable listNacUserCertCallable(const Model::ListNacUserCertRequest& request) const;
 			ListPolicesForPrivateAccessApplicationOutcome listPolicesForPrivateAccessApplication(const Model::ListPolicesForPrivateAccessApplicationRequest &request)const;
 			void listPolicesForPrivateAccessApplicationAsync(const Model::ListPolicesForPrivateAccessApplicationRequest& request, const ListPolicesForPrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPolicesForPrivateAccessApplicationOutcomeCallable listPolicesForPrivateAccessApplicationCallable(const Model::ListPolicesForPrivateAccessApplicationRequest& request) const;
@@ -639,6 +652,9 @@ namespace AlibabaCloud
 			UpdateIdpDepartmentOutcome updateIdpDepartment(const Model::UpdateIdpDepartmentRequest &request)const;
 			void updateIdpDepartmentAsync(const Model::UpdateIdpDepartmentRequest& request, const UpdateIdpDepartmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateIdpDepartmentOutcomeCallable updateIdpDepartmentCallable(const Model::UpdateIdpDepartmentRequest& request) const;
+			UpdateNacUserCertStatusOutcome updateNacUserCertStatus(const Model::UpdateNacUserCertStatusRequest &request)const;
+			void updateNacUserCertStatusAsync(const Model::UpdateNacUserCertStatusRequest& request, const UpdateNacUserCertStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateNacUserCertStatusOutcomeCallable updateNacUserCertStatusCallable(const Model::UpdateNacUserCertStatusRequest& request) const;
 			UpdatePrivateAccessApplicationOutcome updatePrivateAccessApplication(const Model::UpdatePrivateAccessApplicationRequest &request)const;
 			void updatePrivateAccessApplicationAsync(const Model::UpdatePrivateAccessApplicationRequest& request, const UpdatePrivateAccessApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdatePrivateAccessApplicationOutcomeCallable updatePrivateAccessApplicationCallable(const Model::UpdatePrivateAccessApplicationRequest& request) const;

+ 63 - 0
csas/include/alibabacloud/csas/model/ListNacUserCertRequest.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_LISTNACUSERCERTREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTNACUSERCERTREQUEST_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 ListNacUserCertRequest : public RpcServiceRequest {
+public:
+	ListNacUserCertRequest();
+	~ListNacUserCertRequest();
+	long getEndTime() const;
+	void setEndTime(long endTime);
+	std::string getCurrentPage() const;
+	void setCurrentPage(const std::string &currentPage);
+	long getStartTime() const;
+	void setStartTime(long startTime);
+	std::string getDeviceType() const;
+	void setDeviceType(const std::string &deviceType);
+	std::string getPageSize() const;
+	void setPageSize(const std::string &pageSize);
+	std::string getDepartment() const;
+	void setDepartment(const std::string &department);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	long endTime_;
+	std::string currentPage_;
+	long startTime_;
+	std::string deviceType_;
+	std::string pageSize_;
+	std::string department_;
+	std::string username_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTNACUSERCERTREQUEST_H_

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

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CSAS_MODEL_LISTNACUSERCERTRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_LISTNACUSERCERTRESULT_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 ListNacUserCertResult : public ServiceResult
+			{
+			public:
+				struct DataListItem
+				{
+					std::string status;
+					std::string deviceType;
+					std::string department;
+					std::string username;
+					std::string userId;
+					std::string expiredTime;
+					std::string hostname;
+					std::string devTag;
+					std::string aliuid;
+					std::string mac;
+				};
+
+
+				ListNacUserCertResult();
+				explicit ListNacUserCertResult(const std::string &payload);
+				~ListNacUserCertResult();
+				std::vector<DataListItem> getDataList()const;
+				long getTotalNum()const;
+				std::string getMessage()const;
+				long getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DataListItem> dataList_;
+				long totalNum_;
+				std::string message_;
+				long code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_LISTNACUSERCERTRESULT_H_

+ 49 - 0
csas/include/alibabacloud/csas/model/UpdateNacUserCertStatusRequest.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_UPDATENACUSERCERTSTATUSREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATENACUSERCERTSTATUSREQUEST_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 UpdateNacUserCertStatusRequest : public RpcServiceRequest {
+public:
+	struct IdList {
+		std::string userId;
+		std::string devTag;
+	};
+	UpdateNacUserCertStatusRequest();
+	~UpdateNacUserCertStatusRequest();
+	std::vector<IdList> getIdList() const;
+	void setIdList(const std::vector<IdList> &idList);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::vector<IdList> idList_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATENACUSERCERTSTATUSREQUEST_H_

+ 53 - 0
csas/include/alibabacloud/csas/model/UpdateNacUserCertStatusResult.h

@@ -0,0 +1,53 @@
+/*
+ * 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_UPDATENACUSERCERTSTATUSRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_UPDATENACUSERCERTSTATUSRESULT_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 UpdateNacUserCertStatusResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateNacUserCertStatusResult();
+				explicit UpdateNacUserCertStatusResult(const std::string &payload);
+				~UpdateNacUserCertStatusResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_UPDATENACUSERCERTSTATUSRESULT_H_

+ 72 - 0
csas/src/CsasClient.cc

@@ -1635,6 +1635,42 @@ CsasClient::ListIdpDepartmentsOutcomeCallable CsasClient::listIdpDepartmentsCall
 	return task->get_future();
 }
 
+CsasClient::ListNacUserCertOutcome CsasClient::listNacUserCert(const ListNacUserCertRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListNacUserCertOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListNacUserCertOutcome(ListNacUserCertResult(outcome.result()));
+	else
+		return ListNacUserCertOutcome(outcome.error());
+}
+
+void CsasClient::listNacUserCertAsync(const ListNacUserCertRequest& request, const ListNacUserCertAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listNacUserCert(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ListNacUserCertOutcomeCallable CsasClient::listNacUserCertCallable(const ListNacUserCertRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListNacUserCertOutcome()>>(
+			[this, request]()
+			{
+			return this->listNacUserCert(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::ListPolicesForPrivateAccessApplicationOutcome CsasClient::listPolicesForPrivateAccessApplication(const ListPolicesForPrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2607,6 +2643,42 @@ CsasClient::UpdateIdpDepartmentOutcomeCallable CsasClient::updateIdpDepartmentCa
 	return task->get_future();
 }
 
+CsasClient::UpdateNacUserCertStatusOutcome CsasClient::updateNacUserCertStatus(const UpdateNacUserCertStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateNacUserCertStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateNacUserCertStatusOutcome(UpdateNacUserCertStatusResult(outcome.result()));
+	else
+		return UpdateNacUserCertStatusOutcome(outcome.error());
+}
+
+void CsasClient::updateNacUserCertStatusAsync(const UpdateNacUserCertStatusRequest& request, const UpdateNacUserCertStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateNacUserCertStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::UpdateNacUserCertStatusOutcomeCallable CsasClient::updateNacUserCertStatusCallable(const UpdateNacUserCertStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateNacUserCertStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->updateNacUserCertStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::UpdatePrivateAccessApplicationOutcome CsasClient::updatePrivateAccessApplication(const UpdatePrivateAccessApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -0,0 +1,99 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListNacUserCertRequest.h>
+
+using AlibabaCloud::Csas::Model::ListNacUserCertRequest;
+
+ListNacUserCertRequest::ListNacUserCertRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ListNacUserCert") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListNacUserCertRequest::~ListNacUserCertRequest() {}
+
+long ListNacUserCertRequest::getEndTime() const {
+  return endTime_;
+}
+
+void ListNacUserCertRequest::setEndTime(long endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), std::to_string(endTime));
+}
+
+std::string ListNacUserCertRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListNacUserCertRequest::setCurrentPage(const std::string &currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), currentPage);
+}
+
+long ListNacUserCertRequest::getStartTime() const {
+  return startTime_;
+}
+
+void ListNacUserCertRequest::setStartTime(long startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), std::to_string(startTime));
+}
+
+std::string ListNacUserCertRequest::getDeviceType() const {
+  return deviceType_;
+}
+
+void ListNacUserCertRequest::setDeviceType(const std::string &deviceType) {
+  deviceType_ = deviceType;
+  setParameter(std::string("DeviceType"), deviceType);
+}
+
+std::string ListNacUserCertRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListNacUserCertRequest::setPageSize(const std::string &pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), pageSize);
+}
+
+std::string ListNacUserCertRequest::getDepartment() const {
+  return department_;
+}
+
+void ListNacUserCertRequest::setDepartment(const std::string &department) {
+  department_ = department;
+  setParameter(std::string("Department"), department);
+}
+
+std::string ListNacUserCertRequest::getUsername() const {
+  return username_;
+}
+
+void ListNacUserCertRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setParameter(std::string("Username"), username);
+}
+
+std::string ListNacUserCertRequest::getStatus() const {
+  return status_;
+}
+
+void ListNacUserCertRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 96 - 0
csas/src/model/ListNacUserCertResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/csas/model/ListNacUserCertResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Csas;
+using namespace AlibabaCloud::Csas::Model;
+
+ListNacUserCertResult::ListNacUserCertResult() :
+	ServiceResult()
+{}
+
+ListNacUserCertResult::ListNacUserCertResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListNacUserCertResult::~ListNacUserCertResult()
+{}
+
+void ListNacUserCertResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataListNode = value["DataList"]["DataListItem"];
+	for (auto valueDataListDataListItem : allDataListNode)
+	{
+		DataListItem dataListObject;
+		if(!valueDataListDataListItem["Username"].isNull())
+			dataListObject.username = valueDataListDataListItem["Username"].asString();
+		if(!valueDataListDataListItem["Aliuid"].isNull())
+			dataListObject.aliuid = valueDataListDataListItem["Aliuid"].asString();
+		if(!valueDataListDataListItem["ExpiredTime"].isNull())
+			dataListObject.expiredTime = valueDataListDataListItem["ExpiredTime"].asString();
+		if(!valueDataListDataListItem["Department"].isNull())
+			dataListObject.department = valueDataListDataListItem["Department"].asString();
+		if(!valueDataListDataListItem["DeviceType"].isNull())
+			dataListObject.deviceType = valueDataListDataListItem["DeviceType"].asString();
+		if(!valueDataListDataListItem["Status"].isNull())
+			dataListObject.status = valueDataListDataListItem["Status"].asString();
+		if(!valueDataListDataListItem["UserId"].isNull())
+			dataListObject.userId = valueDataListDataListItem["UserId"].asString();
+		if(!valueDataListDataListItem["DevTag"].isNull())
+			dataListObject.devTag = valueDataListDataListItem["DevTag"].asString();
+		if(!valueDataListDataListItem["Hostname"].isNull())
+			dataListObject.hostname = valueDataListDataListItem["Hostname"].asString();
+		if(!valueDataListDataListItem["Mac"].isNull())
+			dataListObject.mac = valueDataListDataListItem["Mac"].asString();
+		dataList_.push_back(dataListObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stol(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stol(value["TotalNum"].asString());
+
+}
+
+std::vector<ListNacUserCertResult::DataListItem> ListNacUserCertResult::getDataList()const
+{
+	return dataList_;
+}
+
+long ListNacUserCertResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+std::string ListNacUserCertResult::getMessage()const
+{
+	return message_;
+}
+
+long ListNacUserCertResult::getCode()const
+{
+	return code_;
+}
+

+ 48 - 0
csas/src/model/UpdateNacUserCertStatusRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/csas/model/UpdateNacUserCertStatusRequest.h>
+
+using AlibabaCloud::Csas::Model::UpdateNacUserCertStatusRequest;
+
+UpdateNacUserCertStatusRequest::UpdateNacUserCertStatusRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "UpdateNacUserCertStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateNacUserCertStatusRequest::~UpdateNacUserCertStatusRequest() {}
+
+std::vector<UpdateNacUserCertStatusRequest::IdList> UpdateNacUserCertStatusRequest::getIdList() const {
+  return idList_;
+}
+
+void UpdateNacUserCertStatusRequest::setIdList(const std::vector<UpdateNacUserCertStatusRequest::IdList> &idList) {
+  idList_ = idList;
+  for(int dep1 = 0; dep1 != idList.size(); dep1++) {
+    setBodyParameter(std::string("IdList") + "." + std::to_string(dep1 + 1) + ".UserId", idList[dep1].userId);
+    setBodyParameter(std::string("IdList") + "." + std::to_string(dep1 + 1) + ".DevTag", idList[dep1].devTag);
+  }
+}
+
+std::string UpdateNacUserCertStatusRequest::getStatus() const {
+  return status_;
+}
+
+void UpdateNacUserCertStatusRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setBodyParameter(std::string("Status"), status);
+}
+

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

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