Эх сурвалжийг харах

Add support cn-beijing service region.

sdk-team 6 жил өмнө
parent
commit
59dbc66bfe
66 өөрчлөгдсөн 4381 нэмэгдсэн , 0 устгасан
  1. 6 0
      CHANGELOG
  2. 56 0
      vod/CMakeLists.txt
  3. 112 0
      vod/include/alibabacloud/vod/VodClient.h
  4. 66 0
      vod/include/alibabacloud/vod/model/CreateMediaDNALibRequest.h
  5. 57 0
      vod/include/alibabacloud/vod/model/CreateMediaDNALibResult.h
  6. 60 0
      vod/include/alibabacloud/vod/model/DeleteAIImageInfosRequest.h
  7. 49 0
      vod/include/alibabacloud/vod/model/DeleteAIImageInfosResult.h
  8. 63 0
      vod/include/alibabacloud/vod/model/DeleteDynamicImageRequest.h
  9. 49 0
      vod/include/alibabacloud/vod/model/DeleteDynamicImageResult.h
  10. 66 0
      vod/include/alibabacloud/vod/model/DescribeVodTagResourcesRequest.h
  11. 61 0
      vod/include/alibabacloud/vod/model/DescribeVodTagResourcesResult.h
  12. 9 0
      vod/include/alibabacloud/vod/model/DescribeVodUserDomainsRequest.h
  13. 48 0
      vod/include/alibabacloud/vod/model/DescribeVodUserTagsRequest.h
  14. 56 0
      vod/include/alibabacloud/vod/model/DescribeVodUserTagsResult.h
  15. 63 0
      vod/include/alibabacloud/vod/model/GetAIImageJobsRequest.h
  16. 64 0
      vod/include/alibabacloud/vod/model/GetAIImageJobsResult.h
  17. 57 0
      vod/include/alibabacloud/vod/model/GetDRMCertInfoRequest.h
  18. 51 0
      vod/include/alibabacloud/vod/model/GetDRMCertInfoResult.h
  19. 63 0
      vod/include/alibabacloud/vod/model/GetDRMLicenseRequest.h
  20. 51 0
      vod/include/alibabacloud/vod/model/GetDRMLicenseResult.h
  21. 60 0
      vod/include/alibabacloud/vod/model/ListAIImageInfoRequest.h
  22. 63 0
      vod/include/alibabacloud/vod/model/ListAIImageInfoResult.h
  23. 60 0
      vod/include/alibabacloud/vod/model/ListDynamicImageRequest.h
  24. 65 0
      vod/include/alibabacloud/vod/model/ListDynamicImageResult.h
  25. 63 0
      vod/include/alibabacloud/vod/model/ListMediaDNALibsRequest.h
  26. 57 0
      vod/include/alibabacloud/vod/model/ListMediaDNALibsResult.h
  27. 2 0
      vod/include/alibabacloud/vod/model/SearchMediaResult.h
  28. 72 0
      vod/include/alibabacloud/vod/model/SubmitAIImageJobRequest.h
  29. 51 0
      vod/include/alibabacloud/vod/model/SubmitAIImageJobResult.h
  30. 3 0
      vod/include/alibabacloud/vod/model/SubmitAIMediaAuditJobRequest.h
  31. 63 0
      vod/include/alibabacloud/vod/model/TagVodResourcesRequest.h
  32. 49 0
      vod/include/alibabacloud/vod/model/TagVodResourcesResult.h
  33. 57 0
      vod/include/alibabacloud/vod/model/UnTagVodResourcesRequest.h
  34. 49 0
      vod/include/alibabacloud/vod/model/UnTagVodResourcesResult.h
  35. 504 0
      vod/src/VodClient.cc
  36. 106 0
      vod/src/model/CreateMediaDNALibRequest.cc
  37. 56 0
      vod/src/model/CreateMediaDNALibResult.cc
  38. 84 0
      vod/src/model/DeleteAIImageInfosRequest.cc
  39. 44 0
      vod/src/model/DeleteAIImageInfosResult.cc
  40. 95 0
      vod/src/model/DeleteDynamicImageRequest.cc
  41. 44 0
      vod/src/model/DeleteDynamicImageResult.cc
  42. 91 0
      vod/src/model/DescribeVodTagResourcesRequest.cc
  43. 67 0
      vod/src/model/DescribeVodTagResourcesResult.cc
  44. 16 0
      vod/src/model/DescribeVodUserDomainsRequest.cc
  45. 40 0
      vod/src/model/DescribeVodUserTagsRequest.cc
  46. 60 0
      vod/src/model/DescribeVodUserTagsResult.cc
  47. 95 0
      vod/src/model/GetAIImageJobsRequest.cc
  48. 75 0
      vod/src/model/GetAIImageJobsResult.cc
  49. 73 0
      vod/src/model/GetDRMCertInfoRequest.cc
  50. 51 0
      vod/src/model/GetDRMCertInfoResult.cc
  51. 95 0
      vod/src/model/GetDRMLicenseRequest.cc
  52. 51 0
      vod/src/model/GetDRMLicenseResult.cc
  53. 84 0
      vod/src/model/ListAIImageInfoRequest.cc
  54. 73 0
      vod/src/model/ListAIImageInfoResult.cc
  55. 84 0
      vod/src/model/ListDynamicImageRequest.cc
  56. 77 0
      vod/src/model/ListDynamicImageResult.cc
  57. 95 0
      vod/src/model/ListMediaDNALibsRequest.cc
  58. 61 0
      vod/src/model/ListMediaDNALibsResult.cc
  59. 4 0
      vod/src/model/SearchMediaResult.cc
  60. 128 0
      vod/src/model/SubmitAIImageJobRequest.cc
  61. 51 0
      vod/src/model/SubmitAIImageJobResult.cc
  62. 11 0
      vod/src/model/SubmitAIMediaAuditJobRequest.cc
  63. 80 0
      vod/src/model/TagVodResourcesRequest.cc
  64. 44 0
      vod/src/model/TagVodResourcesResult.cc
  65. 77 0
      vod/src/model/UnTagVodResourcesRequest.cc
  66. 44 0
      vod/src/model/UnTagVodResourcesResult.cc

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+2020-09-09 Version: patch
+- Add support cn-beijing service region.
+- Add ai video cover interface,include submit and query.
+- Add dynamic image query interface.
+- Update SubmitMediaAuditJob support MediaAuditConfiguration to set ResourceType.
+
 2020-09-09 Version: patch
 - Release ChangeSky.
 

+ 56 - 0
vod/CMakeLists.txt

@@ -47,12 +47,16 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/CreateAppInfoResult.h
 	include/alibabacloud/vod/model/CreateAuditRequest.h
 	include/alibabacloud/vod/model/CreateAuditResult.h
+	include/alibabacloud/vod/model/CreateMediaDNALibRequest.h
+	include/alibabacloud/vod/model/CreateMediaDNALibResult.h
 	include/alibabacloud/vod/model/CreateUploadAttachedMediaRequest.h
 	include/alibabacloud/vod/model/CreateUploadAttachedMediaResult.h
 	include/alibabacloud/vod/model/CreateUploadImageRequest.h
 	include/alibabacloud/vod/model/CreateUploadImageResult.h
 	include/alibabacloud/vod/model/CreateUploadVideoRequest.h
 	include/alibabacloud/vod/model/CreateUploadVideoResult.h
+	include/alibabacloud/vod/model/DeleteAIImageInfosRequest.h
+	include/alibabacloud/vod/model/DeleteAIImageInfosResult.h
 	include/alibabacloud/vod/model/DeleteAITemplateRequest.h
 	include/alibabacloud/vod/model/DeleteAITemplateResult.h
 	include/alibabacloud/vod/model/DeleteAppInfoRequest.h
@@ -61,6 +65,8 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/DeleteAttachedMediaResult.h
 	include/alibabacloud/vod/model/DeleteCategoryRequest.h
 	include/alibabacloud/vod/model/DeleteCategoryResult.h
+	include/alibabacloud/vod/model/DeleteDynamicImageRequest.h
+	include/alibabacloud/vod/model/DeleteDynamicImageResult.h
 	include/alibabacloud/vod/model/DeleteEditingProjectRequest.h
 	include/alibabacloud/vod/model/DeleteEditingProjectResult.h
 	include/alibabacloud/vod/model/DeleteImageRequest.h
@@ -117,12 +123,18 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/DescribeVodRefreshTasksResult.h
 	include/alibabacloud/vod/model/DescribeVodStorageDataRequest.h
 	include/alibabacloud/vod/model/DescribeVodStorageDataResult.h
+	include/alibabacloud/vod/model/DescribeVodTagResourcesRequest.h
+	include/alibabacloud/vod/model/DescribeVodTagResourcesResult.h
 	include/alibabacloud/vod/model/DescribeVodTranscodeDataRequest.h
 	include/alibabacloud/vod/model/DescribeVodTranscodeDataResult.h
 	include/alibabacloud/vod/model/DescribeVodUserDomainsRequest.h
 	include/alibabacloud/vod/model/DescribeVodUserDomainsResult.h
+	include/alibabacloud/vod/model/DescribeVodUserTagsRequest.h
+	include/alibabacloud/vod/model/DescribeVodUserTagsResult.h
 	include/alibabacloud/vod/model/DetachAppPolicyFromIdentityRequest.h
 	include/alibabacloud/vod/model/DetachAppPolicyFromIdentityResult.h
+	include/alibabacloud/vod/model/GetAIImageJobsRequest.h
+	include/alibabacloud/vod/model/GetAIImageJobsResult.h
 	include/alibabacloud/vod/model/GetAIMediaAuditJobRequest.h
 	include/alibabacloud/vod/model/GetAIMediaAuditJobResult.h
 	include/alibabacloud/vod/model/GetAITemplateRequest.h
@@ -137,6 +149,10 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/GetAuditHistoryResult.h
 	include/alibabacloud/vod/model/GetCategoriesRequest.h
 	include/alibabacloud/vod/model/GetCategoriesResult.h
+	include/alibabacloud/vod/model/GetDRMCertInfoRequest.h
+	include/alibabacloud/vod/model/GetDRMCertInfoResult.h
+	include/alibabacloud/vod/model/GetDRMLicenseRequest.h
+	include/alibabacloud/vod/model/GetDRMLicenseResult.h
 	include/alibabacloud/vod/model/GetDefaultAITemplateRequest.h
 	include/alibabacloud/vod/model/GetDefaultAITemplateResult.h
 	include/alibabacloud/vod/model/GetEditingProjectRequest.h
@@ -183,6 +199,8 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/GetVodTemplateResult.h
 	include/alibabacloud/vod/model/GetWatermarkRequest.h
 	include/alibabacloud/vod/model/GetWatermarkResult.h
+	include/alibabacloud/vod/model/ListAIImageInfoRequest.h
+	include/alibabacloud/vod/model/ListAIImageInfoResult.h
 	include/alibabacloud/vod/model/ListAIJobRequest.h
 	include/alibabacloud/vod/model/ListAIJobResult.h
 	include/alibabacloud/vod/model/ListAITemplateRequest.h
@@ -193,10 +211,14 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/ListAppPoliciesForIdentityResult.h
 	include/alibabacloud/vod/model/ListAuditSecurityIpRequest.h
 	include/alibabacloud/vod/model/ListAuditSecurityIpResult.h
+	include/alibabacloud/vod/model/ListDynamicImageRequest.h
+	include/alibabacloud/vod/model/ListDynamicImageResult.h
 	include/alibabacloud/vod/model/ListLiveRecordVideoRequest.h
 	include/alibabacloud/vod/model/ListLiveRecordVideoResult.h
 	include/alibabacloud/vod/model/ListMediaDNADeleteJobRequest.h
 	include/alibabacloud/vod/model/ListMediaDNADeleteJobResult.h
+	include/alibabacloud/vod/model/ListMediaDNALibsRequest.h
+	include/alibabacloud/vod/model/ListMediaDNALibsResult.h
 	include/alibabacloud/vod/model/ListSnapshotsRequest.h
 	include/alibabacloud/vod/model/ListSnapshotsResult.h
 	include/alibabacloud/vod/model/ListTranscodeTaskRequest.h
@@ -237,6 +259,8 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/SetMessageCallbackResult.h
 	include/alibabacloud/vod/model/SetVodDomainCertificateRequest.h
 	include/alibabacloud/vod/model/SetVodDomainCertificateResult.h
+	include/alibabacloud/vod/model/SubmitAIImageJobRequest.h
+	include/alibabacloud/vod/model/SubmitAIImageJobResult.h
 	include/alibabacloud/vod/model/SubmitAIJobRequest.h
 	include/alibabacloud/vod/model/SubmitAIJobResult.h
 	include/alibabacloud/vod/model/SubmitAIMediaAuditJobRequest.h
@@ -253,6 +277,10 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/SubmitTranscodeJobsResult.h
 	include/alibabacloud/vod/model/SubmitWorkflowJobRequest.h
 	include/alibabacloud/vod/model/SubmitWorkflowJobResult.h
