Просмотр исходного кода

支持创建RTC WHIP推流地址

sdk-team 1 год назад
Родитель
Сommit
d2887a4adc
100 измененных файлов с 5418 добавлено и 74 удалено
  1. 1 1
      VERSION
  2. 80 0
      live/CMakeLists.txt
  3. 160 0
      live/include/alibabacloud/live/LiveClient.h
  4. 6 0
      live/include/alibabacloud/live/model/CreateLiveMessageAppRequest.h
  5. 84 0
      live/include/alibabacloud/live/model/CreateLivePullToPushRequest.h
  6. 55 0
      live/include/alibabacloud/live/model/CreateLivePullToPushResult.h
  7. 57 0
      live/include/alibabacloud/live/model/CreateRTCWhipStreamAddressRequest.h
  8. 51 0
      live/include/alibabacloud/live/model/CreateRTCWhipStreamAddressResult.h
  9. 48 0
      live/include/alibabacloud/live/model/DeleteLivePullToPushRequest.h
  10. 53 0
      live/include/alibabacloud/live/model/DeleteLivePullToPushResult.h
  11. 12 0
      live/include/alibabacloud/live/model/DescribeCasterConfigResult.h
  12. 45 0
      live/include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigRequest.h
  13. 51 0
      live/include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigResult.h
  14. 4 0
      live/include/alibabacloud/live/model/DescribeLiveMessageAppResult.h
  15. 8 6
      live/include/alibabacloud/live/model/DescribeLiveMessageGroupResult.h
  16. 60 0
      live/include/alibabacloud/live/model/DescribeLivePullToPushListRequest.h
  17. 85 0
      live/include/alibabacloud/live/model/DescribeLivePullToPushListResult.h
  18. 48 0
      live/include/alibabacloud/live/model/DescribeLivePullToPushRequest.h
  19. 86 0
      live/include/alibabacloud/live/model/DescribeLivePullToPushResult.h
  20. 3 0
      live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeStreamNumRequest.h
  21. 7 0
      live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeStreamNumResult.h
  22. 3 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigRequest.h
  23. 1 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigResult.h
  24. 3 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsOnlineListRequest.h
  25. 2 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsOnlineListResult.h
  26. 3 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsPublishListResult.h
  27. 57 0
      live/include/alibabacloud/live/model/DescribeLiveUserTrafficLogRequest.h
  28. 73 0
      live/include/alibabacloud/live/model/DescribeLiveUserTrafficLogResult.h
  29. 42 0
      live/include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesRequest.h
  30. 63 0
      live/include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesResult.h
  31. 48 0
      live/include/alibabacloud/live/model/DescribeUidOnlineStreamsRequest.h
  32. 59 0
      live/include/alibabacloud/live/model/DescribeUidOnlineStreamsResult.h
  33. 2 0
      live/include/alibabacloud/live/model/ListLiveMessageAppsResult.h
  34. 60 0
      live/include/alibabacloud/live/model/QueryLiveDomainMultiStreamListRequest.h
  35. 81 0
      live/include/alibabacloud/live/model/QueryLiveDomainMultiStreamListResult.h
  36. 48 0
      live/include/alibabacloud/live/model/RestartLivePullToPushRequest.h
  37. 51 0
      live/include/alibabacloud/live/model/RestartLivePullToPushResult.h
  38. 2 0
      live/include/alibabacloud/live/model/SendLiveMessageGroupResult.h
  39. 15 9
      live/include/alibabacloud/live/model/SendLiveMessageUserRequest.h
  40. 2 0
      live/include/alibabacloud/live/model/SendLiveMessageUserResult.h
  41. 48 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigRequest.h
  42. 49 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigResult.h
  43. 54 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterRequest.h
  44. 49 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterResult.h
  45. 54 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeRequest.h
  46. 49 0
      live/include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeResult.h
  47. 9 0
      live/include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigRequest.h
  48. 127 0
      live/include/alibabacloud/live/model/StartRtcCloudRecordingRequest.h
  49. 51 0
      live/include/alibabacloud/live/model/StartRtcCloudRecordingResult.h
  50. 48 0
      live/include/alibabacloud/live/model/StopLivePullToPushRequest.h
  51. 51 0
      live/include/alibabacloud/live/model/StopLivePullToPushResult.h
  52. 42 0
      live/include/alibabacloud/live/model/StopRtcCloudRecordingRequest.h
  53. 51 0
      live/include/alibabacloud/live/model/StopRtcCloudRecordingResult.h
  54. 54 0
      live/include/alibabacloud/live/model/UnTagLiveResourcesRequest.h
  55. 49 0
      live/include/alibabacloud/live/model/UnTagLiveResourcesResult.h
  56. 69 0
      live/include/alibabacloud/live/model/UpdateLivePullToPushRequest.h
  57. 53 0
      live/include/alibabacloud/live/model/UpdateLivePullToPushResult.h
  58. 80 0
      live/include/alibabacloud/live/model/UpdateRtcCloudRecordingRequest.h
  59. 51 0
      live/include/alibabacloud/live/model/UpdateRtcCloudRecordingResult.h
  60. 731 11
      live/src/LiveClient.cc
  61. 18 0
      live/src/model/CreateLiveMessageAppRequest.cc
  62. 164 0
      live/src/model/CreateLivePullToPushRequest.cc
  63. 65 0
      live/src/model/CreateLivePullToPushResult.cc
  64. 81 0
      live/src/model/CreateRTCWhipStreamAddressRequest.cc
  65. 51 0
      live/src/model/CreateRTCWhipStreamAddressResult.cc
  66. 54 0
      live/src/model/DeleteLivePullToPushRequest.cc
  67. 58 0
      live/src/model/DeleteLivePullToPushResult.cc
  68. 10 0
      live/src/model/DescribeCasterConfigResult.cc
  69. 45 0
      live/src/model/DescribeLiveDomainMultiStreamConfigRequest.cc
  70. 51 0
      live/src/model/DescribeLiveDomainMultiStreamConfigResult.cc
  71. 14 0
      live/src/model/DescribeLiveMessageAppResult.cc
  72. 21 14
      live/src/model/DescribeLiveMessageGroupResult.cc
  73. 90 0
      live/src/model/DescribeLivePullToPushListRequest.cc
  74. 120 0
      live/src/model/DescribeLivePullToPushListResult.cc
  75. 54 0
      live/src/model/DescribeLivePullToPushRequest.cc
  76. 142 0
      live/src/model/DescribeLivePullToPushResult.cc
  77. 9 0
      live/src/model/DescribeLiveStreamTranscodeStreamNumRequest.cc
  78. 15 0
      live/src/model/DescribeLiveStreamTranscodeStreamNumResult.cc
  79. 9 0
      live/src/model/DescribeLiveStreamsNotifyUrlConfigRequest.cc
  80. 8 6
      live/src/model/DescribeLiveStreamsNotifyUrlConfigResult.cc
  81. 9 0
      live/src/model/DescribeLiveStreamsOnlineListRequest.cc
  82. 4 0
      live/src/model/DescribeLiveStreamsOnlineListResult.cc
  83. 6 0
      live/src/model/DescribeLiveStreamsPublishListResult.cc
  84. 81 0
      live/src/model/DescribeLiveUserTrafficLogRequest.cc
  85. 87 0
      live/src/model/DescribeLiveUserTrafficLogResult.cc
  86. 36 0
      live/src/model/DescribeRtcCloudRecordingFilesRequest.cc
  87. 64 0
      live/src/model/DescribeRtcCloudRecordingFilesResult.cc
  88. 54 0
      live/src/model/DescribeUidOnlineStreamsRequest.cc
  89. 68 0
      live/src/model/DescribeUidOnlineStreamsResult.cc
  90. 4 0
      live/src/model/ListLiveMessageAppsResult.cc
  91. 90 0
      live/src/model/QueryLiveDomainMultiStreamListRequest.cc
  92. 114 0
      live/src/model/QueryLiveDomainMultiStreamListResult.cc
  93. 54 0
      live/src/model/RestartLivePullToPushRequest.cc
  94. 51 0
      live/src/model/RestartLivePullToPushResult.cc
  95. 7 0
      live/src/model/SendLiveMessageGroupResult.cc
  96. 45 27
      live/src/model/SendLiveMessageUserRequest.cc
  97. 7 0
      live/src/model/SendLiveMessageUserResult.cc
  98. 54 0
      live/src/model/SetLiveDomainMultiStreamConfigRequest.cc
  99. 44 0
      live/src/model/SetLiveDomainMultiStreamConfigResult.cc
  100. 72 0
      live/src/model/SetLiveDomainMultiStreamMasterRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.2074
+1.36.2075

+ 80 - 0
live/CMakeLists.txt

@@ -133,6 +133,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CreateLiveMessageGroupResult.h
 	include/alibabacloud/live/model/CreateLivePrivateLineRequest.h
 	include/alibabacloud/live/model/CreateLivePrivateLineResult.h
+	include/alibabacloud/live/model/CreateLivePullToPushRequest.h
+	include/alibabacloud/live/model/CreateLivePullToPushResult.h
 	include/alibabacloud/live/model/CreateLiveRealTimeLogDeliveryRequest.h
 	include/alibabacloud/live/model/CreateLiveRealTimeLogDeliveryResult.h
 	include/alibabacloud/live/model/CreateLiveStreamMonitorRequest.h
@@ -145,6 +147,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CreateMessageGroupResult.h
 	include/alibabacloud/live/model/CreateMixStreamRequest.h
 	include/alibabacloud/live/model/CreateMixStreamResult.h
+	include/alibabacloud/live/model/CreateRTCWhipStreamAddressRequest.h
+	include/alibabacloud/live/model/CreateRTCWhipStreamAddressResult.h
 	include/alibabacloud/live/model/CreateRoomRealTimeStreamAddressRequest.h
 	include/alibabacloud/live/model/CreateRoomRealTimeStreamAddressResult.h
 	include/alibabacloud/live/model/CreateRtcAsrTaskRequest.h
@@ -217,6 +221,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLivePrivateLineResult.h
 	include/alibabacloud/live/model/DeleteLivePullStreamInfoConfigRequest.h
 	include/alibabacloud/live/model/DeleteLivePullStreamInfoConfigResult.h
+	include/alibabacloud/live/model/DeleteLivePullToPushRequest.h
+	include/alibabacloud/live/model/DeleteLivePullToPushResult.h
 	include/alibabacloud/live/model/DeleteLiveRealTimeLogLogstoreRequest.h
 	include/alibabacloud/live/model/DeleteLiveRealTimeLogLogstoreResult.h
 	include/alibabacloud/live/model/DeleteLiveRealtimeLogDeliveryRequest.h
@@ -351,6 +357,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveDomainMappingResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainMonitoringUsageDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainMonitoringUsageDataResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainOnlineUserNumRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainOnlineUserNumResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainPublishErrorCodeRequest.h
@@ -413,6 +421,10 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveProducerUsageDataResult.h
 	include/alibabacloud/live/model/DescribeLivePullStreamConfigRequest.h
 	include/alibabacloud/live/model/DescribeLivePullStreamConfigResult.h
+	include/alibabacloud/live/model/DescribeLivePullToPushRequest.h
+	include/alibabacloud/live/model/DescribeLivePullToPushResult.h
+	include/alibabacloud/live/model/DescribeLivePullToPushListRequest.h
+	include/alibabacloud/live/model/DescribeLivePullToPushListResult.h
 	include/alibabacloud/live/model/DescribeLivePushProxyLogRequest.h
 	include/alibabacloud/live/model/DescribeLivePushProxyLogResult.h
 	include/alibabacloud/live/model/DescribeLivePushProxyUsageDataRequest.h
@@ -505,6 +517,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveUserDomainsResult.h
 	include/alibabacloud/live/model/DescribeLiveUserTagsRequest.h
 	include/alibabacloud/live/model/DescribeLiveUserTagsResult.h
+	include/alibabacloud/live/model/DescribeLiveUserTrafficLogRequest.h
+	include/alibabacloud/live/model/DescribeLiveUserTrafficLogResult.h
 	include/alibabacloud/live/model/DescribeLiveVerifyContentRequest.h
 	include/alibabacloud/live/model/DescribeLiveVerifyContentResult.h
 	include/alibabacloud/live/model/DescribeMeterLiveBypassDurationRequest.h
@@ -521,6 +535,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeRTSNativeSDKPlayTimeResult.h
 	include/alibabacloud/live/model/DescribeRTSNativeSDKVvDataRequest.h
 	include/alibabacloud/live/model/DescribeRTSNativeSDKVvDataResult.h
+	include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesRequest.h
+	include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesResult.h
 	include/alibabacloud/live/model/DescribeRtcMPUEventSubRequest.h
 	include/alibabacloud/live/model/DescribeRtcMPUEventSubResult.h
 	include/alibabacloud/live/model/DescribeShowListRequest.h
@@ -533,6 +549,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeToutiaoLivePlayResult.h
 	include/alibabacloud/live/model/DescribeToutiaoLivePublishRequest.h
 	include/alibabacloud/live/model/DescribeToutiaoLivePublishResult.h
+	include/alibabacloud/live/model/DescribeUidOnlineStreamsRequest.h
+	include/alibabacloud/live/model/DescribeUidOnlineStreamsResult.h
 	include/alibabacloud/live/model/DescribeUpBpsPeakDataRequest.h
 	include/alibabacloud/live/model/DescribeUpBpsPeakDataResult.h
 	include/alibabacloud/live/model/DescribeUpBpsPeakOfLineRequest.h
@@ -677,6 +695,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/PlayChoosenShowResult.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionRequest.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionResult.h
+	include/alibabacloud/live/model/QueryLiveDomainMultiStreamListRequest.h
+	include/alibabacloud/live/model/QueryLiveDomainMultiStreamListResult.h
 	include/alibabacloud/live/model/QueryMessageAppRequest.h
 	include/alibabacloud/live/model/QueryMessageAppResult.h
 	include/alibabacloud/live/model/QueryRtcAsrTasksRequest.h
@@ -695,6 +715,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/RemoveTerminalsResult.h
 	include/alibabacloud/live/model/RestartCasterRequest.h
 	include/alibabacloud/live/model/RestartCasterResult.h
+	include/alibabacloud/live/model/RestartLivePullToPushRequest.h
+	include/alibabacloud/live/model/RestartLivePullToPushResult.h
 	include/alibabacloud/live/model/RestartTranscodeTaskRequest.h
 	include/alibabacloud/live/model/RestartTranscodeTaskResult.h
 	include/alibabacloud/live/model/ResumeLiveStreamRequest.h
