sdk-team преди 5 години
родител
ревизия
e941e2f1df
променени са 36 файла, в които са добавени 3146 реда и са изтрити 0 реда
  1. 3 0
      CHANGELOG
  2. 32 0
      cdrs/CMakeLists.txt
  3. 64 0
      cdrs/include/alibabacloud/cdrs/CDRSClient.h
  4. 78 0
      cdrs/include/alibabacloud/cdrs/model/AddCdrsMonitorRequest.h
  5. 59 0
      cdrs/include/alibabacloud/cdrs/model/AddCdrsMonitorResult.h
  6. 54 0
      cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorListRequest.h
  7. 81 0
      cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorListResult.h
  8. 63 0
      cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorResultRequest.h
  9. 73 0
      cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorResultResult.h
  10. 72 0
      cdrs/include/alibabacloud/cdrs/model/ListCorpMetricsRequest.h
  11. 75 0
      cdrs/include/alibabacloud/cdrs/model/ListCorpMetricsResult.h
  12. 66 0
      cdrs/include/alibabacloud/cdrs/model/ListMetricsRequest.h
  13. 68 0
      cdrs/include/alibabacloud/cdrs/model/ListMetricsResult.h
  14. 66 0
      cdrs/include/alibabacloud/cdrs/model/ListPersonTraceRequest.h
  15. 77 0
      cdrs/include/alibabacloud/cdrs/model/ListPersonTraceResult.h
  16. 54 0
      cdrs/include/alibabacloud/cdrs/model/StopCdrsMonitorRequest.h
  17. 55 0
      cdrs/include/alibabacloud/cdrs/model/StopCdrsMonitorResult.h
  18. 99 0
      cdrs/include/alibabacloud/cdrs/model/UpdateCdrsMonitorRequest.h
  19. 55 0
      cdrs/include/alibabacloud/cdrs/model/UpdateCdrsMonitorResult.h
  20. 288 0
      cdrs/src/CDRSClient.cc
  21. 150 0
      cdrs/src/model/AddCdrsMonitorRequest.cc
  22. 66 0
      cdrs/src/model/AddCdrsMonitorResult.cc
  23. 62 0
      cdrs/src/model/GetCdrsMonitorListRequest.cc
  24. 108 0
      cdrs/src/model/GetCdrsMonitorListResult.cc
  25. 95 0
      cdrs/src/model/GetCdrsMonitorResultRequest.cc
  26. 92 0
      cdrs/src/model/GetCdrsMonitorResultResult.cc
  27. 128 0
      cdrs/src/model/ListCorpMetricsRequest.cc
  28. 115 0
      cdrs/src/model/ListCorpMetricsResult.cc
  29. 106 0
      cdrs/src/model/ListMetricsRequest.cc
  30. 98 0
      cdrs/src/model/ListMetricsResult.cc
  31. 106 0
      cdrs/src/model/ListPersonTraceRequest.cc
  32. 119 0
      cdrs/src/model/ListPersonTraceResult.cc
  33. 62 0
      cdrs/src/model/StopCdrsMonitorRequest.cc
  34. 65 0
      cdrs/src/model/StopCdrsMonitorResult.cc
  35. 227 0
      cdrs/src/model/UpdateCdrsMonitorRequest.cc
  36. 65 0
      cdrs/src/model/UpdateCdrsMonitorResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-01-06 Version: patch
+- Add API.
+
 2021-01-05 Version: patch
 - Remove legacy APIs.
 

+ 32 - 0
cdrs/CMakeLists.txt

