Explorar el Código

Generated 2023-01-20 for csas.

sdk-team hace 2 años
padre
commit
d80ca0d7e2

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1926
+1.36.1927

+ 8 - 0
csas/CMakeLists.txt

@@ -53,10 +53,14 @@ set(csas_public_header_model
 	include/alibabacloud/csas/model/DeletePrivateAccessTagResult.h
 	include/alibabacloud/csas/model/DeleteRegistrationPoliciesRequest.h
 	include/alibabacloud/csas/model/DeleteRegistrationPoliciesResult.h
+	include/alibabacloud/csas/model/DeleteUserDevicesRequest.h
+	include/alibabacloud/csas/model/DeleteUserDevicesResult.h
 	include/alibabacloud/csas/model/DeleteUserGroupRequest.h
 	include/alibabacloud/csas/model/DeleteUserGroupResult.h
 	include/alibabacloud/csas/model/DetachApplication2ConnectorRequest.h
 	include/alibabacloud/csas/model/DetachApplication2ConnectorResult.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/GetClientUserRequest.h
@@ -194,10 +198,14 @@ set(csas_src
 	src/model/DeletePrivateAccessTagResult.cc
 	src/model/DeleteRegistrationPoliciesRequest.cc
 	src/model/DeleteRegistrationPoliciesResult.cc
+	src/model/DeleteUserDevicesRequest.cc
+	src/model/DeleteUserDevicesResult.cc
 	src/model/DeleteUserGroupRequest.cc
 	src/model/DeleteUserGroupResult.cc
 	src/model/DetachApplication2ConnectorRequest.cc
 	src/model/DetachApplication2ConnectorResult.cc
+	src/model/ExportUserDevicesRequest.cc
+	src/model/ExportUserDevicesResult.cc
 	src/model/GetActiveIdpConfigRequest.cc
 	src/model/GetActiveIdpConfigResult.cc
 	src/model/GetClientUserRequest.cc

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

@@ -54,10 +54,14 @@
 #include "model/DeletePrivateAccessTagResult.h"
 #include "model/DeleteRegistrationPoliciesRequest.h"
 #include "model/DeleteRegistrationPoliciesResult.h"
+#include "model/DeleteUserDevicesRequest.h"
+#include "model/DeleteUserDevicesResult.h"
 #include "model/DeleteUserGroupRequest.h"
 #include "model/DeleteUserGroupResult.h"
 #include "model/DetachApplication2ConnectorRequest.h"
 #include "model/DetachApplication2ConnectorResult.h"
+#include "model/ExportUserDevicesRequest.h"
+#include "model/ExportUserDevicesResult.h"
 #include "model/GetActiveIdpConfigRequest.h"
 #include "model/GetActiveIdpConfigResult.h"
 #include "model/GetClientUserRequest.h"
@@ -217,12 +221,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteRegistrationPoliciesResult> DeleteRegistrationPoliciesOutcome;
 			typedef std::future<DeleteRegistrationPoliciesOutcome> DeleteRegistrationPoliciesOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::DeleteRegistrationPoliciesRequest&, const DeleteRegistrationPoliciesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRegistrationPoliciesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteUserDevicesResult> DeleteUserDevicesOutcome;
+			typedef std::future<DeleteUserDevicesOutcome> DeleteUserDevicesOutcomeCallable;
+			typedef std::function<void(const CsasClient*, const Model::DeleteUserDevicesRequest&, const DeleteUserDevicesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUserDevicesAsyncHandler;
 			typedef Outcome<Error, Model::DeleteUserGroupResult> DeleteUserGroupOutcome;
 			typedef std::future<DeleteUserGroupOutcome> DeleteUserGroupOutcomeCallable;
 			typedef std::function<void(const CsasClient*, const Model::DeleteUserGroupRequest&, const DeleteUserGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUserGroupAsyncHandler;
 			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::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;
@@ -429,12 +439,18 @@ namespace AlibabaCloud
 			DeleteRegistrationPoliciesOutcome deleteRegistrationPolicies(const Model::DeleteRegistrationPoliciesRequest &request)const;
 			void deleteRegistrationPoliciesAsync(const Model::DeleteRegistrationPoliciesRequest& request, const DeleteRegistrationPoliciesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRegistrationPoliciesOutcomeCallable deleteRegistrationPoliciesCallable(const Model::DeleteRegistrationPoliciesRequest& request) const;
+			DeleteUserDevicesOutcome deleteUserDevices(const Model::DeleteUserDevicesRequest &request)const;
+			void deleteUserDevicesAsync(const Model::DeleteUserDevicesRequest& request, const DeleteUserDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteUserDevicesOutcomeCallable deleteUserDevicesCallable(const Model::DeleteUserDevicesRequest& request) const;
 			DeleteUserGroupOutcome deleteUserGroup(const Model::DeleteUserGroupRequest &request)const;
 			void deleteUserGroupAsync(const Model::DeleteUserGroupRequest& request, const DeleteUserGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteUserGroupOutcomeCallable deleteUserGroupCallable(const Model::DeleteUserGroupRequest& request) const;
 			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;
+			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;

+ 45 - 0
csas/include/alibabacloud/csas/model/DeleteUserDevicesRequest.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_DELETEUSERDEVICESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_DELETEUSERDEVICESREQUEST_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 DeleteUserDevicesRequest : public RpcServiceRequest {
+public:
+	DeleteUserDevicesRequest();
+	~DeleteUserDevicesRequest();
+	std::vector<std::string> getDeviceTags() const;
+	void setDeviceTags(const std::vector<std::string> &deviceTags);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+
+private:
+	std::vector<std::string> deviceTags_;
+	std::string sourceIp_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_DELETEUSERDEVICESREQUEST_H_

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

+ 87 - 0
csas/include/alibabacloud/csas/model/ExportUserDevicesRequest.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_EXPORTUSERDEVICESREQUEST_H_
+#define ALIBABACLOUD_CSAS_MODEL_EXPORTUSERDEVICESREQUEST_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 ExportUserDevicesRequest : public RpcServiceRequest {
+public:
+	ExportUserDevicesRequest();
+	~ExportUserDevicesRequest();
+	std::string getMac() const;
+	void setMac(const std::string &mac);
+	std::vector<std::string> getDeviceTypes() const;
+	void setDeviceTypes(const std::vector<std::string> &deviceTypes);
+	std::string getHostname() const;
+	void setHostname(const std::string &hostname);
+	std::vector<std::string> getAppStatuses() const;
+	void setAppStatuses(const std::vector<std::string> &appStatuses);
+	std::vector<std::string> getDlpStatuses() const;
+	void setDlpStatuses(const std::vector<std::string> &dlpStatuses);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getSaseUserId() const;
+	void setSaseUserId(const std::string &saseUserId);
+	std::vector<std::string> getNacStatuses() const;
+	void setNacStatuses(const std::vector<std::string> &nacStatuses);
+	std::string getDepartment() const;
+	void setDepartment(const std::string &department);
+	std::vector<std::string> getIaStatuses() const;
+	void setIaStatuses(const std::vector<std::string> &iaStatuses);
+	std::string getDeviceBelong() const;
+	void setDeviceBelong(const std::string &deviceBelong);
+	bool getSharingStatus() const;
+	void setSharingStatus(bool sharingStatus);
+	std::vector<std::string> getDeviceTags() const;
+	void setDeviceTags(const std::vector<std::string> &deviceTags);
+	std::vector<std::string> getDeviceStatuses() const;
+	void setDeviceStatuses(const std::vector<std::string> &deviceStatuses);
+	std::vector<std::string> getPaStatuses() const;
+	void setPaStatuses(const std::vector<std::string> &paStatuses);
+	std::string getUsername() const;
+	void setUsername(const std::string &username);
+
+private:
+	std::string mac_;
+	std::vector<std::string> deviceTypes_;
+	std::string hostname_;
+	std::vector<std::string> appStatuses_;
+	std::vector<std::string> dlpStatuses_;
+	std::string sourceIp_;
+	std::string saseUserId_;
+	std::vector<std::string> nacStatuses_;
+	std::string department_;
+	std::vector<std::string> iaStatuses_;
+	std::string deviceBelong_;
+	bool sharingStatus_;
+	std::vector<std::string> deviceTags_;
+	std::vector<std::string> deviceStatuses_;
+	std::vector<std::string> paStatuses_;
+	std::string username_;
+};
+} // namespace Model
+} // namespace Csas
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CSAS_MODEL_EXPORTUSERDEVICESREQUEST_H_

+ 51 - 0
csas/include/alibabacloud/csas/model/ExportUserDevicesResult.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_EXPORTUSERDEVICESRESULT_H_
+#define ALIBABACLOUD_CSAS_MODEL_EXPORTUSERDEVICESRESULT_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 ExportUserDevicesResult : public ServiceResult
+			{
+			public:
+
+
+				ExportUserDevicesResult();
+				explicit ExportUserDevicesResult(const std::string &payload);
+				~ExportUserDevicesResult();
+				std::string getSignedUrl()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string signedUrl_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CSAS_MODEL_EXPORTUSERDEVICESRESULT_H_

+ 72 - 0
csas/src/CsasClient.cc

@@ -627,6 +627,42 @@ CsasClient::DeleteRegistrationPoliciesOutcomeCallable CsasClient::deleteRegistra
 	return task->get_future();
 }
 
+CsasClient::DeleteUserDevicesOutcome CsasClient::deleteUserDevices(const DeleteUserDevicesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteUserDevicesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteUserDevicesOutcome(DeleteUserDevicesResult(outcome.result()));
+	else
+		return DeleteUserDevicesOutcome(outcome.error());
+}
+
+void CsasClient::deleteUserDevicesAsync(const DeleteUserDevicesRequest& request, const DeleteUserDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteUserDevices(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::DeleteUserDevicesOutcomeCallable CsasClient::deleteUserDevicesCallable(const DeleteUserDevicesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteUserDevicesOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteUserDevices(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::DeleteUserGroupOutcome CsasClient::deleteUserGroup(const DeleteUserGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -699,6 +735,42 @@ CsasClient::DetachApplication2ConnectorOutcomeCallable CsasClient::detachApplica
 	return task->get_future();
 }
 
+CsasClient::ExportUserDevicesOutcome CsasClient::exportUserDevices(const ExportUserDevicesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ExportUserDevicesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ExportUserDevicesOutcome(ExportUserDevicesResult(outcome.result()));
+	else
+		return ExportUserDevicesOutcome(outcome.error());
+}
+
+void CsasClient::exportUserDevicesAsync(const ExportUserDevicesRequest& request, const ExportUserDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, exportUserDevices(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CsasClient::ExportUserDevicesOutcomeCallable CsasClient::exportUserDevicesCallable(const ExportUserDevicesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ExportUserDevicesOutcome()>>(
+			[this, request]()
+			{
+			return this->exportUserDevices(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CsasClient::GetActiveIdpConfigOutcome CsasClient::getActiveIdpConfig(const GetActiveIdpConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 47 - 0
csas/src/model/DeleteUserDevicesRequest.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/DeleteUserDevicesRequest.h>
+
+using AlibabaCloud::Csas::Model::DeleteUserDevicesRequest;
+
+DeleteUserDevicesRequest::DeleteUserDevicesRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "DeleteUserDevices") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteUserDevicesRequest::~DeleteUserDevicesRequest() {}
+
+std::vector<DeleteUserDevicesRequest::std::string> DeleteUserDevicesRequest::getDeviceTags() const {
+  return deviceTags_;
+}
+
+void DeleteUserDevicesRequest::setDeviceTags(const std::vector<DeleteUserDevicesRequest::std::string> &deviceTags) {
+  deviceTags_ = deviceTags;
+  for(int dep1 = 0; dep1 != deviceTags.size(); dep1++) {
+    setBodyParameter(std::string("DeviceTags") + "." + std::to_string(dep1 + 1), deviceTags[dep1]);
+  }
+}
+
+std::string DeleteUserDevicesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DeleteUserDevicesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+

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

+ 187 - 0
csas/src/model/ExportUserDevicesRequest.cc

@@ -0,0 +1,187 @@
+/*
+ * 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/ExportUserDevicesRequest.h>
+
+using AlibabaCloud::Csas::Model::ExportUserDevicesRequest;
+
+ExportUserDevicesRequest::ExportUserDevicesRequest()
+    : RpcServiceRequest("csas", "2023-01-20", "ExportUserDevices") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ExportUserDevicesRequest::~ExportUserDevicesRequest() {}
+
+std::string ExportUserDevicesRequest::getMac() const {
+  return mac_;
+}
+
+void ExportUserDevicesRequest::setMac(const std::string &mac) {
+  mac_ = mac;
+  setBodyParameter(std::string("Mac"), mac);
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getDeviceTypes() const {
+  return deviceTypes_;
+}
+
+void ExportUserDevicesRequest::setDeviceTypes(const std::vector<ExportUserDevicesRequest::std::string> &deviceTypes) {
+  deviceTypes_ = deviceTypes;
+  for(int dep1 = 0; dep1 != deviceTypes.size(); dep1++) {
+    setBodyParameter(std::string("DeviceTypes") + "." + std::to_string(dep1 + 1), deviceTypes[dep1]);
+  }
+}
+
+std::string ExportUserDevicesRequest::getHostname() const {
+  return hostname_;
+}
+
+void ExportUserDevicesRequest::setHostname(const std::string &hostname) {
+  hostname_ = hostname;
+  setBodyParameter(std::string("Hostname"), hostname);
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getAppStatuses() const {
+  return appStatuses_;
+}
+
+void ExportUserDevicesRequest::setAppStatuses(const std::vector<ExportUserDevicesRequest::std::string> &appStatuses) {
+  appStatuses_ = appStatuses;
+  for(int dep1 = 0; dep1 != appStatuses.size(); dep1++) {
+    setBodyParameter(std::string("AppStatuses") + "." + std::to_string(dep1 + 1), appStatuses[dep1]);
+  }
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getDlpStatuses() const {
+  return dlpStatuses_;
+}
+
+void ExportUserDevicesRequest::setDlpStatuses(const std::vector<ExportUserDevicesRequest::std::string> &dlpStatuses) {
+  dlpStatuses_ = dlpStatuses;
+  for(int dep1 = 0; dep1 != dlpStatuses.size(); dep1++) {
+    setBodyParameter(std::string("DlpStatuses") + "." + std::to_string(dep1 + 1), dlpStatuses[dep1]);
+  }
+}
+
+std::string ExportUserDevicesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ExportUserDevicesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ExportUserDevicesRequest::getSaseUserId() const {
+  return saseUserId_;
+}
+
+void ExportUserDevicesRequest::setSaseUserId(const std::string &saseUserId) {
+  saseUserId_ = saseUserId;
+  setBodyParameter(std::string("SaseUserId"), saseUserId);
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getNacStatuses() const {
+  return nacStatuses_;
+}
+
+void ExportUserDevicesRequest::setNacStatuses(const std::vector<ExportUserDevicesRequest::std::string> &nacStatuses) {
+  nacStatuses_ = nacStatuses;
+  for(int dep1 = 0; dep1 != nacStatuses.size(); dep1++) {
+    setBodyParameter(std::string("NacStatuses") + "." + std::to_string(dep1 + 1), nacStatuses[dep1]);
+  }
+}
+
+std::string ExportUserDevicesRequest::getDepartment() const {
+  return department_;
+}
+
+void ExportUserDevicesRequest::setDepartment(const std::string &department) {
+  department_ = department;
+  setBodyParameter(std::string("Department"), department);
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getIaStatuses() const {
+  return iaStatuses_;
+}
+
+void ExportUserDevicesRequest::setIaStatuses(const std::vector<ExportUserDevicesRequest::std::string> &iaStatuses) {
+  iaStatuses_ = iaStatuses;
+  for(int dep1 = 0; dep1 != iaStatuses.size(); dep1++) {
+    setBodyParameter(std::string("IaStatuses") + "." + std::to_string(dep1 + 1), iaStatuses[dep1]);
+  }
+}
+
+std::string ExportUserDevicesRequest::getDeviceBelong() const {
+  return deviceBelong_;
+}
+
+void ExportUserDevicesRequest::setDeviceBelong(const std::string &deviceBelong) {
+  deviceBelong_ = deviceBelong;
+  setBodyParameter(std::string("DeviceBelong"), deviceBelong);
+}
+
+bool ExportUserDevicesRequest::getSharingStatus() const {
+  return sharingStatus_;
+}
+
+void ExportUserDevicesRequest::setSharingStatus(bool sharingStatus) {
+  sharingStatus_ = sharingStatus;
+  setBodyParameter(std::string("SharingStatus"), sharingStatus ? "true" : "false");
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getDeviceTags() const {
+  return deviceTags_;
+}
+
+void ExportUserDevicesRequest::setDeviceTags(const std::vector<ExportUserDevicesRequest::std::string> &deviceTags) {
+  deviceTags_ = deviceTags;
+  for(int dep1 = 0; dep1 != deviceTags.size(); dep1++) {
+    setBodyParameter(std::string("DeviceTags") + "." + std::to_string(dep1 + 1), deviceTags[dep1]);
+  }
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getDeviceStatuses() const {
+  return deviceStatuses_;
+}
+
+void ExportUserDevicesRequest::setDeviceStatuses(const std::vector<ExportUserDevicesRequest::std::string> &deviceStatuses) {
+  deviceStatuses_ = deviceStatuses;
+  for(int dep1 = 0; dep1 != deviceStatuses.size(); dep1++) {
+    setBodyParameter(std::string("DeviceStatuses") + "." + std::to_string(dep1 + 1), deviceStatuses[dep1]);
+  }
+}
+
+std::vector<ExportUserDevicesRequest::std::string> ExportUserDevicesRequest::getPaStatuses() const {
+  return paStatuses_;
+}
+
+void ExportUserDevicesRequest::setPaStatuses(const std::vector<ExportUserDevicesRequest::std::string> &paStatuses) {
+  paStatuses_ = paStatuses;
+  for(int dep1 = 0; dep1 != paStatuses.size(); dep1++) {
+    setBodyParameter(std::string("PaStatuses") + "." + std::to_string(dep1 + 1), paStatuses[dep1]);
+  }
+}
+
+std::string ExportUserDevicesRequest::getUsername() const {
+  return username_;
+}
+
+void ExportUserDevicesRequest::setUsername(const std::string &username) {
+  username_ = username;
+  setBodyParameter(std::string("Username"), username);
+}
+

+ 51 - 0
csas/src/model/ExportUserDevicesResult.cc

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