Browse Source

VOD SDK Auto Released By guzhaoyuan,Version:1.36.29

Signed-off-by: sdk-team <sdk-team@alibabacloud.com>
sdk-team 7 years ago
parent
commit
f032a433f2
49 changed files with 3510 additions and 587 deletions
  1. 8 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 2 422
      vod/CMakeLists.txt
  4. 48 0
      vod/include/alibabacloud/vod/VodClient.h
  5. 3 0
      vod/include/alibabacloud/vod/model/AttachAppPolicyToIdentityRequest.h
  6. 2 0
      vod/include/alibabacloud/vod/model/CreateUploadImageResult.h
  7. 120 0
      vod/include/alibabacloud/vod/model/DescribeVodAIDataRequest.h
  8. 63 0
      vod/include/alibabacloud/vod/model/DescribeVodAIDataResult.h
  9. 132 0
      vod/include/alibabacloud/vod/model/DescribeVodDomainUsageDataRequest.h
  10. 68 0
      vod/include/alibabacloud/vod/model/DescribeVodDomainUsageDataResult.h
  11. 123 0
      vod/include/alibabacloud/vod/model/DescribeVodStorageDataRequest.h
  12. 59 0
      vod/include/alibabacloud/vod/model/DescribeVodStorageDataResult.h
  13. 120 0
      vod/include/alibabacloud/vod/model/DescribeVodTranscodeDataRequest.h
  14. 63 0
      vod/include/alibabacloud/vod/model/DescribeVodTranscodeDataResult.h
  15. 63 0
      vod/include/alibabacloud/vod/model/GetAIVideoTagResultRequest.h
  16. 84 0
      vod/include/alibabacloud/vod/model/GetAIVideoTagResultResult.h
  17. 2 0
      vod/include/alibabacloud/vod/model/GetAttachedMediaInfoResult.h
  18. 1 0
      vod/include/alibabacloud/vod/model/GetImageInfoResult.h
  19. 3 3
      vod/include/alibabacloud/vod/model/GetMezzanineInfoResult.h
  20. 1 0
      vod/include/alibabacloud/vod/model/GetPlayInfoResult.h
  21. 66 0
      vod/include/alibabacloud/vod/model/GetUploadDetailsRequest.h
  22. 71 0
      vod/include/alibabacloud/vod/model/GetUploadDetailsResult.h
  23. 3 3
      vod/include/alibabacloud/vod/model/GetVideoInfoResult.h
  24. 2 2
      vod/include/alibabacloud/vod/model/ListLiveRecordVideoResult.h
  25. 4 2
      vod/include/alibabacloud/vod/model/SearchMediaResult.h
  26. 3 0
      vod/include/alibabacloud/vod/model/SubmitSnapshotJobRequest.h
  27. 216 0
      vod/src/VodClient.cc
  28. 11 0
      vod/src/model/AttachAppPolicyToIdentityRequest.cc
  29. 7 0
      vod/src/model/CreateUploadImageResult.cc
  30. 302 0
      vod/src/model/DescribeVodAIDataRequest.cc
  31. 75 0
      vod/src/model/DescribeVodAIDataResult.cc
  32. 346 0
      vod/src/model/DescribeVodDomainUsageDataRequest.cc
  33. 102 0
      vod/src/model/DescribeVodDomainUsageDataResult.cc
  34. 313 0
      vod/src/model/DescribeVodStorageDataRequest.cc
  35. 69 0
      vod/src/model/DescribeVodStorageDataResult.cc
  36. 302 0
      vod/src/model/DescribeVodTranscodeDataRequest.cc
  37. 75 0
      vod/src/model/DescribeVodTranscodeDataResult.cc
  38. 93 0
      vod/src/model/GetAIVideoTagResultRequest.cc
  39. 105 0
      vod/src/model/GetAIVideoTagResultResult.cc
  40. 4 0
      vod/src/model/GetAttachedMediaInfoResult.cc
  41. 2 0
      vod/src/model/GetImageInfoResult.cc
  42. 35 35
      vod/src/model/GetMezzanineInfoResult.cc
  43. 2 0
      vod/src/model/GetPlayInfoResult.cc
  44. 104 0
      vod/src/model/GetUploadDetailsRequest.cc
  45. 98 0
      vod/src/model/GetUploadDetailsResult.cc
  46. 53 53
      vod/src/model/GetVideoInfoResult.cc
  47. 37 37
      vod/src/model/ListLiveRecordVideoResult.cc
  48. 33 29
      vod/src/model/SearchMediaResult.cc
  49. 11 0
      vod/src/model/SubmitSnapshotJobRequest.cc

+ 8 - 0
CHANGELOG

@@ -1,3 +1,11 @@
+2019-05-16 Version: 1.36.29
+1, Add some new apis to fetch the usage data from VoD, such as DescribeVodDomainUsageData, DescribeVodStorageData, DescribeVodTranscodeData, DescribeVodAIData.
+2, Add a new api named GetUploadDetails to describe the upload detail, such as uploading time and uploading source.
+3, Add a new api named GetAIVideoTagResult to describe the result of AI tag.
+4, Add new field Icon and OnlineStatus to some apis to manage short video materials, such as SearchMedia, GetAttachedMediaInfo, CreateUploadAttachedMedia.
+5, Add a new field RegionId to the response of GetAttachedMediaInfo and GetImageInfo.
+6, Add the field named UserData to SubmitSnapshotJob api request.
+
 2019-05-15 Version: 1.36.28
 1, Add InstanceId parameter to api CreateDisk
 2, Add parameter Affinity and Tenancy in ECS instance DedicatedHost related apis.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.28
+1.36.29

+ 2 - 422
vod/CMakeLists.txt

@@ -20,430 +20,10 @@ set(vod_public_header
 	include/alibabacloud/vod/VodClient.h
 	include/alibabacloud/vod/VodExport.h )
 
