Browse Source

Generated 2016-11-01 for live.

sdk-team 3 years ago
parent
commit
fbae89fed4
60 changed files with 3462 additions and 103 deletions
  1. 1 1
      VERSION
  2. 40 0
      live/CMakeLists.txt
  3. 80 0
      live/include/alibabacloud/live/LiveClient.h
  4. 36 24
      live/include/alibabacloud/live/model/AddCustomLiveStreamTranscodeRequest.h
  5. 3 0
      live/include/alibabacloud/live/model/AddLiveAppRecordConfigRequest.h
  6. 3 0
      live/include/alibabacloud/live/model/AddLiveRecordVodConfigRequest.h
  7. 3 0
      live/include/alibabacloud/live/model/CreateEventSubRequest.h
  8. 51 0
      live/include/alibabacloud/live/model/DeleteLiveStreamBlockRequest.h
  9. 53 0
      live/include/alibabacloud/live/model/DeleteLiveStreamBlockResult.h
  10. 45 0
      live/include/alibabacloud/live/model/DescribeChannelUsersRequest.h
  11. 61 0
      live/include/alibabacloud/live/model/DescribeChannelUsersResult.h
  12. 66 0
      live/include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoRequest.h
  13. 49 0
      live/include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoResult.h
  14. 48 0
      live/include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsRequest.h
  15. 49 0
      live/include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsResult.h
  16. 4 3
      live/include/alibabacloud/live/model/DescribeLiveRecordConfigResult.h
  17. 2 0
      live/include/alibabacloud/live/model/DescribeLiveRecordVodConfigsResult.h
  18. 66 0
      live/include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksRequest.h
  19. 72 0
      live/include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksResult.h
  20. 3 0
      live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoRequest.h
  21. 5 1
      live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoResult.h
  22. 60 0
      live/include/alibabacloud/live/model/DescribeStreamLocationBlockRequest.h
  23. 70 0
      live/include/alibabacloud/live/model/DescribeStreamLocationBlockResult.h
  24. 60 0
      live/include/alibabacloud/live/model/SetLiveStreamBlockRequest.h
  25. 53 0
      live/include/alibabacloud/live/model/SetLiveStreamBlockResult.h
  26. 57 0
      live/include/alibabacloud/live/model/SetLiveStreamPreloadTasksRequest.h
  27. 65 0
      live/include/alibabacloud/live/model/SetLiveStreamPreloadTasksResult.h
  28. 88 0
      live/include/alibabacloud/live/model/UpdateLiveAppRecordConfigRequest.h
  29. 49 0
      live/include/alibabacloud/live/model/UpdateLiveAppRecordConfigResult.h
  30. 69 0
      live/include/alibabacloud/live/model/UpdateLiveRecordVodConfigRequest.h
  31. 49 0
      live/include/alibabacloud/live/model/UpdateLiveRecordVodConfigResult.h
  32. 360 0
      live/src/LiveClient.cc
  33. 104 68
      live/src/model/AddCustomLiveStreamTranscodeRequest.cc
  34. 9 0
      live/src/model/AddLiveAppRecordConfigRequest.cc
  35. 9 0
      live/src/model/AddLiveRecordVodConfigRequest.cc
  36. 9 0
      live/src/model/CreateEventSubRequest.cc
  37. 63 0
      live/src/model/DeleteLiveStreamBlockRequest.cc
  38. 58 0
      live/src/model/DeleteLiveStreamBlockResult.cc
  39. 45 0
      live/src/model/DescribeChannelUsersRequest.cc
  40. 88 0
      live/src/model/DescribeChannelUsersResult.cc
  41. 108 0
      live/src/model/DescribeLiveCdnDiagnoseInfoRequest.cc
  42. 44 0
      live/src/model/DescribeLiveCdnDiagnoseInfoResult.cc
  43. 54 0
      live/src/model/DescribeLiveDomainTranscodeParamsRequest.cc
  44. 44 0
      live/src/model/DescribeLiveDomainTranscodeParamsResult.cc
  45. 2 0
      live/src/model/DescribeLiveRecordConfigResult.cc
  46. 4 0
      live/src/model/DescribeLiveRecordVodConfigsResult.cc
  47. 108 0
      live/src/model/DescribeLiveStreamPreloadTasksRequest.cc
  48. 103 0
      live/src/model/DescribeLiveStreamPreloadTasksResult.cc
  49. 9 0
      live/src/model/DescribeLiveStreamTranscodeInfoRequest.cc
  50. 14 6
      live/src/model/DescribeLiveStreamTranscodeInfoResult.cc
  51. 90 0
      live/src/model/DescribeStreamLocationBlockRequest.cc
  52. 99 0
      live/src/model/DescribeStreamLocationBlockResult.cc
  53. 90 0
      live/src/model/SetLiveStreamBlockRequest.cc
  54. 58 0
      live/src/model/SetLiveStreamBlockResult.cc
  55. 81 0
      live/src/model/SetLiveStreamPreloadTasksRequest.cc
  56. 89 0
      live/src/model/SetLiveStreamPreloadTasksResult.cc
  57. 155 0
      live/src/model/UpdateLiveAppRecordConfigRequest.cc
  58. 44 0
      live/src/model/UpdateLiveAppRecordConfigResult.cc
  59. 117 0
      live/src/model/UpdateLiveRecordVodConfigRequest.cc
  60. 44 0
      live/src/model/UpdateLiveRecordVodConfigResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1713
+1.36.1714

+ 40 - 0
live/CMakeLists.txt

@@ -183,6 +183,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigResult.h
+	include/alibabacloud/live/model/DeleteLiveStreamBlockRequest.h
+	include/alibabacloud/live/model/DeleteLiveStreamBlockResult.h
 	include/alibabacloud/live/model/DeleteLiveStreamMonitorRequest.h
 	include/alibabacloud/live/model/DeleteLiveStreamMonitorResult.h
 	include/alibabacloud/live/model/DeleteLiveStreamRecordIndexFilesRequest.h
@@ -239,6 +241,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeCastersResult.h
 	include/alibabacloud/live/model/DescribeChannelParticipantsRequest.h
 	include/alibabacloud/live/model/DescribeChannelParticipantsResult.h
+	include/alibabacloud/live/model/DescribeChannelUsersRequest.h
+	include/alibabacloud/live/model/DescribeChannelUsersResult.h
 	include/alibabacloud/live/model/DescribeDomainUsageDataRequest.h
 	include/alibabacloud/live/model/DescribeDomainUsageDataResult.h
 	include/alibabacloud/live/model/DescribeDomainWithIntegrityRequest.h
@@ -251,6 +255,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveAudioAuditConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveAudioAuditNotifyConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveAudioAuditNotifyConfigResult.h
+	include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoRequest.h
+	include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoResult.h
 	include/alibabacloud/live/model/DescribeLiveCenterTransferRequest.h
 	include/alibabacloud/live/model/DescribeLiveCenterTransferResult.h
 	include/alibabacloud/live/model/DescribeLiveCertificateDetailRequest.h
@@ -317,6 +323,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveDomainTrafficDataResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainTranscodeDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainTranscodeDataResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsResult.h
 	include/alibabacloud/live/model/DescribeLiveDrmUsageDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveDrmUsageDataResult.h
 	include/alibabacloud/live/model/DescribeLiveEdgeTransferRequest.h
@@ -363,6 +371,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveStreamMonitorListResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamOptimizedFeatureConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamOptimizedFeatureConfigResult.h
+	include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksRequest.h
+	include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordContentRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordContentResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordIndexFileRequest.h
@@ -427,6 +437,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeRoomStatusResult.h
 	include/alibabacloud/live/model/DescribeShowListRequest.h
 	include/alibabacloud/live/model/DescribeShowListResult.h
+	include/alibabacloud/live/model/DescribeStreamLocationBlockRequest.h
+	include/alibabacloud/live/model/DescribeStreamLocationBlockResult.h
 	include/alibabacloud/live/model/DescribeStudioLayoutsRequest.h
 	include/alibabacloud/live/model/DescribeStudioLayoutsResult.h
 	include/alibabacloud/live/model/DescribeToutiaoLivePlayRequest.h