+	include/alibabacloud/vod/model/TagVodResourcesRequest.h
+	include/alibabacloud/vod/model/TagVodResourcesResult.h
+	include/alibabacloud/vod/model/UnTagVodResourcesRequest.h
+	include/alibabacloud/vod/model/UnTagVodResourcesResult.h
 	include/alibabacloud/vod/model/UpdateAITemplateRequest.h
 	include/alibabacloud/vod/model/UpdateAITemplateResult.h
 	include/alibabacloud/vod/model/UpdateAppInfoRequest.h
@@ -308,12 +336,16 @@ set(vod_src
 	src/model/CreateAppInfoResult.cc
 	src/model/CreateAuditRequest.cc
 	src/model/CreateAuditResult.cc
+	src/model/CreateMediaDNALibRequest.cc
+	src/model/CreateMediaDNALibResult.cc
 	src/model/CreateUploadAttachedMediaRequest.cc
 	src/model/CreateUploadAttachedMediaResult.cc
 	src/model/CreateUploadImageRequest.cc
 	src/model/CreateUploadImageResult.cc
 	src/model/CreateUploadVideoRequest.cc
 	src/model/CreateUploadVideoResult.cc
+	src/model/DeleteAIImageInfosRequest.cc
+	src/model/DeleteAIImageInfosResult.cc
 	src/model/DeleteAITemplateRequest.cc
 	src/model/DeleteAITemplateResult.cc
 	src/model/DeleteAppInfoRequest.cc
@@ -322,6 +354,8 @@ set(vod_src
 	src/model/DeleteAttachedMediaResult.cc
 	src/model/DeleteCategoryRequest.cc
 	src/model/DeleteCategoryResult.cc
+	src/model/DeleteDynamicImageRequest.cc
+	src/model/DeleteDynamicImageResult.cc
 	src/model/DeleteEditingProjectRequest.cc
 	src/model/DeleteEditingProjectResult.cc
 	src/model/DeleteImageRequest.cc
@@ -378,12 +412,18 @@ set(vod_src
 	src/model/DescribeVodRefreshTasksResult.cc
 	src/model/DescribeVodStorageDataRequest.cc
 	src/model/DescribeVodStorageDataResult.cc
+	src/model/DescribeVodTagResourcesRequest.cc
+	src/model/DescribeVodTagResourcesResult.cc
 	src/model/DescribeVodTranscodeDataRequest.cc
 	src/model/DescribeVodTranscodeDataResult.cc
 	src/model/DescribeVodUserDomainsRequest.cc
 	src/model/DescribeVodUserDomainsResult.cc
+	src/model/DescribeVodUserTagsRequest.cc
+	src/model/DescribeVodUserTagsResult.cc
 	src/model/DetachAppPolicyFromIdentityRequest.cc
 	src/model/DetachAppPolicyFromIdentityResult.cc
+	src/model/GetAIImageJobsRequest.cc
+	src/model/GetAIImageJobsResult.cc
 	src/model/GetAIMediaAuditJobRequest.cc
 	src/model/GetAIMediaAuditJobResult.cc
 	src/model/GetAITemplateRequest.cc
@@ -398,6 +438,10 @@ set(vod_src
 	src/model/GetAuditHistoryResult.cc
 	src/model/GetCategoriesRequest.cc
 	src/model/GetCategoriesResult.cc
+	src/model/GetDRMCertInfoRequest.cc
+	src/model/GetDRMCertInfoResult.cc
+	src/model/GetDRMLicenseRequest.cc
+	src/model/GetDRMLicenseResult.cc
 	src/model/GetDefaultAITemplateRequest.cc
 	src/model/GetDefaultAITemplateResult.cc
 	src/model/GetEditingProjectRequest.cc
@@ -444,6 +488,8 @@ set(vod_src
 	src/model/GetVodTemplateResult.cc
 	src/model/GetWatermarkRequest.cc
 	src/model/GetWatermarkResult.cc
+	src/model/ListAIImageInfoRequest.cc
+	src/model/ListAIImageInfoResult.cc
 	src/model/ListAIJobRequest.cc
 	src/model/ListAIJobResult.cc
 	src/model/ListAITemplateRequest.cc
@@ -454,10 +500,14 @@ set(vod_src
 	src/model/ListAppPoliciesForIdentityResult.cc
 	src/model/ListAuditSecurityIpRequest.cc
 	src/model/ListAuditSecurityIpResult.cc
+	src/model/ListDynamicImageRequest.cc
+	src/model/ListDynamicImageResult.cc
 	src/model/ListLiveRecordVideoRequest.cc
 	src/model/ListLiveRecordVideoResult.cc
 	src/model/ListMediaDNADeleteJobRequest.cc
 	src/model/ListMediaDNADeleteJobResult.cc
+	src/model/ListMediaDNALibsRequest.cc
+	src/model/ListMediaDNALibsResult.cc
 	src/model/ListSnapshotsRequest.cc
 	src/model/ListSnapshotsResult.cc
 	src/model/ListTranscodeTaskRequest.cc
@@ -498,6 +548,8 @@ set(vod_src
 	src/model/SetMessageCallbackResult.cc
 	src/model/SetVodDomainCertificateRequest.cc
 	src/model/SetVodDomainCertificateResult.cc
+	src/model/SubmitAIImageJobRequest.cc
+	src/model/SubmitAIImageJobResult.cc
 	src/model/SubmitAIJobRequest.cc
 	src/model/SubmitAIJobResult.cc
 	src/model/SubmitAIMediaAuditJobRequest.cc
@@ -514,6 +566,10 @@ set(vod_src
 	src/model/SubmitTranscodeJobsResult.cc
 	src/model/SubmitWorkflowJobRequest.cc
 	src/model/SubmitWorkflowJobResult.cc
+	src/model/TagVodResourcesRequest.cc
+	src/model/TagVodResourcesResult.cc
+	src/model/UnTagVodResourcesRequest.cc
+	src/model/UnTagVodResourcesResult.cc
 	src/model/UpdateAITemplateRequest.cc
 	src/model/UpdateAITemplateResult.cc
 	src/model/UpdateAppInfoRequest.cc

+ 112 - 0
vod/include/alibabacloud/vod/VodClient.h

@@ -48,12 +48,16 @@
 #include "model/CreateAppInfoResult.h"
 #include "model/CreateAuditRequest.h"
 #include "model/CreateAuditResult.h"
+#include "model/CreateMediaDNALibRequest.h"
+#include "model/CreateMediaDNALibResult.h"
 #include "model/CreateUploadAttachedMediaRequest.h"
 #include "model/CreateUploadAttachedMediaResult.h"
 #include "model/CreateUploadImageRequest.h"
 #include "model/CreateUploadImageResult.h"
 #include "model/CreateUploadVideoRequest.h"
 #include "model/CreateUploadVideoResult.h"
+#include "model/DeleteAIImageInfosRequest.h"
+#include "model/DeleteAIImageInfosResult.h"
 #include "model/DeleteAITemplateRequest.h"
 #include "model/DeleteAITemplateResult.h"
 #include "model/DeleteAppInfoRequest.h"
@@ -62,6 +66,8 @@
 #include "model/DeleteAttachedMediaResult.h"
 #include "model/DeleteCategoryRequest.h"
 #include "model/DeleteCategoryResult.h"
+#include "model/DeleteDynamicImageRequest.h"
+#include "model/DeleteDynamicImageResult.h"
 #include "model/DeleteEditingProjectRequest.h"
 #include "model/DeleteEditingProjectResult.h"
 #include "model/DeleteImageRequest.h"
@@ -118,12 +124,18 @@
 #include "model/DescribeVodRefreshTasksResult.h"
 #include "model/DescribeVodStorageDataRequest.h"
 #include "model/DescribeVodStorageDataResult.h"
+#include "model/DescribeVodTagResourcesRequest.h"
+#include "model/DescribeVodTagResourcesResult.h"
 #include "model/DescribeVodTranscodeDataRequest.h"
 #include "model/DescribeVodTranscodeDataResult.h"
 #include "model/DescribeVodUserDomainsRequest.h"
 #include "model/DescribeVodUserDomainsResult.h"
+#include "model/DescribeVodUserTagsRequest.h"
+#include "model/DescribeVodUserTagsResult.h"
 #include "model/DetachAppPolicyFromIdentityRequest.h"
 #include "model/DetachAppPolicyFromIdentityResult.h"
+#include "model/GetAIImageJobsRequest.h"
+#include "model/GetAIImageJobsResult.h"
 #include "model/GetAIMediaAuditJobRequest.h"
 #include "model/GetAIMediaAuditJobResult.h"
 #include "model/GetAITemplateRequest.h"
@@ -138,6 +150,10 @@
 #include "model/GetAuditHistoryResult.h"
 #include "model/GetCategoriesRequest.h"
 #include "model/GetCategoriesResult.h"
+#include "model/GetDRMCertInfoRequest.h"
+#include "model/GetDRMCertInfoResult.h"
+#include "model/GetDRMLicenseRequest.h"
+#include "model/GetDRMLicenseResult.h"
 #include "model/GetDefaultAITemplateRequest.h"
 #include "model/GetDefaultAITemplateResult.h"
 #include "model/GetEditingProjectRequest.h"
@@ -184,6 +200,8 @@
 #include "model/GetVodTemplateResult.h"
 #include "model/GetWatermarkRequest.h"
 #include "model/GetWatermarkResult.h"
+#include "model/ListAIImageInfoRequest.h"
+#include "model/ListAIImageInfoResult.h"
 #include "model/ListAIJobRequest.h"
 #include "model/ListAIJobResult.h"
 #include "model/ListAITemplateRequest.h"
@@ -194,10 +212,14 @@
 #include "model/ListAppPoliciesForIdentityResult.h"
 #include "model/ListAuditSecurityIpRequest.h"
 #include "model/ListAuditSecurityIpResult.h"
+#include "model/ListDynamicImageRequest.h"
+#include "model/ListDynamicImageResult.h"
 #include "model/ListLiveRecordVideoRequest.h"
 #include "model/ListLiveRecordVideoResult.h"
 #include "model/ListMediaDNADeleteJobRequest.h"
 #include "model/ListMediaDNADeleteJobResult.h"
+#include "model/ListMediaDNALibsRequest.h"
+#include "model/ListMediaDNALibsResult.h"
 #include "model/ListSnapshotsRequest.h"
 #include "model/ListSnapshotsResult.h"
 #include "model/ListTranscodeTaskRequest.h"
@@ -238,6 +260,8 @@
 #include "model/SetMessageCallbackResult.h"
 #include "model/SetVodDomainCertificateRequest.h"
 #include "model/SetVodDomainCertificateResult.h"
+#include "model/SubmitAIImageJobRequest.h"
+#include "model/SubmitAIImageJobResult.h"
 #include "model/SubmitAIJobRequest.h"
 #include "model/SubmitAIJobResult.h"
 #include "model/SubmitAIMediaAuditJobRequest.h"
@@ -254,6 +278,10 @@
 #include "model/SubmitTranscodeJobsResult.h"
 #include "model/SubmitWorkflowJobRequest.h"
 #include "model/SubmitWorkflowJobResult.h"
+#include "model/TagVodResourcesRequest.h"
+#include "model/TagVodResourcesResult.h"
+#include "model/UnTagVodResourcesRequest.h"
+#include "model/UnTagVodResourcesResult.h"
 #include "model/UpdateAITemplateRequest.h"
 #include "model/UpdateAITemplateResult.h"
 #include "model/UpdateAppInfoRequest.h"
@@ -328,6 +356,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateAuditResult> CreateAuditOutcome;
 			typedef std::future<CreateAuditOutcome> CreateAuditOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::CreateAuditRequest&, const CreateAuditOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAuditAsyncHandler;
+			typedef Outcome<Error, Model::CreateMediaDNALibResult> CreateMediaDNALibOutcome;
+			typedef std::future<CreateMediaDNALibOutcome> CreateMediaDNALibOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::CreateMediaDNALibRequest&, const CreateMediaDNALibOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMediaDNALibAsyncHandler;
 			typedef Outcome<Error, Model::CreateUploadAttachedMediaResult> CreateUploadAttachedMediaOutcome;
 			typedef std::future<CreateUploadAttachedMediaOutcome> CreateUploadAttachedMediaOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::CreateUploadAttachedMediaRequest&, const CreateUploadAttachedMediaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUploadAttachedMediaAsyncHandler;
@@ -337,6 +368,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateUploadVideoResult> CreateUploadVideoOutcome;
 			typedef std::future<CreateUploadVideoOutcome> CreateUploadVideoOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::CreateUploadVideoRequest&, const CreateUploadVideoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUploadVideoAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAIImageInfosResult> DeleteAIImageInfosOutcome;
+			typedef std::future<DeleteAIImageInfosOutcome> DeleteAIImageInfosOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DeleteAIImageInfosRequest&, const DeleteAIImageInfosOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAIImageInfosAsyncHandler;
 			typedef Outcome<Error, Model::DeleteAITemplateResult> DeleteAITemplateOutcome;
 			typedef std::future<DeleteAITemplateOutcome> DeleteAITemplateOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DeleteAITemplateRequest&, const DeleteAITemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAITemplateAsyncHandler;
@@ -349,6 +383,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCategoryResult> DeleteCategoryOutcome;
 			typedef std::future<DeleteCategoryOutcome> DeleteCategoryOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DeleteCategoryRequest&, const DeleteCategoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCategoryAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDynamicImageResult> DeleteDynamicImageOutcome;
+			typedef std::future<DeleteDynamicImageOutcome> DeleteDynamicImageOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DeleteDynamicImageRequest&, const DeleteDynamicImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDynamicImageAsyncHandler;
 			typedef Outcome<Error, Model::DeleteEditingProjectResult> DeleteEditingProjectOutcome;
 			typedef std::future<DeleteEditingProjectOutcome> DeleteEditingProjectOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DeleteEditingProjectRequest&, const DeleteEditingProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEditingProjectAsyncHandler;
@@ -433,15 +470,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeVodStorageDataResult> DescribeVodStorageDataOutcome;
 			typedef std::future<DescribeVodStorageDataOutcome> DescribeVodStorageDataOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DescribeVodStorageDataRequest&, const DescribeVodStorageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodStorageDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVodTagResourcesResult> DescribeVodTagResourcesOutcome;
+			typedef std::future<DescribeVodTagResourcesOutcome> DescribeVodTagResourcesOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DescribeVodTagResourcesRequest&, const DescribeVodTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodTagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeVodTranscodeDataResult> DescribeVodTranscodeDataOutcome;
 			typedef std::future<DescribeVodTranscodeDataOutcome> DescribeVodTranscodeDataOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DescribeVodTranscodeDataRequest&, const DescribeVodTranscodeDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodTranscodeDataAsyncHandler;
 			typedef Outcome<Error, Model::DescribeVodUserDomainsResult> DescribeVodUserDomainsOutcome;
 			typedef std::future<DescribeVodUserDomainsOutcome> DescribeVodUserDomainsOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DescribeVodUserDomainsRequest&, const DescribeVodUserDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodUserDomainsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVodUserTagsResult> DescribeVodUserTagsOutcome;
+			typedef std::future<DescribeVodUserTagsOutcome> DescribeVodUserTagsOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DescribeVodUserTagsRequest&, const DescribeVodUserTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodUserTagsAsyncHandler;
 			typedef Outcome<Error, Model::DetachAppPolicyFromIdentityResult> DetachAppPolicyFromIdentityOutcome;
 			typedef std::future<DetachAppPolicyFromIdentityOutcome> DetachAppPolicyFromIdentityOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DetachAppPolicyFromIdentityRequest&, const DetachAppPolicyFromIdentityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachAppPolicyFromIdentityAsyncHandler;
+			typedef Outcome<Error, Model::GetAIImageJobsResult> GetAIImageJobsOutcome;
+			typedef std::future<GetAIImageJobsOutcome> GetAIImageJobsOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::GetAIImageJobsRequest&, const GetAIImageJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAIImageJobsAsyncHandler;
 			typedef Outcome<Error, Model::GetAIMediaAuditJobResult> GetAIMediaAuditJobOutcome;
 			typedef std::future<GetAIMediaAuditJobOutcome> GetAIMediaAuditJobOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::GetAIMediaAuditJobRequest&, const GetAIMediaAuditJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAIMediaAuditJobAsyncHandler;
@@ -463,6 +509,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetCategoriesResult> GetCategoriesOutcome;
 			typedef std::future<GetCategoriesOutcome> GetCategoriesOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::GetCategoriesRequest&, const GetCategoriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCategoriesAsyncHandler;
+			typedef Outcome<Error, Model::GetDRMCertInfoResult> GetDRMCertInfoOutcome;
+			typedef std::future<GetDRMCertInfoOutcome> GetDRMCertInfoOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::GetDRMCertInfoRequest&, const GetDRMCertInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDRMCertInfoAsyncHandler;
+			typedef Outcome<Error, Model::GetDRMLicenseResult> GetDRMLicenseOutcome;
+			typedef std::future<GetDRMLicenseOutcome> GetDRMLicenseOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::GetDRMLicenseRequest&, const GetDRMLicenseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDRMLicenseAsyncHandler;
 			typedef Outcome<Error, Model::GetDefaultAITemplateResult> GetDefaultAITemplateOutcome;
 			typedef std::future<GetDefaultAITemplateOutcome> GetDefaultAITemplateOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::GetDefaultAITemplateRequest&, const GetDefaultAITemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDefaultAITemplateAsyncHandler;
@@ -532,6 +584,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetWatermarkResult> GetWatermarkOutcome;
 			typedef std::future<GetWatermarkOutcome> GetWatermarkOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::GetWatermarkRequest&, const GetWatermarkOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetWatermarkAsyncHandler;
+			typedef Outcome<Error, Model::ListAIImageInfoResult> ListAIImageInfoOutcome;
+			typedef std::future<ListAIImageInfoOutcome> ListAIImageInfoOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::ListAIImageInfoRequest&, const ListAIImageInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAIImageInfoAsyncHandler;
 			typedef Outcome<Error, Model::ListAIJobResult> ListAIJobOutcome;
 			typedef std::future<ListAIJobOutcome> ListAIJobOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListAIJobRequest&, const ListAIJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAIJobAsyncHandler;
@@ -547,12 +602,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListAuditSecurityIpResult> ListAuditSecurityIpOutcome;
 			typedef std::future<ListAuditSecurityIpOutcome> ListAuditSecurityIpOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListAuditSecurityIpRequest&, const ListAuditSecurityIpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAuditSecurityIpAsyncHandler;
+			typedef Outcome<Error, Model::ListDynamicImageResult> ListDynamicImageOutcome;
+			typedef std::future<ListDynamicImageOutcome> ListDynamicImageOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::ListDynamicImageRequest&, const ListDynamicImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDynamicImageAsyncHandler;
 			typedef Outcome<Error, Model::ListLiveRecordVideoResult> ListLiveRecordVideoOutcome;
 			typedef std::future<ListLiveRecordVideoOutcome> ListLiveRecordVideoOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListLiveRecordVideoRequest&, const ListLiveRecordVideoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListLiveRecordVideoAsyncHandler;
 			typedef Outcome<Error, Model::ListMediaDNADeleteJobResult> ListMediaDNADeleteJobOutcome;
 			typedef std::future<ListMediaDNADeleteJobOutcome> ListMediaDNADeleteJobOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListMediaDNADeleteJobRequest&, const ListMediaDNADeleteJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMediaDNADeleteJobAsyncHandler;
+			typedef Outcome<Error, Model::ListMediaDNALibsResult> ListMediaDNALibsOutcome;
+			typedef std::future<ListMediaDNALibsOutcome> ListMediaDNALibsOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::ListMediaDNALibsRequest&, const ListMediaDNALibsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMediaDNALibsAsyncHandler;
 			typedef Outcome<Error, Model::ListSnapshotsResult> ListSnapshotsOutcome;
 			typedef std::future<ListSnapshotsOutcome> ListSnapshotsOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListSnapshotsRequest&, const ListSnapshotsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListSnapshotsAsyncHandler;
@@ -613,6 +674,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetVodDomainCertificateResult> SetVodDomainCertificateOutcome;
 			typedef std::future<SetVodDomainCertificateOutcome> SetVodDomainCertificateOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SetVodDomainCertificateRequest&, const SetVodDomainCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetVodDomainCertificateAsyncHandler;
+			typedef Outcome<Error, Model::SubmitAIImageJobResult> SubmitAIImageJobOutcome;
+			typedef std::future<SubmitAIImageJobOutcome> SubmitAIImageJobOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::SubmitAIImageJobRequest&, const SubmitAIImageJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitAIImageJobAsyncHandler;
 			typedef Outcome<Error, Model::SubmitAIJobResult> SubmitAIJobOutcome;
 			typedef std::future<SubmitAIJobOutcome> SubmitAIJobOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SubmitAIJobRequest&, const SubmitAIJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitAIJobAsyncHandler;
@@ -637,6 +701,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SubmitWorkflowJobResult> SubmitWorkflowJobOutcome;
 			typedef std::future<SubmitWorkflowJobOutcome> SubmitWorkflowJobOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SubmitWorkflowJobRequest&, const SubmitWorkflowJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitWorkflowJobAsyncHandler;
+			typedef Outcome<Error, Model::TagVodResourcesResult> TagVodResourcesOutcome;
+			typedef std::future<TagVodResourcesOutcome> TagVodResourcesOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::TagVodResourcesRequest&, const TagVodResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagVodResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UnTagVodResourcesResult> UnTagVodResourcesOutcome;
+			typedef std::future<UnTagVodResourcesOutcome> UnTagVodResourcesOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::UnTagVodResourcesRequest&, const UnTagVodResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnTagVodResourcesAsyncHandler;
 			typedef Outcome<Error, Model::UpdateAITemplateResult> UpdateAITemplateOutcome;
 			typedef std::future<UpdateAITemplateOutcome> UpdateAITemplateOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::UpdateAITemplateRequest&, const UpdateAITemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAITemplateAsyncHandler;
@@ -720,6 +790,9 @@ namespace AlibabaCloud
 			CreateAuditOutcome createAudit(const Model::CreateAuditRequest &request)const;
 			void createAuditAsync(const Model::CreateAuditRequest& request, const CreateAuditAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateAuditOutcomeCallable createAuditCallable(const Model::CreateAuditRequest& request) const;
+			CreateMediaDNALibOutcome createMediaDNALib(const Model::CreateMediaDNALibRequest &request)const;
+			void createMediaDNALibAsync(const Model::CreateMediaDNALibRequest& request, const CreateMediaDNALibAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateMediaDNALibOutcomeCallable createMediaDNALibCallable(const Model::CreateMediaDNALibRequest& request) const;
 			CreateUploadAttachedMediaOutcome createUploadAttachedMedia(const Model::CreateUploadAttachedMediaRequest &request)const;
 			void createUploadAttachedMediaAsync(const Model::CreateUploadAttachedMediaRequest& request, const CreateUploadAttachedMediaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateUploadAttachedMediaOutcomeCallable createUploadAttachedMediaCallable(const Model::CreateUploadAttachedMediaRequest& request) const;
@@ -729,6 +802,9 @@ namespace AlibabaCloud
 			CreateUploadVideoOutcome createUploadVideo(const Model::CreateUploadVideoRequest &request)const;
 			void createUploadVideoAsync(const Model::CreateUploadVideoRequest& request, const CreateUploadVideoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateUploadVideoOutcomeCallable createUploadVideoCallable(const Model::CreateUploadVideoRequest& request) const;
+			DeleteAIImageInfosOutcome deleteAIImageInfos(const Model::DeleteAIImageInfosRequest &request)const;
+			void deleteAIImageInfosAsync(const Model::DeleteAIImageInfosRequest& request, const DeleteAIImageInfosAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAIImageInfosOutcomeCallable deleteAIImageInfosCallable(const Model::DeleteAIImageInfosRequest& request) const;
 			DeleteAITemplateOutcome deleteAITemplate(const Model::DeleteAITemplateRequest &request)const;
 			void deleteAITemplateAsync(const Model::DeleteAITemplateRequest& request, const DeleteAITemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteAITemplateOutcomeCallable deleteAITemplateCallable(const Model::DeleteAITemplateRequest& request) const;
@@ -741,6 +817,9 @@ namespace AlibabaCloud
 			DeleteCategoryOutcome deleteCategory(const Model::DeleteCategoryRequest &request)const;
 			void deleteCategoryAsync(const Model::DeleteCategoryRequest& request, const DeleteCategoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCategoryOutcomeCallable deleteCategoryCallable(const Model::DeleteCategoryRequest& request) const;
+			DeleteDynamicImageOutcome deleteDynamicImage(const Model::DeleteDynamicImageRequest &request)const;
+			void deleteDynamicImageAsync(const Model::DeleteDynamicImageRequest& request, const DeleteDynamicImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDynamicImageOutcomeCallable deleteDynamicImageCallable(const Model::DeleteDynamicImageRequest& request) const;
 			DeleteEditingProjectOutcome deleteEditingProject(const Model::DeleteEditingProjectRequest &request)const;
 			void deleteEditingProjectAsync(const Model::DeleteEditingProjectRequest& request, const DeleteEditingProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteEditingProjectOutcomeCallable deleteEditingProjectCallable(const Model::DeleteEditingProjectRequest& request) const;
@@ -825,15 +904,24 @@ namespace AlibabaCloud
 			DescribeVodStorageDataOutcome describeVodStorageData(const Model::DescribeVodStorageDataRequest &request)const;
 			void describeVodStorageDataAsync(const Model::DescribeVodStorageDataRequest& request, const DescribeVodStorageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVodStorageDataOutcomeCallable describeVodStorageDataCallable(const Model::DescribeVodStorageDataRequest& request) const;
+			DescribeVodTagResourcesOutcome describeVodTagResources(const Model::DescribeVodTagResourcesRequest &request)const;
+			void describeVodTagResourcesAsync(const Model::DescribeVodTagResourcesRequest& request, const DescribeVodTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeVodTagResourcesOutcomeCallable describeVodTagResourcesCallable(const Model::DescribeVodTagResourcesRequest& request) const;
 			DescribeVodTranscodeDataOutcome describeVodTranscodeData(const Model::DescribeVodTranscodeDataRequest &request)const;
 			void describeVodTranscodeDataAsync(const Model::DescribeVodTranscodeDataRequest& request, const DescribeVodTranscodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVodTranscodeDataOutcomeCallable describeVodTranscodeDataCallable(const Model::DescribeVodTranscodeDataRequest& request) const;
 			DescribeVodUserDomainsOutcome describeVodUserDomains(const Model::DescribeVodUserDomainsRequest &request)const;
 			void describeVodUserDomainsAsync(const Model::DescribeVodUserDomainsRequest& request, const DescribeVodUserDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVodUserDomainsOutcomeCallable describeVodUserDomainsCallable(const Model::DescribeVodUserDomainsRequest& request) const;
+			DescribeVodUserTagsOutcome describeVodUserTags(const Model::DescribeVodUserTagsRequest &request)const;
+			void describeVodUserTagsAsync(const Model::DescribeVodUserTagsRequest& request, const DescribeVodUserTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeVodUserTagsOutcomeCallable describeVodUserTagsCallable(const Model::DescribeVodUserTagsRequest& request) const;
 			DetachAppPolicyFromIdentityOutcome detachAppPolicyFromIdentity(const Model::DetachAppPolicyFromIdentityRequest &request)const;
 			void detachAppPolicyFromIdentityAsync(const Model::DetachAppPolicyFromIdentityRequest& request, const DetachAppPolicyFromIdentityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DetachAppPolicyFromIdentityOutcomeCallable detachAppPolicyFromIdentityCallable(const Model::DetachAppPolicyFromIdentityRequest& request) const;
+			GetAIImageJobsOutcome getAIImageJobs(const Model::GetAIImageJobsRequest &request)const;
+			void getAIImageJobsAsync(const Model::GetAIImageJobsRequest& request, const GetAIImageJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAIImageJobsOutcomeCallable getAIImageJobsCallable(const Model::GetAIImageJobsRequest& request) const;
 			GetAIMediaAuditJobOutcome getAIMediaAuditJob(const Model::GetAIMediaAuditJobRequest &request)const;
 			void getAIMediaAuditJobAsync(const Model::GetAIMediaAuditJobRequest& request, const GetAIMediaAuditJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetAIMediaAuditJobOutcomeCallable getAIMediaAuditJobCallable(const Model::GetAIMediaAuditJobRequest& request) const;
@@ -855,6 +943,12 @@ namespace AlibabaCloud
 			GetCategoriesOutcome getCategories(const Model::GetCategoriesRequest &request)const;
 			void getCategoriesAsync(const Model::GetCategoriesRequest& request, const GetCategoriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetCategoriesOutcomeCallable getCategoriesCallable(const Model::GetCategoriesRequest& request) const;
+			GetDRMCertInfoOutcome getDRMCertInfo(const Model::GetDRMCertInfoRequest &request)const;
+			void getDRMCertInfoAsync(const Model::GetDRMCertInfoRequest& request, const GetDRMCertInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDRMCertInfoOutcomeCallable getDRMCertInfoCallable(const Model::GetDRMCertInfoRequest& request) const;
+			GetDRMLicenseOutcome getDRMLicense(const Model::GetDRMLicenseRequest &request)const;
+			void getDRMLicenseAsync(const Model::GetDRMLicenseRequest& request, const GetDRMLicenseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDRMLicenseOutcomeCallable getDRMLicenseCallable(const Model::GetDRMLicenseRequest& request) const;
 			GetDefaultAITemplateOutcome getDefaultAITemplate(const Model::GetDefaultAITemplateRequest &request)const;
 			void getDefaultAITemplateAsync(const Model::GetDefaultAITemplateRequest& request, const GetDefaultAITemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDefaultAITemplateOutcomeCallable getDefaultAITemplateCallable(const Model::GetDefaultAITemplateRequest& request) const;
@@ -924,6 +1018,9 @@ namespace AlibabaCloud
 			GetWatermarkOutcome getWatermark(const Model::GetWatermarkRequest &request)const;
 			void getWatermarkAsync(const Model::GetWatermarkRequest& request, const GetWatermarkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetWatermarkOutcomeCallable getWatermarkCallable(const Model::GetWatermarkRequest& request) const;
+			ListAIImageInfoOutcome listAIImageInfo(const Model::ListAIImageInfoRequest &request)const;
+			void listAIImageInfoAsync(const Model::ListAIImageInfoRequest& request, const ListAIImageInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListAIImageInfoOutcomeCallable listAIImageInfoCallable(const Model::ListAIImageInfoRequest& request) const;
 			ListAIJobOutcome listAIJob(const Model::ListAIJobRequest &request)const;
 			void listAIJobAsync(const Model::ListAIJobRequest& request, const ListAIJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAIJobOutcomeCallable listAIJobCallable(const Model::ListAIJobRequest& request) const;
@@ -939,12 +1036,18 @@ namespace AlibabaCloud
 			ListAuditSecurityIpOutcome listAuditSecurityIp(const Model::ListAuditSecurityIpRequest &request)const;
 			void listAuditSecurityIpAsync(const Model::ListAuditSecurityIpRequest& request, const ListAuditSecurityIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAuditSecurityIpOutcomeCallable listAuditSecurityIpCallable(const Model::ListAuditSecurityIpRequest& request) const;
+			ListDynamicImageOutcome listDynamicImage(const Model::ListDynamicImageRequest &request)const;
+			void listDynamicImageAsync(const Model::ListDynamicImageRequest& request, const ListDynamicImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListDynamicImageOutcomeCallable listDynamicImageCallable(const Model::ListDynamicImageRequest& request) const;
 			ListLiveRecordVideoOutcome listLiveRecordVideo(const Model::ListLiveRecordVideoRequest &request)const;
 			void listLiveRecordVideoAsync(const Model::ListLiveRecordVideoRequest& request, const ListLiveRecordVideoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListLiveRecordVideoOutcomeCallable listLiveRecordVideoCallable(const Model::ListLiveRecordVideoRequest& request) const;
 			ListMediaDNADeleteJobOutcome listMediaDNADeleteJob(const Model::ListMediaDNADeleteJobRequest &request)const;
 			void listMediaDNADeleteJobAsync(const Model::ListMediaDNADeleteJobRequest& request, const ListMediaDNADeleteJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMediaDNADeleteJobOutcomeCallable listMediaDNADeleteJobCallable(const Model::ListMediaDNADeleteJobRequest& request) const;
+			ListMediaDNALibsOutcome listMediaDNALibs(const Model::ListMediaDNALibsRequest &request)const;
+			void listMediaDNALibsAsync(const Model::ListMediaDNALibsRequest& request, const ListMediaDNALibsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListMediaDNALibsOutcomeCallable listMediaDNALibsCallable(const Model::ListMediaDNALibsRequest& request) const;
 			ListSnapshotsOutcome listSnapshots(const Model::ListSnapshotsRequest &request)const;
 			void listSnapshotsAsync(const Model::ListSnapshotsRequest& request, const ListSnapshotsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListSnapshotsOutcomeCallable listSnapshotsCallable(const Model::ListSnapshotsRequest& request) const;
@@ -1005,6 +1108,9 @@ namespace AlibabaCloud
 			SetVodDomainCertificateOutcome setVodDomainCertificate(const Model::SetVodDomainCertificateRequest &request)const;
 			void setVodDomainCertificateAsync(const Model::SetVodDomainCertificateRequest& request, const SetVodDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetVodDomainCertificateOutcomeCallable setVodDomainCertificateCallable(const Model::SetVodDomainCertificateRequest& request) const;
+			SubmitAIImageJobOutcome submitAIImageJob(const Model::SubmitAIImageJobRequest &request)const;
+			void submitAIImageJobAsync(const Model::SubmitAIImageJobRequest& request, const SubmitAIImageJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SubmitAIImageJobOutcomeCallable submitAIImageJobCallable(const Model::SubmitAIImageJobRequest& request) const;
 			SubmitAIJobOutcome submitAIJob(const Model::SubmitAIJobRequest &request)const;
 			void submitAIJobAsync(const Model::SubmitAIJobRequest& request, const SubmitAIJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SubmitAIJobOutcomeCallable submitAIJobCallable(const Model::SubmitAIJobRequest& request) const;
@@ -1029,6 +1135,12 @@ namespace AlibabaCloud
 			SubmitWorkflowJobOutcome submitWorkflowJob(const Model::SubmitWorkflowJobRequest &request)const;
 			void submitWorkflowJobAsync(const Model::SubmitWorkflowJobRequest& request, const SubmitWorkflowJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SubmitWorkflowJobOutcomeCallable submitWorkflowJobCallable(const Model::SubmitWorkflowJobRequest& request) const;
+			TagVodResourcesOutcome tagVodResources(const Model::TagVodResourcesRequest &request)const;
+			void tagVodResourcesAsync(const Model::TagVodResourcesRequest& request, const TagVodResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagVodResourcesOutcomeCallable tagVodResourcesCallable(const Model::TagVodResourcesRequest& request) const;
+			UnTagVodResourcesOutcome unTagVodResources(const Model::UnTagVodResourcesRequest &request)const;
+			void unTagVodResourcesAsync(const Model::UnTagVodResourcesRequest& request, const UnTagVodResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnTagVodResourcesOutcomeCallable unTagVodResourcesCallable(const Model::UnTagVodResourcesRequest& request) const;
 			UpdateAITemplateOutcome updateAITemplate(const Model::UpdateAITemplateRequest &request)const;
 			void updateAITemplateAsync(const Model::UpdateAITemplateRequest& request, const UpdateAITemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateAITemplateOutcomeCallable updateAITemplateCallable(const Model::UpdateAITemplateRequest& request) const;

+ 66 - 0
vod/include/alibabacloud/vod/model/CreateMediaDNALibRequest.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_VOD_MODEL_CREATEMEDIADNALIBREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_CREATEMEDIADNALIBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT CreateMediaDNALibRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateMediaDNALibRequest();
+				~CreateMediaDNALibRequest();
+
+				std::string getResourceOwnerId()const;
+				void setResourceOwnerId(const std::string& resourceOwnerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getModelType()const;
+				void setModelType(const std::string& modelType);
+				std::string getLibRegion()const;
+				void setLibRegion(const std::string& libRegion);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+
+            private:
+				std::string resourceOwnerId_;
+				std::string accessKeyId_;
+				std::string modelType_;
+				std::string libRegion_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_CREATEMEDIADNALIBREQUEST_H_

+ 57 - 0
vod/include/alibabacloud/vod/model/CreateMediaDNALibResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_CREATEMEDIADNALIBRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_CREATEMEDIADNALIBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT CreateMediaDNALibResult : public ServiceResult
+			{
+			public:
+				struct AIDNALibInfo
+				{
+					std::string state;
+					std::string modelType;
+					std::string fpDBId;
+				};
+
+
+				CreateMediaDNALibResult();
+				explicit CreateMediaDNALibResult(const std::string &payload);
+				~CreateMediaDNALibResult();
+				AIDNALibInfo getAIDNALibInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				AIDNALibInfo aIDNALibInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_CREATEMEDIADNALIBRESULT_H_

+ 60 - 0
vod/include/alibabacloud/vod/model/DeleteAIImageInfosRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_VOD_MODEL_DELETEAIIMAGEINFOSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DELETEAIIMAGEINFOSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DeleteAIImageInfosRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteAIImageInfosRequest();
+				~DeleteAIImageInfosRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getAIImageInfoIds()const;
+				void setAIImageInfoIds(const std::string& aIImageInfoIds);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				long ownerId_;
+				std::string accessKeyId_;
+				std::string aIImageInfoIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DELETEAIIMAGEINFOSREQUEST_H_

+ 49 - 0
vod/include/alibabacloud/vod/model/DeleteAIImageInfosResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DELETEAIIMAGEINFOSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DELETEAIIMAGEINFOSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DeleteAIImageInfosResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAIImageInfosResult();
+				explicit DeleteAIImageInfosResult(const std::string &payload);
+				~DeleteAIImageInfosResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DELETEAIIMAGEINFOSRESULT_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/DeleteDynamicImageRequest.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_VOD_MODEL_DELETEDYNAMICIMAGEREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DELETEDYNAMICIMAGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DeleteDynamicImageRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDynamicImageRequest();
+				~DeleteDynamicImageRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getDynamicImageIds()const;
+				void setDynamicImageIds(const std::string& dynamicImageIds);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string videoId_;
+				long ownerId_;
+				std::string accessKeyId_;
+				std::string dynamicImageIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DELETEDYNAMICIMAGEREQUEST_H_

+ 49 - 0
vod/include/alibabacloud/vod/model/DeleteDynamicImageResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DELETEDYNAMICIMAGERESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DELETEDYNAMICIMAGERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DeleteDynamicImageResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDynamicImageResult();
+				explicit DeleteDynamicImageResult(const std::string &payload);
+				~DeleteDynamicImageResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DELETEDYNAMICIMAGERESULT_H_

+ 66 - 0
vod/include/alibabacloud/vod/model/DescribeVodTagResourcesRequest.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_VOD_MODEL_DESCRIBEVODTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DescribeVodTagResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+
+			public:
+				DescribeVodTagResourcesRequest();
+				~DescribeVodTagResourcesRequest();
+
+				std::string getScope()const;
+				void setScope(const std::string& scope);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+
+            private:
+				std::string scope_;
+				std::vector<Tag> tag_;
+				std::vector<std::string> resourceId_;
+				long ownerId_;
+				std::string resourceType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTAGRESOURCESREQUEST_H_

+ 61 - 0
vod/include/alibabacloud/vod/model/DescribeVodTagResourcesResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DescribeVodTagResourcesResult : public ServiceResult
+			{
+			public:
+				struct TagResource
+				{
+					struct TagItem
+					{
+						std::string value;
+						std::string key;
+					};
+					std::string resourceId;
+					std::vector<TagResource::TagItem> tag;
+				};
+
+
+				DescribeVodTagResourcesResult();
+				explicit DescribeVodTagResourcesResult(const std::string &payload);
+				~DescribeVodTagResourcesResult();
+				std::vector<TagResource> getTagResources()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<TagResource> tagResources_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTAGRESOURCESRESULT_H_

+ 9 - 0
vod/include/alibabacloud/vod/model/DescribeVodUserDomainsRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_VOD_EXPORT DescribeVodUserDomainsRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				DescribeVodUserDomainsRequest();
@@ -45,6 +51,8 @@ namespace AlibabaCloud
 				void setCdnType(const std::string& cdnType);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getFuncFilter()const;
 				void setFuncFilter(const std::string& funcFilter);
 				std::string getDomainName()const;
@@ -64,6 +72,7 @@ namespace AlibabaCloud
 				std::string securityToken_;
 				std::string cdnType_;
 				int pageSize_;
+				std::vector<Tag> tag_;
 				std::string funcFilter_;
 				std::string domainName_;
 				long ownerId_;

+ 48 - 0
vod/include/alibabacloud/vod/model/DescribeVodUserTagsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DescribeVodUserTagsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVodUserTagsRequest();
+				~DescribeVodUserTagsRequest();
+
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSREQUEST_H_

+ 56 - 0
vod/include/alibabacloud/vod/model/DescribeVodUserTagsResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT DescribeVodUserTagsResult : public ServiceResult
+			{
+			public:
+				struct Tag
+				{
+					std::vector<std::string> value;
+					std::string key;
+				};
+
+
+				DescribeVodUserTagsResult();
+				explicit DescribeVodUserTagsResult(const std::string &payload);
+				~DescribeVodUserTagsResult();
+				std::vector<Tag> getTags()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Tag> tags_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODUSERTAGSRESULT_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/GetAIImageJobsRequest.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_VOD_MODEL_GETAIIMAGEJOBSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_GETAIIMAGEJOBSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetAIImageJobsRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetAIImageJobsRequest();
+				~GetAIImageJobsRequest();
+
+				std::string getResourceOwnerId()const;
+				void setResourceOwnerId(const std::string& resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getJobIds()const;
+				void setJobIds(const std::string& jobIds);
+
+            private:
+				std::string resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string ownerId_;
+				std::string accessKeyId_;
+				std::string jobIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETAIIMAGEJOBSREQUEST_H_

+ 64 - 0
vod/include/alibabacloud/vod/model/GetAIImageJobsResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_GETAIIMAGEJOBSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_GETAIIMAGEJOBSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetAIImageJobsResult : public ServiceResult
+			{
+			public:
+				struct AIImageJob
+				{
+					std::string status;
+					std::string videoId;
+					std::string message;
+					std::string userData;
+					std::string creationTime;
+					std::string aIImageResult;
+					std::string templateConfig;
+					std::string code;
+					std::string jobId;
+					std::string templateId;
+				};
+
+
+				GetAIImageJobsResult();
+				explicit GetAIImageJobsResult(const std::string &payload);
+				~GetAIImageJobsResult();
+				std::vector<AIImageJob> getAIImageJobList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AIImageJob> aIImageJobList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETAIIMAGEJOBSRESULT_H_

+ 57 - 0
vod/include/alibabacloud/vod/model/GetDRMCertInfoRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFOREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetDRMCertInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetDRMCertInfoRequest();
+				~GetDRMCertInfoRequest();
+
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				std::string getCertId()const;
+				void setCertId(const std::string& certId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string resourceOwnerAccount_;
+				std::string videoId_;
+				std::string certId_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFOREQUEST_H_

+ 51 - 0
vod/include/alibabacloud/vod/model/GetDRMCertInfoResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFORESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetDRMCertInfoResult : public ServiceResult
+			{
+			public:
+
+
+				GetDRMCertInfoResult();
+				explicit GetDRMCertInfoResult(const std::string &payload);
+				~GetDRMCertInfoResult();
+				std::string getDRMCertInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string dRMCertInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETDRMCERTINFORESULT_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/GetDRMLicenseRequest.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_VOD_MODEL_GETDRMLICENSEREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_GETDRMLICENSEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetDRMLicenseRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetDRMLicenseRequest();
+				~GetDRMLicenseRequest();
+
+				std::string getCDMData()const;
+				void setCDMData(const std::string& cDMData);
+				std::string getCertId()const;
+				void setCertId(const std::string& certId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getDRMType()const;
+				void setDRMType(const std::string& dRMType);
+
+            private:
+				std::string cDMData_;
+				std::string certId_;
+				std::string resourceOwnerAccount_;
+				std::string videoId_;
+				long ownerId_;
+				std::string dRMType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETDRMLICENSEREQUEST_H_

+ 51 - 0
vod/include/alibabacloud/vod/model/GetDRMLicenseResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_GETDRMLICENSERESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_GETDRMLICENSERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT GetDRMLicenseResult : public ServiceResult
+			{
+			public:
+
+
+				GetDRMLicenseResult();
+				explicit GetDRMLicenseResult(const std::string &payload);
+				~GetDRMLicenseResult();
+				std::string getLicense()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string license_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETDRMLICENSERESULT_H_

+ 60 - 0
vod/include/alibabacloud/vod/model/ListAIImageInfoRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_VOD_MODEL_LISTAIIMAGEINFOREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTAIIMAGEINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListAIImageInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListAIImageInfoRequest();
+				~ListAIImageInfoRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string videoId_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTAIIMAGEINFOREQUEST_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/ListAIImageInfoResult.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_VOD_MODEL_LISTAIIMAGEINFORESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTAIIMAGEINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListAIImageInfoResult : public ServiceResult
+			{
+			public:
+				struct AIImageInfo
+				{
+					std::string fileURL;
+					std::string score;
+					std::string videoId;
+					std::string format;
+					std::string version;
+					std::string creationTime;
+					std::string aIImageInfoId;
+					std::string time;
+					std::string jobId;
+				};
+
+
+				ListAIImageInfoResult();
+				explicit ListAIImageInfoResult(const std::string &payload);
+				~ListAIImageInfoResult();
+				std::vector<AIImageInfo> getAIImageInfoList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AIImageInfo> aIImageInfoList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTAIIMAGEINFORESULT_H_

+ 60 - 0
vod/include/alibabacloud/vod/model/ListDynamicImageRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_VOD_MODEL_LISTDYNAMICIMAGEREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTDYNAMICIMAGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListDynamicImageRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListDynamicImageRequest();
+				~ListDynamicImageRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string videoId_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTDYNAMICIMAGEREQUEST_H_

+ 65 - 0
vod/include/alibabacloud/vod/model/ListDynamicImageResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_LISTDYNAMICIMAGERESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTDYNAMICIMAGERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListDynamicImageResult : public ServiceResult
+			{
+			public:
+				struct DynamicImage
+				{
+					std::string fileURL;
+					std::string videoId;
+					std::string format;
+					std::string fps;
+					std::string creationTime;
+					std::string dynamicImageId;
+					std::string height;
+					std::string duration;
+					std::string width;
+					std::string jobId;
+					std::string fileSize;
+				};
+
+
+				ListDynamicImageResult();
+				explicit ListDynamicImageResult(const std::string &payload);
+				~ListDynamicImageResult();
+				std::vector<DynamicImage> getDynamicImageList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DynamicImage> dynamicImageList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTDYNAMICIMAGERESULT_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/ListMediaDNALibsRequest.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_VOD_MODEL_LISTMEDIADNALIBSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTMEDIADNALIBSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListMediaDNALibsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListMediaDNALibsRequest();
+				~ListMediaDNALibsRequest();
+
+				std::string getResourceOwnerId()const;
+				void setResourceOwnerId(const std::string& resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getLibRegion()const;
+				void setLibRegion(const std::string& libRegion);
+
+            private:
+				std::string resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string ownerId_;
+				std::string accessKeyId_;
+				std::string libRegion_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTMEDIADNALIBSREQUEST_H_

+ 57 - 0
vod/include/alibabacloud/vod/model/ListMediaDNALibsResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_LISTMEDIADNALIBSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_LISTMEDIADNALIBSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT ListMediaDNALibsResult : public ServiceResult
+			{
+			public:
+				struct AIDNALibInfo
+				{
+					std::string state;
+					std::string modelType;
+					std::string fpDBId;
+				};
+
+
+				ListMediaDNALibsResult();
+				explicit ListMediaDNALibsResult(const std::string &payload);
+				~ListMediaDNALibsResult();
+				std::vector<AIDNALibInfo> getAIDNALibInfoList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AIDNALibInfo> aIDNALibInfoList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_LISTMEDIADNALIBSRESULT_H_

+ 2 - 0
vod/include/alibabacloud/vod/model/SearchMediaResult.h

@@ -72,6 +72,7 @@ namespace AlibabaCloud
 						std::string status;
 						std::string videoId;
 						std::string downloadSwitch;
+						std::string auditLabel;
 						std::string title;
 						float duration;
 						std::string auditStatus;
@@ -79,6 +80,7 @@ namespace AlibabaCloud
 						std::string customMediaInfo;
 						std::string appId;
 						std::string transcodeMode;
+						std::string auditAbnormalModules;
 						std::string creationTime;
 						std::string coverURL;
 						std::string regionId;

+ 72 - 0
vod/include/alibabacloud/vod/model/SubmitAIImageJobRequest.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_VOD_MODEL_SUBMITAIIMAGEJOBREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_SUBMITAIIMAGEJOBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT SubmitAIImageJobRequest : public RpcServiceRequest
+			{
+
+			public:
+				SubmitAIImageJobRequest();
+				~SubmitAIImageJobRequest();
+
+				std::string getResourceOwnerId()const;
+				void setResourceOwnerId(const std::string& resourceOwnerId);
+				std::string getAIPipelineId()const;
+				void setAIPipelineId(const std::string& aIPipelineId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getUserData()const;
+				void setUserData(const std::string& userData);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getVideoId()const;
+				void setVideoId(const std::string& videoId);
+				std::string getAITemplateId()const;
+				void setAITemplateId(const std::string& aITemplateId);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+
+            private:
+				std::string resourceOwnerId_;
+				std::string aIPipelineId_;
+				std::string accessKeyId_;
+				std::string userData_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string videoId_;
+				std::string aITemplateId_;
+				std::string ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_SUBMITAIIMAGEJOBREQUEST_H_

+ 51 - 0
vod/include/alibabacloud/vod/model/SubmitAIImageJobResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_SUBMITAIIMAGEJOBRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_SUBMITAIIMAGEJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT SubmitAIImageJobResult : public ServiceResult
+			{
+			public:
+
+
+				SubmitAIImageJobResult();
+				explicit SubmitAIImageJobResult(const std::string &payload);
+				~SubmitAIImageJobResult();
+				std::string getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_SUBMITAIIMAGEJOBRESULT_H_

+ 3 - 0
vod/include/alibabacloud/vod/model/SubmitAIMediaAuditJobRequest.h

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setMediaId(const std::string& mediaId);
 				std::string getTemplateId()const;
 				void setTemplateId(const std::string& templateId);
+				std::string getMediaAuditConfiguration()const;
+				void setMediaAuditConfiguration(const std::string& mediaAuditConfiguration);
 				std::string getMediaType()const;
 				void setMediaType(const std::string& mediaType);
 
@@ -60,6 +62,7 @@ namespace AlibabaCloud
 				std::string ownerId_;
 				std::string mediaId_;
 				std::string templateId_;
+				std::string mediaAuditConfiguration_;
 				std::string mediaType_;
 
 			};

+ 63 - 0
vod/include/alibabacloud/vod/model/TagVodResourcesRequest.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_VOD_MODEL_TAGVODRESOURCESREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_TAGVODRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT TagVodResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+
+			public:
+				TagVodResourcesRequest();
+				~TagVodResourcesRequest();
+
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+
+            private:
+				std::vector<Tag> tag_;
+				std::vector<std::string> resourceId_;
+				long ownerId_;
+				std::string resourceType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_TAGVODRESOURCESREQUEST_H_

+ 49 - 0
vod/include/alibabacloud/vod/model/TagVodResourcesResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_TAGVODRESOURCESRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_TAGVODRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT TagVodResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				TagVodResourcesResult();
+				explicit TagVodResourcesResult(const std::string &payload);
+				~TagVodResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_TAGVODRESOURCESRESULT_H_

+ 57 - 0
vod/include/alibabacloud/vod/model/UnTagVodResourcesRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT UnTagVodResourcesRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnTagVodResourcesRequest();
+				~UnTagVodResourcesRequest();
+
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				std::vector<std::string> getTagKey()const;
+				void setTagKey(const std::vector<std::string>& tagKey);
+
+            private:
+				std::vector<std::string> resourceId_;
+				long ownerId_;
+				std::string resourceType_;
+				std::vector<std::string> tagKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESREQUEST_H_

+ 49 - 0
vod/include/alibabacloud/vod/model/UnTagVodResourcesResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT UnTagVodResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				UnTagVodResourcesResult();
+				explicit UnTagVodResourcesResult(const std::string &payload);
+				~UnTagVodResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_UNTAGVODRESOURCESRESULT_H_

+ 504 - 0
vod/src/VodClient.cc

@@ -519,6 +519,42 @@ VodClient::CreateAuditOutcomeCallable VodClient::createAuditCallable(const Creat
 	return task->get_future();
 }
 
+VodClient::CreateMediaDNALibOutcome VodClient::createMediaDNALib(const CreateMediaDNALibRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateMediaDNALibOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateMediaDNALibOutcome(CreateMediaDNALibResult(outcome.result()));
+	else
+		return CreateMediaDNALibOutcome(outcome.error());
+}
+
+void VodClient::createMediaDNALibAsync(const CreateMediaDNALibRequest& request, const CreateMediaDNALibAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createMediaDNALib(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::CreateMediaDNALibOutcomeCallable VodClient::createMediaDNALibCallable(const CreateMediaDNALibRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateMediaDNALibOutcome()>>(
+			[this, request]()
+			{
+			return this->createMediaDNALib(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::CreateUploadAttachedMediaOutcome VodClient::createUploadAttachedMedia(const CreateUploadAttachedMediaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -627,6 +663,42 @@ VodClient::CreateUploadVideoOutcomeCallable VodClient::createUploadVideoCallable
 	return task->get_future();
 }
 
+VodClient::DeleteAIImageInfosOutcome VodClient::deleteAIImageInfos(const DeleteAIImageInfosRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteAIImageInfosOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteAIImageInfosOutcome(DeleteAIImageInfosResult(outcome.result()));
+	else
+		return DeleteAIImageInfosOutcome(outcome.error());
+}
+
+void VodClient::deleteAIImageInfosAsync(const DeleteAIImageInfosRequest& request, const DeleteAIImageInfosAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteAIImageInfos(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DeleteAIImageInfosOutcomeCallable VodClient::deleteAIImageInfosCallable(const DeleteAIImageInfosRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteAIImageInfosOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteAIImageInfos(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DeleteAITemplateOutcome VodClient::deleteAITemplate(const DeleteAITemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -771,6 +843,42 @@ VodClient::DeleteCategoryOutcomeCallable VodClient::deleteCategoryCallable(const
 	return task->get_future();
 }
 
+VodClient::DeleteDynamicImageOutcome VodClient::deleteDynamicImage(const DeleteDynamicImageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDynamicImageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDynamicImageOutcome(DeleteDynamicImageResult(outcome.result()));
+	else
+		return DeleteDynamicImageOutcome(outcome.error());
+}
+
+void VodClient::deleteDynamicImageAsync(const DeleteDynamicImageRequest& request, const DeleteDynamicImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDynamicImage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DeleteDynamicImageOutcomeCallable VodClient::deleteDynamicImageCallable(const DeleteDynamicImageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDynamicImageOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDynamicImage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DeleteEditingProjectOutcome VodClient::deleteEditingProject(const DeleteEditingProjectRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1779,6 +1887,42 @@ VodClient::DescribeVodStorageDataOutcomeCallable VodClient::describeVodStorageDa
 	return task->get_future();
 }
 
+VodClient::DescribeVodTagResourcesOutcome VodClient::describeVodTagResources(const DescribeVodTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodTagResourcesOutcome(DescribeVodTagResourcesResult(outcome.result()));
+	else
+		return DescribeVodTagResourcesOutcome(outcome.error());
+}
+
+void VodClient::describeVodTagResourcesAsync(const DescribeVodTagResourcesRequest& request, const DescribeVodTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodTagResourcesOutcomeCallable VodClient::describeVodTagResourcesCallable(const DescribeVodTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DescribeVodTranscodeDataOutcome VodClient::describeVodTranscodeData(const DescribeVodTranscodeDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1851,6 +1995,42 @@ VodClient::DescribeVodUserDomainsOutcomeCallable VodClient::describeVodUserDomai
 	return task->get_future();
 }
 
+VodClient::DescribeVodUserTagsOutcome VodClient::describeVodUserTags(const DescribeVodUserTagsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodUserTagsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodUserTagsOutcome(DescribeVodUserTagsResult(outcome.result()));
+	else
+		return DescribeVodUserTagsOutcome(outcome.error());
+}
+
+void VodClient::describeVodUserTagsAsync(const DescribeVodUserTagsRequest& request, const DescribeVodUserTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodUserTags(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodUserTagsOutcomeCallable VodClient::describeVodUserTagsCallable(const DescribeVodUserTagsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodUserTagsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodUserTags(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DetachAppPolicyFromIdentityOutcome VodClient::detachAppPolicyFromIdentity(const DetachAppPolicyFromIdentityRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1887,6 +2067,42 @@ VodClient::DetachAppPolicyFromIdentityOutcomeCallable VodClient::detachAppPolicy
 	return task->get_future();
 }
 
+VodClient::GetAIImageJobsOutcome VodClient::getAIImageJobs(const GetAIImageJobsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAIImageJobsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAIImageJobsOutcome(GetAIImageJobsResult(outcome.result()));
+	else
+		return GetAIImageJobsOutcome(outcome.error());
+}
+
+void VodClient::getAIImageJobsAsync(const GetAIImageJobsRequest& request, const GetAIImageJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAIImageJobs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::GetAIImageJobsOutcomeCallable VodClient::getAIImageJobsCallable(const GetAIImageJobsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAIImageJobsOutcome()>>(
+			[this, request]()
+			{
+			return this->getAIImageJobs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::GetAIMediaAuditJobOutcome VodClient::getAIMediaAuditJob(const GetAIMediaAuditJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2139,6 +2355,78 @@ VodClient::GetCategoriesOutcomeCallable VodClient::getCategoriesCallable(const G
 	return task->get_future();
 }
 
+VodClient::GetDRMCertInfoOutcome VodClient::getDRMCertInfo(const GetDRMCertInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetDRMCertInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetDRMCertInfoOutcome(GetDRMCertInfoResult(outcome.result()));
+	else
+		return GetDRMCertInfoOutcome(outcome.error());
+}
+
+void VodClient::getDRMCertInfoAsync(const GetDRMCertInfoRequest& request, const GetDRMCertInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getDRMCertInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::GetDRMCertInfoOutcomeCallable VodClient::getDRMCertInfoCallable(const GetDRMCertInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetDRMCertInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->getDRMCertInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VodClient::GetDRMLicenseOutcome VodClient::getDRMLicense(const GetDRMLicenseRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetDRMLicenseOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetDRMLicenseOutcome(GetDRMLicenseResult(outcome.result()));
+	else
+		return GetDRMLicenseOutcome(outcome.error());
+}
+
+void VodClient::getDRMLicenseAsync(const GetDRMLicenseRequest& request, const GetDRMLicenseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getDRMLicense(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::GetDRMLicenseOutcomeCallable VodClient::getDRMLicenseCallable(const GetDRMLicenseRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetDRMLicenseOutcome()>>(
+			[this, request]()
+			{
+			return this->getDRMLicense(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::GetDefaultAITemplateOutcome VodClient::getDefaultAITemplate(const GetDefaultAITemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2967,6 +3255,42 @@ VodClient::GetWatermarkOutcomeCallable VodClient::getWatermarkCallable(const Get
 	return task->get_future();
 }
 
+VodClient::ListAIImageInfoOutcome VodClient::listAIImageInfo(const ListAIImageInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListAIImageInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListAIImageInfoOutcome(ListAIImageInfoResult(outcome.result()));
+	else
+		return ListAIImageInfoOutcome(outcome.error());
+}
+
+void VodClient::listAIImageInfoAsync(const ListAIImageInfoRequest& request, const ListAIImageInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listAIImageInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::ListAIImageInfoOutcomeCallable VodClient::listAIImageInfoCallable(const ListAIImageInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListAIImageInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->listAIImageInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::ListAIJobOutcome VodClient::listAIJob(const ListAIJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3147,6 +3471,42 @@ VodClient::ListAuditSecurityIpOutcomeCallable VodClient::listAuditSecurityIpCall
 	return task->get_future();
 }
 
+VodClient::ListDynamicImageOutcome VodClient::listDynamicImage(const ListDynamicImageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListDynamicImageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListDynamicImageOutcome(ListDynamicImageResult(outcome.result()));
+	else
+		return ListDynamicImageOutcome(outcome.error());
+}
+
+void VodClient::listDynamicImageAsync(const ListDynamicImageRequest& request, const ListDynamicImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listDynamicImage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::ListDynamicImageOutcomeCallable VodClient::listDynamicImageCallable(const ListDynamicImageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListDynamicImageOutcome()>>(
+			[this, request]()
+			{
+			return this->listDynamicImage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::ListLiveRecordVideoOutcome VodClient::listLiveRecordVideo(const ListLiveRecordVideoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3219,6 +3579,42 @@ VodClient::ListMediaDNADeleteJobOutcomeCallable VodClient::listMediaDNADeleteJob
 	return task->get_future();
 }
 
+VodClient::ListMediaDNALibsOutcome VodClient::listMediaDNALibs(const ListMediaDNALibsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListMediaDNALibsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListMediaDNALibsOutcome(ListMediaDNALibsResult(outcome.result()));
+	else
+		return ListMediaDNALibsOutcome(outcome.error());
+}
+
+void VodClient::listMediaDNALibsAsync(const ListMediaDNALibsRequest& request, const ListMediaDNALibsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listMediaDNALibs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::ListMediaDNALibsOutcomeCallable VodClient::listMediaDNALibsCallable(const ListMediaDNALibsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListMediaDNALibsOutcome()>>(
+			[this, request]()
+			{
+			return this->listMediaDNALibs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::ListSnapshotsOutcome VodClient::listSnapshots(const ListSnapshotsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3939,6 +4335,42 @@ VodClient::SetVodDomainCertificateOutcomeCallable VodClient::setVodDomainCertifi
 	return task->get_future();
 }
 
+VodClient::SubmitAIImageJobOutcome VodClient::submitAIImageJob(const SubmitAIImageJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SubmitAIImageJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SubmitAIImageJobOutcome(SubmitAIImageJobResult(outcome.result()));
+	else
+		return SubmitAIImageJobOutcome(outcome.error());
+}
+
+void VodClient::submitAIImageJobAsync(const SubmitAIImageJobRequest& request, const SubmitAIImageJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, submitAIImageJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::SubmitAIImageJobOutcomeCallable VodClient::submitAIImageJobCallable(const SubmitAIImageJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SubmitAIImageJobOutcome()>>(
+			[this, request]()
+			{
+			return this->submitAIImageJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::SubmitAIJobOutcome VodClient::submitAIJob(const SubmitAIJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4227,6 +4659,78 @@ VodClient::SubmitWorkflowJobOutcomeCallable VodClient::submitWorkflowJobCallable
 	return task->get_future();
 }
 
+VodClient::TagVodResourcesOutcome VodClient::tagVodResources(const TagVodResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TagVodResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TagVodResourcesOutcome(TagVodResourcesResult(outcome.result()));
+	else
+		return TagVodResourcesOutcome(outcome.error());
+}
+
+void VodClient::tagVodResourcesAsync(const TagVodResourcesRequest& request, const TagVodResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, tagVodResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::TagVodResourcesOutcomeCallable VodClient::tagVodResourcesCallable(const TagVodResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TagVodResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->tagVodResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VodClient::UnTagVodResourcesOutcome VodClient::unTagVodResources(const UnTagVodResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnTagVodResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnTagVodResourcesOutcome(UnTagVodResourcesResult(outcome.result()));
+	else
+		return UnTagVodResourcesOutcome(outcome.error());
+}
+
+void VodClient::unTagVodResourcesAsync(const UnTagVodResourcesRequest& request, const UnTagVodResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unTagVodResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::UnTagVodResourcesOutcomeCallable VodClient::unTagVodResourcesCallable(const UnTagVodResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnTagVodResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->unTagVodResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::UpdateAITemplateOutcome VodClient::updateAITemplate(const UpdateAITemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 106 - 0
vod/src/model/CreateMediaDNALibRequest.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/vod/model/CreateMediaDNALibRequest.h>
+
+using AlibabaCloud::Vod::Model::CreateMediaDNALibRequest;
+
+CreateMediaDNALibRequest::CreateMediaDNALibRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "CreateMediaDNALib")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateMediaDNALibRequest::~CreateMediaDNALibRequest()
+{}
+
+std::string CreateMediaDNALibRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateMediaDNALibRequest::setResourceOwnerId(const std::string& resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", resourceOwnerId);
+}
+
+std::string CreateMediaDNALibRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateMediaDNALibRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateMediaDNALibRequest::getModelType()const
+{
+	return modelType_;
+}
+
+void CreateMediaDNALibRequest::setModelType(const std::string& modelType)
+{
+	modelType_ = modelType;
+	setParameter("ModelType", modelType);
+}
+
+std::string CreateMediaDNALibRequest::getLibRegion()const
+{
+	return libRegion_;
+}
+
+void CreateMediaDNALibRequest::setLibRegion(const std::string& libRegion)
+{
+	libRegion_ = libRegion;
+	setParameter("LibRegion", libRegion);
+}
+
+std::string CreateMediaDNALibRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateMediaDNALibRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateMediaDNALibRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateMediaDNALibRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string CreateMediaDNALibRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateMediaDNALibRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+

+ 56 - 0
vod/src/model/CreateMediaDNALibResult.cc

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

+ 84 - 0
vod/src/model/DeleteAIImageInfosRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/vod/model/DeleteAIImageInfosRequest.h>
+
+using AlibabaCloud::Vod::Model::DeleteAIImageInfosRequest;
+
+DeleteAIImageInfosRequest::DeleteAIImageInfosRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DeleteAIImageInfos")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteAIImageInfosRequest::~DeleteAIImageInfosRequest()
+{}
+
+long DeleteAIImageInfosRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteAIImageInfosRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DeleteAIImageInfosRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteAIImageInfosRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+long DeleteAIImageInfosRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteAIImageInfosRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteAIImageInfosRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteAIImageInfosRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeleteAIImageInfosRequest::getAIImageInfoIds()const
+{
+	return aIImageInfoIds_;
+}
+
+void DeleteAIImageInfosRequest::setAIImageInfoIds(const std::string& aIImageInfoIds)
+{
+	aIImageInfoIds_ = aIImageInfoIds;
+	setParameter("AIImageInfoIds", aIImageInfoIds);
+}
+

+ 44 - 0
vod/src/model/DeleteAIImageInfosResult.cc

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

+ 95 - 0
vod/src/model/DeleteDynamicImageRequest.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/vod/model/DeleteDynamicImageRequest.h>
+
+using AlibabaCloud::Vod::Model::DeleteDynamicImageRequest;
+
+DeleteDynamicImageRequest::DeleteDynamicImageRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DeleteDynamicImage")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDynamicImageRequest::~DeleteDynamicImageRequest()
+{}
+
+long DeleteDynamicImageRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteDynamicImageRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DeleteDynamicImageRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteDynamicImageRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteDynamicImageRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void DeleteDynamicImageRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+long DeleteDynamicImageRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteDynamicImageRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteDynamicImageRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteDynamicImageRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DeleteDynamicImageRequest::getDynamicImageIds()const
+{
+	return dynamicImageIds_;
+}
+
+void DeleteDynamicImageRequest::setDynamicImageIds(const std::string& dynamicImageIds)
+{
+	dynamicImageIds_ = dynamicImageIds;
+	setParameter("DynamicImageIds", dynamicImageIds);
+}
+

+ 44 - 0
vod/src/model/DeleteDynamicImageResult.cc

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

+ 91 - 0
vod/src/model/DescribeVodTagResourcesRequest.cc

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/DescribeVodTagResourcesRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodTagResourcesRequest;
+
+DescribeVodTagResourcesRequest::DescribeVodTagResourcesRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodTagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeVodTagResourcesRequest::~DescribeVodTagResourcesRequest()
+{}
+
+std::string DescribeVodTagResourcesRequest::getScope()const
+{
+	return scope_;
+}
+
+void DescribeVodTagResourcesRequest::setScope(const std::string& scope)
+{
+	scope_ = scope;
+	setParameter("Scope", scope);
+}
+
+std::vector<DescribeVodTagResourcesRequest::Tag> DescribeVodTagResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeVodTagResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
+std::vector<std::string> DescribeVodTagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void DescribeVodTagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+long DescribeVodTagResourcesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodTagResourcesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeVodTagResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void DescribeVodTagResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+

+ 67 - 0
vod/src/model/DescribeVodTagResourcesResult.cc

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

+ 16 - 0
vod/src/model/DescribeVodUserDomainsRequest.cc

@@ -82,6 +82,22 @@ void DescribeVodUserDomainsRequest::setPageSize(int pageSize)
 	setParameter("PageSize", std::to_string(pageSize));
 }
 
+std::vector<DescribeVodUserDomainsRequest::Tag> DescribeVodUserDomainsRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeVodUserDomainsRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
 std::string DescribeVodUserDomainsRequest::getFuncFilter()const
 {
 	return funcFilter_;

+ 40 - 0
vod/src/model/DescribeVodUserTagsRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/vod/model/DescribeVodUserTagsRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodUserTagsRequest;
+
+DescribeVodUserTagsRequest::DescribeVodUserTagsRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodUserTags")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeVodUserTagsRequest::~DescribeVodUserTagsRequest()
+{}
+
+long DescribeVodUserTagsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodUserTagsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 60 - 0
vod/src/model/DescribeVodUserTagsResult.cc

@@ -0,0 +1,60 @@
+/*
+ * 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/vod/model/DescribeVodUserTagsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+DescribeVodUserTagsResult::DescribeVodUserTagsResult() :
+	ServiceResult()
+{}
+
+DescribeVodUserTagsResult::DescribeVodUserTagsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVodUserTagsResult::~DescribeVodUserTagsResult()
+{}
+
+void DescribeVodUserTagsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		auto allValue = value["Value"]["Value"];
+		for (auto value : allValue)
+			tagsObject.value.push_back(value.asString());
+		tags_.push_back(tagsObject);
+	}
+
+}
+
+std::vector<DescribeVodUserTagsResult::Tag> DescribeVodUserTagsResult::getTags()const
+{
+	return tags_;
+}
+

+ 95 - 0
vod/src/model/GetAIImageJobsRequest.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/vod/model/GetAIImageJobsRequest.h>
+
+using AlibabaCloud::Vod::Model::GetAIImageJobsRequest;
+
+GetAIImageJobsRequest::GetAIImageJobsRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "GetAIImageJobs")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetAIImageJobsRequest::~GetAIImageJobsRequest()
+{}
+
+std::string GetAIImageJobsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void GetAIImageJobsRequest::setResourceOwnerId(const std::string& resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", resourceOwnerId);
+}
+
+std::string GetAIImageJobsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void GetAIImageJobsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string GetAIImageJobsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void GetAIImageJobsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string GetAIImageJobsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetAIImageJobsRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+std::string GetAIImageJobsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void GetAIImageJobsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string GetAIImageJobsRequest::getJobIds()const
+{
+	return jobIds_;
+}
+
+void GetAIImageJobsRequest::setJobIds(const std::string& jobIds)
+{
+	jobIds_ = jobIds;
+	setParameter("JobIds", jobIds);
+}
+

+ 75 - 0
vod/src/model/GetAIImageJobsResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/vod/model/GetAIImageJobsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+GetAIImageJobsResult::GetAIImageJobsResult() :
+	ServiceResult()
+{}
+
+GetAIImageJobsResult::GetAIImageJobsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAIImageJobsResult::~GetAIImageJobsResult()
+{}
+
+void GetAIImageJobsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAIImageJobListNode = value["AIImageJobList"]["AIImageJob"];
+	for (auto valueAIImageJobListAIImageJob : allAIImageJobListNode)
+	{
+		AIImageJob aIImageJobListObject;
+		if(!valueAIImageJobListAIImageJob["CreationTime"].isNull())
+			aIImageJobListObject.creationTime = valueAIImageJobListAIImageJob["CreationTime"].asString();
+		if(!valueAIImageJobListAIImageJob["JobId"].isNull())
+			aIImageJobListObject.jobId = valueAIImageJobListAIImageJob["JobId"].asString();
+		if(!valueAIImageJobListAIImageJob["TemplateId"].isNull())
+			aIImageJobListObject.templateId = valueAIImageJobListAIImageJob["TemplateId"].asString();
+		if(!valueAIImageJobListAIImageJob["VideoId"].isNull())
+			aIImageJobListObject.videoId = valueAIImageJobListAIImageJob["VideoId"].asString();
+		if(!valueAIImageJobListAIImageJob["AIImageResult"].isNull())
+			aIImageJobListObject.aIImageResult = valueAIImageJobListAIImageJob["AIImageResult"].asString();
+		if(!valueAIImageJobListAIImageJob["UserData"].isNull())
+			aIImageJobListObject.userData = valueAIImageJobListAIImageJob["UserData"].asString();
+		if(!valueAIImageJobListAIImageJob["Code"].isNull())
+			aIImageJobListObject.code = valueAIImageJobListAIImageJob["Code"].asString();
+		if(!valueAIImageJobListAIImageJob["Message"].isNull())
+			aIImageJobListObject.message = valueAIImageJobListAIImageJob["Message"].asString();
+		if(!valueAIImageJobListAIImageJob["Status"].isNull())
+			aIImageJobListObject.status = valueAIImageJobListAIImageJob["Status"].asString();
+		if(!valueAIImageJobListAIImageJob["TemplateConfig"].isNull())
+			aIImageJobListObject.templateConfig = valueAIImageJobListAIImageJob["TemplateConfig"].asString();
+		aIImageJobList_.push_back(aIImageJobListObject);
+	}
+
+}
+
+std::vector<GetAIImageJobsResult::AIImageJob> GetAIImageJobsResult::getAIImageJobList()const
+{
+	return aIImageJobList_;
+}
+

+ 73 - 0
vod/src/model/GetDRMCertInfoRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vod/model/GetDRMCertInfoRequest.h>
+
+using AlibabaCloud::Vod::Model::GetDRMCertInfoRequest;
+
+GetDRMCertInfoRequest::GetDRMCertInfoRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "GetDRMCertInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetDRMCertInfoRequest::~GetDRMCertInfoRequest()
+{}
+
+std::string GetDRMCertInfoRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void GetDRMCertInfoRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string GetDRMCertInfoRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void GetDRMCertInfoRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+std::string GetDRMCertInfoRequest::getCertId()const
+{
+	return certId_;
+}
+
+void GetDRMCertInfoRequest::setCertId(const std::string& certId)
+{
+	certId_ = certId;
+	setParameter("CertId", certId);
+}
+
+long GetDRMCertInfoRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetDRMCertInfoRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 51 - 0
vod/src/model/GetDRMCertInfoResult.cc

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

+ 95 - 0
vod/src/model/GetDRMLicenseRequest.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/vod/model/GetDRMLicenseRequest.h>
+
+using AlibabaCloud::Vod::Model::GetDRMLicenseRequest;
+
+GetDRMLicenseRequest::GetDRMLicenseRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "GetDRMLicense")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetDRMLicenseRequest::~GetDRMLicenseRequest()
+{}
+
+std::string GetDRMLicenseRequest::getCDMData()const
+{
+	return cDMData_;
+}
+
+void GetDRMLicenseRequest::setCDMData(const std::string& cDMData)
+{
+	cDMData_ = cDMData;
+	setParameter("CDMData", cDMData);
+}
+
+std::string GetDRMLicenseRequest::getCertId()const
+{
+	return certId_;
+}
+
+void GetDRMLicenseRequest::setCertId(const std::string& certId)
+{
+	certId_ = certId;
+	setParameter("CertId", certId);
+}
+
+std::string GetDRMLicenseRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void GetDRMLicenseRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string GetDRMLicenseRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void GetDRMLicenseRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+long GetDRMLicenseRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetDRMLicenseRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string GetDRMLicenseRequest::getDRMType()const
+{
+	return dRMType_;
+}
+
+void GetDRMLicenseRequest::setDRMType(const std::string& dRMType)
+{
+	dRMType_ = dRMType;
+	setParameter("DRMType", dRMType);
+}
+

+ 51 - 0
vod/src/model/GetDRMLicenseResult.cc

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

+ 84 - 0
vod/src/model/ListAIImageInfoRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/vod/model/ListAIImageInfoRequest.h>
+
+using AlibabaCloud::Vod::Model::ListAIImageInfoRequest;
+
+ListAIImageInfoRequest::ListAIImageInfoRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "ListAIImageInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListAIImageInfoRequest::~ListAIImageInfoRequest()
+{}
+
+long ListAIImageInfoRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ListAIImageInfoRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ListAIImageInfoRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ListAIImageInfoRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ListAIImageInfoRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void ListAIImageInfoRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+long ListAIImageInfoRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ListAIImageInfoRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ListAIImageInfoRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListAIImageInfoRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 73 - 0
vod/src/model/ListAIImageInfoResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/vod/model/ListAIImageInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+ListAIImageInfoResult::ListAIImageInfoResult() :
+	ServiceResult()
+{}
+
+ListAIImageInfoResult::ListAIImageInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListAIImageInfoResult::~ListAIImageInfoResult()
+{}
+
+void ListAIImageInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAIImageInfoListNode = value["AIImageInfoList"]["AIImageInfo"];
+	for (auto valueAIImageInfoListAIImageInfo : allAIImageInfoListNode)
+	{
+		AIImageInfo aIImageInfoListObject;
+		if(!valueAIImageInfoListAIImageInfo["VideoId"].isNull())
+			aIImageInfoListObject.videoId = valueAIImageInfoListAIImageInfo["VideoId"].asString();
+		if(!valueAIImageInfoListAIImageInfo["AIImageInfoId"].isNull())
+			aIImageInfoListObject.aIImageInfoId = valueAIImageInfoListAIImageInfo["AIImageInfoId"].asString();
+		if(!valueAIImageInfoListAIImageInfo["JobId"].isNull())
+			aIImageInfoListObject.jobId = valueAIImageInfoListAIImageInfo["JobId"].asString();
+		if(!valueAIImageInfoListAIImageInfo["FileURL"].isNull())
+			aIImageInfoListObject.fileURL = valueAIImageInfoListAIImageInfo["FileURL"].asString();
+		if(!valueAIImageInfoListAIImageInfo["Score"].isNull())
+			aIImageInfoListObject.score = valueAIImageInfoListAIImageInfo["Score"].asString();
+		if(!valueAIImageInfoListAIImageInfo["Time"].isNull())
+			aIImageInfoListObject.time = valueAIImageInfoListAIImageInfo["Time"].asString();
+		if(!valueAIImageInfoListAIImageInfo["Format"].isNull())
+			aIImageInfoListObject.format = valueAIImageInfoListAIImageInfo["Format"].asString();
+		if(!valueAIImageInfoListAIImageInfo["CreationTime"].isNull())
+			aIImageInfoListObject.creationTime = valueAIImageInfoListAIImageInfo["CreationTime"].asString();
+		if(!valueAIImageInfoListAIImageInfo["Version"].isNull())
+			aIImageInfoListObject.version = valueAIImageInfoListAIImageInfo["Version"].asString();
+		aIImageInfoList_.push_back(aIImageInfoListObject);
+	}
+
+}
+
+std::vector<ListAIImageInfoResult::AIImageInfo> ListAIImageInfoResult::getAIImageInfoList()const
+{
+	return aIImageInfoList_;
+}
+

+ 84 - 0
vod/src/model/ListDynamicImageRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/vod/model/ListDynamicImageRequest.h>
+
+using AlibabaCloud::Vod::Model::ListDynamicImageRequest;
+
+ListDynamicImageRequest::ListDynamicImageRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "ListDynamicImage")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListDynamicImageRequest::~ListDynamicImageRequest()
+{}
+
+long ListDynamicImageRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ListDynamicImageRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ListDynamicImageRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ListDynamicImageRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ListDynamicImageRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void ListDynamicImageRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+long ListDynamicImageRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ListDynamicImageRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ListDynamicImageRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListDynamicImageRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 77 - 0
vod/src/model/ListDynamicImageResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/vod/model/ListDynamicImageResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+ListDynamicImageResult::ListDynamicImageResult() :
+	ServiceResult()
+{}
+
+ListDynamicImageResult::ListDynamicImageResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListDynamicImageResult::~ListDynamicImageResult()
+{}
+
+void ListDynamicImageResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDynamicImageListNode = value["DynamicImageList"]["DynamicImage"];
+	for (auto valueDynamicImageListDynamicImage : allDynamicImageListNode)
+	{
+		DynamicImage dynamicImageListObject;
+		if(!valueDynamicImageListDynamicImage["VideoId"].isNull())
+			dynamicImageListObject.videoId = valueDynamicImageListDynamicImage["VideoId"].asString();
+		if(!valueDynamicImageListDynamicImage["DynamicImageId"].isNull())
+			dynamicImageListObject.dynamicImageId = valueDynamicImageListDynamicImage["DynamicImageId"].asString();
+		if(!valueDynamicImageListDynamicImage["JobId"].isNull())
+			dynamicImageListObject.jobId = valueDynamicImageListDynamicImage["JobId"].asString();
+		if(!valueDynamicImageListDynamicImage["FileURL"].isNull())
+			dynamicImageListObject.fileURL = valueDynamicImageListDynamicImage["FileURL"].asString();
+		if(!valueDynamicImageListDynamicImage["Width"].isNull())
+			dynamicImageListObject.width = valueDynamicImageListDynamicImage["Width"].asString();
+		if(!valueDynamicImageListDynamicImage["Height"].isNull())
+			dynamicImageListObject.height = valueDynamicImageListDynamicImage["Height"].asString();
+		if(!valueDynamicImageListDynamicImage["Duration"].isNull())
+			dynamicImageListObject.duration = valueDynamicImageListDynamicImage["Duration"].asString();
+		if(!valueDynamicImageListDynamicImage["Format"].isNull())
+			dynamicImageListObject.format = valueDynamicImageListDynamicImage["Format"].asString();
+		if(!valueDynamicImageListDynamicImage["FileSize"].isNull())
+			dynamicImageListObject.fileSize = valueDynamicImageListDynamicImage["FileSize"].asString();
+		if(!valueDynamicImageListDynamicImage["Fps"].isNull())
+			dynamicImageListObject.fps = valueDynamicImageListDynamicImage["Fps"].asString();
+		if(!valueDynamicImageListDynamicImage["CreationTime"].isNull())
+			dynamicImageListObject.creationTime = valueDynamicImageListDynamicImage["CreationTime"].asString();
+		dynamicImageList_.push_back(dynamicImageListObject);
+	}
+
+}
+
+std::vector<ListDynamicImageResult::DynamicImage> ListDynamicImageResult::getDynamicImageList()const
+{
+	return dynamicImageList_;
+}
+

+ 95 - 0
vod/src/model/ListMediaDNALibsRequest.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/vod/model/ListMediaDNALibsRequest.h>
+
+using AlibabaCloud::Vod::Model::ListMediaDNALibsRequest;
+
+ListMediaDNALibsRequest::ListMediaDNALibsRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "ListMediaDNALibs")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListMediaDNALibsRequest::~ListMediaDNALibsRequest()
+{}
+
+std::string ListMediaDNALibsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ListMediaDNALibsRequest::setResourceOwnerId(const std::string& resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", resourceOwnerId);
+}
+
+std::string ListMediaDNALibsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ListMediaDNALibsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ListMediaDNALibsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ListMediaDNALibsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ListMediaDNALibsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ListMediaDNALibsRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+std::string ListMediaDNALibsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListMediaDNALibsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ListMediaDNALibsRequest::getLibRegion()const
+{
+	return libRegion_;
+}
+
+void ListMediaDNALibsRequest::setLibRegion(const std::string& libRegion)
+{
+	libRegion_ = libRegion;
+	setParameter("LibRegion", libRegion);
+}
+

+ 61 - 0
vod/src/model/ListMediaDNALibsResult.cc

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

+ 4 - 0
vod/src/model/SearchMediaResult.cc

@@ -102,6 +102,10 @@ void SearchMediaResult::parse(const std::string &payload)
 			mediaListObject.video.customMediaInfo = videoNode["CustomMediaInfo"].asString();
 		if(!videoNode["AppId"].isNull())
 			mediaListObject.video.appId = videoNode["AppId"].asString();
+		if(!videoNode["AuditAbnormalModules"].isNull())
+			mediaListObject.video.auditAbnormalModules = videoNode["AuditAbnormalModules"].asString();
+		if(!videoNode["AuditLabel"].isNull())
+			mediaListObject.video.auditLabel = videoNode["AuditLabel"].asString();
 		auto allPlayInfoListNode = videoNode["PlayInfoList"]["PlayInfo"];
 		for (auto videoNodePlayInfoListPlayInfo : allPlayInfoListNode)
 		{

+ 128 - 0
vod/src/model/SubmitAIImageJobRequest.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/vod/model/SubmitAIImageJobRequest.h>
+
+using AlibabaCloud::Vod::Model::SubmitAIImageJobRequest;
+
+SubmitAIImageJobRequest::SubmitAIImageJobRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "SubmitAIImageJob")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SubmitAIImageJobRequest::~SubmitAIImageJobRequest()
+{}
+
+std::string SubmitAIImageJobRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void SubmitAIImageJobRequest::setResourceOwnerId(const std::string& resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", resourceOwnerId);
+}
+
+std::string SubmitAIImageJobRequest::getAIPipelineId()const
+{
+	return aIPipelineId_;
+}
+
+void SubmitAIImageJobRequest::setAIPipelineId(const std::string& aIPipelineId)
+{
+	aIPipelineId_ = aIPipelineId;
+	setParameter("AIPipelineId", aIPipelineId);
+}
+
+std::string SubmitAIImageJobRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void SubmitAIImageJobRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string SubmitAIImageJobRequest::getUserData()const
+{
+	return userData_;
+}
+
+void SubmitAIImageJobRequest::setUserData(const std::string& userData)
+{
+	userData_ = userData;
+	setParameter("UserData", userData);
+}
+
+std::string SubmitAIImageJobRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void SubmitAIImageJobRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string SubmitAIImageJobRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void SubmitAIImageJobRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string SubmitAIImageJobRequest::getVideoId()const
+{
+	return videoId_;
+}
+
+void SubmitAIImageJobRequest::setVideoId(const std::string& videoId)
+{
+	videoId_ = videoId;
+	setParameter("VideoId", videoId);
+}
+
+std::string SubmitAIImageJobRequest::getAITemplateId()const
+{
+	return aITemplateId_;
+}
+
+void SubmitAIImageJobRequest::setAITemplateId(const std::string& aITemplateId)
+{
+	aITemplateId_ = aITemplateId;
+	setParameter("AITemplateId", aITemplateId);
+}
+
+std::string SubmitAIImageJobRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void SubmitAIImageJobRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+

+ 51 - 0
vod/src/model/SubmitAIImageJobResult.cc

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

+ 11 - 0
vod/src/model/SubmitAIMediaAuditJobRequest.cc

@@ -104,6 +104,17 @@ void SubmitAIMediaAuditJobRequest::setTemplateId(const std::string& templateId)
 	setParameter("TemplateId", templateId);
 }
 
+std::string SubmitAIMediaAuditJobRequest::getMediaAuditConfiguration()const
+{
+	return mediaAuditConfiguration_;
+}
+
+void SubmitAIMediaAuditJobRequest::setMediaAuditConfiguration(const std::string& mediaAuditConfiguration)
+{
+	mediaAuditConfiguration_ = mediaAuditConfiguration;
+	setParameter("MediaAuditConfiguration", mediaAuditConfiguration);
+}
+
 std::string SubmitAIMediaAuditJobRequest::getMediaType()const
 {
 	return mediaType_;

+ 80 - 0
vod/src/model/TagVodResourcesRequest.cc

@@ -0,0 +1,80 @@
+/*
+ * 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/vod/model/TagVodResourcesRequest.h>
+
+using AlibabaCloud::Vod::Model::TagVodResourcesRequest;
+
+TagVodResourcesRequest::TagVodResourcesRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "TagVodResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+TagVodResourcesRequest::~TagVodResourcesRequest()
+{}
+
+std::vector<TagVodResourcesRequest::Tag> TagVodResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void TagVodResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
+std::vector<std::string> TagVodResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void TagVodResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+long TagVodResourcesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void TagVodResourcesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string TagVodResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void TagVodResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+

+ 44 - 0
vod/src/model/TagVodResourcesResult.cc

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

+ 77 - 0
vod/src/model/UnTagVodResourcesRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/vod/model/UnTagVodResourcesRequest.h>
+
+using AlibabaCloud::Vod::Model::UnTagVodResourcesRequest;
+
+UnTagVodResourcesRequest::UnTagVodResourcesRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "UnTagVodResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnTagVodResourcesRequest::~UnTagVodResourcesRequest()
+{}
+
+std::vector<std::string> UnTagVodResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void UnTagVodResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+long UnTagVodResourcesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void UnTagVodResourcesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string UnTagVodResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void UnTagVodResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+std::vector<std::string> UnTagVodResourcesRequest::getTagKey()const
+{
+	return tagKey_;
+}
+
+void UnTagVodResourcesRequest::setTagKey(const std::vector<std::string>& tagKey)
+{
+	tagKey_ = tagKey;
+	for(int dep1 = 0; dep1!= tagKey.size(); dep1++) {
+		setParameter("TagKey."+ std::to_string(dep1), tagKey.at(dep1));
+	}
+}
+

+ 44 - 0
vod/src/model/UnTagVodResourcesResult.cc

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