-set(vod_public_header_model 
-	include/alibabacloud/vod/model/SetDefaultAITemplateRequest.h
-	include/alibabacloud/vod/model/SetDefaultAITemplateResult.h
-	include/alibabacloud/vod/model/DeleteImageRequest.h
-	include/alibabacloud/vod/model/DeleteImageResult.h
-	include/alibabacloud/vod/model/AttachAppPolicyToIdentityRequest.h
-	include/alibabacloud/vod/model/AttachAppPolicyToIdentityResult.h
-	include/alibabacloud/vod/model/DeleteCategoryRequest.h
-	include/alibabacloud/vod/model/DeleteCategoryResult.h
-	include/alibabacloud/vod/model/SetDefaultTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/SetDefaultTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/UpdateVideoInfosRequest.h
-	include/alibabacloud/vod/model/UpdateVideoInfosResult.h
-	include/alibabacloud/vod/model/UpdateEditingProjectRequest.h
-	include/alibabacloud/vod/model/UpdateEditingProjectResult.h
-	include/alibabacloud/vod/model/GetMediaAuditResultRequest.h
-	include/alibabacloud/vod/model/GetMediaAuditResultResult.h
-	include/alibabacloud/vod/model/GetMediaAuditResultTimelineRequest.h
-	include/alibabacloud/vod/model/GetMediaAuditResultTimelineResult.h
-	include/alibabacloud/vod/model/ListAuditSecurityIpRequest.h
-	include/alibabacloud/vod/model/ListAuditSecurityIpResult.h
-	include/alibabacloud/vod/model/GetAuditHistoryRequest.h
-	include/alibabacloud/vod/model/GetAuditHistoryResult.h
-	include/alibabacloud/vod/model/GetMediaDNAResultRequest.h
-	include/alibabacloud/vod/model/GetMediaDNAResultResult.h
-	include/alibabacloud/vod/model/UpdateCategoryRequest.h
-	include/alibabacloud/vod/model/UpdateCategoryResult.h
-	include/alibabacloud/vod/model/RegisterMediaRequest.h
-	include/alibabacloud/vod/model/RegisterMediaResult.h
-	include/alibabacloud/vod/model/GetTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/GetTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/GetDefaultAITemplateRequest.h
-	include/alibabacloud/vod/model/GetDefaultAITemplateResult.h
-	include/alibabacloud/vod/model/ProduceEditingProjectVideoRequest.h
-	include/alibabacloud/vod/model/ProduceEditingProjectVideoResult.h
-	include/alibabacloud/vod/model/GetVideoPlayAuthRequest.h
-	include/alibabacloud/vod/model/GetVideoPlayAuthResult.h
-	include/alibabacloud/vod/model/DeleteVodTemplateRequest.h
-	include/alibabacloud/vod/model/DeleteVodTemplateResult.h
-	include/alibabacloud/vod/model/GetAITemplateRequest.h
-	include/alibabacloud/vod/model/GetAITemplateResult.h
-	include/alibabacloud/vod/model/ListVodTemplateRequest.h
-	include/alibabacloud/vod/model/ListVodTemplateResult.h
-	include/alibabacloud/vod/model/DeleteAppInfoRequest.h
-	include/alibabacloud/vod/model/DeleteAppInfoResult.h
-	include/alibabacloud/vod/model/AddWatermarkRequest.h
-	include/alibabacloud/vod/model/AddWatermarkResult.h
-	include/alibabacloud/vod/model/ListWatermarkRequest.h
-	include/alibabacloud/vod/model/ListWatermarkResult.h
-	include/alibabacloud/vod/model/CreateUploadImageRequest.h
-	include/alibabacloud/vod/model/CreateUploadImageResult.h
-	include/alibabacloud/vod/model/DescribeVodDomainLogRequest.h
-	include/alibabacloud/vod/model/DescribeVodDomainLogResult.h
-	include/alibabacloud/vod/model/UpdateVideoInfoRequest.h
-	include/alibabacloud/vod/model/UpdateVideoInfoResult.h
-	include/alibabacloud/vod/model/AddAITemplateRequest.h
-	include/alibabacloud/vod/model/AddAITemplateResult.h
-	include/alibabacloud/vod/model/ListTranscodeTaskRequest.h
-	include/alibabacloud/vod/model/ListTranscodeTaskResult.h
-	include/alibabacloud/vod/model/RefreshVodObjectCachesRequest.h
-	include/alibabacloud/vod/model/RefreshVodObjectCachesResult.h
-	include/alibabacloud/vod/model/DescribePlayTopVideosRequest.h
-	include/alibabacloud/vod/model/DescribePlayTopVideosResult.h
-	include/alibabacloud/vod/model/SetDefaultWatermarkRequest.h
-	include/alibabacloud/vod/model/SetDefaultWatermarkResult.h
-	include/alibabacloud/vod/model/ListAITemplateRequest.h
-	include/alibabacloud/vod/model/ListAITemplateResult.h
-	include/alibabacloud/vod/model/DeleteMessageCallbackRequest.h
-	include/alibabacloud/vod/model/DeleteMessageCallbackResult.h
-	include/alibabacloud/vod/model/RefreshUploadVideoRequest.h
-	include/alibabacloud/vod/model/RefreshUploadVideoResult.h
-	include/alibabacloud/vod/model/GetEditingProjectRequest.h
-	include/alibabacloud/vod/model/GetEditingProjectResult.h
-	include/alibabacloud/vod/model/DeleteAITemplateRequest.h
-	include/alibabacloud/vod/model/DeleteAITemplateResult.h
-	include/alibabacloud/vod/model/CreateAuditRequest.h
-	include/alibabacloud/vod/model/CreateAuditResult.h
-	include/alibabacloud/vod/model/GetWatermarkRequest.h
-	include/alibabacloud/vod/model/GetWatermarkResult.h
-	include/alibabacloud/vod/model/UpdateVodTemplateRequest.h
-	include/alibabacloud/vod/model/UpdateVodTemplateResult.h
-	include/alibabacloud/vod/model/UpdateAttachedMediaInfosRequest.h
-	include/alibabacloud/vod/model/UpdateAttachedMediaInfosResult.h
-	include/alibabacloud/vod/model/ListLiveRecordVideoRequest.h
-	include/alibabacloud/vod/model/ListLiveRecordVideoResult.h
-	include/alibabacloud/vod/model/DescribePlayVideoStatisRequest.h
-	include/alibabacloud/vod/model/DescribePlayVideoStatisResult.h
-	include/alibabacloud/vod/model/GetMediaAuditResultDetailRequest.h
-	include/alibabacloud/vod/model/GetMediaAuditResultDetailResult.h
-	include/alibabacloud/vod/model/DeleteStreamRequest.h
-	include/alibabacloud/vod/model/DeleteStreamResult.h
-	include/alibabacloud/vod/model/UploadMediaByURLRequest.h
-	include/alibabacloud/vod/model/UploadMediaByURLResult.h
-	include/alibabacloud/vod/model/UpdateAppInfoRequest.h
-	include/alibabacloud/vod/model/UpdateAppInfoResult.h
-	include/alibabacloud/vod/model/DescribeVodDomainBpsDataRequest.h
-	include/alibabacloud/vod/model/DescribeVodDomainBpsDataResult.h
-	include/alibabacloud/vod/model/GetPlayInfoRequest.h
-	include/alibabacloud/vod/model/GetPlayInfoResult.h
-	include/alibabacloud/vod/model/AddEditingProjectRequest.h
-	include/alibabacloud/vod/model/AddEditingProjectResult.h
-	include/alibabacloud/vod/model/DeleteMezzaninesRequest.h
-	include/alibabacloud/vod/model/DeleteMezzaninesResult.h
-	include/alibabacloud/vod/model/DeleteTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/DeleteTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/GetAttachedMediaInfoRequest.h
-	include/alibabacloud/vod/model/GetAttachedMediaInfoResult.h
-	include/alibabacloud/vod/model/AddTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/AddTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/SetEditingProjectMaterialsRequest.h
-	include/alibabacloud/vod/model/SetEditingProjectMaterialsResult.h
-	include/alibabacloud/vod/model/DeleteVideoRequest.h
-	include/alibabacloud/vod/model/DeleteVideoResult.h
-	include/alibabacloud/vod/model/ListAppInfoRequest.h
-	include/alibabacloud/vod/model/ListAppInfoResult.h
-	include/alibabacloud/vod/model/AddVodTemplateRequest.h
-	include/alibabacloud/vod/model/AddVodTemplateResult.h
-	include/alibabacloud/vod/model/GetVodTemplateRequest.h
-	include/alibabacloud/vod/model/GetVodTemplateResult.h
-	include/alibabacloud/vod/model/GetTranscodeSummaryRequest.h
-	include/alibabacloud/vod/model/GetTranscodeSummaryResult.h
-	include/alibabacloud/vod/model/DescribePlayUserTotalRequest.h
-	include/alibabacloud/vod/model/DescribePlayUserTotalResult.h
-	include/alibabacloud/vod/model/CreateUploadAttachedMediaRequest.h
-	include/alibabacloud/vod/model/CreateUploadAttachedMediaResult.h
-	include/alibabacloud/vod/model/DescribeVodRefreshQuotaRequest.h
-	include/alibabacloud/vod/model/DescribeVodRefreshQuotaResult.h
-	include/alibabacloud/vod/model/DescribeVodDomainTrafficDataRequest.h
-	include/alibabacloud/vod/model/DescribeVodDomainTrafficDataResult.h
-	include/alibabacloud/vod/model/ListSnapshotsRequest.h
-	include/alibabacloud/vod/model/ListSnapshotsResult.h
-	include/alibabacloud/vod/model/DescribeVodRefreshTasksRequest.h
-	include/alibabacloud/vod/model/DescribeVodRefreshTasksResult.h
-	include/alibabacloud/vod/model/GetVideoListRequest.h
-	include/alibabacloud/vod/model/GetVideoListResult.h
-	include/alibabacloud/vod/model/GetVideoInfoRequest.h
-	include/alibabacloud/vod/model/GetVideoInfoResult.h
-	include/alibabacloud/vod/model/DeleteAttachedMediaRequest.h
-	include/alibabacloud/vod/model/DeleteAttachedMediaResult.h
-	include/alibabacloud/vod/model/SetMessageCallbackRequest.h
-	include/alibabacloud/vod/model/SetMessageCallbackResult.h
-	include/alibabacloud/vod/model/GetVideoInfosRequest.h
-	include/alibabacloud/vod/model/GetVideoInfosResult.h
-	include/alibabacloud/vod/model/GetEditingProjectMaterialsRequest.h
-	include/alibabacloud/vod/model/GetEditingProjectMaterialsResult.h
-	include/alibabacloud/vod/model/GetAppInfosRequest.h
-	include/alibabacloud/vod/model/GetAppInfosResult.h
-	include/alibabacloud/vod/model/CreateAppInfoRequest.h
-	include/alibabacloud/vod/model/CreateAppInfoResult.h
-	include/alibabacloud/vod/model/DeleteWatermarkRequest.h
-	include/alibabacloud/vod/model/DeleteWatermarkResult.h
-	include/alibabacloud/vod/model/ListTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/ListTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/ListAppPoliciesForIdentityRequest.h
-	include/alibabacloud/vod/model/ListAppPoliciesForIdentityResult.h
-	include/alibabacloud/vod/model/SubmitPreprocessJobsRequest.h
-	include/alibabacloud/vod/model/SubmitPreprocessJobsResult.h
-	include/alibabacloud/vod/model/ListAIJobRequest.h
-	include/alibabacloud/vod/model/ListAIJobResult.h
-	include/alibabacloud/vod/model/UpdateImageInfosRequest.h
-	include/alibabacloud/vod/model/UpdateImageInfosResult.h
-	include/alibabacloud/vod/model/SearchMediaRequest.h
-	include/alibabacloud/vod/model/SearchMediaResult.h
-	include/alibabacloud/vod/model/PreloadVodObjectCachesRequest.h
-	include/alibabacloud/vod/model/PreloadVodObjectCachesResult.h
-	include/alibabacloud/vod/model/UpdateTranscodeTemplateGroupRequest.h
-	include/alibabacloud/vod/model/UpdateTranscodeTemplateGroupResult.h
-	include/alibabacloud/vod/model/AddCategoryRequest.h
-	include/alibabacloud/vod/model/AddCategoryResult.h
-	include/alibabacloud/vod/model/SubmitSnapshotJobRequest.h
-	include/alibabacloud/vod/model/SubmitSnapshotJobResult.h
-	include/alibabacloud/vod/model/UpdateAITemplateRequest.h
-	include/alibabacloud/vod/model/UpdateAITemplateResult.h
-	include/alibabacloud/vod/model/DeleteEditingProjectRequest.h
-	include/alibabacloud/vod/model/DeleteEditingProjectResult.h
-	include/alibabacloud/vod/model/SearchEditingProjectRequest.h
-	include/alibabacloud/vod/model/SearchEditingProjectResult.h
-	include/alibabacloud/vod/model/GetImageInfoRequest.h
-	include/alibabacloud/vod/model/GetImageInfoResult.h
-	include/alibabacloud/vod/model/UpdateWatermarkRequest.h
-	include/alibabacloud/vod/model/UpdateWatermarkResult.h
-	include/alibabacloud/vod/model/GetMessageCallbackRequest.h
-	include/alibabacloud/vod/model/GetMessageCallbackResult.h
-	include/alibabacloud/vod/model/MoveAppResourceRequest.h
-	include/alibabacloud/vod/model/MoveAppResourceResult.h
-	include/alibabacloud/vod/model/GetCategoriesRequest.h
-	include/alibabacloud/vod/model/GetCategoriesResult.h
-	include/alibabacloud/vod/model/GetAIMediaAuditJobRequest.h
-	include/alibabacloud/vod/model/GetAIMediaAuditJobResult.h
-	include/alibabacloud/vod/model/SubmitAIJobRequest.h
-	include/alibabacloud/vod/model/SubmitAIJobResult.h
-	include/alibabacloud/vod/model/SubmitTranscodeJobsRequest.h
-	include/alibabacloud/vod/model/SubmitTranscodeJobsResult.h
-	include/alibabacloud/vod/model/CreateUploadVideoRequest.h
-	include/alibabacloud/vod/model/CreateUploadVideoResult.h
-	include/alibabacloud/vod/model/SetAuditSecurityIpRequest.h
-	include/alibabacloud/vod/model/SetAuditSecurityIpResult.h
-	include/alibabacloud/vod/model/DeleteMultipartUploadRequest.h
-	include/alibabacloud/vod/model/DeleteMultipartUploadResult.h
-	include/alibabacloud/vod/model/SubmitAIMediaAuditJobRequest.h
-	include/alibabacloud/vod/model/SubmitAIMediaAuditJobResult.h
-	include/alibabacloud/vod/model/GetTranscodeTaskRequest.h
-	include/alibabacloud/vod/model/GetTranscodeTaskResult.h
-	include/alibabacloud/vod/model/GetURLUploadInfosRequest.h
-	include/alibabacloud/vod/model/GetURLUploadInfosResult.h
-	include/alibabacloud/vod/model/GetMezzanineInfoRequest.h
-	include/alibabacloud/vod/model/GetMezzanineInfoResult.h
-	include/alibabacloud/vod/model/DetachAppPolicyFromIdentityRequest.h
-	include/alibabacloud/vod/model/DetachAppPolicyFromIdentityResult.h
-	include/alibabacloud/vod/model/DescribePlayUserAvgRequest.h
-	include/alibabacloud/vod/model/DescribePlayUserAvgResult.h )
+set(vod_public_header_model  )
 
 set(vod_src 
-	src/VodClient.cc
-	src/model/SetDefaultAITemplateRequest.cc
-	src/model/SetDefaultAITemplateResult.cc
-	src/model/DeleteImageRequest.cc
-	src/model/DeleteImageResult.cc
-	src/model/AttachAppPolicyToIdentityRequest.cc
-	src/model/AttachAppPolicyToIdentityResult.cc
-	src/model/DeleteCategoryRequest.cc
-	src/model/DeleteCategoryResult.cc
-	src/model/SetDefaultTranscodeTemplateGroupRequest.cc
-	src/model/SetDefaultTranscodeTemplateGroupResult.cc
-	src/model/UpdateVideoInfosRequest.cc
-	src/model/UpdateVideoInfosResult.cc
-	src/model/UpdateEditingProjectRequest.cc
-	src/model/UpdateEditingProjectResult.cc
-	src/model/GetMediaAuditResultRequest.cc
-	src/model/GetMediaAuditResultResult.cc
-	src/model/GetMediaAuditResultTimelineRequest.cc
-	src/model/GetMediaAuditResultTimelineResult.cc
-	src/model/ListAuditSecurityIpRequest.cc
-	src/model/ListAuditSecurityIpResult.cc
-	src/model/GetAuditHistoryRequest.cc
-	src/model/GetAuditHistoryResult.cc
-	src/model/GetMediaDNAResultRequest.cc
-	src/model/GetMediaDNAResultResult.cc
-	src/model/UpdateCategoryRequest.cc
-	src/model/UpdateCategoryResult.cc
-	src/model/RegisterMediaRequest.cc
-	src/model/RegisterMediaResult.cc
-	src/model/GetTranscodeTemplateGroupRequest.cc
-	src/model/GetTranscodeTemplateGroupResult.cc
-	src/model/GetDefaultAITemplateRequest.cc
-	src/model/GetDefaultAITemplateResult.cc
-	src/model/ProduceEditingProjectVideoRequest.cc
-	src/model/ProduceEditingProjectVideoResult.cc
-	src/model/GetVideoPlayAuthRequest.cc
-	src/model/GetVideoPlayAuthResult.cc
-	src/model/DeleteVodTemplateRequest.cc
-	src/model/DeleteVodTemplateResult.cc
-	src/model/GetAITemplateRequest.cc
-	src/model/GetAITemplateResult.cc
-	src/model/ListVodTemplateRequest.cc
-	src/model/ListVodTemplateResult.cc
-	src/model/DeleteAppInfoRequest.cc
-	src/model/DeleteAppInfoResult.cc
-	src/model/AddWatermarkRequest.cc
-	src/model/AddWatermarkResult.cc
-	src/model/ListWatermarkRequest.cc
-	src/model/ListWatermarkResult.cc
-	src/model/CreateUploadImageRequest.cc
-	src/model/CreateUploadImageResult.cc
-	src/model/DescribeVodDomainLogRequest.cc
-	src/model/DescribeVodDomainLogResult.cc
-	src/model/UpdateVideoInfoRequest.cc
-	src/model/UpdateVideoInfoResult.cc
-	src/model/AddAITemplateRequest.cc
-	src/model/AddAITemplateResult.cc
-	src/model/ListTranscodeTaskRequest.cc
-	src/model/ListTranscodeTaskResult.cc
-	src/model/RefreshVodObjectCachesRequest.cc
-	src/model/RefreshVodObjectCachesResult.cc
-	src/model/DescribePlayTopVideosRequest.cc
-	src/model/DescribePlayTopVideosResult.cc
-	src/model/SetDefaultWatermarkRequest.cc
-	src/model/SetDefaultWatermarkResult.cc
-	src/model/ListAITemplateRequest.cc
-	src/model/ListAITemplateResult.cc
-	src/model/DeleteMessageCallbackRequest.cc
-	src/model/DeleteMessageCallbackResult.cc
-	src/model/RefreshUploadVideoRequest.cc
-	src/model/RefreshUploadVideoResult.cc
-	src/model/GetEditingProjectRequest.cc
-	src/model/GetEditingProjectResult.cc
-	src/model/DeleteAITemplateRequest.cc
-	src/model/DeleteAITemplateResult.cc
-	src/model/CreateAuditRequest.cc
-	src/model/CreateAuditResult.cc
-	src/model/GetWatermarkRequest.cc
-	src/model/GetWatermarkResult.cc
-	src/model/UpdateVodTemplateRequest.cc
-	src/model/UpdateVodTemplateResult.cc
-	src/model/UpdateAttachedMediaInfosRequest.cc
-	src/model/UpdateAttachedMediaInfosResult.cc
-	src/model/ListLiveRecordVideoRequest.cc
-	src/model/ListLiveRecordVideoResult.cc
-	src/model/DescribePlayVideoStatisRequest.cc
-	src/model/DescribePlayVideoStatisResult.cc
-	src/model/GetMediaAuditResultDetailRequest.cc
-	src/model/GetMediaAuditResultDetailResult.cc
-	src/model/DeleteStreamRequest.cc
-	src/model/DeleteStreamResult.cc
-	src/model/UploadMediaByURLRequest.cc
-	src/model/UploadMediaByURLResult.cc
-	src/model/UpdateAppInfoRequest.cc
-	src/model/UpdateAppInfoResult.cc
-	src/model/DescribeVodDomainBpsDataRequest.cc
-	src/model/DescribeVodDomainBpsDataResult.cc
-	src/model/GetPlayInfoRequest.cc
-	src/model/GetPlayInfoResult.cc
-	src/model/AddEditingProjectRequest.cc
-	src/model/AddEditingProjectResult.cc
-	src/model/DeleteMezzaninesRequest.cc
-	src/model/DeleteMezzaninesResult.cc
-	src/model/DeleteTranscodeTemplateGroupRequest.cc
-	src/model/DeleteTranscodeTemplateGroupResult.cc
-	src/model/GetAttachedMediaInfoRequest.cc
-	src/model/GetAttachedMediaInfoResult.cc
-	src/model/AddTranscodeTemplateGroupRequest.cc
-	src/model/AddTranscodeTemplateGroupResult.cc
-	src/model/SetEditingProjectMaterialsRequest.cc
-	src/model/SetEditingProjectMaterialsResult.cc
-	src/model/DeleteVideoRequest.cc
-	src/model/DeleteVideoResult.cc
-	src/model/ListAppInfoRequest.cc
-	src/model/ListAppInfoResult.cc
-	src/model/AddVodTemplateRequest.cc
-	src/model/AddVodTemplateResult.cc
-	src/model/GetVodTemplateRequest.cc
-	src/model/GetVodTemplateResult.cc
-	src/model/GetTranscodeSummaryRequest.cc
-	src/model/GetTranscodeSummaryResult.cc
-	src/model/DescribePlayUserTotalRequest.cc
-	src/model/DescribePlayUserTotalResult.cc
-	src/model/CreateUploadAttachedMediaRequest.cc
-	src/model/CreateUploadAttachedMediaResult.cc
-	src/model/DescribeVodRefreshQuotaRequest.cc
-	src/model/DescribeVodRefreshQuotaResult.cc
-	src/model/DescribeVodDomainTrafficDataRequest.cc
-	src/model/DescribeVodDomainTrafficDataResult.cc
-	src/model/ListSnapshotsRequest.cc
-	src/model/ListSnapshotsResult.cc
-	src/model/DescribeVodRefreshTasksRequest.cc
-	src/model/DescribeVodRefreshTasksResult.cc
-	src/model/GetVideoListRequest.cc
-	src/model/GetVideoListResult.cc
-	src/model/GetVideoInfoRequest.cc
-	src/model/GetVideoInfoResult.cc
-	src/model/DeleteAttachedMediaRequest.cc
-	src/model/DeleteAttachedMediaResult.cc
-	src/model/SetMessageCallbackRequest.cc
-	src/model/SetMessageCallbackResult.cc
-	src/model/GetVideoInfosRequest.cc
-	src/model/GetVideoInfosResult.cc
-	src/model/GetEditingProjectMaterialsRequest.cc
-	src/model/GetEditingProjectMaterialsResult.cc
-	src/model/GetAppInfosRequest.cc
-	src/model/GetAppInfosResult.cc
-	src/model/CreateAppInfoRequest.cc
-	src/model/CreateAppInfoResult.cc
-	src/model/DeleteWatermarkRequest.cc
-	src/model/DeleteWatermarkResult.cc
-	src/model/ListTranscodeTemplateGroupRequest.cc
-	src/model/ListTranscodeTemplateGroupResult.cc
-	src/model/ListAppPoliciesForIdentityRequest.cc
-	src/model/ListAppPoliciesForIdentityResult.cc
-	src/model/SubmitPreprocessJobsRequest.cc
-	src/model/SubmitPreprocessJobsResult.cc
-	src/model/ListAIJobRequest.cc
-	src/model/ListAIJobResult.cc
-	src/model/UpdateImageInfosRequest.cc
-	src/model/UpdateImageInfosResult.cc
-	src/model/SearchMediaRequest.cc
-	src/model/SearchMediaResult.cc
-	src/model/PreloadVodObjectCachesRequest.cc
-	src/model/PreloadVodObjectCachesResult.cc
-	src/model/UpdateTranscodeTemplateGroupRequest.cc
-	src/model/UpdateTranscodeTemplateGroupResult.cc
-	src/model/AddCategoryRequest.cc
-	src/model/AddCategoryResult.cc
-	src/model/SubmitSnapshotJobRequest.cc
-	src/model/SubmitSnapshotJobResult.cc
-	src/model/UpdateAITemplateRequest.cc
-	src/model/UpdateAITemplateResult.cc
-	src/model/DeleteEditingProjectRequest.cc
-	src/model/DeleteEditingProjectResult.cc
-	src/model/SearchEditingProjectRequest.cc
-	src/model/SearchEditingProjectResult.cc
-	src/model/GetImageInfoRequest.cc
-	src/model/GetImageInfoResult.cc
-	src/model/UpdateWatermarkRequest.cc
-	src/model/UpdateWatermarkResult.cc
-	src/model/GetMessageCallbackRequest.cc
-	src/model/GetMessageCallbackResult.cc
-	src/model/MoveAppResourceRequest.cc
-	src/model/MoveAppResourceResult.cc
-	src/model/GetCategoriesRequest.cc
-	src/model/GetCategoriesResult.cc
-	src/model/GetAIMediaAuditJobRequest.cc
-	src/model/GetAIMediaAuditJobResult.cc
-	src/model/SubmitAIJobRequest.cc
-	src/model/SubmitAIJobResult.cc
-	src/model/SubmitTranscodeJobsRequest.cc
-	src/model/SubmitTranscodeJobsResult.cc
-	src/model/CreateUploadVideoRequest.cc
-	src/model/CreateUploadVideoResult.cc
-	src/model/SetAuditSecurityIpRequest.cc
-	src/model/SetAuditSecurityIpResult.cc
-	src/model/DeleteMultipartUploadRequest.cc
-	src/model/DeleteMultipartUploadResult.cc
-	src/model/SubmitAIMediaAuditJobRequest.cc
-	src/model/SubmitAIMediaAuditJobResult.cc
-	src/model/GetTranscodeTaskRequest.cc
-	src/model/GetTranscodeTaskResult.cc
-	src/model/GetURLUploadInfosRequest.cc
-	src/model/GetURLUploadInfosResult.cc
-	src/model/GetMezzanineInfoRequest.cc
-	src/model/GetMezzanineInfoResult.cc
-	src/model/DetachAppPolicyFromIdentityRequest.cc
-	src/model/DetachAppPolicyFromIdentityResult.cc
-	src/model/DescribePlayUserAvgRequest.cc
-	src/model/DescribePlayUserAvgResult.cc )
+	src/VodClient.cc )
 
 add_library(vod ${LIB_TYPE}
 	${vod_public_header}

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

@@ -124,6 +124,8 @@
 #include "model/AddEditingProjectResult.h"
 #include "model/DeleteMezzaninesRequest.h"
 #include "model/DeleteMezzaninesResult.h"
+#include "model/GetUploadDetailsRequest.h"
+#include "model/GetUploadDetailsResult.h"
 #include "model/DeleteTranscodeTemplateGroupRequest.h"
 #include "model/DeleteTranscodeTemplateGroupResult.h"
 #include "model/GetAttachedMediaInfoRequest.h"
@@ -144,6 +146,8 @@
 #include "model/GetTranscodeSummaryResult.h"
 #include "model/DescribePlayUserTotalRequest.h"
 #include "model/DescribePlayUserTotalResult.h"
+#include "model/DescribeVodStorageDataRequest.h"
+#include "model/DescribeVodStorageDataResult.h"
 #include "model/CreateUploadAttachedMediaRequest.h"
 #include "model/CreateUploadAttachedMediaResult.h"
 #include "model/DescribeVodRefreshQuotaRequest.h"
@@ -152,6 +156,8 @@
 #include "model/DescribeVodDomainTrafficDataResult.h"
 #include "model/ListSnapshotsRequest.h"
 #include "model/ListSnapshotsResult.h"
+#include "model/DescribeVodAIDataRequest.h"
+#include "model/DescribeVodAIDataResult.h"
 #include "model/DescribeVodRefreshTasksRequest.h"
 #include "model/DescribeVodRefreshTasksResult.h"
 #include "model/GetVideoListRequest.h"
@@ -176,12 +182,16 @@
 #include "model/ListTranscodeTemplateGroupResult.h"
 #include "model/ListAppPoliciesForIdentityRequest.h"
 #include "model/ListAppPoliciesForIdentityResult.h"
+#include "model/GetAIVideoTagResultRequest.h"
+#include "model/GetAIVideoTagResultResult.h"
 #include "model/SubmitPreprocessJobsRequest.h"
 #include "model/SubmitPreprocessJobsResult.h"
 #include "model/ListAIJobRequest.h"
 #include "model/ListAIJobResult.h"
 #include "model/UpdateImageInfosRequest.h"
 #include "model/UpdateImageInfosResult.h"
+#include "model/DescribeVodDomainUsageDataRequest.h"
+#include "model/DescribeVodDomainUsageDataResult.h"
 #include "model/SearchMediaRequest.h"
 #include "model/SearchMediaResult.h"
 #include "model/PreloadVodObjectCachesRequest.h"
@@ -196,6 +206,8 @@
 #include "model/UpdateAITemplateResult.h"
 #include "model/DeleteEditingProjectRequest.h"
 #include "model/DeleteEditingProjectResult.h"
+#include "model/DescribeVodTranscodeDataRequest.h"
+#include "model/DescribeVodTranscodeDataResult.h"
 #include "model/SearchEditingProjectRequest.h"
 #include "model/SearchEditingProjectResult.h"
 #include "model/GetImageInfoRequest.h"
@@ -394,6 +406,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteMezzaninesResult> DeleteMezzaninesOutcome;
 			typedef std::future<DeleteMezzaninesOutcome> DeleteMezzaninesOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DeleteMezzaninesRequest&, const DeleteMezzaninesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteMezzaninesAsyncHandler;
+			typedef Outcome<Error, Model::GetUploadDetailsResult> GetUploadDetailsOutcome;
+			typedef std::future<GetUploadDetailsOutcome> GetUploadDetailsOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::GetUploadDetailsRequest&, const GetUploadDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUploadDetailsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteTranscodeTemplateGroupResult> DeleteTranscodeTemplateGroupOutcome;
 			typedef std::future<DeleteTranscodeTemplateGroupOutcome> DeleteTranscodeTemplateGroupOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DeleteTranscodeTemplateGroupRequest&, const DeleteTranscodeTemplateGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTranscodeTemplateGroupAsyncHandler;
@@ -424,6 +439,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribePlayUserTotalResult> DescribePlayUserTotalOutcome;
 			typedef std::future<DescribePlayUserTotalOutcome> DescribePlayUserTotalOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DescribePlayUserTotalRequest&, const DescribePlayUserTotalOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePlayUserTotalAsyncHandler;
+			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::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;
@@ -436,6 +454,9 @@ namespace AlibabaCloud
 			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;
+			typedef Outcome<Error, Model::DescribeVodAIDataResult> DescribeVodAIDataOutcome;
+			typedef std::future<DescribeVodAIDataOutcome> DescribeVodAIDataOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DescribeVodAIDataRequest&, const DescribeVodAIDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodAIDataAsyncHandler;
 			typedef Outcome<Error, Model::DescribeVodRefreshTasksResult> DescribeVodRefreshTasksOutcome;
 			typedef std::future<DescribeVodRefreshTasksOutcome> DescribeVodRefreshTasksOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::DescribeVodRefreshTasksRequest&, const DescribeVodRefreshTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodRefreshTasksAsyncHandler;
@@ -472,6 +493,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListAppPoliciesForIdentityResult> ListAppPoliciesForIdentityOutcome;
 			typedef std::future<ListAppPoliciesForIdentityOutcome> ListAppPoliciesForIdentityOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::ListAppPoliciesForIdentityRequest&, const ListAppPoliciesForIdentityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAppPoliciesForIdentityAsyncHandler;
+			typedef Outcome<Error, Model::GetAIVideoTagResultResult> GetAIVideoTagResultOutcome;
+			typedef std::future<GetAIVideoTagResultOutcome> GetAIVideoTagResultOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::GetAIVideoTagResultRequest&, const GetAIVideoTagResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAIVideoTagResultAsyncHandler;
 			typedef Outcome<Error, Model::SubmitPreprocessJobsResult> SubmitPreprocessJobsOutcome;
 			typedef std::future<SubmitPreprocessJobsOutcome> SubmitPreprocessJobsOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SubmitPreprocessJobsRequest&, const SubmitPreprocessJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitPreprocessJobsAsyncHandler;
@@ -481,6 +505,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateImageInfosResult> UpdateImageInfosOutcome;
 			typedef std::future<UpdateImageInfosOutcome> UpdateImageInfosOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::UpdateImageInfosRequest&, const UpdateImageInfosOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateImageInfosAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVodDomainUsageDataResult> DescribeVodDomainUsageDataOutcome;
+			typedef std::future<DescribeVodDomainUsageDataOutcome> DescribeVodDomainUsageDataOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::DescribeVodDomainUsageDataRequest&, const DescribeVodDomainUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVodDomainUsageDataAsyncHandler;
 			typedef Outcome<Error, Model::SearchMediaResult> SearchMediaOutcome;
 			typedef std::future<SearchMediaOutcome> SearchMediaOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SearchMediaRequest&, const SearchMediaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchMediaAsyncHandler;
@@ -502,6 +529,9 @@ namespace AlibabaCloud
 			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;
+			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::SearchEditingProjectResult> SearchEditingProjectOutcome;
 			typedef std::future<SearchEditingProjectOutcome> SearchEditingProjectOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SearchEditingProjectRequest&, const SearchEditingProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchEditingProjectAsyncHandler;
@@ -714,6 +744,9 @@ namespace AlibabaCloud
 			DeleteMezzaninesOutcome deleteMezzanines(const Model::DeleteMezzaninesRequest &request)const;
 			void deleteMezzaninesAsync(const Model::DeleteMezzaninesRequest& request, const DeleteMezzaninesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteMezzaninesOutcomeCallable deleteMezzaninesCallable(const Model::DeleteMezzaninesRequest& request) const;
+			GetUploadDetailsOutcome getUploadDetails(const Model::GetUploadDetailsRequest &request)const;
+			void getUploadDetailsAsync(const Model::GetUploadDetailsRequest& request, const GetUploadDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetUploadDetailsOutcomeCallable getUploadDetailsCallable(const Model::GetUploadDetailsRequest& request) const;
 			DeleteTranscodeTemplateGroupOutcome deleteTranscodeTemplateGroup(const Model::DeleteTranscodeTemplateGroupRequest &request)const;
 			void deleteTranscodeTemplateGroupAsync(const Model::DeleteTranscodeTemplateGroupRequest& request, const DeleteTranscodeTemplateGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTranscodeTemplateGroupOutcomeCallable deleteTranscodeTemplateGroupCallable(const Model::DeleteTranscodeTemplateGroupRequest& request) const;
@@ -744,6 +777,9 @@ namespace AlibabaCloud
 			DescribePlayUserTotalOutcome describePlayUserTotal(const Model::DescribePlayUserTotalRequest &request)const;
 			void describePlayUserTotalAsync(const Model::DescribePlayUserTotalRequest& request, const DescribePlayUserTotalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribePlayUserTotalOutcomeCallable describePlayUserTotalCallable(const Model::DescribePlayUserTotalRequest& request) const;
+			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;
 			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;
@@ -756,6 +792,9 @@ namespace AlibabaCloud
 			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;
+			DescribeVodAIDataOutcome describeVodAIData(const Model::DescribeVodAIDataRequest &request)const;
+			void describeVodAIDataAsync(const Model::DescribeVodAIDataRequest& request, const DescribeVodAIDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeVodAIDataOutcomeCallable describeVodAIDataCallable(const Model::DescribeVodAIDataRequest& request) const;
 			DescribeVodRefreshTasksOutcome describeVodRefreshTasks(const Model::DescribeVodRefreshTasksRequest &request)const;
 			void describeVodRefreshTasksAsync(const Model::DescribeVodRefreshTasksRequest& request, const DescribeVodRefreshTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVodRefreshTasksOutcomeCallable describeVodRefreshTasksCallable(const Model::DescribeVodRefreshTasksRequest& request) const;
@@ -792,6 +831,9 @@ namespace AlibabaCloud
 			ListAppPoliciesForIdentityOutcome listAppPoliciesForIdentity(const Model::ListAppPoliciesForIdentityRequest &request)const;
 			void listAppPoliciesForIdentityAsync(const Model::ListAppPoliciesForIdentityRequest& request, const ListAppPoliciesForIdentityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAppPoliciesForIdentityOutcomeCallable listAppPoliciesForIdentityCallable(const Model::ListAppPoliciesForIdentityRequest& request) const;
+			GetAIVideoTagResultOutcome getAIVideoTagResult(const Model::GetAIVideoTagResultRequest &request)const;
+			void getAIVideoTagResultAsync(const Model::GetAIVideoTagResultRequest& request, const GetAIVideoTagResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAIVideoTagResultOutcomeCallable getAIVideoTagResultCallable(const Model::GetAIVideoTagResultRequest& request) const;
 			SubmitPreprocessJobsOutcome submitPreprocessJobs(const Model::SubmitPreprocessJobsRequest &request)const;
 			void submitPreprocessJobsAsync(const Model::SubmitPreprocessJobsRequest& request, const SubmitPreprocessJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SubmitPreprocessJobsOutcomeCallable submitPreprocessJobsCallable(const Model::SubmitPreprocessJobsRequest& request) const;
@@ -801,6 +843,9 @@ namespace AlibabaCloud
 			UpdateImageInfosOutcome updateImageInfos(const Model::UpdateImageInfosRequest &request)const;
 			void updateImageInfosAsync(const Model::UpdateImageInfosRequest& request, const UpdateImageInfosAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateImageInfosOutcomeCallable updateImageInfosCallable(const Model::UpdateImageInfosRequest& request) const;
+			DescribeVodDomainUsageDataOutcome describeVodDomainUsageData(const Model::DescribeVodDomainUsageDataRequest &request)const;
+			void describeVodDomainUsageDataAsync(const Model::DescribeVodDomainUsageDataRequest& request, const DescribeVodDomainUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeVodDomainUsageDataOutcomeCallable describeVodDomainUsageDataCallable(const Model::DescribeVodDomainUsageDataRequest& request) const;
 			SearchMediaOutcome searchMedia(const Model::SearchMediaRequest &request)const;
 			void searchMediaAsync(const Model::SearchMediaRequest& request, const SearchMediaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SearchMediaOutcomeCallable searchMediaCallable(const Model::SearchMediaRequest& request) const;
@@ -822,6 +867,9 @@ namespace AlibabaCloud
 			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;
+			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;
 			SearchEditingProjectOutcome searchEditingProject(const Model::SearchEditingProjectRequest &request)const;
 			void searchEditingProjectAsync(const Model::SearchEditingProjectRequest& request, const SearchEditingProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SearchEditingProjectOutcomeCallable searchEditingProjectCallable(const Model::SearchEditingProjectRequest& request) const;

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

@@ -47,6 +47,8 @@ namespace AlibabaCloud
 				void setAppId(const std::string& appId);
 				std::string getPolicyNames()const;
 				void setPolicyNames(const std::string& policyNames);
+				std::string getResourceRealOwnerId()const;
+				void setResourceRealOwnerId(const std::string& resourceRealOwnerId);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 
@@ -57,6 +59,7 @@ namespace AlibabaCloud
 				std::string resourceOwnerAccount_;
 				std::string appId_;
 				std::string policyNames_;
+				std::string resourceRealOwnerId_;
 				long ownerId_;
 
 			};

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

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 				CreateUploadImageResult();
 				explicit CreateUploadImageResult(const std::string &payload);
 				~CreateUploadImageResult();
+				std::string getFileURL()const;
 				std::string getUploadAddress()const;
 				std::string getUploadAuth()const;
 				std::string getImageId()const;
@@ -45,6 +46,7 @@ namespace AlibabaCloud
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string fileURL_;
 				std::string uploadAddress_;
 				std::string uploadAuth_;
 				std::string imageId_;

+ 120 - 0
vod/include/alibabacloud/vod/model/DescribeVodAIDataRequest.h

@@ -0,0 +1,120 @@
+/*
+ * 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_DESCRIBEVODAIDATAREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODAIDATAREQUEST_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 DescribeVodAIDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVodAIDataRequest();
+				~DescribeVodAIDataRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getPopProduct()const;
+				void setPopProduct(const std::string& popProduct);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string popProduct_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODAIDATAREQUEST_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/DescribeVodAIDataResult.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_DESCRIBEVODAIDATARESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODAIDATARESULT_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 DescribeVodAIDataResult : public ServiceResult
+			{
+			public:
+				struct AIDataItem
+				{
+					struct DataItem
+					{
+						std::string value;
+						std::string name;
+					};
+					std::vector<AIDataItem::DataItem> data;
+					std::string timeStamp;
+				};
+
+
+				DescribeVodAIDataResult();
+				explicit DescribeVodAIDataResult(const std::string &payload);
+				~DescribeVodAIDataResult();
+				std::vector<AIDataItem> getAIData()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AIDataItem> aIData_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODAIDATARESULT_H_

+ 132 - 0
vod/include/alibabacloud/vod/model/DescribeVodDomainUsageDataRequest.h

@@ -0,0 +1,132 @@
+/*
+ * 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_DESCRIBEVODDOMAINUSAGEDATAREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODDOMAINUSAGEDATAREQUEST_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 DescribeVodDomainUsageDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVodDomainUsageDataRequest();
+				~DescribeVodDomainUsageDataRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getArea()const;
+				void setArea(const std::string& area);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getPopProduct()const;
+				void setPopProduct(const std::string& popProduct);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getField()const;
+				void setField(const std::string& field);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string type_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string area_;
+				std::string app_ip_;
+				std::string popProduct_;
+				std::string product_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string field_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODDOMAINUSAGEDATAREQUEST_H_

+ 68 - 0
vod/include/alibabacloud/vod/model/DescribeVodDomainUsageDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_DESCRIBEVODDOMAINUSAGEDATARESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODDOMAINUSAGEDATARESULT_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 DescribeVodDomainUsageDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					std::string value;
+					std::string timeStamp;
+				};
+
+
+				DescribeVodDomainUsageDataResult();
+				explicit DescribeVodDomainUsageDataResult(const std::string &payload);
+				~DescribeVodDomainUsageDataResult();
+				std::vector<DataModule> getUsageDataPerInterval()const;
+				std::string getType()const;
+				std::string getArea()const;
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DataModule> usageDataPerInterval_;
+				std::string type_;
+				std::string area_;
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODDOMAINUSAGEDATARESULT_H_

+ 123 - 0
vod/include/alibabacloud/vod/model/DescribeVodStorageDataRequest.h

@@ -0,0 +1,123 @@
+/*
+ * 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_DESCRIBEVODSTORAGEDATAREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODSTORAGEDATAREQUEST_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 DescribeVodStorageDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVodStorageDataRequest();
+				~DescribeVodStorageDataRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getStorageType()const;
+				void setStorageType(const std::string& storageType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getPopProduct()const;
+				void setPopProduct(const std::string& popProduct);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string storageType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string popProduct_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODSTORAGEDATAREQUEST_H_

+ 59 - 0
vod/include/alibabacloud/vod/model/DescribeVodStorageDataResult.h

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

+ 120 - 0
vod/include/alibabacloud/vod/model/DescribeVodTranscodeDataRequest.h

@@ -0,0 +1,120 @@
+/*
+ * 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_DESCRIBEVODTRANSCODEDATAREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTRANSCODEDATAREQUEST_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 DescribeVodTranscodeDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVodTranscodeDataRequest();
+				~DescribeVodTranscodeDataRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getPopProduct()const;
+				void setPopProduct(const std::string& popProduct);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string popProduct_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTRANSCODEDATAREQUEST_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/DescribeVodTranscodeDataResult.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_DESCRIBEVODTRANSCODEDATARESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTRANSCODEDATARESULT_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 DescribeVodTranscodeDataResult : public ServiceResult
+			{
+			public:
+				struct TranscodeDataItem
+				{
+					struct DataItem
+					{
+						std::string value;
+						std::string name;
+					};
+					std::vector<TranscodeDataItem::DataItem> data;
+					std::string timeStamp;
+				};
+
+
+				DescribeVodTranscodeDataResult();
+				explicit DescribeVodTranscodeDataResult(const std::string &payload);
+				~DescribeVodTranscodeDataResult();
+				std::vector<TranscodeDataItem> getTranscodeData()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<TranscodeDataItem> transcodeData_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_DESCRIBEVODTRANSCODEDATARESULT_H_

+ 63 - 0
vod/include/alibabacloud/vod/model/GetAIVideoTagResultRequest.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_GETAIVIDEOTAGRESULTREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_GETAIVIDEOTAGRESULTREQUEST_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 GetAIVideoTagResultRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetAIVideoTagResultRequest();
+				~GetAIVideoTagResultRequest();
+
+				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 getMediaId()const;
+				void setMediaId(const std::string& mediaId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string ownerId_;
+				std::string mediaId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETAIVIDEOTAGRESULTREQUEST_H_

+ 84 - 0
vod/include/alibabacloud/vod/model/GetAIVideoTagResultResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_VOD_MODEL_GETAIVIDEOTAGRESULTRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_GETAIVIDEOTAGRESULTRESULT_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 GetAIVideoTagResultResult : public ServiceResult
+			{
+			public:
+				struct VideoTagResult
+				{
+					struct CategoryItem
+					{
+						std::string tag;
+					};
+					struct PersonItem
+					{
+						std::vector<std::string> times;
+						std::string tag;
+						std::string faceUrl;
+					};
+					struct TimeItem
+					{
+						std::vector<std::string> times1;
+						std::string tag;
+					};
+					struct LocationItem
+					{
+						std::string tag;
+						std::vector<std::string> times2;
+					};
+					struct KeywordItem
+					{
+						std::string tag;
+						std::vector<std::string> times3;
+					};
+					std::vector<CategoryItem> category;
+					std::vector<KeywordItem> keyword;
+					std::vector<TimeItem> time;
+					std::vector<PersonItem> person;
+					std::vector<LocationItem> location;
+				};
+
+
+				GetAIVideoTagResultResult();
+				explicit GetAIVideoTagResultResult(const std::string &payload);
+				~GetAIVideoTagResultResult();
+				VideoTagResult getVideoTagResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				VideoTagResult videoTagResult_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETAIVIDEOTAGRESULTRESULT_H_

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

@@ -52,6 +52,8 @@ namespace AlibabaCloud
 					std::string mediaId;
 					std::string appId;
 					std::string creationTime;
+					std::string icon;
+					std::string regionId;
 					long storageLocation;
 					std::string tags;
 					long fileSize;

+ 1 - 0
vod/include/alibabacloud/vod/model/GetImageInfoResult.h

@@ -53,6 +53,7 @@ namespace AlibabaCloud
 					std::string appId;
 					std::string imageId;
 					std::string creationTime;
+					std::string regionId;
 					std::string storageLocation;
 					std::string tags;
 				};

+ 3 - 3
vod/include/alibabacloud/vod/model/GetMezzanineInfoResult.h

@@ -32,7 +32,7 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_VOD_EXPORT GetMezzanineInfoResult : public ServiceResult
 			{
 			public:
-				struct Mezzanine
+				struct MezzanineInGetMezzanineInfo
 				{
 					struct AudioStream
 					{
@@ -100,12 +100,12 @@ namespace AlibabaCloud
 				GetMezzanineInfoResult();
 				explicit GetMezzanineInfoResult(const std::string &payload);
 				~GetMezzanineInfoResult();
-				Mezzanine getMezzanine()const;
+				MezzanineInGetMezzanineInfo getMezzanineInGetMezzanineInfo()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				Mezzanine mezzanine_;
+				MezzanineInGetMezzanineInfo mezzanineInGetMezzanineInfo_;
 
 			};
 		}

+ 1 - 0
vod/include/alibabacloud/vod/model/GetPlayInfoResult.h

@@ -60,6 +60,7 @@ namespace AlibabaCloud
 					std::string fps;
 					std::string duration;
 					std::string modificationTime;
+					std::string specification;
 					std::string bitrate;
 					long encrypt;
 					std::string preprocessStatus;

+ 66 - 0
vod/include/alibabacloud/vod/model/GetUploadDetailsRequest.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_GETUPLOADDETAILSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_GETUPLOADDETAILSREQUEST_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 GetUploadDetailsRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetUploadDetailsRequest();
+				~GetUploadDetailsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				long getResourceRealOwnerId()const;
+				void setResourceRealOwnerId(long resourceRealOwnerId);
+				std::string getMediaIds()const;
+				void setMediaIds(const std::string& mediaIds);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getMediaType()const;
+				void setMediaType(const std::string& mediaType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				long resourceRealOwnerId_;
+				std::string mediaIds_;
+				long ownerId_;
+				std::string mediaType_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETUPLOADDETAILSREQUEST_H_

+ 71 - 0
vod/include/alibabacloud/vod/model/GetUploadDetailsResult.h

@@ -0,0 +1,71 @@
+/*
+ * 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_GETUPLOADDETAILSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_GETUPLOADDETAILSRESULT_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 GetUploadDetailsResult : public ServiceResult
+			{
+			public:
+				struct UploadDetail
+				{
+					std::string status;
+					std::string deviceModel;
+					std::string title;
+					std::string modificationTime;
+					float uploadRatio;
+					std::string mediaId;
+					std::string uploadSource;
+					std::string uploadStatus;
+					std::string completionTime;
+					long uploadSize;
+					std::string creationTime;
+					std::string uploadIP;
+					long fileSize;
+				};
+
+
+				GetUploadDetailsResult();
+				explicit GetUploadDetailsResult(const std::string &payload);
+				~GetUploadDetailsResult();
+				std::vector<std::string> getNonExistMediaIds()const;
+				std::vector<UploadDetail> getUploadDetails()const;
+				std::vector<std::string> getForbiddenMediaIds()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> nonExistMediaIds_;
+				std::vector<UploadDetail> uploadDetails_;
+				std::vector<std::string> forbiddenMediaIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_GETUPLOADDETAILSRESULT_H_

+ 3 - 3
vod/include/alibabacloud/vod/model/GetVideoInfoResult.h

@@ -32,7 +32,7 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_VOD_EXPORT GetVideoInfoResult : public ServiceResult
 			{
 			public:
-				struct Video
+				struct VideoInGetVideoInfo
 				{
 					struct Thumbnail
 					{
@@ -68,14 +68,14 @@ namespace AlibabaCloud
 				GetVideoInfoResult();
 				explicit GetVideoInfoResult(const std::string &payload);
 				~GetVideoInfoResult();
-				Video getVideo()const;
 				std::string getAI()const;
+				VideoInGetVideoInfo getVideoInGetVideoInfo()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				Video video_;
 				std::string aI_;
+				VideoInGetVideoInfo videoInGetVideoInfo_;
 
 			};
 		}

+ 2 - 2
vod/include/alibabacloud/vod/model/ListLiveRecordVideoResult.h

@@ -34,7 +34,7 @@ namespace AlibabaCloud
 			public:
 				struct LiveRecordVideo
 				{
-					struct Video
+					struct VideoInListLiveRecordVideo
 					{
 						std::string status;
 						std::string modifyTime;
@@ -78,7 +78,7 @@ namespace AlibabaCloud
 					std::string recordStartTime;
 					std::string domainName;
 					std::string recordEndTime;
-					Video video;
+					VideoInListLiveRecordVideo videoInListLiveRecordVideo;
 					std::vector<LiveRecordVideo::PlayInfo> playInfoList;
 					std::string appName;
 				};

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

@@ -151,7 +151,7 @@ namespace AlibabaCloud
 						std::string storageLocation;
 						std::string tags;
 					};
-					struct AttachedMedia
+					struct AttachedMediaInSearchMedia
 					{
 						struct Category
 						{
@@ -165,6 +165,7 @@ namespace AlibabaCloud
 						std::string description;
 						std::vector<Category> categories;
 						std::string businessType;
+						std::string onlineStatus;
 						std::string title;
 						std::string modificationTime;
 						std::string uRL;
@@ -172,13 +173,14 @@ namespace AlibabaCloud
 						std::string appId;
 						std::string creationTime;
 						std::string regionId;
+						std::string icon;
 						std::string storageLocation;
 						std::string tags;
 					};
-					AttachedMedia attachedMedia;
 					std::string mediaId;
 					Video video;
 					std::string creationTime;
+					AttachedMediaInSearchMedia attachedMediaInSearchMedia;
 					std::string mediaType;
 					Audio audio;
 					Image image;

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

@@ -47,6 +47,8 @@ namespace AlibabaCloud
 				void setOwnerId(long ownerId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getUserData()const;
+				void setUserData(const std::string& userData);
 				long getSpecifiedOffsetTime()const;
 				void setSpecifiedOffsetTime(long specifiedOffsetTime);
 				std::string getWidth()const;
@@ -67,6 +69,7 @@ namespace AlibabaCloud
 				std::string videoId_;
 				long ownerId_;
 				std::string accessKeyId_;
+				std::string userData_;
 				long specifiedOffsetTime_;
 				std::string width_;
 				long interval_;

+ 216 - 0
vod/src/VodClient.cc

@@ -1887,6 +1887,42 @@ VodClient::DeleteMezzaninesOutcomeCallable VodClient::deleteMezzaninesCallable(c
 	return task->get_future();
 }
 
+VodClient::GetUploadDetailsOutcome VodClient::getUploadDetails(const GetUploadDetailsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetUploadDetailsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetUploadDetailsOutcome(GetUploadDetailsResult(outcome.result()));
+	else
+		return GetUploadDetailsOutcome(outcome.error());
+}
+
+void VodClient::getUploadDetailsAsync(const GetUploadDetailsRequest& request, const GetUploadDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getUploadDetails(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::GetUploadDetailsOutcomeCallable VodClient::getUploadDetailsCallable(const GetUploadDetailsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetUploadDetailsOutcome()>>(
+			[this, request]()
+			{
+			return this->getUploadDetails(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DeleteTranscodeTemplateGroupOutcome VodClient::deleteTranscodeTemplateGroup(const DeleteTranscodeTemplateGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2247,6 +2283,42 @@ VodClient::DescribePlayUserTotalOutcomeCallable VodClient::describePlayUserTotal
 	return task->get_future();
 }
 
+VodClient::DescribeVodStorageDataOutcome VodClient::describeVodStorageData(const DescribeVodStorageDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodStorageDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodStorageDataOutcome(DescribeVodStorageDataResult(outcome.result()));
+	else
+		return DescribeVodStorageDataOutcome(outcome.error());
+}
+
+void VodClient::describeVodStorageDataAsync(const DescribeVodStorageDataRequest& request, const DescribeVodStorageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodStorageData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodStorageDataOutcomeCallable VodClient::describeVodStorageDataCallable(const DescribeVodStorageDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodStorageDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodStorageData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::CreateUploadAttachedMediaOutcome VodClient::createUploadAttachedMedia(const CreateUploadAttachedMediaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2391,6 +2463,42 @@ VodClient::ListSnapshotsOutcomeCallable VodClient::listSnapshotsCallable(const L
 	return task->get_future();
 }
 
+VodClient::DescribeVodAIDataOutcome VodClient::describeVodAIData(const DescribeVodAIDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodAIDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodAIDataOutcome(DescribeVodAIDataResult(outcome.result()));
+	else
+		return DescribeVodAIDataOutcome(outcome.error());
+}
+
+void VodClient::describeVodAIDataAsync(const DescribeVodAIDataRequest& request, const DescribeVodAIDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodAIData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodAIDataOutcomeCallable VodClient::describeVodAIDataCallable(const DescribeVodAIDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodAIDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodAIData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::DescribeVodRefreshTasksOutcome VodClient::describeVodRefreshTasks(const DescribeVodRefreshTasksRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2823,6 +2931,42 @@ VodClient::ListAppPoliciesForIdentityOutcomeCallable VodClient::listAppPoliciesF
 	return task->get_future();
 }
 
+VodClient::GetAIVideoTagResultOutcome VodClient::getAIVideoTagResult(const GetAIVideoTagResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAIVideoTagResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAIVideoTagResultOutcome(GetAIVideoTagResultResult(outcome.result()));
+	else
+		return GetAIVideoTagResultOutcome(outcome.error());
+}
+
+void VodClient::getAIVideoTagResultAsync(const GetAIVideoTagResultRequest& request, const GetAIVideoTagResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAIVideoTagResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::GetAIVideoTagResultOutcomeCallable VodClient::getAIVideoTagResultCallable(const GetAIVideoTagResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAIVideoTagResultOutcome()>>(
+			[this, request]()
+			{
+			return this->getAIVideoTagResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::SubmitPreprocessJobsOutcome VodClient::submitPreprocessJobs(const SubmitPreprocessJobsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2931,6 +3075,42 @@ VodClient::UpdateImageInfosOutcomeCallable VodClient::updateImageInfosCallable(c
 	return task->get_future();
 }
 
+VodClient::DescribeVodDomainUsageDataOutcome VodClient::describeVodDomainUsageData(const DescribeVodDomainUsageDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodDomainUsageDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodDomainUsageDataOutcome(DescribeVodDomainUsageDataResult(outcome.result()));
+	else
+		return DescribeVodDomainUsageDataOutcome(outcome.error());
+}
+
+void VodClient::describeVodDomainUsageDataAsync(const DescribeVodDomainUsageDataRequest& request, const DescribeVodDomainUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodDomainUsageData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodDomainUsageDataOutcomeCallable VodClient::describeVodDomainUsageDataCallable(const DescribeVodDomainUsageDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodDomainUsageDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodDomainUsageData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::SearchMediaOutcome VodClient::searchMedia(const SearchMediaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3183,6 +3363,42 @@ VodClient::DeleteEditingProjectOutcomeCallable VodClient::deleteEditingProjectCa
 	return task->get_future();
 }
 
+VodClient::DescribeVodTranscodeDataOutcome VodClient::describeVodTranscodeData(const DescribeVodTranscodeDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVodTranscodeDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVodTranscodeDataOutcome(DescribeVodTranscodeDataResult(outcome.result()));
+	else
+		return DescribeVodTranscodeDataOutcome(outcome.error());
+}
+
+void VodClient::describeVodTranscodeDataAsync(const DescribeVodTranscodeDataRequest& request, const DescribeVodTranscodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVodTranscodeData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::DescribeVodTranscodeDataOutcomeCallable VodClient::describeVodTranscodeDataCallable(const DescribeVodTranscodeDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVodTranscodeDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVodTranscodeData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::SearchEditingProjectOutcome VodClient::searchEditingProject(const SearchEditingProjectRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -91,6 +91,17 @@ void AttachAppPolicyToIdentityRequest::setPolicyNames(const std::string& policyN
 	setCoreParameter("PolicyNames", policyNames);
 }
 
+std::string AttachAppPolicyToIdentityRequest::getResourceRealOwnerId()const
+{
+	return resourceRealOwnerId_;
+}
+
+void AttachAppPolicyToIdentityRequest::setResourceRealOwnerId(const std::string& resourceRealOwnerId)
+{
+	resourceRealOwnerId_ = resourceRealOwnerId;
+	setCoreParameter("ResourceRealOwnerId", resourceRealOwnerId);
+}
+
 long AttachAppPolicyToIdentityRequest::getOwnerId()const
 {
 	return ownerId_;

+ 7 - 0
vod/src/model/CreateUploadImageResult.cc

@@ -48,9 +48,16 @@ void CreateUploadImageResult::parse(const std::string &payload)
 		uploadAddress_ = value["UploadAddress"].asString();
 	if(!value["UploadAuth"].isNull())
 		uploadAuth_ = value["UploadAuth"].asString();
+	if(!value["FileURL"].isNull())
+		fileURL_ = value["FileURL"].asString();
 
 }
 
+std::string CreateUploadImageResult::getFileURL()const
+{
+	return fileURL_;
+}
+
 std::string CreateUploadImageResult::getUploadAddress()const
 {
 	return uploadAddress_;

+ 302 - 0
vod/src/model/DescribeVodAIDataRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * 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/DescribeVodAIDataRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodAIDataRequest;
+
+DescribeVodAIDataRequest::DescribeVodAIDataRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodAIData")
+{}
+
+DescribeVodAIDataRequest::~DescribeVodAIDataRequest()
+{}
+
+long DescribeVodAIDataRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVodAIDataRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeVodAIDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeVodAIDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeVodAIDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeVodAIDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setCoreParameter("Proxy_original_security_transport", proxy_original_security_transport ? "true" : "false");
+}
+
+std::string DescribeVodAIDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeVodAIDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string DescribeVodAIDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeVodAIDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setCoreParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeVodAIDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeVodAIDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeVodAIDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeVodAIDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string DescribeVodAIDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeVodAIDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeVodAIDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeVodAIDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeVodAIDataRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeVodAIDataRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string DescribeVodAIDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeVodAIDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string DescribeVodAIDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeVodAIDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeVodAIDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeVodAIDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeVodAIDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeVodAIDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeVodAIDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeVodAIDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeVodAIDataRequest::getPopProduct()const
+{
+	return popProduct_;
+}
+
+void DescribeVodAIDataRequest::setPopProduct(const std::string& popProduct)
+{
+	popProduct_ = popProduct;
+	setCoreParameter("PopProduct", popProduct);
+}
+
+std::string DescribeVodAIDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeVodAIDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string DescribeVodAIDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeVodAIDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeVodAIDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodAIDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeVodAIDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeVodAIDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setCoreParameter("Version", version);
+}
+
+bool DescribeVodAIDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeVodAIDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setCoreParameter("Proxy_trust_transport_info", proxy_trust_transport_info ? "true" : "false");
+}
+
+bool DescribeVodAIDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeVodAIDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeVodAIDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeVodAIDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeVodAIDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeVodAIDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string DescribeVodAIDataRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeVodAIDataRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setCoreParameter("Region", region);
+}
+

+ 75 - 0
vod/src/model/DescribeVodAIDataResult.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/DescribeVodAIDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+DescribeVodAIDataResult::DescribeVodAIDataResult() :
+	ServiceResult()
+{}
+
+DescribeVodAIDataResult::DescribeVodAIDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVodAIDataResult::~DescribeVodAIDataResult()
+{}
+
+void DescribeVodAIDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allAIData = value["AIData"]["AIDataItem"];
+	for (auto value : allAIData)
+	{
+		AIDataItem aIDataObject;
+		if(!value["TimeStamp"].isNull())
+			aIDataObject.timeStamp = value["TimeStamp"].asString();
+		auto allData = value["Data"]["DataItem"];
+		for (auto value : allData)
+		{
+			AIDataItem::DataItem dataObject;
+			if(!value["Name"].isNull())
+				dataObject.name = value["Name"].asString();
+			if(!value["Value"].isNull())
+				dataObject.value = value["Value"].asString();
+			aIDataObject.data.push_back(dataObject);
+		}
+		aIData_.push_back(aIDataObject);
+	}
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::vector<DescribeVodAIDataResult::AIDataItem> DescribeVodAIDataResult::getAIData()const
+{
+	return aIData_;
+}
+
+std::string DescribeVodAIDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 346 - 0
vod/src/model/DescribeVodDomainUsageDataRequest.cc

@@ -0,0 +1,346 @@
+/*
+ * 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/DescribeVodDomainUsageDataRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodDomainUsageDataRequest;
+
+DescribeVodDomainUsageDataRequest::DescribeVodDomainUsageDataRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodDomainUsageData")
+{}
+
+DescribeVodDomainUsageDataRequest::~DescribeVodDomainUsageDataRequest()
+{}
+
+long DescribeVodDomainUsageDataRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeVodDomainUsageDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeVodDomainUsageDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeVodDomainUsageDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setCoreParameter("Proxy_original_security_transport", proxy_original_security_transport ? "true" : "false");
+}
+
+std::string DescribeVodDomainUsageDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeVodDomainUsageDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeVodDomainUsageDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setCoreParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeVodDomainUsageDataRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setCoreParameter("Type", type);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeVodDomainUsageDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeVodDomainUsageDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeVodDomainUsageDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeVodDomainUsageDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeVodDomainUsageDataRequest::getArea()const
+{
+	return area_;
+}
+
+void DescribeVodDomainUsageDataRequest::setArea(const std::string& area)
+{
+	area_ = area;
+	setCoreParameter("Area", area);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeVodDomainUsageDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getPopProduct()const
+{
+	return popProduct_;
+}
+
+void DescribeVodDomainUsageDataRequest::setPopProduct(const std::string& popProduct)
+{
+	popProduct_ = popProduct;
+	setCoreParameter("PopProduct", popProduct);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeVodDomainUsageDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setCoreParameter("Product", product);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeVodDomainUsageDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setCoreParameter("DomainName", domainName);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeVodDomainUsageDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeVodDomainUsageDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeVodDomainUsageDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeVodDomainUsageDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeVodDomainUsageDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setCoreParameter("Version", version);
+}
+
+bool DescribeVodDomainUsageDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeVodDomainUsageDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setCoreParameter("Proxy_trust_transport_info", proxy_trust_transport_info ? "true" : "false");
+}
+
+bool DescribeVodDomainUsageDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeVodDomainUsageDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeVodDomainUsageDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeVodDomainUsageDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeVodDomainUsageDataRequest::getField()const
+{
+	return field_;
+}
+
+void DescribeVodDomainUsageDataRequest::setField(const std::string& field)
+{
+	field_ = field;
+	setCoreParameter("Field", field);
+}
+
+std::string DescribeVodDomainUsageDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeVodDomainUsageDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+

+ 102 - 0
vod/src/model/DescribeVodDomainUsageDataResult.cc

@@ -0,0 +1,102 @@
+/*
+ * 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/DescribeVodDomainUsageDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+DescribeVodDomainUsageDataResult::DescribeVodDomainUsageDataResult() :
+	ServiceResult()
+{}
+
+DescribeVodDomainUsageDataResult::DescribeVodDomainUsageDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVodDomainUsageDataResult::~DescribeVodDomainUsageDataResult()
+{}
+
+void DescribeVodDomainUsageDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allUsageDataPerInterval = value["UsageDataPerInterval"]["DataModule"];
+	for (auto value : allUsageDataPerInterval)
+	{
+		DataModule usageDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			usageDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["Value"].isNull())
+			usageDataPerIntervalObject.value = value["Value"].asString();
+		usageDataPerInterval_.push_back(usageDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["Type"].isNull())
+		type_ = value["Type"].asString();
+	if(!value["Area"].isNull())
+		area_ = value["Area"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::vector<DescribeVodDomainUsageDataResult::DataModule> DescribeVodDomainUsageDataResult::getUsageDataPerInterval()const
+{
+	return usageDataPerInterval_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getType()const
+{
+	return type_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getArea()const
+{
+	return area_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeVodDomainUsageDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 313 - 0
vod/src/model/DescribeVodStorageDataRequest.cc

@@ -0,0 +1,313 @@
+/*
+ * 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/DescribeVodStorageDataRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodStorageDataRequest;
+
+DescribeVodStorageDataRequest::DescribeVodStorageDataRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodStorageData")
+{}
+
+DescribeVodStorageDataRequest::~DescribeVodStorageDataRequest()
+{}
+
+long DescribeVodStorageDataRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVodStorageDataRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeVodStorageDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeVodStorageDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeVodStorageDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeVodStorageDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setCoreParameter("Proxy_original_security_transport", proxy_original_security_transport ? "true" : "false");
+}
+
+std::string DescribeVodStorageDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeVodStorageDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string DescribeVodStorageDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeVodStorageDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setCoreParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeVodStorageDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeVodStorageDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeVodStorageDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeVodStorageDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string DescribeVodStorageDataRequest::getStorageType()const
+{
+	return storageType_;
+}
+
+void DescribeVodStorageDataRequest::setStorageType(const std::string& storageType)
+{
+	storageType_ = storageType;
+	setCoreParameter("StorageType", storageType);
+}
+
+std::string DescribeVodStorageDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeVodStorageDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeVodStorageDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeVodStorageDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeVodStorageDataRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeVodStorageDataRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string DescribeVodStorageDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeVodStorageDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string DescribeVodStorageDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeVodStorageDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeVodStorageDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeVodStorageDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeVodStorageDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeVodStorageDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeVodStorageDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeVodStorageDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeVodStorageDataRequest::getPopProduct()const
+{
+	return popProduct_;
+}
+
+void DescribeVodStorageDataRequest::setPopProduct(const std::string& popProduct)
+{
+	popProduct_ = popProduct;
+	setCoreParameter("PopProduct", popProduct);
+}
+
+std::string DescribeVodStorageDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeVodStorageDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string DescribeVodStorageDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeVodStorageDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeVodStorageDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodStorageDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeVodStorageDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeVodStorageDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setCoreParameter("Version", version);
+}
+
+bool DescribeVodStorageDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeVodStorageDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setCoreParameter("Proxy_trust_transport_info", proxy_trust_transport_info ? "true" : "false");
+}
+
+bool DescribeVodStorageDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeVodStorageDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeVodStorageDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeVodStorageDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeVodStorageDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeVodStorageDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string DescribeVodStorageDataRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeVodStorageDataRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setCoreParameter("Region", region);
+}
+

+ 69 - 0
vod/src/model/DescribeVodStorageDataResult.cc

@@ -0,0 +1,69 @@
+/*
+ * 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/DescribeVodStorageDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+DescribeVodStorageDataResult::DescribeVodStorageDataResult() :
+	ServiceResult()
+{}
+
+DescribeVodStorageDataResult::DescribeVodStorageDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVodStorageDataResult::~DescribeVodStorageDataResult()
+{}
+
+void DescribeVodStorageDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allStorageData = value["StorageData"]["StorageDataItem"];
+	for (auto value : allStorageData)
+	{
+		StorageDataItem storageDataObject;
+		if(!value["TimeStamp"].isNull())
+			storageDataObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["StorageUtilization"].isNull())
+			storageDataObject.storageUtilization = value["StorageUtilization"].asString();
+		if(!value["NetworkOut"].isNull())
+			storageDataObject.networkOut = value["NetworkOut"].asString();
+		storageData_.push_back(storageDataObject);
+	}
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeVodStorageDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeVodStorageDataResult::StorageDataItem> DescribeVodStorageDataResult::getStorageData()const
+{
+	return storageData_;
+}
+

+ 302 - 0
vod/src/model/DescribeVodTranscodeDataRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * 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/DescribeVodTranscodeDataRequest.h>
+
+using AlibabaCloud::Vod::Model::DescribeVodTranscodeDataRequest;
+
+DescribeVodTranscodeDataRequest::DescribeVodTranscodeDataRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "DescribeVodTranscodeData")
+{}
+
+DescribeVodTranscodeDataRequest::~DescribeVodTranscodeDataRequest()
+{}
+
+long DescribeVodTranscodeDataRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVodTranscodeDataRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeVodTranscodeDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setCoreParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeVodTranscodeDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeVodTranscodeDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setCoreParameter("Proxy_original_security_transport", proxy_original_security_transport ? "true" : "false");
+}
+
+std::string DescribeVodTranscodeDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeVodTranscodeDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string DescribeVodTranscodeDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeVodTranscodeDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setCoreParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeVodTranscodeDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeVodTranscodeDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setCoreParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeVodTranscodeDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setCoreParameter("CallerType", callerType);
+}
+
+std::string DescribeVodTranscodeDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeVodTranscodeDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeVodTranscodeDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeVodTranscodeDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setCoreParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeVodTranscodeDataRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeVodTranscodeDataRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string DescribeVodTranscodeDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeVodTranscodeDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setCoreParameter("RequestContent", requestContent);
+}
+
+std::string DescribeVodTranscodeDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setCoreParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeVodTranscodeDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setCoreParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeVodTranscodeDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setCoreParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeVodTranscodeDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeVodTranscodeDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setCoreParameter("App_ip", app_ip);
+}
+
+std::string DescribeVodTranscodeDataRequest::getPopProduct()const
+{
+	return popProduct_;
+}
+
+void DescribeVodTranscodeDataRequest::setPopProduct(const std::string& popProduct)
+{
+	popProduct_ = popProduct;
+	setCoreParameter("PopProduct", popProduct);
+}
+
+std::string DescribeVodTranscodeDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeVodTranscodeDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string DescribeVodTranscodeDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeVodTranscodeDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setCoreParameter("CallerBid", callerBid);
+}
+
+long DescribeVodTranscodeDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeVodTranscodeDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeVodTranscodeDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeVodTranscodeDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setCoreParameter("Version", version);
+}
+
+bool DescribeVodTranscodeDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeVodTranscodeDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setCoreParameter("Proxy_trust_transport_info", proxy_trust_transport_info ? "true" : "false");
+}
+
+bool DescribeVodTranscodeDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeVodTranscodeDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setCoreParameter("Ak_mfa_present", ak_mfa_present ? "true" : "false");
+}
+
+bool DescribeVodTranscodeDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeVodTranscodeDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setCoreParameter("Security_transport", security_transport ? "true" : "false");
+}
+
+std::string DescribeVodTranscodeDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeVodTranscodeDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setCoreParameter("RequestId", requestId);
+}
+
+std::string DescribeVodTranscodeDataRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeVodTranscodeDataRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setCoreParameter("Region", region);
+}
+

+ 75 - 0
vod/src/model/DescribeVodTranscodeDataResult.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/DescribeVodTranscodeDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+DescribeVodTranscodeDataResult::DescribeVodTranscodeDataResult() :
+	ServiceResult()
+{}
+
+DescribeVodTranscodeDataResult::DescribeVodTranscodeDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVodTranscodeDataResult::~DescribeVodTranscodeDataResult()
+{}
+
+void DescribeVodTranscodeDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allTranscodeData = value["TranscodeData"]["TranscodeDataItem"];
+	for (auto value : allTranscodeData)
+	{
+		TranscodeDataItem transcodeDataObject;
+		if(!value["TimeStamp"].isNull())
+			transcodeDataObject.timeStamp = value["TimeStamp"].asString();
+		auto allData = value["Data"]["DataItem"];
+		for (auto value : allData)
+		{
+			TranscodeDataItem::DataItem dataObject;
+			if(!value["Name"].isNull())
+				dataObject.name = value["Name"].asString();
+			if(!value["Value"].isNull())
+				dataObject.value = value["Value"].asString();
+			transcodeDataObject.data.push_back(dataObject);
+		}
+		transcodeData_.push_back(transcodeDataObject);
+	}
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::vector<DescribeVodTranscodeDataResult::TranscodeDataItem> DescribeVodTranscodeDataResult::getTranscodeData()const
+{
+	return transcodeData_;
+}
+
+std::string DescribeVodTranscodeDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 93 - 0
vod/src/model/GetAIVideoTagResultRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * 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/GetAIVideoTagResultRequest.h>
+
+using AlibabaCloud::Vod::Model::GetAIVideoTagResultRequest;
+
+GetAIVideoTagResultRequest::GetAIVideoTagResultRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "GetAIVideoTagResult")
+{}
+
+GetAIVideoTagResultRequest::~GetAIVideoTagResultRequest()
+{}
+
+std::string GetAIVideoTagResultRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void GetAIVideoTagResultRequest::setResourceOwnerId(const std::string& resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", resourceOwnerId);
+}
+
+std::string GetAIVideoTagResultRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void GetAIVideoTagResultRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string GetAIVideoTagResultRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void GetAIVideoTagResultRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string GetAIVideoTagResultRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetAIVideoTagResultRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", ownerId);
+}
+
+std::string GetAIVideoTagResultRequest::getMediaId()const
+{
+	return mediaId_;
+}
+
+void GetAIVideoTagResultRequest::setMediaId(const std::string& mediaId)
+{
+	mediaId_ = mediaId;
+	setCoreParameter("MediaId", mediaId);
+}
+
+std::string GetAIVideoTagResultRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void GetAIVideoTagResultRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+

+ 105 - 0
vod/src/model/GetAIVideoTagResultResult.cc

@@ -0,0 +1,105 @@
+/*
+ * 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/GetAIVideoTagResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+GetAIVideoTagResultResult::GetAIVideoTagResultResult() :
+	ServiceResult()
+{}
+
+GetAIVideoTagResultResult::GetAIVideoTagResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAIVideoTagResultResult::~GetAIVideoTagResultResult()
+{}
+
+void GetAIVideoTagResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto videoTagResultNode = value["VideoTagResult"];
+	auto allCategory = value["Category"]["CategoryItem"];
+	for (auto value : allCategory)
+	{
+		VideoTagResult::CategoryItem categoryItemObject;
+		if(!value["Tag"].isNull())
+			categoryItemObject.tag = value["Tag"].asString();
+		videoTagResult_.category.push_back(categoryItemObject);
+	}
+	auto allPerson = value["Person"]["PersonItem"];
+	for (auto value : allPerson)
+	{
+		VideoTagResult::PersonItem personItemObject;
+		if(!value["FaceUrl"].isNull())
+			personItemObject.faceUrl = value["FaceUrl"].asString();
+		if(!value["Tag"].isNull())
+			personItemObject.tag = value["Tag"].asString();
+		auto allTimes = value["Times"]["Times"];
+		for (auto value : allTimes)
+			personItemObject.times.push_back(value.asString());
+		videoTagResult_.person.push_back(personItemObject);
+	}
+	auto allTime = value["Time"]["TimeItem"];
+	for (auto value : allTime)
+	{
+		VideoTagResult::TimeItem timeItemObject;
+		if(!value["Tag"].isNull())
+			timeItemObject.tag = value["Tag"].asString();
+		auto allTimes1 = value["Times"]["Times"];
+		for (auto value : allTimes1)
+			timeItemObject.times1.push_back(value.asString());
+		videoTagResult_.time.push_back(timeItemObject);
+	}
+	auto allLocation = value["Location"]["LocationItem"];
+	for (auto value : allLocation)
+	{
+		VideoTagResult::LocationItem locationItemObject;
+		if(!value["Tag"].isNull())
+			locationItemObject.tag = value["Tag"].asString();
+		auto allTimes2 = value["Times"]["Times"];
+		for (auto value : allTimes2)
+			locationItemObject.times2.push_back(value.asString());
+		videoTagResult_.location.push_back(locationItemObject);
+	}
+	auto allKeyword = value["Keyword"]["KeywordItem"];
+	for (auto value : allKeyword)
+	{
+		VideoTagResult::KeywordItem keywordItemObject;
+		if(!value["Tag"].isNull())
+			keywordItemObject.tag = value["Tag"].asString();
+		auto allTimes3 = value["Times"]["Times"];
+		for (auto value : allTimes3)
+			keywordItemObject.times3.push_back(value.asString());
+		videoTagResult_.keyword.push_back(keywordItemObject);
+	}
+
+}
+
+GetAIVideoTagResultResult::VideoTagResult GetAIVideoTagResultResult::getVideoTagResult()const
+{
+	return videoTagResult_;
+}
+

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

@@ -70,6 +70,10 @@ void GetAttachedMediaInfoResult::parse(const std::string &payload)
 			attachedMediaListObject.status = value["Status"].asString();
 		if(!value["OnlineStatus"].isNull())
 			attachedMediaListObject.onlineStatus = value["OnlineStatus"].asString();
+		if(!value["Icon"].isNull())
+			attachedMediaListObject.icon = value["Icon"].asString();
+		if(!value["RegionId"].isNull())
+			attachedMediaListObject.regionId = value["RegionId"].asString();
 		auto allCategories = value["Categories"]["Category"];
 		for (auto value : allCategories)
 		{

+ 2 - 0
vod/src/model/GetImageInfoResult.cc

@@ -65,6 +65,8 @@ void GetImageInfoResult::parse(const std::string &payload)
 		imageInfo_.status = imageInfoNode["Status"].asString();
 	if(!imageInfoNode["AppId"].isNull())
 		imageInfo_.appId = imageInfoNode["AppId"].asString();
+	if(!imageInfoNode["RegionId"].isNull())
+		imageInfo_.regionId = imageInfoNode["RegionId"].asString();
 	auto mezzanineNode = imageInfoNode["Mezzanine"];
 	if(!mezzanineNode["OriginalFileName"].isNull())
 		imageInfo_.mezzanine.originalFileName = mezzanineNode["OriginalFileName"].asString();

+ 35 - 35
vod/src/model/GetMezzanineInfoResult.cc

@@ -40,39 +40,39 @@ void GetMezzanineInfoResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto mezzanineNode = value["Mezzanine"];
-	if(!mezzanineNode["VideoId"].isNull())
-		mezzanine_.videoId = mezzanineNode["VideoId"].asString();
-	if(!mezzanineNode["Bitrate"].isNull())
-		mezzanine_.bitrate = mezzanineNode["Bitrate"].asString();
-	if(!mezzanineNode["CreationTime"].isNull())
-		mezzanine_.creationTime = mezzanineNode["CreationTime"].asString();
-	if(!mezzanineNode["Duration"].isNull())
-		mezzanine_.duration = mezzanineNode["Duration"].asString();
-	if(!mezzanineNode["Fps"].isNull())
-		mezzanine_.fps = mezzanineNode["Fps"].asString();
-	if(!mezzanineNode["Height"].isNull())
-		mezzanine_.height = std::stol(mezzanineNode["Height"].asString());
-	if(!mezzanineNode["Width"].isNull())
-		mezzanine_.width = std::stol(mezzanineNode["Width"].asString());
-	if(!mezzanineNode["Size"].isNull())
-		mezzanine_.size = std::stol(mezzanineNode["Size"].asString());
-	if(!mezzanineNode["Status"].isNull())
-		mezzanine_.status = mezzanineNode["Status"].asString();
-	if(!mezzanineNode["FileURL"].isNull())
-		mezzanine_.fileURL = mezzanineNode["FileURL"].asString();
-	if(!mezzanineNode["FileName"].isNull())
-		mezzanine_.fileName = mezzanineNode["FileName"].asString();
-	if(!mezzanineNode["CRC64"].isNull())
-		mezzanine_.cRC64 = mezzanineNode["CRC64"].asString();
-	if(!mezzanineNode["PreprocessStatus"].isNull())
-		mezzanine_.preprocessStatus = mezzanineNode["PreprocessStatus"].asString();
-	if(!mezzanineNode["OutputType"].isNull())
-		mezzanine_.outputType = mezzanineNode["OutputType"].asString();
+	auto mezzanineInGetMezzanineInfoNode = value["Mezzanine"];
+	if(!mezzanineInGetMezzanineInfoNode["VideoId"].isNull())
+		mezzanineInGetMezzanineInfo_.videoId = mezzanineInGetMezzanineInfoNode["VideoId"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["Bitrate"].isNull())
+		mezzanineInGetMezzanineInfo_.bitrate = mezzanineInGetMezzanineInfoNode["Bitrate"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["CreationTime"].isNull())
+		mezzanineInGetMezzanineInfo_.creationTime = mezzanineInGetMezzanineInfoNode["CreationTime"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["Duration"].isNull())
+		mezzanineInGetMezzanineInfo_.duration = mezzanineInGetMezzanineInfoNode["Duration"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["Fps"].isNull())
+		mezzanineInGetMezzanineInfo_.fps = mezzanineInGetMezzanineInfoNode["Fps"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["Height"].isNull())
+		mezzanineInGetMezzanineInfo_.height = std::stol(mezzanineInGetMezzanineInfoNode["Height"].asString());
+	if(!mezzanineInGetMezzanineInfoNode["Width"].isNull())
+		mezzanineInGetMezzanineInfo_.width = std::stol(mezzanineInGetMezzanineInfoNode["Width"].asString());
+	if(!mezzanineInGetMezzanineInfoNode["Size"].isNull())
+		mezzanineInGetMezzanineInfo_.size = std::stol(mezzanineInGetMezzanineInfoNode["Size"].asString());
+	if(!mezzanineInGetMezzanineInfoNode["Status"].isNull())
+		mezzanineInGetMezzanineInfo_.status = mezzanineInGetMezzanineInfoNode["Status"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["FileURL"].isNull())
+		mezzanineInGetMezzanineInfo_.fileURL = mezzanineInGetMezzanineInfoNode["FileURL"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["FileName"].isNull())
+		mezzanineInGetMezzanineInfo_.fileName = mezzanineInGetMezzanineInfoNode["FileName"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["CRC64"].isNull())
+		mezzanineInGetMezzanineInfo_.cRC64 = mezzanineInGetMezzanineInfoNode["CRC64"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["PreprocessStatus"].isNull())
+		mezzanineInGetMezzanineInfo_.preprocessStatus = mezzanineInGetMezzanineInfoNode["PreprocessStatus"].asString();
+	if(!mezzanineInGetMezzanineInfoNode["OutputType"].isNull())
+		mezzanineInGetMezzanineInfo_.outputType = mezzanineInGetMezzanineInfoNode["OutputType"].asString();
 	auto allAudioStreamList = value["AudioStreamList"]["AudioStream"];
 	for (auto value : allAudioStreamList)
 	{
-		Mezzanine::AudioStream audioStreamObject;
+		MezzanineInGetMezzanineInfo::AudioStream audioStreamObject;
 		if(!value["Index"].isNull())
 			audioStreamObject.index = value["Index"].asString();
 		if(!value["CodecName"].isNull())
@@ -105,12 +105,12 @@ void GetMezzanineInfoResult::parse(const std::string &payload)
 			audioStreamObject.numFrames = value["NumFrames"].asString();
 		if(!value["Lang"].isNull())
 			audioStreamObject.lang = value["Lang"].asString();
-		mezzanine_.audioStreamList.push_back(audioStreamObject);
+		mezzanineInGetMezzanineInfo_.audioStreamList.push_back(audioStreamObject);
 	}
 	auto allVideoStreamList = value["VideoStreamList"]["VideoStream"];
 	for (auto value : allVideoStreamList)
 	{
-		Mezzanine::VideoStream videoStreamObject;
+		MezzanineInGetMezzanineInfo::VideoStream videoStreamObject;
 		if(!value["Index"].isNull())
 			videoStreamObject.index = value["Index"].asString();
 		if(!value["CodecName"].isNull())
@@ -155,13 +155,13 @@ void GetMezzanineInfoResult::parse(const std::string &payload)
 			videoStreamObject.lang = value["Lang"].asString();
 		if(!value["Rotate"].isNull())
 			videoStreamObject.rotate = value["Rotate"].asString();
-		mezzanine_.videoStreamList.push_back(videoStreamObject);
+		mezzanineInGetMezzanineInfo_.videoStreamList.push_back(videoStreamObject);
 	}
 
 }
 
-GetMezzanineInfoResult::Mezzanine GetMezzanineInfoResult::getMezzanine()const
+GetMezzanineInfoResult::MezzanineInGetMezzanineInfo GetMezzanineInfoResult::getMezzanineInGetMezzanineInfo()const
 {
-	return mezzanine_;
+	return mezzanineInGetMezzanineInfo_;
 }
 

+ 2 - 0
vod/src/model/GetPlayInfoResult.cc

@@ -88,6 +88,8 @@ void GetPlayInfoResult::parse(const std::string &payload)
 			playInfoListObject.encryptType = value["EncryptType"].asString();
 		if(!value["NarrowBandType"].isNull())
 			playInfoListObject.narrowBandType = value["NarrowBandType"].asString();
+		if(!value["Specification"].isNull())
+			playInfoListObject.specification = value["Specification"].asString();
 		playInfoList_.push_back(playInfoListObject);
 	}
 	auto videoBaseNode = value["VideoBase"];

+ 104 - 0
vod/src/model/GetUploadDetailsRequest.cc

@@ -0,0 +1,104 @@
+/*
+ * 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/GetUploadDetailsRequest.h>
+
+using AlibabaCloud::Vod::Model::GetUploadDetailsRequest;
+
+GetUploadDetailsRequest::GetUploadDetailsRequest() :
+	RpcServiceRequest("vod", "2017-03-21", "GetUploadDetails")
+{}
+
+GetUploadDetailsRequest::~GetUploadDetailsRequest()
+{}
+
+long GetUploadDetailsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void GetUploadDetailsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string GetUploadDetailsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void GetUploadDetailsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+long GetUploadDetailsRequest::getResourceRealOwnerId()const
+{
+	return resourceRealOwnerId_;
+}
+
+void GetUploadDetailsRequest::setResourceRealOwnerId(long resourceRealOwnerId)
+{
+	resourceRealOwnerId_ = resourceRealOwnerId;
+	setCoreParameter("ResourceRealOwnerId", std::to_string(resourceRealOwnerId));
+}
+
+std::string GetUploadDetailsRequest::getMediaIds()const
+{
+	return mediaIds_;
+}
+
+void GetUploadDetailsRequest::setMediaIds(const std::string& mediaIds)
+{
+	mediaIds_ = mediaIds;
+	setCoreParameter("MediaIds", mediaIds);
+}
+
+long GetUploadDetailsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetUploadDetailsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string GetUploadDetailsRequest::getMediaType()const
+{
+	return mediaType_;
+}
+
+void GetUploadDetailsRequest::setMediaType(const std::string& mediaType)
+{
+	mediaType_ = mediaType;
+	setCoreParameter("MediaType", mediaType);
+}
+
+std::string GetUploadDetailsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void GetUploadDetailsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setCoreParameter("AccessKeyId", accessKeyId);
+}
+

+ 98 - 0
vod/src/model/GetUploadDetailsResult.cc

@@ -0,0 +1,98 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/GetUploadDetailsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+GetUploadDetailsResult::GetUploadDetailsResult() :
+	ServiceResult()
+{}
+
+GetUploadDetailsResult::GetUploadDetailsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetUploadDetailsResult::~GetUploadDetailsResult()
+{}
+
+void GetUploadDetailsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allUploadDetails = value["UploadDetails"]["UploadDetail"];
+	for (auto value : allUploadDetails)
+	{
+		UploadDetail uploadDetailsObject;
+		if(!value["MediaId"].isNull())
+			uploadDetailsObject.mediaId = value["MediaId"].asString();
+		if(!value["Title"].isNull())
+			uploadDetailsObject.title = value["Title"].asString();
+		if(!value["FileSize"].isNull())
+			uploadDetailsObject.fileSize = std::stol(value["FileSize"].asString());
+		if(!value["Status"].isNull())
+			uploadDetailsObject.status = value["Status"].asString();
+		if(!value["UploadStatus"].isNull())
+			uploadDetailsObject.uploadStatus = value["UploadStatus"].asString();
+		if(!value["CreationTime"].isNull())
+			uploadDetailsObject.creationTime = value["CreationTime"].asString();
+		if(!value["ModificationTime"].isNull())
+			uploadDetailsObject.modificationTime = value["ModificationTime"].asString();
+		if(!value["CompletionTime"].isNull())
+			uploadDetailsObject.completionTime = value["CompletionTime"].asString();
+		if(!value["UploadSize"].isNull())
+			uploadDetailsObject.uploadSize = std::stol(value["UploadSize"].asString());
+		if(!value["UploadRatio"].isNull())
+			uploadDetailsObject.uploadRatio = std::stof(value["UploadRatio"].asString());
+		if(!value["UploadIP"].isNull())
+			uploadDetailsObject.uploadIP = value["UploadIP"].asString();
+		if(!value["UploadSource"].isNull())
+			uploadDetailsObject.uploadSource = value["UploadSource"].asString();
+		if(!value["DeviceModel"].isNull())
+			uploadDetailsObject.deviceModel = value["DeviceModel"].asString();
+		uploadDetails_.push_back(uploadDetailsObject);
+	}
+	auto allNonExistMediaIds = value["NonExistMediaIds"]["MediaId"];
+	for (const auto &item : allNonExistMediaIds)
+		nonExistMediaIds_.push_back(item.asString());
+	auto allForbiddenMediaIds = value["ForbiddenMediaIds"]["MediaId"];
+	for (const auto &item : allForbiddenMediaIds)
+		forbiddenMediaIds_.push_back(item.asString());
+
+}
+
+std::vector<std::string> GetUploadDetailsResult::getNonExistMediaIds()const
+{
+	return nonExistMediaIds_;
+}
+
+std::vector<GetUploadDetailsResult::UploadDetail> GetUploadDetailsResult::getUploadDetails()const
+{
+	return uploadDetails_;
+}
+
+std::vector<std::string> GetUploadDetailsResult::getForbiddenMediaIds()const
+{
+	return forbiddenMediaIds_;
+}
+

+ 53 - 53
vod/src/model/GetVideoInfoResult.cc

@@ -40,74 +40,74 @@ void GetVideoInfoResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto videoNode = value["Video"];
-	if(!videoNode["VideoId"].isNull())
-		video_.videoId = videoNode["VideoId"].asString();
-	if(!videoNode["Title"].isNull())
-		video_.title = videoNode["Title"].asString();
-	if(!videoNode["Tags"].isNull())
-		video_.tags = videoNode["Tags"].asString();
-	if(!videoNode["Status"].isNull())
-		video_.status = videoNode["Status"].asString();
-	if(!videoNode["Size"].isNull())
-		video_.size = std::stol(videoNode["Size"].asString());
-	if(!videoNode["Duration"].isNull())
-		video_.duration = std::stof(videoNode["Duration"].asString());
-	if(!videoNode["Description"].isNull())
-		video_.description = videoNode["Description"].asString();
-	if(!videoNode["CreateTime"].isNull())
-		video_.createTime = videoNode["CreateTime"].asString();
-	if(!videoNode["ModifyTime"].isNull())
-		video_.modifyTime = videoNode["ModifyTime"].asString();
-	if(!videoNode["ModificationTime"].isNull())
-		video_.modificationTime = videoNode["ModificationTime"].asString();
-	if(!videoNode["CreationTime"].isNull())
-		video_.creationTime = videoNode["CreationTime"].asString();
-	if(!videoNode["CoverURL"].isNull())
-		video_.coverURL = videoNode["CoverURL"].asString();
-	if(!videoNode["CateId"].isNull())
-		video_.cateId = std::stol(videoNode["CateId"].asString());
-	if(!videoNode["CateName"].isNull())
-		video_.cateName = videoNode["CateName"].asString();
-	if(!videoNode["DownloadSwitch"].isNull())
-		video_.downloadSwitch = videoNode["DownloadSwitch"].asString();
-	if(!videoNode["TemplateGroupId"].isNull())
-		video_.templateGroupId = videoNode["TemplateGroupId"].asString();
-	if(!videoNode["PreprocessStatus"].isNull())
-		video_.preprocessStatus = videoNode["PreprocessStatus"].asString();
-	if(!videoNode["StorageLocation"].isNull())
-		video_.storageLocation = videoNode["StorageLocation"].asString();
-	if(!videoNode["RegionId"].isNull())
-		video_.regionId = videoNode["RegionId"].asString();
-	if(!videoNode["CustomMediaInfo"].isNull())
-		video_.customMediaInfo = videoNode["CustomMediaInfo"].asString();
-	if(!videoNode["AuditStatus"].isNull())
-		video_.auditStatus = videoNode["AuditStatus"].asString();
-	if(!videoNode["AppId"].isNull())
-		video_.appId = videoNode["AppId"].asString();
+	auto videoInGetVideoInfoNode = value["Video"];
+	if(!videoInGetVideoInfoNode["VideoId"].isNull())
+		videoInGetVideoInfo_.videoId = videoInGetVideoInfoNode["VideoId"].asString();
+	if(!videoInGetVideoInfoNode["Title"].isNull())
+		videoInGetVideoInfo_.title = videoInGetVideoInfoNode["Title"].asString();
+	if(!videoInGetVideoInfoNode["Tags"].isNull())
+		videoInGetVideoInfo_.tags = videoInGetVideoInfoNode["Tags"].asString();
+	if(!videoInGetVideoInfoNode["Status"].isNull())
+		videoInGetVideoInfo_.status = videoInGetVideoInfoNode["Status"].asString();
+	if(!videoInGetVideoInfoNode["Size"].isNull())
+		videoInGetVideoInfo_.size = std::stol(videoInGetVideoInfoNode["Size"].asString());
+	if(!videoInGetVideoInfoNode["Duration"].isNull())
+		videoInGetVideoInfo_.duration = std::stof(videoInGetVideoInfoNode["Duration"].asString());
+	if(!videoInGetVideoInfoNode["Description"].isNull())
+		videoInGetVideoInfo_.description = videoInGetVideoInfoNode["Description"].asString();
+	if(!videoInGetVideoInfoNode["CreateTime"].isNull())
+		videoInGetVideoInfo_.createTime = videoInGetVideoInfoNode["CreateTime"].asString();
+	if(!videoInGetVideoInfoNode["ModifyTime"].isNull())
+		videoInGetVideoInfo_.modifyTime = videoInGetVideoInfoNode["ModifyTime"].asString();
+	if(!videoInGetVideoInfoNode["ModificationTime"].isNull())
+		videoInGetVideoInfo_.modificationTime = videoInGetVideoInfoNode["ModificationTime"].asString();
+	if(!videoInGetVideoInfoNode["CreationTime"].isNull())
+		videoInGetVideoInfo_.creationTime = videoInGetVideoInfoNode["CreationTime"].asString();
+	if(!videoInGetVideoInfoNode["CoverURL"].isNull())
+		videoInGetVideoInfo_.coverURL = videoInGetVideoInfoNode["CoverURL"].asString();
+	if(!videoInGetVideoInfoNode["CateId"].isNull())
+		videoInGetVideoInfo_.cateId = std::stol(videoInGetVideoInfoNode["CateId"].asString());
+	if(!videoInGetVideoInfoNode["CateName"].isNull())
+		videoInGetVideoInfo_.cateName = videoInGetVideoInfoNode["CateName"].asString();
+	if(!videoInGetVideoInfoNode["DownloadSwitch"].isNull())
+		videoInGetVideoInfo_.downloadSwitch = videoInGetVideoInfoNode["DownloadSwitch"].asString();
+	if(!videoInGetVideoInfoNode["TemplateGroupId"].isNull())
+		videoInGetVideoInfo_.templateGroupId = videoInGetVideoInfoNode["TemplateGroupId"].asString();
+	if(!videoInGetVideoInfoNode["PreprocessStatus"].isNull())
+		videoInGetVideoInfo_.preprocessStatus = videoInGetVideoInfoNode["PreprocessStatus"].asString();
+	if(!videoInGetVideoInfoNode["StorageLocation"].isNull())
+		videoInGetVideoInfo_.storageLocation = videoInGetVideoInfoNode["StorageLocation"].asString();
+	if(!videoInGetVideoInfoNode["RegionId"].isNull())
+		videoInGetVideoInfo_.regionId = videoInGetVideoInfoNode["RegionId"].asString();
+	if(!videoInGetVideoInfoNode["CustomMediaInfo"].isNull())
+		videoInGetVideoInfo_.customMediaInfo = videoInGetVideoInfoNode["CustomMediaInfo"].asString();
+	if(!videoInGetVideoInfoNode["AuditStatus"].isNull())
+		videoInGetVideoInfo_.auditStatus = videoInGetVideoInfoNode["AuditStatus"].asString();
+	if(!videoInGetVideoInfoNode["AppId"].isNull())
+		videoInGetVideoInfo_.appId = videoInGetVideoInfoNode["AppId"].asString();
 	auto allThumbnailList = value["ThumbnailList"]["Thumbnail"];
 	for (auto value : allThumbnailList)
 	{
-		Video::Thumbnail thumbnailObject;
+		VideoInGetVideoInfo::Thumbnail thumbnailObject;
 		if(!value["URL"].isNull())
 			thumbnailObject.uRL = value["URL"].asString();
-		video_.thumbnailList.push_back(thumbnailObject);
+		videoInGetVideoInfo_.thumbnailList.push_back(thumbnailObject);
 	}
-		auto allSnapshots = videoNode["Snapshots"]["Snapshot"];
+		auto allSnapshots = videoInGetVideoInfoNode["Snapshots"]["Snapshot"];
 		for (auto value : allSnapshots)
-			video_.snapshots.push_back(value.asString());
+			videoInGetVideoInfo_.snapshots.push_back(value.asString());
 	if(!value["AI"].isNull())
 		aI_ = value["AI"].asString();
 
 }
 
-GetVideoInfoResult::Video GetVideoInfoResult::getVideo()const
+std::string GetVideoInfoResult::getAI()const
 {
-	return video_;
+	return aI_;
 }
 
-std::string GetVideoInfoResult::getAI()const
+GetVideoInfoResult::VideoInGetVideoInfo GetVideoInfoResult::getVideoInGetVideoInfo()const
 {
-	return aI_;
+	return videoInGetVideoInfo_;
 }
 

+ 37 - 37
vod/src/model/ListLiveRecordVideoResult.cc

@@ -92,44 +92,44 @@ void ListLiveRecordVideoResult::parse(const std::string &payload)
 				playInfoListObject.jobId = value["JobId"].asString();
 			liveRecordVideoListObject.playInfoList.push_back(playInfoListObject);
 		}
-		auto videoNode = value["Video"];
-		if(!videoNode["VideoId"].isNull())
-			liveRecordVideoListObject.video.videoId = videoNode["VideoId"].asString();
-		if(!videoNode["Title"].isNull())
-			liveRecordVideoListObject.video.title = videoNode["Title"].asString();
-		if(!videoNode["Tags"].isNull())
-			liveRecordVideoListObject.video.tags = videoNode["Tags"].asString();
-		if(!videoNode["Status"].isNull())
-			liveRecordVideoListObject.video.status = videoNode["Status"].asString();
-		if(!videoNode["Size"].isNull())
-			liveRecordVideoListObject.video.size = std::stol(videoNode["Size"].asString());
-		if(!videoNode["Privilege"].isNull())
-			liveRecordVideoListObject.video.privilege = std::stoi(videoNode["Privilege"].asString());
-		if(!videoNode["Duration"].isNull())
-			liveRecordVideoListObject.video.duration = std::stof(videoNode["Duration"].asString());
-		if(!videoNode["Description"].isNull())
-			liveRecordVideoListObject.video.description = videoNode["Description"].asString();
-		if(!videoNode["CustomerId"].isNull())
-			liveRecordVideoListObject.video.customerId = std::stol(videoNode["CustomerId"].asString());
-		if(!videoNode["CreateTime"].isNull())
-			liveRecordVideoListObject.video.createTime = videoNode["CreateTime"].asString();
-		if(!videoNode["CreationTime"].isNull())
-			liveRecordVideoListObject.video.creationTime = videoNode["CreationTime"].asString();
-		if(!videoNode["ModifyTime"].isNull())
-			liveRecordVideoListObject.video.modifyTime = videoNode["ModifyTime"].asString();
-		if(!videoNode["CoverURL"].isNull())
-			liveRecordVideoListObject.video.coverURL = videoNode["CoverURL"].asString();
-		if(!videoNode["CateId"].isNull())
-			liveRecordVideoListObject.video.cateId = std::stoi(videoNode["CateId"].asString());
-		if(!videoNode["CateName"].isNull())
-			liveRecordVideoListObject.video.cateName = videoNode["CateName"].asString();
-		if(!videoNode["DownloadSwitch"].isNull())
-			liveRecordVideoListObject.video.downloadSwitch = videoNode["DownloadSwitch"].asString();
-		if(!videoNode["TemplateGroupId"].isNull())
-			liveRecordVideoListObject.video.templateGroupId = videoNode["TemplateGroupId"].asString();
-			auto allSnapshots = videoNode["Snapshots"]["Snapshot"];
+		auto videoInListLiveRecordVideoNode = value["Video"];
+		if(!videoInListLiveRecordVideoNode["VideoId"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.videoId = videoInListLiveRecordVideoNode["VideoId"].asString();
+		if(!videoInListLiveRecordVideoNode["Title"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.title = videoInListLiveRecordVideoNode["Title"].asString();
+		if(!videoInListLiveRecordVideoNode["Tags"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.tags = videoInListLiveRecordVideoNode["Tags"].asString();
+		if(!videoInListLiveRecordVideoNode["Status"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.status = videoInListLiveRecordVideoNode["Status"].asString();
+		if(!videoInListLiveRecordVideoNode["Size"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.size = std::stol(videoInListLiveRecordVideoNode["Size"].asString());
+		if(!videoInListLiveRecordVideoNode["Privilege"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.privilege = std::stoi(videoInListLiveRecordVideoNode["Privilege"].asString());
+		if(!videoInListLiveRecordVideoNode["Duration"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.duration = std::stof(videoInListLiveRecordVideoNode["Duration"].asString());
+		if(!videoInListLiveRecordVideoNode["Description"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.description = videoInListLiveRecordVideoNode["Description"].asString();
+		if(!videoInListLiveRecordVideoNode["CustomerId"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.customerId = std::stol(videoInListLiveRecordVideoNode["CustomerId"].asString());
+		if(!videoInListLiveRecordVideoNode["CreateTime"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.createTime = videoInListLiveRecordVideoNode["CreateTime"].asString();
+		if(!videoInListLiveRecordVideoNode["CreationTime"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.creationTime = videoInListLiveRecordVideoNode["CreationTime"].asString();
+		if(!videoInListLiveRecordVideoNode["ModifyTime"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.modifyTime = videoInListLiveRecordVideoNode["ModifyTime"].asString();
+		if(!videoInListLiveRecordVideoNode["CoverURL"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.coverURL = videoInListLiveRecordVideoNode["CoverURL"].asString();
+		if(!videoInListLiveRecordVideoNode["CateId"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.cateId = std::stoi(videoInListLiveRecordVideoNode["CateId"].asString());
+		if(!videoInListLiveRecordVideoNode["CateName"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.cateName = videoInListLiveRecordVideoNode["CateName"].asString();
+		if(!videoInListLiveRecordVideoNode["DownloadSwitch"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.downloadSwitch = videoInListLiveRecordVideoNode["DownloadSwitch"].asString();
+		if(!videoInListLiveRecordVideoNode["TemplateGroupId"].isNull())
+			liveRecordVideoListObject.videoInListLiveRecordVideo.templateGroupId = videoInListLiveRecordVideoNode["TemplateGroupId"].asString();
+			auto allSnapshots = videoInListLiveRecordVideoNode["Snapshots"]["Snapshot"];
 			for (auto value : allSnapshots)
-				liveRecordVideoListObject.video.snapshots.push_back(value.asString());
+				liveRecordVideoListObject.videoInListLiveRecordVideo.snapshots.push_back(value.asString());
 		liveRecordVideoList_.push_back(liveRecordVideoListObject);
 	}
 	if(!value["Total"].isNull())

+ 33 - 29
vod/src/model/SearchMediaResult.cc

@@ -269,37 +269,41 @@ void SearchMediaResult::parse(const std::string &payload)
 			mediaListObject.image.regionId = imageNode["RegionId"].asString();
 		if(!imageNode["AppId"].isNull())
 			mediaListObject.image.appId = imageNode["AppId"].asString();
-		auto attachedMediaNode = value["AttachedMedia"];
-		if(!attachedMediaNode["Title"].isNull())
-			mediaListObject.attachedMedia.title = attachedMediaNode["Title"].asString();
-		if(!attachedMediaNode["MediaId"].isNull())
-			mediaListObject.attachedMedia.mediaId = attachedMediaNode["MediaId"].asString();
-		if(!attachedMediaNode["Ext"].isNull())
-			mediaListObject.attachedMedia.ext = attachedMediaNode["Ext"].asString();
-		if(!attachedMediaNode["CreationTime"].isNull())
-			mediaListObject.attachedMedia.creationTime = attachedMediaNode["CreationTime"].asString();
-		if(!attachedMediaNode["ModificationTime"].isNull())
-			mediaListObject.attachedMedia.modificationTime = attachedMediaNode["ModificationTime"].asString();
-		if(!attachedMediaNode["Tags"].isNull())
-			mediaListObject.attachedMedia.tags = attachedMediaNode["Tags"].asString();
-		if(!attachedMediaNode["BusinessType"].isNull())
-			mediaListObject.attachedMedia.businessType = attachedMediaNode["BusinessType"].asString();
-		if(!attachedMediaNode["URL"].isNull())
-			mediaListObject.attachedMedia.uRL = attachedMediaNode["URL"].asString();
-		if(!attachedMediaNode["Status"].isNull())
-			mediaListObject.attachedMedia.status = attachedMediaNode["Status"].asString();
-		if(!attachedMediaNode["Description"].isNull())
-			mediaListObject.attachedMedia.description = attachedMediaNode["Description"].asString();
-		if(!attachedMediaNode["StorageLocation"].isNull())
-			mediaListObject.attachedMedia.storageLocation = attachedMediaNode["StorageLocation"].asString();
-		if(!attachedMediaNode["RegionId"].isNull())
-			mediaListObject.attachedMedia.regionId = attachedMediaNode["RegionId"].asString();
-		if(!attachedMediaNode["AppId"].isNull())
-			mediaListObject.attachedMedia.appId = attachedMediaNode["AppId"].asString();
+		auto attachedMediaInSearchMediaNode = value["AttachedMedia"];
+		if(!attachedMediaInSearchMediaNode["Title"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.title = attachedMediaInSearchMediaNode["Title"].asString();
+		if(!attachedMediaInSearchMediaNode["MediaId"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.mediaId = attachedMediaInSearchMediaNode["MediaId"].asString();
+		if(!attachedMediaInSearchMediaNode["Ext"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.ext = attachedMediaInSearchMediaNode["Ext"].asString();
+		if(!attachedMediaInSearchMediaNode["CreationTime"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.creationTime = attachedMediaInSearchMediaNode["CreationTime"].asString();
+		if(!attachedMediaInSearchMediaNode["ModificationTime"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.modificationTime = attachedMediaInSearchMediaNode["ModificationTime"].asString();
+		if(!attachedMediaInSearchMediaNode["Tags"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.tags = attachedMediaInSearchMediaNode["Tags"].asString();
+		if(!attachedMediaInSearchMediaNode["BusinessType"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.businessType = attachedMediaInSearchMediaNode["BusinessType"].asString();
+		if(!attachedMediaInSearchMediaNode["URL"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.uRL = attachedMediaInSearchMediaNode["URL"].asString();
+		if(!attachedMediaInSearchMediaNode["Status"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.status = attachedMediaInSearchMediaNode["Status"].asString();
+		if(!attachedMediaInSearchMediaNode["Description"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.description = attachedMediaInSearchMediaNode["Description"].asString();
+		if(!attachedMediaInSearchMediaNode["StorageLocation"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.storageLocation = attachedMediaInSearchMediaNode["StorageLocation"].asString();
+		if(!attachedMediaInSearchMediaNode["RegionId"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.regionId = attachedMediaInSearchMediaNode["RegionId"].asString();
+		if(!attachedMediaInSearchMediaNode["AppId"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.appId = attachedMediaInSearchMediaNode["AppId"].asString();
+		if(!attachedMediaInSearchMediaNode["Icon"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.icon = attachedMediaInSearchMediaNode["Icon"].asString();
+		if(!attachedMediaInSearchMediaNode["OnlineStatus"].isNull())
+			mediaListObject.attachedMediaInSearchMedia.onlineStatus = attachedMediaInSearchMediaNode["OnlineStatus"].asString();
 		auto allCategories = value["Categories"]["Category"];
 		for (auto value : allCategories)
 		{
-			Media::AttachedMedia::Category categoryObject;
+			Media::AttachedMediaInSearchMedia::Category categoryObject;
 			if(!value["CateId"].isNull())
 				categoryObject.cateId = std::stol(value["CateId"].asString());
 			if(!value["CateName"].isNull())
@@ -308,7 +312,7 @@ void SearchMediaResult::parse(const std::string &payload)
 				categoryObject.level = std::stol(value["Level"].asString());
 			if(!value["ParentId"].isNull())
 				categoryObject.parentId = std::stol(value["ParentId"].asString());
-			mediaListObject.attachedMedia.categories.push_back(categoryObject);
+			mediaListObject.attachedMediaInSearchMedia.categories.push_back(categoryObject);
 		}
 		mediaList_.push_back(mediaListObject);
 	}

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

@@ -91,6 +91,17 @@ void SubmitSnapshotJobRequest::setAccessKeyId(const std::string& accessKeyId)
 	setCoreParameter("AccessKeyId", accessKeyId);
 }
 
+std::string SubmitSnapshotJobRequest::getUserData()const
+{
+	return userData_;
+}
+
+void SubmitSnapshotJobRequest::setUserData(const std::string& userData)
+{
+	userData_ = userData;
+	setCoreParameter("UserData", userData);
+}
+
 long SubmitSnapshotJobRequest::getSpecifiedOffsetTime()const
 {
 	return specifiedOffsetTime_;