@@ -579,10 +591,14 @@ set(live_public_header_model
 	include/alibabacloud/live/model/SetLiveLazyPullStreamInfoConfigResult.h
 	include/alibabacloud/live/model/SetLiveMpuTaskSeiRequest.h
 	include/alibabacloud/live/model/SetLiveMpuTaskSeiResult.h
+	include/alibabacloud/live/model/SetLiveStreamBlockRequest.h
+	include/alibabacloud/live/model/SetLiveStreamBlockResult.h
 	include/alibabacloud/live/model/SetLiveStreamDelayConfigRequest.h
 	include/alibabacloud/live/model/SetLiveStreamDelayConfigResult.h
 	include/alibabacloud/live/model/SetLiveStreamOptimizedFeatureConfigRequest.h
 	include/alibabacloud/live/model/SetLiveStreamOptimizedFeatureConfigResult.h
+	include/alibabacloud/live/model/SetLiveStreamPreloadTasksRequest.h
+	include/alibabacloud/live/model/SetLiveStreamPreloadTasksResult.h
 	include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigRequest.h
 	include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/SetSnapshotCallbackAuthRequest.h
@@ -615,6 +631,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateCasterSceneAudioResult.h
 	include/alibabacloud/live/model/UpdateCasterSceneConfigRequest.h
 	include/alibabacloud/live/model/UpdateCasterSceneConfigResult.h
+	include/alibabacloud/live/model/UpdateLiveAppRecordConfigRequest.h
+	include/alibabacloud/live/model/UpdateLiveAppRecordConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveAppSnapshotConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveAppSnapshotConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveAudioAuditConfigRequest.h
@@ -631,6 +649,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLivePullStreamInfoConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigResult.h
+	include/alibabacloud/live/model/UpdateLiveRecordVodConfigRequest.h
+	include/alibabacloud/live/model/UpdateLiveRecordVodConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigRequest.h
@@ -816,6 +836,8 @@ set(live_src
 	src/model/DeleteLiveSnapshotNotifyConfigResult.cc
 	src/model/DeleteLiveSpecificStagingConfigRequest.cc
 	src/model/DeleteLiveSpecificStagingConfigResult.cc
+	src/model/DeleteLiveStreamBlockRequest.cc
+	src/model/DeleteLiveStreamBlockResult.cc
 	src/model/DeleteLiveStreamMonitorRequest.cc
 	src/model/DeleteLiveStreamMonitorResult.cc
 	src/model/DeleteLiveStreamRecordIndexFilesRequest.cc
@@ -872,6 +894,8 @@ set(live_src
 	src/model/DescribeCastersResult.cc
 	src/model/DescribeChannelParticipantsRequest.cc
 	src/model/DescribeChannelParticipantsResult.cc
+	src/model/DescribeChannelUsersRequest.cc
+	src/model/DescribeChannelUsersResult.cc
 	src/model/DescribeDomainUsageDataRequest.cc
 	src/model/DescribeDomainUsageDataResult.cc
 	src/model/DescribeDomainWithIntegrityRequest.cc
@@ -884,6 +908,8 @@ set(live_src
 	src/model/DescribeLiveAudioAuditConfigResult.cc
 	src/model/DescribeLiveAudioAuditNotifyConfigRequest.cc
 	src/model/DescribeLiveAudioAuditNotifyConfigResult.cc
+	src/model/DescribeLiveCdnDiagnoseInfoRequest.cc
+	src/model/DescribeLiveCdnDiagnoseInfoResult.cc
 	src/model/DescribeLiveCenterTransferRequest.cc
 	src/model/DescribeLiveCenterTransferResult.cc
 	src/model/DescribeLiveCertificateDetailRequest.cc
@@ -950,6 +976,8 @@ set(live_src
 	src/model/DescribeLiveDomainTrafficDataResult.cc
 	src/model/DescribeLiveDomainTranscodeDataRequest.cc
 	src/model/DescribeLiveDomainTranscodeDataResult.cc
+	src/model/DescribeLiveDomainTranscodeParamsRequest.cc
+	src/model/DescribeLiveDomainTranscodeParamsResult.cc
 	src/model/DescribeLiveDrmUsageDataRequest.cc
 	src/model/DescribeLiveDrmUsageDataResult.cc
 	src/model/DescribeLiveEdgeTransferRequest.cc
@@ -996,6 +1024,8 @@ set(live_src
 	src/model/DescribeLiveStreamMonitorListResult.cc
 	src/model/DescribeLiveStreamOptimizedFeatureConfigRequest.cc
 	src/model/DescribeLiveStreamOptimizedFeatureConfigResult.cc
+	src/model/DescribeLiveStreamPreloadTasksRequest.cc
+	src/model/DescribeLiveStreamPreloadTasksResult.cc
 	src/model/DescribeLiveStreamRecordContentRequest.cc
 	src/model/DescribeLiveStreamRecordContentResult.cc
 	src/model/DescribeLiveStreamRecordIndexFileRequest.cc
@@ -1060,6 +1090,8 @@ set(live_src
 	src/model/DescribeRoomStatusResult.cc
 	src/model/DescribeShowListRequest.cc
 	src/model/DescribeShowListResult.cc
+	src/model/DescribeStreamLocationBlockRequest.cc
+	src/model/DescribeStreamLocationBlockResult.cc
 	src/model/DescribeStudioLayoutsRequest.cc
 	src/model/DescribeStudioLayoutsResult.cc
 	src/model/DescribeToutiaoLivePlayRequest.cc
@@ -1212,10 +1244,14 @@ set(live_src
 	src/model/SetLiveLazyPullStreamInfoConfigResult.cc
 	src/model/SetLiveMpuTaskSeiRequest.cc
 	src/model/SetLiveMpuTaskSeiResult.cc
+	src/model/SetLiveStreamBlockRequest.cc
+	src/model/SetLiveStreamBlockResult.cc
 	src/model/SetLiveStreamDelayConfigRequest.cc
 	src/model/SetLiveStreamDelayConfigResult.cc
 	src/model/SetLiveStreamOptimizedFeatureConfigRequest.cc
 	src/model/SetLiveStreamOptimizedFeatureConfigResult.cc
+	src/model/SetLiveStreamPreloadTasksRequest.cc
+	src/model/SetLiveStreamPreloadTasksResult.cc
 	src/model/SetLiveStreamsNotifyUrlConfigRequest.cc
 	src/model/SetLiveStreamsNotifyUrlConfigResult.cc
 	src/model/SetSnapshotCallbackAuthRequest.cc
@@ -1248,6 +1284,8 @@ set(live_src
 	src/model/UpdateCasterSceneAudioResult.cc
 	src/model/UpdateCasterSceneConfigRequest.cc
 	src/model/UpdateCasterSceneConfigResult.cc
+	src/model/UpdateLiveAppRecordConfigRequest.cc
+	src/model/UpdateLiveAppRecordConfigResult.cc
 	src/model/UpdateLiveAppSnapshotConfigRequest.cc
 	src/model/UpdateLiveAppSnapshotConfigResult.cc
 	src/model/UpdateLiveAudioAuditConfigRequest.cc
@@ -1264,6 +1302,8 @@ set(live_src
 	src/model/UpdateLivePullStreamInfoConfigResult.cc
 	src/model/UpdateLiveRecordNotifyConfigRequest.cc
 	src/model/UpdateLiveRecordNotifyConfigResult.cc
+	src/model/UpdateLiveRecordVodConfigRequest.cc
+	src/model/UpdateLiveRecordVodConfigResult.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigRequest.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigResult.cc
 	src/model/UpdateLiveSnapshotNotifyConfigRequest.cc

+ 80 - 0
live/include/alibabacloud/live/LiveClient.h

@@ -184,6 +184,8 @@
 #include "model/DeleteLiveSnapshotNotifyConfigResult.h"
 #include "model/DeleteLiveSpecificStagingConfigRequest.h"
 #include "model/DeleteLiveSpecificStagingConfigResult.h"
+#include "model/DeleteLiveStreamBlockRequest.h"
+#include "model/DeleteLiveStreamBlockResult.h"
 #include "model/DeleteLiveStreamMonitorRequest.h"
 #include "model/DeleteLiveStreamMonitorResult.h"
 #include "model/DeleteLiveStreamRecordIndexFilesRequest.h"
@@ -240,6 +242,8 @@
 #include "model/DescribeCastersResult.h"
 #include "model/DescribeChannelParticipantsRequest.h"
 #include "model/DescribeChannelParticipantsResult.h"
+#include "model/DescribeChannelUsersRequest.h"
+#include "model/DescribeChannelUsersResult.h"
 #include "model/DescribeDomainUsageDataRequest.h"
 #include "model/DescribeDomainUsageDataResult.h"
 #include "model/DescribeDomainWithIntegrityRequest.h"
@@ -252,6 +256,8 @@
 #include "model/DescribeLiveAudioAuditConfigResult.h"
 #include "model/DescribeLiveAudioAuditNotifyConfigRequest.h"
 #include "model/DescribeLiveAudioAuditNotifyConfigResult.h"
+#include "model/DescribeLiveCdnDiagnoseInfoRequest.h"
+#include "model/DescribeLiveCdnDiagnoseInfoResult.h"
 #include "model/DescribeLiveCenterTransferRequest.h"
 #include "model/DescribeLiveCenterTransferResult.h"
 #include "model/DescribeLiveCertificateDetailRequest.h"
@@ -318,6 +324,8 @@
 #include "model/DescribeLiveDomainTrafficDataResult.h"
 #include "model/DescribeLiveDomainTranscodeDataRequest.h"
 #include "model/DescribeLiveDomainTranscodeDataResult.h"
+#include "model/DescribeLiveDomainTranscodeParamsRequest.h"
+#include "model/DescribeLiveDomainTranscodeParamsResult.h"
 #include "model/DescribeLiveDrmUsageDataRequest.h"
 #include "model/DescribeLiveDrmUsageDataResult.h"
 #include "model/DescribeLiveEdgeTransferRequest.h"
@@ -364,6 +372,8 @@
 #include "model/DescribeLiveStreamMonitorListResult.h"
 #include "model/DescribeLiveStreamOptimizedFeatureConfigRequest.h"
 #include "model/DescribeLiveStreamOptimizedFeatureConfigResult.h"
+#include "model/DescribeLiveStreamPreloadTasksRequest.h"
+#include "model/DescribeLiveStreamPreloadTasksResult.h"
 #include "model/DescribeLiveStreamRecordContentRequest.h"
 #include "model/DescribeLiveStreamRecordContentResult.h"
 #include "model/DescribeLiveStreamRecordIndexFileRequest.h"
@@ -428,6 +438,8 @@
 #include "model/DescribeRoomStatusResult.h"
 #include "model/DescribeShowListRequest.h"
 #include "model/DescribeShowListResult.h"
+#include "model/DescribeStreamLocationBlockRequest.h"
+#include "model/DescribeStreamLocationBlockResult.h"
 #include "model/DescribeStudioLayoutsRequest.h"
 #include "model/DescribeStudioLayoutsResult.h"
 #include "model/DescribeToutiaoLivePlayRequest.h"
@@ -580,10 +592,14 @@
 #include "model/SetLiveLazyPullStreamInfoConfigResult.h"
 #include "model/SetLiveMpuTaskSeiRequest.h"
 #include "model/SetLiveMpuTaskSeiResult.h"
+#include "model/SetLiveStreamBlockRequest.h"
+#include "model/SetLiveStreamBlockResult.h"
 #include "model/SetLiveStreamDelayConfigRequest.h"
 #include "model/SetLiveStreamDelayConfigResult.h"
 #include "model/SetLiveStreamOptimizedFeatureConfigRequest.h"
 #include "model/SetLiveStreamOptimizedFeatureConfigResult.h"
+#include "model/SetLiveStreamPreloadTasksRequest.h"
+#include "model/SetLiveStreamPreloadTasksResult.h"
 #include "model/SetLiveStreamsNotifyUrlConfigRequest.h"
 #include "model/SetLiveStreamsNotifyUrlConfigResult.h"
 #include "model/SetSnapshotCallbackAuthRequest.h"
@@ -616,6 +632,8 @@
 #include "model/UpdateCasterSceneAudioResult.h"
 #include "model/UpdateCasterSceneConfigRequest.h"
 #include "model/UpdateCasterSceneConfigResult.h"
+#include "model/UpdateLiveAppRecordConfigRequest.h"
+#include "model/UpdateLiveAppRecordConfigResult.h"
 #include "model/UpdateLiveAppSnapshotConfigRequest.h"
 #include "model/UpdateLiveAppSnapshotConfigResult.h"
 #include "model/UpdateLiveAudioAuditConfigRequest.h"
@@ -632,6 +650,8 @@
 #include "model/UpdateLivePullStreamInfoConfigResult.h"
 #include "model/UpdateLiveRecordNotifyConfigRequest.h"
 #include "model/UpdateLiveRecordNotifyConfigResult.h"
+#include "model/UpdateLiveRecordVodConfigRequest.h"
+#include "model/UpdateLiveRecordVodConfigResult.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigRequest.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigResult.h"
 #include "model/UpdateLiveSnapshotNotifyConfigRequest.h"
@@ -904,6 +924,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLiveSpecificStagingConfigResult> DeleteLiveSpecificStagingConfigOutcome;
 			typedef std::future<DeleteLiveSpecificStagingConfigOutcome> DeleteLiveSpecificStagingConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSpecificStagingConfigRequest&, const DeleteLiveSpecificStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSpecificStagingConfigAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveStreamBlockResult> DeleteLiveStreamBlockOutcome;
+			typedef std::future<DeleteLiveStreamBlockOutcome> DeleteLiveStreamBlockOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveStreamBlockRequest&, const DeleteLiveStreamBlockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveStreamBlockAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveStreamMonitorResult> DeleteLiveStreamMonitorOutcome;
 			typedef std::future<DeleteLiveStreamMonitorOutcome> DeleteLiveStreamMonitorOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveStreamMonitorRequest&, const DeleteLiveStreamMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveStreamMonitorAsyncHandler;
@@ -988,6 +1011,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeChannelParticipantsResult> DescribeChannelParticipantsOutcome;
 			typedef std::future<DescribeChannelParticipantsOutcome> DescribeChannelParticipantsOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeChannelParticipantsRequest&, const DescribeChannelParticipantsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeChannelParticipantsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeChannelUsersResult> DescribeChannelUsersOutcome;
+			typedef std::future<DescribeChannelUsersOutcome> DescribeChannelUsersOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeChannelUsersRequest&, const DescribeChannelUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeChannelUsersAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainUsageDataResult> DescribeDomainUsageDataOutcome;
 			typedef std::future<DescribeDomainUsageDataOutcome> DescribeDomainUsageDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeDomainUsageDataRequest&, const DescribeDomainUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainUsageDataAsyncHandler;
@@ -1006,6 +1032,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveAudioAuditNotifyConfigResult> DescribeLiveAudioAuditNotifyConfigOutcome;
 			typedef std::future<DescribeLiveAudioAuditNotifyConfigOutcome> DescribeLiveAudioAuditNotifyConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveAudioAuditNotifyConfigRequest&, const DescribeLiveAudioAuditNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveAudioAuditNotifyConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveCdnDiagnoseInfoResult> DescribeLiveCdnDiagnoseInfoOutcome;
+			typedef std::future<DescribeLiveCdnDiagnoseInfoOutcome> DescribeLiveCdnDiagnoseInfoOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveCdnDiagnoseInfoRequest&, const DescribeLiveCdnDiagnoseInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveCdnDiagnoseInfoAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveCenterTransferResult> DescribeLiveCenterTransferOutcome;
 			typedef std::future<DescribeLiveCenterTransferOutcome> DescribeLiveCenterTransferOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveCenterTransferRequest&, const DescribeLiveCenterTransferOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveCenterTransferAsyncHandler;
@@ -1105,6 +1134,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveDomainTranscodeDataResult> DescribeLiveDomainTranscodeDataOutcome;
 			typedef std::future<DescribeLiveDomainTranscodeDataOutcome> DescribeLiveDomainTranscodeDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainTranscodeDataRequest&, const DescribeLiveDomainTranscodeDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainTranscodeDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainTranscodeParamsResult> DescribeLiveDomainTranscodeParamsOutcome;
+			typedef std::future<DescribeLiveDomainTranscodeParamsOutcome> DescribeLiveDomainTranscodeParamsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainTranscodeParamsRequest&, const DescribeLiveDomainTranscodeParamsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainTranscodeParamsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveDrmUsageDataResult> DescribeLiveDrmUsageDataOutcome;
 			typedef std::future<DescribeLiveDrmUsageDataOutcome> DescribeLiveDrmUsageDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDrmUsageDataRequest&, const DescribeLiveDrmUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDrmUsageDataAsyncHandler;
@@ -1174,6 +1206,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveStreamOptimizedFeatureConfigResult> DescribeLiveStreamOptimizedFeatureConfigOutcome;
 			typedef std::future<DescribeLiveStreamOptimizedFeatureConfigOutcome> DescribeLiveStreamOptimizedFeatureConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamOptimizedFeatureConfigRequest&, const DescribeLiveStreamOptimizedFeatureConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamOptimizedFeatureConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveStreamPreloadTasksResult> DescribeLiveStreamPreloadTasksOutcome;
+			typedef std::future<DescribeLiveStreamPreloadTasksOutcome> DescribeLiveStreamPreloadTasksOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamPreloadTasksRequest&, const DescribeLiveStreamPreloadTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamPreloadTasksAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamRecordContentResult> DescribeLiveStreamRecordContentOutcome;
 			typedef std::future<DescribeLiveStreamRecordContentOutcome> DescribeLiveStreamRecordContentOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamRecordContentRequest&, const DescribeLiveStreamRecordContentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamRecordContentAsyncHandler;
@@ -1270,6 +1305,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeShowListResult> DescribeShowListOutcome;
 			typedef std::future<DescribeShowListOutcome> DescribeShowListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeShowListRequest&, const DescribeShowListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeShowListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeStreamLocationBlockResult> DescribeStreamLocationBlockOutcome;
+			typedef std::future<DescribeStreamLocationBlockOutcome> DescribeStreamLocationBlockOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeStreamLocationBlockRequest&, const DescribeStreamLocationBlockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStreamLocationBlockAsyncHandler;
 			typedef Outcome<Error, Model::DescribeStudioLayoutsResult> DescribeStudioLayoutsOutcome;
 			typedef std::future<DescribeStudioLayoutsOutcome> DescribeStudioLayoutsOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeStudioLayoutsRequest&, const DescribeStudioLayoutsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStudioLayoutsAsyncHandler;
@@ -1498,12 +1536,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetLiveMpuTaskSeiResult> SetLiveMpuTaskSeiOutcome;
 			typedef std::future<SetLiveMpuTaskSeiOutcome> SetLiveMpuTaskSeiOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveMpuTaskSeiRequest&, const SetLiveMpuTaskSeiOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveMpuTaskSeiAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveStreamBlockResult> SetLiveStreamBlockOutcome;
+			typedef std::future<SetLiveStreamBlockOutcome> SetLiveStreamBlockOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveStreamBlockRequest&, const SetLiveStreamBlockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveStreamBlockAsyncHandler;
 			typedef Outcome<Error, Model::SetLiveStreamDelayConfigResult> SetLiveStreamDelayConfigOutcome;
 			typedef std::future<SetLiveStreamDelayConfigOutcome> SetLiveStreamDelayConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveStreamDelayConfigRequest&, const SetLiveStreamDelayConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveStreamDelayConfigAsyncHandler;
 			typedef Outcome<Error, Model::SetLiveStreamOptimizedFeatureConfigResult> SetLiveStreamOptimizedFeatureConfigOutcome;
 			typedef std::future<SetLiveStreamOptimizedFeatureConfigOutcome> SetLiveStreamOptimizedFeatureConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveStreamOptimizedFeatureConfigRequest&, const SetLiveStreamOptimizedFeatureConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveStreamOptimizedFeatureConfigAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveStreamPreloadTasksResult> SetLiveStreamPreloadTasksOutcome;
+			typedef std::future<SetLiveStreamPreloadTasksOutcome> SetLiveStreamPreloadTasksOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveStreamPreloadTasksRequest&, const SetLiveStreamPreloadTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveStreamPreloadTasksAsyncHandler;
 			typedef Outcome<Error, Model::SetLiveStreamsNotifyUrlConfigResult> SetLiveStreamsNotifyUrlConfigOutcome;
 			typedef std::future<SetLiveStreamsNotifyUrlConfigOutcome> SetLiveStreamsNotifyUrlConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveStreamsNotifyUrlConfigRequest&, const SetLiveStreamsNotifyUrlConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveStreamsNotifyUrlConfigAsyncHandler;
@@ -1552,6 +1596,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateCasterSceneConfigResult> UpdateCasterSceneConfigOutcome;
 			typedef std::future<UpdateCasterSceneConfigOutcome> UpdateCasterSceneConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateCasterSceneConfigRequest&, const UpdateCasterSceneConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCasterSceneConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateLiveAppRecordConfigResult> UpdateLiveAppRecordConfigOutcome;
+			typedef std::future<UpdateLiveAppRecordConfigOutcome> UpdateLiveAppRecordConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateLiveAppRecordConfigRequest&, const UpdateLiveAppRecordConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveAppRecordConfigAsyncHandler;
 			typedef Outcome<Error, Model::UpdateLiveAppSnapshotConfigResult> UpdateLiveAppSnapshotConfigOutcome;
 			typedef std::future<UpdateLiveAppSnapshotConfigOutcome> UpdateLiveAppSnapshotConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveAppSnapshotConfigRequest&, const UpdateLiveAppSnapshotConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveAppSnapshotConfigAsyncHandler;
@@ -1576,6 +1623,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateLiveRecordNotifyConfigResult> UpdateLiveRecordNotifyConfigOutcome;
 			typedef std::future<UpdateLiveRecordNotifyConfigOutcome> UpdateLiveRecordNotifyConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveRecordNotifyConfigRequest&, const UpdateLiveRecordNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveRecordNotifyConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateLiveRecordVodConfigResult> UpdateLiveRecordVodConfigOutcome;
+			typedef std::future<UpdateLiveRecordVodConfigOutcome> UpdateLiveRecordVodConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateLiveRecordVodConfigRequest&, const UpdateLiveRecordVodConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveRecordVodConfigAsyncHandler;
 			typedef Outcome<Error, Model::UpdateLiveSnapshotDetectPornConfigResult> UpdateLiveSnapshotDetectPornConfigOutcome;
 			typedef std::future<UpdateLiveSnapshotDetectPornConfigOutcome> UpdateLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveSnapshotDetectPornConfigRequest&, const UpdateLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveSnapshotDetectPornConfigAsyncHandler;
@@ -1854,6 +1904,9 @@ namespace AlibabaCloud
 			DeleteLiveSpecificStagingConfigOutcome deleteLiveSpecificStagingConfig(const Model::DeleteLiveSpecificStagingConfigRequest &request)const;
 			void deleteLiveSpecificStagingConfigAsync(const Model::DeleteLiveSpecificStagingConfigRequest& request, const DeleteLiveSpecificStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveSpecificStagingConfigOutcomeCallable deleteLiveSpecificStagingConfigCallable(const Model::DeleteLiveSpecificStagingConfigRequest& request) const;
+			DeleteLiveStreamBlockOutcome deleteLiveStreamBlock(const Model::DeleteLiveStreamBlockRequest &request)const;
+			void deleteLiveStreamBlockAsync(const Model::DeleteLiveStreamBlockRequest& request, const DeleteLiveStreamBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveStreamBlockOutcomeCallable deleteLiveStreamBlockCallable(const Model::DeleteLiveStreamBlockRequest& request) const;
 			DeleteLiveStreamMonitorOutcome deleteLiveStreamMonitor(const Model::DeleteLiveStreamMonitorRequest &request)const;
 			void deleteLiveStreamMonitorAsync(const Model::DeleteLiveStreamMonitorRequest& request, const DeleteLiveStreamMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveStreamMonitorOutcomeCallable deleteLiveStreamMonitorCallable(const Model::DeleteLiveStreamMonitorRequest& request) const;
@@ -1938,6 +1991,9 @@ namespace AlibabaCloud
 			DescribeChannelParticipantsOutcome describeChannelParticipants(const Model::DescribeChannelParticipantsRequest &request)const;
 			void describeChannelParticipantsAsync(const Model::DescribeChannelParticipantsRequest& request, const DescribeChannelParticipantsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeChannelParticipantsOutcomeCallable describeChannelParticipantsCallable(const Model::DescribeChannelParticipantsRequest& request) const;
+			DescribeChannelUsersOutcome describeChannelUsers(const Model::DescribeChannelUsersRequest &request)const;
+			void describeChannelUsersAsync(const Model::DescribeChannelUsersRequest& request, const DescribeChannelUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeChannelUsersOutcomeCallable describeChannelUsersCallable(const Model::DescribeChannelUsersRequest& request) const;
 			DescribeDomainUsageDataOutcome describeDomainUsageData(const Model::DescribeDomainUsageDataRequest &request)const;
 			void describeDomainUsageDataAsync(const Model::DescribeDomainUsageDataRequest& request, const DescribeDomainUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainUsageDataOutcomeCallable describeDomainUsageDataCallable(const Model::DescribeDomainUsageDataRequest& request) const;
@@ -1956,6 +2012,9 @@ namespace AlibabaCloud
 			DescribeLiveAudioAuditNotifyConfigOutcome describeLiveAudioAuditNotifyConfig(const Model::DescribeLiveAudioAuditNotifyConfigRequest &request)const;
 			void describeLiveAudioAuditNotifyConfigAsync(const Model::DescribeLiveAudioAuditNotifyConfigRequest& request, const DescribeLiveAudioAuditNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveAudioAuditNotifyConfigOutcomeCallable describeLiveAudioAuditNotifyConfigCallable(const Model::DescribeLiveAudioAuditNotifyConfigRequest& request) const;
+			DescribeLiveCdnDiagnoseInfoOutcome describeLiveCdnDiagnoseInfo(const Model::DescribeLiveCdnDiagnoseInfoRequest &request)const;
+			void describeLiveCdnDiagnoseInfoAsync(const Model::DescribeLiveCdnDiagnoseInfoRequest& request, const DescribeLiveCdnDiagnoseInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveCdnDiagnoseInfoOutcomeCallable describeLiveCdnDiagnoseInfoCallable(const Model::DescribeLiveCdnDiagnoseInfoRequest& request) const;
 			DescribeLiveCenterTransferOutcome describeLiveCenterTransfer(const Model::DescribeLiveCenterTransferRequest &request)const;
 			void describeLiveCenterTransferAsync(const Model::DescribeLiveCenterTransferRequest& request, const DescribeLiveCenterTransferAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveCenterTransferOutcomeCallable describeLiveCenterTransferCallable(const Model::DescribeLiveCenterTransferRequest& request) const;
@@ -2055,6 +2114,9 @@ namespace AlibabaCloud
 			DescribeLiveDomainTranscodeDataOutcome describeLiveDomainTranscodeData(const Model::DescribeLiveDomainTranscodeDataRequest &request)const;
 			void describeLiveDomainTranscodeDataAsync(const Model::DescribeLiveDomainTranscodeDataRequest& request, const DescribeLiveDomainTranscodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainTranscodeDataOutcomeCallable describeLiveDomainTranscodeDataCallable(const Model::DescribeLiveDomainTranscodeDataRequest& request) const;
+			DescribeLiveDomainTranscodeParamsOutcome describeLiveDomainTranscodeParams(const Model::DescribeLiveDomainTranscodeParamsRequest &request)const;
+			void describeLiveDomainTranscodeParamsAsync(const Model::DescribeLiveDomainTranscodeParamsRequest& request, const DescribeLiveDomainTranscodeParamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainTranscodeParamsOutcomeCallable describeLiveDomainTranscodeParamsCallable(const Model::DescribeLiveDomainTranscodeParamsRequest& request) const;
 			DescribeLiveDrmUsageDataOutcome describeLiveDrmUsageData(const Model::DescribeLiveDrmUsageDataRequest &request)const;
 			void describeLiveDrmUsageDataAsync(const Model::DescribeLiveDrmUsageDataRequest& request, const DescribeLiveDrmUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDrmUsageDataOutcomeCallable describeLiveDrmUsageDataCallable(const Model::DescribeLiveDrmUsageDataRequest& request) const;
@@ -2124,6 +2186,9 @@ namespace AlibabaCloud
 			DescribeLiveStreamOptimizedFeatureConfigOutcome describeLiveStreamOptimizedFeatureConfig(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest &request)const;
 			void describeLiveStreamOptimizedFeatureConfigAsync(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest& request, const DescribeLiveStreamOptimizedFeatureConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamOptimizedFeatureConfigOutcomeCallable describeLiveStreamOptimizedFeatureConfigCallable(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest& request) const;
+			DescribeLiveStreamPreloadTasksOutcome describeLiveStreamPreloadTasks(const Model::DescribeLiveStreamPreloadTasksRequest &request)const;
+			void describeLiveStreamPreloadTasksAsync(const Model::DescribeLiveStreamPreloadTasksRequest& request, const DescribeLiveStreamPreloadTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveStreamPreloadTasksOutcomeCallable describeLiveStreamPreloadTasksCallable(const Model::DescribeLiveStreamPreloadTasksRequest& request) const;
 			DescribeLiveStreamRecordContentOutcome describeLiveStreamRecordContent(const Model::DescribeLiveStreamRecordContentRequest &request)const;
 			void describeLiveStreamRecordContentAsync(const Model::DescribeLiveStreamRecordContentRequest& request, const DescribeLiveStreamRecordContentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamRecordContentOutcomeCallable describeLiveStreamRecordContentCallable(const Model::DescribeLiveStreamRecordContentRequest& request) const;
@@ -2220,6 +2285,9 @@ namespace AlibabaCloud
 			DescribeShowListOutcome describeShowList(const Model::DescribeShowListRequest &request)const;
 			void describeShowListAsync(const Model::DescribeShowListRequest& request, const DescribeShowListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeShowListOutcomeCallable describeShowListCallable(const Model::DescribeShowListRequest& request) const;
+			DescribeStreamLocationBlockOutcome describeStreamLocationBlock(const Model::DescribeStreamLocationBlockRequest &request)const;
+			void describeStreamLocationBlockAsync(const Model::DescribeStreamLocationBlockRequest& request, const DescribeStreamLocationBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeStreamLocationBlockOutcomeCallable describeStreamLocationBlockCallable(const Model::DescribeStreamLocationBlockRequest& request) const;
 			DescribeStudioLayoutsOutcome describeStudioLayouts(const Model::DescribeStudioLayoutsRequest &request)const;
 			void describeStudioLayoutsAsync(const Model::DescribeStudioLayoutsRequest& request, const DescribeStudioLayoutsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeStudioLayoutsOutcomeCallable describeStudioLayoutsCallable(const Model::DescribeStudioLayoutsRequest& request) const;
@@ -2448,12 +2516,18 @@ namespace AlibabaCloud
 			SetLiveMpuTaskSeiOutcome setLiveMpuTaskSei(const Model::SetLiveMpuTaskSeiRequest &request)const;
 			void setLiveMpuTaskSeiAsync(const Model::SetLiveMpuTaskSeiRequest& request, const SetLiveMpuTaskSeiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveMpuTaskSeiOutcomeCallable setLiveMpuTaskSeiCallable(const Model::SetLiveMpuTaskSeiRequest& request) const;
+			SetLiveStreamBlockOutcome setLiveStreamBlock(const Model::SetLiveStreamBlockRequest &request)const;
+			void setLiveStreamBlockAsync(const Model::SetLiveStreamBlockRequest& request, const SetLiveStreamBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveStreamBlockOutcomeCallable setLiveStreamBlockCallable(const Model::SetLiveStreamBlockRequest& request) const;
 			SetLiveStreamDelayConfigOutcome setLiveStreamDelayConfig(const Model::SetLiveStreamDelayConfigRequest &request)const;
 			void setLiveStreamDelayConfigAsync(const Model::SetLiveStreamDelayConfigRequest& request, const SetLiveStreamDelayConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveStreamDelayConfigOutcomeCallable setLiveStreamDelayConfigCallable(const Model::SetLiveStreamDelayConfigRequest& request) const;
 			SetLiveStreamOptimizedFeatureConfigOutcome setLiveStreamOptimizedFeatureConfig(const Model::SetLiveStreamOptimizedFeatureConfigRequest &request)const;
 			void setLiveStreamOptimizedFeatureConfigAsync(const Model::SetLiveStreamOptimizedFeatureConfigRequest& request, const SetLiveStreamOptimizedFeatureConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveStreamOptimizedFeatureConfigOutcomeCallable setLiveStreamOptimizedFeatureConfigCallable(const Model::SetLiveStreamOptimizedFeatureConfigRequest& request) const;
+			SetLiveStreamPreloadTasksOutcome setLiveStreamPreloadTasks(const Model::SetLiveStreamPreloadTasksRequest &request)const;
+			void setLiveStreamPreloadTasksAsync(const Model::SetLiveStreamPreloadTasksRequest& request, const SetLiveStreamPreloadTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveStreamPreloadTasksOutcomeCallable setLiveStreamPreloadTasksCallable(const Model::SetLiveStreamPreloadTasksRequest& request) const;
 			SetLiveStreamsNotifyUrlConfigOutcome setLiveStreamsNotifyUrlConfig(const Model::SetLiveStreamsNotifyUrlConfigRequest &request)const;
 			void setLiveStreamsNotifyUrlConfigAsync(const Model::SetLiveStreamsNotifyUrlConfigRequest& request, const SetLiveStreamsNotifyUrlConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveStreamsNotifyUrlConfigOutcomeCallable setLiveStreamsNotifyUrlConfigCallable(const Model::SetLiveStreamsNotifyUrlConfigRequest& request) const;
@@ -2502,6 +2576,9 @@ namespace AlibabaCloud
 			UpdateCasterSceneConfigOutcome updateCasterSceneConfig(const Model::UpdateCasterSceneConfigRequest &request)const;
 			void updateCasterSceneConfigAsync(const Model::UpdateCasterSceneConfigRequest& request, const UpdateCasterSceneConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCasterSceneConfigOutcomeCallable updateCasterSceneConfigCallable(const Model::UpdateCasterSceneConfigRequest& request) const;
+			UpdateLiveAppRecordConfigOutcome updateLiveAppRecordConfig(const Model::UpdateLiveAppRecordConfigRequest &request)const;
+			void updateLiveAppRecordConfigAsync(const Model::UpdateLiveAppRecordConfigRequest& request, const UpdateLiveAppRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateLiveAppRecordConfigOutcomeCallable updateLiveAppRecordConfigCallable(const Model::UpdateLiveAppRecordConfigRequest& request) const;
 			UpdateLiveAppSnapshotConfigOutcome updateLiveAppSnapshotConfig(const Model::UpdateLiveAppSnapshotConfigRequest &request)const;
 			void updateLiveAppSnapshotConfigAsync(const Model::UpdateLiveAppSnapshotConfigRequest& request, const UpdateLiveAppSnapshotConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveAppSnapshotConfigOutcomeCallable updateLiveAppSnapshotConfigCallable(const Model::UpdateLiveAppSnapshotConfigRequest& request) const;
@@ -2526,6 +2603,9 @@ namespace AlibabaCloud
 			UpdateLiveRecordNotifyConfigOutcome updateLiveRecordNotifyConfig(const Model::UpdateLiveRecordNotifyConfigRequest &request)const;
 			void updateLiveRecordNotifyConfigAsync(const Model::UpdateLiveRecordNotifyConfigRequest& request, const UpdateLiveRecordNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveRecordNotifyConfigOutcomeCallable updateLiveRecordNotifyConfigCallable(const Model::UpdateLiveRecordNotifyConfigRequest& request) const;
+			UpdateLiveRecordVodConfigOutcome updateLiveRecordVodConfig(const Model::UpdateLiveRecordVodConfigRequest &request)const;
+			void updateLiveRecordVodConfigAsync(const Model::UpdateLiveRecordVodConfigRequest& request, const UpdateLiveRecordVodConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateLiveRecordVodConfigOutcomeCallable updateLiveRecordVodConfigCallable(const Model::UpdateLiveRecordVodConfigRequest& request) const;
 			UpdateLiveSnapshotDetectPornConfigOutcome updateLiveSnapshotDetectPornConfig(const Model::UpdateLiveSnapshotDetectPornConfigRequest &request)const;
 			void updateLiveSnapshotDetectPornConfigAsync(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request, const UpdateLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveSnapshotDetectPornConfigOutcomeCallable updateLiveSnapshotDetectPornConfigCallable(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request) const;

+ 36 - 24
live/include/alibabacloud/live/model/AddCustomLiveStreamTranscodeRequest.h

@@ -30,42 +30,50 @@ class ALIBABACLOUD_LIVE_EXPORT AddCustomLiveStreamTranscodeRequest : public RpcS
 public:
 	AddCustomLiveStreamTranscodeRequest();
 	~AddCustomLiveStreamTranscodeRequest();
-	std::string get_Template() const;
-	void set_Template(const std::string &_template);
-	std::string getLazy() const;
-	void setLazy(const std::string &lazy);
+	std::string getResWithSource() const;
+	void setResWithSource(const std::string &resWithSource);
 	std::string getGop() const;
 	void setGop(const std::string &gop);
-	std::string getKmsKeyExpireInterval() const;
-	void setKmsKeyExpireInterval(const std::string &kmsKeyExpireInterval);
 	std::string getAudioCodec() const;
 	void setAudioCodec(const std::string &audioCodec);
 	std::string getKmsUID() const;
 	void setKmsUID(const std::string &kmsUID);
-	std::string getTemplateType() const;
-	void setTemplateType(const std::string &templateType);
-	std::string getAudioProfile() const;
-	void setAudioProfile(const std::string &audioProfile);
 	int getHeight() const;
 	void setHeight(int height);
 	std::string getApp() const;
 	void setApp(const std::string &app);
+	int getProfile() const;
+	void setProfile(int profile);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getExtWithSource() const;
+	void setExtWithSource(const std::string &extWithSource);
+	std::string getBitrateWithSource() const;
+	void setBitrateWithSource(const std::string &bitrateWithSource);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+	std::string get_Template() const;
+	void set_Template(const std::string &_template);
+	std::string getLazy() const;
+	void setLazy(const std::string &lazy);
+	std::string getKmsKeyExpireInterval() const;
+	void setKmsKeyExpireInterval(const std::string &kmsKeyExpireInterval);
+	std::string getTemplateType() const;
+	void setTemplateType(const std::string &templateType);
+	std::string getAudioProfile() const;
+	void setAudioProfile(const std::string &audioProfile);
 	std::string getEncryptParameters() const;
 	void setEncryptParameters(const std::string &encryptParameters);
 	int getAudioChannelNum() const;
 	void setAudioChannelNum(int audioChannelNum);
-	int getProfile() const;
-	void setProfile(int profile);
 	int getFPS() const;
 	void setFPS(int fPS);
-	long getOwnerId() const;
-	void setOwnerId(long ownerId);
 	int getAudioRate() const;
 	void setAudioRate(int audioRate);
+	std::string getFpsWithSource() const;
+	void setFpsWithSource(const std::string &fpsWithSource);
 	int getAudioBitrate() const;
 	void setAudioBitrate(int audioBitrate);
-	std::string getDomain() const;
-	void setDomain(const std::string &domain);
 	int getWidth() const;
 	void setWidth(int width);
 	int getVideoBitrate() const;
@@ -74,24 +82,28 @@ public:
 	void setKmsKeyID(const std::string &kmsKeyID);
 
 private:
-	std::string _template_;
-	std::string lazy_;
+	std::string resWithSource_;
 	std::string gop_;
-	std::string kmsKeyExpireInterval_;
 	std::string audioCodec_;
 	std::string kmsUID_;
-	std::string templateType_;
-	std::string audioProfile_;
 	int height_;
 	std::string app_;
+	int profile_;
+	long ownerId_;
+	std::string extWithSource_;
+	std::string bitrateWithSource_;
+	std::string domain_;
+	std::string _template_;
+	std::string lazy_;
+	std::string kmsKeyExpireInterval_;
+	std::string templateType_;
+	std::string audioProfile_;
 	std::string encryptParameters_;
 	int audioChannelNum_;
-	int profile_;
 	int fPS_;
-	long ownerId_;
 	int audioRate_;
+	std::string fpsWithSource_;
 	int audioBitrate_;
-	std::string domain_;
 	int width_;
 	int videoBitrate_;
 	std::string kmsKeyID_;

+ 3 - 0
live/include/alibabacloud/live/model/AddLiveAppRecordConfigRequest.h

@@ -46,6 +46,8 @@ public:
 	~AddLiveAppRecordConfigRequest();
 	std::string getOssEndpoint() const;
 	void setOssEndpoint(const std::string &ossEndpoint);
+	int getDelayTime() const;
+	void setDelayTime(int delayTime);
 	std::vector<std::string> getTranscodeTemplates() const;
 	void setTranscodeTemplates(const std::vector<std::string> &transcodeTemplates);
 	std::string getStartTime() const;
@@ -73,6 +75,7 @@ public:
 
 private:
 	std::string ossEndpoint_;
+	int delayTime_;
 	std::vector<std::string> transcodeTemplates_;
 	std::string startTime_;
 	std::string appName_;

+ 3 - 0
live/include/alibabacloud/live/model/AddLiveRecordVodConfigRequest.h

@@ -38,6 +38,8 @@ public:
 	void setStorageLocation(const std::string &storageLocation);
 	std::string getAppName() const;
 	void setAppName(const std::string &appName);
+	int getOnDemand() const;
+	void setOnDemand(int onDemand);
 	std::string getStreamName() const;
 	void setStreamName(const std::string &streamName);
 	std::string getVodTranscodeGroupId() const;
@@ -54,6 +56,7 @@ private:
 	std::string composeVodTranscodeGroupId_;
 	std::string storageLocation_;
 	std::string appName_;
+	int onDemand_;
 	std::string streamName_;
 	std::string vodTranscodeGroupId_;
 	std::string domainName_;

+ 3 - 0
live/include/alibabacloud/live/model/CreateEventSubRequest.h

@@ -34,6 +34,8 @@ public:
 	void setRole(int role);
 	std::string getClientToken() const;
 	void setClientToken(const std::string &clientToken);
+	bool getNeedCallbackAuthorization() const;
+	void setNeedCallbackAuthorization(bool needCallbackAuthorization);
 	std::vector<std::string> getUsers() const;
 	void setUsers(const std::vector<std::string> &users);
 	std::string getAppId() const;
@@ -48,6 +50,7 @@ public:
 private:
 	int role_;
 	std::string clientToken_;
+	bool needCallbackAuthorization_;
 	std::vector<std::string> users_;
 	std::string appId_;
 	std::string callbackUrl_;

+ 51 - 0
live/include/alibabacloud/live/model/DeleteLiveStreamBlockRequest.h

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

+ 53 - 0
live/include/alibabacloud/live/model/DeleteLiveStreamBlockResult.h

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

+ 45 - 0
live/include/alibabacloud/live/model/DescribeChannelUsersRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELUSERSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELUSERSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeChannelUsersRequest : public RpcServiceRequest {
+public:
+	DescribeChannelUsersRequest();
+	~DescribeChannelUsersRequest();
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+
+private:
+	std::string appId_;
+	std::string channelId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELUSERSREQUEST_H_

+ 61 - 0
live/include/alibabacloud/live/model/DescribeChannelUsersResult.h

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

+ 66 - 0
live/include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoRequest.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_LIVE_MODEL_DESCRIBELIVECDNDIAGNOSEINFOREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECDNDIAGNOSEINFOREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeLiveCdnDiagnoseInfoRequest : public RpcServiceRequest {
+public:
+	DescribeLiveCdnDiagnoseInfoRequest();
+	~DescribeLiveCdnDiagnoseInfoRequest();
+	std::string getIntervalType() const;
+	void setIntervalType(const std::string &intervalType);
+	std::string getStreamSuffix() const;
+	void setStreamSuffix(const std::string &streamSuffix);
+	long getStartTime() const;
+	void setStartTime(long startTime);
+	std::string getRequestType() const;
+	void setRequestType(const std::string &requestType);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getApp() const;
+	void setApp(const std::string &app);
+	int getPhase() const;
+	void setPhase(int phase);
+	long getEndTime() const;
+	void setEndTime(long endTime);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+
+private:
+	std::string intervalType_;
+	std::string streamSuffix_;
+	long startTime_;
+	std::string requestType_;
+	std::string streamName_;
+	std::string app_;
+	int phase_;
+	long endTime_;
+	std::string domain_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECDNDIAGNOSEINFOREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoResult.h

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

+ 48 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINTRANSCODEPARAMSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINTRANSCODEPARAMSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainTranscodeParamsRequest : public RpcServiceRequest {
+public:
+	DescribeLiveDomainTranscodeParamsRequest();
+	~DescribeLiveDomainTranscodeParamsRequest();
+	std::string getPushdomain() const;
+	void setPushdomain(const std::string &pushdomain);
+	std::string getApp() const;
+	void setApp(const std::string &app);
+	std::string getTemplate_name() const;
+	void setTemplate_name(const std::string &template_name);
+
+private:
+	std::string pushdomain_;
+	std::string app_;
+	std::string template_name_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINTRANSCODEPARAMSREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainTranscodeParamsResult.h

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

+ 4 - 3
live/include/alibabacloud/live/model/DescribeLiveRecordConfigResult.h

@@ -50,18 +50,19 @@ namespace AlibabaCloud
 						int sliceDuration;
 						std::string ossObjectPrefix;
 					};
-					std::string streamName;
 					std::string endTime;
-					std::string ossEndpoint;
 					std::string domainName;
 					std::string createTime;
 					std::vector<std::string> transcodeTemplates;
 					std::string startTime;
 					std::string ossBucket;
+					int delayTime;
 					std::vector<LiveAppRecord::RecordFormat> recordFormatList;
-					std::vector<LiveAppRecord::RecordFormat> transcodeRecordFormatList;
 					int onDemond;
 					std::string appName;
+					std::string streamName;
+					std::string ossEndpoint;
+					std::vector<LiveAppRecord::RecordFormat> transcodeRecordFormatList;
 				};
 
 

+ 2 - 0
live/include/alibabacloud/live/model/DescribeLiveRecordVodConfigsResult.h

@@ -40,6 +40,8 @@ namespace AlibabaCloud
 					std::string domainName;
 					std::string createTime;
 					int cycleDuration;
+					std::string storageLocation;
+					int onDemand;
 					std::string appName;
 					std::string vodTranscodeGroupId;
 				};

+ 66 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksRequest.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_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamPreloadTasksRequest : public RpcServiceRequest {
+public:
+	DescribeLiveStreamPreloadTasksRequest();
+	~DescribeLiveStreamPreloadTasksRequest();
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getPlayUrl() const;
+	void setPlayUrl(const std::string &playUrl);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string startTime_;
+	int pageNum_;
+	int pageSize_;
+	std::string taskId_;
+	std::string domainName_;
+	std::string endTime_;
+	long ownerId_;
+	std::string playUrl_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSREQUEST_H_

+ 72 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamPreloadTasksResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamPreloadTasksResult : public ServiceResult
+			{
+			public:
+				struct PreloadTask
+				{
+					std::string status;
+					std::string preloadedEndTime;
+					std::string area;
+					std::string description;
+					std::string taskId;
+					std::string domainName;
+					std::string playUrl;
+					std::string createTime;
+					std::string preloadedStartTime;
+					std::string process;
+				};
+
+
+				DescribeLiveStreamPreloadTasksResult();
+				explicit DescribeLiveStreamPreloadTasksResult(const std::string &payload);
+				~DescribeLiveStreamPreloadTasksResult();
+				std::vector<PreloadTask> getPreloadTasks()const;
+				int getTotalNum()const;
+				int getTotalPage()const;
+				int getPageNum()const;
+				int getPageSize()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PreloadTask> preloadTasks_;
+				int totalNum_;
+				int totalPage_;
+				int pageNum_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMPRELOADTASKSRESULT_H_

+ 3 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoRequest.h

@@ -30,12 +30,15 @@ class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamTranscodeInfoRequest : public R
 public:
 	DescribeLiveStreamTranscodeInfoRequest();
 	~DescribeLiveStreamTranscodeInfoRequest();
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
 	std::string getDomainTranscodeName() const;
 	void setDomainTranscodeName(const std::string &domainTranscodeName);
 
 private:
+	std::string appName_;
 	long ownerId_;
 	std::string domainTranscodeName_;
 };

+ 5 - 1
live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoResult.h

@@ -36,19 +36,23 @@ namespace AlibabaCloud
 				{
 					struct CustomTranscodeParameters
 					{
+						std::string extWithSource;
 						int fPS;
 						std::string gop;
 						std::string templateType;
 						int audioBitrate;
+						std::string bitrateWithSource;
 						std::string bframes;
+						std::string resWithSource;
 						std::string audioProfile;
 						std::string videoProfile;
-						std::string rtsFlag;
 						int height;
+						std::string rtsFlag;
 						int audioChannelNum;
 						int width;
 						int audioRate;
 						std::string audioCodec;
+						std::string fpsWithSource;
 						int videoBitrate;
 					};
 					struct EncryptParameters

+ 60 - 0
live/include/alibabacloud/live/model/DescribeStreamLocationBlockRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeStreamLocationBlockRequest : public RpcServiceRequest {
+public:
+	DescribeStreamLocationBlockRequest();
+	~DescribeStreamLocationBlockRequest();
+	std::string getBlockType() const;
+	void setBlockType(const std::string &blockType);
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string blockType_;
+	int pageNum_;
+	std::string appName_;
+	int pageSize_;
+	std::string streamName_;
+	std::string domainName_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKREQUEST_H_

+ 70 - 0
live/include/alibabacloud/live/model/DescribeStreamLocationBlockResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeStreamLocationBlockResult : public ServiceResult
+			{
+			public:
+				struct StreamBlock
+				{
+					int status;
+					std::string streamName;
+					std::string blockType;
+					std::string releaseTime;
+					std::string domainName;
+					std::string updateTime;
+					std::string locationList;
+					std::string appName;
+				};
+
+
+				DescribeStreamLocationBlockResult();
+				explicit DescribeStreamLocationBlockResult(const std::string &payload);
+				~DescribeStreamLocationBlockResult();
+				int getTotalPage()const;
+				int getPageNum()const;
+				int getPageSize()const;
+				std::vector<StreamBlock> getStreamBlockList()const;
+				int getCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalPage_;
+				int pageNum_;
+				int pageSize_;
+				std::vector<StreamBlock> streamBlockList_;
+				int count_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBESTREAMLOCATIONBLOCKRESULT_H_

+ 60 - 0
live/include/alibabacloud/live/model/SetLiveStreamBlockRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMBLOCKREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMBLOCKREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT SetLiveStreamBlockRequest : public RpcServiceRequest {
+public:
+	SetLiveStreamBlockRequest();
+	~SetLiveStreamBlockRequest();
+	std::string getLocationList() const;
+	void setLocationList(const std::string &locationList);
+	std::string getBlockType() const;
+	void setBlockType(const std::string &blockType);
+	std::string getReleaseTime() const;
+	void setReleaseTime(const std::string &releaseTime);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string locationList_;
+	std::string blockType_;
+	std::string releaseTime_;
+	std::string appName_;
+	std::string streamName_;
+	std::string domainName_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMBLOCKREQUEST_H_

+ 53 - 0
live/include/alibabacloud/live/model/SetLiveStreamBlockResult.h

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

+ 57 - 0
live/include/alibabacloud/live/model/SetLiveStreamPreloadTasksRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT SetLiveStreamPreloadTasksRequest : public RpcServiceRequest {
+public:
+	SetLiveStreamPreloadTasksRequest();
+	~SetLiveStreamPreloadTasksRequest();
+	std::string getPreloadedStartTime() const;
+	void setPreloadedStartTime(const std::string &preloadedStartTime);
+	std::string getArea() const;
+	void setArea(const std::string &area);
+	std::string getPreloadedEndTime() const;
+	void setPreloadedEndTime(const std::string &preloadedEndTime);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getPlayUrl() const;
+	void setPlayUrl(const std::string &playUrl);
+
+private:
+	std::string preloadedStartTime_;
+	std::string area_;
+	std::string preloadedEndTime_;
+	std::string domainName_;
+	long ownerId_;
+	std::string playUrl_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSREQUEST_H_

+ 65 - 0
live/include/alibabacloud/live/model/SetLiveStreamPreloadTasksResult.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT SetLiveStreamPreloadTasksResult : public ServiceResult
+			{
+			public:
+				struct PreloadTasksMessage
+				{
+					std::string description;
+					std::string taskId;
+					std::string playUrl;
+				};
+
+
+				SetLiveStreamPreloadTasksResult();
+				explicit SetLiveStreamPreloadTasksResult(const std::string &payload);
+				~SetLiveStreamPreloadTasksResult();
+				std::string getStatus()const;
+				int getFailedURL()const;
+				std::vector<PreloadTasksMessage> getPreloadTasksMessages()const;
+				int getTotalURL()const;
+				int getSuccessURL()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				int failedURL_;
+				std::vector<PreloadTasksMessage> preloadTasksMessages_;
+				int totalURL_;
+				int successURL_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVESTREAMPRELOADTASKSRESULT_H_

+ 88 - 0
live/include/alibabacloud/live/model/UpdateLiveAppRecordConfigRequest.h

@@ -0,0 +1,88 @@
+/*
+ * 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_LIVE_MODEL_UPDATELIVEAPPRECORDCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATELIVEAPPRECORDCONFIGREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT UpdateLiveAppRecordConfigRequest : public RpcServiceRequest {
+public:
+	struct TranscodeRecordFormat {
+		int sliceDuration;
+		std::string format;
+		int cycleDuration;
+	};
+	struct RecordFormat {
+		int sliceDuration;
+		std::string format;
+		int cycleDuration;
+	};
+	UpdateLiveAppRecordConfigRequest();
+	~UpdateLiveAppRecordConfigRequest();
+	std::string getOssEndpoint() const;
+	void setOssEndpoint(const std::string &ossEndpoint);
+	int getDelayTime() const;
+	void setDelayTime(int delayTime);
+	std::vector<std::string> getTranscodeTemplates() const;
+	void setTranscodeTemplates(const std::vector<std::string> &transcodeTemplates);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getSecurityToken() const;
+	void setSecurityToken(const std::string &securityToken);
+	std::vector<TranscodeRecordFormat> getTranscodeRecordFormat() const;
+	void setTranscodeRecordFormat(const std::vector<TranscodeRecordFormat> &transcodeRecordFormat);
+	int getOnDemand() const;
+	void setOnDemand(int onDemand);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::vector<RecordFormat> getRecordFormat() const;
+	void setRecordFormat(const std::vector<RecordFormat> &recordFormat);
+
+private:
+	std::string ossEndpoint_;
+	int delayTime_;
+	std::vector<std::string> transcodeTemplates_;
+	std::string startTime_;
+	std::string appName_;
+	std::string securityToken_;
+	std::vector<TranscodeRecordFormat> transcodeRecordFormat_;
+	int onDemand_;
+	std::string streamName_;
+	std::string domainName_;
+	std::string endTime_;
+	long ownerId_;
+	std::vector<RecordFormat> recordFormat_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATELIVEAPPRECORDCONFIGREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/UpdateLiveAppRecordConfigResult.h

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

+ 69 - 0
live/include/alibabacloud/live/model/UpdateLiveRecordVodConfigRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_UPDATELIVERECORDVODCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATELIVERECORDVODCONFIGREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT UpdateLiveRecordVodConfigRequest : public RpcServiceRequest {
+public:
+	UpdateLiveRecordVodConfigRequest();
+	~UpdateLiveRecordVodConfigRequest();
+	std::string getAutoCompose() const;
+	void setAutoCompose(const std::string &autoCompose);
+	std::string getComposeVodTranscodeGroupId() const;
+	void setComposeVodTranscodeGroupId(const std::string &composeVodTranscodeGroupId);
+	std::string getStorageLocation() const;
+	void setStorageLocation(const std::string &storageLocation);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	int getOnDemand() const;
+	void setOnDemand(int onDemand);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getVodTranscodeGroupId() const;
+	void setVodTranscodeGroupId(const std::string &vodTranscodeGroupId);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	int getCycleDuration() const;
+	void setCycleDuration(int cycleDuration);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string autoCompose_;
+	std::string composeVodTranscodeGroupId_;
+	std::string storageLocation_;
+	std::string appName_;
+	int onDemand_;
+	std::string streamName_;
+	std::string vodTranscodeGroupId_;
+	std::string domainName_;
+	int cycleDuration_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATELIVERECORDVODCONFIGREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/UpdateLiveRecordVodConfigResult.h

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

+ 360 - 0
live/src/LiveClient.cc

@@ -2967,6 +2967,42 @@ LiveClient::DeleteLiveSpecificStagingConfigOutcomeCallable LiveClient::deleteLiv
 	return task->get_future();
 }
 
+LiveClient::DeleteLiveStreamBlockOutcome LiveClient::deleteLiveStreamBlock(const DeleteLiveStreamBlockRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveStreamBlockOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveStreamBlockOutcome(DeleteLiveStreamBlockResult(outcome.result()));
+	else
+		return DeleteLiveStreamBlockOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveStreamBlockAsync(const DeleteLiveStreamBlockRequest& request, const DeleteLiveStreamBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveStreamBlock(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveStreamBlockOutcomeCallable LiveClient::deleteLiveStreamBlockCallable(const DeleteLiveStreamBlockRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveStreamBlockOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveStreamBlock(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveStreamMonitorOutcome LiveClient::deleteLiveStreamMonitor(const DeleteLiveStreamMonitorRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3975,6 +4011,42 @@ LiveClient::DescribeChannelParticipantsOutcomeCallable LiveClient::describeChann
 	return task->get_future();
 }
 
+LiveClient::DescribeChannelUsersOutcome LiveClient::describeChannelUsers(const DescribeChannelUsersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeChannelUsersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeChannelUsersOutcome(DescribeChannelUsersResult(outcome.result()));
+	else
+		return DescribeChannelUsersOutcome(outcome.error());
+}
+
+void LiveClient::describeChannelUsersAsync(const DescribeChannelUsersRequest& request, const DescribeChannelUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeChannelUsers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeChannelUsersOutcomeCallable LiveClient::describeChannelUsersCallable(const DescribeChannelUsersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeChannelUsersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeChannelUsers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeDomainUsageDataOutcome LiveClient::describeDomainUsageData(const DescribeDomainUsageDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4191,6 +4263,42 @@ LiveClient::DescribeLiveAudioAuditNotifyConfigOutcomeCallable LiveClient::descri
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveCdnDiagnoseInfoOutcome LiveClient::describeLiveCdnDiagnoseInfo(const DescribeLiveCdnDiagnoseInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveCdnDiagnoseInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveCdnDiagnoseInfoOutcome(DescribeLiveCdnDiagnoseInfoResult(outcome.result()));
+	else
+		return DescribeLiveCdnDiagnoseInfoOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveCdnDiagnoseInfoAsync(const DescribeLiveCdnDiagnoseInfoRequest& request, const DescribeLiveCdnDiagnoseInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveCdnDiagnoseInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveCdnDiagnoseInfoOutcomeCallable LiveClient::describeLiveCdnDiagnoseInfoCallable(const DescribeLiveCdnDiagnoseInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveCdnDiagnoseInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveCdnDiagnoseInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveCenterTransferOutcome LiveClient::describeLiveCenterTransfer(const DescribeLiveCenterTransferRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5379,6 +5487,42 @@ LiveClient::DescribeLiveDomainTranscodeDataOutcomeCallable LiveClient::describeL
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveDomainTranscodeParamsOutcome LiveClient::describeLiveDomainTranscodeParams(const DescribeLiveDomainTranscodeParamsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainTranscodeParamsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainTranscodeParamsOutcome(DescribeLiveDomainTranscodeParamsResult(outcome.result()));
+	else
+		return DescribeLiveDomainTranscodeParamsOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainTranscodeParamsAsync(const DescribeLiveDomainTranscodeParamsRequest& request, const DescribeLiveDomainTranscodeParamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainTranscodeParams(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainTranscodeParamsOutcomeCallable LiveClient::describeLiveDomainTranscodeParamsCallable(const DescribeLiveDomainTranscodeParamsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainTranscodeParamsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainTranscodeParams(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveDrmUsageDataOutcome LiveClient::describeLiveDrmUsageData(const DescribeLiveDrmUsageDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6207,6 +6351,42 @@ LiveClient::DescribeLiveStreamOptimizedFeatureConfigOutcomeCallable LiveClient::
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveStreamPreloadTasksOutcome LiveClient::describeLiveStreamPreloadTasks(const DescribeLiveStreamPreloadTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveStreamPreloadTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveStreamPreloadTasksOutcome(DescribeLiveStreamPreloadTasksResult(outcome.result()));
+	else
+		return DescribeLiveStreamPreloadTasksOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveStreamPreloadTasksAsync(const DescribeLiveStreamPreloadTasksRequest& request, const DescribeLiveStreamPreloadTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveStreamPreloadTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveStreamPreloadTasksOutcomeCallable LiveClient::describeLiveStreamPreloadTasksCallable(const DescribeLiveStreamPreloadTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamPreloadTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveStreamPreloadTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamRecordContentOutcome LiveClient::describeLiveStreamRecordContent(const DescribeLiveStreamRecordContentRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7359,6 +7539,42 @@ LiveClient::DescribeShowListOutcomeCallable LiveClient::describeShowListCallable
 	return task->get_future();
 }
 
+LiveClient::DescribeStreamLocationBlockOutcome LiveClient::describeStreamLocationBlock(const DescribeStreamLocationBlockRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeStreamLocationBlockOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeStreamLocationBlockOutcome(DescribeStreamLocationBlockResult(outcome.result()));
+	else
+		return DescribeStreamLocationBlockOutcome(outcome.error());
+}
+
+void LiveClient::describeStreamLocationBlockAsync(const DescribeStreamLocationBlockRequest& request, const DescribeStreamLocationBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeStreamLocationBlock(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeStreamLocationBlockOutcomeCallable LiveClient::describeStreamLocationBlockCallable(const DescribeStreamLocationBlockRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeStreamLocationBlockOutcome()>>(
+			[this, request]()
+			{
+			return this->describeStreamLocationBlock(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeStudioLayoutsOutcome LiveClient::describeStudioLayouts(const DescribeStudioLayoutsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10095,6 +10311,42 @@ LiveClient::SetLiveMpuTaskSeiOutcomeCallable LiveClient::setLiveMpuTaskSeiCallab
 	return task->get_future();
 }
 
+LiveClient::SetLiveStreamBlockOutcome LiveClient::setLiveStreamBlock(const SetLiveStreamBlockRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveStreamBlockOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveStreamBlockOutcome(SetLiveStreamBlockResult(outcome.result()));
+	else
+		return SetLiveStreamBlockOutcome(outcome.error());
+}
+
+void LiveClient::setLiveStreamBlockAsync(const SetLiveStreamBlockRequest& request, const SetLiveStreamBlockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveStreamBlock(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveStreamBlockOutcomeCallable LiveClient::setLiveStreamBlockCallable(const SetLiveStreamBlockRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveStreamBlockOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveStreamBlock(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::SetLiveStreamDelayConfigOutcome LiveClient::setLiveStreamDelayConfig(const SetLiveStreamDelayConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10167,6 +10419,42 @@ LiveClient::SetLiveStreamOptimizedFeatureConfigOutcomeCallable LiveClient::setLi
 	return task->get_future();
 }
 
+LiveClient::SetLiveStreamPreloadTasksOutcome LiveClient::setLiveStreamPreloadTasks(const SetLiveStreamPreloadTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveStreamPreloadTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveStreamPreloadTasksOutcome(SetLiveStreamPreloadTasksResult(outcome.result()));
+	else
+		return SetLiveStreamPreloadTasksOutcome(outcome.error());
+}
+
+void LiveClient::setLiveStreamPreloadTasksAsync(const SetLiveStreamPreloadTasksRequest& request, const SetLiveStreamPreloadTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveStreamPreloadTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveStreamPreloadTasksOutcomeCallable LiveClient::setLiveStreamPreloadTasksCallable(const SetLiveStreamPreloadTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveStreamPreloadTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveStreamPreloadTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::SetLiveStreamsNotifyUrlConfigOutcome LiveClient::setLiveStreamsNotifyUrlConfig(const SetLiveStreamsNotifyUrlConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10743,6 +11031,42 @@ LiveClient::UpdateCasterSceneConfigOutcomeCallable LiveClient::updateCasterScene
 	return task->get_future();
 }
 
+LiveClient::UpdateLiveAppRecordConfigOutcome LiveClient::updateLiveAppRecordConfig(const UpdateLiveAppRecordConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateLiveAppRecordConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateLiveAppRecordConfigOutcome(UpdateLiveAppRecordConfigResult(outcome.result()));
+	else
+		return UpdateLiveAppRecordConfigOutcome(outcome.error());
+}
+
+void LiveClient::updateLiveAppRecordConfigAsync(const UpdateLiveAppRecordConfigRequest& request, const UpdateLiveAppRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateLiveAppRecordConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateLiveAppRecordConfigOutcomeCallable LiveClient::updateLiveAppRecordConfigCallable(const UpdateLiveAppRecordConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateLiveAppRecordConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->updateLiveAppRecordConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateLiveAppSnapshotConfigOutcome LiveClient::updateLiveAppSnapshotConfig(const UpdateLiveAppSnapshotConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -11031,6 +11355,42 @@ LiveClient::UpdateLiveRecordNotifyConfigOutcomeCallable LiveClient::updateLiveRe
 	return task->get_future();
 }
 
+LiveClient::UpdateLiveRecordVodConfigOutcome LiveClient::updateLiveRecordVodConfig(const UpdateLiveRecordVodConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateLiveRecordVodConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateLiveRecordVodConfigOutcome(UpdateLiveRecordVodConfigResult(outcome.result()));
+	else
+		return UpdateLiveRecordVodConfigOutcome(outcome.error());
+}
+
+void LiveClient::updateLiveRecordVodConfigAsync(const UpdateLiveRecordVodConfigRequest& request, const UpdateLiveRecordVodConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateLiveRecordVodConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateLiveRecordVodConfigOutcomeCallable LiveClient::updateLiveRecordVodConfigCallable(const UpdateLiveRecordVodConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateLiveRecordVodConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->updateLiveRecordVodConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateLiveSnapshotDetectPornConfigOutcome LiveClient::updateLiveSnapshotDetectPornConfig(const UpdateLiveSnapshotDetectPornConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 104 - 68
live/src/model/AddCustomLiveStreamTranscodeRequest.cc

@@ -25,22 +25,13 @@ AddCustomLiveStreamTranscodeRequest::AddCustomLiveStreamTranscodeRequest()
 
 AddCustomLiveStreamTranscodeRequest::~AddCustomLiveStreamTranscodeRequest() {}
 
-std::string AddCustomLiveStreamTranscodeRequest::get_Template() const {
-  return _template_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::set_Template(const std::string &_template) {
-  _template_ = _template;
-  setParameter(std::string("Template"), _template);
+std::string AddCustomLiveStreamTranscodeRequest::getResWithSource() const {
+  return resWithSource_;
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getLazy() const {
-  return lazy_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setLazy(const std::string &lazy) {
-  lazy_ = lazy;
-  setParameter(std::string("Lazy"), lazy);
+void AddCustomLiveStreamTranscodeRequest::setResWithSource(const std::string &resWithSource) {
+  resWithSource_ = resWithSource;
+  setParameter(std::string("ResWithSource"), resWithSource);
 }
 
 std::string AddCustomLiveStreamTranscodeRequest::getGop() const {
@@ -52,15 +43,6 @@ void AddCustomLiveStreamTranscodeRequest::setGop(const std::string &gop) {
   setParameter(std::string("Gop"), gop);
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getKmsKeyExpireInterval() const {
-  return kmsKeyExpireInterval_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setKmsKeyExpireInterval(const std::string &kmsKeyExpireInterval) {
-  kmsKeyExpireInterval_ = kmsKeyExpireInterval;
-  setParameter(std::string("KmsKeyExpireInterval"), kmsKeyExpireInterval);
-}
-
 std::string AddCustomLiveStreamTranscodeRequest::getAudioCodec() const {
   return audioCodec_;
 }
@@ -79,24 +61,6 @@ void AddCustomLiveStreamTranscodeRequest::setKmsUID(const std::string &kmsUID) {
   setParameter(std::string("KmsUID"), kmsUID);
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getTemplateType() const {
-  return templateType_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setTemplateType(const std::string &templateType) {
-  templateType_ = templateType;
-  setParameter(std::string("TemplateType"), templateType);
-}
-
-std::string AddCustomLiveStreamTranscodeRequest::getAudioProfile() const {
-  return audioProfile_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setAudioProfile(const std::string &audioProfile) {
-  audioProfile_ = audioProfile;
-  setParameter(std::string("AudioProfile"), audioProfile);
-}
-
 int AddCustomLiveStreamTranscodeRequest::getHeight() const {
   return height_;
 }
@@ -115,6 +79,96 @@ void AddCustomLiveStreamTranscodeRequest::setApp(const std::string &app) {
   setParameter(std::string("App"), app);
 }
 
+int AddCustomLiveStreamTranscodeRequest::getProfile() const {
+  return profile_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setProfile(int profile) {
+  profile_ = profile;
+  setParameter(std::string("Profile"), std::to_string(profile));
+}
+
+long AddCustomLiveStreamTranscodeRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getExtWithSource() const {
+  return extWithSource_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setExtWithSource(const std::string &extWithSource) {
+  extWithSource_ = extWithSource;
+  setParameter(std::string("ExtWithSource"), extWithSource);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getBitrateWithSource() const {
+  return bitrateWithSource_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setBitrateWithSource(const std::string &bitrateWithSource) {
+  bitrateWithSource_ = bitrateWithSource;
+  setParameter(std::string("BitrateWithSource"), bitrateWithSource);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getDomain() const {
+  return domain_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("Domain"), domain);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::get_Template() const {
+  return _template_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::set_Template(const std::string &_template) {
+  _template_ = _template;
+  setParameter(std::string("Template"), _template);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getLazy() const {
+  return lazy_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setLazy(const std::string &lazy) {
+  lazy_ = lazy;
+  setParameter(std::string("Lazy"), lazy);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getKmsKeyExpireInterval() const {
+  return kmsKeyExpireInterval_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setKmsKeyExpireInterval(const std::string &kmsKeyExpireInterval) {
+  kmsKeyExpireInterval_ = kmsKeyExpireInterval;
+  setParameter(std::string("KmsKeyExpireInterval"), kmsKeyExpireInterval);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getTemplateType() const {
+  return templateType_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setTemplateType(const std::string &templateType) {
+  templateType_ = templateType;
+  setParameter(std::string("TemplateType"), templateType);
+}
+
+std::string AddCustomLiveStreamTranscodeRequest::getAudioProfile() const {
+  return audioProfile_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setAudioProfile(const std::string &audioProfile) {
+  audioProfile_ = audioProfile;
+  setParameter(std::string("AudioProfile"), audioProfile);
+}
+
 std::string AddCustomLiveStreamTranscodeRequest::getEncryptParameters() const {
   return encryptParameters_;
 }
@@ -133,15 +187,6 @@ void AddCustomLiveStreamTranscodeRequest::setAudioChannelNum(int audioChannelNum
   setParameter(std::string("AudioChannelNum"), std::to_string(audioChannelNum));
 }
 
-int AddCustomLiveStreamTranscodeRequest::getProfile() const {
-  return profile_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setProfile(int profile) {
-  profile_ = profile;
-  setParameter(std::string("Profile"), std::to_string(profile));
-}
-
 int AddCustomLiveStreamTranscodeRequest::getFPS() const {
   return fPS_;
 }
@@ -151,15 +196,6 @@ void AddCustomLiveStreamTranscodeRequest::setFPS(int fPS) {
   setParameter(std::string("FPS"), std::to_string(fPS));
 }
 
-long AddCustomLiveStreamTranscodeRequest::getOwnerId() const {
-  return ownerId_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setOwnerId(long ownerId) {
-  ownerId_ = ownerId;
-  setParameter(std::string("OwnerId"), std::to_string(ownerId));
-}
-
 int AddCustomLiveStreamTranscodeRequest::getAudioRate() const {
   return audioRate_;
 }
@@ -169,6 +205,15 @@ void AddCustomLiveStreamTranscodeRequest::setAudioRate(int audioRate) {
   setParameter(std::string("AudioRate"), std::to_string(audioRate));
 }
 
+std::string AddCustomLiveStreamTranscodeRequest::getFpsWithSource() const {
+  return fpsWithSource_;
+}
+
+void AddCustomLiveStreamTranscodeRequest::setFpsWithSource(const std::string &fpsWithSource) {
+  fpsWithSource_ = fpsWithSource;
+  setParameter(std::string("FpsWithSource"), fpsWithSource);
+}
+
 int AddCustomLiveStreamTranscodeRequest::getAudioBitrate() const {
   return audioBitrate_;
 }
@@ -178,15 +223,6 @@ void AddCustomLiveStreamTranscodeRequest::setAudioBitrate(int audioBitrate) {
   setParameter(std::string("AudioBitrate"), std::to_string(audioBitrate));
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getDomain() const {
-  return domain_;
-}
-
-void AddCustomLiveStreamTranscodeRequest::setDomain(const std::string &domain) {
-  domain_ = domain;
-  setParameter(std::string("Domain"), domain);
-}
-
 int AddCustomLiveStreamTranscodeRequest::getWidth() const {
   return width_;
 }

+ 9 - 0
live/src/model/AddLiveAppRecordConfigRequest.cc

@@ -34,6 +34,15 @@ void AddLiveAppRecordConfigRequest::setOssEndpoint(const std::string &ossEndpoin
   setParameter(std::string("OssEndpoint"), ossEndpoint);
 }
 
+int AddLiveAppRecordConfigRequest::getDelayTime() const {
+  return delayTime_;
+}
+
+void AddLiveAppRecordConfigRequest::setDelayTime(int delayTime) {
+  delayTime_ = delayTime;
+  setParameter(std::string("DelayTime"), std::to_string(delayTime));
+}
+
 std::vector<std::string> AddLiveAppRecordConfigRequest::getTranscodeTemplates() const {
   return transcodeTemplates_;
 }

+ 9 - 0
live/src/model/AddLiveRecordVodConfigRequest.cc

@@ -61,6 +61,15 @@ void AddLiveRecordVodConfigRequest::setAppName(const std::string &appName) {
   setParameter(std::string("AppName"), appName);
 }
 
+int AddLiveRecordVodConfigRequest::getOnDemand() const {
+  return onDemand_;
+}
+
+void AddLiveRecordVodConfigRequest::setOnDemand(int onDemand) {
+  onDemand_ = onDemand;
+  setParameter(std::string("OnDemand"), std::to_string(onDemand));
+}
+
 std::string AddLiveRecordVodConfigRequest::getStreamName() const {
   return streamName_;
 }

+ 9 - 0
live/src/model/CreateEventSubRequest.cc

@@ -43,6 +43,15 @@ void CreateEventSubRequest::setClientToken(const std::string &clientToken) {
   setParameter(std::string("ClientToken"), clientToken);
 }
 
+bool CreateEventSubRequest::getNeedCallbackAuthorization() const {
+  return needCallbackAuthorization_;
+}
+
+void CreateEventSubRequest::setNeedCallbackAuthorization(bool needCallbackAuthorization) {
+  needCallbackAuthorization_ = needCallbackAuthorization;
+  setParameter(std::string("NeedCallbackAuthorization"), needCallbackAuthorization ? "true" : "false");
+}
+
 std::vector<std::string> CreateEventSubRequest::getUsers() const {
   return users_;
 }

+ 63 - 0
live/src/model/DeleteLiveStreamBlockRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DeleteLiveStreamBlockRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLiveStreamBlockRequest;
+
+DeleteLiveStreamBlockRequest::DeleteLiveStreamBlockRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DeleteLiveStreamBlock") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteLiveStreamBlockRequest::~DeleteLiveStreamBlockRequest() {}
+
+std::string DeleteLiveStreamBlockRequest::getAppName() const {
+  return appName_;
+}
+
+void DeleteLiveStreamBlockRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+std::string DeleteLiveStreamBlockRequest::getStreamName() const {
+  return streamName_;
+}
+
+void DeleteLiveStreamBlockRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string DeleteLiveStreamBlockRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DeleteLiveStreamBlockRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long DeleteLiveStreamBlockRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteLiveStreamBlockRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 58 - 0
live/src/model/DeleteLiveStreamBlockResult.cc

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

+ 45 - 0
live/src/model/DescribeChannelUsersRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeChannelUsersRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeChannelUsersRequest;
+
+DescribeChannelUsersRequest::DescribeChannelUsersRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeChannelUsers") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeChannelUsersRequest::~DescribeChannelUsersRequest() {}
+
+std::string DescribeChannelUsersRequest::getAppId() const {
+  return appId_;
+}
+
+void DescribeChannelUsersRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+
+std::string DescribeChannelUsersRequest::getChannelId() const {
+  return channelId_;
+}
+
+void DescribeChannelUsersRequest::setChannelId(const std::string &channelId) {
+  channelId_ = channelId;
+  setParameter(std::string("ChannelId"), channelId);
+}
+

+ 88 - 0
live/src/model/DescribeChannelUsersResult.cc

@@ -0,0 +1,88 @@
+/*
+ * 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/live/model/DescribeChannelUsersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeChannelUsersResult::DescribeChannelUsersResult() :
+	ServiceResult()
+{}
+
+DescribeChannelUsersResult::DescribeChannelUsersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeChannelUsersResult::~DescribeChannelUsersResult()
+{}
+
+void DescribeChannelUsersResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInteractiveUserList = value["InteractiveUserList"]["InteractiveUser"];
+	for (const auto &item : allInteractiveUserList)
+		interactiveUserList_.push_back(item.asString());
+	auto allLiveUserList = value["LiveUserList"]["LiveUser"];
+	for (const auto &item : allLiveUserList)
+		liveUserList_.push_back(item.asString());
+	if(!value["Timestamp"].isNull())
+		timestamp_ = std::stol(value["Timestamp"].asString());
+	if(!value["IsChannelExists"].isNull())
+		isChannelExists_ = value["IsChannelExists"].asString() == "true";
+	if(!value["InteractiveUserNumber"].isNull())
+		interactiveUserNumber_ = std::stoi(value["InteractiveUserNumber"].asString());
+	if(!value["LiveUserNumber"].isNull())
+		liveUserNumber_ = std::stoi(value["LiveUserNumber"].asString());
+
+}
+
+std::vector<std::string> DescribeChannelUsersResult::getInteractiveUserList()const
+{
+	return interactiveUserList_;
+}
+
+int DescribeChannelUsersResult::getInteractiveUserNumber()const
+{
+	return interactiveUserNumber_;
+}
+
+bool DescribeChannelUsersResult::getIsChannelExists()const
+{
+	return isChannelExists_;
+}
+
+std::vector<std::string> DescribeChannelUsersResult::getLiveUserList()const
+{
+	return liveUserList_;
+}
+
+long DescribeChannelUsersResult::getTimestamp()const
+{
+	return timestamp_;
+}
+
+int DescribeChannelUsersResult::getLiveUserNumber()const
+{
+	return liveUserNumber_;
+}
+

+ 108 - 0
live/src/model/DescribeLiveCdnDiagnoseInfoRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveCdnDiagnoseInfoRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveCdnDiagnoseInfoRequest;
+
+DescribeLiveCdnDiagnoseInfoRequest::DescribeLiveCdnDiagnoseInfoRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveCdnDiagnoseInfo") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveCdnDiagnoseInfoRequest::~DescribeLiveCdnDiagnoseInfoRequest() {}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getIntervalType() const {
+  return intervalType_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setIntervalType(const std::string &intervalType) {
+  intervalType_ = intervalType;
+  setParameter(std::string("intervalType"), intervalType);
+}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getStreamSuffix() const {
+  return streamSuffix_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setStreamSuffix(const std::string &streamSuffix) {
+  streamSuffix_ = streamSuffix;
+  setParameter(std::string("streamSuffix"), streamSuffix);
+}
+
+long DescribeLiveCdnDiagnoseInfoRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setStartTime(long startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("startTime"), std::to_string(startTime));
+}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getRequestType() const {
+  return requestType_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setRequestType(const std::string &requestType) {
+  requestType_ = requestType;
+  setParameter(std::string("requestType"), requestType);
+}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getStreamName() const {
+  return streamName_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("streamName"), streamName);
+}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getApp() const {
+  return app_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setApp(const std::string &app) {
+  app_ = app;
+  setParameter(std::string("app"), app);
+}
+
+int DescribeLiveCdnDiagnoseInfoRequest::getPhase() const {
+  return phase_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setPhase(int phase) {
+  phase_ = phase;
+  setParameter(std::string("phase"), std::to_string(phase));
+}
+
+long DescribeLiveCdnDiagnoseInfoRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setEndTime(long endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("endTime"), std::to_string(endTime));
+}
+
+std::string DescribeLiveCdnDiagnoseInfoRequest::getDomain() const {
+  return domain_;
+}
+
+void DescribeLiveCdnDiagnoseInfoRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("domain"), domain);
+}
+

+ 44 - 0
live/src/model/DescribeLiveCdnDiagnoseInfoResult.cc

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

+ 54 - 0
live/src/model/DescribeLiveDomainTranscodeParamsRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveDomainTranscodeParamsRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainTranscodeParamsRequest;
+
+DescribeLiveDomainTranscodeParamsRequest::DescribeLiveDomainTranscodeParamsRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainTranscodeParams") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveDomainTranscodeParamsRequest::~DescribeLiveDomainTranscodeParamsRequest() {}
+
+std::string DescribeLiveDomainTranscodeParamsRequest::getPushdomain() const {
+  return pushdomain_;
+}
+
+void DescribeLiveDomainTranscodeParamsRequest::setPushdomain(const std::string &pushdomain) {
+  pushdomain_ = pushdomain;
+  setParameter(std::string("pushdomain"), pushdomain);
+}
+
+std::string DescribeLiveDomainTranscodeParamsRequest::getApp() const {
+  return app_;
+}
+
+void DescribeLiveDomainTranscodeParamsRequest::setApp(const std::string &app) {
+  app_ = app;
+  setParameter(std::string("app"), app);
+}
+
+std::string DescribeLiveDomainTranscodeParamsRequest::getTemplate_name() const {
+  return template_name_;
+}
+
+void DescribeLiveDomainTranscodeParamsRequest::setTemplate_name(const std::string &template_name) {
+  template_name_ = template_name;
+  setParameter(std::string("template_name"), template_name);
+}
+

+ 44 - 0
live/src/model/DescribeLiveDomainTranscodeParamsResult.cc

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

+ 2 - 0
live/src/model/DescribeLiveRecordConfigResult.cc

@@ -51,6 +51,8 @@ void DescribeLiveRecordConfigResult::parse(const std::string &payload)
 			liveAppRecordListObject.appName = valueLiveAppRecordListLiveAppRecord["AppName"].asString();
 		if(!valueLiveAppRecordListLiveAppRecord["StreamName"].isNull())
 			liveAppRecordListObject.streamName = valueLiveAppRecordListLiveAppRecord["StreamName"].asString();
+		if(!valueLiveAppRecordListLiveAppRecord["DelayTime"].isNull())
+			liveAppRecordListObject.delayTime = std::stoi(valueLiveAppRecordListLiveAppRecord["DelayTime"].asString());
 		if(!valueLiveAppRecordListLiveAppRecord["CreateTime"].isNull())
 			liveAppRecordListObject.createTime = valueLiveAppRecordListLiveAppRecord["CreateTime"].asString();
 		if(!valueLiveAppRecordListLiveAppRecord["OnDemond"].isNull())

+ 4 - 0
live/src/model/DescribeLiveRecordVodConfigsResult.cc

@@ -43,10 +43,14 @@ void DescribeLiveRecordVodConfigsResult::parse(const std::string &payload)
 	for (auto valueLiveRecordVodConfigsLiveRecordVodConfig : allLiveRecordVodConfigsNode)
 	{
 		LiveRecordVodConfig liveRecordVodConfigsObject;
+		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["StorageLocation"].isNull())
+			liveRecordVodConfigsObject.storageLocation = valueLiveRecordVodConfigsLiveRecordVodConfig["StorageLocation"].asString();
 		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["AppName"].isNull())
 			liveRecordVodConfigsObject.appName = valueLiveRecordVodConfigsLiveRecordVodConfig["AppName"].asString();
 		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["AutoCompose"].isNull())
 			liveRecordVodConfigsObject.autoCompose = valueLiveRecordVodConfigsLiveRecordVodConfig["AutoCompose"].asString();
+		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["OnDemand"].isNull())
+			liveRecordVodConfigsObject.onDemand = std::stoi(valueLiveRecordVodConfigsLiveRecordVodConfig["OnDemand"].asString());
 		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["StreamName"].isNull())
 			liveRecordVodConfigsObject.streamName = valueLiveRecordVodConfigsLiveRecordVodConfig["StreamName"].asString();
 		if(!valueLiveRecordVodConfigsLiveRecordVodConfig["CreateTime"].isNull())

+ 108 - 0
live/src/model/DescribeLiveStreamPreloadTasksRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveStreamPreloadTasksRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveStreamPreloadTasksRequest;
+
+DescribeLiveStreamPreloadTasksRequest::DescribeLiveStreamPreloadTasksRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveStreamPreloadTasks") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveStreamPreloadTasksRequest::~DescribeLiveStreamPreloadTasksRequest() {}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+int DescribeLiveStreamPreloadTasksRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+int DescribeLiveStreamPreloadTasksRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long DescribeLiveStreamPreloadTasksRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getPlayUrl() const {
+  return playUrl_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setPlayUrl(const std::string &playUrl) {
+  playUrl_ = playUrl;
+  setParameter(std::string("PlayUrl"), playUrl);
+}
+
+std::string DescribeLiveStreamPreloadTasksRequest::getStatus() const {
+  return status_;
+}
+
+void DescribeLiveStreamPreloadTasksRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 103 - 0
live/src/model/DescribeLiveStreamPreloadTasksResult.cc

@@ -0,0 +1,103 @@
+/*
+ * 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/live/model/DescribeLiveStreamPreloadTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveStreamPreloadTasksResult::DescribeLiveStreamPreloadTasksResult() :
+	ServiceResult()
+{}
+
+DescribeLiveStreamPreloadTasksResult::DescribeLiveStreamPreloadTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveStreamPreloadTasksResult::~DescribeLiveStreamPreloadTasksResult()
+{}
+
+void DescribeLiveStreamPreloadTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPreloadTasksNode = value["PreloadTasks"]["PreloadTask"];
+	for (auto valuePreloadTasksPreloadTask : allPreloadTasksNode)
+	{
+		PreloadTask preloadTasksObject;
+		if(!valuePreloadTasksPreloadTask["Status"].isNull())
+			preloadTasksObject.status = valuePreloadTasksPreloadTask["Status"].asString();
+		if(!valuePreloadTasksPreloadTask["Process"].isNull())
+			preloadTasksObject.process = valuePreloadTasksPreloadTask["Process"].asString();
+		if(!valuePreloadTasksPreloadTask["Description"].isNull())
+			preloadTasksObject.description = valuePreloadTasksPreloadTask["Description"].asString();
+		if(!valuePreloadTasksPreloadTask["CreateTime"].isNull())
+			preloadTasksObject.createTime = valuePreloadTasksPreloadTask["CreateTime"].asString();
+		if(!valuePreloadTasksPreloadTask["PreloadedEndTime"].isNull())
+			preloadTasksObject.preloadedEndTime = valuePreloadTasksPreloadTask["PreloadedEndTime"].asString();
+		if(!valuePreloadTasksPreloadTask["PreloadedStartTime"].isNull())
+			preloadTasksObject.preloadedStartTime = valuePreloadTasksPreloadTask["PreloadedStartTime"].asString();
+		if(!valuePreloadTasksPreloadTask["PlayUrl"].isNull())
+			preloadTasksObject.playUrl = valuePreloadTasksPreloadTask["PlayUrl"].asString();
+		if(!valuePreloadTasksPreloadTask["Area"].isNull())
+			preloadTasksObject.area = valuePreloadTasksPreloadTask["Area"].asString();
+		if(!valuePreloadTasksPreloadTask["TaskId"].isNull())
+			preloadTasksObject.taskId = valuePreloadTasksPreloadTask["TaskId"].asString();
+		if(!valuePreloadTasksPreloadTask["DomainName"].isNull())
+			preloadTasksObject.domainName = valuePreloadTasksPreloadTask["DomainName"].asString();
+		preloadTasks_.push_back(preloadTasksObject);
+	}
+	if(!value["TotalPage"].isNull())
+		totalPage_ = std::stoi(value["TotalPage"].asString());
+	if(!value["PageNum"].isNull())
+		pageNum_ = std::stoi(value["PageNum"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stoi(value["TotalNum"].asString());
+
+}
+
+std::vector<DescribeLiveStreamPreloadTasksResult::PreloadTask> DescribeLiveStreamPreloadTasksResult::getPreloadTasks()const
+{
+	return preloadTasks_;
+}
+
+int DescribeLiveStreamPreloadTasksResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+int DescribeLiveStreamPreloadTasksResult::getTotalPage()const
+{
+	return totalPage_;
+}
+
+int DescribeLiveStreamPreloadTasksResult::getPageNum()const
+{
+	return pageNum_;
+}
+
+int DescribeLiveStreamPreloadTasksResult::getPageSize()const
+{
+	return pageSize_;
+}
+

+ 9 - 0
live/src/model/DescribeLiveStreamTranscodeInfoRequest.cc

@@ -25,6 +25,15 @@ DescribeLiveStreamTranscodeInfoRequest::DescribeLiveStreamTranscodeInfoRequest()
 
 DescribeLiveStreamTranscodeInfoRequest::~DescribeLiveStreamTranscodeInfoRequest() {}
 
+std::string DescribeLiveStreamTranscodeInfoRequest::getAppName() const {
+  return appName_;
+}
+
+void DescribeLiveStreamTranscodeInfoRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
 long DescribeLiveStreamTranscodeInfoRequest::getOwnerId() const {
   return ownerId_;
 }

+ 14 - 6
live/src/model/DescribeLiveStreamTranscodeInfoResult.cc

@@ -52,34 +52,42 @@ void DescribeLiveStreamTranscodeInfoResult::parse(const std::string &payload)
 		if(!valueDomainTranscodeListDomainTranscodeInfo["TranscodeName"].isNull())
 			domainTranscodeListObject.transcodeName = valueDomainTranscodeListDomainTranscodeInfo["TranscodeName"].asString();
 		auto customTranscodeParametersNode = value["CustomTranscodeParameters"];
+		if(!customTranscodeParametersNode["BitrateWithSource"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.bitrateWithSource = customTranscodeParametersNode["BitrateWithSource"].asString();
 		if(!customTranscodeParametersNode["VideoProfile"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.videoProfile = customTranscodeParametersNode["VideoProfile"].asString();
 		if(!customTranscodeParametersNode["AudioBitrate"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioBitrate = std::stoi(customTranscodeParametersNode["AudioBitrate"].asString());
-		if(!customTranscodeParametersNode["RtsFlag"].isNull())
-			domainTranscodeListObject.customTranscodeParameters.rtsFlag = customTranscodeParametersNode["RtsFlag"].asString();
 		if(!customTranscodeParametersNode["Height"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.height = std::stoi(customTranscodeParametersNode["Height"].asString());
+		if(!customTranscodeParametersNode["RtsFlag"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.rtsFlag = customTranscodeParametersNode["RtsFlag"].asString();
 		if(!customTranscodeParametersNode["TemplateType"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.templateType = customTranscodeParametersNode["TemplateType"].asString();
 		if(!customTranscodeParametersNode["Bframes"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.bframes = customTranscodeParametersNode["Bframes"].asString();
+		if(!customTranscodeParametersNode["ExtWithSource"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.extWithSource = customTranscodeParametersNode["ExtWithSource"].asString();
 		if(!customTranscodeParametersNode["AudioRate"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioRate = std::stoi(customTranscodeParametersNode["AudioRate"].asString());
-		if(!customTranscodeParametersNode["FPS"].isNull())
-			domainTranscodeListObject.customTranscodeParameters.fPS = std::stoi(customTranscodeParametersNode["FPS"].asString());
+		if(!customTranscodeParametersNode["FpsWithSource"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.fpsWithSource = customTranscodeParametersNode["FpsWithSource"].asString();
 		if(!customTranscodeParametersNode["AudioCodec"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioCodec = customTranscodeParametersNode["AudioCodec"].asString();
+		if(!customTranscodeParametersNode["FPS"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.fPS = std::stoi(customTranscodeParametersNode["FPS"].asString());
 		if(!customTranscodeParametersNode["Gop"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.gop = customTranscodeParametersNode["Gop"].asString();
-		if(!customTranscodeParametersNode["VideoBitrate"].isNull())
-			domainTranscodeListObject.customTranscodeParameters.videoBitrate = std::stoi(customTranscodeParametersNode["VideoBitrate"].asString());
 		if(!customTranscodeParametersNode["Width"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.width = std::stoi(customTranscodeParametersNode["Width"].asString());
+		if(!customTranscodeParametersNode["VideoBitrate"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.videoBitrate = std::stoi(customTranscodeParametersNode["VideoBitrate"].asString());
 		if(!customTranscodeParametersNode["AudioChannelNum"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioChannelNum = std::stoi(customTranscodeParametersNode["AudioChannelNum"].asString());
 		if(!customTranscodeParametersNode["AudioProfile"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioProfile = customTranscodeParametersNode["AudioProfile"].asString();
+		if(!customTranscodeParametersNode["ResWithSource"].isNull())
+			domainTranscodeListObject.customTranscodeParameters.resWithSource = customTranscodeParametersNode["ResWithSource"].asString();
 		auto encryptParametersNode = value["EncryptParameters"];
 		if(!encryptParametersNode["EncryptType"].isNull())
 			domainTranscodeListObject.encryptParameters.encryptType = encryptParametersNode["EncryptType"].asString();

+ 90 - 0
live/src/model/DescribeStreamLocationBlockRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/live/model/DescribeStreamLocationBlockRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeStreamLocationBlockRequest;
+
+DescribeStreamLocationBlockRequest::DescribeStreamLocationBlockRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeStreamLocationBlock") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeStreamLocationBlockRequest::~DescribeStreamLocationBlockRequest() {}
+
+std::string DescribeStreamLocationBlockRequest::getBlockType() const {
+  return blockType_;
+}
+
+void DescribeStreamLocationBlockRequest::setBlockType(const std::string &blockType) {
+  blockType_ = blockType;
+  setParameter(std::string("BlockType"), blockType);
+}
+
+int DescribeStreamLocationBlockRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void DescribeStreamLocationBlockRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+std::string DescribeStreamLocationBlockRequest::getAppName() const {
+  return appName_;
+}
+
+void DescribeStreamLocationBlockRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+int DescribeStreamLocationBlockRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeStreamLocationBlockRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeStreamLocationBlockRequest::getStreamName() const {
+  return streamName_;
+}
+
+void DescribeStreamLocationBlockRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string DescribeStreamLocationBlockRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DescribeStreamLocationBlockRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long DescribeStreamLocationBlockRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeStreamLocationBlockRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 99 - 0
live/src/model/DescribeStreamLocationBlockResult.cc

@@ -0,0 +1,99 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeStreamLocationBlockResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeStreamLocationBlockResult::DescribeStreamLocationBlockResult() :
+	ServiceResult()
+{}
+
+DescribeStreamLocationBlockResult::DescribeStreamLocationBlockResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeStreamLocationBlockResult::~DescribeStreamLocationBlockResult()
+{}
+
+void DescribeStreamLocationBlockResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allStreamBlockListNode = value["StreamBlockList"]["StreamBlock"];
+	for (auto valueStreamBlockListStreamBlock : allStreamBlockListNode)
+	{
+		StreamBlock streamBlockListObject;
+		if(!valueStreamBlockListStreamBlock["Status"].isNull())
+			streamBlockListObject.status = std::stoi(valueStreamBlockListStreamBlock["Status"].asString());
+		if(!valueStreamBlockListStreamBlock["BlockType"].isNull())
+			streamBlockListObject.blockType = valueStreamBlockListStreamBlock["BlockType"].asString();
+		if(!valueStreamBlockListStreamBlock["AppName"].isNull())
+			streamBlockListObject.appName = valueStreamBlockListStreamBlock["AppName"].asString();
+		if(!valueStreamBlockListStreamBlock["UpdateTime"].isNull())
+			streamBlockListObject.updateTime = valueStreamBlockListStreamBlock["UpdateTime"].asString();
+		if(!valueStreamBlockListStreamBlock["StreamName"].isNull())
+			streamBlockListObject.streamName = valueStreamBlockListStreamBlock["StreamName"].asString();
+		if(!valueStreamBlockListStreamBlock["ReleaseTime"].isNull())
+			streamBlockListObject.releaseTime = valueStreamBlockListStreamBlock["ReleaseTime"].asString();
+		if(!valueStreamBlockListStreamBlock["LocationList"].isNull())
+			streamBlockListObject.locationList = valueStreamBlockListStreamBlock["LocationList"].asString();
+		if(!valueStreamBlockListStreamBlock["DomainName"].isNull())
+			streamBlockListObject.domainName = valueStreamBlockListStreamBlock["DomainName"].asString();
+		streamBlockList_.push_back(streamBlockListObject);
+	}
+	if(!value["TotalPage"].isNull())
+		totalPage_ = std::stoi(value["TotalPage"].asString());
+	if(!value["PageNum"].isNull())
+		pageNum_ = std::stoi(value["PageNum"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["Count"].isNull())
+		count_ = std::stoi(value["Count"].asString());
+
+}
+
+int DescribeStreamLocationBlockResult::getTotalPage()const
+{
+	return totalPage_;
+}
+
+int DescribeStreamLocationBlockResult::getPageNum()const
+{
+	return pageNum_;
+}
+
+int DescribeStreamLocationBlockResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::vector<DescribeStreamLocationBlockResult::StreamBlock> DescribeStreamLocationBlockResult::getStreamBlockList()const
+{
+	return streamBlockList_;
+}
+
+int DescribeStreamLocationBlockResult::getCount()const
+{
+	return count_;
+}
+

+ 90 - 0
live/src/model/SetLiveStreamBlockRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/live/model/SetLiveStreamBlockRequest.h>
+
+using AlibabaCloud::Live::Model::SetLiveStreamBlockRequest;
+
+SetLiveStreamBlockRequest::SetLiveStreamBlockRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SetLiveStreamBlock") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SetLiveStreamBlockRequest::~SetLiveStreamBlockRequest() {}
+
+std::string SetLiveStreamBlockRequest::getLocationList() const {
+  return locationList_;
+}
+
+void SetLiveStreamBlockRequest::setLocationList(const std::string &locationList) {
+  locationList_ = locationList;
+  setParameter(std::string("LocationList"), locationList);
+}
+
+std::string SetLiveStreamBlockRequest::getBlockType() const {
+  return blockType_;
+}
+
+void SetLiveStreamBlockRequest::setBlockType(const std::string &blockType) {
+  blockType_ = blockType;
+  setParameter(std::string("BlockType"), blockType);
+}
+
+std::string SetLiveStreamBlockRequest::getReleaseTime() const {
+  return releaseTime_;
+}
+
+void SetLiveStreamBlockRequest::setReleaseTime(const std::string &releaseTime) {
+  releaseTime_ = releaseTime;
+  setParameter(std::string("ReleaseTime"), releaseTime);
+}
+
+std::string SetLiveStreamBlockRequest::getAppName() const {
+  return appName_;
+}
+
+void SetLiveStreamBlockRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+std::string SetLiveStreamBlockRequest::getStreamName() const {
+  return streamName_;
+}
+
+void SetLiveStreamBlockRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string SetLiveStreamBlockRequest::getDomainName() const {
+  return domainName_;
+}
+
+void SetLiveStreamBlockRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long SetLiveStreamBlockRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void SetLiveStreamBlockRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 58 - 0
live/src/model/SetLiveStreamBlockResult.cc

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

+ 81 - 0
live/src/model/SetLiveStreamPreloadTasksRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/SetLiveStreamPreloadTasksRequest.h>
+
+using AlibabaCloud::Live::Model::SetLiveStreamPreloadTasksRequest;
+
+SetLiveStreamPreloadTasksRequest::SetLiveStreamPreloadTasksRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SetLiveStreamPreloadTasks") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SetLiveStreamPreloadTasksRequest::~SetLiveStreamPreloadTasksRequest() {}
+
+std::string SetLiveStreamPreloadTasksRequest::getPreloadedStartTime() const {
+  return preloadedStartTime_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setPreloadedStartTime(const std::string &preloadedStartTime) {
+  preloadedStartTime_ = preloadedStartTime;
+  setParameter(std::string("PreloadedStartTime"), preloadedStartTime);
+}
+
+std::string SetLiveStreamPreloadTasksRequest::getArea() const {
+  return area_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setArea(const std::string &area) {
+  area_ = area;
+  setParameter(std::string("Area"), area);
+}
+
+std::string SetLiveStreamPreloadTasksRequest::getPreloadedEndTime() const {
+  return preloadedEndTime_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setPreloadedEndTime(const std::string &preloadedEndTime) {
+  preloadedEndTime_ = preloadedEndTime;
+  setParameter(std::string("PreloadedEndTime"), preloadedEndTime);
+}
+
+std::string SetLiveStreamPreloadTasksRequest::getDomainName() const {
+  return domainName_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long SetLiveStreamPreloadTasksRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string SetLiveStreamPreloadTasksRequest::getPlayUrl() const {
+  return playUrl_;
+}
+
+void SetLiveStreamPreloadTasksRequest::setPlayUrl(const std::string &playUrl) {
+  playUrl_ = playUrl;
+  setParameter(std::string("PlayUrl"), playUrl);
+}
+

+ 89 - 0
live/src/model/SetLiveStreamPreloadTasksResult.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/live/model/SetLiveStreamPreloadTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+SetLiveStreamPreloadTasksResult::SetLiveStreamPreloadTasksResult() :
+	ServiceResult()
+{}
+
+SetLiveStreamPreloadTasksResult::SetLiveStreamPreloadTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SetLiveStreamPreloadTasksResult::~SetLiveStreamPreloadTasksResult()
+{}
+
+void SetLiveStreamPreloadTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPreloadTasksMessagesNode = value["PreloadTasksMessages"]["PreloadTasksMessage"];
+	for (auto valuePreloadTasksMessagesPreloadTasksMessage : allPreloadTasksMessagesNode)
+	{
+		PreloadTasksMessage preloadTasksMessagesObject;
+		if(!valuePreloadTasksMessagesPreloadTasksMessage["PlayUrl"].isNull())
+			preloadTasksMessagesObject.playUrl = valuePreloadTasksMessagesPreloadTasksMessage["PlayUrl"].asString();
+		if(!valuePreloadTasksMessagesPreloadTasksMessage["Description"].isNull())
+			preloadTasksMessagesObject.description = valuePreloadTasksMessagesPreloadTasksMessage["Description"].asString();
+		if(!valuePreloadTasksMessagesPreloadTasksMessage["TaskId"].isNull())
+			preloadTasksMessagesObject.taskId = valuePreloadTasksMessagesPreloadTasksMessage["TaskId"].asString();
+		preloadTasksMessages_.push_back(preloadTasksMessagesObject);
+	}
+	if(!value["Status"].isNull())
+		status_ = value["Status"].asString();
+	if(!value["FailedURL"].isNull())
+		failedURL_ = std::stoi(value["FailedURL"].asString());
+	if(!value["TotalURL"].isNull())
+		totalURL_ = std::stoi(value["TotalURL"].asString());
+	if(!value["SuccessURL"].isNull())
+		successURL_ = std::stoi(value["SuccessURL"].asString());
+
+}
+
+std::string SetLiveStreamPreloadTasksResult::getStatus()const
+{
+	return status_;
+}
+
+int SetLiveStreamPreloadTasksResult::getFailedURL()const
+{
+	return failedURL_;
+}
+
+std::vector<SetLiveStreamPreloadTasksResult::PreloadTasksMessage> SetLiveStreamPreloadTasksResult::getPreloadTasksMessages()const
+{
+	return preloadTasksMessages_;
+}
+
+int SetLiveStreamPreloadTasksResult::getTotalURL()const
+{
+	return totalURL_;
+}
+
+int SetLiveStreamPreloadTasksResult::getSuccessURL()const
+{
+	return successURL_;
+}
+

+ 155 - 0
live/src/model/UpdateLiveAppRecordConfigRequest.cc

@@ -0,0 +1,155 @@
+/*
+ * 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/live/model/UpdateLiveAppRecordConfigRequest.h>
+
+using AlibabaCloud::Live::Model::UpdateLiveAppRecordConfigRequest;
+
+UpdateLiveAppRecordConfigRequest::UpdateLiveAppRecordConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "UpdateLiveAppRecordConfig") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateLiveAppRecordConfigRequest::~UpdateLiveAppRecordConfigRequest() {}
+
+std::string UpdateLiveAppRecordConfigRequest::getOssEndpoint() const {
+  return ossEndpoint_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setOssEndpoint(const std::string &ossEndpoint) {
+  ossEndpoint_ = ossEndpoint;
+  setParameter(std::string("OssEndpoint"), ossEndpoint);
+}
+
+int UpdateLiveAppRecordConfigRequest::getDelayTime() const {
+  return delayTime_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setDelayTime(int delayTime) {
+  delayTime_ = delayTime;
+  setParameter(std::string("DelayTime"), std::to_string(delayTime));
+}
+
+std::vector<std::string> UpdateLiveAppRecordConfigRequest::getTranscodeTemplates() const {
+  return transcodeTemplates_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setTranscodeTemplates(const std::vector<std::string> &transcodeTemplates) {
+  transcodeTemplates_ = transcodeTemplates;
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getStartTime() const {
+  return startTime_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getAppName() const {
+  return appName_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getSecurityToken() const {
+  return securityToken_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setSecurityToken(const std::string &securityToken) {
+  securityToken_ = securityToken;
+  setParameter(std::string("SecurityToken"), securityToken);
+}
+
+std::vector<UpdateLiveAppRecordConfigRequest::TranscodeRecordFormat> UpdateLiveAppRecordConfigRequest::getTranscodeRecordFormat() const {
+  return transcodeRecordFormat_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setTranscodeRecordFormat(const std::vector<UpdateLiveAppRecordConfigRequest::TranscodeRecordFormat> &transcodeRecordFormat) {
+  transcodeRecordFormat_ = transcodeRecordFormat;
+  for(int dep1 = 0; dep1 != transcodeRecordFormat.size(); dep1++) {
+  auto transcodeRecordFormatObj = transcodeRecordFormat.at(dep1);
+  std::string transcodeRecordFormatObjStr = std::string("TranscodeRecordFormat") + "." + std::to_string(dep1 + 1);
+    setParameter(transcodeRecordFormatObjStr + ".SliceDuration", std::to_string(transcodeRecordFormatObj.sliceDuration));
+    setParameter(transcodeRecordFormatObjStr + ".Format", transcodeRecordFormatObj.format);
+    setParameter(transcodeRecordFormatObjStr + ".CycleDuration", std::to_string(transcodeRecordFormatObj.cycleDuration));
+  }
+}
+
+int UpdateLiveAppRecordConfigRequest::getOnDemand() const {
+  return onDemand_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setOnDemand(int onDemand) {
+  onDemand_ = onDemand;
+  setParameter(std::string("OnDemand"), std::to_string(onDemand));
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getStreamName() const {
+  return streamName_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getDomainName() const {
+  return domainName_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+std::string UpdateLiveAppRecordConfigRequest::getEndTime() const {
+  return endTime_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long UpdateLiveAppRecordConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::vector<UpdateLiveAppRecordConfigRequest::RecordFormat> UpdateLiveAppRecordConfigRequest::getRecordFormat() const {
+  return recordFormat_;
+}
+
+void UpdateLiveAppRecordConfigRequest::setRecordFormat(const std::vector<UpdateLiveAppRecordConfigRequest::RecordFormat> &recordFormat) {
+  recordFormat_ = recordFormat;
+  for(int dep1 = 0; dep1 != recordFormat.size(); dep1++) {
+  auto recordFormatObj = recordFormat.at(dep1);
+  std::string recordFormatObjStr = std::string("RecordFormat") + "." + std::to_string(dep1 + 1);
+    setParameter(recordFormatObjStr + ".SliceDuration", std::to_string(recordFormatObj.sliceDuration));
+    setParameter(recordFormatObjStr + ".Format", recordFormatObj.format);
+    setParameter(recordFormatObjStr + ".CycleDuration", std::to_string(recordFormatObj.cycleDuration));
+  }
+}
+

+ 44 - 0
live/src/model/UpdateLiveAppRecordConfigResult.cc

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

+ 117 - 0
live/src/model/UpdateLiveRecordVodConfigRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/live/model/UpdateLiveRecordVodConfigRequest.h>
+
+using AlibabaCloud::Live::Model::UpdateLiveRecordVodConfigRequest;
+
+UpdateLiveRecordVodConfigRequest::UpdateLiveRecordVodConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "UpdateLiveRecordVodConfig") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateLiveRecordVodConfigRequest::~UpdateLiveRecordVodConfigRequest() {}
+
+std::string UpdateLiveRecordVodConfigRequest::getAutoCompose() const {
+  return autoCompose_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setAutoCompose(const std::string &autoCompose) {
+  autoCompose_ = autoCompose;
+  setParameter(std::string("AutoCompose"), autoCompose);
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getComposeVodTranscodeGroupId() const {
+  return composeVodTranscodeGroupId_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setComposeVodTranscodeGroupId(const std::string &composeVodTranscodeGroupId) {
+  composeVodTranscodeGroupId_ = composeVodTranscodeGroupId;
+  setParameter(std::string("ComposeVodTranscodeGroupId"), composeVodTranscodeGroupId);
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getStorageLocation() const {
+  return storageLocation_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setStorageLocation(const std::string &storageLocation) {
+  storageLocation_ = storageLocation;
+  setParameter(std::string("StorageLocation"), storageLocation);
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getAppName() const {
+  return appName_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+int UpdateLiveRecordVodConfigRequest::getOnDemand() const {
+  return onDemand_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setOnDemand(int onDemand) {
+  onDemand_ = onDemand;
+  setParameter(std::string("OnDemand"), std::to_string(onDemand));
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getStreamName() const {
+  return streamName_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getVodTranscodeGroupId() const {
+  return vodTranscodeGroupId_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setVodTranscodeGroupId(const std::string &vodTranscodeGroupId) {
+  vodTranscodeGroupId_ = vodTranscodeGroupId;
+  setParameter(std::string("VodTranscodeGroupId"), vodTranscodeGroupId);
+}
+
+std::string UpdateLiveRecordVodConfigRequest::getDomainName() const {
+  return domainName_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+int UpdateLiveRecordVodConfigRequest::getCycleDuration() const {
+  return cycleDuration_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setCycleDuration(int cycleDuration) {
+  cycleDuration_ = cycleDuration;
+  setParameter(std::string("CycleDuration"), std::to_string(cycleDuration));
+}
+
+long UpdateLiveRecordVodConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void UpdateLiveRecordVodConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 44 - 0
live/src/model/UpdateLiveRecordVodConfigResult.cc

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