@@ -21,10 +21,16 @@ set(cdrs_public_header
 	include/alibabacloud/cdrs/CDRSExport.h )
 
 set(cdrs_public_header_model 
+	include/alibabacloud/cdrs/model/AddCdrsMonitorRequest.h
+	include/alibabacloud/cdrs/model/AddCdrsMonitorResult.h
 	include/alibabacloud/cdrs/model/BindDeviceRequest.h
 	include/alibabacloud/cdrs/model/BindDeviceResult.h
 	include/alibabacloud/cdrs/model/CreateProjectRequest.h
 	include/alibabacloud/cdrs/model/CreateProjectResult.h
+	include/alibabacloud/cdrs/model/GetCdrsMonitorListRequest.h
+	include/alibabacloud/cdrs/model/GetCdrsMonitorListResult.h
+	include/alibabacloud/cdrs/model/GetCdrsMonitorResultRequest.h
+	include/alibabacloud/cdrs/model/GetCdrsMonitorResultResult.h
 	include/alibabacloud/cdrs/model/ListCityMapAoisRequest.h
 	include/alibabacloud/cdrs/model/ListCityMapAoisResult.h
 	include/alibabacloud/cdrs/model/ListCityMapCameraResultsRequest.h
@@ -37,6 +43,8 @@ set(cdrs_public_header_model
 	include/alibabacloud/cdrs/model/ListCityMapPersonFlowResult.h
 	include/alibabacloud/cdrs/model/ListCityMapRangeStatisticRequest.h
 	include/alibabacloud/cdrs/model/ListCityMapRangeStatisticResult.h
+	include/alibabacloud/cdrs/model/ListCorpMetricsRequest.h
+	include/alibabacloud/cdrs/model/ListCorpMetricsResult.h
 	include/alibabacloud/cdrs/model/ListDataStatisticsRequest.h
 	include/alibabacloud/cdrs/model/ListDataStatisticsResult.h
 	include/alibabacloud/cdrs/model/ListDataStatisticsByDayRequest.h
@@ -51,6 +59,8 @@ set(cdrs_public_header_model
 	include/alibabacloud/cdrs/model/ListDevicePersonStatisticsResult.h
 	include/alibabacloud/cdrs/model/ListMapRouteDetailsRequest.h
 	include/alibabacloud/cdrs/model/ListMapRouteDetailsResult.h
+	include/alibabacloud/cdrs/model/ListMetricsRequest.h
+	include/alibabacloud/cdrs/model/ListMetricsResult.h
 	include/alibabacloud/cdrs/model/ListPersonDetailsRequest.h
 	include/alibabacloud/cdrs/model/ListPersonDetailsResult.h
 	include/alibabacloud/cdrs/model/ListPersonResultRequest.h
@@ -59,6 +69,8 @@ set(cdrs_public_header_model
 	include/alibabacloud/cdrs/model/ListPersonTagResult.h
 	include/alibabacloud/cdrs/model/ListPersonTopRequest.h
 	include/alibabacloud/cdrs/model/ListPersonTopResult.h
+	include/alibabacloud/cdrs/model/ListPersonTraceRequest.h
+	include/alibabacloud/cdrs/model/ListPersonTraceResult.h
 	include/alibabacloud/cdrs/model/ListPersonTrackRequest.h
 	include/alibabacloud/cdrs/model/ListPersonTrackResult.h
 	include/alibabacloud/cdrs/model/ListRangeDeviceRequest.h
@@ -81,17 +93,27 @@ set(cdrs_public_header_model
 	include/alibabacloud/cdrs/model/RecognizeImageResult.h
 	include/alibabacloud/cdrs/model/SearchObjectRequest.h
 	include/alibabacloud/cdrs/model/SearchObjectResult.h
+	include/alibabacloud/cdrs/model/StopCdrsMonitorRequest.h
+	include/alibabacloud/cdrs/model/StopCdrsMonitorResult.h
 	include/alibabacloud/cdrs/model/UnbindDeviceRequest.h
 	include/alibabacloud/cdrs/model/UnbindDeviceResult.h
+	include/alibabacloud/cdrs/model/UpdateCdrsMonitorRequest.h
+	include/alibabacloud/cdrs/model/UpdateCdrsMonitorResult.h
 	include/alibabacloud/cdrs/model/UpdateProjectRequest.h
 	include/alibabacloud/cdrs/model/UpdateProjectResult.h )
 
 set(cdrs_src 
 	src/CDRSClient.cc
+	src/model/AddCdrsMonitorRequest.cc
+	src/model/AddCdrsMonitorResult.cc
 	src/model/BindDeviceRequest.cc
 	src/model/BindDeviceResult.cc
 	src/model/CreateProjectRequest.cc
 	src/model/CreateProjectResult.cc
+	src/model/GetCdrsMonitorListRequest.cc
+	src/model/GetCdrsMonitorListResult.cc
+	src/model/GetCdrsMonitorResultRequest.cc
+	src/model/GetCdrsMonitorResultResult.cc
 	src/model/ListCityMapAoisRequest.cc
 	src/model/ListCityMapAoisResult.cc
 	src/model/ListCityMapCameraResultsRequest.cc
@@ -104,6 +126,8 @@ set(cdrs_src
 	src/model/ListCityMapPersonFlowResult.cc
 	src/model/ListCityMapRangeStatisticRequest.cc
 	src/model/ListCityMapRangeStatisticResult.cc
+	src/model/ListCorpMetricsRequest.cc
+	src/model/ListCorpMetricsResult.cc
 	src/model/ListDataStatisticsRequest.cc
 	src/model/ListDataStatisticsResult.cc
 	src/model/ListDataStatisticsByDayRequest.cc
@@ -118,6 +142,8 @@ set(cdrs_src
 	src/model/ListDevicePersonStatisticsResult.cc
 	src/model/ListMapRouteDetailsRequest.cc
 	src/model/ListMapRouteDetailsResult.cc
+	src/model/ListMetricsRequest.cc
+	src/model/ListMetricsResult.cc
 	src/model/ListPersonDetailsRequest.cc
 	src/model/ListPersonDetailsResult.cc
 	src/model/ListPersonResultRequest.cc
@@ -126,6 +152,8 @@ set(cdrs_src
 	src/model/ListPersonTagResult.cc
 	src/model/ListPersonTopRequest.cc
 	src/model/ListPersonTopResult.cc
+	src/model/ListPersonTraceRequest.cc
+	src/model/ListPersonTraceResult.cc
 	src/model/ListPersonTrackRequest.cc
 	src/model/ListPersonTrackResult.cc
 	src/model/ListRangeDeviceRequest.cc
@@ -148,8 +176,12 @@ set(cdrs_src
 	src/model/RecognizeImageResult.cc
 	src/model/SearchObjectRequest.cc
 	src/model/SearchObjectResult.cc
+	src/model/StopCdrsMonitorRequest.cc
+	src/model/StopCdrsMonitorResult.cc
 	src/model/UnbindDeviceRequest.cc
 	src/model/UnbindDeviceResult.cc
+	src/model/UpdateCdrsMonitorRequest.cc
+	src/model/UpdateCdrsMonitorResult.cc
 	src/model/UpdateProjectRequest.cc
 	src/model/UpdateProjectResult.cc )
 

+ 64 - 0
cdrs/include/alibabacloud/cdrs/CDRSClient.h

@@ -22,10 +22,16 @@
 #include <alibabacloud/core/EndpointProvider.h>
 #include <alibabacloud/core/RpcServiceClient.h>
 #include "CDRSExport.h"
+#include "model/AddCdrsMonitorRequest.h"
+#include "model/AddCdrsMonitorResult.h"
 #include "model/BindDeviceRequest.h"
 #include "model/BindDeviceResult.h"
 #include "model/CreateProjectRequest.h"
 #include "model/CreateProjectResult.h"
+#include "model/GetCdrsMonitorListRequest.h"
+#include "model/GetCdrsMonitorListResult.h"
+#include "model/GetCdrsMonitorResultRequest.h"
+#include "model/GetCdrsMonitorResultResult.h"
 #include "model/ListCityMapAoisRequest.h"
 #include "model/ListCityMapAoisResult.h"
 #include "model/ListCityMapCameraResultsRequest.h"
@@ -38,6 +44,8 @@
 #include "model/ListCityMapPersonFlowResult.h"
 #include "model/ListCityMapRangeStatisticRequest.h"
 #include "model/ListCityMapRangeStatisticResult.h"
+#include "model/ListCorpMetricsRequest.h"
+#include "model/ListCorpMetricsResult.h"
 #include "model/ListDataStatisticsRequest.h"
 #include "model/ListDataStatisticsResult.h"
 #include "model/ListDataStatisticsByDayRequest.h"
@@ -52,6 +60,8 @@
 #include "model/ListDevicePersonStatisticsResult.h"
 #include "model/ListMapRouteDetailsRequest.h"
 #include "model/ListMapRouteDetailsResult.h"
+#include "model/ListMetricsRequest.h"
+#include "model/ListMetricsResult.h"
 #include "model/ListPersonDetailsRequest.h"
 #include "model/ListPersonDetailsResult.h"
 #include "model/ListPersonResultRequest.h"
@@ -60,6 +70,8 @@
 #include "model/ListPersonTagResult.h"
 #include "model/ListPersonTopRequest.h"
 #include "model/ListPersonTopResult.h"
+#include "model/ListPersonTraceRequest.h"
+#include "model/ListPersonTraceResult.h"
 #include "model/ListPersonTrackRequest.h"
 #include "model/ListPersonTrackResult.h"
 #include "model/ListRangeDeviceRequest.h"
@@ -82,8 +94,12 @@
 #include "model/RecognizeImageResult.h"
 #include "model/SearchObjectRequest.h"
 #include "model/SearchObjectResult.h"
+#include "model/StopCdrsMonitorRequest.h"
+#include "model/StopCdrsMonitorResult.h"
 #include "model/UnbindDeviceRequest.h"
 #include "model/UnbindDeviceResult.h"
+#include "model/UpdateCdrsMonitorRequest.h"
+#include "model/UpdateCdrsMonitorResult.h"
 #include "model/UpdateProjectRequest.h"
 #include "model/UpdateProjectResult.h"
 
@@ -95,12 +111,21 @@ namespace AlibabaCloud
 		class ALIBABACLOUD_CDRS_EXPORT CDRSClient : public RpcServiceClient
 		{
 		public:
+			typedef Outcome<Error, Model::AddCdrsMonitorResult> AddCdrsMonitorOutcome;
+			typedef std::future<AddCdrsMonitorOutcome> AddCdrsMonitorOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::AddCdrsMonitorRequest&, const AddCdrsMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddCdrsMonitorAsyncHandler;
 			typedef Outcome<Error, Model::BindDeviceResult> BindDeviceOutcome;
 			typedef std::future<BindDeviceOutcome> BindDeviceOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::BindDeviceRequest&, const BindDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindDeviceAsyncHandler;
 			typedef Outcome<Error, Model::CreateProjectResult> CreateProjectOutcome;
 			typedef std::future<CreateProjectOutcome> CreateProjectOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::CreateProjectRequest&, const CreateProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateProjectAsyncHandler;
+			typedef Outcome<Error, Model::GetCdrsMonitorListResult> GetCdrsMonitorListOutcome;
+			typedef std::future<GetCdrsMonitorListOutcome> GetCdrsMonitorListOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::GetCdrsMonitorListRequest&, const GetCdrsMonitorListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCdrsMonitorListAsyncHandler;
+			typedef Outcome<Error, Model::GetCdrsMonitorResultResult> GetCdrsMonitorResultOutcome;
+			typedef std::future<GetCdrsMonitorResultOutcome> GetCdrsMonitorResultOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::GetCdrsMonitorResultRequest&, const GetCdrsMonitorResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCdrsMonitorResultAsyncHandler;
 			typedef Outcome<Error, Model::ListCityMapAoisResult> ListCityMapAoisOutcome;
 			typedef std::future<ListCityMapAoisOutcome> ListCityMapAoisOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListCityMapAoisRequest&, const ListCityMapAoisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCityMapAoisAsyncHandler;
@@ -119,6 +144,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListCityMapRangeStatisticResult> ListCityMapRangeStatisticOutcome;
 			typedef std::future<ListCityMapRangeStatisticOutcome> ListCityMapRangeStatisticOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListCityMapRangeStatisticRequest&, const ListCityMapRangeStatisticOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCityMapRangeStatisticAsyncHandler;
+			typedef Outcome<Error, Model::ListCorpMetricsResult> ListCorpMetricsOutcome;
+			typedef std::future<ListCorpMetricsOutcome> ListCorpMetricsOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::ListCorpMetricsRequest&, const ListCorpMetricsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpMetricsAsyncHandler;
 			typedef Outcome<Error, Model::ListDataStatisticsResult> ListDataStatisticsOutcome;
 			typedef std::future<ListDataStatisticsOutcome> ListDataStatisticsOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListDataStatisticsRequest&, const ListDataStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDataStatisticsAsyncHandler;
@@ -140,6 +168,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListMapRouteDetailsResult> ListMapRouteDetailsOutcome;
 			typedef std::future<ListMapRouteDetailsOutcome> ListMapRouteDetailsOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListMapRouteDetailsRequest&, const ListMapRouteDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMapRouteDetailsAsyncHandler;
+			typedef Outcome<Error, Model::ListMetricsResult> ListMetricsOutcome;
+			typedef std::future<ListMetricsOutcome> ListMetricsOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::ListMetricsRequest&, const ListMetricsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMetricsAsyncHandler;
 			typedef Outcome<Error, Model::ListPersonDetailsResult> ListPersonDetailsOutcome;
 			typedef std::future<ListPersonDetailsOutcome> ListPersonDetailsOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListPersonDetailsRequest&, const ListPersonDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonDetailsAsyncHandler;
@@ -152,6 +183,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListPersonTopResult> ListPersonTopOutcome;
 			typedef std::future<ListPersonTopOutcome> ListPersonTopOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListPersonTopRequest&, const ListPersonTopOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonTopAsyncHandler;
+			typedef Outcome<Error, Model::ListPersonTraceResult> ListPersonTraceOutcome;
+			typedef std::future<ListPersonTraceOutcome> ListPersonTraceOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::ListPersonTraceRequest&, const ListPersonTraceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonTraceAsyncHandler;
 			typedef Outcome<Error, Model::ListPersonTrackResult> ListPersonTrackOutcome;
 			typedef std::future<ListPersonTrackOutcome> ListPersonTrackOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::ListPersonTrackRequest&, const ListPersonTrackOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonTrackAsyncHandler;
@@ -185,9 +219,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SearchObjectResult> SearchObjectOutcome;
 			typedef std::future<SearchObjectOutcome> SearchObjectOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::SearchObjectRequest&, const SearchObjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchObjectAsyncHandler;
+			typedef Outcome<Error, Model::StopCdrsMonitorResult> StopCdrsMonitorOutcome;
+			typedef std::future<StopCdrsMonitorOutcome> StopCdrsMonitorOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::StopCdrsMonitorRequest&, const StopCdrsMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopCdrsMonitorAsyncHandler;
 			typedef Outcome<Error, Model::UnbindDeviceResult> UnbindDeviceOutcome;
 			typedef std::future<UnbindDeviceOutcome> UnbindDeviceOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::UnbindDeviceRequest&, const UnbindDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindDeviceAsyncHandler;
+			typedef Outcome<Error, Model::UpdateCdrsMonitorResult> UpdateCdrsMonitorOutcome;
+			typedef std::future<UpdateCdrsMonitorOutcome> UpdateCdrsMonitorOutcomeCallable;
+			typedef std::function<void(const CDRSClient*, const Model::UpdateCdrsMonitorRequest&, const UpdateCdrsMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCdrsMonitorAsyncHandler;
 			typedef Outcome<Error, Model::UpdateProjectResult> UpdateProjectOutcome;
 			typedef std::future<UpdateProjectOutcome> UpdateProjectOutcomeCallable;
 			typedef std::function<void(const CDRSClient*, const Model::UpdateProjectRequest&, const UpdateProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProjectAsyncHandler;
@@ -196,12 +236,21 @@ namespace AlibabaCloud
 			CDRSClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			CDRSClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			~CDRSClient();
+			AddCdrsMonitorOutcome addCdrsMonitor(const Model::AddCdrsMonitorRequest &request)const;
+			void addCdrsMonitorAsync(const Model::AddCdrsMonitorRequest& request, const AddCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddCdrsMonitorOutcomeCallable addCdrsMonitorCallable(const Model::AddCdrsMonitorRequest& request) const;
 			BindDeviceOutcome bindDevice(const Model::BindDeviceRequest &request)const;
 			void bindDeviceAsync(const Model::BindDeviceRequest& request, const BindDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BindDeviceOutcomeCallable bindDeviceCallable(const Model::BindDeviceRequest& request) const;
 			CreateProjectOutcome createProject(const Model::CreateProjectRequest &request)const;
 			void createProjectAsync(const Model::CreateProjectRequest& request, const CreateProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateProjectOutcomeCallable createProjectCallable(const Model::CreateProjectRequest& request) const;
+			GetCdrsMonitorListOutcome getCdrsMonitorList(const Model::GetCdrsMonitorListRequest &request)const;
+			void getCdrsMonitorListAsync(const Model::GetCdrsMonitorListRequest& request, const GetCdrsMonitorListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCdrsMonitorListOutcomeCallable getCdrsMonitorListCallable(const Model::GetCdrsMonitorListRequest& request) const;
+			GetCdrsMonitorResultOutcome getCdrsMonitorResult(const Model::GetCdrsMonitorResultRequest &request)const;
+			void getCdrsMonitorResultAsync(const Model::GetCdrsMonitorResultRequest& request, const GetCdrsMonitorResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCdrsMonitorResultOutcomeCallable getCdrsMonitorResultCallable(const Model::GetCdrsMonitorResultRequest& request) const;
 			ListCityMapAoisOutcome listCityMapAois(const Model::ListCityMapAoisRequest &request)const;
 			void listCityMapAoisAsync(const Model::ListCityMapAoisRequest& request, const ListCityMapAoisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListCityMapAoisOutcomeCallable listCityMapAoisCallable(const Model::ListCityMapAoisRequest& request) const;
@@ -220,6 +269,9 @@ namespace AlibabaCloud
 			ListCityMapRangeStatisticOutcome listCityMapRangeStatistic(const Model::ListCityMapRangeStatisticRequest &request)const;
 			void listCityMapRangeStatisticAsync(const Model::ListCityMapRangeStatisticRequest& request, const ListCityMapRangeStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListCityMapRangeStatisticOutcomeCallable listCityMapRangeStatisticCallable(const Model::ListCityMapRangeStatisticRequest& request) const;
+			ListCorpMetricsOutcome listCorpMetrics(const Model::ListCorpMetricsRequest &request)const;
+			void listCorpMetricsAsync(const Model::ListCorpMetricsRequest& request, const ListCorpMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCorpMetricsOutcomeCallable listCorpMetricsCallable(const Model::ListCorpMetricsRequest& request) const;
 			ListDataStatisticsOutcome listDataStatistics(const Model::ListDataStatisticsRequest &request)const;
 			void listDataStatisticsAsync(const Model::ListDataStatisticsRequest& request, const ListDataStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListDataStatisticsOutcomeCallable listDataStatisticsCallable(const Model::ListDataStatisticsRequest& request) const;
@@ -241,6 +293,9 @@ namespace AlibabaCloud
 			ListMapRouteDetailsOutcome listMapRouteDetails(const Model::ListMapRouteDetailsRequest &request)const;
 			void listMapRouteDetailsAsync(const Model::ListMapRouteDetailsRequest& request, const ListMapRouteDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMapRouteDetailsOutcomeCallable listMapRouteDetailsCallable(const Model::ListMapRouteDetailsRequest& request) const;
+			ListMetricsOutcome listMetrics(const Model::ListMetricsRequest &request)const;
+			void listMetricsAsync(const Model::ListMetricsRequest& request, const ListMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListMetricsOutcomeCallable listMetricsCallable(const Model::ListMetricsRequest& request) const;
 			ListPersonDetailsOutcome listPersonDetails(const Model::ListPersonDetailsRequest &request)const;
 			void listPersonDetailsAsync(const Model::ListPersonDetailsRequest& request, const ListPersonDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPersonDetailsOutcomeCallable listPersonDetailsCallable(const Model::ListPersonDetailsRequest& request) const;
@@ -253,6 +308,9 @@ namespace AlibabaCloud
 			ListPersonTopOutcome listPersonTop(const Model::ListPersonTopRequest &request)const;
 			void listPersonTopAsync(const Model::ListPersonTopRequest& request, const ListPersonTopAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPersonTopOutcomeCallable listPersonTopCallable(const Model::ListPersonTopRequest& request) const;
+			ListPersonTraceOutcome listPersonTrace(const Model::ListPersonTraceRequest &request)const;
+			void listPersonTraceAsync(const Model::ListPersonTraceRequest& request, const ListPersonTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPersonTraceOutcomeCallable listPersonTraceCallable(const Model::ListPersonTraceRequest& request) const;
 			ListPersonTrackOutcome listPersonTrack(const Model::ListPersonTrackRequest &request)const;
 			void listPersonTrackAsync(const Model::ListPersonTrackRequest& request, const ListPersonTrackAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPersonTrackOutcomeCallable listPersonTrackCallable(const Model::ListPersonTrackRequest& request) const;
@@ -286,9 +344,15 @@ namespace AlibabaCloud
 			SearchObjectOutcome searchObject(const Model::SearchObjectRequest &request)const;
 			void searchObjectAsync(const Model::SearchObjectRequest& request, const SearchObjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SearchObjectOutcomeCallable searchObjectCallable(const Model::SearchObjectRequest& request) const;
+			StopCdrsMonitorOutcome stopCdrsMonitor(const Model::StopCdrsMonitorRequest &request)const;
+			void stopCdrsMonitorAsync(const Model::StopCdrsMonitorRequest& request, const StopCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopCdrsMonitorOutcomeCallable stopCdrsMonitorCallable(const Model::StopCdrsMonitorRequest& request) const;
 			UnbindDeviceOutcome unbindDevice(const Model::UnbindDeviceRequest &request)const;
 			void unbindDeviceAsync(const Model::UnbindDeviceRequest& request, const UnbindDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindDeviceOutcomeCallable unbindDeviceCallable(const Model::UnbindDeviceRequest& request) const;
+			UpdateCdrsMonitorOutcome updateCdrsMonitor(const Model::UpdateCdrsMonitorRequest &request)const;
+			void updateCdrsMonitorAsync(const Model::UpdateCdrsMonitorRequest& request, const UpdateCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateCdrsMonitorOutcomeCallable updateCdrsMonitorCallable(const Model::UpdateCdrsMonitorRequest& request) const;
 			UpdateProjectOutcome updateProject(const Model::UpdateProjectRequest &request)const;
 			void updateProjectAsync(const Model::UpdateProjectRequest& request, const UpdateProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateProjectOutcomeCallable updateProjectCallable(const Model::UpdateProjectRequest& request) const;

+ 78 - 0
cdrs/include/alibabacloud/cdrs/model/AddCdrsMonitorRequest.h

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_ADDCDRSMONITORREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_ADDCDRSMONITORREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT AddCdrsMonitorRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddCdrsMonitorRequest();
+				~AddCdrsMonitorRequest();
+
+				std::string getMonitorType()const;
+				void setMonitorType(const std::string& monitorType);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getNotifierAppSecret()const;
+				void setNotifierAppSecret(const std::string& notifierAppSecret);
+				std::string getNotifierExtendValues()const;
+				void setNotifierExtendValues(const std::string& notifierExtendValues);
+				std::string getNotifierUrl()const;
+				void setNotifierUrl(const std::string& notifierUrl);
+				std::string getNotifierType()const;
+				void setNotifierType(const std::string& notifierType);
+				int getBatchIndicator()const;
+				void setBatchIndicator(int batchIndicator);
+				std::string getBizId()const;
+				void setBizId(const std::string& bizId);
+				int getNotifierTimeOut()const;
+				void setNotifierTimeOut(int notifierTimeOut);
+				std::string getAlgorithmVendor()const;
+				void setAlgorithmVendor(const std::string& algorithmVendor);
+
+            private:
+				std::string monitorType_;
+				std::string corpId_;
+				std::string description_;
+				std::string notifierAppSecret_;
+				std::string notifierExtendValues_;
+				std::string notifierUrl_;
+				std::string notifierType_;
+				int batchIndicator_;
+				std::string bizId_;
+				int notifierTimeOut_;
+				std::string algorithmVendor_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_ADDCDRSMONITORREQUEST_H_

+ 59 - 0
cdrs/include/alibabacloud/cdrs/model/AddCdrsMonitorResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_CDRS_MODEL_ADDCDRSMONITORRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_ADDCDRSMONITORRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT AddCdrsMonitorResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string taskId;
+				};
+
+
+				AddCdrsMonitorResult();
+				explicit AddCdrsMonitorResult(const std::string &payload);
+				~AddCdrsMonitorResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_ADDCDRSMONITORRESULT_H_

+ 54 - 0
cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorListRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT GetCdrsMonitorListRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetCdrsMonitorListRequest();
+				~GetCdrsMonitorListRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				int getPageNo()const;
+				void setPageNo(int pageNo);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string corpId_;
+				int pageNo_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTREQUEST_H_

+ 81 - 0
cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorListResult.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT GetCdrsMonitorListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Record
+					{
+						std::string status;
+						std::string taskId;
+						std::string description;
+						std::string monitorType;
+						std::string imageMatch;
+						std::string attributes;
+						std::string deviceList;
+						std::string modifiedDate;
+						std::string createDate;
+						std::string notifierType;
+						std::string ruleExpression;
+						std::string algorithmVendor;
+						std::string expression;
+						std::string ruleName;
+						std::string notifierExtra;
+					};
+					int totalCount;
+					int pageSize;
+					int totalPage;
+					int pageNo;
+					std::vector<Record> records;
+				};
+
+
+				GetCdrsMonitorListResult();
+				explicit GetCdrsMonitorListResult(const std::string &payload);
+				~GetCdrsMonitorListResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORLISTRESULT_H_

+ 63 - 0
cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorResultRequest.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_CDRS_MODEL_GETCDRSMONITORRESULTREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORRESULTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT GetCdrsMonitorResultRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetCdrsMonitorResultRequest();
+				~GetCdrsMonitorResultRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getAlgorithmVendor()const;
+				void setAlgorithmVendor(const std::string& algorithmVendor);
+				std::string getMinRecordId()const;
+				void setMinRecordId(const std::string& minRecordId);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+
+            private:
+				std::string corpId_;
+				long endTime_;
+				long startTime_;
+				std::string algorithmVendor_;
+				std::string minRecordId_;
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORRESULTREQUEST_H_

+ 73 - 0
cdrs/include/alibabacloud/cdrs/model/GetCdrsMonitorResultResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORRESULTRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORRESULTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT GetCdrsMonitorResultResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						std::string leftUpX;
+						std::string leftUpY;
+						std::string score;
+						std::string targetPicUrl;
+						std::string rightBottomX;
+						std::string rightBottomY;
+						std::string gbId;
+						std::string monitorPicUrl;
+						std::string shotTime;
+						std::string picUrl;
+					};
+					std::string maxId;
+					std::vector<RecordsItem> records;
+				};
+
+
+				GetCdrsMonitorResultResult();
+				explicit GetCdrsMonitorResultResult(const std::string &payload);
+				~GetCdrsMonitorResultResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_GETCDRSMONITORRESULTRESULT_H_

+ 72 - 0
cdrs/include/alibabacloud/cdrs/model/ListCorpMetricsRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_LISTCORPMETRICSREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTCORPMETRICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListCorpMetricsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListCorpMetricsRequest();
+				~ListCorpMetricsRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getDeviceGroupList()const;
+				void setDeviceGroupList(const std::string& deviceGroupList);
+				std::string getTagCode()const;
+				void setTagCode(const std::string& tagCode);
+				std::string getUserGroupList()const;
+				void setUserGroupList(const std::string& userGroupList);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getDeviceIdList()const;
+				void setDeviceIdList(const std::string& deviceIdList);
+
+            private:
+				std::string corpId_;
+				std::string endTime_;
+				std::string startTime_;
+				long pageNumber_;
+				std::string deviceGroupList_;
+				std::string tagCode_;
+				std::string userGroupList_;
+				long pageSize_;
+				std::string deviceIdList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTCORPMETRICSREQUEST_H_

+ 75 - 0
cdrs/include/alibabacloud/cdrs/model/ListCorpMetricsResult.h

@@ -0,0 +1,75 @@
+/*
+ * 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_CDRS_MODEL_LISTCORPMETRICSRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTCORPMETRICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListCorpMetricsResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					std::string corpId;
+					std::string personId;
+					std::string deviceGroupId;
+					std::string deviceId;
+					std::string userGroupId;
+					std::string tagMetrics;
+					std::string tagCode;
+					std::string tagValue;
+					std::string dateId;
+				};
+
+
+				ListCorpMetricsResult();
+				explicit ListCorpMetricsResult(const std::string &payload);
+				~ListCorpMetricsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				std::string getMessage()const;
+				int getPageNumber()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				std::string message_;
+				int pageNumber_;
+				std::vector<DataItem> data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTCORPMETRICSRESULT_H_

+ 66 - 0
cdrs/include/alibabacloud/cdrs/model/ListMetricsRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_LISTMETRICSREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTMETRICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListMetricsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListMetricsRequest();
+				~ListMetricsRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getTagCode()const;
+				void setTagCode(const std::string& tagCode);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+				std::string getAggregateType()const;
+				void setAggregateType(const std::string& aggregateType);
+
+            private:
+				std::string corpId_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string tagCode_;
+				std::string pageSize_;
+				std::string aggregateType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTMETRICSREQUEST_H_

+ 68 - 0
cdrs/include/alibabacloud/cdrs/model/ListMetricsResult.h

@@ -0,0 +1,68 @@
+/*
+ * 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_CDRS_MODEL_LISTMETRICSRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTMETRICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListMetricsResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					std::string tagCode;
+					std::string dateTime1;
+					std::string tagValue;
+					std::string dateTime;
+				};
+
+
+				ListMetricsResult();
+				explicit ListMetricsResult(const std::string &payload);
+				~ListMetricsResult();
+				std::string getTotalCount()const;
+				std::string getMessage()const;
+				std::string getPageSize()const;
+				std::string getPageNumber()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string totalCount_;
+				std::string message_;
+				std::string pageSize_;
+				std::string pageNumber_;
+				std::vector<DataItem> data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTMETRICSRESULT_H_

+ 66 - 0
cdrs/include/alibabacloud/cdrs/model/ListPersonTraceRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_LISTPERSONTRACEREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTPERSONTRACEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListPersonTraceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListPersonTraceRequest();
+				~ListPersonTraceRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+				std::string getDataSourceId()const;
+				void setDataSourceId(const std::string& dataSourceId);
+				std::string getPersonId()const;
+				void setPersonId(const std::string& personId);
+
+            private:
+				std::string corpId_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string pageSize_;
+				std::string dataSourceId_;
+				std::string personId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTPERSONTRACEREQUEST_H_

+ 77 - 0
cdrs/include/alibabacloud/cdrs/model/ListPersonTraceResult.h

@@ -0,0 +1,77 @@
+/*
+ * 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_CDRS_MODEL_LISTPERSONTRACERESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_LISTPERSONTRACERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT ListPersonTraceResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					std::string startTargetImage;
+					std::string startSourceImage;
+					std::string corpId;
+					std::string personId;
+					std::string deviceId;
+					std::string endTargetImage;
+					std::string startTime;
+					std::string endSourceImage;
+					std::string date;
+					std::string lastTime;
+					std::string groupId;
+				};
+
+
+				ListPersonTraceResult();
+				explicit ListPersonTraceResult(const std::string &payload);
+				~ListPersonTraceResult();
+				int getTotalCount()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<DataItem> data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_LISTPERSONTRACERESULT_H_

+ 54 - 0
cdrs/include/alibabacloud/cdrs/model/StopCdrsMonitorRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_STOPCDRSMONITORREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_STOPCDRSMONITORREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT StopCdrsMonitorRequest : public RpcServiceRequest
+			{
+
+			public:
+				StopCdrsMonitorRequest();
+				~StopCdrsMonitorRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getAlgorithmVendor()const;
+				void setAlgorithmVendor(const std::string& algorithmVendor);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+
+            private:
+				std::string corpId_;
+				std::string algorithmVendor_;
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_STOPCDRSMONITORREQUEST_H_

+ 55 - 0
cdrs/include/alibabacloud/cdrs/model/StopCdrsMonitorResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_CDRS_MODEL_STOPCDRSMONITORRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_STOPCDRSMONITORRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT StopCdrsMonitorResult : public ServiceResult
+			{
+			public:
+
+
+				StopCdrsMonitorResult();
+				explicit StopCdrsMonitorResult(const std::string &payload);
+				~StopCdrsMonitorResult();
+				std::string getMessage()const;
+				std::string getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_STOPCDRSMONITORRESULT_H_

+ 99 - 0
cdrs/include/alibabacloud/cdrs/model/UpdateCdrsMonitorRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_CDRS_MODEL_UPDATECDRSMONITORREQUEST_H_
+#define ALIBABACLOUD_CDRS_MODEL_UPDATECDRSMONITORREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT UpdateCdrsMonitorRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateCdrsMonitorRequest();
+				~UpdateCdrsMonitorRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getRuleName()const;
+				void setRuleName(const std::string& ruleName);
+				std::string getPicOperateType()const;
+				void setPicOperateType(const std::string& picOperateType);
+				std::string getAttributeName()const;
+				void setAttributeName(const std::string& attributeName);
+				std::string getAttributeOperateType()const;
+				void setAttributeOperateType(const std::string& attributeOperateType);
+				std::string getRuleExpression()const;
+				void setRuleExpression(const std::string& ruleExpression);
+				int getNotifierTimeOut()const;
+				void setNotifierTimeOut(int notifierTimeOut);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+				std::string getDeviceOperateType()const;
+				void setDeviceOperateType(const std::string& deviceOperateType);
+				std::string getPicList()const;
+				void setPicList(const std::string& picList);
+				std::string getAttributeValueList()const;
+				void setAttributeValueList(const std::string& attributeValueList);
+				std::string getNotifierAppSecret()const;
+				void setNotifierAppSecret(const std::string& notifierAppSecret);
+				std::string getNotifierExtendValues()const;
+				void setNotifierExtendValues(const std::string& notifierExtendValues);
+				std::string getDeviceList()const;
+				void setDeviceList(const std::string& deviceList);
+				std::string getNotifierUrl()const;
+				void setNotifierUrl(const std::string& notifierUrl);
+				std::string getNotifierType()const;
+				void setNotifierType(const std::string& notifierType);
+				std::string getAlgorithmVendor()const;
+				void setAlgorithmVendor(const std::string& algorithmVendor);
+
+            private:
+				std::string corpId_;
+				std::string description_;
+				std::string ruleName_;
+				std::string picOperateType_;
+				std::string attributeName_;
+				std::string attributeOperateType_;
+				std::string ruleExpression_;
+				int notifierTimeOut_;
+				std::string taskId_;
+				std::string deviceOperateType_;
+				std::string picList_;
+				std::string attributeValueList_;
+				std::string notifierAppSecret_;
+				std::string notifierExtendValues_;
+				std::string deviceList_;
+				std::string notifierUrl_;
+				std::string notifierType_;
+				std::string algorithmVendor_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_UPDATECDRSMONITORREQUEST_H_

+ 55 - 0
cdrs/include/alibabacloud/cdrs/model/UpdateCdrsMonitorResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_CDRS_MODEL_UPDATECDRSMONITORRESULT_H_
+#define ALIBABACLOUD_CDRS_MODEL_UPDATECDRSMONITORRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdrs/CDRSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace CDRS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDRS_EXPORT UpdateCdrsMonitorResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateCdrsMonitorResult();
+				explicit UpdateCdrsMonitorResult(const std::string &payload);
+				~UpdateCdrsMonitorResult();
+				std::string getMessage()const;
+				std::string getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDRS_MODEL_UPDATECDRSMONITORRESULT_H_

+ 288 - 0
cdrs/src/CDRSClient.cc

@@ -51,6 +51,42 @@ CDRSClient::CDRSClient(const std::string & accessKeyId, const std::string & acce
 CDRSClient::~CDRSClient()
 {}
 
+CDRSClient::AddCdrsMonitorOutcome CDRSClient::addCdrsMonitor(const AddCdrsMonitorRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddCdrsMonitorOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddCdrsMonitorOutcome(AddCdrsMonitorResult(outcome.result()));
+	else
+		return AddCdrsMonitorOutcome(outcome.error());
+}
+
+void CDRSClient::addCdrsMonitorAsync(const AddCdrsMonitorRequest& request, const AddCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addCdrsMonitor(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::AddCdrsMonitorOutcomeCallable CDRSClient::addCdrsMonitorCallable(const AddCdrsMonitorRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddCdrsMonitorOutcome()>>(
+			[this, request]()
+			{
+			return this->addCdrsMonitor(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::BindDeviceOutcome CDRSClient::bindDevice(const BindDeviceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -123,6 +159,78 @@ CDRSClient::CreateProjectOutcomeCallable CDRSClient::createProjectCallable(const
 	return task->get_future();
 }
 
+CDRSClient::GetCdrsMonitorListOutcome CDRSClient::getCdrsMonitorList(const GetCdrsMonitorListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCdrsMonitorListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCdrsMonitorListOutcome(GetCdrsMonitorListResult(outcome.result()));
+	else
+		return GetCdrsMonitorListOutcome(outcome.error());
+}
+
+void CDRSClient::getCdrsMonitorListAsync(const GetCdrsMonitorListRequest& request, const GetCdrsMonitorListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCdrsMonitorList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::GetCdrsMonitorListOutcomeCallable CDRSClient::getCdrsMonitorListCallable(const GetCdrsMonitorListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCdrsMonitorListOutcome()>>(
+			[this, request]()
+			{
+			return this->getCdrsMonitorList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CDRSClient::GetCdrsMonitorResultOutcome CDRSClient::getCdrsMonitorResult(const GetCdrsMonitorResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCdrsMonitorResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCdrsMonitorResultOutcome(GetCdrsMonitorResultResult(outcome.result()));
+	else
+		return GetCdrsMonitorResultOutcome(outcome.error());
+}
+
+void CDRSClient::getCdrsMonitorResultAsync(const GetCdrsMonitorResultRequest& request, const GetCdrsMonitorResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCdrsMonitorResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::GetCdrsMonitorResultOutcomeCallable CDRSClient::getCdrsMonitorResultCallable(const GetCdrsMonitorResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCdrsMonitorResultOutcome()>>(
+			[this, request]()
+			{
+			return this->getCdrsMonitorResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::ListCityMapAoisOutcome CDRSClient::listCityMapAois(const ListCityMapAoisRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -339,6 +447,42 @@ CDRSClient::ListCityMapRangeStatisticOutcomeCallable CDRSClient::listCityMapRang
 	return task->get_future();
 }
 
+CDRSClient::ListCorpMetricsOutcome CDRSClient::listCorpMetrics(const ListCorpMetricsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListCorpMetricsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListCorpMetricsOutcome(ListCorpMetricsResult(outcome.result()));
+	else
+		return ListCorpMetricsOutcome(outcome.error());
+}
+
+void CDRSClient::listCorpMetricsAsync(const ListCorpMetricsRequest& request, const ListCorpMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listCorpMetrics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::ListCorpMetricsOutcomeCallable CDRSClient::listCorpMetricsCallable(const ListCorpMetricsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListCorpMetricsOutcome()>>(
+			[this, request]()
+			{
+			return this->listCorpMetrics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::ListDataStatisticsOutcome CDRSClient::listDataStatistics(const ListDataStatisticsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -591,6 +735,42 @@ CDRSClient::ListMapRouteDetailsOutcomeCallable CDRSClient::listMapRouteDetailsCa
 	return task->get_future();
 }
 
+CDRSClient::ListMetricsOutcome CDRSClient::listMetrics(const ListMetricsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListMetricsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListMetricsOutcome(ListMetricsResult(outcome.result()));
+	else
+		return ListMetricsOutcome(outcome.error());
+}
+
+void CDRSClient::listMetricsAsync(const ListMetricsRequest& request, const ListMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listMetrics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::ListMetricsOutcomeCallable CDRSClient::listMetricsCallable(const ListMetricsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListMetricsOutcome()>>(
+			[this, request]()
+			{
+			return this->listMetrics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::ListPersonDetailsOutcome CDRSClient::listPersonDetails(const ListPersonDetailsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +915,42 @@ CDRSClient::ListPersonTopOutcomeCallable CDRSClient::listPersonTopCallable(const
 	return task->get_future();
 }
 
+CDRSClient::ListPersonTraceOutcome CDRSClient::listPersonTrace(const ListPersonTraceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPersonTraceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPersonTraceOutcome(ListPersonTraceResult(outcome.result()));
+	else
+		return ListPersonTraceOutcome(outcome.error());
+}
+
+void CDRSClient::listPersonTraceAsync(const ListPersonTraceRequest& request, const ListPersonTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPersonTrace(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::ListPersonTraceOutcomeCallable CDRSClient::listPersonTraceCallable(const ListPersonTraceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPersonTraceOutcome()>>(
+			[this, request]()
+			{
+			return this->listPersonTrace(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::ListPersonTrackOutcome CDRSClient::listPersonTrack(const ListPersonTrackRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1131,6 +1347,42 @@ CDRSClient::SearchObjectOutcomeCallable CDRSClient::searchObjectCallable(const S
 	return task->get_future();
 }
 
+CDRSClient::StopCdrsMonitorOutcome CDRSClient::stopCdrsMonitor(const StopCdrsMonitorRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopCdrsMonitorOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopCdrsMonitorOutcome(StopCdrsMonitorResult(outcome.result()));
+	else
+		return StopCdrsMonitorOutcome(outcome.error());
+}
+
+void CDRSClient::stopCdrsMonitorAsync(const StopCdrsMonitorRequest& request, const StopCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopCdrsMonitor(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::StopCdrsMonitorOutcomeCallable CDRSClient::stopCdrsMonitorCallable(const StopCdrsMonitorRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopCdrsMonitorOutcome()>>(
+			[this, request]()
+			{
+			return this->stopCdrsMonitor(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::UnbindDeviceOutcome CDRSClient::unbindDevice(const UnbindDeviceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1419,42 @@ CDRSClient::UnbindDeviceOutcomeCallable CDRSClient::unbindDeviceCallable(const U
 	return task->get_future();
 }
 
+CDRSClient::UpdateCdrsMonitorOutcome CDRSClient::updateCdrsMonitor(const UpdateCdrsMonitorRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateCdrsMonitorOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateCdrsMonitorOutcome(UpdateCdrsMonitorResult(outcome.result()));
+	else
+		return UpdateCdrsMonitorOutcome(outcome.error());
+}
+
+void CDRSClient::updateCdrsMonitorAsync(const UpdateCdrsMonitorRequest& request, const UpdateCdrsMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateCdrsMonitor(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CDRSClient::UpdateCdrsMonitorOutcomeCallable CDRSClient::updateCdrsMonitorCallable(const UpdateCdrsMonitorRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateCdrsMonitorOutcome()>>(
+			[this, request]()
+			{
+			return this->updateCdrsMonitor(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CDRSClient::UpdateProjectOutcome CDRSClient::updateProject(const UpdateProjectRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 150 - 0
cdrs/src/model/AddCdrsMonitorRequest.cc

@@ -0,0 +1,150 @@
+/*
+ * 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/cdrs/model/AddCdrsMonitorRequest.h>
+
+using AlibabaCloud::CDRS::Model::AddCdrsMonitorRequest;
+
+AddCdrsMonitorRequest::AddCdrsMonitorRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "AddCdrsMonitor")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+AddCdrsMonitorRequest::~AddCdrsMonitorRequest()
+{}
+
+std::string AddCdrsMonitorRequest::getMonitorType()const
+{
+	return monitorType_;
+}
+
+void AddCdrsMonitorRequest::setMonitorType(const std::string& monitorType)
+{
+	monitorType_ = monitorType;
+	setBodyParameter("MonitorType", monitorType);
+}
+
+std::string AddCdrsMonitorRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void AddCdrsMonitorRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string AddCdrsMonitorRequest::getDescription()const
+{
+	return description_;
+}
+
+void AddCdrsMonitorRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setBodyParameter("Description", description);
+}
+
+std::string AddCdrsMonitorRequest::getNotifierAppSecret()const
+{
+	return notifierAppSecret_;
+}
+
+void AddCdrsMonitorRequest::setNotifierAppSecret(const std::string& notifierAppSecret)
+{
+	notifierAppSecret_ = notifierAppSecret;
+	setBodyParameter("NotifierAppSecret", notifierAppSecret);
+}
+
+std::string AddCdrsMonitorRequest::getNotifierExtendValues()const
+{
+	return notifierExtendValues_;
+}
+
+void AddCdrsMonitorRequest::setNotifierExtendValues(const std::string& notifierExtendValues)
+{
+	notifierExtendValues_ = notifierExtendValues;
+	setBodyParameter("NotifierExtendValues", notifierExtendValues);
+}
+
+std::string AddCdrsMonitorRequest::getNotifierUrl()const
+{
+	return notifierUrl_;
+}
+
+void AddCdrsMonitorRequest::setNotifierUrl(const std::string& notifierUrl)
+{
+	notifierUrl_ = notifierUrl;
+	setBodyParameter("NotifierUrl", notifierUrl);
+}
+
+std::string AddCdrsMonitorRequest::getNotifierType()const
+{
+	return notifierType_;
+}
+
+void AddCdrsMonitorRequest::setNotifierType(const std::string& notifierType)
+{
+	notifierType_ = notifierType;
+	setBodyParameter("NotifierType", notifierType);
+}
+
+int AddCdrsMonitorRequest::getBatchIndicator()const
+{
+	return batchIndicator_;
+}
+
+void AddCdrsMonitorRequest::setBatchIndicator(int batchIndicator)
+{
+	batchIndicator_ = batchIndicator;
+	setBodyParameter("BatchIndicator", std::to_string(batchIndicator));
+}
+
+std::string AddCdrsMonitorRequest::getBizId()const
+{
+	return bizId_;
+}
+
+void AddCdrsMonitorRequest::setBizId(const std::string& bizId)
+{
+	bizId_ = bizId;
+	setBodyParameter("BizId", bizId);
+}
+
+int AddCdrsMonitorRequest::getNotifierTimeOut()const
+{
+	return notifierTimeOut_;
+}
+
+void AddCdrsMonitorRequest::setNotifierTimeOut(int notifierTimeOut)
+{
+	notifierTimeOut_ = notifierTimeOut;
+	setBodyParameter("NotifierTimeOut", std::to_string(notifierTimeOut));
+}
+
+std::string AddCdrsMonitorRequest::getAlgorithmVendor()const
+{
+	return algorithmVendor_;
+}
+
+void AddCdrsMonitorRequest::setAlgorithmVendor(const std::string& algorithmVendor)
+{
+	algorithmVendor_ = algorithmVendor;
+	setBodyParameter("AlgorithmVendor", algorithmVendor);
+}
+

+ 66 - 0
cdrs/src/model/AddCdrsMonitorResult.cc

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

+ 62 - 0
cdrs/src/model/GetCdrsMonitorListRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdrs/model/GetCdrsMonitorListRequest.h>
+
+using AlibabaCloud::CDRS::Model::GetCdrsMonitorListRequest;
+
+GetCdrsMonitorListRequest::GetCdrsMonitorListRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "GetCdrsMonitorList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetCdrsMonitorListRequest::~GetCdrsMonitorListRequest()
+{}
+
+std::string GetCdrsMonitorListRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetCdrsMonitorListRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+int GetCdrsMonitorListRequest::getPageNo()const
+{
+	return pageNo_;
+}
+
+void GetCdrsMonitorListRequest::setPageNo(int pageNo)
+{
+	pageNo_ = pageNo;
+	setBodyParameter("PageNo", std::to_string(pageNo));
+}
+
+int GetCdrsMonitorListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void GetCdrsMonitorListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+

+ 108 - 0
cdrs/src/model/GetCdrsMonitorListResult.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/cdrs/model/GetCdrsMonitorListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+GetCdrsMonitorListResult::GetCdrsMonitorListResult() :
+	ServiceResult()
+{}
+
+GetCdrsMonitorListResult::GetCdrsMonitorListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetCdrsMonitorListResult::~GetCdrsMonitorListResult()
+{}
+
+void GetCdrsMonitorListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageNo"].isNull())
+		data_.pageNo = std::stoi(dataNode["PageNo"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	if(!dataNode["TotalPage"].isNull())
+		data_.totalPage = std::stoi(dataNode["TotalPage"].asString());
+	auto allRecordsNode = dataNode["Records"]["Record"];
+	for (auto dataNodeRecordsRecord : allRecordsNode)
+	{
+		Data::Record recordObject;
+		if(!dataNodeRecordsRecord["TaskId"].isNull())
+			recordObject.taskId = dataNodeRecordsRecord["TaskId"].asString();
+		if(!dataNodeRecordsRecord["Status"].isNull())
+			recordObject.status = dataNodeRecordsRecord["Status"].asString();
+		if(!dataNodeRecordsRecord["MonitorType"].isNull())
+			recordObject.monitorType = dataNodeRecordsRecord["MonitorType"].asString();
+		if(!dataNodeRecordsRecord["RuleName"].isNull())
+			recordObject.ruleName = dataNodeRecordsRecord["RuleName"].asString();
+		if(!dataNodeRecordsRecord["AlgorithmVendor"].isNull())
+			recordObject.algorithmVendor = dataNodeRecordsRecord["AlgorithmVendor"].asString();
+		if(!dataNodeRecordsRecord["CreateDate"].isNull())
+			recordObject.createDate = dataNodeRecordsRecord["CreateDate"].asString();
+		if(!dataNodeRecordsRecord["ModifiedDate"].isNull())
+			recordObject.modifiedDate = dataNodeRecordsRecord["ModifiedDate"].asString();
+		if(!dataNodeRecordsRecord["DeviceList"].isNull())
+			recordObject.deviceList = dataNodeRecordsRecord["DeviceList"].asString();
+		if(!dataNodeRecordsRecord["Attributes"].isNull())
+			recordObject.attributes = dataNodeRecordsRecord["Attributes"].asString();
+		if(!dataNodeRecordsRecord["RuleExpression"].isNull())
+			recordObject.ruleExpression = dataNodeRecordsRecord["RuleExpression"].asString();
+		if(!dataNodeRecordsRecord["NotifierType"].isNull())
+			recordObject.notifierType = dataNodeRecordsRecord["NotifierType"].asString();
+		if(!dataNodeRecordsRecord["NotifierExtra"].isNull())
+			recordObject.notifierExtra = dataNodeRecordsRecord["NotifierExtra"].asString();
+		if(!dataNodeRecordsRecord["Description"].isNull())
+			recordObject.description = dataNodeRecordsRecord["Description"].asString();
+		if(!dataNodeRecordsRecord["Expression"].isNull())
+			recordObject.expression = dataNodeRecordsRecord["Expression"].asString();
+		if(!dataNodeRecordsRecord["ImageMatch"].isNull())
+			recordObject.imageMatch = dataNodeRecordsRecord["ImageMatch"].asString();
+		data_.records.push_back(recordObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetCdrsMonitorListResult::getMessage()const
+{
+	return message_;
+}
+
+GetCdrsMonitorListResult::Data GetCdrsMonitorListResult::getData()const
+{
+	return data_;
+}
+
+std::string GetCdrsMonitorListResult::getCode()const
+{
+	return code_;
+}
+

+ 95 - 0
cdrs/src/model/GetCdrsMonitorResultRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/cdrs/model/GetCdrsMonitorResultRequest.h>
+
+using AlibabaCloud::CDRS::Model::GetCdrsMonitorResultRequest;
+
+GetCdrsMonitorResultRequest::GetCdrsMonitorResultRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "GetCdrsMonitorResult")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetCdrsMonitorResultRequest::~GetCdrsMonitorResultRequest()
+{}
+
+std::string GetCdrsMonitorResultRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void GetCdrsMonitorResultRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+long GetCdrsMonitorResultRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void GetCdrsMonitorResultRequest::setEndTime(long endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", std::to_string(endTime));
+}
+
+long GetCdrsMonitorResultRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void GetCdrsMonitorResultRequest::setStartTime(long startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", std::to_string(startTime));
+}
+
+std::string GetCdrsMonitorResultRequest::getAlgorithmVendor()const
+{
+	return algorithmVendor_;
+}
+
+void GetCdrsMonitorResultRequest::setAlgorithmVendor(const std::string& algorithmVendor)
+{
+	algorithmVendor_ = algorithmVendor;
+	setBodyParameter("AlgorithmVendor", algorithmVendor);
+}
+
+std::string GetCdrsMonitorResultRequest::getMinRecordId()const
+{
+	return minRecordId_;
+}
+
+void GetCdrsMonitorResultRequest::setMinRecordId(const std::string& minRecordId)
+{
+	minRecordId_ = minRecordId;
+	setBodyParameter("MinRecordId", minRecordId);
+}
+
+std::string GetCdrsMonitorResultRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void GetCdrsMonitorResultRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setBodyParameter("TaskId", taskId);
+}
+

+ 92 - 0
cdrs/src/model/GetCdrsMonitorResultResult.cc

@@ -0,0 +1,92 @@
+/*
+ * 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/cdrs/model/GetCdrsMonitorResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+GetCdrsMonitorResultResult::GetCdrsMonitorResultResult() :
+	ServiceResult()
+{}
+
+GetCdrsMonitorResultResult::GetCdrsMonitorResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetCdrsMonitorResultResult::~GetCdrsMonitorResultResult()
+{}
+
+void GetCdrsMonitorResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["MaxId"].isNull())
+		data_.maxId = dataNode["MaxId"].asString();
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["RightBottomY"].isNull())
+			recordsItemObject.rightBottomY = dataNodeRecordsRecordsItem["RightBottomY"].asString();
+		if(!dataNodeRecordsRecordsItem["RightBottomX"].isNull())
+			recordsItemObject.rightBottomX = dataNodeRecordsRecordsItem["RightBottomX"].asString();
+		if(!dataNodeRecordsRecordsItem["LeftUpY"].isNull())
+			recordsItemObject.leftUpY = dataNodeRecordsRecordsItem["LeftUpY"].asString();
+		if(!dataNodeRecordsRecordsItem["LeftUpX"].isNull())
+			recordsItemObject.leftUpX = dataNodeRecordsRecordsItem["LeftUpX"].asString();
+		if(!dataNodeRecordsRecordsItem["GbId"].isNull())
+			recordsItemObject.gbId = dataNodeRecordsRecordsItem["GbId"].asString();
+		if(!dataNodeRecordsRecordsItem["Score"].isNull())
+			recordsItemObject.score = dataNodeRecordsRecordsItem["Score"].asString();
+		if(!dataNodeRecordsRecordsItem["PicUrl"].isNull())
+			recordsItemObject.picUrl = dataNodeRecordsRecordsItem["PicUrl"].asString();
+		if(!dataNodeRecordsRecordsItem["ShotTime"].isNull())
+			recordsItemObject.shotTime = dataNodeRecordsRecordsItem["ShotTime"].asString();
+		if(!dataNodeRecordsRecordsItem["MonitorPicUrl"].isNull())
+			recordsItemObject.monitorPicUrl = dataNodeRecordsRecordsItem["MonitorPicUrl"].asString();
+		if(!dataNodeRecordsRecordsItem["TargetPicUrl"].isNull())
+			recordsItemObject.targetPicUrl = dataNodeRecordsRecordsItem["TargetPicUrl"].asString();
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetCdrsMonitorResultResult::getMessage()const
+{
+	return message_;
+}
+
+GetCdrsMonitorResultResult::Data GetCdrsMonitorResultResult::getData()const
+{
+	return data_;
+}
+
+std::string GetCdrsMonitorResultResult::getCode()const
+{
+	return code_;
+}
+

+ 128 - 0
cdrs/src/model/ListCorpMetricsRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/cdrs/model/ListCorpMetricsRequest.h>
+
+using AlibabaCloud::CDRS::Model::ListCorpMetricsRequest;
+
+ListCorpMetricsRequest::ListCorpMetricsRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "ListCorpMetrics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListCorpMetricsRequest::~ListCorpMetricsRequest()
+{}
+
+std::string ListCorpMetricsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListCorpMetricsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListCorpMetricsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListCorpMetricsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListCorpMetricsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListCorpMetricsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+long ListCorpMetricsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListCorpMetricsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListCorpMetricsRequest::getDeviceGroupList()const
+{
+	return deviceGroupList_;
+}
+
+void ListCorpMetricsRequest::setDeviceGroupList(const std::string& deviceGroupList)
+{
+	deviceGroupList_ = deviceGroupList;
+	setBodyParameter("DeviceGroupList", deviceGroupList);
+}
+
+std::string ListCorpMetricsRequest::getTagCode()const
+{
+	return tagCode_;
+}
+
+void ListCorpMetricsRequest::setTagCode(const std::string& tagCode)
+{
+	tagCode_ = tagCode;
+	setBodyParameter("TagCode", tagCode);
+}
+
+std::string ListCorpMetricsRequest::getUserGroupList()const
+{
+	return userGroupList_;
+}
+
+void ListCorpMetricsRequest::setUserGroupList(const std::string& userGroupList)
+{
+	userGroupList_ = userGroupList;
+	setBodyParameter("UserGroupList", userGroupList);
+}
+
+long ListCorpMetricsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListCorpMetricsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListCorpMetricsRequest::getDeviceIdList()const
+{
+	return deviceIdList_;
+}
+
+void ListCorpMetricsRequest::setDeviceIdList(const std::string& deviceIdList)
+{
+	deviceIdList_ = deviceIdList;
+	setBodyParameter("DeviceIdList", deviceIdList);
+}
+

+ 115 - 0
cdrs/src/model/ListCorpMetricsResult.cc

@@ -0,0 +1,115 @@
+/*
+ * 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/cdrs/model/ListCorpMetricsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+ListCorpMetricsResult::ListCorpMetricsResult() :
+	ServiceResult()
+{}
+
+ListCorpMetricsResult::ListCorpMetricsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListCorpMetricsResult::~ListCorpMetricsResult()
+{}
+
+void ListCorpMetricsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["CorpId"].isNull())
+			dataObject.corpId = valueDataDataItem["CorpId"].asString();
+		if(!valueDataDataItem["PersonId"].isNull())
+			dataObject.personId = valueDataDataItem["PersonId"].asString();
+		if(!valueDataDataItem["DeviceGroupId"].isNull())
+			dataObject.deviceGroupId = valueDataDataItem["DeviceGroupId"].asString();
+		if(!valueDataDataItem["DeviceId"].isNull())
+			dataObject.deviceId = valueDataDataItem["DeviceId"].asString();
+		if(!valueDataDataItem["UserGroupId"].isNull())
+			dataObject.userGroupId = valueDataDataItem["UserGroupId"].asString();
+		if(!valueDataDataItem["TagMetrics"].isNull())
+			dataObject.tagMetrics = valueDataDataItem["TagMetrics"].asString();
+		if(!valueDataDataItem["TagCode"].isNull())
+			dataObject.tagCode = valueDataDataItem["TagCode"].asString();
+		if(!valueDataDataItem["TagValue"].isNull())
+			dataObject.tagValue = valueDataDataItem["TagValue"].asString();
+		if(!valueDataDataItem["DateId"].isNull())
+			dataObject.dateId = valueDataDataItem["DateId"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString();
+
+}
+
+int ListCorpMetricsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListCorpMetricsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::string ListCorpMetricsResult::getMessage()const
+{
+	return message_;
+}
+
+int ListCorpMetricsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListCorpMetricsResult::DataItem> ListCorpMetricsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListCorpMetricsResult::getCode()const
+{
+	return code_;
+}
+
+std::string ListCorpMetricsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 106 - 0
cdrs/src/model/ListMetricsRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * 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/cdrs/model/ListMetricsRequest.h>
+
+using AlibabaCloud::CDRS::Model::ListMetricsRequest;
+
+ListMetricsRequest::ListMetricsRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "ListMetrics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListMetricsRequest::~ListMetricsRequest()
+{}
+
+std::string ListMetricsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListMetricsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListMetricsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListMetricsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListMetricsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListMetricsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListMetricsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListMetricsRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListMetricsRequest::getTagCode()const
+{
+	return tagCode_;
+}
+
+void ListMetricsRequest::setTagCode(const std::string& tagCode)
+{
+	tagCode_ = tagCode;
+	setBodyParameter("TagCode", tagCode);
+}
+
+std::string ListMetricsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListMetricsRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+
+std::string ListMetricsRequest::getAggregateType()const
+{
+	return aggregateType_;
+}
+
+void ListMetricsRequest::setAggregateType(const std::string& aggregateType)
+{
+	aggregateType_ = aggregateType;
+	setBodyParameter("AggregateType", aggregateType);
+}
+

+ 98 - 0
cdrs/src/model/ListMetricsResult.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/cdrs/model/ListMetricsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+ListMetricsResult::ListMetricsResult() :
+	ServiceResult()
+{}
+
+ListMetricsResult::ListMetricsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListMetricsResult::~ListMetricsResult()
+{}
+
+void ListMetricsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["DateTime"].isNull())
+			dataObject.dateTime = valueDataDataItem["DateTime"].asString();
+		if(!valueDataDataItem["TagCode"].isNull())
+			dataObject.tagCode = valueDataDataItem["TagCode"].asString();
+		if(!valueDataDataItem["TagValue"].isNull())
+			dataObject.tagValue = valueDataDataItem["TagValue"].asString();
+		if(!valueDataDataItem["DateTime"].isNull())
+			dataObject.dateTime1 = valueDataDataItem["DateTime"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = value["PageNumber"].asString();
+	if(!value["PageSize"].isNull())
+		pageSize_ = value["PageSize"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = value["TotalCount"].asString();
+
+}
+
+std::string ListMetricsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListMetricsResult::getMessage()const
+{
+	return message_;
+}
+
+std::string ListMetricsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::string ListMetricsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListMetricsResult::DataItem> ListMetricsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListMetricsResult::getCode()const
+{
+	return code_;
+}
+

+ 106 - 0
cdrs/src/model/ListPersonTraceRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * 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/cdrs/model/ListPersonTraceRequest.h>
+
+using AlibabaCloud::CDRS::Model::ListPersonTraceRequest;
+
+ListPersonTraceRequest::ListPersonTraceRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "ListPersonTrace")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListPersonTraceRequest::~ListPersonTraceRequest()
+{}
+
+std::string ListPersonTraceRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListPersonTraceRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListPersonTraceRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListPersonTraceRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListPersonTraceRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListPersonTraceRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListPersonTraceRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListPersonTraceRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListPersonTraceRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListPersonTraceRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+
+std::string ListPersonTraceRequest::getDataSourceId()const
+{
+	return dataSourceId_;
+}
+
+void ListPersonTraceRequest::setDataSourceId(const std::string& dataSourceId)
+{
+	dataSourceId_ = dataSourceId;
+	setBodyParameter("DataSourceId", dataSourceId);
+}
+
+std::string ListPersonTraceRequest::getPersonId()const
+{
+	return personId_;
+}
+
+void ListPersonTraceRequest::setPersonId(const std::string& personId)
+{
+	personId_ = personId;
+	setBodyParameter("PersonId", personId);
+}
+

+ 119 - 0
cdrs/src/model/ListPersonTraceResult.cc

@@ -0,0 +1,119 @@
+/*
+ * 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/cdrs/model/ListPersonTraceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+ListPersonTraceResult::ListPersonTraceResult() :
+	ServiceResult()
+{}
+
+ListPersonTraceResult::ListPersonTraceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPersonTraceResult::~ListPersonTraceResult()
+{}
+
+void ListPersonTraceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["Date"].isNull())
+			dataObject.date = valueDataDataItem["Date"].asString();
+		if(!valueDataDataItem["LastTime"].isNull())
+			dataObject.lastTime = valueDataDataItem["LastTime"].asString();
+		if(!valueDataDataItem["StartTime"].isNull())
+			dataObject.startTime = valueDataDataItem["StartTime"].asString();
+		if(!valueDataDataItem["EndSourceImage"].isNull())
+			dataObject.endSourceImage = valueDataDataItem["EndSourceImage"].asString();
+		if(!valueDataDataItem["DeviceId"].isNull())
+			dataObject.deviceId = valueDataDataItem["DeviceId"].asString();
+		if(!valueDataDataItem["StartTargetImage"].isNull())
+			dataObject.startTargetImage = valueDataDataItem["StartTargetImage"].asString();
+		if(!valueDataDataItem["GroupId"].isNull())
+			dataObject.groupId = valueDataDataItem["GroupId"].asString();
+		if(!valueDataDataItem["PersonId"].isNull())
+			dataObject.personId = valueDataDataItem["PersonId"].asString();
+		if(!valueDataDataItem["StartSourceImage"].isNull())
+			dataObject.startSourceImage = valueDataDataItem["StartSourceImage"].asString();
+		if(!valueDataDataItem["CorpId"].isNull())
+			dataObject.corpId = valueDataDataItem["CorpId"].asString();
+		if(!valueDataDataItem["EndTargetImage"].isNull())
+			dataObject.endTargetImage = valueDataDataItem["EndTargetImage"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+
+}
+
+int ListPersonTraceResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListPersonTraceResult::getMessage()const
+{
+	return message_;
+}
+
+int ListPersonTraceResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListPersonTraceResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListPersonTraceResult::DataItem> ListPersonTraceResult::getData()const
+{
+	return data_;
+}
+
+std::string ListPersonTraceResult::getCode()const
+{
+	return code_;
+}
+
+std::string ListPersonTraceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 62 - 0
cdrs/src/model/StopCdrsMonitorRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdrs/model/StopCdrsMonitorRequest.h>
+
+using AlibabaCloud::CDRS::Model::StopCdrsMonitorRequest;
+
+StopCdrsMonitorRequest::StopCdrsMonitorRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "StopCdrsMonitor")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+StopCdrsMonitorRequest::~StopCdrsMonitorRequest()
+{}
+
+std::string StopCdrsMonitorRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void StopCdrsMonitorRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string StopCdrsMonitorRequest::getAlgorithmVendor()const
+{
+	return algorithmVendor_;
+}
+
+void StopCdrsMonitorRequest::setAlgorithmVendor(const std::string& algorithmVendor)
+{
+	algorithmVendor_ = algorithmVendor;
+	setBodyParameter("AlgorithmVendor", algorithmVendor);
+}
+
+std::string StopCdrsMonitorRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void StopCdrsMonitorRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setBodyParameter("TaskId", taskId);
+}
+

+ 65 - 0
cdrs/src/model/StopCdrsMonitorResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/cdrs/model/StopCdrsMonitorResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+StopCdrsMonitorResult::StopCdrsMonitorResult() :
+	ServiceResult()
+{}
+
+StopCdrsMonitorResult::StopCdrsMonitorResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+StopCdrsMonitorResult::~StopCdrsMonitorResult()
+{}
+
+void StopCdrsMonitorResult::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["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string StopCdrsMonitorResult::getMessage()const
+{
+	return message_;
+}
+
+std::string StopCdrsMonitorResult::getData()const
+{
+	return data_;
+}
+
+std::string StopCdrsMonitorResult::getCode()const
+{
+	return code_;
+}
+

+ 227 - 0
cdrs/src/model/UpdateCdrsMonitorRequest.cc

@@ -0,0 +1,227 @@
+/*
+ * 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/cdrs/model/UpdateCdrsMonitorRequest.h>
+
+using AlibabaCloud::CDRS::Model::UpdateCdrsMonitorRequest;
+
+UpdateCdrsMonitorRequest::UpdateCdrsMonitorRequest() :
+	RpcServiceRequest("cdrs", "2020-11-01", "UpdateCdrsMonitor")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateCdrsMonitorRequest::~UpdateCdrsMonitorRequest()
+{}
+
+std::string UpdateCdrsMonitorRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void UpdateCdrsMonitorRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string UpdateCdrsMonitorRequest::getDescription()const
+{
+	return description_;
+}
+
+void UpdateCdrsMonitorRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setBodyParameter("Description", description);
+}
+
+std::string UpdateCdrsMonitorRequest::getRuleName()const
+{
+	return ruleName_;
+}
+
+void UpdateCdrsMonitorRequest::setRuleName(const std::string& ruleName)
+{
+	ruleName_ = ruleName;
+	setBodyParameter("RuleName", ruleName);
+}
+
+std::string UpdateCdrsMonitorRequest::getPicOperateType()const
+{
+	return picOperateType_;
+}
+
+void UpdateCdrsMonitorRequest::setPicOperateType(const std::string& picOperateType)
+{
+	picOperateType_ = picOperateType;
+	setBodyParameter("PicOperateType", picOperateType);
+}
+
+std::string UpdateCdrsMonitorRequest::getAttributeName()const
+{
+	return attributeName_;
+}
+
+void UpdateCdrsMonitorRequest::setAttributeName(const std::string& attributeName)
+{
+	attributeName_ = attributeName;
+	setBodyParameter("AttributeName", attributeName);
+}
+
+std::string UpdateCdrsMonitorRequest::getAttributeOperateType()const
+{
+	return attributeOperateType_;
+}
+
+void UpdateCdrsMonitorRequest::setAttributeOperateType(const std::string& attributeOperateType)
+{
+	attributeOperateType_ = attributeOperateType;
+	setBodyParameter("AttributeOperateType", attributeOperateType);
+}
+
+std::string UpdateCdrsMonitorRequest::getRuleExpression()const
+{
+	return ruleExpression_;
+}
+
+void UpdateCdrsMonitorRequest::setRuleExpression(const std::string& ruleExpression)
+{
+	ruleExpression_ = ruleExpression;
+	setBodyParameter("RuleExpression", ruleExpression);
+}
+
+int UpdateCdrsMonitorRequest::getNotifierTimeOut()const
+{
+	return notifierTimeOut_;
+}
+
+void UpdateCdrsMonitorRequest::setNotifierTimeOut(int notifierTimeOut)
+{
+	notifierTimeOut_ = notifierTimeOut;
+	setBodyParameter("NotifierTimeOut", std::to_string(notifierTimeOut));
+}
+
+std::string UpdateCdrsMonitorRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void UpdateCdrsMonitorRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setBodyParameter("TaskId", taskId);
+}
+
+std::string UpdateCdrsMonitorRequest::getDeviceOperateType()const
+{
+	return deviceOperateType_;
+}
+
+void UpdateCdrsMonitorRequest::setDeviceOperateType(const std::string& deviceOperateType)
+{
+	deviceOperateType_ = deviceOperateType;
+	setBodyParameter("DeviceOperateType", deviceOperateType);
+}
+
+std::string UpdateCdrsMonitorRequest::getPicList()const
+{
+	return picList_;
+}
+
+void UpdateCdrsMonitorRequest::setPicList(const std::string& picList)
+{
+	picList_ = picList;
+	setBodyParameter("PicList", picList);
+}
+
+std::string UpdateCdrsMonitorRequest::getAttributeValueList()const
+{
+	return attributeValueList_;
+}
+
+void UpdateCdrsMonitorRequest::setAttributeValueList(const std::string& attributeValueList)
+{
+	attributeValueList_ = attributeValueList;
+	setBodyParameter("AttributeValueList", attributeValueList);
+}
+
+std::string UpdateCdrsMonitorRequest::getNotifierAppSecret()const
+{
+	return notifierAppSecret_;
+}
+
+void UpdateCdrsMonitorRequest::setNotifierAppSecret(const std::string& notifierAppSecret)
+{
+	notifierAppSecret_ = notifierAppSecret;
+	setBodyParameter("NotifierAppSecret", notifierAppSecret);
+}
+
+std::string UpdateCdrsMonitorRequest::getNotifierExtendValues()const
+{
+	return notifierExtendValues_;
+}
+
+void UpdateCdrsMonitorRequest::setNotifierExtendValues(const std::string& notifierExtendValues)
+{
+	notifierExtendValues_ = notifierExtendValues;
+	setBodyParameter("NotifierExtendValues", notifierExtendValues);
+}
+
+std::string UpdateCdrsMonitorRequest::getDeviceList()const
+{
+	return deviceList_;
+}
+
+void UpdateCdrsMonitorRequest::setDeviceList(const std::string& deviceList)
+{
+	deviceList_ = deviceList;
+	setBodyParameter("DeviceList", deviceList);
+}
+
+std::string UpdateCdrsMonitorRequest::getNotifierUrl()const
+{
+	return notifierUrl_;
+}
+
+void UpdateCdrsMonitorRequest::setNotifierUrl(const std::string& notifierUrl)
+{
+	notifierUrl_ = notifierUrl;
+	setBodyParameter("NotifierUrl", notifierUrl);
+}
+
+std::string UpdateCdrsMonitorRequest::getNotifierType()const
+{
+	return notifierType_;
+}
+
+void UpdateCdrsMonitorRequest::setNotifierType(const std::string& notifierType)
+{
+	notifierType_ = notifierType;
+	setBodyParameter("NotifierType", notifierType);
+}
+
+std::string UpdateCdrsMonitorRequest::getAlgorithmVendor()const
+{
+	return algorithmVendor_;
+}
+
+void UpdateCdrsMonitorRequest::setAlgorithmVendor(const std::string& algorithmVendor)
+{
+	algorithmVendor_ = algorithmVendor;
+	setBodyParameter("AlgorithmVendor", algorithmVendor);
+}
+

+ 65 - 0
cdrs/src/model/UpdateCdrsMonitorResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/cdrs/model/UpdateCdrsMonitorResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::CDRS;
+using namespace AlibabaCloud::CDRS::Model;
+
+UpdateCdrsMonitorResult::UpdateCdrsMonitorResult() :
+	ServiceResult()
+{}
+
+UpdateCdrsMonitorResult::UpdateCdrsMonitorResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateCdrsMonitorResult::~UpdateCdrsMonitorResult()
+{}
+
+void UpdateCdrsMonitorResult::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["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateCdrsMonitorResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UpdateCdrsMonitorResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateCdrsMonitorResult::getCode()const
+{
+	return code_;
+}
+