@@ -719,6 +741,12 @@ set(live_public_header_model
 	include/alibabacloud/live/model/SetCasterSceneConfigResult.h
 	include/alibabacloud/live/model/SetLiveDomainCertificateRequest.h
 	include/alibabacloud/live/model/SetLiveDomainCertificateResult.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigRequest.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigResult.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterRequest.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterResult.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeRequest.h
+	include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeResult.h
 	include/alibabacloud/live/model/SetLiveDomainStagingConfigRequest.h
 	include/alibabacloud/live/model/SetLiveDomainStagingConfigResult.h
 	include/alibabacloud/live/model/SetLiveEdgeTransferRequest.h
@@ -753,6 +781,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/StartLiveStreamMonitorResult.h
 	include/alibabacloud/live/model/StartPlaylistRequest.h
 	include/alibabacloud/live/model/StartPlaylistResult.h
+	include/alibabacloud/live/model/StartRtcCloudRecordingRequest.h
+	include/alibabacloud/live/model/StartRtcCloudRecordingResult.h
 	include/alibabacloud/live/model/StopCasterRequest.h
 	include/alibabacloud/live/model/StopCasterResult.h
 	include/alibabacloud/live/model/StopCasterSceneRequest.h
@@ -763,14 +793,20 @@ set(live_public_header_model
 	include/alibabacloud/live/model/StopLiveDomainResult.h
 	include/alibabacloud/live/model/StopLiveMPUTaskRequest.h
 	include/alibabacloud/live/model/StopLiveMPUTaskResult.h
+	include/alibabacloud/live/model/StopLivePullToPushRequest.h
+	include/alibabacloud/live/model/StopLivePullToPushResult.h
 	include/alibabacloud/live/model/StopLiveStreamMonitorRequest.h
 	include/alibabacloud/live/model/StopLiveStreamMonitorResult.h
 	include/alibabacloud/live/model/StopPlaylistRequest.h
 	include/alibabacloud/live/model/StopPlaylistResult.h
 	include/alibabacloud/live/model/StopRtcAsrTaskRequest.h
 	include/alibabacloud/live/model/StopRtcAsrTaskResult.h
+	include/alibabacloud/live/model/StopRtcCloudRecordingRequest.h
+	include/alibabacloud/live/model/StopRtcCloudRecordingResult.h
 	include/alibabacloud/live/model/TagLiveResourcesRequest.h
 	include/alibabacloud/live/model/TagLiveResourcesResult.h
+	include/alibabacloud/live/model/UnTagLiveResourcesRequest.h
+	include/alibabacloud/live/model/UnTagLiveResourcesResult.h
 	include/alibabacloud/live/model/UnbanLiveMessageGroupRequest.h
 	include/alibabacloud/live/model/UnbanLiveMessageGroupResult.h
 	include/alibabacloud/live/model/UpdateCasterResourceGroupRequest.h
@@ -809,6 +845,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLivePackageConfigResult.h
 	include/alibabacloud/live/model/UpdateLivePullStreamInfoConfigRequest.h
 	include/alibabacloud/live/model/UpdateLivePullStreamInfoConfigResult.h
+	include/alibabacloud/live/model/UpdateLivePullToPushRequest.h
+	include/alibabacloud/live/model/UpdateLivePullToPushResult.h
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveRecordVodConfigRequest.h
@@ -831,6 +869,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateMessageGroupResult.h
 	include/alibabacloud/live/model/UpdateMixStreamRequest.h
 	include/alibabacloud/live/model/UpdateMixStreamResult.h
+	include/alibabacloud/live/model/UpdateRtcCloudRecordingRequest.h
+	include/alibabacloud/live/model/UpdateRtcCloudRecordingResult.h
 	include/alibabacloud/live/model/UpdateRtcMPUEventSubRequest.h
 	include/alibabacloud/live/model/UpdateRtcMPUEventSubResult.h
 	include/alibabacloud/live/model/UpdateRtsLiveStreamTranscodeRequest.h
@@ -952,6 +992,8 @@ set(live_src
 	src/model/CreateLiveMessageGroupResult.cc
 	src/model/CreateLivePrivateLineRequest.cc
 	src/model/CreateLivePrivateLineResult.cc
+	src/model/CreateLivePullToPushRequest.cc
+	src/model/CreateLivePullToPushResult.cc
 	src/model/CreateLiveRealTimeLogDeliveryRequest.cc
 	src/model/CreateLiveRealTimeLogDeliveryResult.cc
 	src/model/CreateLiveStreamMonitorRequest.cc
@@ -964,6 +1006,8 @@ set(live_src
 	src/model/CreateMessageGroupResult.cc
 	src/model/CreateMixStreamRequest.cc
 	src/model/CreateMixStreamResult.cc
+	src/model/CreateRTCWhipStreamAddressRequest.cc
+	src/model/CreateRTCWhipStreamAddressResult.cc
 	src/model/CreateRoomRealTimeStreamAddressRequest.cc
 	src/model/CreateRoomRealTimeStreamAddressResult.cc
 	src/model/CreateRtcAsrTaskRequest.cc
@@ -1036,6 +1080,8 @@ set(live_src
 	src/model/DeleteLivePrivateLineResult.cc
 	src/model/DeleteLivePullStreamInfoConfigRequest.cc
 	src/model/DeleteLivePullStreamInfoConfigResult.cc
+	src/model/DeleteLivePullToPushRequest.cc
+	src/model/DeleteLivePullToPushResult.cc
 	src/model/DeleteLiveRealTimeLogLogstoreRequest.cc
 	src/model/DeleteLiveRealTimeLogLogstoreResult.cc
 	src/model/DeleteLiveRealtimeLogDeliveryRequest.cc
@@ -1170,6 +1216,8 @@ set(live_src
 	src/model/DescribeLiveDomainMappingResult.cc
 	src/model/DescribeLiveDomainMonitoringUsageDataRequest.cc
 	src/model/DescribeLiveDomainMonitoringUsageDataResult.cc
+	src/model/DescribeLiveDomainMultiStreamConfigRequest.cc
+	src/model/DescribeLiveDomainMultiStreamConfigResult.cc
 	src/model/DescribeLiveDomainOnlineUserNumRequest.cc
 	src/model/DescribeLiveDomainOnlineUserNumResult.cc
 	src/model/DescribeLiveDomainPublishErrorCodeRequest.cc
@@ -1232,6 +1280,10 @@ set(live_src
 	src/model/DescribeLiveProducerUsageDataResult.cc
 	src/model/DescribeLivePullStreamConfigRequest.cc
 	src/model/DescribeLivePullStreamConfigResult.cc
+	src/model/DescribeLivePullToPushRequest.cc
+	src/model/DescribeLivePullToPushResult.cc
+	src/model/DescribeLivePullToPushListRequest.cc
+	src/model/DescribeLivePullToPushListResult.cc
 	src/model/DescribeLivePushProxyLogRequest.cc
 	src/model/DescribeLivePushProxyLogResult.cc
 	src/model/DescribeLivePushProxyUsageDataRequest.cc
@@ -1324,6 +1376,8 @@ set(live_src
 	src/model/DescribeLiveUserDomainsResult.cc
 	src/model/DescribeLiveUserTagsRequest.cc
 	src/model/DescribeLiveUserTagsResult.cc
+	src/model/DescribeLiveUserTrafficLogRequest.cc
+	src/model/DescribeLiveUserTrafficLogResult.cc
 	src/model/DescribeLiveVerifyContentRequest.cc
 	src/model/DescribeLiveVerifyContentResult.cc
 	src/model/DescribeMeterLiveBypassDurationRequest.cc
@@ -1340,6 +1394,8 @@ set(live_src
 	src/model/DescribeRTSNativeSDKPlayTimeResult.cc
 	src/model/DescribeRTSNativeSDKVvDataRequest.cc
 	src/model/DescribeRTSNativeSDKVvDataResult.cc
+	src/model/DescribeRtcCloudRecordingFilesRequest.cc
+	src/model/DescribeRtcCloudRecordingFilesResult.cc
 	src/model/DescribeRtcMPUEventSubRequest.cc
 	src/model/DescribeRtcMPUEventSubResult.cc
 	src/model/DescribeShowListRequest.cc
@@ -1352,6 +1408,8 @@ set(live_src
 	src/model/DescribeToutiaoLivePlayResult.cc
 	src/model/DescribeToutiaoLivePublishRequest.cc
 	src/model/DescribeToutiaoLivePublishResult.cc
+	src/model/DescribeUidOnlineStreamsRequest.cc
+	src/model/DescribeUidOnlineStreamsResult.cc
 	src/model/DescribeUpBpsPeakDataRequest.cc
 	src/model/DescribeUpBpsPeakDataResult.cc
 	src/model/DescribeUpBpsPeakOfLineRequest.cc
@@ -1496,6 +1554,8 @@ set(live_src
 	src/model/PlayChoosenShowResult.cc
 	src/model/PublishLiveStagingConfigToProductionRequest.cc
 	src/model/PublishLiveStagingConfigToProductionResult.cc
+	src/model/QueryLiveDomainMultiStreamListRequest.cc
+	src/model/QueryLiveDomainMultiStreamListResult.cc
 	src/model/QueryMessageAppRequest.cc
 	src/model/QueryMessageAppResult.cc
 	src/model/QueryRtcAsrTasksRequest.cc
@@ -1514,6 +1574,8 @@ set(live_src
 	src/model/RemoveTerminalsResult.cc
 	src/model/RestartCasterRequest.cc
 	src/model/RestartCasterResult.cc
+	src/model/RestartLivePullToPushRequest.cc
+	src/model/RestartLivePullToPushResult.cc
 	src/model/RestartTranscodeTaskRequest.cc
 	src/model/RestartTranscodeTaskResult.cc
 	src/model/ResumeLiveStreamRequest.cc
@@ -1538,6 +1600,12 @@ set(live_src
 	src/model/SetCasterSceneConfigResult.cc
 	src/model/SetLiveDomainCertificateRequest.cc
 	src/model/SetLiveDomainCertificateResult.cc
+	src/model/SetLiveDomainMultiStreamConfigRequest.cc
+	src/model/SetLiveDomainMultiStreamConfigResult.cc
+	src/model/SetLiveDomainMultiStreamMasterRequest.cc
+	src/model/SetLiveDomainMultiStreamMasterResult.cc
+	src/model/SetLiveDomainMultiStreamOptimalModeRequest.cc
+	src/model/SetLiveDomainMultiStreamOptimalModeResult.cc
 	src/model/SetLiveDomainStagingConfigRequest.cc
 	src/model/SetLiveDomainStagingConfigResult.cc
 	src/model/SetLiveEdgeTransferRequest.cc
@@ -1572,6 +1640,8 @@ set(live_src
 	src/model/StartLiveStreamMonitorResult.cc
 	src/model/StartPlaylistRequest.cc
 	src/model/StartPlaylistResult.cc
+	src/model/StartRtcCloudRecordingRequest.cc
+	src/model/StartRtcCloudRecordingResult.cc
 	src/model/StopCasterRequest.cc
 	src/model/StopCasterResult.cc
 	src/model/StopCasterSceneRequest.cc
@@ -1582,14 +1652,20 @@ set(live_src
 	src/model/StopLiveDomainResult.cc
 	src/model/StopLiveMPUTaskRequest.cc
 	src/model/StopLiveMPUTaskResult.cc
+	src/model/StopLivePullToPushRequest.cc
+	src/model/StopLivePullToPushResult.cc
 	src/model/StopLiveStreamMonitorRequest.cc
 	src/model/StopLiveStreamMonitorResult.cc
 	src/model/StopPlaylistRequest.cc
 	src/model/StopPlaylistResult.cc
 	src/model/StopRtcAsrTaskRequest.cc
 	src/model/StopRtcAsrTaskResult.cc
+	src/model/StopRtcCloudRecordingRequest.cc
+	src/model/StopRtcCloudRecordingResult.cc
 	src/model/TagLiveResourcesRequest.cc
 	src/model/TagLiveResourcesResult.cc
+	src/model/UnTagLiveResourcesRequest.cc
+	src/model/UnTagLiveResourcesResult.cc
 	src/model/UnbanLiveMessageGroupRequest.cc
 	src/model/UnbanLiveMessageGroupResult.cc
 	src/model/UpdateCasterResourceGroupRequest.cc
@@ -1628,6 +1704,8 @@ set(live_src
 	src/model/UpdateLivePackageConfigResult.cc
 	src/model/UpdateLivePullStreamInfoConfigRequest.cc
 	src/model/UpdateLivePullStreamInfoConfigResult.cc
+	src/model/UpdateLivePullToPushRequest.cc
+	src/model/UpdateLivePullToPushResult.cc
 	src/model/UpdateLiveRecordNotifyConfigRequest.cc
 	src/model/UpdateLiveRecordNotifyConfigResult.cc
 	src/model/UpdateLiveRecordVodConfigRequest.cc
@@ -1650,6 +1728,8 @@ set(live_src
 	src/model/UpdateMessageGroupResult.cc
 	src/model/UpdateMixStreamRequest.cc
 	src/model/UpdateMixStreamResult.cc
+	src/model/UpdateRtcCloudRecordingRequest.cc
+	src/model/UpdateRtcCloudRecordingResult.cc
 	src/model/UpdateRtcMPUEventSubRequest.cc
 	src/model/UpdateRtcMPUEventSubResult.cc
 	src/model/UpdateRtsLiveStreamTranscodeRequest.cc

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

@@ -134,6 +134,8 @@
 #include "model/CreateLiveMessageGroupResult.h"
 #include "model/CreateLivePrivateLineRequest.h"
 #include "model/CreateLivePrivateLineResult.h"
+#include "model/CreateLivePullToPushRequest.h"
+#include "model/CreateLivePullToPushResult.h"
 #include "model/CreateLiveRealTimeLogDeliveryRequest.h"
 #include "model/CreateLiveRealTimeLogDeliveryResult.h"
 #include "model/CreateLiveStreamMonitorRequest.h"
@@ -146,6 +148,8 @@
 #include "model/CreateMessageGroupResult.h"
 #include "model/CreateMixStreamRequest.h"
 #include "model/CreateMixStreamResult.h"
+#include "model/CreateRTCWhipStreamAddressRequest.h"
+#include "model/CreateRTCWhipStreamAddressResult.h"
 #include "model/CreateRoomRealTimeStreamAddressRequest.h"
 #include "model/CreateRoomRealTimeStreamAddressResult.h"
 #include "model/CreateRtcAsrTaskRequest.h"
@@ -218,6 +222,8 @@
 #include "model/DeleteLivePrivateLineResult.h"
 #include "model/DeleteLivePullStreamInfoConfigRequest.h"
 #include "model/DeleteLivePullStreamInfoConfigResult.h"
+#include "model/DeleteLivePullToPushRequest.h"
+#include "model/DeleteLivePullToPushResult.h"
 #include "model/DeleteLiveRealTimeLogLogstoreRequest.h"
 #include "model/DeleteLiveRealTimeLogLogstoreResult.h"
 #include "model/DeleteLiveRealtimeLogDeliveryRequest.h"
@@ -352,6 +358,8 @@
 #include "model/DescribeLiveDomainMappingResult.h"
 #include "model/DescribeLiveDomainMonitoringUsageDataRequest.h"
 #include "model/DescribeLiveDomainMonitoringUsageDataResult.h"
+#include "model/DescribeLiveDomainMultiStreamConfigRequest.h"
+#include "model/DescribeLiveDomainMultiStreamConfigResult.h"
 #include "model/DescribeLiveDomainOnlineUserNumRequest.h"
 #include "model/DescribeLiveDomainOnlineUserNumResult.h"
 #include "model/DescribeLiveDomainPublishErrorCodeRequest.h"
@@ -414,6 +422,10 @@
 #include "model/DescribeLiveProducerUsageDataResult.h"
 #include "model/DescribeLivePullStreamConfigRequest.h"
 #include "model/DescribeLivePullStreamConfigResult.h"
+#include "model/DescribeLivePullToPushRequest.h"
+#include "model/DescribeLivePullToPushResult.h"
+#include "model/DescribeLivePullToPushListRequest.h"
+#include "model/DescribeLivePullToPushListResult.h"
 #include "model/DescribeLivePushProxyLogRequest.h"
 #include "model/DescribeLivePushProxyLogResult.h"
 #include "model/DescribeLivePushProxyUsageDataRequest.h"
@@ -506,6 +518,8 @@
 #include "model/DescribeLiveUserDomainsResult.h"
 #include "model/DescribeLiveUserTagsRequest.h"
 #include "model/DescribeLiveUserTagsResult.h"
+#include "model/DescribeLiveUserTrafficLogRequest.h"
+#include "model/DescribeLiveUserTrafficLogResult.h"
 #include "model/DescribeLiveVerifyContentRequest.h"
 #include "model/DescribeLiveVerifyContentResult.h"
 #include "model/DescribeMeterLiveBypassDurationRequest.h"
@@ -522,6 +536,8 @@
 #include "model/DescribeRTSNativeSDKPlayTimeResult.h"
 #include "model/DescribeRTSNativeSDKVvDataRequest.h"
 #include "model/DescribeRTSNativeSDKVvDataResult.h"
+#include "model/DescribeRtcCloudRecordingFilesRequest.h"
+#include "model/DescribeRtcCloudRecordingFilesResult.h"
 #include "model/DescribeRtcMPUEventSubRequest.h"
 #include "model/DescribeRtcMPUEventSubResult.h"
 #include "model/DescribeShowListRequest.h"
@@ -534,6 +550,8 @@
 #include "model/DescribeToutiaoLivePlayResult.h"
 #include "model/DescribeToutiaoLivePublishRequest.h"
 #include "model/DescribeToutiaoLivePublishResult.h"
+#include "model/DescribeUidOnlineStreamsRequest.h"
+#include "model/DescribeUidOnlineStreamsResult.h"
 #include "model/DescribeUpBpsPeakDataRequest.h"
 #include "model/DescribeUpBpsPeakDataResult.h"
 #include "model/DescribeUpBpsPeakOfLineRequest.h"
@@ -678,6 +696,8 @@
 #include "model/PlayChoosenShowResult.h"
 #include "model/PublishLiveStagingConfigToProductionRequest.h"
 #include "model/PublishLiveStagingConfigToProductionResult.h"
+#include "model/QueryLiveDomainMultiStreamListRequest.h"
+#include "model/QueryLiveDomainMultiStreamListResult.h"
 #include "model/QueryMessageAppRequest.h"
 #include "model/QueryMessageAppResult.h"
 #include "model/QueryRtcAsrTasksRequest.h"
@@ -696,6 +716,8 @@
 #include "model/RemoveTerminalsResult.h"
 #include "model/RestartCasterRequest.h"
 #include "model/RestartCasterResult.h"
+#include "model/RestartLivePullToPushRequest.h"
+#include "model/RestartLivePullToPushResult.h"
 #include "model/RestartTranscodeTaskRequest.h"
 #include "model/RestartTranscodeTaskResult.h"
 #include "model/ResumeLiveStreamRequest.h"
@@ -720,6 +742,12 @@
 #include "model/SetCasterSceneConfigResult.h"
 #include "model/SetLiveDomainCertificateRequest.h"
 #include "model/SetLiveDomainCertificateResult.h"
+#include "model/SetLiveDomainMultiStreamConfigRequest.h"
+#include "model/SetLiveDomainMultiStreamConfigResult.h"
+#include "model/SetLiveDomainMultiStreamMasterRequest.h"
+#include "model/SetLiveDomainMultiStreamMasterResult.h"
+#include "model/SetLiveDomainMultiStreamOptimalModeRequest.h"
+#include "model/SetLiveDomainMultiStreamOptimalModeResult.h"
 #include "model/SetLiveDomainStagingConfigRequest.h"
 #include "model/SetLiveDomainStagingConfigResult.h"
 #include "model/SetLiveEdgeTransferRequest.h"
@@ -754,6 +782,8 @@
 #include "model/StartLiveStreamMonitorResult.h"
 #include "model/StartPlaylistRequest.h"
 #include "model/StartPlaylistResult.h"
+#include "model/StartRtcCloudRecordingRequest.h"
+#include "model/StartRtcCloudRecordingResult.h"
 #include "model/StopCasterRequest.h"
 #include "model/StopCasterResult.h"
 #include "model/StopCasterSceneRequest.h"
@@ -764,14 +794,20 @@
 #include "model/StopLiveDomainResult.h"
 #include "model/StopLiveMPUTaskRequest.h"
 #include "model/StopLiveMPUTaskResult.h"
+#include "model/StopLivePullToPushRequest.h"
+#include "model/StopLivePullToPushResult.h"
 #include "model/StopLiveStreamMonitorRequest.h"
 #include "model/StopLiveStreamMonitorResult.h"
 #include "model/StopPlaylistRequest.h"
 #include "model/StopPlaylistResult.h"
 #include "model/StopRtcAsrTaskRequest.h"
 #include "model/StopRtcAsrTaskResult.h"
+#include "model/StopRtcCloudRecordingRequest.h"
+#include "model/StopRtcCloudRecordingResult.h"
 #include "model/TagLiveResourcesRequest.h"
 #include "model/TagLiveResourcesResult.h"
+#include "model/UnTagLiveResourcesRequest.h"
+#include "model/UnTagLiveResourcesResult.h"
 #include "model/UnbanLiveMessageGroupRequest.h"
 #include "model/UnbanLiveMessageGroupResult.h"
 #include "model/UpdateCasterResourceGroupRequest.h"
@@ -810,6 +846,8 @@
 #include "model/UpdateLivePackageConfigResult.h"
 #include "model/UpdateLivePullStreamInfoConfigRequest.h"
 #include "model/UpdateLivePullStreamInfoConfigResult.h"
+#include "model/UpdateLivePullToPushRequest.h"
+#include "model/UpdateLivePullToPushResult.h"
 #include "model/UpdateLiveRecordNotifyConfigRequest.h"
 #include "model/UpdateLiveRecordNotifyConfigResult.h"
 #include "model/UpdateLiveRecordVodConfigRequest.h"
@@ -832,6 +870,8 @@
 #include "model/UpdateMessageGroupResult.h"
 #include "model/UpdateMixStreamRequest.h"
 #include "model/UpdateMixStreamResult.h"
+#include "model/UpdateRtcCloudRecordingRequest.h"
+#include "model/UpdateRtcCloudRecordingResult.h"
 #include "model/UpdateRtcMPUEventSubRequest.h"
 #include "model/UpdateRtcMPUEventSubResult.h"
 #include "model/UpdateRtsLiveStreamTranscodeRequest.h"
@@ -1015,6 +1055,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateLivePrivateLineResult> CreateLivePrivateLineOutcome;
 			typedef std::future<CreateLivePrivateLineOutcome> CreateLivePrivateLineOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLivePrivateLineRequest&, const CreateLivePrivateLineOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLivePrivateLineAsyncHandler;
+			typedef Outcome<Error, Model::CreateLivePullToPushResult> CreateLivePullToPushOutcome;
+			typedef std::future<CreateLivePullToPushOutcome> CreateLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::CreateLivePullToPushRequest&, const CreateLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLivePullToPushAsyncHandler;
 			typedef Outcome<Error, Model::CreateLiveRealTimeLogDeliveryResult> CreateLiveRealTimeLogDeliveryOutcome;
 			typedef std::future<CreateLiveRealTimeLogDeliveryOutcome> CreateLiveRealTimeLogDeliveryOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveRealTimeLogDeliveryRequest&, const CreateLiveRealTimeLogDeliveryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveRealTimeLogDeliveryAsyncHandler;
@@ -1033,6 +1076,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateMixStreamResult> CreateMixStreamOutcome;
 			typedef std::future<CreateMixStreamOutcome> CreateMixStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateMixStreamRequest&, const CreateMixStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMixStreamAsyncHandler;
+			typedef Outcome<Error, Model::CreateRTCWhipStreamAddressResult> CreateRTCWhipStreamAddressOutcome;
+			typedef std::future<CreateRTCWhipStreamAddressOutcome> CreateRTCWhipStreamAddressOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::CreateRTCWhipStreamAddressRequest&, const CreateRTCWhipStreamAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRTCWhipStreamAddressAsyncHandler;
 			typedef Outcome<Error, Model::CreateRoomRealTimeStreamAddressResult> CreateRoomRealTimeStreamAddressOutcome;
 			typedef std::future<CreateRoomRealTimeStreamAddressOutcome> CreateRoomRealTimeStreamAddressOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateRoomRealTimeStreamAddressRequest&, const CreateRoomRealTimeStreamAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRoomRealTimeStreamAddressAsyncHandler;
@@ -1141,6 +1187,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLivePullStreamInfoConfigResult> DeleteLivePullStreamInfoConfigOutcome;
 			typedef std::future<DeleteLivePullStreamInfoConfigOutcome> DeleteLivePullStreamInfoConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLivePullStreamInfoConfigRequest&, const DeleteLivePullStreamInfoConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLivePullStreamInfoConfigAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLivePullToPushResult> DeleteLivePullToPushOutcome;
+			typedef std::future<DeleteLivePullToPushOutcome> DeleteLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLivePullToPushRequest&, const DeleteLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLivePullToPushAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveRealTimeLogLogstoreResult> DeleteLiveRealTimeLogLogstoreOutcome;
 			typedef std::future<DeleteLiveRealTimeLogLogstoreOutcome> DeleteLiveRealTimeLogLogstoreOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveRealTimeLogLogstoreRequest&, const DeleteLiveRealTimeLogLogstoreOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveRealTimeLogLogstoreAsyncHandler;
@@ -1342,6 +1391,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveDomainMonitoringUsageDataResult> DescribeLiveDomainMonitoringUsageDataOutcome;
 			typedef std::future<DescribeLiveDomainMonitoringUsageDataOutcome> DescribeLiveDomainMonitoringUsageDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainMonitoringUsageDataRequest&, const DescribeLiveDomainMonitoringUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainMonitoringUsageDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainMultiStreamConfigResult> DescribeLiveDomainMultiStreamConfigOutcome;
+			typedef std::future<DescribeLiveDomainMultiStreamConfigOutcome> DescribeLiveDomainMultiStreamConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainMultiStreamConfigRequest&, const DescribeLiveDomainMultiStreamConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainMultiStreamConfigAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveDomainOnlineUserNumResult> DescribeLiveDomainOnlineUserNumOutcome;
 			typedef std::future<DescribeLiveDomainOnlineUserNumOutcome> DescribeLiveDomainOnlineUserNumOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainOnlineUserNumRequest&, const DescribeLiveDomainOnlineUserNumOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainOnlineUserNumAsyncHandler;
@@ -1435,6 +1487,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLivePullStreamConfigResult> DescribeLivePullStreamConfigOutcome;
 			typedef std::future<DescribeLivePullStreamConfigOutcome> DescribeLivePullStreamConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLivePullStreamConfigRequest&, const DescribeLivePullStreamConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLivePullStreamConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLivePullToPushResult> DescribeLivePullToPushOutcome;
+			typedef std::future<DescribeLivePullToPushOutcome> DescribeLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLivePullToPushRequest&, const DescribeLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLivePullToPushAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLivePullToPushListResult> DescribeLivePullToPushListOutcome;
+			typedef std::future<DescribeLivePullToPushListOutcome> DescribeLivePullToPushListOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLivePullToPushListRequest&, const DescribeLivePullToPushListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLivePullToPushListAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLivePushProxyLogResult> DescribeLivePushProxyLogOutcome;
 			typedef std::future<DescribeLivePushProxyLogOutcome> DescribeLivePushProxyLogOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLivePushProxyLogRequest&, const DescribeLivePushProxyLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLivePushProxyLogAsyncHandler;
@@ -1573,6 +1631,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveUserTagsResult> DescribeLiveUserTagsOutcome;
 			typedef std::future<DescribeLiveUserTagsOutcome> DescribeLiveUserTagsOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveUserTagsRequest&, const DescribeLiveUserTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveUserTagsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveUserTrafficLogResult> DescribeLiveUserTrafficLogOutcome;
+			typedef std::future<DescribeLiveUserTrafficLogOutcome> DescribeLiveUserTrafficLogOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveUserTrafficLogRequest&, const DescribeLiveUserTrafficLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveUserTrafficLogAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveVerifyContentResult> DescribeLiveVerifyContentOutcome;
 			typedef std::future<DescribeLiveVerifyContentOutcome> DescribeLiveVerifyContentOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveVerifyContentRequest&, const DescribeLiveVerifyContentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveVerifyContentAsyncHandler;
@@ -1597,6 +1658,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeRTSNativeSDKVvDataResult> DescribeRTSNativeSDKVvDataOutcome;
 			typedef std::future<DescribeRTSNativeSDKVvDataOutcome> DescribeRTSNativeSDKVvDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeRTSNativeSDKVvDataRequest&, const DescribeRTSNativeSDKVvDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRTSNativeSDKVvDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRtcCloudRecordingFilesResult> DescribeRtcCloudRecordingFilesOutcome;
+			typedef std::future<DescribeRtcCloudRecordingFilesOutcome> DescribeRtcCloudRecordingFilesOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeRtcCloudRecordingFilesRequest&, const DescribeRtcCloudRecordingFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRtcCloudRecordingFilesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeRtcMPUEventSubResult> DescribeRtcMPUEventSubOutcome;
 			typedef std::future<DescribeRtcMPUEventSubOutcome> DescribeRtcMPUEventSubOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeRtcMPUEventSubRequest&, const DescribeRtcMPUEventSubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRtcMPUEventSubAsyncHandler;
@@ -1615,6 +1679,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeToutiaoLivePublishResult> DescribeToutiaoLivePublishOutcome;
 			typedef std::future<DescribeToutiaoLivePublishOutcome> DescribeToutiaoLivePublishOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeToutiaoLivePublishRequest&, const DescribeToutiaoLivePublishOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeToutiaoLivePublishAsyncHandler;
+			typedef Outcome<Error, Model::DescribeUidOnlineStreamsResult> DescribeUidOnlineStreamsOutcome;
+			typedef std::future<DescribeUidOnlineStreamsOutcome> DescribeUidOnlineStreamsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeUidOnlineStreamsRequest&, const DescribeUidOnlineStreamsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUidOnlineStreamsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeUpBpsPeakDataResult> DescribeUpBpsPeakDataOutcome;
 			typedef std::future<DescribeUpBpsPeakDataOutcome> DescribeUpBpsPeakDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeUpBpsPeakDataRequest&, const DescribeUpBpsPeakDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUpBpsPeakDataAsyncHandler;
@@ -1831,6 +1898,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::PublishLiveStagingConfigToProductionResult> PublishLiveStagingConfigToProductionOutcome;
 			typedef std::future<PublishLiveStagingConfigToProductionOutcome> PublishLiveStagingConfigToProductionOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::PublishLiveStagingConfigToProductionRequest&, const PublishLiveStagingConfigToProductionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PublishLiveStagingConfigToProductionAsyncHandler;
+			typedef Outcome<Error, Model::QueryLiveDomainMultiStreamListResult> QueryLiveDomainMultiStreamListOutcome;
+			typedef std::future<QueryLiveDomainMultiStreamListOutcome> QueryLiveDomainMultiStreamListOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::QueryLiveDomainMultiStreamListRequest&, const QueryLiveDomainMultiStreamListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLiveDomainMultiStreamListAsyncHandler;
 			typedef Outcome<Error, Model::QueryMessageAppResult> QueryMessageAppOutcome;
 			typedef std::future<QueryMessageAppOutcome> QueryMessageAppOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::QueryMessageAppRequest&, const QueryMessageAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryMessageAppAsyncHandler;
@@ -1858,6 +1928,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RestartCasterResult> RestartCasterOutcome;
 			typedef std::future<RestartCasterOutcome> RestartCasterOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RestartCasterRequest&, const RestartCasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RestartCasterAsyncHandler;
+			typedef Outcome<Error, Model::RestartLivePullToPushResult> RestartLivePullToPushOutcome;
+			typedef std::future<RestartLivePullToPushOutcome> RestartLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::RestartLivePullToPushRequest&, const RestartLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RestartLivePullToPushAsyncHandler;
 			typedef Outcome<Error, Model::RestartTranscodeTaskResult> RestartTranscodeTaskOutcome;
 			typedef std::future<RestartTranscodeTaskOutcome> RestartTranscodeTaskOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RestartTranscodeTaskRequest&, const RestartTranscodeTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RestartTranscodeTaskAsyncHandler;
@@ -1894,6 +1967,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetLiveDomainCertificateResult> SetLiveDomainCertificateOutcome;
 			typedef std::future<SetLiveDomainCertificateOutcome> SetLiveDomainCertificateOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainCertificateRequest&, const SetLiveDomainCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainCertificateAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveDomainMultiStreamConfigResult> SetLiveDomainMultiStreamConfigOutcome;
+			typedef std::future<SetLiveDomainMultiStreamConfigOutcome> SetLiveDomainMultiStreamConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainMultiStreamConfigRequest&, const SetLiveDomainMultiStreamConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainMultiStreamConfigAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveDomainMultiStreamMasterResult> SetLiveDomainMultiStreamMasterOutcome;
+			typedef std::future<SetLiveDomainMultiStreamMasterOutcome> SetLiveDomainMultiStreamMasterOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainMultiStreamMasterRequest&, const SetLiveDomainMultiStreamMasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainMultiStreamMasterAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveDomainMultiStreamOptimalModeResult> SetLiveDomainMultiStreamOptimalModeOutcome;
+			typedef std::future<SetLiveDomainMultiStreamOptimalModeOutcome> SetLiveDomainMultiStreamOptimalModeOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainMultiStreamOptimalModeRequest&, const SetLiveDomainMultiStreamOptimalModeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainMultiStreamOptimalModeAsyncHandler;
 			typedef Outcome<Error, Model::SetLiveDomainStagingConfigResult> SetLiveDomainStagingConfigOutcome;
 			typedef std::future<SetLiveDomainStagingConfigOutcome> SetLiveDomainStagingConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainStagingConfigRequest&, const SetLiveDomainStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainStagingConfigAsyncHandler;
@@ -1945,6 +2027,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StartPlaylistResult> StartPlaylistOutcome;
 			typedef std::future<StartPlaylistOutcome> StartPlaylistOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StartPlaylistRequest&, const StartPlaylistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartPlaylistAsyncHandler;
+			typedef Outcome<Error, Model::StartRtcCloudRecordingResult> StartRtcCloudRecordingOutcome;
+			typedef std::future<StartRtcCloudRecordingOutcome> StartRtcCloudRecordingOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::StartRtcCloudRecordingRequest&, const StartRtcCloudRecordingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRtcCloudRecordingAsyncHandler;
 			typedef Outcome<Error, Model::StopCasterResult> StopCasterOutcome;
 			typedef std::future<StopCasterOutcome> StopCasterOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StopCasterRequest&, const StopCasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopCasterAsyncHandler;
@@ -1960,6 +2045,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StopLiveMPUTaskResult> StopLiveMPUTaskOutcome;
 			typedef std::future<StopLiveMPUTaskOutcome> StopLiveMPUTaskOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StopLiveMPUTaskRequest&, const StopLiveMPUTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopLiveMPUTaskAsyncHandler;
+			typedef Outcome<Error, Model::StopLivePullToPushResult> StopLivePullToPushOutcome;
+			typedef std::future<StopLivePullToPushOutcome> StopLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::StopLivePullToPushRequest&, const StopLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopLivePullToPushAsyncHandler;
 			typedef Outcome<Error, Model::StopLiveStreamMonitorResult> StopLiveStreamMonitorOutcome;
 			typedef std::future<StopLiveStreamMonitorOutcome> StopLiveStreamMonitorOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StopLiveStreamMonitorRequest&, const StopLiveStreamMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopLiveStreamMonitorAsyncHandler;
@@ -1969,9 +2057,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StopRtcAsrTaskResult> StopRtcAsrTaskOutcome;
 			typedef std::future<StopRtcAsrTaskOutcome> StopRtcAsrTaskOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StopRtcAsrTaskRequest&, const StopRtcAsrTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopRtcAsrTaskAsyncHandler;
+			typedef Outcome<Error, Model::StopRtcCloudRecordingResult> StopRtcCloudRecordingOutcome;
+			typedef std::future<StopRtcCloudRecordingOutcome> StopRtcCloudRecordingOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::StopRtcCloudRecordingRequest&, const StopRtcCloudRecordingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopRtcCloudRecordingAsyncHandler;
 			typedef Outcome<Error, Model::TagLiveResourcesResult> TagLiveResourcesOutcome;
 			typedef std::future<TagLiveResourcesOutcome> TagLiveResourcesOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::TagLiveResourcesRequest&, const TagLiveResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagLiveResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UnTagLiveResourcesResult> UnTagLiveResourcesOutcome;
+			typedef std::future<UnTagLiveResourcesOutcome> UnTagLiveResourcesOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UnTagLiveResourcesRequest&, const UnTagLiveResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnTagLiveResourcesAsyncHandler;
 			typedef Outcome<Error, Model::UnbanLiveMessageGroupResult> UnbanLiveMessageGroupOutcome;
 			typedef std::future<UnbanLiveMessageGroupOutcome> UnbanLiveMessageGroupOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UnbanLiveMessageGroupRequest&, const UnbanLiveMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbanLiveMessageGroupAsyncHandler;
@@ -2029,6 +2123,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateLivePullStreamInfoConfigResult> UpdateLivePullStreamInfoConfigOutcome;
 			typedef std::future<UpdateLivePullStreamInfoConfigOutcome> UpdateLivePullStreamInfoConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLivePullStreamInfoConfigRequest&, const UpdateLivePullStreamInfoConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLivePullStreamInfoConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateLivePullToPushResult> UpdateLivePullToPushOutcome;
+			typedef std::future<UpdateLivePullToPushOutcome> UpdateLivePullToPushOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateLivePullToPushRequest&, const UpdateLivePullToPushOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLivePullToPushAsyncHandler;
 			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;
@@ -2062,6 +2159,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateMixStreamResult> UpdateMixStreamOutcome;
 			typedef std::future<UpdateMixStreamOutcome> UpdateMixStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateMixStreamRequest&, const UpdateMixStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMixStreamAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRtcCloudRecordingResult> UpdateRtcCloudRecordingOutcome;
+			typedef std::future<UpdateRtcCloudRecordingOutcome> UpdateRtcCloudRecordingOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateRtcCloudRecordingRequest&, const UpdateRtcCloudRecordingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRtcCloudRecordingAsyncHandler;
 			typedef Outcome<Error, Model::UpdateRtcMPUEventSubResult> UpdateRtcMPUEventSubOutcome;
 			typedef std::future<UpdateRtcMPUEventSubOutcome> UpdateRtcMPUEventSubOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateRtcMPUEventSubRequest&, const UpdateRtcMPUEventSubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRtcMPUEventSubAsyncHandler;
@@ -2244,6 +2344,9 @@ namespace AlibabaCloud
 			CreateLivePrivateLineOutcome createLivePrivateLine(const Model::CreateLivePrivateLineRequest &request)const;
 			void createLivePrivateLineAsync(const Model::CreateLivePrivateLineRequest& request, const CreateLivePrivateLineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLivePrivateLineOutcomeCallable createLivePrivateLineCallable(const Model::CreateLivePrivateLineRequest& request) const;
+			CreateLivePullToPushOutcome createLivePullToPush(const Model::CreateLivePullToPushRequest &request)const;
+			void createLivePullToPushAsync(const Model::CreateLivePullToPushRequest& request, const CreateLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLivePullToPushOutcomeCallable createLivePullToPushCallable(const Model::CreateLivePullToPushRequest& request) const;
 			CreateLiveRealTimeLogDeliveryOutcome createLiveRealTimeLogDelivery(const Model::CreateLiveRealTimeLogDeliveryRequest &request)const;
 			void createLiveRealTimeLogDeliveryAsync(const Model::CreateLiveRealTimeLogDeliveryRequest& request, const CreateLiveRealTimeLogDeliveryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLiveRealTimeLogDeliveryOutcomeCallable createLiveRealTimeLogDeliveryCallable(const Model::CreateLiveRealTimeLogDeliveryRequest& request) const;
@@ -2262,6 +2365,9 @@ namespace AlibabaCloud
 			CreateMixStreamOutcome createMixStream(const Model::CreateMixStreamRequest &request)const;
 			void createMixStreamAsync(const Model::CreateMixStreamRequest& request, const CreateMixStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateMixStreamOutcomeCallable createMixStreamCallable(const Model::CreateMixStreamRequest& request) const;
+			CreateRTCWhipStreamAddressOutcome createRTCWhipStreamAddress(const Model::CreateRTCWhipStreamAddressRequest &request)const;
+			void createRTCWhipStreamAddressAsync(const Model::CreateRTCWhipStreamAddressRequest& request, const CreateRTCWhipStreamAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRTCWhipStreamAddressOutcomeCallable createRTCWhipStreamAddressCallable(const Model::CreateRTCWhipStreamAddressRequest& request) const;
 			CreateRoomRealTimeStreamAddressOutcome createRoomRealTimeStreamAddress(const Model::CreateRoomRealTimeStreamAddressRequest &request)const;
 			void createRoomRealTimeStreamAddressAsync(const Model::CreateRoomRealTimeStreamAddressRequest& request, const CreateRoomRealTimeStreamAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRoomRealTimeStreamAddressOutcomeCallable createRoomRealTimeStreamAddressCallable(const Model::CreateRoomRealTimeStreamAddressRequest& request) const;
@@ -2370,6 +2476,9 @@ namespace AlibabaCloud
 			DeleteLivePullStreamInfoConfigOutcome deleteLivePullStreamInfoConfig(const Model::DeleteLivePullStreamInfoConfigRequest &request)const;
 			void deleteLivePullStreamInfoConfigAsync(const Model::DeleteLivePullStreamInfoConfigRequest& request, const DeleteLivePullStreamInfoConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLivePullStreamInfoConfigOutcomeCallable deleteLivePullStreamInfoConfigCallable(const Model::DeleteLivePullStreamInfoConfigRequest& request) const;
+			DeleteLivePullToPushOutcome deleteLivePullToPush(const Model::DeleteLivePullToPushRequest &request)const;
+			void deleteLivePullToPushAsync(const Model::DeleteLivePullToPushRequest& request, const DeleteLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLivePullToPushOutcomeCallable deleteLivePullToPushCallable(const Model::DeleteLivePullToPushRequest& request) const;
 			DeleteLiveRealTimeLogLogstoreOutcome deleteLiveRealTimeLogLogstore(const Model::DeleteLiveRealTimeLogLogstoreRequest &request)const;
 			void deleteLiveRealTimeLogLogstoreAsync(const Model::DeleteLiveRealTimeLogLogstoreRequest& request, const DeleteLiveRealTimeLogLogstoreAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveRealTimeLogLogstoreOutcomeCallable deleteLiveRealTimeLogLogstoreCallable(const Model::DeleteLiveRealTimeLogLogstoreRequest& request) const;
@@ -2571,6 +2680,9 @@ namespace AlibabaCloud
 			DescribeLiveDomainMonitoringUsageDataOutcome describeLiveDomainMonitoringUsageData(const Model::DescribeLiveDomainMonitoringUsageDataRequest &request)const;
 			void describeLiveDomainMonitoringUsageDataAsync(const Model::DescribeLiveDomainMonitoringUsageDataRequest& request, const DescribeLiveDomainMonitoringUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainMonitoringUsageDataOutcomeCallable describeLiveDomainMonitoringUsageDataCallable(const Model::DescribeLiveDomainMonitoringUsageDataRequest& request) const;
+			DescribeLiveDomainMultiStreamConfigOutcome describeLiveDomainMultiStreamConfig(const Model::DescribeLiveDomainMultiStreamConfigRequest &request)const;
+			void describeLiveDomainMultiStreamConfigAsync(const Model::DescribeLiveDomainMultiStreamConfigRequest& request, const DescribeLiveDomainMultiStreamConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainMultiStreamConfigOutcomeCallable describeLiveDomainMultiStreamConfigCallable(const Model::DescribeLiveDomainMultiStreamConfigRequest& request) const;
 			DescribeLiveDomainOnlineUserNumOutcome describeLiveDomainOnlineUserNum(const Model::DescribeLiveDomainOnlineUserNumRequest &request)const;
 			void describeLiveDomainOnlineUserNumAsync(const Model::DescribeLiveDomainOnlineUserNumRequest& request, const DescribeLiveDomainOnlineUserNumAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainOnlineUserNumOutcomeCallable describeLiveDomainOnlineUserNumCallable(const Model::DescribeLiveDomainOnlineUserNumRequest& request) const;
@@ -2664,6 +2776,12 @@ namespace AlibabaCloud
 			DescribeLivePullStreamConfigOutcome describeLivePullStreamConfig(const Model::DescribeLivePullStreamConfigRequest &request)const;
 			void describeLivePullStreamConfigAsync(const Model::DescribeLivePullStreamConfigRequest& request, const DescribeLivePullStreamConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLivePullStreamConfigOutcomeCallable describeLivePullStreamConfigCallable(const Model::DescribeLivePullStreamConfigRequest& request) const;
+			DescribeLivePullToPushOutcome describeLivePullToPush(const Model::DescribeLivePullToPushRequest &request)const;
+			void describeLivePullToPushAsync(const Model::DescribeLivePullToPushRequest& request, const DescribeLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLivePullToPushOutcomeCallable describeLivePullToPushCallable(const Model::DescribeLivePullToPushRequest& request) const;
+			DescribeLivePullToPushListOutcome describeLivePullToPushList(const Model::DescribeLivePullToPushListRequest &request)const;
+			void describeLivePullToPushListAsync(const Model::DescribeLivePullToPushListRequest& request, const DescribeLivePullToPushListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLivePullToPushListOutcomeCallable describeLivePullToPushListCallable(const Model::DescribeLivePullToPushListRequest& request) const;
 			DescribeLivePushProxyLogOutcome describeLivePushProxyLog(const Model::DescribeLivePushProxyLogRequest &request)const;
 			void describeLivePushProxyLogAsync(const Model::DescribeLivePushProxyLogRequest& request, const DescribeLivePushProxyLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLivePushProxyLogOutcomeCallable describeLivePushProxyLogCallable(const Model::DescribeLivePushProxyLogRequest& request) const;
@@ -2802,6 +2920,9 @@ namespace AlibabaCloud
 			DescribeLiveUserTagsOutcome describeLiveUserTags(const Model::DescribeLiveUserTagsRequest &request)const;
 			void describeLiveUserTagsAsync(const Model::DescribeLiveUserTagsRequest& request, const DescribeLiveUserTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveUserTagsOutcomeCallable describeLiveUserTagsCallable(const Model::DescribeLiveUserTagsRequest& request) const;
+			DescribeLiveUserTrafficLogOutcome describeLiveUserTrafficLog(const Model::DescribeLiveUserTrafficLogRequest &request)const;
+			void describeLiveUserTrafficLogAsync(const Model::DescribeLiveUserTrafficLogRequest& request, const DescribeLiveUserTrafficLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveUserTrafficLogOutcomeCallable describeLiveUserTrafficLogCallable(const Model::DescribeLiveUserTrafficLogRequest& request) const;
 			DescribeLiveVerifyContentOutcome describeLiveVerifyContent(const Model::DescribeLiveVerifyContentRequest &request)const;
 			void describeLiveVerifyContentAsync(const Model::DescribeLiveVerifyContentRequest& request, const DescribeLiveVerifyContentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveVerifyContentOutcomeCallable describeLiveVerifyContentCallable(const Model::DescribeLiveVerifyContentRequest& request) const;
@@ -2826,6 +2947,9 @@ namespace AlibabaCloud
 			DescribeRTSNativeSDKVvDataOutcome describeRTSNativeSDKVvData(const Model::DescribeRTSNativeSDKVvDataRequest &request)const;
 			void describeRTSNativeSDKVvDataAsync(const Model::DescribeRTSNativeSDKVvDataRequest& request, const DescribeRTSNativeSDKVvDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRTSNativeSDKVvDataOutcomeCallable describeRTSNativeSDKVvDataCallable(const Model::DescribeRTSNativeSDKVvDataRequest& request) const;
+			DescribeRtcCloudRecordingFilesOutcome describeRtcCloudRecordingFiles(const Model::DescribeRtcCloudRecordingFilesRequest &request)const;
+			void describeRtcCloudRecordingFilesAsync(const Model::DescribeRtcCloudRecordingFilesRequest& request, const DescribeRtcCloudRecordingFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRtcCloudRecordingFilesOutcomeCallable describeRtcCloudRecordingFilesCallable(const Model::DescribeRtcCloudRecordingFilesRequest& request) const;
 			DescribeRtcMPUEventSubOutcome describeRtcMPUEventSub(const Model::DescribeRtcMPUEventSubRequest &request)const;
 			void describeRtcMPUEventSubAsync(const Model::DescribeRtcMPUEventSubRequest& request, const DescribeRtcMPUEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRtcMPUEventSubOutcomeCallable describeRtcMPUEventSubCallable(const Model::DescribeRtcMPUEventSubRequest& request) const;
@@ -2844,6 +2968,9 @@ namespace AlibabaCloud
 			DescribeToutiaoLivePublishOutcome describeToutiaoLivePublish(const Model::DescribeToutiaoLivePublishRequest &request)const;
 			void describeToutiaoLivePublishAsync(const Model::DescribeToutiaoLivePublishRequest& request, const DescribeToutiaoLivePublishAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeToutiaoLivePublishOutcomeCallable describeToutiaoLivePublishCallable(const Model::DescribeToutiaoLivePublishRequest& request) const;
+			DescribeUidOnlineStreamsOutcome describeUidOnlineStreams(const Model::DescribeUidOnlineStreamsRequest &request)const;
+			void describeUidOnlineStreamsAsync(const Model::DescribeUidOnlineStreamsRequest& request, const DescribeUidOnlineStreamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeUidOnlineStreamsOutcomeCallable describeUidOnlineStreamsCallable(const Model::DescribeUidOnlineStreamsRequest& request) const;
 			DescribeUpBpsPeakDataOutcome describeUpBpsPeakData(const Model::DescribeUpBpsPeakDataRequest &request)const;
 			void describeUpBpsPeakDataAsync(const Model::DescribeUpBpsPeakDataRequest& request, const DescribeUpBpsPeakDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeUpBpsPeakDataOutcomeCallable describeUpBpsPeakDataCallable(const Model::DescribeUpBpsPeakDataRequest& request) const;
@@ -3060,6 +3187,9 @@ namespace AlibabaCloud
 			PublishLiveStagingConfigToProductionOutcome publishLiveStagingConfigToProduction(const Model::PublishLiveStagingConfigToProductionRequest &request)const;
 			void publishLiveStagingConfigToProductionAsync(const Model::PublishLiveStagingConfigToProductionRequest& request, const PublishLiveStagingConfigToProductionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			PublishLiveStagingConfigToProductionOutcomeCallable publishLiveStagingConfigToProductionCallable(const Model::PublishLiveStagingConfigToProductionRequest& request) const;
+			QueryLiveDomainMultiStreamListOutcome queryLiveDomainMultiStreamList(const Model::QueryLiveDomainMultiStreamListRequest &request)const;
+			void queryLiveDomainMultiStreamListAsync(const Model::QueryLiveDomainMultiStreamListRequest& request, const QueryLiveDomainMultiStreamListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryLiveDomainMultiStreamListOutcomeCallable queryLiveDomainMultiStreamListCallable(const Model::QueryLiveDomainMultiStreamListRequest& request) const;
 			QueryMessageAppOutcome queryMessageApp(const Model::QueryMessageAppRequest &request)const;
 			void queryMessageAppAsync(const Model::QueryMessageAppRequest& request, const QueryMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryMessageAppOutcomeCallable queryMessageAppCallable(const Model::QueryMessageAppRequest& request) const;
@@ -3087,6 +3217,9 @@ namespace AlibabaCloud
 			RestartCasterOutcome restartCaster(const Model::RestartCasterRequest &request)const;
 			void restartCasterAsync(const Model::RestartCasterRequest& request, const RestartCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RestartCasterOutcomeCallable restartCasterCallable(const Model::RestartCasterRequest& request) const;
+			RestartLivePullToPushOutcome restartLivePullToPush(const Model::RestartLivePullToPushRequest &request)const;
+			void restartLivePullToPushAsync(const Model::RestartLivePullToPushRequest& request, const RestartLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RestartLivePullToPushOutcomeCallable restartLivePullToPushCallable(const Model::RestartLivePullToPushRequest& request) const;
 			RestartTranscodeTaskOutcome restartTranscodeTask(const Model::RestartTranscodeTaskRequest &request)const;
 			void restartTranscodeTaskAsync(const Model::RestartTranscodeTaskRequest& request, const RestartTranscodeTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RestartTranscodeTaskOutcomeCallable restartTranscodeTaskCallable(const Model::RestartTranscodeTaskRequest& request) const;
@@ -3123,6 +3256,15 @@ namespace AlibabaCloud
 			SetLiveDomainCertificateOutcome setLiveDomainCertificate(const Model::SetLiveDomainCertificateRequest &request)const;
 			void setLiveDomainCertificateAsync(const Model::SetLiveDomainCertificateRequest& request, const SetLiveDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveDomainCertificateOutcomeCallable setLiveDomainCertificateCallable(const Model::SetLiveDomainCertificateRequest& request) const;
+			SetLiveDomainMultiStreamConfigOutcome setLiveDomainMultiStreamConfig(const Model::SetLiveDomainMultiStreamConfigRequest &request)const;
+			void setLiveDomainMultiStreamConfigAsync(const Model::SetLiveDomainMultiStreamConfigRequest& request, const SetLiveDomainMultiStreamConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveDomainMultiStreamConfigOutcomeCallable setLiveDomainMultiStreamConfigCallable(const Model::SetLiveDomainMultiStreamConfigRequest& request) const;
+			SetLiveDomainMultiStreamMasterOutcome setLiveDomainMultiStreamMaster(const Model::SetLiveDomainMultiStreamMasterRequest &request)const;
+			void setLiveDomainMultiStreamMasterAsync(const Model::SetLiveDomainMultiStreamMasterRequest& request, const SetLiveDomainMultiStreamMasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveDomainMultiStreamMasterOutcomeCallable setLiveDomainMultiStreamMasterCallable(const Model::SetLiveDomainMultiStreamMasterRequest& request) const;
+			SetLiveDomainMultiStreamOptimalModeOutcome setLiveDomainMultiStreamOptimalMode(const Model::SetLiveDomainMultiStreamOptimalModeRequest &request)const;
+			void setLiveDomainMultiStreamOptimalModeAsync(const Model::SetLiveDomainMultiStreamOptimalModeRequest& request, const SetLiveDomainMultiStreamOptimalModeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveDomainMultiStreamOptimalModeOutcomeCallable setLiveDomainMultiStreamOptimalModeCallable(const Model::SetLiveDomainMultiStreamOptimalModeRequest& request) const;
 			SetLiveDomainStagingConfigOutcome setLiveDomainStagingConfig(const Model::SetLiveDomainStagingConfigRequest &request)const;
 			void setLiveDomainStagingConfigAsync(const Model::SetLiveDomainStagingConfigRequest& request, const SetLiveDomainStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetLiveDomainStagingConfigOutcomeCallable setLiveDomainStagingConfigCallable(const Model::SetLiveDomainStagingConfigRequest& request) const;
@@ -3174,6 +3316,9 @@ namespace AlibabaCloud
 			StartPlaylistOutcome startPlaylist(const Model::StartPlaylistRequest &request)const;
 			void startPlaylistAsync(const Model::StartPlaylistRequest& request, const StartPlaylistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartPlaylistOutcomeCallable startPlaylistCallable(const Model::StartPlaylistRequest& request) const;
+			StartRtcCloudRecordingOutcome startRtcCloudRecording(const Model::StartRtcCloudRecordingRequest &request)const;
+			void startRtcCloudRecordingAsync(const Model::StartRtcCloudRecordingRequest& request, const StartRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartRtcCloudRecordingOutcomeCallable startRtcCloudRecordingCallable(const Model::StartRtcCloudRecordingRequest& request) const;
 			StopCasterOutcome stopCaster(const Model::StopCasterRequest &request)const;
 			void stopCasterAsync(const Model::StopCasterRequest& request, const StopCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopCasterOutcomeCallable stopCasterCallable(const Model::StopCasterRequest& request) const;
@@ -3189,6 +3334,9 @@ namespace AlibabaCloud
 			StopLiveMPUTaskOutcome stopLiveMPUTask(const Model::StopLiveMPUTaskRequest &request)const;
 			void stopLiveMPUTaskAsync(const Model::StopLiveMPUTaskRequest& request, const StopLiveMPUTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopLiveMPUTaskOutcomeCallable stopLiveMPUTaskCallable(const Model::StopLiveMPUTaskRequest& request) const;
+			StopLivePullToPushOutcome stopLivePullToPush(const Model::StopLivePullToPushRequest &request)const;
+			void stopLivePullToPushAsync(const Model::StopLivePullToPushRequest& request, const StopLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopLivePullToPushOutcomeCallable stopLivePullToPushCallable(const Model::StopLivePullToPushRequest& request) const;
 			StopLiveStreamMonitorOutcome stopLiveStreamMonitor(const Model::StopLiveStreamMonitorRequest &request)const;
 			void stopLiveStreamMonitorAsync(const Model::StopLiveStreamMonitorRequest& request, const StopLiveStreamMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopLiveStreamMonitorOutcomeCallable stopLiveStreamMonitorCallable(const Model::StopLiveStreamMonitorRequest& request) const;
@@ -3198,9 +3346,15 @@ namespace AlibabaCloud
 			StopRtcAsrTaskOutcome stopRtcAsrTask(const Model::StopRtcAsrTaskRequest &request)const;
 			void stopRtcAsrTaskAsync(const Model::StopRtcAsrTaskRequest& request, const StopRtcAsrTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopRtcAsrTaskOutcomeCallable stopRtcAsrTaskCallable(const Model::StopRtcAsrTaskRequest& request) const;
+			StopRtcCloudRecordingOutcome stopRtcCloudRecording(const Model::StopRtcCloudRecordingRequest &request)const;
+			void stopRtcCloudRecordingAsync(const Model::StopRtcCloudRecordingRequest& request, const StopRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopRtcCloudRecordingOutcomeCallable stopRtcCloudRecordingCallable(const Model::StopRtcCloudRecordingRequest& request) const;
 			TagLiveResourcesOutcome tagLiveResources(const Model::TagLiveResourcesRequest &request)const;
 			void tagLiveResourcesAsync(const Model::TagLiveResourcesRequest& request, const TagLiveResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TagLiveResourcesOutcomeCallable tagLiveResourcesCallable(const Model::TagLiveResourcesRequest& request) const;
+			UnTagLiveResourcesOutcome unTagLiveResources(const Model::UnTagLiveResourcesRequest &request)const;
+			void unTagLiveResourcesAsync(const Model::UnTagLiveResourcesRequest& request, const UnTagLiveResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnTagLiveResourcesOutcomeCallable unTagLiveResourcesCallable(const Model::UnTagLiveResourcesRequest& request) const;
 			UnbanLiveMessageGroupOutcome unbanLiveMessageGroup(const Model::UnbanLiveMessageGroupRequest &request)const;
 			void unbanLiveMessageGroupAsync(const Model::UnbanLiveMessageGroupRequest& request, const UnbanLiveMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbanLiveMessageGroupOutcomeCallable unbanLiveMessageGroupCallable(const Model::UnbanLiveMessageGroupRequest& request) const;
@@ -3258,6 +3412,9 @@ namespace AlibabaCloud
 			UpdateLivePullStreamInfoConfigOutcome updateLivePullStreamInfoConfig(const Model::UpdateLivePullStreamInfoConfigRequest &request)const;
 			void updateLivePullStreamInfoConfigAsync(const Model::UpdateLivePullStreamInfoConfigRequest& request, const UpdateLivePullStreamInfoConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLivePullStreamInfoConfigOutcomeCallable updateLivePullStreamInfoConfigCallable(const Model::UpdateLivePullStreamInfoConfigRequest& request) const;
+			UpdateLivePullToPushOutcome updateLivePullToPush(const Model::UpdateLivePullToPushRequest &request)const;
+			void updateLivePullToPushAsync(const Model::UpdateLivePullToPushRequest& request, const UpdateLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateLivePullToPushOutcomeCallable updateLivePullToPushCallable(const Model::UpdateLivePullToPushRequest& request) const;
 			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;
@@ -3291,6 +3448,9 @@ namespace AlibabaCloud
 			UpdateMixStreamOutcome updateMixStream(const Model::UpdateMixStreamRequest &request)const;
 			void updateMixStreamAsync(const Model::UpdateMixStreamRequest& request, const UpdateMixStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateMixStreamOutcomeCallable updateMixStreamCallable(const Model::UpdateMixStreamRequest& request) const;
+			UpdateRtcCloudRecordingOutcome updateRtcCloudRecording(const Model::UpdateRtcCloudRecordingRequest &request)const;
+			void updateRtcCloudRecordingAsync(const Model::UpdateRtcCloudRecordingRequest& request, const UpdateRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRtcCloudRecordingOutcomeCallable updateRtcCloudRecordingCallable(const Model::UpdateRtcCloudRecordingRequest& request) const;
 			UpdateRtcMPUEventSubOutcome updateRtcMPUEventSub(const Model::UpdateRtcMPUEventSubRequest &request)const;
 			void updateRtcMPUEventSubAsync(const Model::UpdateRtcMPUEventSubRequest& request, const UpdateRtcMPUEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateRtcMPUEventSubOutcomeCallable updateRtcMPUEventSubCallable(const Model::UpdateRtcMPUEventSubRequest& request) const;

+ 6 - 0
live/include/alibabacloud/live/model/CreateLiveMessageAppRequest.h

@@ -30,8 +30,12 @@ class ALIBABACLOUD_LIVE_EXPORT CreateLiveMessageAppRequest : public RpcServiceRe
 public:
 	CreateLiveMessageAppRequest();
 	~CreateLiveMessageAppRequest();
+	int getStreamSupport() const;
+	void setStreamSupport(int streamSupport);
 	std::string getDataCenter() const;
 	void setDataCenter(const std::string &dataCenter);
+	int getRichTextSupport() const;
+	void setRichTextSupport(int richTextSupport);
 	int getMsgLifeCycle() const;
 	void setMsgLifeCycle(int msgLifeCycle);
 	std::string getAppName() const;
@@ -44,7 +48,9 @@ public:
 	void setEventCallbackUrl(const std::string &eventCallbackUrl);
 
 private:
+	int streamSupport_;
 	std::string dataCenter_;
+	int richTextSupport_;
 	int msgLifeCycle_;
 	std::string appName_;
 	int auditType_;

+ 84 - 0
live/include/alibabacloud/live/model/CreateLivePullToPushRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_CREATELIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATELIVEPULLTOPUSHREQUEST_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 CreateLivePullToPushRequest : public RpcServiceRequest {
+public:
+	CreateLivePullToPushRequest();
+	~CreateLivePullToPushRequest();
+	int getFileIndex() const;
+	void setFileIndex(int fileIndex);
+	int getRetryCount() const;
+	void setRetryCount(int retryCount);
+	std::string getTaskName() const;
+	void setTaskName(const std::string &taskName);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	int getRepeatNumber() const;
+	void setRepeatNumber(int repeatNumber);
+	std::string getSourceProtocol() const;
+	void setSourceProtocol(const std::string &sourceProtocol);
+	std::string getSourceType() const;
+	void setSourceType(const std::string &sourceType);
+	int getOffset() const;
+	void setOffset(int offset);
+	std::string getDstUrl() const;
+	void setDstUrl(const std::string &dstUrl);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::vector<std::string> getSourceUrls() const;
+	void setSourceUrls(const std::vector<std::string> &sourceUrls);
+	int getRetryInterval() const;
+	void setRetryInterval(int retryInterval);
+	std::string getCallbackUrl() const;
+	void setCallbackUrl(const std::string &callbackUrl);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	int fileIndex_;
+	int retryCount_;
+	std::string taskName_;
+	std::string startTime_;
+	int repeatNumber_;
+	std::string sourceProtocol_;
+	std::string sourceType_;
+	int offset_;
+	std::string dstUrl_;
+	std::string endTime_;
+	long ownerId_;
+	std::vector<std::string> sourceUrls_;
+	int retryInterval_;
+	std::string callbackUrl_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATELIVEPULLTOPUSHREQUEST_H_

+ 55 - 0
live/include/alibabacloud/live/model/CreateLivePullToPushResult.h

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

+ 57 - 0
live/include/alibabacloud/live/model/CreateRTCWhipStreamAddressRequest.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_CREATERTCWHIPSTREAMADDRESSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATERTCWHIPSTREAMADDRESSREQUEST_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 CreateRTCWhipStreamAddressRequest : public RpcServiceRequest {
+public:
+	CreateRTCWhipStreamAddressRequest();
+	~CreateRTCWhipStreamAddressRequest();
+	int getExpireTime() const;
+	void setExpireTime(int expireTime);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getUserId() const;
+	void setUserId(const std::string &userId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	std::string getDisplayName() const;
+	void setDisplayName(const std::string &displayName);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+
+private:
+	int expireTime_;
+	std::string clientToken_;
+	std::string userId_;
+	std::string appId_;
+	std::string displayName_;
+	std::string channelId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATERTCWHIPSTREAMADDRESSREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/CreateRTCWhipStreamAddressResult.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_CREATERTCWHIPSTREAMADDRESSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATERTCWHIPSTREAMADDRESSRESULT_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 CreateRTCWhipStreamAddressResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRTCWhipStreamAddressResult();
+				explicit CreateRTCWhipStreamAddressResult(const std::string &payload);
+				~CreateRTCWhipStreamAddressResult();
+				std::string getWhipAddress()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string whipAddress_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATERTCWHIPSTREAMADDRESSRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/DeleteLivePullToPushRequest.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_DELETELIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEPULLTOPUSHREQUEST_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 DeleteLivePullToPushRequest : public RpcServiceRequest {
+public:
+	DeleteLivePullToPushRequest();
+	~DeleteLivePullToPushRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string taskId_;
+	long ownerId_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEPULLTOPUSHREQUEST_H_

+ 53 - 0
live/include/alibabacloud/live/model/DeleteLivePullToPushResult.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_DELETELIVEPULLTOPUSHRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEPULLTOPUSHRESULT_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 DeleteLivePullToPushResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteLivePullToPushResult();
+				explicit DeleteLivePullToPushResult(const std::string &payload);
+				~DeleteLivePullToPushResult();
+				std::string getDescription()const;
+				int getRetCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string description_;
+				int retCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEPULLTOPUSHRESULT_H_

+ 12 - 0
live/include/alibabacloud/live/model/DescribeCasterConfigResult.h

@@ -48,8 +48,20 @@ namespace AlibabaCloud
 				};
 				struct TranscodeConfig
 				{
+					struct CustomParams
+					{
+						struct Video
+						{
+							int fps;
+							int height;
+							int bitrate;
+							int width;
+						};
+						Video video;
+					};
 					std::string casterTemplate;
 					std::vector<std::string> liveTemplateIds;
+					CustomParams customParams;
 				};
 				struct SyncGroup
 				{

+ 45 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigRequest.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_DESCRIBELIVEDOMAINMULTISTREAMCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINMULTISTREAMCONFIGREQUEST_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 DescribeLiveDomainMultiStreamConfigRequest : public RpcServiceRequest {
+public:
+	DescribeLiveDomainMultiStreamConfigRequest();
+	~DescribeLiveDomainMultiStreamConfigRequest();
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+
+private:
+	long ownerId_;
+	std::string domain_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINMULTISTREAMCONFIGREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainMultiStreamConfigResult.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_DESCRIBELIVEDOMAINMULTISTREAMCONFIGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINMULTISTREAMCONFIGRESULT_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 DescribeLiveDomainMultiStreamConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeLiveDomainMultiStreamConfigResult();
+				explicit DescribeLiveDomainMultiStreamConfigResult(const std::string &payload);
+				~DescribeLiveDomainMultiStreamConfigResult();
+				std::string get_Switch()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string _switch_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINMULTISTREAMCONFIGRESULT_H_

+ 4 - 0
live/include/alibabacloud/live/model/DescribeLiveMessageAppResult.h

@@ -38,10 +38,12 @@ namespace AlibabaCloud
 				explicit DescribeLiveMessageAppResult(const std::string &payload);
 				~DescribeLiveMessageAppResult();
 				long getModifyTime()const;
+				int getRichTextSupport()const;
 				int getAuditType()const;
 				long getCreateTime()const;
 				int getMsgLifeCycle()const;
 				std::string getEventCallbackUrl()const;
+				int getStreamSupport()const;
 				std::string getAppName()const;
 				std::string getCallbackUrl()const;
 				std::string getAuditUrl()const;
@@ -55,10 +57,12 @@ namespace AlibabaCloud
 				void parse(const std::string &payload);
 			private:
 				long modifyTime_;
+				int richTextSupport_;
 				int auditType_;
 				long createTime_;
 				int msgLifeCycle_;
 				std::string eventCallbackUrl_;
+				int streamSupport_;
 				std::string appName_;
 				std::string callbackUrl_;
 				std::string auditUrl_;

+ 8 - 6
live/include/alibabacloud/live/model/DescribeLiveMessageGroupResult.h

@@ -38,32 +38,34 @@ namespace AlibabaCloud
 				explicit DescribeLiveMessageGroupResult(const std::string &payload);
 				~DescribeLiveMessageGroupResult();
 				std::string getGroupName()const;
-				std::vector<std::string> getAdminList()const;
-				bool get_Delete()const;
 				long getDeletatime()const;
+				bool getSuperLargeGroup()const;
 				long getTotalTimes()const;
 				std::string getMsgAmount()const;
-				long getCreatetime()const;
 				std::string getGroupInfo()const;
 				std::string getCreatorId()const;
 				long getOnlineUserCounts()const;
 				std::string getGroupId()const;
+				std::vector<std::string> getAdminList()const;
+				bool get_Delete()const;
+				long getCreatetime()const;
 				std::string getDeletor()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string groupName_;
-				std::vector<std::string> adminList_;
-				bool _delete_;
 				long deletatime_;
+				bool superLargeGroup_;
 				long totalTimes_;
 				std::string msgAmount_;
-				long createtime_;
 				std::string groupInfo_;
 				std::string creatorId_;
 				long onlineUserCounts_;
 				std::string groupId_;
+				std::vector<std::string> adminList_;
+				bool _delete_;
+				long createtime_;
 				std::string deletor_;
 
 			};

+ 60 - 0
live/include/alibabacloud/live/model/DescribeLivePullToPushListRequest.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_DESCRIBELIVEPULLTOPUSHLISTREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHLISTREQUEST_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 DescribeLivePullToPushListRequest : public RpcServiceRequest {
+public:
+	DescribeLivePullToPushListRequest();
+	~DescribeLivePullToPushListRequest();
+	std::string getTaskName() const;
+	void setTaskName(const std::string &taskName);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	std::string getDstUrl() const;
+	void setDstUrl(const std::string &dstUrl);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string taskName_;
+	int pageNumber_;
+	int pageSize_;
+	std::string taskId_;
+	std::string dstUrl_;
+	long ownerId_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHLISTREQUEST_H_

+ 85 - 0
live/include/alibabacloud/live/model/DescribeLivePullToPushListResult.h

@@ -0,0 +1,85 @@
+/*
+ * 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_DESCRIBELIVEPULLTOPUSHLISTRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHLISTRESULT_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 DescribeLivePullToPushListResult : public ServiceResult
+			{
+			public:
+				struct TaskListItem
+				{
+					struct TaskInfo
+					{
+						int repeatNumber;
+						std::string taskId;
+						std::string endTime;
+						std::string sourceType;
+						std::string startTime;
+						std::vector<std::string> sourceUrls;
+						int offset;
+						std::string callbackURL;
+						int fileIndex;
+						int retryCount;
+						std::string taskName;
+						std::string sourceProtocol;
+						int retryInterval;
+						std::string dstUrl;
+					};
+					TaskInfo taskInfo;
+					std::string taskExitReason;
+					std::string taskId;
+					int currentFileIndex;
+					int currentOffset;
+					int taskStatus;
+					int taskExitTime;
+					std::string taskInvalidReason;
+				};
+
+
+				DescribeLivePullToPushListResult();
+				explicit DescribeLivePullToPushListResult(const std::string &payload);
+				~DescribeLivePullToPushListResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<TaskListItem> getTaskList()const;
+				int getTotal()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				std::vector<TaskListItem> taskList_;
+				int total_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHLISTRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/DescribeLivePullToPushRequest.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_DESCRIBELIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHREQUEST_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 DescribeLivePullToPushRequest : public RpcServiceRequest {
+public:
+	DescribeLivePullToPushRequest();
+	~DescribeLivePullToPushRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string taskId_;
+	long ownerId_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHREQUEST_H_

+ 86 - 0
live/include/alibabacloud/live/model/DescribeLivePullToPushResult.h

@@ -0,0 +1,86 @@
+/*
+ * 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_DESCRIBELIVEPULLTOPUSHRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHRESULT_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 DescribeLivePullToPushResult : public ServiceResult
+			{
+			public:
+				struct TaskInfo
+				{
+					int repeatNumber;
+					std::string taskId;
+					std::string endTime;
+					std::string sourceType;
+					std::string startTime;
+					std::vector<std::string> sourceUrls;
+					int offset;
+					std::string callbackURL;
+					int fileIndex;
+					int retryCount;
+					std::string taskName;
+					std::string sourceProtocol;
+					int retryInterval;
+					std::string dstUrl;
+				};
+
+
+				DescribeLivePullToPushResult();
+				explicit DescribeLivePullToPushResult(const std::string &payload);
+				~DescribeLivePullToPushResult();
+				TaskInfo getTaskInfo()const;
+				std::string getTaskExitReason()const;
+				std::string getDescription()const;
+				std::string getTaskId()const;
+				int getRetCode()const;
+				int getCurrentFileIndex()const;
+				int getCurrentOffset()const;
+				int getTaskStatus()const;
+				int getTaskExitTime()const;
+				std::string getTaskInvalidReason()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				TaskInfo taskInfo_;
+				std::string taskExitReason_;
+				std::string description_;
+				std::string taskId_;
+				int retCode_;
+				int currentFileIndex_;
+				int currentOffset_;
+				int taskStatus_;
+				int taskExitTime_;
+				std::string taskInvalidReason_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEPULLTOPUSHRESULT_H_

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

@@ -34,10 +34,13 @@ public:
 	void setDomainName(const std::string &domainName);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::string getSplitType() const;
+	void setSplitType(const std::string &splitType);
 
 private:
 	std::string domainName_;
 	long ownerId_;
+	std::string splitType_;
 };
 } // namespace Model
 } // namespace Live

+ 7 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeStreamNumResult.h

@@ -32,6 +32,11 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamTranscodeStreamNumResult : public ServiceResult
 			{
 			public:
+				struct Transcode_details
+				{
+					std::string _template;
+					int count;
+				};
 
 
 				DescribeLiveStreamTranscodeStreamNumResult();
@@ -41,6 +46,7 @@ namespace AlibabaCloud
 				long getLazyTranscodedNumber()const;
 				long getTranscodedNumber()const;
 				long getTotal()const;
+				std::vector<Transcode_details> getTranscodeStreamCountDetails()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -49,6 +55,7 @@ namespace AlibabaCloud
 				long lazyTranscodedNumber_;
 				long transcodedNumber_;
 				long total_;
+				std::vector<Transcode_details> transcodeStreamCountDetails_;
 
 			};
 		}

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

@@ -30,12 +30,15 @@ class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamsNotifyUrlConfigRequest : publi
 public:
 	DescribeLiveStreamsNotifyUrlConfigRequest();
 	~DescribeLiveStreamsNotifyUrlConfigRequest();
+	std::string getNotifyType() const;
+	void setNotifyType(const std::string &notifyType);
 	std::string getDomainName() const;
 	void setDomainName(const std::string &domainName);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
 
 private:
+	std::string notifyType_;
 	std::string domainName_;
 	long ownerId_;
 };

+ 1 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigResult.h

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string authKey;
 					std::string notifyAuthKey;
 					std::string authType;
+					std::string exceptionNotifyUrl;
 				};
 
 

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

@@ -36,6 +36,8 @@ public:
 	void setStartTime(const std::string &startTime);
 	int getPageNum() const;
 	void setPageNum(int pageNum);
+	std::string getType() const;
+	void setType(const std::string &type);
 	std::string getAppName() const;
 	void setAppName(const std::string &appName);
 	int getPageSize() const;
@@ -61,6 +63,7 @@ private:
 	std::string onlyStream_;
 	std::string startTime_;
 	int pageNum_;
+	std::string type_;
 	std::string appName_;
 	int pageSize_;
 	bool isGetCurrentRate_;

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

@@ -49,6 +49,7 @@ namespace AlibabaCloud
 					int height;
 					std::string publishTime;
 					int audioCodecId;
+					std::string pushDomain;
 					int width;
 					int videoCodecId;
 					int frameRate;
@@ -58,6 +59,7 @@ namespace AlibabaCloud
 					std::string serverIp;
 					int currHeight;
 					int currVideoCodecId;
+					std::string playDomain;
 					std::string transcoded;
 					int videoDataRate;
 				};

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

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 					std::string publishUrl;
 					std::string clientAddr;
+					std::string aliInnerErrorFlags;
 					std::string domainName;
 					std::string transcodeId;
 					std::string publishType;
@@ -43,9 +44,11 @@ namespace AlibabaCloud
 					std::string appName;
 					std::string streamName;
 					std::string edgeNodeAddr;
+					std::string playDomain;
 					std::string publishDomain;
 					std::string transcoded;
 					std::string publishTime;
+					std::string pushDomain;
 					std::string stopTime;
 				};
 

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveUserTrafficLogRequest.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_DESCRIBELIVEUSERTRAFFICLOGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERTRAFFICLOGREQUEST_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 DescribeLiveUserTrafficLogRequest : public RpcServiceRequest {
+public:
+	DescribeLiveUserTrafficLogRequest();
+	~DescribeLiveUserTrafficLogRequest();
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	long getPageNumber() const;
+	void setPageNumber(long pageNumber);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	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);
+
+private:
+	std::string startTime_;
+	long pageNumber_;
+	long pageSize_;
+	std::string domainName_;
+	std::string endTime_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERTRAFFICLOGREQUEST_H_

+ 73 - 0
live/include/alibabacloud/live/model/DescribeLiveUserTrafficLogResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERTRAFFICLOGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERTRAFFICLOGRESULT_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 DescribeLiveUserTrafficLogResult : public ServiceResult
+			{
+			public:
+				struct DomainLogDetail
+				{
+					struct PageInfos
+					{
+						long pageSize;
+						long total;
+						long pageIndex;
+					};
+					struct LogInfoDetail
+					{
+						long logSize;
+						std::string endTime;
+						std::string startTime;
+						std::string logName;
+						std::string logPath;
+					};
+					std::vector<DomainLogDetail::LogInfoDetail> logInfos;
+					PageInfos pageInfos;
+					long logCount;
+				};
+
+
+				DescribeLiveUserTrafficLogResult();
+				explicit DescribeLiveUserTrafficLogResult(const std::string &payload);
+				~DescribeLiveUserTrafficLogResult();
+				std::string getDomainName()const;
+				std::vector<DomainLogDetail> getDomainLogDetails()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string domainName_;
+				std::vector<DomainLogDetail> domainLogDetails_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERTRAFFICLOGRESULT_H_

+ 42 - 0
live/include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_DESCRIBERTCCLOUDRECORDINGFILESREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBERTCCLOUDRECORDINGFILESREQUEST_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 DescribeRtcCloudRecordingFilesRequest : public RpcServiceRequest {
+public:
+	DescribeRtcCloudRecordingFilesRequest();
+	~DescribeRtcCloudRecordingFilesRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+
+private:
+	std::string taskId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBERTCCLOUDRECORDINGFILESREQUEST_H_

+ 63 - 0
live/include/alibabacloud/live/model/DescribeRtcCloudRecordingFilesResult.h

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

+ 48 - 0
live/include/alibabacloud/live/model/DescribeUidOnlineStreamsRequest.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_DESCRIBEUIDONLINESTREAMSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBEUIDONLINESTREAMSREQUEST_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 DescribeUidOnlineStreamsRequest : public RpcServiceRequest {
+public:
+	DescribeUidOnlineStreamsRequest();
+	~DescribeUidOnlineStreamsRequest();
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string appName_;
+	std::string domainName_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBEUIDONLINESTREAMSREQUEST_H_

+ 59 - 0
live/include/alibabacloud/live/model/DescribeUidOnlineStreamsResult.h

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

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

@@ -37,10 +37,12 @@ namespace AlibabaCloud
 					long modifyTime;
 					std::string dataCenter;
 					std::string appId;
+					int richTextSupport;
 					std::string appKey;
 					long createTime;
 					int msgLifeCycle;
 					std::string appSign;
+					int streamSupport;
 					std::string disable;
 					std::string appName;
 				};

+ 60 - 0
live/include/alibabacloud/live/model/QueryLiveDomainMultiStreamListRequest.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_QUERYLIVEDOMAINMULTISTREAMLISTREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_QUERYLIVEDOMAINMULTISTREAMLISTREQUEST_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 QueryLiveDomainMultiStreamListRequest : public RpcServiceRequest {
+public:
+	QueryLiveDomainMultiStreamListRequest();
+	~QueryLiveDomainMultiStreamListRequest();
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	long getPageNumber() const;
+	void setPageNumber(long pageNumber);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+
+private:
+	std::string startTime_;
+	long pageNumber_;
+	int pageSize_;
+	std::string streamName_;
+	std::string endTime_;
+	long ownerId_;
+	std::string domain_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_QUERYLIVEDOMAINMULTISTREAMLISTREQUEST_H_

+ 81 - 0
live/include/alibabacloud/live/model/QueryLiveDomainMultiStreamListResult.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_QUERYLIVEDOMAINMULTISTREAMLISTRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_QUERYLIVEDOMAINMULTISTREAMLISTRESULT_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 QueryLiveDomainMultiStreamListResult : public ServiceResult
+			{
+			public:
+				struct OnlineStreamsItem
+				{
+					struct UpstreamListItem
+					{
+						std::string upstreamIp;
+						std::string upstreamSequence;
+						std::string upstreamTime;
+						bool masterFlag;
+					};
+					struct ChangeLogsItem
+					{
+						std::string upstreamIp;
+						std::string changeTime;
+						std::string masterUpstream;
+						std::string upstreamSequence;
+						std::string changeReason;
+					};
+					std::string streamName;
+					std::string optimalMode;
+					std::vector<OnlineStreamsItem::ChangeLogsItem> changeLogs;
+					std::vector<OnlineStreamsItem::UpstreamListItem> upstreamList;
+					std::string domain;
+					std::string appName;
+				};
+
+
+				QueryLiveDomainMultiStreamListResult();
+				explicit QueryLiveDomainMultiStreamListResult(const std::string &payload);
+				~QueryLiveDomainMultiStreamListResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<OnlineStreamsItem> getOnlineStreams()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<OnlineStreamsItem> onlineStreams_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_QUERYLIVEDOMAINMULTISTREAMLISTRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/RestartLivePullToPushRequest.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_RESTARTLIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_RESTARTLIVEPULLTOPUSHREQUEST_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 RestartLivePullToPushRequest : public RpcServiceRequest {
+public:
+	RestartLivePullToPushRequest();
+	~RestartLivePullToPushRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string taskId_;
+	long ownerId_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_RESTARTLIVEPULLTOPUSHREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/RestartLivePullToPushResult.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_RESTARTLIVEPULLTOPUSHRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_RESTARTLIVEPULLTOPUSHRESULT_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 RestartLivePullToPushResult : public ServiceResult
+			{
+			public:
+
+
+				RestartLivePullToPushResult();
+				explicit RestartLivePullToPushResult(const std::string &payload);
+				~RestartLivePullToPushResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_RESTARTLIVEPULLTOPUSHRESULT_H_

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

@@ -37,10 +37,12 @@ namespace AlibabaCloud
 				SendLiveMessageGroupResult();
 				explicit SendLiveMessageGroupResult(const std::string &payload);
 				~SendLiveMessageGroupResult();
+				std::string getMsgTid()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string msgTid_;
 
 			};
 		}

+ 15 - 9
live/include/alibabacloud/live/model/SendLiveMessageUserRequest.h

@@ -30,32 +30,38 @@ class ALIBABACLOUD_LIVE_EXPORT SendLiveMessageUserRequest : public RpcServiceReq
 public:
 	SendLiveMessageUserRequest();
 	~SendLiveMessageUserRequest();
+	bool getStorage() const;
+	void setStorage(bool storage);
+	std::string getBody() const;
+	void setBody(const std::string &body);
+	std::string getSenderInfo() const;
+	void setSenderInfo(const std::string &senderInfo);
+	long getMsgType() const;
+	void setMsgType(long msgType);
+	bool getHighReliability() const;
+	void setHighReliability(bool highReliability);
 	std::string getDataCenter() const;
 	void setDataCenter(const std::string &dataCenter);
 	std::string getMsgTid() const;
 	void setMsgTid(const std::string &msgTid);
-	std::string getBody() const;
-	void setBody(const std::string &body);
 	std::string getSenderId() const;
 	void setSenderId(const std::string &senderId);
 	std::string getReceiverId() const;
 	void setReceiverId(const std::string &receiverId);
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
-	std::string getSenderInfo() const;
-	void setSenderInfo(const std::string &senderInfo);
-	long getMsgType() const;
-	void setMsgType(long msgType);
 
 private:
+	bool storage_;
+	std::string body_;
+	std::string senderInfo_;
+	long msgType_;
+	bool highReliability_;
 	std::string dataCenter_;
 	std::string msgTid_;
-	std::string body_;
 	std::string senderId_;
 	std::string receiverId_;
 	std::string appId_;
-	std::string senderInfo_;
-	long msgType_;
 };
 } // namespace Model
 } // namespace Live

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

@@ -37,10 +37,12 @@ namespace AlibabaCloud
 				SendLiveMessageUserResult();
 				explicit SendLiveMessageUserResult(const std::string &payload);
 				~SendLiveMessageUserResult();
+				std::string getMsgTid()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string msgTid_;
 
 			};
 		}

+ 48 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigRequest.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_SETLIVEDOMAINMULTISTREAMCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMCONFIGREQUEST_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 SetLiveDomainMultiStreamConfigRequest : public RpcServiceRequest {
+public:
+	SetLiveDomainMultiStreamConfigRequest();
+	~SetLiveDomainMultiStreamConfigRequest();
+	std::string get_Switch() const;
+	void set_Switch(const std::string &_switch);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+
+private:
+	std::string _switch_;
+	long ownerId_;
+	std::string domain_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMCONFIGREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamConfigResult.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_SETLIVEDOMAINMULTISTREAMCONFIGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMCONFIGRESULT_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 SetLiveDomainMultiStreamConfigResult : public ServiceResult
+			{
+			public:
+
+
+				SetLiveDomainMultiStreamConfigResult();
+				explicit SetLiveDomainMultiStreamConfigResult(const std::string &payload);
+				~SetLiveDomainMultiStreamConfigResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMCONFIGRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMMASTERREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMMASTERREQUEST_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 SetLiveDomainMultiStreamMasterRequest : public RpcServiceRequest {
+public:
+	SetLiveDomainMultiStreamMasterRequest();
+	~SetLiveDomainMultiStreamMasterRequest();
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+	std::string getUpstreamSequence() const;
+	void setUpstreamSequence(const std::string &upstreamSequence);
+
+private:
+	std::string appName_;
+	std::string streamName_;
+	long ownerId_;
+	std::string domain_;
+	std::string upstreamSequence_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMMASTERREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamMasterResult.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_SETLIVEDOMAINMULTISTREAMMASTERRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMMASTERRESULT_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 SetLiveDomainMultiStreamMasterResult : public ServiceResult
+			{
+			public:
+
+
+				SetLiveDomainMultiStreamMasterResult();
+				explicit SetLiveDomainMultiStreamMasterResult(const std::string &payload);
+				~SetLiveDomainMultiStreamMasterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMMASTERRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMOPTIMALMODEREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMOPTIMALMODEREQUEST_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 SetLiveDomainMultiStreamOptimalModeRequest : public RpcServiceRequest {
+public:
+	SetLiveDomainMultiStreamOptimalModeRequest();
+	~SetLiveDomainMultiStreamOptimalModeRequest();
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDomain() const;
+	void setDomain(const std::string &domain);
+	std::string getOptimalMode() const;
+	void setOptimalMode(const std::string &optimalMode);
+
+private:
+	std::string appName_;
+	std::string streamName_;
+	long ownerId_;
+	std::string domain_;
+	std::string optimalMode_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMOPTIMALMODEREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/SetLiveDomainMultiStreamOptimalModeResult.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_SETLIVEDOMAINMULTISTREAMOPTIMALMODERESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMOPTIMALMODERESULT_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 SetLiveDomainMultiStreamOptimalModeResult : public ServiceResult
+			{
+			public:
+
+
+				SetLiveDomainMultiStreamOptimalModeResult();
+				explicit SetLiveDomainMultiStreamOptimalModeResult(const std::string &payload);
+				~SetLiveDomainMultiStreamOptimalModeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINMULTISTREAMOPTIMALMODERESULT_H_

+ 9 - 0
live/include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigRequest.h

@@ -36,14 +36,20 @@ public:
 	void setAuthType(const std::string &authType);
 	std::string getNotifyReqAuth() const;
 	void setNotifyReqAuth(const std::string &notifyReqAuth);
+	std::string getExceptionNotifyUrl() const;
+	void setExceptionNotifyUrl(const std::string &exceptionNotifyUrl);
 	std::string getNotifyUrl() const;
 	void setNotifyUrl(const std::string &notifyUrl);
 	std::string getNotifyType() const;
 	void setNotifyType(const std::string &notifyType);
+	std::string getSwitchNotifyUrl() const;
+	void setSwitchNotifyUrl(const std::string &switchNotifyUrl);
 	std::string getDomainName() const;
 	void setDomainName(const std::string &domainName);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::string getExceptionNotifyType() const;
+	void setExceptionNotifyType(const std::string &exceptionNotifyType);
 	std::string getNotifyAuthKey() const;
 	void setNotifyAuthKey(const std::string &notifyAuthKey);
 
@@ -51,10 +57,13 @@ private:
 	std::string authKey_;
 	std::string authType_;
 	std::string notifyReqAuth_;
+	std::string exceptionNotifyUrl_;
 	std::string notifyUrl_;
 	std::string notifyType_;
+	std::string switchNotifyUrl_;
 	std::string domainName_;
 	long ownerId_;
+	std::string exceptionNotifyType_;
 	std::string notifyAuthKey_;
 };
 } // namespace Model

+ 127 - 0
live/include/alibabacloud/live/model/StartRtcCloudRecordingRequest.h

@@ -0,0 +1,127 @@
+/*
+ * 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_STARTRTCCLOUDRECORDINGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_STARTRTCCLOUDRECORDINGREQUEST_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 StartRtcCloudRecordingRequest : public RpcServiceRequest {
+public:
+	struct StorageParams {
+		struct FileInfoItem {
+			std::string fileNamePattern;
+			std::string format;
+			std::string sliceNamePattern;
+		};
+		FileInfoItem fileInfoItem;
+		std::vector<FileInfoItem> fileInfo;
+		int storageType;
+		struct OSSParams {
+			std::string oSSBucket;
+			std::string oSSEndpoint;
+		};
+		OSSParams oSSParams;
+	};
+	struct SubscribeParams {
+		struct SubscribeUserIdListItem {
+			int streamType;
+			int sourceType;
+			std::string userId;
+		};
+		SubscribeUserIdListItem subscribeUserIdListItem;
+		std::vector<SubscribeUserIdListItem> subscribeUserIdList;
+	};
+	struct RecordParams {
+		long maxFileDuration;
+		int streamType;
+		int recordMode;
+	};
+	struct MixTranscodeParams {
+		int videoWidth;
+		long audioBitrate;
+		int videoFramerate;
+		int videoHeight;
+		long audioSampleRate;
+		int videoBitrate;
+		int frameFillType;
+		std::string videoCodec;
+		int audioChannels;
+		int videoGop;
+	};
+	struct MixLayoutParams {
+		struct UserPanesItem {
+			int zOrder;
+			std::string width;
+			std::string x;
+			std::string y;
+			int sourceType;
+			std::string userId;
+			std::string height;
+			struct SubBackground {
+				int renderMode;
+				std::string url;
+			};
+			SubBackground subBackground;
+		};
+		UserPanesItem userPanesItem;
+		std::vector<UserPanesItem> userPanes;
+		struct MixBackground {
+			int renderMode;
+			std::string url;
+		};
+		MixBackground mixBackground;
+	};
+	StartRtcCloudRecordingRequest();
+	~StartRtcCloudRecordingRequest();
+	StorageParams getStorageParams() const;
+	void setStorageParams(const StorageParams &storageParams);
+	std::string getNotifyUrl() const;
+	void setNotifyUrl(const std::string &notifyUrl);
+	SubscribeParams getSubscribeParams() const;
+	void setSubscribeParams(const SubscribeParams &subscribeParams);
+	RecordParams getRecordParams() const;
+	void setRecordParams(const RecordParams &recordParams);
+	MixTranscodeParams getMixTranscodeParams() const;
+	void setMixTranscodeParams(const MixTranscodeParams &mixTranscodeParams);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+	MixLayoutParams getMixLayoutParams() const;
+	void setMixLayoutParams(const MixLayoutParams &mixLayoutParams);
+
+private:
+	StorageParams storageParams_;
+	std::string notifyUrl_;
+	SubscribeParams subscribeParams_;
+	RecordParams recordParams_;
+	MixTranscodeParams mixTranscodeParams_;
+	std::string appId_;
+	std::string channelId_;
+	MixLayoutParams mixLayoutParams_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_STARTRTCCLOUDRECORDINGREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/StartRtcCloudRecordingResult.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_STARTRTCCLOUDRECORDINGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_STARTRTCCLOUDRECORDINGRESULT_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 StartRtcCloudRecordingResult : public ServiceResult
+			{
+			public:
+
+
+				StartRtcCloudRecordingResult();
+				explicit StartRtcCloudRecordingResult(const std::string &payload);
+				~StartRtcCloudRecordingResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_STARTRTCCLOUDRECORDINGRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/StopLivePullToPushRequest.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_STOPLIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_STOPLIVEPULLTOPUSHREQUEST_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 StopLivePullToPushRequest : public RpcServiceRequest {
+public:
+	StopLivePullToPushRequest();
+	~StopLivePullToPushRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string taskId_;
+	long ownerId_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_STOPLIVEPULLTOPUSHREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/StopLivePullToPushResult.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_STOPLIVEPULLTOPUSHRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_STOPLIVEPULLTOPUSHRESULT_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 StopLivePullToPushResult : public ServiceResult
+			{
+			public:
+
+
+				StopLivePullToPushResult();
+				explicit StopLivePullToPushResult(const std::string &payload);
+				~StopLivePullToPushResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_STOPLIVEPULLTOPUSHRESULT_H_

+ 42 - 0
live/include/alibabacloud/live/model/StopRtcCloudRecordingRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_STOPRTCCLOUDRECORDINGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_STOPRTCCLOUDRECORDINGREQUEST_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 StopRtcCloudRecordingRequest : public RpcServiceRequest {
+public:
+	StopRtcCloudRecordingRequest();
+	~StopRtcCloudRecordingRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+
+private:
+	std::string taskId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_STOPRTCCLOUDRECORDINGREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/StopRtcCloudRecordingResult.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_STOPRTCCLOUDRECORDINGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_STOPRTCCLOUDRECORDINGRESULT_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 StopRtcCloudRecordingResult : public ServiceResult
+			{
+			public:
+
+
+				StopRtcCloudRecordingResult();
+				explicit StopRtcCloudRecordingResult(const std::string &payload);
+				~StopRtcCloudRecordingResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_STOPRTCCLOUDRECORDINGRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/UnTagLiveResourcesRequest.h

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

+ 49 - 0
live/include/alibabacloud/live/model/UnTagLiveResourcesResult.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_UNTAGLIVERESOURCESRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_UNTAGLIVERESOURCESRESULT_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 UnTagLiveResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				UnTagLiveResourcesResult();
+				explicit UnTagLiveResourcesResult(const std::string &payload);
+				~UnTagLiveResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_UNTAGLIVERESOURCESRESULT_H_

+ 69 - 0
live/include/alibabacloud/live/model/UpdateLivePullToPushRequest.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_UPDATELIVEPULLTOPUSHREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATELIVEPULLTOPUSHREQUEST_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 UpdateLivePullToPushRequest : public RpcServiceRequest {
+public:
+	UpdateLivePullToPushRequest();
+	~UpdateLivePullToPushRequest();
+	int getFileIndex() const;
+	void setFileIndex(int fileIndex);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	int getRepeatNumber() const;
+	void setRepeatNumber(int repeatNumber);
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	int getOffset() const;
+	void setOffset(int offset);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::vector<std::string> getSourceUrls() const;
+	void setSourceUrls(const std::vector<std::string> &sourceUrls);
+	std::string getCallbackUrl() const;
+	void setCallbackUrl(const std::string &callbackUrl);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	int fileIndex_;
+	std::string startTime_;
+	int repeatNumber_;
+	std::string taskId_;
+	int offset_;
+	std::string endTime_;
+	long ownerId_;
+	std::vector<std::string> sourceUrls_;
+	std::string callbackUrl_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATELIVEPULLTOPUSHREQUEST_H_

+ 53 - 0
live/include/alibabacloud/live/model/UpdateLivePullToPushResult.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_UPDATELIVEPULLTOPUSHRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATELIVEPULLTOPUSHRESULT_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 UpdateLivePullToPushResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateLivePullToPushResult();
+				explicit UpdateLivePullToPushResult(const std::string &payload);
+				~UpdateLivePullToPushResult();
+				std::string getDescription()const;
+				int getRetCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string description_;
+				int retCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATELIVEPULLTOPUSHRESULT_H_

+ 80 - 0
live/include/alibabacloud/live/model/UpdateRtcCloudRecordingRequest.h

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_UPDATERTCCLOUDRECORDINGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATERTCCLOUDRECORDINGREQUEST_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 UpdateRtcCloudRecordingRequest : public RpcServiceRequest {
+public:
+	struct SubscribeParams {
+		struct SubscribeUserIdListItem {
+			int streamType;
+			int sourceType;
+			std::string userId;
+		};
+		SubscribeUserIdListItem subscribeUserIdListItem;
+		std::vector<SubscribeUserIdListItem> subscribeUserIdList;
+	};
+	struct MixLayoutParams {
+		struct UserPanesItem {
+			int zOrder;
+			std::string width;
+			std::string x;
+			std::string y;
+			int sourceType;
+			std::string userId;
+			std::string height;
+			struct SubBackground {
+				int renderMode;
+				std::string url;
+			};
+			SubBackground subBackground;
+		};
+		UserPanesItem userPanesItem;
+		std::vector<UserPanesItem> userPanes;
+		struct MixBackground {
+			int renderMode;
+			std::string url;
+		};
+		MixBackground mixBackground;
+	};
+	UpdateRtcCloudRecordingRequest();
+	~UpdateRtcCloudRecordingRequest();
+	std::string getTaskId() const;
+	void setTaskId(const std::string &taskId);
+	SubscribeParams getSubscribeParams() const;
+	void setSubscribeParams(const SubscribeParams &subscribeParams);
+	MixLayoutParams getMixLayoutParams() const;
+	void setMixLayoutParams(const MixLayoutParams &mixLayoutParams);
+
+private:
+	std::string taskId_;
+	SubscribeParams subscribeParams_;
+	MixLayoutParams mixLayoutParams_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATERTCCLOUDRECORDINGREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/UpdateRtcCloudRecordingResult.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_UPDATERTCCLOUDRECORDINGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATERTCCLOUDRECORDINGRESULT_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 UpdateRtcCloudRecordingResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateRtcCloudRecordingResult();
+				explicit UpdateRtcCloudRecordingResult(const std::string &payload);
+				~UpdateRtcCloudRecordingResult();
+				std::string getTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATERTCCLOUDRECORDINGRESULT_H_

+ 731 - 11
live/src/LiveClient.cc

@@ -2067,6 +2067,42 @@ LiveClient::CreateLivePrivateLineOutcomeCallable LiveClient::createLivePrivateLi
 	return task->get_future();
 }
 
+LiveClient::CreateLivePullToPushOutcome LiveClient::createLivePullToPush(const CreateLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateLivePullToPushOutcome(CreateLivePullToPushResult(outcome.result()));
+	else
+		return CreateLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::createLivePullToPushAsync(const CreateLivePullToPushRequest& request, const CreateLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::CreateLivePullToPushOutcomeCallable LiveClient::createLivePullToPushCallable(const CreateLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->createLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::CreateLiveRealTimeLogDeliveryOutcome LiveClient::createLiveRealTimeLogDelivery(const CreateLiveRealTimeLogDeliveryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2283,6 +2319,42 @@ LiveClient::CreateMixStreamOutcomeCallable LiveClient::createMixStreamCallable(c
 	return task->get_future();
 }
 
+LiveClient::CreateRTCWhipStreamAddressOutcome LiveClient::createRTCWhipStreamAddress(const CreateRTCWhipStreamAddressRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateRTCWhipStreamAddressOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateRTCWhipStreamAddressOutcome(CreateRTCWhipStreamAddressResult(outcome.result()));
+	else
+		return CreateRTCWhipStreamAddressOutcome(outcome.error());
+}
+
+void LiveClient::createRTCWhipStreamAddressAsync(const CreateRTCWhipStreamAddressRequest& request, const CreateRTCWhipStreamAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createRTCWhipStreamAddress(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::CreateRTCWhipStreamAddressOutcomeCallable LiveClient::createRTCWhipStreamAddressCallable(const CreateRTCWhipStreamAddressRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateRTCWhipStreamAddressOutcome()>>(
+			[this, request]()
+			{
+			return this->createRTCWhipStreamAddress(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::CreateRoomRealTimeStreamAddressOutcome LiveClient::createRoomRealTimeStreamAddress(const CreateRoomRealTimeStreamAddressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3579,6 +3651,42 @@ LiveClient::DeleteLivePullStreamInfoConfigOutcomeCallable LiveClient::deleteLive
 	return task->get_future();
 }
 
+LiveClient::DeleteLivePullToPushOutcome LiveClient::deleteLivePullToPush(const DeleteLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLivePullToPushOutcome(DeleteLivePullToPushResult(outcome.result()));
+	else
+		return DeleteLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::deleteLivePullToPushAsync(const DeleteLivePullToPushRequest& request, const DeleteLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLivePullToPushOutcomeCallable LiveClient::deleteLivePullToPushCallable(const DeleteLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveRealTimeLogLogstoreOutcome LiveClient::deleteLiveRealTimeLogLogstore(const DeleteLiveRealTimeLogLogstoreRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5991,6 +6099,42 @@ LiveClient::DescribeLiveDomainMonitoringUsageDataOutcomeCallable LiveClient::des
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveDomainMultiStreamConfigOutcome LiveClient::describeLiveDomainMultiStreamConfig(const DescribeLiveDomainMultiStreamConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainMultiStreamConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainMultiStreamConfigOutcome(DescribeLiveDomainMultiStreamConfigResult(outcome.result()));
+	else
+		return DescribeLiveDomainMultiStreamConfigOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainMultiStreamConfigAsync(const DescribeLiveDomainMultiStreamConfigRequest& request, const DescribeLiveDomainMultiStreamConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainMultiStreamConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainMultiStreamConfigOutcomeCallable LiveClient::describeLiveDomainMultiStreamConfigCallable(const DescribeLiveDomainMultiStreamConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainMultiStreamConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainMultiStreamConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveDomainOnlineUserNumOutcome LiveClient::describeLiveDomainOnlineUserNum(const DescribeLiveDomainOnlineUserNumRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7107,6 +7251,78 @@ LiveClient::DescribeLivePullStreamConfigOutcomeCallable LiveClient::describeLive
 	return task->get_future();
 }
 
+LiveClient::DescribeLivePullToPushOutcome LiveClient::describeLivePullToPush(const DescribeLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLivePullToPushOutcome(DescribeLivePullToPushResult(outcome.result()));
+	else
+		return DescribeLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::describeLivePullToPushAsync(const DescribeLivePullToPushRequest& request, const DescribeLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLivePullToPushOutcomeCallable LiveClient::describeLivePullToPushCallable(const DescribeLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::DescribeLivePullToPushListOutcome LiveClient::describeLivePullToPushList(const DescribeLivePullToPushListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLivePullToPushListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLivePullToPushListOutcome(DescribeLivePullToPushListResult(outcome.result()));
+	else
+		return DescribeLivePullToPushListOutcome(outcome.error());
+}
+
+void LiveClient::describeLivePullToPushListAsync(const DescribeLivePullToPushListRequest& request, const DescribeLivePullToPushListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLivePullToPushList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLivePullToPushListOutcomeCallable LiveClient::describeLivePullToPushListCallable(const DescribeLivePullToPushListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLivePullToPushListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLivePullToPushList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLivePushProxyLogOutcome LiveClient::describeLivePushProxyLog(const DescribeLivePushProxyLogRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8763,6 +8979,42 @@ LiveClient::DescribeLiveUserTagsOutcomeCallable LiveClient::describeLiveUserTags
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveUserTrafficLogOutcome LiveClient::describeLiveUserTrafficLog(const DescribeLiveUserTrafficLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveUserTrafficLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveUserTrafficLogOutcome(DescribeLiveUserTrafficLogResult(outcome.result()));
+	else
+		return DescribeLiveUserTrafficLogOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveUserTrafficLogAsync(const DescribeLiveUserTrafficLogRequest& request, const DescribeLiveUserTrafficLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveUserTrafficLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveUserTrafficLogOutcomeCallable LiveClient::describeLiveUserTrafficLogCallable(const DescribeLiveUserTrafficLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveUserTrafficLogOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveUserTrafficLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveVerifyContentOutcome LiveClient::describeLiveVerifyContent(const DescribeLiveVerifyContentRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9051,6 +9303,42 @@ LiveClient::DescribeRTSNativeSDKVvDataOutcomeCallable LiveClient::describeRTSNat
 	return task->get_future();
 }
 
+LiveClient::DescribeRtcCloudRecordingFilesOutcome LiveClient::describeRtcCloudRecordingFiles(const DescribeRtcCloudRecordingFilesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRtcCloudRecordingFilesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRtcCloudRecordingFilesOutcome(DescribeRtcCloudRecordingFilesResult(outcome.result()));
+	else
+		return DescribeRtcCloudRecordingFilesOutcome(outcome.error());
+}
+
+void LiveClient::describeRtcCloudRecordingFilesAsync(const DescribeRtcCloudRecordingFilesRequest& request, const DescribeRtcCloudRecordingFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRtcCloudRecordingFiles(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeRtcCloudRecordingFilesOutcomeCallable LiveClient::describeRtcCloudRecordingFilesCallable(const DescribeRtcCloudRecordingFilesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRtcCloudRecordingFilesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRtcCloudRecordingFiles(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeRtcMPUEventSubOutcome LiveClient::describeRtcMPUEventSub(const DescribeRtcMPUEventSubRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9267,6 +9555,42 @@ LiveClient::DescribeToutiaoLivePublishOutcomeCallable LiveClient::describeToutia
 	return task->get_future();
 }
 
+LiveClient::DescribeUidOnlineStreamsOutcome LiveClient::describeUidOnlineStreams(const DescribeUidOnlineStreamsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeUidOnlineStreamsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeUidOnlineStreamsOutcome(DescribeUidOnlineStreamsResult(outcome.result()));
+	else
+		return DescribeUidOnlineStreamsOutcome(outcome.error());
+}
+
+void LiveClient::describeUidOnlineStreamsAsync(const DescribeUidOnlineStreamsRequest& request, const DescribeUidOnlineStreamsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeUidOnlineStreams(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeUidOnlineStreamsOutcomeCallable LiveClient::describeUidOnlineStreamsCallable(const DescribeUidOnlineStreamsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeUidOnlineStreamsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeUidOnlineStreams(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeUpBpsPeakDataOutcome LiveClient::describeUpBpsPeakData(const DescribeUpBpsPeakDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -11859,47 +12183,83 @@ LiveClient::PublishLiveStagingConfigToProductionOutcomeCallable LiveClient::publ
 	return task->get_future();
 }
 
-LiveClient::QueryMessageAppOutcome LiveClient::queryMessageApp(const QueryMessageAppRequest &request) const
+LiveClient::QueryLiveDomainMultiStreamListOutcome LiveClient::queryLiveDomainMultiStreamList(const QueryLiveDomainMultiStreamListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return QueryMessageAppOutcome(endpointOutcome.error());
+		return QueryLiveDomainMultiStreamListOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return QueryMessageAppOutcome(QueryMessageAppResult(outcome.result()));
+		return QueryLiveDomainMultiStreamListOutcome(QueryLiveDomainMultiStreamListResult(outcome.result()));
 	else
-		return QueryMessageAppOutcome(outcome.error());
+		return QueryLiveDomainMultiStreamListOutcome(outcome.error());
 }
 
-void LiveClient::queryMessageAppAsync(const QueryMessageAppRequest& request, const QueryMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::queryLiveDomainMultiStreamListAsync(const QueryLiveDomainMultiStreamListRequest& request, const QueryLiveDomainMultiStreamListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, queryMessageApp(request), context);
+		handler(this, request, queryLiveDomainMultiStreamList(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-LiveClient::QueryMessageAppOutcomeCallable LiveClient::queryMessageAppCallable(const QueryMessageAppRequest &request) const
+LiveClient::QueryLiveDomainMultiStreamListOutcomeCallable LiveClient::queryLiveDomainMultiStreamListCallable(const QueryLiveDomainMultiStreamListRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<QueryMessageAppOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<QueryLiveDomainMultiStreamListOutcome()>>(
 			[this, request]()
 			{
-			return this->queryMessageApp(request);
+			return this->queryLiveDomainMultiStreamList(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-LiveClient::QueryRtcAsrTasksOutcome LiveClient::queryRtcAsrTasks(const QueryRtcAsrTasksRequest &request) const
+LiveClient::QueryMessageAppOutcome LiveClient::queryMessageApp(const QueryMessageAppRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return QueryRtcAsrTasksOutcome(endpointOutcome.error());
+		return QueryMessageAppOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryMessageAppOutcome(QueryMessageAppResult(outcome.result()));
+	else
+		return QueryMessageAppOutcome(outcome.error());
+}
+
+void LiveClient::queryMessageAppAsync(const QueryMessageAppRequest& request, const QueryMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryMessageApp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::QueryMessageAppOutcomeCallable LiveClient::queryMessageAppCallable(const QueryMessageAppRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryMessageAppOutcome()>>(
+			[this, request]()
+			{
+			return this->queryMessageApp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::QueryRtcAsrTasksOutcome LiveClient::queryRtcAsrTasks(const QueryRtcAsrTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryRtcAsrTasksOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
@@ -12183,6 +12543,42 @@ LiveClient::RestartCasterOutcomeCallable LiveClient::restartCasterCallable(const
 	return task->get_future();
 }
 
+LiveClient::RestartLivePullToPushOutcome LiveClient::restartLivePullToPush(const RestartLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RestartLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RestartLivePullToPushOutcome(RestartLivePullToPushResult(outcome.result()));
+	else
+		return RestartLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::restartLivePullToPushAsync(const RestartLivePullToPushRequest& request, const RestartLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, restartLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::RestartLivePullToPushOutcomeCallable LiveClient::restartLivePullToPushCallable(const RestartLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RestartLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->restartLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::RestartTranscodeTaskOutcome LiveClient::restartTranscodeTask(const RestartTranscodeTaskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -12615,6 +13011,114 @@ LiveClient::SetLiveDomainCertificateOutcomeCallable LiveClient::setLiveDomainCer
 	return task->get_future();
 }
 
+LiveClient::SetLiveDomainMultiStreamConfigOutcome LiveClient::setLiveDomainMultiStreamConfig(const SetLiveDomainMultiStreamConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveDomainMultiStreamConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveDomainMultiStreamConfigOutcome(SetLiveDomainMultiStreamConfigResult(outcome.result()));
+	else
+		return SetLiveDomainMultiStreamConfigOutcome(outcome.error());
+}
+
+void LiveClient::setLiveDomainMultiStreamConfigAsync(const SetLiveDomainMultiStreamConfigRequest& request, const SetLiveDomainMultiStreamConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveDomainMultiStreamConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveDomainMultiStreamConfigOutcomeCallable LiveClient::setLiveDomainMultiStreamConfigCallable(const SetLiveDomainMultiStreamConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveDomainMultiStreamConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveDomainMultiStreamConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::SetLiveDomainMultiStreamMasterOutcome LiveClient::setLiveDomainMultiStreamMaster(const SetLiveDomainMultiStreamMasterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveDomainMultiStreamMasterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveDomainMultiStreamMasterOutcome(SetLiveDomainMultiStreamMasterResult(outcome.result()));
+	else
+		return SetLiveDomainMultiStreamMasterOutcome(outcome.error());
+}
+
+void LiveClient::setLiveDomainMultiStreamMasterAsync(const SetLiveDomainMultiStreamMasterRequest& request, const SetLiveDomainMultiStreamMasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveDomainMultiStreamMaster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveDomainMultiStreamMasterOutcomeCallable LiveClient::setLiveDomainMultiStreamMasterCallable(const SetLiveDomainMultiStreamMasterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveDomainMultiStreamMasterOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveDomainMultiStreamMaster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::SetLiveDomainMultiStreamOptimalModeOutcome LiveClient::setLiveDomainMultiStreamOptimalMode(const SetLiveDomainMultiStreamOptimalModeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveDomainMultiStreamOptimalModeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveDomainMultiStreamOptimalModeOutcome(SetLiveDomainMultiStreamOptimalModeResult(outcome.result()));
+	else
+		return SetLiveDomainMultiStreamOptimalModeOutcome(outcome.error());
+}
+
+void LiveClient::setLiveDomainMultiStreamOptimalModeAsync(const SetLiveDomainMultiStreamOptimalModeRequest& request, const SetLiveDomainMultiStreamOptimalModeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveDomainMultiStreamOptimalMode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveDomainMultiStreamOptimalModeOutcomeCallable LiveClient::setLiveDomainMultiStreamOptimalModeCallable(const SetLiveDomainMultiStreamOptimalModeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveDomainMultiStreamOptimalModeOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveDomainMultiStreamOptimalMode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::SetLiveDomainStagingConfigOutcome LiveClient::setLiveDomainStagingConfig(const SetLiveDomainStagingConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -13227,6 +13731,42 @@ LiveClient::StartPlaylistOutcomeCallable LiveClient::startPlaylistCallable(const
 	return task->get_future();
 }
 
+LiveClient::StartRtcCloudRecordingOutcome LiveClient::startRtcCloudRecording(const StartRtcCloudRecordingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartRtcCloudRecordingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartRtcCloudRecordingOutcome(StartRtcCloudRecordingResult(outcome.result()));
+	else
+		return StartRtcCloudRecordingOutcome(outcome.error());
+}
+
+void LiveClient::startRtcCloudRecordingAsync(const StartRtcCloudRecordingRequest& request, const StartRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startRtcCloudRecording(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::StartRtcCloudRecordingOutcomeCallable LiveClient::startRtcCloudRecordingCallable(const StartRtcCloudRecordingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartRtcCloudRecordingOutcome()>>(
+			[this, request]()
+			{
+			return this->startRtcCloudRecording(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::StopCasterOutcome LiveClient::stopCaster(const StopCasterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -13407,6 +13947,42 @@ LiveClient::StopLiveMPUTaskOutcomeCallable LiveClient::stopLiveMPUTaskCallable(c
 	return task->get_future();
 }
 
+LiveClient::StopLivePullToPushOutcome LiveClient::stopLivePullToPush(const StopLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopLivePullToPushOutcome(StopLivePullToPushResult(outcome.result()));
+	else
+		return StopLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::stopLivePullToPushAsync(const StopLivePullToPushRequest& request, const StopLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::StopLivePullToPushOutcomeCallable LiveClient::stopLivePullToPushCallable(const StopLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->stopLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::StopLiveStreamMonitorOutcome LiveClient::stopLiveStreamMonitor(const StopLiveStreamMonitorRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -13515,6 +14091,42 @@ LiveClient::StopRtcAsrTaskOutcomeCallable LiveClient::stopRtcAsrTaskCallable(con
 	return task->get_future();
 }
 
+LiveClient::StopRtcCloudRecordingOutcome LiveClient::stopRtcCloudRecording(const StopRtcCloudRecordingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopRtcCloudRecordingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopRtcCloudRecordingOutcome(StopRtcCloudRecordingResult(outcome.result()));
+	else
+		return StopRtcCloudRecordingOutcome(outcome.error());
+}
+
+void LiveClient::stopRtcCloudRecordingAsync(const StopRtcCloudRecordingRequest& request, const StopRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopRtcCloudRecording(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::StopRtcCloudRecordingOutcomeCallable LiveClient::stopRtcCloudRecordingCallable(const StopRtcCloudRecordingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopRtcCloudRecordingOutcome()>>(
+			[this, request]()
+			{
+			return this->stopRtcCloudRecording(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::TagLiveResourcesOutcome LiveClient::tagLiveResources(const TagLiveResourcesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -13551,6 +14163,42 @@ LiveClient::TagLiveResourcesOutcomeCallable LiveClient::tagLiveResourcesCallable
 	return task->get_future();
 }
 
+LiveClient::UnTagLiveResourcesOutcome LiveClient::unTagLiveResources(const UnTagLiveResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnTagLiveResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnTagLiveResourcesOutcome(UnTagLiveResourcesResult(outcome.result()));
+	else
+		return UnTagLiveResourcesOutcome(outcome.error());
+}
+
+void LiveClient::unTagLiveResourcesAsync(const UnTagLiveResourcesRequest& request, const UnTagLiveResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unTagLiveResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UnTagLiveResourcesOutcomeCallable LiveClient::unTagLiveResourcesCallable(const UnTagLiveResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnTagLiveResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->unTagLiveResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UnbanLiveMessageGroupOutcome LiveClient::unbanLiveMessageGroup(const UnbanLiveMessageGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -14235,6 +14883,42 @@ LiveClient::UpdateLivePullStreamInfoConfigOutcomeCallable LiveClient::updateLive
 	return task->get_future();
 }
 
+LiveClient::UpdateLivePullToPushOutcome LiveClient::updateLivePullToPush(const UpdateLivePullToPushRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateLivePullToPushOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateLivePullToPushOutcome(UpdateLivePullToPushResult(outcome.result()));
+	else
+		return UpdateLivePullToPushOutcome(outcome.error());
+}
+
+void LiveClient::updateLivePullToPushAsync(const UpdateLivePullToPushRequest& request, const UpdateLivePullToPushAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateLivePullToPush(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateLivePullToPushOutcomeCallable LiveClient::updateLivePullToPushCallable(const UpdateLivePullToPushRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateLivePullToPushOutcome()>>(
+			[this, request]()
+			{
+			return this->updateLivePullToPush(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateLiveRecordNotifyConfigOutcome LiveClient::updateLiveRecordNotifyConfig(const UpdateLiveRecordNotifyConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -14631,6 +15315,42 @@ LiveClient::UpdateMixStreamOutcomeCallable LiveClient::updateMixStreamCallable(c
 	return task->get_future();
 }
 
+LiveClient::UpdateRtcCloudRecordingOutcome LiveClient::updateRtcCloudRecording(const UpdateRtcCloudRecordingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateRtcCloudRecordingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateRtcCloudRecordingOutcome(UpdateRtcCloudRecordingResult(outcome.result()));
+	else
+		return UpdateRtcCloudRecordingOutcome(outcome.error());
+}
+
+void LiveClient::updateRtcCloudRecordingAsync(const UpdateRtcCloudRecordingRequest& request, const UpdateRtcCloudRecordingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateRtcCloudRecording(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateRtcCloudRecordingOutcomeCallable LiveClient::updateRtcCloudRecordingCallable(const UpdateRtcCloudRecordingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateRtcCloudRecordingOutcome()>>(
+			[this, request]()
+			{
+			return this->updateRtcCloudRecording(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateRtcMPUEventSubOutcome LiveClient::updateRtcMPUEventSub(const UpdateRtcMPUEventSubRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 18 - 0
live/src/model/CreateLiveMessageAppRequest.cc

@@ -25,6 +25,15 @@ CreateLiveMessageAppRequest::CreateLiveMessageAppRequest()
 
 CreateLiveMessageAppRequest::~CreateLiveMessageAppRequest() {}
 
+int CreateLiveMessageAppRequest::getStreamSupport() const {
+  return streamSupport_;
+}
+
+void CreateLiveMessageAppRequest::setStreamSupport(int streamSupport) {
+  streamSupport_ = streamSupport;
+  setParameter(std::string("StreamSupport"), std::to_string(streamSupport));
+}
+
 std::string CreateLiveMessageAppRequest::getDataCenter() const {
   return dataCenter_;
 }
@@ -34,6 +43,15 @@ void CreateLiveMessageAppRequest::setDataCenter(const std::string &dataCenter) {
   setParameter(std::string("DataCenter"), dataCenter);
 }
 
+int CreateLiveMessageAppRequest::getRichTextSupport() const {
+  return richTextSupport_;
+}
+
+void CreateLiveMessageAppRequest::setRichTextSupport(int richTextSupport) {
+  richTextSupport_ = richTextSupport;
+  setParameter(std::string("RichTextSupport"), std::to_string(richTextSupport));
+}
+
 int CreateLiveMessageAppRequest::getMsgLifeCycle() const {
   return msgLifeCycle_;
 }

+ 164 - 0
live/src/model/CreateLivePullToPushRequest.cc

@@ -0,0 +1,164 @@
+/*
+ * 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/CreateLivePullToPushRequest.h>
+
+using AlibabaCloud::Live::Model::CreateLivePullToPushRequest;
+
+CreateLivePullToPushRequest::CreateLivePullToPushRequest()
+    : RpcServiceRequest("live", "2016-11-01", "CreateLivePullToPush") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateLivePullToPushRequest::~CreateLivePullToPushRequest() {}
+
+int CreateLivePullToPushRequest::getFileIndex() const {
+  return fileIndex_;
+}
+
+void CreateLivePullToPushRequest::setFileIndex(int fileIndex) {
+  fileIndex_ = fileIndex;
+  setParameter(std::string("FileIndex"), std::to_string(fileIndex));
+}
+
+int CreateLivePullToPushRequest::getRetryCount() const {
+  return retryCount_;
+}
+
+void CreateLivePullToPushRequest::setRetryCount(int retryCount) {
+  retryCount_ = retryCount;
+  setParameter(std::string("RetryCount"), std::to_string(retryCount));
+}
+
+std::string CreateLivePullToPushRequest::getTaskName() const {
+  return taskName_;
+}
+
+void CreateLivePullToPushRequest::setTaskName(const std::string &taskName) {
+  taskName_ = taskName;
+  setParameter(std::string("TaskName"), taskName);
+}
+
+std::string CreateLivePullToPushRequest::getStartTime() const {
+  return startTime_;
+}
+
+void CreateLivePullToPushRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+int CreateLivePullToPushRequest::getRepeatNumber() const {
+  return repeatNumber_;
+}
+
+void CreateLivePullToPushRequest::setRepeatNumber(int repeatNumber) {
+  repeatNumber_ = repeatNumber;
+  setParameter(std::string("RepeatNumber"), std::to_string(repeatNumber));
+}
+
+std::string CreateLivePullToPushRequest::getSourceProtocol() const {
+  return sourceProtocol_;
+}
+
+void CreateLivePullToPushRequest::setSourceProtocol(const std::string &sourceProtocol) {
+  sourceProtocol_ = sourceProtocol;
+  setParameter(std::string("SourceProtocol"), sourceProtocol);
+}
+
+std::string CreateLivePullToPushRequest::getSourceType() const {
+  return sourceType_;
+}
+
+void CreateLivePullToPushRequest::setSourceType(const std::string &sourceType) {
+  sourceType_ = sourceType;
+  setParameter(std::string("SourceType"), sourceType);
+}
+
+int CreateLivePullToPushRequest::getOffset() const {
+  return offset_;
+}
+
+void CreateLivePullToPushRequest::setOffset(int offset) {
+  offset_ = offset;
+  setParameter(std::string("Offset"), std::to_string(offset));
+}
+
+std::string CreateLivePullToPushRequest::getDstUrl() const {
+  return dstUrl_;
+}
+
+void CreateLivePullToPushRequest::setDstUrl(const std::string &dstUrl) {
+  dstUrl_ = dstUrl;
+  setParameter(std::string("DstUrl"), dstUrl);
+}
+
+std::string CreateLivePullToPushRequest::getEndTime() const {
+  return endTime_;
+}
+
+void CreateLivePullToPushRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long CreateLivePullToPushRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateLivePullToPushRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::vector<CreateLivePullToPushRequest::std::string> CreateLivePullToPushRequest::getSourceUrls() const {
+  return sourceUrls_;
+}
+
+void CreateLivePullToPushRequest::setSourceUrls(const std::vector<CreateLivePullToPushRequest::std::string> &sourceUrls) {
+  sourceUrls_ = sourceUrls;
+  for(int dep1 = 0; dep1 != sourceUrls.size(); dep1++) {
+    setParameter(std::string("SourceUrls") + "." + std::to_string(dep1 + 1), sourceUrls[dep1]);
+  }
+}
+
+int CreateLivePullToPushRequest::getRetryInterval() const {
+  return retryInterval_;
+}
+
+void CreateLivePullToPushRequest::setRetryInterval(int retryInterval) {
+  retryInterval_ = retryInterval;
+  setParameter(std::string("RetryInterval"), std::to_string(retryInterval));
+}
+
+std::string CreateLivePullToPushRequest::getCallbackUrl() const {
+  return callbackUrl_;
+}
+
+void CreateLivePullToPushRequest::setCallbackUrl(const std::string &callbackUrl) {
+  callbackUrl_ = callbackUrl;
+  setParameter(std::string("CallbackUrl"), callbackUrl);
+}
+
+std::string CreateLivePullToPushRequest::getRegion() const {
+  return region_;
+}
+
+void CreateLivePullToPushRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 65 - 0
live/src/model/CreateLivePullToPushResult.cc

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

+ 81 - 0
live/src/model/CreateRTCWhipStreamAddressRequest.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/CreateRTCWhipStreamAddressRequest.h>
+
+using AlibabaCloud::Live::Model::CreateRTCWhipStreamAddressRequest;
+
+CreateRTCWhipStreamAddressRequest::CreateRTCWhipStreamAddressRequest()
+    : RpcServiceRequest("live", "2016-11-01", "CreateRTCWhipStreamAddress") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateRTCWhipStreamAddressRequest::~CreateRTCWhipStreamAddressRequest() {}
+
+int CreateRTCWhipStreamAddressRequest::getExpireTime() const {
+  return expireTime_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setExpireTime(int expireTime) {
+  expireTime_ = expireTime;
+  setParameter(std::string("ExpireTime"), std::to_string(expireTime));
+}
+
+std::string CreateRTCWhipStreamAddressRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreateRTCWhipStreamAddressRequest::getUserId() const {
+  return userId_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setUserId(const std::string &userId) {
+  userId_ = userId;
+  setParameter(std::string("UserId"), userId);
+}
+
+std::string CreateRTCWhipStreamAddressRequest::getAppId() const {
+  return appId_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+
+std::string CreateRTCWhipStreamAddressRequest::getDisplayName() const {
+  return displayName_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setDisplayName(const std::string &displayName) {
+  displayName_ = displayName;
+  setParameter(std::string("DisplayName"), displayName);
+}
+
+std::string CreateRTCWhipStreamAddressRequest::getChannelId() const {
+  return channelId_;
+}
+
+void CreateRTCWhipStreamAddressRequest::setChannelId(const std::string &channelId) {
+  channelId_ = channelId;
+  setParameter(std::string("ChannelId"), channelId);
+}
+

+ 51 - 0
live/src/model/CreateRTCWhipStreamAddressResult.cc

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

+ 54 - 0
live/src/model/DeleteLivePullToPushRequest.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/DeleteLivePullToPushRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLivePullToPushRequest;
+
+DeleteLivePullToPushRequest::DeleteLivePullToPushRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DeleteLivePullToPush") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DeleteLivePullToPushRequest::~DeleteLivePullToPushRequest() {}
+
+std::string DeleteLivePullToPushRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DeleteLivePullToPushRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+
+long DeleteLivePullToPushRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteLivePullToPushRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DeleteLivePullToPushRequest::getRegion() const {
+  return region_;
+}
+
+void DeleteLivePullToPushRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 58 - 0
live/src/model/DeleteLivePullToPushResult.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/DeleteLivePullToPushResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DeleteLivePullToPushResult::DeleteLivePullToPushResult() :
+	ServiceResult()
+{}
+
+DeleteLivePullToPushResult::DeleteLivePullToPushResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteLivePullToPushResult::~DeleteLivePullToPushResult()
+{}
+
+void DeleteLivePullToPushResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["RetCode"].isNull())
+		retCode_ = std::stoi(value["RetCode"].asString());
+	if(!value["Description"].isNull())
+		description_ = value["Description"].asString();
+
+}
+
+std::string DeleteLivePullToPushResult::getDescription()const
+{
+	return description_;
+}
+
+int DeleteLivePullToPushResult::getRetCode()const
+{
+	return retCode_;
+}
+

+ 10 - 0
live/src/model/DescribeCasterConfigResult.cc

@@ -76,6 +76,16 @@ void DescribeCasterConfigResult::parse(const std::string &payload)
 	auto transcodeConfigNode = value["TranscodeConfig"];
 	if(!transcodeConfigNode["CasterTemplate"].isNull())
 		transcodeConfig_.casterTemplate = transcodeConfigNode["CasterTemplate"].asString();
+	auto customParamsNode = transcodeConfigNode["CustomParams"];
+	auto videoNode = customParamsNode["video"];
+	if(!videoNode["fps"].isNull())
+		transcodeConfig_.customParams.video.fps = std::stoi(videoNode["fps"].asString());
+	if(!videoNode["bitrate"].isNull())
+		transcodeConfig_.customParams.video.bitrate = std::stoi(videoNode["bitrate"].asString());
+	if(!videoNode["width"].isNull())
+		transcodeConfig_.customParams.video.width = std::stoi(videoNode["width"].asString());
+	if(!videoNode["height"].isNull())
+		transcodeConfig_.customParams.video.height = std::stoi(videoNode["height"].asString());
 		auto allLiveTemplateIds = transcodeConfigNode["LiveTemplateIds"]["LocationId"];
 		for (auto value : allLiveTemplateIds)
 			transcodeConfig_.liveTemplateIds.push_back(value.asString());

+ 45 - 0
live/src/model/DescribeLiveDomainMultiStreamConfigRequest.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/DescribeLiveDomainMultiStreamConfigRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainMultiStreamConfigRequest;
+
+DescribeLiveDomainMultiStreamConfigRequest::DescribeLiveDomainMultiStreamConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainMultiStreamConfig") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeLiveDomainMultiStreamConfigRequest::~DescribeLiveDomainMultiStreamConfigRequest() {}
+
+long DescribeLiveDomainMultiStreamConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLiveDomainMultiStreamConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLiveDomainMultiStreamConfigRequest::getDomain() const {
+  return domain_;
+}
+
+void DescribeLiveDomainMultiStreamConfigRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("Domain"), domain);
+}
+

+ 51 - 0
live/src/model/DescribeLiveDomainMultiStreamConfigResult.cc

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

+ 14 - 0
live/src/model/DescribeLiveMessageAppResult.cc

@@ -63,6 +63,10 @@ void DescribeLiveMessageAppResult::parse(const std::string &payload)
 		modifyTime_ = std::stol(value["ModifyTime"].asString());
 	if(!value["MsgLifeCycle"].isNull())
 		msgLifeCycle_ = std::stoi(value["MsgLifeCycle"].asString());
+	if(!value["StreamSupport"].isNull())
+		streamSupport_ = std::stoi(value["StreamSupport"].asString());
+	if(!value["RichTextSupport"].isNull())
+		richTextSupport_ = std::stoi(value["RichTextSupport"].asString());
 	if(!value["DataCenter"].isNull())
 		dataCenter_ = value["DataCenter"].asString();
 
@@ -73,6 +77,11 @@ long DescribeLiveMessageAppResult::getModifyTime()const
 	return modifyTime_;
 }
 
+int DescribeLiveMessageAppResult::getRichTextSupport()const
+{
+	return richTextSupport_;
+}
+
 int DescribeLiveMessageAppResult::getAuditType()const
 {
 	return auditType_;
@@ -93,6 +102,11 @@ std::string DescribeLiveMessageAppResult::getEventCallbackUrl()const
 	return eventCallbackUrl_;
 }
 
+int DescribeLiveMessageAppResult::getStreamSupport()const
+{
+	return streamSupport_;
+}
+
 std::string DescribeLiveMessageAppResult::getAppName()const
 {
 	return appName_;

+ 21 - 14
live/src/model/DescribeLiveMessageGroupResult.cc

@@ -64,6 +64,8 @@ void DescribeLiveMessageGroupResult::parse(const std::string &payload)
 		deletatime_ = std::stol(value["Deletatime"].asString());
 	if(!value["Deletor"].isNull())
 		deletor_ = value["Deletor"].asString();
+	if(!value["SuperLargeGroup"].isNull())
+		superLargeGroup_ = value["SuperLargeGroup"].asString() == "true";
 
 }
 
@@ -72,19 +74,14 @@ std::string DescribeLiveMessageGroupResult::getGroupName()const
 	return groupName_;
 }
 
-std::vector<std::string> DescribeLiveMessageGroupResult::getAdminList()const
-{
-	return adminList_;
-}
-
-bool DescribeLiveMessageGroupResult::get_Delete()const
+long DescribeLiveMessageGroupResult::getDeletatime()const
 {
-	return _delete_;
+	return deletatime_;
 }
 
-long DescribeLiveMessageGroupResult::getDeletatime()const
+bool DescribeLiveMessageGroupResult::getSuperLargeGroup()const
 {
-	return deletatime_;
+	return superLargeGroup_;
 }
 
 long DescribeLiveMessageGroupResult::getTotalTimes()const
@@ -97,11 +94,6 @@ std::string DescribeLiveMessageGroupResult::getMsgAmount()const
 	return msgAmount_;
 }
 
-long DescribeLiveMessageGroupResult::getCreatetime()const
-{
-	return createtime_;
-}
-
 std::string DescribeLiveMessageGroupResult::getGroupInfo()const
 {
 	return groupInfo_;
@@ -122,6 +114,21 @@ std::string DescribeLiveMessageGroupResult::getGroupId()const
 	return groupId_;
 }
 
+std::vector<std::string> DescribeLiveMessageGroupResult::getAdminList()const
+{
+	return adminList_;
+}
+
+bool DescribeLiveMessageGroupResult::get_Delete()const
+{
+	return _delete_;
+}
+
+long DescribeLiveMessageGroupResult::getCreatetime()const
+{
+	return createtime_;
+}
+
 std::string DescribeLiveMessageGroupResult::getDeletor()const
 {
 	return deletor_;

+ 90 - 0
live/src/model/DescribeLivePullToPushListRequest.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/DescribeLivePullToPushListRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLivePullToPushListRequest;
+
+DescribeLivePullToPushListRequest::DescribeLivePullToPushListRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLivePullToPushList") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeLivePullToPushListRequest::~DescribeLivePullToPushListRequest() {}
+
+std::string DescribeLivePullToPushListRequest::getTaskName() const {
+  return taskName_;
+}
+
+void DescribeLivePullToPushListRequest::setTaskName(const std::string &taskName) {
+  taskName_ = taskName;
+  setParameter(std::string("TaskName"), taskName);
+}
+
+int DescribeLivePullToPushListRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeLivePullToPushListRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+int DescribeLivePullToPushListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeLivePullToPushListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeLivePullToPushListRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeLivePullToPushListRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+
+std::string DescribeLivePullToPushListRequest::getDstUrl() const {
+  return dstUrl_;
+}
+
+void DescribeLivePullToPushListRequest::setDstUrl(const std::string &dstUrl) {
+  dstUrl_ = dstUrl;
+  setParameter(std::string("DstUrl"), dstUrl);
+}
+
+long DescribeLivePullToPushListRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLivePullToPushListRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLivePullToPushListRequest::getRegion() const {
+  return region_;
+}
+
+void DescribeLivePullToPushListRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 120 - 0
live/src/model/DescribeLivePullToPushListResult.cc

@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLivePullToPushListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLivePullToPushListResult::DescribeLivePullToPushListResult() :
+	ServiceResult()
+{}
+
+DescribeLivePullToPushListResult::DescribeLivePullToPushListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLivePullToPushListResult::~DescribeLivePullToPushListResult()
+{}
+
+void DescribeLivePullToPushListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTaskListNode = value["TaskList"]["TaskListItem"];
+	for (auto valueTaskListTaskListItem : allTaskListNode)
+	{
+		TaskListItem taskListObject;
+		if(!valueTaskListTaskListItem["TaskId"].isNull())
+			taskListObject.taskId = valueTaskListTaskListItem["TaskId"].asString();
+		if(!valueTaskListTaskListItem["TaskStatus"].isNull())
+			taskListObject.taskStatus = std::stoi(valueTaskListTaskListItem["TaskStatus"].asString());
+		if(!valueTaskListTaskListItem["TaskInvalidReason"].isNull())
+			taskListObject.taskInvalidReason = valueTaskListTaskListItem["TaskInvalidReason"].asString();
+		if(!valueTaskListTaskListItem["TaskExitTime"].isNull())
+			taskListObject.taskExitTime = std::stoi(valueTaskListTaskListItem["TaskExitTime"].asString());
+		if(!valueTaskListTaskListItem["TaskExitReason"].isNull())
+			taskListObject.taskExitReason = valueTaskListTaskListItem["TaskExitReason"].asString();
+		if(!valueTaskListTaskListItem["CurrentOffset"].isNull())
+			taskListObject.currentOffset = std::stoi(valueTaskListTaskListItem["CurrentOffset"].asString());
+		if(!valueTaskListTaskListItem["CurrentFileIndex"].isNull())
+			taskListObject.currentFileIndex = std::stoi(valueTaskListTaskListItem["CurrentFileIndex"].asString());
+		auto taskInfoNode = value["TaskInfo"];
+		if(!taskInfoNode["TaskId"].isNull())
+			taskListObject.taskInfo.taskId = taskInfoNode["TaskId"].asString();
+		if(!taskInfoNode["TaskName"].isNull())
+			taskListObject.taskInfo.taskName = taskInfoNode["TaskName"].asString();
+		if(!taskInfoNode["StartTime"].isNull())
+			taskListObject.taskInfo.startTime = taskInfoNode["StartTime"].asString();
+		if(!taskInfoNode["EndTime"].isNull())
+			taskListObject.taskInfo.endTime = taskInfoNode["EndTime"].asString();
+		if(!taskInfoNode["SourceType"].isNull())
+			taskListObject.taskInfo.sourceType = taskInfoNode["SourceType"].asString();
+		if(!taskInfoNode["SourceProtocol"].isNull())
+			taskListObject.taskInfo.sourceProtocol = taskInfoNode["SourceProtocol"].asString();
+		if(!taskInfoNode["DstUrl"].isNull())
+			taskListObject.taskInfo.dstUrl = taskInfoNode["DstUrl"].asString();
+		if(!taskInfoNode["CallbackURL"].isNull())
+			taskListObject.taskInfo.callbackURL = taskInfoNode["CallbackURL"].asString();
+		if(!taskInfoNode["Offset"].isNull())
+			taskListObject.taskInfo.offset = std::stoi(taskInfoNode["Offset"].asString());
+		if(!taskInfoNode["FileIndex"].isNull())
+			taskListObject.taskInfo.fileIndex = std::stoi(taskInfoNode["FileIndex"].asString());
+		if(!taskInfoNode["RetryCount"].isNull())
+			taskListObject.taskInfo.retryCount = std::stoi(taskInfoNode["RetryCount"].asString());
+		if(!taskInfoNode["RetryInterval"].isNull())
+			taskListObject.taskInfo.retryInterval = std::stoi(taskInfoNode["RetryInterval"].asString());
+		if(!taskInfoNode["RepeatNumber"].isNull())
+			taskListObject.taskInfo.repeatNumber = std::stoi(taskInfoNode["RepeatNumber"].asString());
+			auto allSourceUrls = taskInfoNode["SourceUrls"]["sourceUrls"];
+			for (auto value : allSourceUrls)
+				taskListObject.taskInfo.sourceUrls.push_back(value.asString());
+		taskList_.push_back(taskListObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+int DescribeLivePullToPushListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeLivePullToPushListResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeLivePullToPushListResult::TaskListItem> DescribeLivePullToPushListResult::getTaskList()const
+{
+	return taskList_;
+}
+
+int DescribeLivePullToPushListResult::getTotal()const
+{
+	return total_;
+}
+

+ 54 - 0
live/src/model/DescribeLivePullToPushRequest.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/DescribeLivePullToPushRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLivePullToPushRequest;
+
+DescribeLivePullToPushRequest::DescribeLivePullToPushRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLivePullToPush") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeLivePullToPushRequest::~DescribeLivePullToPushRequest() {}
+
+std::string DescribeLivePullToPushRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeLivePullToPushRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+
+long DescribeLivePullToPushRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLivePullToPushRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLivePullToPushRequest::getRegion() const {
+  return region_;
+}
+
+void DescribeLivePullToPushRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 142 - 0
live/src/model/DescribeLivePullToPushResult.cc

@@ -0,0 +1,142 @@
+/*
+ * 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/DescribeLivePullToPushResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLivePullToPushResult::DescribeLivePullToPushResult() :
+	ServiceResult()
+{}
+
+DescribeLivePullToPushResult::DescribeLivePullToPushResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLivePullToPushResult::~DescribeLivePullToPushResult()
+{}
+
+void DescribeLivePullToPushResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto taskInfoNode = value["TaskInfo"];
+	if(!taskInfoNode["TaskId"].isNull())
+		taskInfo_.taskId = taskInfoNode["TaskId"].asString();
+	if(!taskInfoNode["TaskName"].isNull())
+		taskInfo_.taskName = taskInfoNode["TaskName"].asString();
+	if(!taskInfoNode["StartTime"].isNull())
+		taskInfo_.startTime = taskInfoNode["StartTime"].asString();
+	if(!taskInfoNode["EndTime"].isNull())
+		taskInfo_.endTime = taskInfoNode["EndTime"].asString();
+	if(!taskInfoNode["SourceType"].isNull())
+		taskInfo_.sourceType = taskInfoNode["SourceType"].asString();
+	if(!taskInfoNode["SourceProtocol"].isNull())
+		taskInfo_.sourceProtocol = taskInfoNode["SourceProtocol"].asString();
+	if(!taskInfoNode["DstUrl"].isNull())
+		taskInfo_.dstUrl = taskInfoNode["DstUrl"].asString();
+	if(!taskInfoNode["CallbackURL"].isNull())
+		taskInfo_.callbackURL = taskInfoNode["CallbackURL"].asString();
+	if(!taskInfoNode["Offset"].isNull())
+		taskInfo_.offset = std::stoi(taskInfoNode["Offset"].asString());
+	if(!taskInfoNode["FileIndex"].isNull())
+		taskInfo_.fileIndex = std::stoi(taskInfoNode["FileIndex"].asString());
+	if(!taskInfoNode["RetryCount"].isNull())
+		taskInfo_.retryCount = std::stoi(taskInfoNode["RetryCount"].asString());
+	if(!taskInfoNode["RetryInterval"].isNull())
+		taskInfo_.retryInterval = std::stoi(taskInfoNode["RetryInterval"].asString());
+	if(!taskInfoNode["RepeatNumber"].isNull())
+		taskInfo_.repeatNumber = std::stoi(taskInfoNode["RepeatNumber"].asString());
+		auto allSourceUrls = taskInfoNode["SourceUrls"]["SourceUrls"];
+		for (auto value : allSourceUrls)
+			taskInfo_.sourceUrls.push_back(value.asString());
+	if(!value["RetCode"].isNull())
+		retCode_ = std::stoi(value["RetCode"].asString());
+	if(!value["Description"].isNull())
+		description_ = value["Description"].asString();
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["TaskStatus"].isNull())
+		taskStatus_ = std::stoi(value["TaskStatus"].asString());
+	if(!value["TaskInvalidReason"].isNull())
+		taskInvalidReason_ = value["TaskInvalidReason"].asString();
+	if(!value["TaskExitTime"].isNull())
+		taskExitTime_ = std::stoi(value["TaskExitTime"].asString());
+	if(!value["TaskExitReason"].isNull())
+		taskExitReason_ = value["TaskExitReason"].asString();
+	if(!value["CurrentOffset"].isNull())
+		currentOffset_ = std::stoi(value["CurrentOffset"].asString());
+	if(!value["CurrentFileIndex"].isNull())
+		currentFileIndex_ = std::stoi(value["CurrentFileIndex"].asString());
+
+}
+
+DescribeLivePullToPushResult::TaskInfo DescribeLivePullToPushResult::getTaskInfo()const
+{
+	return taskInfo_;
+}
+
+std::string DescribeLivePullToPushResult::getTaskExitReason()const
+{
+	return taskExitReason_;
+}
+
+std::string DescribeLivePullToPushResult::getDescription()const
+{
+	return description_;
+}
+
+std::string DescribeLivePullToPushResult::getTaskId()const
+{
+	return taskId_;
+}
+
+int DescribeLivePullToPushResult::getRetCode()const
+{
+	return retCode_;
+}
+
+int DescribeLivePullToPushResult::getCurrentFileIndex()const
+{
+	return currentFileIndex_;
+}
+
+int DescribeLivePullToPushResult::getCurrentOffset()const
+{
+	return currentOffset_;
+}
+
+int DescribeLivePullToPushResult::getTaskStatus()const
+{
+	return taskStatus_;
+}
+
+int DescribeLivePullToPushResult::getTaskExitTime()const
+{
+	return taskExitTime_;
+}
+
+std::string DescribeLivePullToPushResult::getTaskInvalidReason()const
+{
+	return taskInvalidReason_;
+}
+

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

@@ -43,3 +43,12 @@ void DescribeLiveStreamTranscodeStreamNumRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::string DescribeLiveStreamTranscodeStreamNumRequest::getSplitType() const {
+  return splitType_;
+}
+
+void DescribeLiveStreamTranscodeStreamNumRequest::setSplitType(const std::string &splitType) {
+  splitType_ = splitType;
+  setParameter(std::string("SplitType"), splitType);
+}
+

+ 15 - 0
live/src/model/DescribeLiveStreamTranscodeStreamNumResult.cc

@@ -39,6 +39,16 @@ void DescribeLiveStreamTranscodeStreamNumResult::parse(const std::string &payloa
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	auto allTranscodeStreamCountDetailsNode = value["TranscodeStreamCountDetails"]["transcode_details"];
+	for (auto valueTranscodeStreamCountDetailstranscode_details : allTranscodeStreamCountDetailsNode)
+	{
+		Transcode_details transcodeStreamCountDetailsObject;
+		if(!valueTranscodeStreamCountDetailstranscode_details["Template"].isNull())
+			transcodeStreamCountDetailsObject._template = valueTranscodeStreamCountDetailstranscode_details["Template"].asString();
+		if(!valueTranscodeStreamCountDetailstranscode_details["Count"].isNull())
+			transcodeStreamCountDetailsObject.count = std::stoi(valueTranscodeStreamCountDetailstranscode_details["Count"].asString());
+		transcodeStreamCountDetails_.push_back(transcodeStreamCountDetailsObject);
+	}
 	if(!value["UntranscodeNumber"].isNull())
 		untranscodeNumber_ = std::stol(value["UntranscodeNumber"].asString());
 	if(!value["LazyTranscodedNumber"].isNull())
@@ -70,3 +80,8 @@ long DescribeLiveStreamTranscodeStreamNumResult::getTotal()const
 	return total_;
 }
 
+std::vector<DescribeLiveStreamTranscodeStreamNumResult::Transcode_details> DescribeLiveStreamTranscodeStreamNumResult::getTranscodeStreamCountDetails()const
+{
+	return transcodeStreamCountDetails_;
+}
+

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

@@ -25,6 +25,15 @@ DescribeLiveStreamsNotifyUrlConfigRequest::DescribeLiveStreamsNotifyUrlConfigReq
 
 DescribeLiveStreamsNotifyUrlConfigRequest::~DescribeLiveStreamsNotifyUrlConfigRequest() {}
 
+std::string DescribeLiveStreamsNotifyUrlConfigRequest::getNotifyType() const {
+  return notifyType_;
+}
+
+void DescribeLiveStreamsNotifyUrlConfigRequest::setNotifyType(const std::string &notifyType) {
+  notifyType_ = notifyType;
+  setParameter(std::string("NotifyType"), notifyType);
+}
+
 std::string DescribeLiveStreamsNotifyUrlConfigRequest::getDomainName() const {
   return domainName_;
 }

+ 8 - 6
live/src/model/DescribeLiveStreamsNotifyUrlConfigResult.cc

@@ -40,18 +40,20 @@ void DescribeLiveStreamsNotifyUrlConfigResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto liveStreamsNotifyConfigNode = value["LiveStreamsNotifyConfig"];
-	if(!liveStreamsNotifyConfigNode["NotifyReqAuth"].isNull())
-		liveStreamsNotifyConfig_.notifyReqAuth = liveStreamsNotifyConfigNode["NotifyReqAuth"].asString();
-	if(!liveStreamsNotifyConfigNode["AuthType"].isNull())
-		liveStreamsNotifyConfig_.authType = liveStreamsNotifyConfigNode["AuthType"].asString();
+	if(!liveStreamsNotifyConfigNode["DomainName"].isNull())
+		liveStreamsNotifyConfig_.domainName = liveStreamsNotifyConfigNode["DomainName"].asString();
 	if(!liveStreamsNotifyConfigNode["NotifyUrl"].isNull())
 		liveStreamsNotifyConfig_.notifyUrl = liveStreamsNotifyConfigNode["NotifyUrl"].asString();
+	if(!liveStreamsNotifyConfigNode["ExceptionNotifyUrl"].isNull())
+		liveStreamsNotifyConfig_.exceptionNotifyUrl = liveStreamsNotifyConfigNode["ExceptionNotifyUrl"].asString();
+	if(!liveStreamsNotifyConfigNode["NotifyReqAuth"].isNull())
+		liveStreamsNotifyConfig_.notifyReqAuth = liveStreamsNotifyConfigNode["NotifyReqAuth"].asString();
 	if(!liveStreamsNotifyConfigNode["NotifyAuthKey"].isNull())
 		liveStreamsNotifyConfig_.notifyAuthKey = liveStreamsNotifyConfigNode["NotifyAuthKey"].asString();
+	if(!liveStreamsNotifyConfigNode["AuthType"].isNull())
+		liveStreamsNotifyConfig_.authType = liveStreamsNotifyConfigNode["AuthType"].asString();
 	if(!liveStreamsNotifyConfigNode["AuthKey"].isNull())
 		liveStreamsNotifyConfig_.authKey = liveStreamsNotifyConfigNode["AuthKey"].asString();
-	if(!liveStreamsNotifyConfigNode["DomainName"].isNull())
-		liveStreamsNotifyConfig_.domainName = liveStreamsNotifyConfigNode["DomainName"].asString();
 
 }
 

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

@@ -52,6 +52,15 @@ void DescribeLiveStreamsOnlineListRequest::setPageNum(int pageNum) {
   setParameter(std::string("PageNum"), std::to_string(pageNum));
 }
 
+std::string DescribeLiveStreamsOnlineListRequest::getType() const {
+  return type_;
+}
+
+void DescribeLiveStreamsOnlineListRequest::setType(const std::string &type) {
+  type_ = type;
+  setParameter(std::string("Type"), type);
+}
+
 std::string DescribeLiveStreamsOnlineListRequest::getAppName() const {
   return appName_;
 }

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

@@ -95,6 +95,10 @@ void DescribeLiveStreamsOnlineListResult::parse(const std::string &payload)
 			onlineInfoObject.currFrameRate = std::stoi(valueOnlineInfoLiveStreamOnlineInfo["CurrFrameRate"].asString());
 		if(!valueOnlineInfoLiveStreamOnlineInfo["CurrVideoCodecId"].isNull())
 			onlineInfoObject.currVideoCodecId = std::stoi(valueOnlineInfoLiveStreamOnlineInfo["CurrVideoCodecId"].asString());
+		if(!valueOnlineInfoLiveStreamOnlineInfo["PlayDomain"].isNull())
+			onlineInfoObject.playDomain = valueOnlineInfoLiveStreamOnlineInfo["PlayDomain"].asString();
+		if(!valueOnlineInfoLiveStreamOnlineInfo["PushDomain"].isNull())
+			onlineInfoObject.pushDomain = valueOnlineInfoLiveStreamOnlineInfo["PushDomain"].asString();
 		onlineInfo_.push_back(onlineInfoObject);
 	}
 	if(!value["TotalPage"].isNull())

+ 6 - 0
live/src/model/DescribeLiveStreamsPublishListResult.cc

@@ -69,6 +69,12 @@ void DescribeLiveStreamsPublishListResult::parse(const std::string &payload)
 			publishInfoObject.clientAddr = valuePublishInfoLiveStreamPublishInfo["ClientAddr"].asString();
 		if(!valuePublishInfoLiveStreamPublishInfo["StreamUrl"].isNull())
 			publishInfoObject.streamUrl = valuePublishInfoLiveStreamPublishInfo["StreamUrl"].asString();
+		if(!valuePublishInfoLiveStreamPublishInfo["AliInnerErrorFlags"].isNull())
+			publishInfoObject.aliInnerErrorFlags = valuePublishInfoLiveStreamPublishInfo["AliInnerErrorFlags"].asString();
+		if(!valuePublishInfoLiveStreamPublishInfo["PlayDomain"].isNull())
+			publishInfoObject.playDomain = valuePublishInfoLiveStreamPublishInfo["PlayDomain"].asString();
+		if(!valuePublishInfoLiveStreamPublishInfo["PushDomain"].isNull())
+			publishInfoObject.pushDomain = valuePublishInfoLiveStreamPublishInfo["PushDomain"].asString();
 		publishInfo_.push_back(publishInfoObject);
 	}
 	if(!value["TotalPage"].isNull())

+ 81 - 0
live/src/model/DescribeLiveUserTrafficLogRequest.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/DescribeLiveUserTrafficLogRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveUserTrafficLogRequest;
+
+DescribeLiveUserTrafficLogRequest::DescribeLiveUserTrafficLogRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveUserTrafficLog") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveUserTrafficLogRequest::~DescribeLiveUserTrafficLogRequest() {}
+
+std::string DescribeLiveUserTrafficLogRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+long DescribeLiveUserTrafficLogRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setPageNumber(long pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+long DescribeLiveUserTrafficLogRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeLiveUserTrafficLogRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+std::string DescribeLiveUserTrafficLogRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long DescribeLiveUserTrafficLogRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLiveUserTrafficLogRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 87 - 0
live/src/model/DescribeLiveUserTrafficLogResult.cc

@@ -0,0 +1,87 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveUserTrafficLogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveUserTrafficLogResult::DescribeLiveUserTrafficLogResult() :
+	ServiceResult()
+{}
+
+DescribeLiveUserTrafficLogResult::DescribeLiveUserTrafficLogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveUserTrafficLogResult::~DescribeLiveUserTrafficLogResult()
+{}
+
+void DescribeLiveUserTrafficLogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDomainLogDetailsNode = value["DomainLogDetails"]["DomainLogDetail"];
+	for (auto valueDomainLogDetailsDomainLogDetail : allDomainLogDetailsNode)
+	{
+		DomainLogDetail domainLogDetailsObject;
+		if(!valueDomainLogDetailsDomainLogDetail["LogCount"].isNull())
+			domainLogDetailsObject.logCount = std::stol(valueDomainLogDetailsDomainLogDetail["LogCount"].asString());
+		auto allLogInfosNode = valueDomainLogDetailsDomainLogDetail["LogInfos"]["LogInfoDetail"];
+		for (auto valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail : allLogInfosNode)
+		{
+			DomainLogDetail::LogInfoDetail logInfosObject;
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["EndTime"].isNull())
+				logInfosObject.endTime = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["EndTime"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogSize"].isNull())
+				logInfosObject.logSize = std::stol(valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogSize"].asString());
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["StartTime"].isNull())
+				logInfosObject.startTime = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["StartTime"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogName"].isNull())
+				logInfosObject.logName = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogName"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogPath"].isNull())
+				logInfosObject.logPath = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogPath"].asString();
+			domainLogDetailsObject.logInfos.push_back(logInfosObject);
+		}
+		auto pageInfosNode = value["PageInfos"];
+		if(!pageInfosNode["PageIndex"].isNull())
+			domainLogDetailsObject.pageInfos.pageIndex = std::stol(pageInfosNode["PageIndex"].asString());
+		if(!pageInfosNode["PageSize"].isNull())
+			domainLogDetailsObject.pageInfos.pageSize = std::stol(pageInfosNode["PageSize"].asString());
+		if(!pageInfosNode["Total"].isNull())
+			domainLogDetailsObject.pageInfos.total = std::stol(pageInfosNode["Total"].asString());
+		domainLogDetails_.push_back(domainLogDetailsObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+
+}
+
+std::string DescribeLiveUserTrafficLogResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::vector<DescribeLiveUserTrafficLogResult::DomainLogDetail> DescribeLiveUserTrafficLogResult::getDomainLogDetails()const
+{
+	return domainLogDetails_;
+}
+

+ 36 - 0
live/src/model/DescribeRtcCloudRecordingFilesRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/DescribeRtcCloudRecordingFilesRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeRtcCloudRecordingFilesRequest;
+
+DescribeRtcCloudRecordingFilesRequest::DescribeRtcCloudRecordingFilesRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeRtcCloudRecordingFiles") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRtcCloudRecordingFilesRequest::~DescribeRtcCloudRecordingFilesRequest() {}
+
+std::string DescribeRtcCloudRecordingFilesRequest::getTaskId() const {
+  return taskId_;
+}
+
+void DescribeRtcCloudRecordingFilesRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+

+ 64 - 0
live/src/model/DescribeRtcCloudRecordingFilesResult.cc

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

+ 54 - 0
live/src/model/DescribeUidOnlineStreamsRequest.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/DescribeUidOnlineStreamsRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeUidOnlineStreamsRequest;
+
+DescribeUidOnlineStreamsRequest::DescribeUidOnlineStreamsRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeUidOnlineStreams") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeUidOnlineStreamsRequest::~DescribeUidOnlineStreamsRequest() {}
+
+std::string DescribeUidOnlineStreamsRequest::getAppName() const {
+  return appName_;
+}
+
+void DescribeUidOnlineStreamsRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+std::string DescribeUidOnlineStreamsRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DescribeUidOnlineStreamsRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long DescribeUidOnlineStreamsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeUidOnlineStreamsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 68 - 0
live/src/model/DescribeUidOnlineStreamsResult.cc

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

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

@@ -59,6 +59,10 @@ void ListLiveMessageAppsResult::parse(const std::string &payload)
 			appListObject.modifyTime = std::stol(valueAppListApps["ModifyTime"].asString());
 		if(!valueAppListApps["MsgLifeCycle"].isNull())
 			appListObject.msgLifeCycle = std::stoi(valueAppListApps["MsgLifeCycle"].asString());
+		if(!valueAppListApps["StreamSupport"].isNull())
+			appListObject.streamSupport = std::stoi(valueAppListApps["StreamSupport"].asString());
+		if(!valueAppListApps["RichTextSupport"].isNull())
+			appListObject.richTextSupport = std::stoi(valueAppListApps["RichTextSupport"].asString());
 		if(!valueAppListApps["DataCenter"].isNull())
 			appListObject.dataCenter = valueAppListApps["DataCenter"].asString();
 		appList_.push_back(appListObject);

+ 90 - 0
live/src/model/QueryLiveDomainMultiStreamListRequest.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/QueryLiveDomainMultiStreamListRequest.h>
+
+using AlibabaCloud::Live::Model::QueryLiveDomainMultiStreamListRequest;
+
+QueryLiveDomainMultiStreamListRequest::QueryLiveDomainMultiStreamListRequest()
+    : RpcServiceRequest("live", "2016-11-01", "QueryLiveDomainMultiStreamList") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+QueryLiveDomainMultiStreamListRequest::~QueryLiveDomainMultiStreamListRequest() {}
+
+std::string QueryLiveDomainMultiStreamListRequest::getStartTime() const {
+  return startTime_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+long QueryLiveDomainMultiStreamListRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setPageNumber(long pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+int QueryLiveDomainMultiStreamListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string QueryLiveDomainMultiStreamListRequest::getStreamName() const {
+  return streamName_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+std::string QueryLiveDomainMultiStreamListRequest::getEndTime() const {
+  return endTime_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long QueryLiveDomainMultiStreamListRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string QueryLiveDomainMultiStreamListRequest::getDomain() const {
+  return domain_;
+}
+
+void QueryLiveDomainMultiStreamListRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("Domain"), domain);
+}
+

+ 114 - 0
live/src/model/QueryLiveDomainMultiStreamListResult.cc

@@ -0,0 +1,114 @@
+/*
+ * 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/QueryLiveDomainMultiStreamListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+QueryLiveDomainMultiStreamListResult::QueryLiveDomainMultiStreamListResult() :
+	ServiceResult()
+{}
+
+QueryLiveDomainMultiStreamListResult::QueryLiveDomainMultiStreamListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryLiveDomainMultiStreamListResult::~QueryLiveDomainMultiStreamListResult()
+{}
+
+void QueryLiveDomainMultiStreamListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allOnlineStreamsNode = value["OnlineStreams"]["onlineStreamsItem"];
+	for (auto valueOnlineStreamsonlineStreamsItem : allOnlineStreamsNode)
+	{
+		OnlineStreamsItem onlineStreamsObject;
+		if(!valueOnlineStreamsonlineStreamsItem["Domain"].isNull())
+			onlineStreamsObject.domain = valueOnlineStreamsonlineStreamsItem["Domain"].asString();
+		if(!valueOnlineStreamsonlineStreamsItem["AppName"].isNull())
+			onlineStreamsObject.appName = valueOnlineStreamsonlineStreamsItem["AppName"].asString();
+		if(!valueOnlineStreamsonlineStreamsItem["StreamName"].isNull())
+			onlineStreamsObject.streamName = valueOnlineStreamsonlineStreamsItem["StreamName"].asString();
+		if(!valueOnlineStreamsonlineStreamsItem["OptimalMode"].isNull())
+			onlineStreamsObject.optimalMode = valueOnlineStreamsonlineStreamsItem["OptimalMode"].asString();
+		auto allUpstreamListNode = valueOnlineStreamsonlineStreamsItem["UpstreamList"]["upstreamListItem"];
+		for (auto valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem : allUpstreamListNode)
+		{
+			OnlineStreamsItem::UpstreamListItem upstreamListObject;
+			if(!valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamSequence"].isNull())
+				upstreamListObject.upstreamSequence = valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamSequence"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamIp"].isNull())
+				upstreamListObject.upstreamIp = valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamIp"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamTime"].isNull())
+				upstreamListObject.upstreamTime = valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["UpstreamTime"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["MasterFlag"].isNull())
+				upstreamListObject.masterFlag = valueOnlineStreamsonlineStreamsItemUpstreamListupstreamListItem["MasterFlag"].asString() == "true";
+			onlineStreamsObject.upstreamList.push_back(upstreamListObject);
+		}
+		auto allChangeLogsNode = valueOnlineStreamsonlineStreamsItem["ChangeLogs"]["changeLogsItem"];
+		for (auto valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem : allChangeLogsNode)
+		{
+			OnlineStreamsItem::ChangeLogsItem changeLogsObject;
+			if(!valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["ChangeTime"].isNull())
+				changeLogsObject.changeTime = valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["ChangeTime"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["ChangeReason"].isNull())
+				changeLogsObject.changeReason = valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["ChangeReason"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["MasterUpstream"].isNull())
+				changeLogsObject.masterUpstream = valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["MasterUpstream"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["UpstreamSequence"].isNull())
+				changeLogsObject.upstreamSequence = valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["UpstreamSequence"].asString();
+			if(!valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["UpstreamIp"].isNull())
+				changeLogsObject.upstreamIp = valueOnlineStreamsonlineStreamsItemChangeLogschangeLogsItem["UpstreamIp"].asString();
+			onlineStreamsObject.changeLogs.push_back(changeLogsObject);
+		}
+		onlineStreams_.push_back(onlineStreamsObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int QueryLiveDomainMultiStreamListResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int QueryLiveDomainMultiStreamListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int QueryLiveDomainMultiStreamListResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<QueryLiveDomainMultiStreamListResult::OnlineStreamsItem> QueryLiveDomainMultiStreamListResult::getOnlineStreams()const
+{
+	return onlineStreams_;
+}
+

+ 54 - 0
live/src/model/RestartLivePullToPushRequest.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/RestartLivePullToPushRequest.h>
+
+using AlibabaCloud::Live::Model::RestartLivePullToPushRequest;
+
+RestartLivePullToPushRequest::RestartLivePullToPushRequest()
+    : RpcServiceRequest("live", "2016-11-01", "RestartLivePullToPush") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+RestartLivePullToPushRequest::~RestartLivePullToPushRequest() {}
+
+std::string RestartLivePullToPushRequest::getTaskId() const {
+  return taskId_;
+}
+
+void RestartLivePullToPushRequest::setTaskId(const std::string &taskId) {
+  taskId_ = taskId;
+  setParameter(std::string("TaskId"), taskId);
+}
+
+long RestartLivePullToPushRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void RestartLivePullToPushRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string RestartLivePullToPushRequest::getRegion() const {
+  return region_;
+}
+
+void RestartLivePullToPushRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 51 - 0
live/src/model/RestartLivePullToPushResult.cc

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

+ 7 - 0
live/src/model/SendLiveMessageGroupResult.cc

@@ -39,6 +39,13 @@ void SendLiveMessageGroupResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	if(!value["MsgTid"].isNull())
+		msgTid_ = value["MsgTid"].asString();
 
 }
 
+std::string SendLiveMessageGroupResult::getMsgTid()const
+{
+	return msgTid_;
+}
+

+ 45 - 27
live/src/model/SendLiveMessageUserRequest.cc

@@ -25,6 +25,51 @@ SendLiveMessageUserRequest::SendLiveMessageUserRequest()
 
 SendLiveMessageUserRequest::~SendLiveMessageUserRequest() {}
 
+bool SendLiveMessageUserRequest::getStorage() const {
+  return storage_;
+}
+
+void SendLiveMessageUserRequest::setStorage(bool storage) {
+  storage_ = storage;
+  setParameter(std::string("Storage"), storage ? "true" : "false");
+}
+
+std::string SendLiveMessageUserRequest::getBody() const {
+  return body_;
+}
+
+void SendLiveMessageUserRequest::setBody(const std::string &body) {
+  body_ = body;
+  setParameter(std::string("Body"), body);
+}
+
+std::string SendLiveMessageUserRequest::getSenderInfo() const {
+  return senderInfo_;
+}
+
+void SendLiveMessageUserRequest::setSenderInfo(const std::string &senderInfo) {
+  senderInfo_ = senderInfo;
+  setParameter(std::string("SenderInfo"), senderInfo);
+}
+
+long SendLiveMessageUserRequest::getMsgType() const {
+  return msgType_;
+}
+
+void SendLiveMessageUserRequest::setMsgType(long msgType) {
+  msgType_ = msgType;
+  setParameter(std::string("MsgType"), std::to_string(msgType));
+}
+
+bool SendLiveMessageUserRequest::getHighReliability() const {
+  return highReliability_;
+}
+
+void SendLiveMessageUserRequest::setHighReliability(bool highReliability) {
+  highReliability_ = highReliability;
+  setParameter(std::string("HighReliability"), highReliability ? "true" : "false");
+}
+
 std::string SendLiveMessageUserRequest::getDataCenter() const {
   return dataCenter_;
 }
@@ -43,15 +88,6 @@ void SendLiveMessageUserRequest::setMsgTid(const std::string &msgTid) {
   setParameter(std::string("MsgTid"), msgTid);
 }
 
-std::string SendLiveMessageUserRequest::getBody() const {
-  return body_;
-}
-
-void SendLiveMessageUserRequest::setBody(const std::string &body) {
-  body_ = body;
-  setParameter(std::string("Body"), body);
-}
-
 std::string SendLiveMessageUserRequest::getSenderId() const {
   return senderId_;
 }
@@ -79,21 +115,3 @@ void SendLiveMessageUserRequest::setAppId(const std::string &appId) {
   setParameter(std::string("AppId"), appId);
 }
 
-std::string SendLiveMessageUserRequest::getSenderInfo() const {
-  return senderInfo_;
-}
-
-void SendLiveMessageUserRequest::setSenderInfo(const std::string &senderInfo) {
-  senderInfo_ = senderInfo;
-  setParameter(std::string("SenderInfo"), senderInfo);
-}
-
-long SendLiveMessageUserRequest::getMsgType() const {
-  return msgType_;
-}
-
-void SendLiveMessageUserRequest::setMsgType(long msgType) {
-  msgType_ = msgType;
-  setParameter(std::string("MsgType"), std::to_string(msgType));
-}
-

+ 7 - 0
live/src/model/SendLiveMessageUserResult.cc

@@ -39,6 +39,13 @@ void SendLiveMessageUserResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	if(!value["MsgTid"].isNull())
+		msgTid_ = value["MsgTid"].asString();
 
 }
 
+std::string SendLiveMessageUserResult::getMsgTid()const
+{
+	return msgTid_;
+}
+

+ 54 - 0
live/src/model/SetLiveDomainMultiStreamConfigRequest.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/SetLiveDomainMultiStreamConfigRequest.h>
+
+using AlibabaCloud::Live::Model::SetLiveDomainMultiStreamConfigRequest;
+
+SetLiveDomainMultiStreamConfigRequest::SetLiveDomainMultiStreamConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SetLiveDomainMultiStreamConfig") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+SetLiveDomainMultiStreamConfigRequest::~SetLiveDomainMultiStreamConfigRequest() {}
+
+std::string SetLiveDomainMultiStreamConfigRequest::get_Switch() const {
+  return _switch_;
+}
+
+void SetLiveDomainMultiStreamConfigRequest::set_Switch(const std::string &_switch) {
+  _switch_ = _switch;
+  setParameter(std::string("Switch"), _switch);
+}
+
+long SetLiveDomainMultiStreamConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void SetLiveDomainMultiStreamConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string SetLiveDomainMultiStreamConfigRequest::getDomain() const {
+  return domain_;
+}
+
+void SetLiveDomainMultiStreamConfigRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("Domain"), domain);
+}
+

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

+ 72 - 0
live/src/model/SetLiveDomainMultiStreamMasterRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/SetLiveDomainMultiStreamMasterRequest.h>
+
+using AlibabaCloud::Live::Model::SetLiveDomainMultiStreamMasterRequest;
+
+SetLiveDomainMultiStreamMasterRequest::SetLiveDomainMultiStreamMasterRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SetLiveDomainMultiStreamMaster") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+SetLiveDomainMultiStreamMasterRequest::~SetLiveDomainMultiStreamMasterRequest() {}
+
+std::string SetLiveDomainMultiStreamMasterRequest::getAppName() const {
+  return appName_;
+}
+
+void SetLiveDomainMultiStreamMasterRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setParameter(std::string("AppName"), appName);
+}
+
+std::string SetLiveDomainMultiStreamMasterRequest::getStreamName() const {
+  return streamName_;
+}
+
+void SetLiveDomainMultiStreamMasterRequest::setStreamName(const std::string &streamName) {
+  streamName_ = streamName;
+  setParameter(std::string("StreamName"), streamName);
+}
+
+long SetLiveDomainMultiStreamMasterRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void SetLiveDomainMultiStreamMasterRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string SetLiveDomainMultiStreamMasterRequest::getDomain() const {
+  return domain_;
+}
+
+void SetLiveDomainMultiStreamMasterRequest::setDomain(const std::string &domain) {
+  domain_ = domain;
+  setParameter(std::string("Domain"), domain);
+}
+
+std::string SetLiveDomainMultiStreamMasterRequest::getUpstreamSequence() const {
+  return upstreamSequence_;
+}
+
+void SetLiveDomainMultiStreamMasterRequest::setUpstreamSequence(const std::string &upstreamSequence) {
+  upstreamSequence_ = upstreamSequence;
+  setParameter(std::string("UpstreamSequence"), upstreamSequence);
+}
+

Некоторые файлы не были показаны из-за большого количества измененных файлов