فهرست منبع

Support live interaction and message.

sdk-team 3 سال پیش
والد
کامیت
f3151aa716
89فایلهای تغییر یافته به همراه4485 افزوده شده و 316 حذف شده
  1. 1 1
      VERSION
  2. 68 8
      live/CMakeLists.txt
  3. 136 16
      live/include/alibabacloud/live/LiveClient.h
  4. 54 0
      live/include/alibabacloud/live/model/AddLiveSnapshotNotifyConfigRequest.h
  5. 49 0
      live/include/alibabacloud/live/model/AddLiveSnapshotNotifyConfigResult.h
  6. 3 3
      live/include/alibabacloud/live/model/CancelMuteAllGroupUserRequest.h
  7. 48 0
      live/include/alibabacloud/live/model/CreateMessageAppRequest.h
  8. 55 0
      live/include/alibabacloud/live/model/CreateMessageAppResult.h
  9. 45 0
      live/include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigRequest.h
  10. 49 0
      live/include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigResult.h
  11. 3 0
      live/include/alibabacloud/live/model/DescribeDomainUsageDataRequest.h
  12. 2 2
      live/include/alibabacloud/live/model/DescribeDomainUsageDataResult.h
  13. 45 0
      live/include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigRequest.h
  14. 57 0
      live/include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigResult.h
  15. 48 0
      live/include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingRequest.h
  16. 53 0
      live/include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingResult.h
  17. 66 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsRequest.h
  18. 71 0
      live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsResult.h
  19. 6 9
      live/include/alibabacloud/live/model/GetMessageAppRequest.h
  20. 60 0
      live/include/alibabacloud/live/model/GetMessageAppResult.h
  21. 3 3
      live/include/alibabacloud/live/model/GetMessageTokenRequest.h
  22. 6 6
      live/include/alibabacloud/live/model/JoinMessageGroupRequest.h
  23. 6 6
      live/include/alibabacloud/live/model/LeaveMessageGroupRequest.h
  24. 48 0
      live/include/alibabacloud/live/model/ListMessageAppRequest.h
  25. 66 0
      live/include/alibabacloud/live/model/ListMessageAppResult.h
  26. 48 0
      live/include/alibabacloud/live/model/ListMessageGroupUserByIdRequest.h
  27. 66 0
      live/include/alibabacloud/live/model/ListMessageGroupUserByIdResult.h
  28. 6 9
      live/include/alibabacloud/live/model/ListMessageGroupUserRequest.h
  29. 6 3
      live/include/alibabacloud/live/model/ListMessageRequest.h
  30. 54 0
      live/include/alibabacloud/live/model/QueryMessageAppRequest.h
  31. 66 0
      live/include/alibabacloud/live/model/QueryMessageAppResult.h
  32. 45 0
      live/include/alibabacloud/live/model/RestartCasterRequest.h
  33. 49 0
      live/include/alibabacloud/live/model/RestartCasterResult.h
  34. 54 0
      live/include/alibabacloud/live/model/SendLikeRequest.h
  35. 55 0
      live/include/alibabacloud/live/model/SendLikeResult.h
  36. 54 0
      live/include/alibabacloud/live/model/SendMessageToGroupRequest.h
  37. 8 9
      live/include/alibabacloud/live/model/SendMessageToGroupResult.h
  38. 6 9
      live/include/alibabacloud/live/model/SendMessageToGroupUsersRequest.h
  39. 55 0
      live/include/alibabacloud/live/model/SendMessageToGroupUsersResult.h
  40. 54 0
      live/include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigRequest.h
  41. 49 0
      live/include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigResult.h
  42. 51 0
      live/include/alibabacloud/live/model/UpdateMessageAppRequest.h
  43. 7 7
      live/include/alibabacloud/live/model/UpdateMessageAppResult.h
  44. 48 0
      live/include/alibabacloud/live/model/UpdateMessageGroupRequest.h
  45. 55 0
      live/include/alibabacloud/live/model/UpdateMessageGroupResult.h
  46. 603 63
      live/src/LiveClient.cc
  47. 72 0
      live/src/model/AddLiveSnapshotNotifyConfigRequest.cc
  48. 44 0
      live/src/model/AddLiveSnapshotNotifyConfigResult.cc
  49. 9 9
      live/src/model/CancelMuteAllGroupUserRequest.cc
  50. 0 45
      live/src/model/CloseMessageGroupRequest.cc
  51. 58 0
      live/src/model/CreateMessageAppRequest.cc
  52. 52 0
      live/src/model/CreateMessageAppResult.cc
  53. 45 0
      live/src/model/DeleteLiveSnapshotNotifyConfigRequest.cc
  54. 44 0
      live/src/model/DeleteLiveSnapshotNotifyConfigResult.cc
  55. 9 0
      live/src/model/DescribeDomainUsageDataRequest.cc
  56. 4 4
      live/src/model/DescribeDomainUsageDataResult.cc
  57. 45 0
      live/src/model/DescribeLiveSnapshotNotifyConfigRequest.cc
  58. 72 0
      live/src/model/DescribeLiveSnapshotNotifyConfigResult.cc
  59. 54 0
      live/src/model/DescribeLiveStreamAuthCheckingRequest.cc
  60. 58 0
      live/src/model/DescribeLiveStreamAuthCheckingResult.cc
  61. 108 0
      live/src/model/DescribeLiveStreamsNotifyRecordsRequest.cc
  62. 101 0
      live/src/model/DescribeLiveStreamsNotifyRecordsResult.cc
  63. 10 10
      live/src/model/GetMessageAppRequest.cc
  64. 62 0
      live/src/model/GetMessageAppResult.cc
  65. 9 9
      live/src/model/GetMessageTokenRequest.cc
  66. 18 18
      live/src/model/JoinMessageGroupRequest.cc
  67. 18 18
      live/src/model/LeaveMessageGroupRequest.cc
  68. 54 0
      live/src/model/ListMessageAppRequest.cc
  69. 72 0
      live/src/model/ListMessageAppResult.cc
  70. 56 0
      live/src/model/ListMessageGroupUserByIdRequest.cc
  71. 73 0
      live/src/model/ListMessageGroupUserByIdResult.cc
  72. 15 24
      live/src/model/ListMessageGroupUserRequest.cc
  73. 18 9
      live/src/model/ListMessageRequest.cc
  74. 72 0
      live/src/model/QueryMessageAppRequest.cc
  75. 77 0
      live/src/model/QueryMessageAppResult.cc
  76. 45 0
      live/src/model/RestartCasterRequest.cc
  77. 44 0
      live/src/model/RestartCasterResult.cc
  78. 72 0
      live/src/model/SendLikeRequest.cc
  79. 52 0
      live/src/model/SendLikeResult.cc
  80. 72 0
      live/src/model/SendMessageToGroupRequest.cc
  81. 8 10
      live/src/model/SendMessageToGroupResult.cc
  82. 27 0
      live/src/model/SendMessageToGroupUsersRequest.cc
  83. 52 0
      live/src/model/SendMessageToGroupUsersResult.cc
  84. 72 0
      live/src/model/UpdateLiveSnapshotNotifyConfigRequest.cc
  85. 44 0
      live/src/model/UpdateLiveSnapshotNotifyConfigResult.cc
  86. 67 0
      live/src/model/UpdateMessageAppRequest.cc
  87. 6 6
      live/src/model/UpdateMessageAppResult.cc
  88. 56 0
      live/src/model/UpdateMessageGroupRequest.cc
  89. 52 0
      live/src/model/UpdateMessageGroupResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1367
+1.36.1368

+ 68 - 8
live/CMakeLists.txt

@@ -61,6 +61,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/AddLiveRecordVodConfigResult.h
 	include/alibabacloud/live/model/AddLiveRecordVodConfigResult.h
 	include/alibabacloud/live/model/AddLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/AddLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/AddLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/AddLiveSnapshotDetectPornConfigResult.h
+	include/alibabacloud/live/model/AddLiveSnapshotNotifyConfigRequest.h
+	include/alibabacloud/live/model/AddLiveSnapshotNotifyConfigResult.h
 	include/alibabacloud/live/model/AddLiveStreamTranscodeRequest.h
 	include/alibabacloud/live/model/AddLiveStreamTranscodeRequest.h
 	include/alibabacloud/live/model/AddLiveStreamTranscodeResult.h
 	include/alibabacloud/live/model/AddLiveStreamTranscodeResult.h
 	include/alibabacloud/live/model/AddLiveStreamWatermarkRequest.h
 	include/alibabacloud/live/model/AddLiveStreamWatermarkRequest.h
@@ -89,8 +91,6 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CancelMuteAllGroupUserResult.h
 	include/alibabacloud/live/model/CancelMuteAllGroupUserResult.h
 	include/alibabacloud/live/model/CloseLiveShiftRequest.h
 	include/alibabacloud/live/model/CloseLiveShiftRequest.h
 	include/alibabacloud/live/model/CloseLiveShiftResult.h
 	include/alibabacloud/live/model/CloseLiveShiftResult.h
-	include/alibabacloud/live/model/CloseMessageGroupRequest.h
-	include/alibabacloud/live/model/CloseMessageGroupResult.h
 	include/alibabacloud/live/model/CopyCasterRequest.h
 	include/alibabacloud/live/model/CopyCasterRequest.h
 	include/alibabacloud/live/model/CopyCasterResult.h
 	include/alibabacloud/live/model/CopyCasterResult.h
 	include/alibabacloud/live/model/CopyCasterSceneConfigRequest.h
 	include/alibabacloud/live/model/CopyCasterSceneConfigRequest.h
@@ -107,6 +107,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CreateLiveStreamRecordIndexFilesResult.h
 	include/alibabacloud/live/model/CreateLiveStreamRecordIndexFilesResult.h
 	include/alibabacloud/live/model/CreateLiveTranscodeTemplateRequest.h
 	include/alibabacloud/live/model/CreateLiveTranscodeTemplateRequest.h
 	include/alibabacloud/live/model/CreateLiveTranscodeTemplateResult.h
 	include/alibabacloud/live/model/CreateLiveTranscodeTemplateResult.h
+	include/alibabacloud/live/model/CreateMessageAppRequest.h
+	include/alibabacloud/live/model/CreateMessageAppResult.h
 	include/alibabacloud/live/model/CreateMessageGroupRequest.h
 	include/alibabacloud/live/model/CreateMessageGroupRequest.h
 	include/alibabacloud/live/model/CreateMessageGroupResult.h
 	include/alibabacloud/live/model/CreateMessageGroupResult.h
 	include/alibabacloud/live/model/CreateMixStreamRequest.h
 	include/alibabacloud/live/model/CreateMixStreamRequest.h
@@ -161,6 +163,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLiveRecordVodConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveRecordVodConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveSnapshotDetectPornConfigResult.h
+	include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigRequest.h
+	include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveSpecificStagingConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveStreamMonitorRequest.h
 	include/alibabacloud/live/model/DeleteLiveStreamMonitorRequest.h
@@ -315,6 +319,10 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveSnapshotConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveSnapshotConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveSnapshotDetectPornConfigResult.h
+	include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigRequest.h
+	include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigResult.h
+	include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingRequest.h
+	include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamBitRateDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamBitRateDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamBitRateDataResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamBitRateDataResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamCountRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamCountRequest.h
@@ -351,6 +359,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveStreamsBlockListResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsBlockListResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryResult.h
+	include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsRequest.h
+	include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsOnlineListRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsOnlineListRequest.h
@@ -425,12 +435,12 @@ set(live_public_header_model
 	include/alibabacloud/live/model/GetCustomTemplateResult.h
 	include/alibabacloud/live/model/GetCustomTemplateResult.h
 	include/alibabacloud/live/model/GetEditingJobInfoRequest.h
 	include/alibabacloud/live/model/GetEditingJobInfoRequest.h
 	include/alibabacloud/live/model/GetEditingJobInfoResult.h
 	include/alibabacloud/live/model/GetEditingJobInfoResult.h
+	include/alibabacloud/live/model/GetMessageAppRequest.h
+	include/alibabacloud/live/model/GetMessageAppResult.h
 	include/alibabacloud/live/model/GetMessageGroupRequest.h
 	include/alibabacloud/live/model/GetMessageGroupRequest.h
 	include/alibabacloud/live/model/GetMessageGroupResult.h
 	include/alibabacloud/live/model/GetMessageGroupResult.h
 	include/alibabacloud/live/model/GetMessageTokenRequest.h
 	include/alibabacloud/live/model/GetMessageTokenRequest.h
 	include/alibabacloud/live/model/GetMessageTokenResult.h
 	include/alibabacloud/live/model/GetMessageTokenResult.h
-	include/alibabacloud/live/model/GetMessageUserInfoRequest.h
-	include/alibabacloud/live/model/GetMessageUserInfoResult.h
 	include/alibabacloud/live/model/GetMultiRateConfigRequest.h
 	include/alibabacloud/live/model/GetMultiRateConfigRequest.h
 	include/alibabacloud/live/model/GetMultiRateConfigResult.h
 	include/alibabacloud/live/model/GetMultiRateConfigResult.h
 	include/alibabacloud/live/model/GetMultiRateConfigListRequest.h
 	include/alibabacloud/live/model/GetMultiRateConfigListRequest.h
@@ -451,10 +461,14 @@ set(live_public_header_model
 	include/alibabacloud/live/model/ListLiveRealtimeLogDeliveryInfosResult.h
 	include/alibabacloud/live/model/ListLiveRealtimeLogDeliveryInfosResult.h
 	include/alibabacloud/live/model/ListMessageRequest.h
 	include/alibabacloud/live/model/ListMessageRequest.h
 	include/alibabacloud/live/model/ListMessageResult.h
 	include/alibabacloud/live/model/ListMessageResult.h
+	include/alibabacloud/live/model/ListMessageAppRequest.h
+	include/alibabacloud/live/model/ListMessageAppResult.h
 	include/alibabacloud/live/model/ListMessageGroupRequest.h
 	include/alibabacloud/live/model/ListMessageGroupRequest.h
 	include/alibabacloud/live/model/ListMessageGroupResult.h
 	include/alibabacloud/live/model/ListMessageGroupResult.h
 	include/alibabacloud/live/model/ListMessageGroupUserRequest.h
 	include/alibabacloud/live/model/ListMessageGroupUserRequest.h
 	include/alibabacloud/live/model/ListMessageGroupUserResult.h
 	include/alibabacloud/live/model/ListMessageGroupUserResult.h
+	include/alibabacloud/live/model/ListMessageGroupUserByIdRequest.h
+	include/alibabacloud/live/model/ListMessageGroupUserByIdResult.h
 	include/alibabacloud/live/model/ListPlaylistRequest.h
 	include/alibabacloud/live/model/ListPlaylistRequest.h
 	include/alibabacloud/live/model/ListPlaylistResult.h
 	include/alibabacloud/live/model/ListPlaylistResult.h
 	include/alibabacloud/live/model/ListPlaylistItemsRequest.h
 	include/alibabacloud/live/model/ListPlaylistItemsRequest.h
@@ -483,6 +497,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/PlayChoosenShowResult.h
 	include/alibabacloud/live/model/PlayChoosenShowResult.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionRequest.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionRequest.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionResult.h
 	include/alibabacloud/live/model/PublishLiveStagingConfigToProductionResult.h
+	include/alibabacloud/live/model/QueryMessageAppRequest.h
+	include/alibabacloud/live/model/QueryMessageAppResult.h
 	include/alibabacloud/live/model/QuerySnapshotCallbackAuthRequest.h
 	include/alibabacloud/live/model/QuerySnapshotCallbackAuthRequest.h
 	include/alibabacloud/live/model/QuerySnapshotCallbackAuthResult.h
 	include/alibabacloud/live/model/QuerySnapshotCallbackAuthResult.h
 	include/alibabacloud/live/model/RealTimeRecordCommandRequest.h
 	include/alibabacloud/live/model/RealTimeRecordCommandRequest.h
@@ -491,10 +507,18 @@ set(live_public_header_model
 	include/alibabacloud/live/model/RealTimeSnapshotCommandResult.h
 	include/alibabacloud/live/model/RealTimeSnapshotCommandResult.h
 	include/alibabacloud/live/model/RemoveShowFromShowListRequest.h
 	include/alibabacloud/live/model/RemoveShowFromShowListRequest.h
 	include/alibabacloud/live/model/RemoveShowFromShowListResult.h
 	include/alibabacloud/live/model/RemoveShowFromShowListResult.h
+	include/alibabacloud/live/model/RestartCasterRequest.h
+	include/alibabacloud/live/model/RestartCasterResult.h
 	include/alibabacloud/live/model/ResumeLiveStreamRequest.h
 	include/alibabacloud/live/model/ResumeLiveStreamRequest.h
 	include/alibabacloud/live/model/ResumeLiveStreamResult.h
 	include/alibabacloud/live/model/ResumeLiveStreamResult.h
 	include/alibabacloud/live/model/RollbackLiveStagingConfigRequest.h
 	include/alibabacloud/live/model/RollbackLiveStagingConfigRequest.h
 	include/alibabacloud/live/model/RollbackLiveStagingConfigResult.h
 	include/alibabacloud/live/model/RollbackLiveStagingConfigResult.h
+	include/alibabacloud/live/model/SendLikeRequest.h
+	include/alibabacloud/live/model/SendLikeResult.h
+	include/alibabacloud/live/model/SendMessageToGroupRequest.h
+	include/alibabacloud/live/model/SendMessageToGroupResult.h
+	include/alibabacloud/live/model/SendMessageToGroupUsersRequest.h
+	include/alibabacloud/live/model/SendMessageToGroupUsersResult.h
 	include/alibabacloud/live/model/SendRoomNotificationRequest.h
 	include/alibabacloud/live/model/SendRoomNotificationRequest.h
 	include/alibabacloud/live/model/SendRoomNotificationResult.h
 	include/alibabacloud/live/model/SendRoomNotificationResult.h
 	include/alibabacloud/live/model/SendRoomUserNotificationRequest.h
 	include/alibabacloud/live/model/SendRoomUserNotificationRequest.h
@@ -567,6 +591,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveRecordNotifyConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigRequest.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveSnapshotDetectPornConfigResult.h
+	include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigRequest.h
+	include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigResult.h
 	include/alibabacloud/live/model/UpdateLiveStreamMonitorRequest.h
 	include/alibabacloud/live/model/UpdateLiveStreamMonitorRequest.h
 	include/alibabacloud/live/model/UpdateLiveStreamMonitorResult.h
 	include/alibabacloud/live/model/UpdateLiveStreamMonitorResult.h
 	include/alibabacloud/live/model/UpdateLiveStreamWatermarkRequest.h
 	include/alibabacloud/live/model/UpdateLiveStreamWatermarkRequest.h
@@ -575,6 +601,10 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLiveStreamWatermarkRuleResult.h
 	include/alibabacloud/live/model/UpdateLiveStreamWatermarkRuleResult.h
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainRequest.h
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainRequest.h
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainResult.h
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainResult.h
+	include/alibabacloud/live/model/UpdateMessageAppRequest.h
+	include/alibabacloud/live/model/UpdateMessageAppResult.h
+	include/alibabacloud/live/model/UpdateMessageGroupRequest.h
+	include/alibabacloud/live/model/UpdateMessageGroupResult.h
 	include/alibabacloud/live/model/UpdateMixStreamRequest.h
 	include/alibabacloud/live/model/UpdateMixStreamRequest.h
 	include/alibabacloud/live/model/UpdateMixStreamResult.h
 	include/alibabacloud/live/model/UpdateMixStreamResult.h
 	include/alibabacloud/live/model/VerifyLiveDomainOwnerRequest.h
 	include/alibabacloud/live/model/VerifyLiveDomainOwnerRequest.h
@@ -622,6 +652,8 @@ set(live_src
 	src/model/AddLiveRecordVodConfigResult.cc
 	src/model/AddLiveRecordVodConfigResult.cc
 	src/model/AddLiveSnapshotDetectPornConfigRequest.cc
 	src/model/AddLiveSnapshotDetectPornConfigRequest.cc
 	src/model/AddLiveSnapshotDetectPornConfigResult.cc
 	src/model/AddLiveSnapshotDetectPornConfigResult.cc
+	src/model/AddLiveSnapshotNotifyConfigRequest.cc
+	src/model/AddLiveSnapshotNotifyConfigResult.cc
 	src/model/AddLiveStreamTranscodeRequest.cc
 	src/model/AddLiveStreamTranscodeRequest.cc
 	src/model/AddLiveStreamTranscodeResult.cc
 	src/model/AddLiveStreamTranscodeResult.cc
 	src/model/AddLiveStreamWatermarkRequest.cc
 	src/model/AddLiveStreamWatermarkRequest.cc
@@ -650,8 +682,6 @@ set(live_src
 	src/model/CancelMuteAllGroupUserResult.cc
 	src/model/CancelMuteAllGroupUserResult.cc
 	src/model/CloseLiveShiftRequest.cc
 	src/model/CloseLiveShiftRequest.cc
 	src/model/CloseLiveShiftResult.cc
 	src/model/CloseLiveShiftResult.cc
-	src/model/CloseMessageGroupRequest.cc
-	src/model/CloseMessageGroupResult.cc
 	src/model/CopyCasterRequest.cc
 	src/model/CopyCasterRequest.cc
 	src/model/CopyCasterResult.cc
 	src/model/CopyCasterResult.cc
 	src/model/CopyCasterSceneConfigRequest.cc
 	src/model/CopyCasterSceneConfigRequest.cc
@@ -668,6 +698,8 @@ set(live_src
 	src/model/CreateLiveStreamRecordIndexFilesResult.cc
 	src/model/CreateLiveStreamRecordIndexFilesResult.cc
 	src/model/CreateLiveTranscodeTemplateRequest.cc
 	src/model/CreateLiveTranscodeTemplateRequest.cc
 	src/model/CreateLiveTranscodeTemplateResult.cc
 	src/model/CreateLiveTranscodeTemplateResult.cc
+	src/model/CreateMessageAppRequest.cc
+	src/model/CreateMessageAppResult.cc
 	src/model/CreateMessageGroupRequest.cc
 	src/model/CreateMessageGroupRequest.cc
 	src/model/CreateMessageGroupResult.cc
 	src/model/CreateMessageGroupResult.cc
 	src/model/CreateMixStreamRequest.cc
 	src/model/CreateMixStreamRequest.cc
@@ -722,6 +754,8 @@ set(live_src
 	src/model/DeleteLiveRecordVodConfigResult.cc
 	src/model/DeleteLiveRecordVodConfigResult.cc
 	src/model/DeleteLiveSnapshotDetectPornConfigRequest.cc
 	src/model/DeleteLiveSnapshotDetectPornConfigRequest.cc
 	src/model/DeleteLiveSnapshotDetectPornConfigResult.cc
 	src/model/DeleteLiveSnapshotDetectPornConfigResult.cc
+	src/model/DeleteLiveSnapshotNotifyConfigRequest.cc
+	src/model/DeleteLiveSnapshotNotifyConfigResult.cc
 	src/model/DeleteLiveSpecificStagingConfigRequest.cc
 	src/model/DeleteLiveSpecificStagingConfigRequest.cc
 	src/model/DeleteLiveSpecificStagingConfigResult.cc
 	src/model/DeleteLiveSpecificStagingConfigResult.cc
 	src/model/DeleteLiveStreamMonitorRequest.cc
 	src/model/DeleteLiveStreamMonitorRequest.cc
@@ -876,6 +910,10 @@ set(live_src
 	src/model/DescribeLiveSnapshotConfigResult.cc
 	src/model/DescribeLiveSnapshotConfigResult.cc
 	src/model/DescribeLiveSnapshotDetectPornConfigRequest.cc
 	src/model/DescribeLiveSnapshotDetectPornConfigRequest.cc
 	src/model/DescribeLiveSnapshotDetectPornConfigResult.cc
 	src/model/DescribeLiveSnapshotDetectPornConfigResult.cc
+	src/model/DescribeLiveSnapshotNotifyConfigRequest.cc
+	src/model/DescribeLiveSnapshotNotifyConfigResult.cc
+	src/model/DescribeLiveStreamAuthCheckingRequest.cc
+	src/model/DescribeLiveStreamAuthCheckingResult.cc
 	src/model/DescribeLiveStreamBitRateDataRequest.cc
 	src/model/DescribeLiveStreamBitRateDataRequest.cc
 	src/model/DescribeLiveStreamBitRateDataResult.cc
 	src/model/DescribeLiveStreamBitRateDataResult.cc
 	src/model/DescribeLiveStreamCountRequest.cc
 	src/model/DescribeLiveStreamCountRequest.cc
@@ -912,6 +950,8 @@ set(live_src
 	src/model/DescribeLiveStreamsBlockListResult.cc
 	src/model/DescribeLiveStreamsBlockListResult.cc
 	src/model/DescribeLiveStreamsControlHistoryRequest.cc
 	src/model/DescribeLiveStreamsControlHistoryRequest.cc
 	src/model/DescribeLiveStreamsControlHistoryResult.cc
 	src/model/DescribeLiveStreamsControlHistoryResult.cc
+	src/model/DescribeLiveStreamsNotifyRecordsRequest.cc
+	src/model/DescribeLiveStreamsNotifyRecordsResult.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigRequest.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigRequest.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigResult.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigResult.cc
 	src/model/DescribeLiveStreamsOnlineListRequest.cc
 	src/model/DescribeLiveStreamsOnlineListRequest.cc
@@ -986,12 +1026,12 @@ set(live_src
 	src/model/GetCustomTemplateResult.cc
 	src/model/GetCustomTemplateResult.cc
 	src/model/GetEditingJobInfoRequest.cc
 	src/model/GetEditingJobInfoRequest.cc
 	src/model/GetEditingJobInfoResult.cc
 	src/model/GetEditingJobInfoResult.cc
+	src/model/GetMessageAppRequest.cc
+	src/model/GetMessageAppResult.cc
 	src/model/GetMessageGroupRequest.cc
 	src/model/GetMessageGroupRequest.cc
 	src/model/GetMessageGroupResult.cc
 	src/model/GetMessageGroupResult.cc
 	src/model/GetMessageTokenRequest.cc
 	src/model/GetMessageTokenRequest.cc
 	src/model/GetMessageTokenResult.cc
 	src/model/GetMessageTokenResult.cc
-	src/model/GetMessageUserInfoRequest.cc
-	src/model/GetMessageUserInfoResult.cc
 	src/model/GetMultiRateConfigRequest.cc
 	src/model/GetMultiRateConfigRequest.cc
 	src/model/GetMultiRateConfigResult.cc
 	src/model/GetMultiRateConfigResult.cc
 	src/model/GetMultiRateConfigListRequest.cc
 	src/model/GetMultiRateConfigListRequest.cc
@@ -1012,10 +1052,14 @@ set(live_src
 	src/model/ListLiveRealtimeLogDeliveryInfosResult.cc
 	src/model/ListLiveRealtimeLogDeliveryInfosResult.cc
 	src/model/ListMessageRequest.cc
 	src/model/ListMessageRequest.cc
 	src/model/ListMessageResult.cc
 	src/model/ListMessageResult.cc
+	src/model/ListMessageAppRequest.cc
+	src/model/ListMessageAppResult.cc
 	src/model/ListMessageGroupRequest.cc
 	src/model/ListMessageGroupRequest.cc
 	src/model/ListMessageGroupResult.cc
 	src/model/ListMessageGroupResult.cc
 	src/model/ListMessageGroupUserRequest.cc
 	src/model/ListMessageGroupUserRequest.cc
 	src/model/ListMessageGroupUserResult.cc
 	src/model/ListMessageGroupUserResult.cc
+	src/model/ListMessageGroupUserByIdRequest.cc
+	src/model/ListMessageGroupUserByIdResult.cc
 	src/model/ListPlaylistRequest.cc
 	src/model/ListPlaylistRequest.cc
 	src/model/ListPlaylistResult.cc
 	src/model/ListPlaylistResult.cc
 	src/model/ListPlaylistItemsRequest.cc
 	src/model/ListPlaylistItemsRequest.cc
@@ -1044,6 +1088,8 @@ set(live_src
 	src/model/PlayChoosenShowResult.cc
 	src/model/PlayChoosenShowResult.cc
 	src/model/PublishLiveStagingConfigToProductionRequest.cc
 	src/model/PublishLiveStagingConfigToProductionRequest.cc
 	src/model/PublishLiveStagingConfigToProductionResult.cc
 	src/model/PublishLiveStagingConfigToProductionResult.cc
+	src/model/QueryMessageAppRequest.cc
+	src/model/QueryMessageAppResult.cc
 	src/model/QuerySnapshotCallbackAuthRequest.cc
 	src/model/QuerySnapshotCallbackAuthRequest.cc
 	src/model/QuerySnapshotCallbackAuthResult.cc
 	src/model/QuerySnapshotCallbackAuthResult.cc
 	src/model/RealTimeRecordCommandRequest.cc
 	src/model/RealTimeRecordCommandRequest.cc
@@ -1052,10 +1098,18 @@ set(live_src
 	src/model/RealTimeSnapshotCommandResult.cc
 	src/model/RealTimeSnapshotCommandResult.cc
 	src/model/RemoveShowFromShowListRequest.cc
 	src/model/RemoveShowFromShowListRequest.cc
 	src/model/RemoveShowFromShowListResult.cc
 	src/model/RemoveShowFromShowListResult.cc
+	src/model/RestartCasterRequest.cc
+	src/model/RestartCasterResult.cc
 	src/model/ResumeLiveStreamRequest.cc
 	src/model/ResumeLiveStreamRequest.cc
 	src/model/ResumeLiveStreamResult.cc
 	src/model/ResumeLiveStreamResult.cc
 	src/model/RollbackLiveStagingConfigRequest.cc
 	src/model/RollbackLiveStagingConfigRequest.cc
 	src/model/RollbackLiveStagingConfigResult.cc
 	src/model/RollbackLiveStagingConfigResult.cc
+	src/model/SendLikeRequest.cc
+	src/model/SendLikeResult.cc
+	src/model/SendMessageToGroupRequest.cc
+	src/model/SendMessageToGroupResult.cc
+	src/model/SendMessageToGroupUsersRequest.cc
+	src/model/SendMessageToGroupUsersResult.cc
 	src/model/SendRoomNotificationRequest.cc
 	src/model/SendRoomNotificationRequest.cc
 	src/model/SendRoomNotificationResult.cc
 	src/model/SendRoomNotificationResult.cc
 	src/model/SendRoomUserNotificationRequest.cc
 	src/model/SendRoomUserNotificationRequest.cc
@@ -1128,6 +1182,8 @@ set(live_src
 	src/model/UpdateLiveRecordNotifyConfigResult.cc
 	src/model/UpdateLiveRecordNotifyConfigResult.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigRequest.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigRequest.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigResult.cc
 	src/model/UpdateLiveSnapshotDetectPornConfigResult.cc
+	src/model/UpdateLiveSnapshotNotifyConfigRequest.cc
+	src/model/UpdateLiveSnapshotNotifyConfigResult.cc
 	src/model/UpdateLiveStreamMonitorRequest.cc
 	src/model/UpdateLiveStreamMonitorRequest.cc
 	src/model/UpdateLiveStreamMonitorResult.cc
 	src/model/UpdateLiveStreamMonitorResult.cc
 	src/model/UpdateLiveStreamWatermarkRequest.cc
 	src/model/UpdateLiveStreamWatermarkRequest.cc
@@ -1136,6 +1192,10 @@ set(live_src
 	src/model/UpdateLiveStreamWatermarkRuleResult.cc
 	src/model/UpdateLiveStreamWatermarkRuleResult.cc
 	src/model/UpdateLiveTopLevelDomainRequest.cc
 	src/model/UpdateLiveTopLevelDomainRequest.cc
 	src/model/UpdateLiveTopLevelDomainResult.cc
 	src/model/UpdateLiveTopLevelDomainResult.cc
+	src/model/UpdateMessageAppRequest.cc
+	src/model/UpdateMessageAppResult.cc
+	src/model/UpdateMessageGroupRequest.cc
+	src/model/UpdateMessageGroupResult.cc
 	src/model/UpdateMixStreamRequest.cc
 	src/model/UpdateMixStreamRequest.cc
 	src/model/UpdateMixStreamResult.cc
 	src/model/UpdateMixStreamResult.cc
 	src/model/VerifyLiveDomainOwnerRequest.cc
 	src/model/VerifyLiveDomainOwnerRequest.cc

+ 136 - 16
live/include/alibabacloud/live/LiveClient.h

@@ -62,6 +62,8 @@
 #include "model/AddLiveRecordVodConfigResult.h"
 #include "model/AddLiveRecordVodConfigResult.h"
 #include "model/AddLiveSnapshotDetectPornConfigRequest.h"
 #include "model/AddLiveSnapshotDetectPornConfigRequest.h"
 #include "model/AddLiveSnapshotDetectPornConfigResult.h"
 #include "model/AddLiveSnapshotDetectPornConfigResult.h"
+#include "model/AddLiveSnapshotNotifyConfigRequest.h"
+#include "model/AddLiveSnapshotNotifyConfigResult.h"
 #include "model/AddLiveStreamTranscodeRequest.h"
 #include "model/AddLiveStreamTranscodeRequest.h"
 #include "model/AddLiveStreamTranscodeResult.h"
 #include "model/AddLiveStreamTranscodeResult.h"
 #include "model/AddLiveStreamWatermarkRequest.h"
 #include "model/AddLiveStreamWatermarkRequest.h"
@@ -90,8 +92,6 @@
 #include "model/CancelMuteAllGroupUserResult.h"
 #include "model/CancelMuteAllGroupUserResult.h"
 #include "model/CloseLiveShiftRequest.h"
 #include "model/CloseLiveShiftRequest.h"
 #include "model/CloseLiveShiftResult.h"
 #include "model/CloseLiveShiftResult.h"
-#include "model/CloseMessageGroupRequest.h"
-#include "model/CloseMessageGroupResult.h"
 #include "model/CopyCasterRequest.h"
 #include "model/CopyCasterRequest.h"
 #include "model/CopyCasterResult.h"
 #include "model/CopyCasterResult.h"
 #include "model/CopyCasterSceneConfigRequest.h"
 #include "model/CopyCasterSceneConfigRequest.h"
@@ -108,6 +108,8 @@
 #include "model/CreateLiveStreamRecordIndexFilesResult.h"
 #include "model/CreateLiveStreamRecordIndexFilesResult.h"
 #include "model/CreateLiveTranscodeTemplateRequest.h"
 #include "model/CreateLiveTranscodeTemplateRequest.h"
 #include "model/CreateLiveTranscodeTemplateResult.h"
 #include "model/CreateLiveTranscodeTemplateResult.h"
+#include "model/CreateMessageAppRequest.h"
+#include "model/CreateMessageAppResult.h"
 #include "model/CreateMessageGroupRequest.h"
 #include "model/CreateMessageGroupRequest.h"
 #include "model/CreateMessageGroupResult.h"
 #include "model/CreateMessageGroupResult.h"
 #include "model/CreateMixStreamRequest.h"
 #include "model/CreateMixStreamRequest.h"
@@ -162,6 +164,8 @@
 #include "model/DeleteLiveRecordVodConfigResult.h"
 #include "model/DeleteLiveRecordVodConfigResult.h"
 #include "model/DeleteLiveSnapshotDetectPornConfigRequest.h"
 #include "model/DeleteLiveSnapshotDetectPornConfigRequest.h"
 #include "model/DeleteLiveSnapshotDetectPornConfigResult.h"
 #include "model/DeleteLiveSnapshotDetectPornConfigResult.h"
+#include "model/DeleteLiveSnapshotNotifyConfigRequest.h"
+#include "model/DeleteLiveSnapshotNotifyConfigResult.h"
 #include "model/DeleteLiveSpecificStagingConfigRequest.h"
 #include "model/DeleteLiveSpecificStagingConfigRequest.h"
 #include "model/DeleteLiveSpecificStagingConfigResult.h"
 #include "model/DeleteLiveSpecificStagingConfigResult.h"
 #include "model/DeleteLiveStreamMonitorRequest.h"
 #include "model/DeleteLiveStreamMonitorRequest.h"
@@ -316,6 +320,10 @@
 #include "model/DescribeLiveSnapshotConfigResult.h"
 #include "model/DescribeLiveSnapshotConfigResult.h"
 #include "model/DescribeLiveSnapshotDetectPornConfigRequest.h"
 #include "model/DescribeLiveSnapshotDetectPornConfigRequest.h"
 #include "model/DescribeLiveSnapshotDetectPornConfigResult.h"
 #include "model/DescribeLiveSnapshotDetectPornConfigResult.h"
+#include "model/DescribeLiveSnapshotNotifyConfigRequest.h"
+#include "model/DescribeLiveSnapshotNotifyConfigResult.h"
+#include "model/DescribeLiveStreamAuthCheckingRequest.h"
+#include "model/DescribeLiveStreamAuthCheckingResult.h"
 #include "model/DescribeLiveStreamBitRateDataRequest.h"
 #include "model/DescribeLiveStreamBitRateDataRequest.h"
 #include "model/DescribeLiveStreamBitRateDataResult.h"
 #include "model/DescribeLiveStreamBitRateDataResult.h"
 #include "model/DescribeLiveStreamCountRequest.h"
 #include "model/DescribeLiveStreamCountRequest.h"
@@ -352,6 +360,8 @@
 #include "model/DescribeLiveStreamsBlockListResult.h"
 #include "model/DescribeLiveStreamsBlockListResult.h"
 #include "model/DescribeLiveStreamsControlHistoryRequest.h"
 #include "model/DescribeLiveStreamsControlHistoryRequest.h"
 #include "model/DescribeLiveStreamsControlHistoryResult.h"
 #include "model/DescribeLiveStreamsControlHistoryResult.h"
+#include "model/DescribeLiveStreamsNotifyRecordsRequest.h"
+#include "model/DescribeLiveStreamsNotifyRecordsResult.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigRequest.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigRequest.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigResult.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigResult.h"
 #include "model/DescribeLiveStreamsOnlineListRequest.h"
 #include "model/DescribeLiveStreamsOnlineListRequest.h"
@@ -426,12 +436,12 @@
 #include "model/GetCustomTemplateResult.h"
 #include "model/GetCustomTemplateResult.h"
 #include "model/GetEditingJobInfoRequest.h"
 #include "model/GetEditingJobInfoRequest.h"
 #include "model/GetEditingJobInfoResult.h"
 #include "model/GetEditingJobInfoResult.h"
+#include "model/GetMessageAppRequest.h"
+#include "model/GetMessageAppResult.h"
 #include "model/GetMessageGroupRequest.h"
 #include "model/GetMessageGroupRequest.h"
 #include "model/GetMessageGroupResult.h"
 #include "model/GetMessageGroupResult.h"
 #include "model/GetMessageTokenRequest.h"
 #include "model/GetMessageTokenRequest.h"
 #include "model/GetMessageTokenResult.h"
 #include "model/GetMessageTokenResult.h"
-#include "model/GetMessageUserInfoRequest.h"
-#include "model/GetMessageUserInfoResult.h"
 #include "model/GetMultiRateConfigRequest.h"
 #include "model/GetMultiRateConfigRequest.h"
 #include "model/GetMultiRateConfigResult.h"
 #include "model/GetMultiRateConfigResult.h"
 #include "model/GetMultiRateConfigListRequest.h"
 #include "model/GetMultiRateConfigListRequest.h"
@@ -452,10 +462,14 @@
 #include "model/ListLiveRealtimeLogDeliveryInfosResult.h"
 #include "model/ListLiveRealtimeLogDeliveryInfosResult.h"
 #include "model/ListMessageRequest.h"
 #include "model/ListMessageRequest.h"
 #include "model/ListMessageResult.h"
 #include "model/ListMessageResult.h"
+#include "model/ListMessageAppRequest.h"
+#include "model/ListMessageAppResult.h"
 #include "model/ListMessageGroupRequest.h"
 #include "model/ListMessageGroupRequest.h"
 #include "model/ListMessageGroupResult.h"
 #include "model/ListMessageGroupResult.h"
 #include "model/ListMessageGroupUserRequest.h"
 #include "model/ListMessageGroupUserRequest.h"
 #include "model/ListMessageGroupUserResult.h"
 #include "model/ListMessageGroupUserResult.h"
+#include "model/ListMessageGroupUserByIdRequest.h"
+#include "model/ListMessageGroupUserByIdResult.h"
 #include "model/ListPlaylistRequest.h"
 #include "model/ListPlaylistRequest.h"
 #include "model/ListPlaylistResult.h"
 #include "model/ListPlaylistResult.h"
 #include "model/ListPlaylistItemsRequest.h"
 #include "model/ListPlaylistItemsRequest.h"
@@ -484,6 +498,8 @@
 #include "model/PlayChoosenShowResult.h"
 #include "model/PlayChoosenShowResult.h"
 #include "model/PublishLiveStagingConfigToProductionRequest.h"
 #include "model/PublishLiveStagingConfigToProductionRequest.h"
 #include "model/PublishLiveStagingConfigToProductionResult.h"
 #include "model/PublishLiveStagingConfigToProductionResult.h"
+#include "model/QueryMessageAppRequest.h"
+#include "model/QueryMessageAppResult.h"
 #include "model/QuerySnapshotCallbackAuthRequest.h"
 #include "model/QuerySnapshotCallbackAuthRequest.h"
 #include "model/QuerySnapshotCallbackAuthResult.h"
 #include "model/QuerySnapshotCallbackAuthResult.h"
 #include "model/RealTimeRecordCommandRequest.h"
 #include "model/RealTimeRecordCommandRequest.h"
@@ -492,10 +508,18 @@
 #include "model/RealTimeSnapshotCommandResult.h"
 #include "model/RealTimeSnapshotCommandResult.h"
 #include "model/RemoveShowFromShowListRequest.h"
 #include "model/RemoveShowFromShowListRequest.h"
 #include "model/RemoveShowFromShowListResult.h"
 #include "model/RemoveShowFromShowListResult.h"
+#include "model/RestartCasterRequest.h"
+#include "model/RestartCasterResult.h"
 #include "model/ResumeLiveStreamRequest.h"
 #include "model/ResumeLiveStreamRequest.h"
 #include "model/ResumeLiveStreamResult.h"
 #include "model/ResumeLiveStreamResult.h"
 #include "model/RollbackLiveStagingConfigRequest.h"
 #include "model/RollbackLiveStagingConfigRequest.h"
 #include "model/RollbackLiveStagingConfigResult.h"
 #include "model/RollbackLiveStagingConfigResult.h"
+#include "model/SendLikeRequest.h"
+#include "model/SendLikeResult.h"
+#include "model/SendMessageToGroupRequest.h"
+#include "model/SendMessageToGroupResult.h"
+#include "model/SendMessageToGroupUsersRequest.h"
+#include "model/SendMessageToGroupUsersResult.h"
 #include "model/SendRoomNotificationRequest.h"
 #include "model/SendRoomNotificationRequest.h"
 #include "model/SendRoomNotificationResult.h"
 #include "model/SendRoomNotificationResult.h"
 #include "model/SendRoomUserNotificationRequest.h"
 #include "model/SendRoomUserNotificationRequest.h"
@@ -568,6 +592,8 @@
 #include "model/UpdateLiveRecordNotifyConfigResult.h"
 #include "model/UpdateLiveRecordNotifyConfigResult.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigRequest.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigRequest.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigResult.h"
 #include "model/UpdateLiveSnapshotDetectPornConfigResult.h"
+#include "model/UpdateLiveSnapshotNotifyConfigRequest.h"
+#include "model/UpdateLiveSnapshotNotifyConfigResult.h"
 #include "model/UpdateLiveStreamMonitorRequest.h"
 #include "model/UpdateLiveStreamMonitorRequest.h"
 #include "model/UpdateLiveStreamMonitorResult.h"
 #include "model/UpdateLiveStreamMonitorResult.h"
 #include "model/UpdateLiveStreamWatermarkRequest.h"
 #include "model/UpdateLiveStreamWatermarkRequest.h"
@@ -576,6 +602,10 @@
 #include "model/UpdateLiveStreamWatermarkRuleResult.h"
 #include "model/UpdateLiveStreamWatermarkRuleResult.h"
 #include "model/UpdateLiveTopLevelDomainRequest.h"
 #include "model/UpdateLiveTopLevelDomainRequest.h"
 #include "model/UpdateLiveTopLevelDomainResult.h"
 #include "model/UpdateLiveTopLevelDomainResult.h"
+#include "model/UpdateMessageAppRequest.h"
+#include "model/UpdateMessageAppResult.h"
+#include "model/UpdateMessageGroupRequest.h"
+#include "model/UpdateMessageGroupResult.h"
 #include "model/UpdateMixStreamRequest.h"
 #include "model/UpdateMixStreamRequest.h"
 #include "model/UpdateMixStreamResult.h"
 #include "model/UpdateMixStreamResult.h"
 #include "model/VerifyLiveDomainOwnerRequest.h"
 #include "model/VerifyLiveDomainOwnerRequest.h"
@@ -649,6 +679,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddLiveSnapshotDetectPornConfigResult> AddLiveSnapshotDetectPornConfigOutcome;
 			typedef Outcome<Error, Model::AddLiveSnapshotDetectPornConfigResult> AddLiveSnapshotDetectPornConfigOutcome;
 			typedef std::future<AddLiveSnapshotDetectPornConfigOutcome> AddLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::future<AddLiveSnapshotDetectPornConfigOutcome> AddLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveSnapshotDetectPornConfigRequest&, const AddLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveSnapshotDetectPornConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveSnapshotDetectPornConfigRequest&, const AddLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveSnapshotDetectPornConfigAsyncHandler;
+			typedef Outcome<Error, Model::AddLiveSnapshotNotifyConfigResult> AddLiveSnapshotNotifyConfigOutcome;
+			typedef std::future<AddLiveSnapshotNotifyConfigOutcome> AddLiveSnapshotNotifyConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::AddLiveSnapshotNotifyConfigRequest&, const AddLiveSnapshotNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveSnapshotNotifyConfigAsyncHandler;
 			typedef Outcome<Error, Model::AddLiveStreamTranscodeResult> AddLiveStreamTranscodeOutcome;
 			typedef Outcome<Error, Model::AddLiveStreamTranscodeResult> AddLiveStreamTranscodeOutcome;
 			typedef std::future<AddLiveStreamTranscodeOutcome> AddLiveStreamTranscodeOutcomeCallable;
 			typedef std::future<AddLiveStreamTranscodeOutcome> AddLiveStreamTranscodeOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveStreamTranscodeRequest&, const AddLiveStreamTranscodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveStreamTranscodeAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveStreamTranscodeRequest&, const AddLiveStreamTranscodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveStreamTranscodeAsyncHandler;
@@ -691,9 +724,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CloseLiveShiftResult> CloseLiveShiftOutcome;
 			typedef Outcome<Error, Model::CloseLiveShiftResult> CloseLiveShiftOutcome;
 			typedef std::future<CloseLiveShiftOutcome> CloseLiveShiftOutcomeCallable;
 			typedef std::future<CloseLiveShiftOutcome> CloseLiveShiftOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CloseLiveShiftRequest&, const CloseLiveShiftOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CloseLiveShiftAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::CloseLiveShiftRequest&, const CloseLiveShiftOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CloseLiveShiftAsyncHandler;
-			typedef Outcome<Error, Model::CloseMessageGroupResult> CloseMessageGroupOutcome;
-			typedef std::future<CloseMessageGroupOutcome> CloseMessageGroupOutcomeCallable;
-			typedef std::function<void(const LiveClient*, const Model::CloseMessageGroupRequest&, const CloseMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CloseMessageGroupAsyncHandler;
 			typedef Outcome<Error, Model::CopyCasterResult> CopyCasterOutcome;
 			typedef Outcome<Error, Model::CopyCasterResult> CopyCasterOutcome;
 			typedef std::future<CopyCasterOutcome> CopyCasterOutcomeCallable;
 			typedef std::future<CopyCasterOutcome> CopyCasterOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CopyCasterRequest&, const CopyCasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CopyCasterAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::CopyCasterRequest&, const CopyCasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CopyCasterAsyncHandler;
@@ -718,6 +748,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateLiveTranscodeTemplateResult> CreateLiveTranscodeTemplateOutcome;
 			typedef Outcome<Error, Model::CreateLiveTranscodeTemplateResult> CreateLiveTranscodeTemplateOutcome;
 			typedef std::future<CreateLiveTranscodeTemplateOutcome> CreateLiveTranscodeTemplateOutcomeCallable;
 			typedef std::future<CreateLiveTranscodeTemplateOutcome> CreateLiveTranscodeTemplateOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveTranscodeTemplateRequest&, const CreateLiveTranscodeTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveTranscodeTemplateAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveTranscodeTemplateRequest&, const CreateLiveTranscodeTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveTranscodeTemplateAsyncHandler;
+			typedef Outcome<Error, Model::CreateMessageAppResult> CreateMessageAppOutcome;
+			typedef std::future<CreateMessageAppOutcome> CreateMessageAppOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::CreateMessageAppRequest&, const CreateMessageAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMessageAppAsyncHandler;
 			typedef Outcome<Error, Model::CreateMessageGroupResult> CreateMessageGroupOutcome;
 			typedef Outcome<Error, Model::CreateMessageGroupResult> CreateMessageGroupOutcome;
 			typedef std::future<CreateMessageGroupOutcome> CreateMessageGroupOutcomeCallable;
 			typedef std::future<CreateMessageGroupOutcome> CreateMessageGroupOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateMessageGroupRequest&, const CreateMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMessageGroupAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::CreateMessageGroupRequest&, const CreateMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMessageGroupAsyncHandler;
@@ -799,6 +832,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLiveSnapshotDetectPornConfigResult> DeleteLiveSnapshotDetectPornConfigOutcome;
 			typedef Outcome<Error, Model::DeleteLiveSnapshotDetectPornConfigResult> DeleteLiveSnapshotDetectPornConfigOutcome;
 			typedef std::future<DeleteLiveSnapshotDetectPornConfigOutcome> DeleteLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::future<DeleteLiveSnapshotDetectPornConfigOutcome> DeleteLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSnapshotDetectPornConfigRequest&, const DeleteLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSnapshotDetectPornConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSnapshotDetectPornConfigRequest&, const DeleteLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSnapshotDetectPornConfigAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveSnapshotNotifyConfigResult> DeleteLiveSnapshotNotifyConfigOutcome;
+			typedef std::future<DeleteLiveSnapshotNotifyConfigOutcome> DeleteLiveSnapshotNotifyConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSnapshotNotifyConfigRequest&, const DeleteLiveSnapshotNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSnapshotNotifyConfigAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveSpecificStagingConfigResult> DeleteLiveSpecificStagingConfigOutcome;
 			typedef Outcome<Error, Model::DeleteLiveSpecificStagingConfigResult> DeleteLiveSpecificStagingConfigOutcome;
 			typedef std::future<DeleteLiveSpecificStagingConfigOutcome> DeleteLiveSpecificStagingConfigOutcomeCallable;
 			typedef std::future<DeleteLiveSpecificStagingConfigOutcome> DeleteLiveSpecificStagingConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSpecificStagingConfigRequest&, const DeleteLiveSpecificStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSpecificStagingConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSpecificStagingConfigRequest&, const DeleteLiveSpecificStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSpecificStagingConfigAsyncHandler;
@@ -1030,6 +1066,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveSnapshotDetectPornConfigResult> DescribeLiveSnapshotDetectPornConfigOutcome;
 			typedef Outcome<Error, Model::DescribeLiveSnapshotDetectPornConfigResult> DescribeLiveSnapshotDetectPornConfigOutcome;
 			typedef std::future<DescribeLiveSnapshotDetectPornConfigOutcome> DescribeLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::future<DescribeLiveSnapshotDetectPornConfigOutcome> DescribeLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveSnapshotDetectPornConfigRequest&, const DescribeLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveSnapshotDetectPornConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveSnapshotDetectPornConfigRequest&, const DescribeLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveSnapshotDetectPornConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveSnapshotNotifyConfigResult> DescribeLiveSnapshotNotifyConfigOutcome;
+			typedef std::future<DescribeLiveSnapshotNotifyConfigOutcome> DescribeLiveSnapshotNotifyConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveSnapshotNotifyConfigRequest&, const DescribeLiveSnapshotNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveSnapshotNotifyConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveStreamAuthCheckingResult> DescribeLiveStreamAuthCheckingOutcome;
+			typedef std::future<DescribeLiveStreamAuthCheckingOutcome> DescribeLiveStreamAuthCheckingOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamAuthCheckingRequest&, const DescribeLiveStreamAuthCheckingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamAuthCheckingAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamBitRateDataResult> DescribeLiveStreamBitRateDataOutcome;
 			typedef Outcome<Error, Model::DescribeLiveStreamBitRateDataResult> DescribeLiveStreamBitRateDataOutcome;
 			typedef std::future<DescribeLiveStreamBitRateDataOutcome> DescribeLiveStreamBitRateDataOutcomeCallable;
 			typedef std::future<DescribeLiveStreamBitRateDataOutcome> DescribeLiveStreamBitRateDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamBitRateDataRequest&, const DescribeLiveStreamBitRateDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamBitRateDataAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamBitRateDataRequest&, const DescribeLiveStreamBitRateDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamBitRateDataAsyncHandler;
@@ -1084,6 +1126,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveStreamsControlHistoryResult> DescribeLiveStreamsControlHistoryOutcome;
 			typedef Outcome<Error, Model::DescribeLiveStreamsControlHistoryResult> DescribeLiveStreamsControlHistoryOutcome;
 			typedef std::future<DescribeLiveStreamsControlHistoryOutcome> DescribeLiveStreamsControlHistoryOutcomeCallable;
 			typedef std::future<DescribeLiveStreamsControlHistoryOutcome> DescribeLiveStreamsControlHistoryOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsControlHistoryRequest&, const DescribeLiveStreamsControlHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsControlHistoryAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsControlHistoryRequest&, const DescribeLiveStreamsControlHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsControlHistoryAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveStreamsNotifyRecordsResult> DescribeLiveStreamsNotifyRecordsOutcome;
+			typedef std::future<DescribeLiveStreamsNotifyRecordsOutcome> DescribeLiveStreamsNotifyRecordsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsNotifyRecordsRequest&, const DescribeLiveStreamsNotifyRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsNotifyRecordsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamsNotifyUrlConfigResult> DescribeLiveStreamsNotifyUrlConfigOutcome;
 			typedef Outcome<Error, Model::DescribeLiveStreamsNotifyUrlConfigResult> DescribeLiveStreamsNotifyUrlConfigOutcome;
 			typedef std::future<DescribeLiveStreamsNotifyUrlConfigOutcome> DescribeLiveStreamsNotifyUrlConfigOutcomeCallable;
 			typedef std::future<DescribeLiveStreamsNotifyUrlConfigOutcome> DescribeLiveStreamsNotifyUrlConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsNotifyUrlConfigRequest&, const DescribeLiveStreamsNotifyUrlConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsNotifyUrlConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsNotifyUrlConfigRequest&, const DescribeLiveStreamsNotifyUrlConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsNotifyUrlConfigAsyncHandler;
@@ -1195,15 +1240,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetEditingJobInfoResult> GetEditingJobInfoOutcome;
 			typedef Outcome<Error, Model::GetEditingJobInfoResult> GetEditingJobInfoOutcome;
 			typedef std::future<GetEditingJobInfoOutcome> GetEditingJobInfoOutcomeCallable;
 			typedef std::future<GetEditingJobInfoOutcome> GetEditingJobInfoOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::GetEditingJobInfoRequest&, const GetEditingJobInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetEditingJobInfoAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::GetEditingJobInfoRequest&, const GetEditingJobInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetEditingJobInfoAsyncHandler;
+			typedef Outcome<Error, Model::GetMessageAppResult> GetMessageAppOutcome;
+			typedef std::future<GetMessageAppOutcome> GetMessageAppOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::GetMessageAppRequest&, const GetMessageAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageAppAsyncHandler;
 			typedef Outcome<Error, Model::GetMessageGroupResult> GetMessageGroupOutcome;
 			typedef Outcome<Error, Model::GetMessageGroupResult> GetMessageGroupOutcome;
 			typedef std::future<GetMessageGroupOutcome> GetMessageGroupOutcomeCallable;
 			typedef std::future<GetMessageGroupOutcome> GetMessageGroupOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::GetMessageGroupRequest&, const GetMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageGroupAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::GetMessageGroupRequest&, const GetMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageGroupAsyncHandler;
 			typedef Outcome<Error, Model::GetMessageTokenResult> GetMessageTokenOutcome;
 			typedef Outcome<Error, Model::GetMessageTokenResult> GetMessageTokenOutcome;
 			typedef std::future<GetMessageTokenOutcome> GetMessageTokenOutcomeCallable;
 			typedef std::future<GetMessageTokenOutcome> GetMessageTokenOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::GetMessageTokenRequest&, const GetMessageTokenOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageTokenAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::GetMessageTokenRequest&, const GetMessageTokenOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageTokenAsyncHandler;
-			typedef Outcome<Error, Model::GetMessageUserInfoResult> GetMessageUserInfoOutcome;
-			typedef std::future<GetMessageUserInfoOutcome> GetMessageUserInfoOutcomeCallable;
-			typedef std::function<void(const LiveClient*, const Model::GetMessageUserInfoRequest&, const GetMessageUserInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMessageUserInfoAsyncHandler;
 			typedef Outcome<Error, Model::GetMultiRateConfigResult> GetMultiRateConfigOutcome;
 			typedef Outcome<Error, Model::GetMultiRateConfigResult> GetMultiRateConfigOutcome;
 			typedef std::future<GetMultiRateConfigOutcome> GetMultiRateConfigOutcomeCallable;
 			typedef std::future<GetMultiRateConfigOutcome> GetMultiRateConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::GetMultiRateConfigRequest&, const GetMultiRateConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMultiRateConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::GetMultiRateConfigRequest&, const GetMultiRateConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMultiRateConfigAsyncHandler;
@@ -1234,12 +1279,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListMessageResult> ListMessageOutcome;
 			typedef Outcome<Error, Model::ListMessageResult> ListMessageOutcome;
 			typedef std::future<ListMessageOutcome> ListMessageOutcomeCallable;
 			typedef std::future<ListMessageOutcome> ListMessageOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageRequest&, const ListMessageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageRequest&, const ListMessageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageAsyncHandler;
+			typedef Outcome<Error, Model::ListMessageAppResult> ListMessageAppOutcome;
+			typedef std::future<ListMessageAppOutcome> ListMessageAppOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::ListMessageAppRequest&, const ListMessageAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageAppAsyncHandler;
 			typedef Outcome<Error, Model::ListMessageGroupResult> ListMessageGroupOutcome;
 			typedef Outcome<Error, Model::ListMessageGroupResult> ListMessageGroupOutcome;
 			typedef std::future<ListMessageGroupOutcome> ListMessageGroupOutcomeCallable;
 			typedef std::future<ListMessageGroupOutcome> ListMessageGroupOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageGroupRequest&, const ListMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageGroupAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageGroupRequest&, const ListMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageGroupAsyncHandler;
 			typedef Outcome<Error, Model::ListMessageGroupUserResult> ListMessageGroupUserOutcome;
 			typedef Outcome<Error, Model::ListMessageGroupUserResult> ListMessageGroupUserOutcome;
 			typedef std::future<ListMessageGroupUserOutcome> ListMessageGroupUserOutcomeCallable;
 			typedef std::future<ListMessageGroupUserOutcome> ListMessageGroupUserOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageGroupUserRequest&, const ListMessageGroupUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageGroupUserAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::ListMessageGroupUserRequest&, const ListMessageGroupUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageGroupUserAsyncHandler;
+			typedef Outcome<Error, Model::ListMessageGroupUserByIdResult> ListMessageGroupUserByIdOutcome;
+			typedef std::future<ListMessageGroupUserByIdOutcome> ListMessageGroupUserByIdOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::ListMessageGroupUserByIdRequest&, const ListMessageGroupUserByIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMessageGroupUserByIdAsyncHandler;
 			typedef Outcome<Error, Model::ListPlaylistResult> ListPlaylistOutcome;
 			typedef Outcome<Error, Model::ListPlaylistResult> ListPlaylistOutcome;
 			typedef std::future<ListPlaylistOutcome> ListPlaylistOutcomeCallable;
 			typedef std::future<ListPlaylistOutcome> ListPlaylistOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ListPlaylistRequest&, const ListPlaylistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPlaylistAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::ListPlaylistRequest&, const ListPlaylistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPlaylistAsyncHandler;
@@ -1282,6 +1333,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::PublishLiveStagingConfigToProductionResult> PublishLiveStagingConfigToProductionOutcome;
 			typedef Outcome<Error, Model::PublishLiveStagingConfigToProductionResult> PublishLiveStagingConfigToProductionOutcome;
 			typedef std::future<PublishLiveStagingConfigToProductionOutcome> PublishLiveStagingConfigToProductionOutcomeCallable;
 			typedef std::future<PublishLiveStagingConfigToProductionOutcome> PublishLiveStagingConfigToProductionOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::PublishLiveStagingConfigToProductionRequest&, const PublishLiveStagingConfigToProductionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PublishLiveStagingConfigToProductionAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::PublishLiveStagingConfigToProductionRequest&, const PublishLiveStagingConfigToProductionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PublishLiveStagingConfigToProductionAsyncHandler;
+			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;
 			typedef Outcome<Error, Model::QuerySnapshotCallbackAuthResult> QuerySnapshotCallbackAuthOutcome;
 			typedef Outcome<Error, Model::QuerySnapshotCallbackAuthResult> QuerySnapshotCallbackAuthOutcome;
 			typedef std::future<QuerySnapshotCallbackAuthOutcome> QuerySnapshotCallbackAuthOutcomeCallable;
 			typedef std::future<QuerySnapshotCallbackAuthOutcome> QuerySnapshotCallbackAuthOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::QuerySnapshotCallbackAuthRequest&, const QuerySnapshotCallbackAuthOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySnapshotCallbackAuthAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::QuerySnapshotCallbackAuthRequest&, const QuerySnapshotCallbackAuthOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySnapshotCallbackAuthAsyncHandler;
@@ -1294,12 +1348,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RemoveShowFromShowListResult> RemoveShowFromShowListOutcome;
 			typedef Outcome<Error, Model::RemoveShowFromShowListResult> RemoveShowFromShowListOutcome;
 			typedef std::future<RemoveShowFromShowListOutcome> RemoveShowFromShowListOutcomeCallable;
 			typedef std::future<RemoveShowFromShowListOutcome> RemoveShowFromShowListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RemoveShowFromShowListRequest&, const RemoveShowFromShowListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveShowFromShowListAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::RemoveShowFromShowListRequest&, const RemoveShowFromShowListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveShowFromShowListAsyncHandler;
+			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::ResumeLiveStreamResult> ResumeLiveStreamOutcome;
 			typedef Outcome<Error, Model::ResumeLiveStreamResult> ResumeLiveStreamOutcome;
 			typedef std::future<ResumeLiveStreamOutcome> ResumeLiveStreamOutcomeCallable;
 			typedef std::future<ResumeLiveStreamOutcome> ResumeLiveStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ResumeLiveStreamRequest&, const ResumeLiveStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResumeLiveStreamAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::ResumeLiveStreamRequest&, const ResumeLiveStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResumeLiveStreamAsyncHandler;
 			typedef Outcome<Error, Model::RollbackLiveStagingConfigResult> RollbackLiveStagingConfigOutcome;
 			typedef Outcome<Error, Model::RollbackLiveStagingConfigResult> RollbackLiveStagingConfigOutcome;
 			typedef std::future<RollbackLiveStagingConfigOutcome> RollbackLiveStagingConfigOutcomeCallable;
 			typedef std::future<RollbackLiveStagingConfigOutcome> RollbackLiveStagingConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RollbackLiveStagingConfigRequest&, const RollbackLiveStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RollbackLiveStagingConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::RollbackLiveStagingConfigRequest&, const RollbackLiveStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RollbackLiveStagingConfigAsyncHandler;
+			typedef Outcome<Error, Model::SendLikeResult> SendLikeOutcome;
+			typedef std::future<SendLikeOutcome> SendLikeOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SendLikeRequest&, const SendLikeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendLikeAsyncHandler;
+			typedef Outcome<Error, Model::SendMessageToGroupResult> SendMessageToGroupOutcome;
+			typedef std::future<SendMessageToGroupOutcome> SendMessageToGroupOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SendMessageToGroupRequest&, const SendMessageToGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendMessageToGroupAsyncHandler;
+			typedef Outcome<Error, Model::SendMessageToGroupUsersResult> SendMessageToGroupUsersOutcome;
+			typedef std::future<SendMessageToGroupUsersOutcome> SendMessageToGroupUsersOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SendMessageToGroupUsersRequest&, const SendMessageToGroupUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendMessageToGroupUsersAsyncHandler;
 			typedef Outcome<Error, Model::SendRoomNotificationResult> SendRoomNotificationOutcome;
 			typedef Outcome<Error, Model::SendRoomNotificationResult> SendRoomNotificationOutcome;
 			typedef std::future<SendRoomNotificationOutcome> SendRoomNotificationOutcomeCallable;
 			typedef std::future<SendRoomNotificationOutcome> SendRoomNotificationOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SendRoomNotificationRequest&, const SendRoomNotificationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendRoomNotificationAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::SendRoomNotificationRequest&, const SendRoomNotificationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendRoomNotificationAsyncHandler;
@@ -1408,6 +1474,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateLiveSnapshotDetectPornConfigResult> UpdateLiveSnapshotDetectPornConfigOutcome;
 			typedef Outcome<Error, Model::UpdateLiveSnapshotDetectPornConfigResult> UpdateLiveSnapshotDetectPornConfigOutcome;
 			typedef std::future<UpdateLiveSnapshotDetectPornConfigOutcome> UpdateLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::future<UpdateLiveSnapshotDetectPornConfigOutcome> UpdateLiveSnapshotDetectPornConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveSnapshotDetectPornConfigRequest&, const UpdateLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveSnapshotDetectPornConfigAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveSnapshotDetectPornConfigRequest&, const UpdateLiveSnapshotDetectPornConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveSnapshotDetectPornConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateLiveSnapshotNotifyConfigResult> UpdateLiveSnapshotNotifyConfigOutcome;
+			typedef std::future<UpdateLiveSnapshotNotifyConfigOutcome> UpdateLiveSnapshotNotifyConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateLiveSnapshotNotifyConfigRequest&, const UpdateLiveSnapshotNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveSnapshotNotifyConfigAsyncHandler;
 			typedef Outcome<Error, Model::UpdateLiveStreamMonitorResult> UpdateLiveStreamMonitorOutcome;
 			typedef Outcome<Error, Model::UpdateLiveStreamMonitorResult> UpdateLiveStreamMonitorOutcome;
 			typedef std::future<UpdateLiveStreamMonitorOutcome> UpdateLiveStreamMonitorOutcomeCallable;
 			typedef std::future<UpdateLiveStreamMonitorOutcome> UpdateLiveStreamMonitorOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveStreamMonitorRequest&, const UpdateLiveStreamMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveStreamMonitorAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveStreamMonitorRequest&, const UpdateLiveStreamMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveStreamMonitorAsyncHandler;
@@ -1420,6 +1489,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateLiveTopLevelDomainResult> UpdateLiveTopLevelDomainOutcome;
 			typedef Outcome<Error, Model::UpdateLiveTopLevelDomainResult> UpdateLiveTopLevelDomainOutcome;
 			typedef std::future<UpdateLiveTopLevelDomainOutcome> UpdateLiveTopLevelDomainOutcomeCallable;
 			typedef std::future<UpdateLiveTopLevelDomainOutcome> UpdateLiveTopLevelDomainOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveTopLevelDomainRequest&, const UpdateLiveTopLevelDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveTopLevelDomainAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::UpdateLiveTopLevelDomainRequest&, const UpdateLiveTopLevelDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateLiveTopLevelDomainAsyncHandler;
+			typedef Outcome<Error, Model::UpdateMessageAppResult> UpdateMessageAppOutcome;
+			typedef std::future<UpdateMessageAppOutcome> UpdateMessageAppOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateMessageAppRequest&, const UpdateMessageAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMessageAppAsyncHandler;
+			typedef Outcome<Error, Model::UpdateMessageGroupResult> UpdateMessageGroupOutcome;
+			typedef std::future<UpdateMessageGroupOutcome> UpdateMessageGroupOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::UpdateMessageGroupRequest&, const UpdateMessageGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMessageGroupAsyncHandler;
 			typedef Outcome<Error, Model::UpdateMixStreamResult> UpdateMixStreamOutcome;
 			typedef Outcome<Error, Model::UpdateMixStreamResult> UpdateMixStreamOutcome;
 			typedef std::future<UpdateMixStreamOutcome> UpdateMixStreamOutcomeCallable;
 			typedef std::future<UpdateMixStreamOutcome> UpdateMixStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateMixStreamRequest&, const UpdateMixStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMixStreamAsyncHandler;
 			typedef std::function<void(const LiveClient*, const Model::UpdateMixStreamRequest&, const UpdateMixStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMixStreamAsyncHandler;
@@ -1491,6 +1566,9 @@ namespace AlibabaCloud
 			AddLiveSnapshotDetectPornConfigOutcome addLiveSnapshotDetectPornConfig(const Model::AddLiveSnapshotDetectPornConfigRequest &request)const;
 			AddLiveSnapshotDetectPornConfigOutcome addLiveSnapshotDetectPornConfig(const Model::AddLiveSnapshotDetectPornConfigRequest &request)const;
 			void addLiveSnapshotDetectPornConfigAsync(const Model::AddLiveSnapshotDetectPornConfigRequest& request, const AddLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void addLiveSnapshotDetectPornConfigAsync(const Model::AddLiveSnapshotDetectPornConfigRequest& request, const AddLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddLiveSnapshotDetectPornConfigOutcomeCallable addLiveSnapshotDetectPornConfigCallable(const Model::AddLiveSnapshotDetectPornConfigRequest& request) const;
 			AddLiveSnapshotDetectPornConfigOutcomeCallable addLiveSnapshotDetectPornConfigCallable(const Model::AddLiveSnapshotDetectPornConfigRequest& request) const;
+			AddLiveSnapshotNotifyConfigOutcome addLiveSnapshotNotifyConfig(const Model::AddLiveSnapshotNotifyConfigRequest &request)const;
+			void addLiveSnapshotNotifyConfigAsync(const Model::AddLiveSnapshotNotifyConfigRequest& request, const AddLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddLiveSnapshotNotifyConfigOutcomeCallable addLiveSnapshotNotifyConfigCallable(const Model::AddLiveSnapshotNotifyConfigRequest& request) const;
 			AddLiveStreamTranscodeOutcome addLiveStreamTranscode(const Model::AddLiveStreamTranscodeRequest &request)const;
 			AddLiveStreamTranscodeOutcome addLiveStreamTranscode(const Model::AddLiveStreamTranscodeRequest &request)const;
 			void addLiveStreamTranscodeAsync(const Model::AddLiveStreamTranscodeRequest& request, const AddLiveStreamTranscodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void addLiveStreamTranscodeAsync(const Model::AddLiveStreamTranscodeRequest& request, const AddLiveStreamTranscodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddLiveStreamTranscodeOutcomeCallable addLiveStreamTranscodeCallable(const Model::AddLiveStreamTranscodeRequest& request) const;
 			AddLiveStreamTranscodeOutcomeCallable addLiveStreamTranscodeCallable(const Model::AddLiveStreamTranscodeRequest& request) const;
@@ -1533,9 +1611,6 @@ namespace AlibabaCloud
 			CloseLiveShiftOutcome closeLiveShift(const Model::CloseLiveShiftRequest &request)const;
 			CloseLiveShiftOutcome closeLiveShift(const Model::CloseLiveShiftRequest &request)const;
 			void closeLiveShiftAsync(const Model::CloseLiveShiftRequest& request, const CloseLiveShiftAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void closeLiveShiftAsync(const Model::CloseLiveShiftRequest& request, const CloseLiveShiftAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CloseLiveShiftOutcomeCallable closeLiveShiftCallable(const Model::CloseLiveShiftRequest& request) const;
 			CloseLiveShiftOutcomeCallable closeLiveShiftCallable(const Model::CloseLiveShiftRequest& request) const;
-			CloseMessageGroupOutcome closeMessageGroup(const Model::CloseMessageGroupRequest &request)const;
-			void closeMessageGroupAsync(const Model::CloseMessageGroupRequest& request, const CloseMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CloseMessageGroupOutcomeCallable closeMessageGroupCallable(const Model::CloseMessageGroupRequest& request) const;
 			CopyCasterOutcome copyCaster(const Model::CopyCasterRequest &request)const;
 			CopyCasterOutcome copyCaster(const Model::CopyCasterRequest &request)const;
 			void copyCasterAsync(const Model::CopyCasterRequest& request, const CopyCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void copyCasterAsync(const Model::CopyCasterRequest& request, const CopyCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CopyCasterOutcomeCallable copyCasterCallable(const Model::CopyCasterRequest& request) const;
 			CopyCasterOutcomeCallable copyCasterCallable(const Model::CopyCasterRequest& request) const;
@@ -1560,6 +1635,9 @@ namespace AlibabaCloud
 			CreateLiveTranscodeTemplateOutcome createLiveTranscodeTemplate(const Model::CreateLiveTranscodeTemplateRequest &request)const;
 			CreateLiveTranscodeTemplateOutcome createLiveTranscodeTemplate(const Model::CreateLiveTranscodeTemplateRequest &request)const;
 			void createLiveTranscodeTemplateAsync(const Model::CreateLiveTranscodeTemplateRequest& request, const CreateLiveTranscodeTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void createLiveTranscodeTemplateAsync(const Model::CreateLiveTranscodeTemplateRequest& request, const CreateLiveTranscodeTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLiveTranscodeTemplateOutcomeCallable createLiveTranscodeTemplateCallable(const Model::CreateLiveTranscodeTemplateRequest& request) const;
 			CreateLiveTranscodeTemplateOutcomeCallable createLiveTranscodeTemplateCallable(const Model::CreateLiveTranscodeTemplateRequest& request) const;
+			CreateMessageAppOutcome createMessageApp(const Model::CreateMessageAppRequest &request)const;
+			void createMessageAppAsync(const Model::CreateMessageAppRequest& request, const CreateMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateMessageAppOutcomeCallable createMessageAppCallable(const Model::CreateMessageAppRequest& request) const;
 			CreateMessageGroupOutcome createMessageGroup(const Model::CreateMessageGroupRequest &request)const;
 			CreateMessageGroupOutcome createMessageGroup(const Model::CreateMessageGroupRequest &request)const;
 			void createMessageGroupAsync(const Model::CreateMessageGroupRequest& request, const CreateMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void createMessageGroupAsync(const Model::CreateMessageGroupRequest& request, const CreateMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateMessageGroupOutcomeCallable createMessageGroupCallable(const Model::CreateMessageGroupRequest& request) const;
 			CreateMessageGroupOutcomeCallable createMessageGroupCallable(const Model::CreateMessageGroupRequest& request) const;
@@ -1641,6 +1719,9 @@ namespace AlibabaCloud
 			DeleteLiveSnapshotDetectPornConfigOutcome deleteLiveSnapshotDetectPornConfig(const Model::DeleteLiveSnapshotDetectPornConfigRequest &request)const;
 			DeleteLiveSnapshotDetectPornConfigOutcome deleteLiveSnapshotDetectPornConfig(const Model::DeleteLiveSnapshotDetectPornConfigRequest &request)const;
 			void deleteLiveSnapshotDetectPornConfigAsync(const Model::DeleteLiveSnapshotDetectPornConfigRequest& request, const DeleteLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void deleteLiveSnapshotDetectPornConfigAsync(const Model::DeleteLiveSnapshotDetectPornConfigRequest& request, const DeleteLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveSnapshotDetectPornConfigOutcomeCallable deleteLiveSnapshotDetectPornConfigCallable(const Model::DeleteLiveSnapshotDetectPornConfigRequest& request) const;
 			DeleteLiveSnapshotDetectPornConfigOutcomeCallable deleteLiveSnapshotDetectPornConfigCallable(const Model::DeleteLiveSnapshotDetectPornConfigRequest& request) const;
+			DeleteLiveSnapshotNotifyConfigOutcome deleteLiveSnapshotNotifyConfig(const Model::DeleteLiveSnapshotNotifyConfigRequest &request)const;
+			void deleteLiveSnapshotNotifyConfigAsync(const Model::DeleteLiveSnapshotNotifyConfigRequest& request, const DeleteLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveSnapshotNotifyConfigOutcomeCallable deleteLiveSnapshotNotifyConfigCallable(const Model::DeleteLiveSnapshotNotifyConfigRequest& request) const;
 			DeleteLiveSpecificStagingConfigOutcome deleteLiveSpecificStagingConfig(const Model::DeleteLiveSpecificStagingConfigRequest &request)const;
 			DeleteLiveSpecificStagingConfigOutcome deleteLiveSpecificStagingConfig(const Model::DeleteLiveSpecificStagingConfigRequest &request)const;
 			void deleteLiveSpecificStagingConfigAsync(const Model::DeleteLiveSpecificStagingConfigRequest& request, const DeleteLiveSpecificStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void deleteLiveSpecificStagingConfigAsync(const Model::DeleteLiveSpecificStagingConfigRequest& request, const DeleteLiveSpecificStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveSpecificStagingConfigOutcomeCallable deleteLiveSpecificStagingConfigCallable(const Model::DeleteLiveSpecificStagingConfigRequest& request) const;
 			DeleteLiveSpecificStagingConfigOutcomeCallable deleteLiveSpecificStagingConfigCallable(const Model::DeleteLiveSpecificStagingConfigRequest& request) const;
@@ -1872,6 +1953,12 @@ namespace AlibabaCloud
 			DescribeLiveSnapshotDetectPornConfigOutcome describeLiveSnapshotDetectPornConfig(const Model::DescribeLiveSnapshotDetectPornConfigRequest &request)const;
 			DescribeLiveSnapshotDetectPornConfigOutcome describeLiveSnapshotDetectPornConfig(const Model::DescribeLiveSnapshotDetectPornConfigRequest &request)const;
 			void describeLiveSnapshotDetectPornConfigAsync(const Model::DescribeLiveSnapshotDetectPornConfigRequest& request, const DescribeLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeLiveSnapshotDetectPornConfigAsync(const Model::DescribeLiveSnapshotDetectPornConfigRequest& request, const DescribeLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveSnapshotDetectPornConfigOutcomeCallable describeLiveSnapshotDetectPornConfigCallable(const Model::DescribeLiveSnapshotDetectPornConfigRequest& request) const;
 			DescribeLiveSnapshotDetectPornConfigOutcomeCallable describeLiveSnapshotDetectPornConfigCallable(const Model::DescribeLiveSnapshotDetectPornConfigRequest& request) const;
+			DescribeLiveSnapshotNotifyConfigOutcome describeLiveSnapshotNotifyConfig(const Model::DescribeLiveSnapshotNotifyConfigRequest &request)const;
+			void describeLiveSnapshotNotifyConfigAsync(const Model::DescribeLiveSnapshotNotifyConfigRequest& request, const DescribeLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveSnapshotNotifyConfigOutcomeCallable describeLiveSnapshotNotifyConfigCallable(const Model::DescribeLiveSnapshotNotifyConfigRequest& request) const;
+			DescribeLiveStreamAuthCheckingOutcome describeLiveStreamAuthChecking(const Model::DescribeLiveStreamAuthCheckingRequest &request)const;
+			void describeLiveStreamAuthCheckingAsync(const Model::DescribeLiveStreamAuthCheckingRequest& request, const DescribeLiveStreamAuthCheckingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveStreamAuthCheckingOutcomeCallable describeLiveStreamAuthCheckingCallable(const Model::DescribeLiveStreamAuthCheckingRequest& request) const;
 			DescribeLiveStreamBitRateDataOutcome describeLiveStreamBitRateData(const Model::DescribeLiveStreamBitRateDataRequest &request)const;
 			DescribeLiveStreamBitRateDataOutcome describeLiveStreamBitRateData(const Model::DescribeLiveStreamBitRateDataRequest &request)const;
 			void describeLiveStreamBitRateDataAsync(const Model::DescribeLiveStreamBitRateDataRequest& request, const DescribeLiveStreamBitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeLiveStreamBitRateDataAsync(const Model::DescribeLiveStreamBitRateDataRequest& request, const DescribeLiveStreamBitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamBitRateDataOutcomeCallable describeLiveStreamBitRateDataCallable(const Model::DescribeLiveStreamBitRateDataRequest& request) const;
 			DescribeLiveStreamBitRateDataOutcomeCallable describeLiveStreamBitRateDataCallable(const Model::DescribeLiveStreamBitRateDataRequest& request) const;
@@ -1926,6 +2013,9 @@ namespace AlibabaCloud
 			DescribeLiveStreamsControlHistoryOutcome describeLiveStreamsControlHistory(const Model::DescribeLiveStreamsControlHistoryRequest &request)const;
 			DescribeLiveStreamsControlHistoryOutcome describeLiveStreamsControlHistory(const Model::DescribeLiveStreamsControlHistoryRequest &request)const;
 			void describeLiveStreamsControlHistoryAsync(const Model::DescribeLiveStreamsControlHistoryRequest& request, const DescribeLiveStreamsControlHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeLiveStreamsControlHistoryAsync(const Model::DescribeLiveStreamsControlHistoryRequest& request, const DescribeLiveStreamsControlHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamsControlHistoryOutcomeCallable describeLiveStreamsControlHistoryCallable(const Model::DescribeLiveStreamsControlHistoryRequest& request) const;
 			DescribeLiveStreamsControlHistoryOutcomeCallable describeLiveStreamsControlHistoryCallable(const Model::DescribeLiveStreamsControlHistoryRequest& request) const;
+			DescribeLiveStreamsNotifyRecordsOutcome describeLiveStreamsNotifyRecords(const Model::DescribeLiveStreamsNotifyRecordsRequest &request)const;
+			void describeLiveStreamsNotifyRecordsAsync(const Model::DescribeLiveStreamsNotifyRecordsRequest& request, const DescribeLiveStreamsNotifyRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveStreamsNotifyRecordsOutcomeCallable describeLiveStreamsNotifyRecordsCallable(const Model::DescribeLiveStreamsNotifyRecordsRequest& request) const;
 			DescribeLiveStreamsNotifyUrlConfigOutcome describeLiveStreamsNotifyUrlConfig(const Model::DescribeLiveStreamsNotifyUrlConfigRequest &request)const;
 			DescribeLiveStreamsNotifyUrlConfigOutcome describeLiveStreamsNotifyUrlConfig(const Model::DescribeLiveStreamsNotifyUrlConfigRequest &request)const;
 			void describeLiveStreamsNotifyUrlConfigAsync(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request, const DescribeLiveStreamsNotifyUrlConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeLiveStreamsNotifyUrlConfigAsync(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request, const DescribeLiveStreamsNotifyUrlConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamsNotifyUrlConfigOutcomeCallable describeLiveStreamsNotifyUrlConfigCallable(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request) const;
 			DescribeLiveStreamsNotifyUrlConfigOutcomeCallable describeLiveStreamsNotifyUrlConfigCallable(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request) const;
@@ -2037,15 +2127,15 @@ namespace AlibabaCloud
 			GetEditingJobInfoOutcome getEditingJobInfo(const Model::GetEditingJobInfoRequest &request)const;
 			GetEditingJobInfoOutcome getEditingJobInfo(const Model::GetEditingJobInfoRequest &request)const;
 			void getEditingJobInfoAsync(const Model::GetEditingJobInfoRequest& request, const GetEditingJobInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void getEditingJobInfoAsync(const Model::GetEditingJobInfoRequest& request, const GetEditingJobInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetEditingJobInfoOutcomeCallable getEditingJobInfoCallable(const Model::GetEditingJobInfoRequest& request) const;
 			GetEditingJobInfoOutcomeCallable getEditingJobInfoCallable(const Model::GetEditingJobInfoRequest& request) const;
+			GetMessageAppOutcome getMessageApp(const Model::GetMessageAppRequest &request)const;
+			void getMessageAppAsync(const Model::GetMessageAppRequest& request, const GetMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetMessageAppOutcomeCallable getMessageAppCallable(const Model::GetMessageAppRequest& request) const;
 			GetMessageGroupOutcome getMessageGroup(const Model::GetMessageGroupRequest &request)const;
 			GetMessageGroupOutcome getMessageGroup(const Model::GetMessageGroupRequest &request)const;
 			void getMessageGroupAsync(const Model::GetMessageGroupRequest& request, const GetMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void getMessageGroupAsync(const Model::GetMessageGroupRequest& request, const GetMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetMessageGroupOutcomeCallable getMessageGroupCallable(const Model::GetMessageGroupRequest& request) const;
 			GetMessageGroupOutcomeCallable getMessageGroupCallable(const Model::GetMessageGroupRequest& request) const;
 			GetMessageTokenOutcome getMessageToken(const Model::GetMessageTokenRequest &request)const;
 			GetMessageTokenOutcome getMessageToken(const Model::GetMessageTokenRequest &request)const;
 			void getMessageTokenAsync(const Model::GetMessageTokenRequest& request, const GetMessageTokenAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void getMessageTokenAsync(const Model::GetMessageTokenRequest& request, const GetMessageTokenAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetMessageTokenOutcomeCallable getMessageTokenCallable(const Model::GetMessageTokenRequest& request) const;
 			GetMessageTokenOutcomeCallable getMessageTokenCallable(const Model::GetMessageTokenRequest& request) const;
-			GetMessageUserInfoOutcome getMessageUserInfo(const Model::GetMessageUserInfoRequest &request)const;
-			void getMessageUserInfoAsync(const Model::GetMessageUserInfoRequest& request, const GetMessageUserInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			GetMessageUserInfoOutcomeCallable getMessageUserInfoCallable(const Model::GetMessageUserInfoRequest& request) const;
 			GetMultiRateConfigOutcome getMultiRateConfig(const Model::GetMultiRateConfigRequest &request)const;
 			GetMultiRateConfigOutcome getMultiRateConfig(const Model::GetMultiRateConfigRequest &request)const;
 			void getMultiRateConfigAsync(const Model::GetMultiRateConfigRequest& request, const GetMultiRateConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void getMultiRateConfigAsync(const Model::GetMultiRateConfigRequest& request, const GetMultiRateConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetMultiRateConfigOutcomeCallable getMultiRateConfigCallable(const Model::GetMultiRateConfigRequest& request) const;
 			GetMultiRateConfigOutcomeCallable getMultiRateConfigCallable(const Model::GetMultiRateConfigRequest& request) const;
@@ -2076,12 +2166,18 @@ namespace AlibabaCloud
 			ListMessageOutcome listMessage(const Model::ListMessageRequest &request)const;
 			ListMessageOutcome listMessage(const Model::ListMessageRequest &request)const;
 			void listMessageAsync(const Model::ListMessageRequest& request, const ListMessageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void listMessageAsync(const Model::ListMessageRequest& request, const ListMessageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMessageOutcomeCallable listMessageCallable(const Model::ListMessageRequest& request) const;
 			ListMessageOutcomeCallable listMessageCallable(const Model::ListMessageRequest& request) const;
+			ListMessageAppOutcome listMessageApp(const Model::ListMessageAppRequest &request)const;
+			void listMessageAppAsync(const Model::ListMessageAppRequest& request, const ListMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListMessageAppOutcomeCallable listMessageAppCallable(const Model::ListMessageAppRequest& request) const;
 			ListMessageGroupOutcome listMessageGroup(const Model::ListMessageGroupRequest &request)const;
 			ListMessageGroupOutcome listMessageGroup(const Model::ListMessageGroupRequest &request)const;
 			void listMessageGroupAsync(const Model::ListMessageGroupRequest& request, const ListMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void listMessageGroupAsync(const Model::ListMessageGroupRequest& request, const ListMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMessageGroupOutcomeCallable listMessageGroupCallable(const Model::ListMessageGroupRequest& request) const;
 			ListMessageGroupOutcomeCallable listMessageGroupCallable(const Model::ListMessageGroupRequest& request) const;
 			ListMessageGroupUserOutcome listMessageGroupUser(const Model::ListMessageGroupUserRequest &request)const;
 			ListMessageGroupUserOutcome listMessageGroupUser(const Model::ListMessageGroupUserRequest &request)const;
 			void listMessageGroupUserAsync(const Model::ListMessageGroupUserRequest& request, const ListMessageGroupUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void listMessageGroupUserAsync(const Model::ListMessageGroupUserRequest& request, const ListMessageGroupUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMessageGroupUserOutcomeCallable listMessageGroupUserCallable(const Model::ListMessageGroupUserRequest& request) const;
 			ListMessageGroupUserOutcomeCallable listMessageGroupUserCallable(const Model::ListMessageGroupUserRequest& request) const;
+			ListMessageGroupUserByIdOutcome listMessageGroupUserById(const Model::ListMessageGroupUserByIdRequest &request)const;
+			void listMessageGroupUserByIdAsync(const Model::ListMessageGroupUserByIdRequest& request, const ListMessageGroupUserByIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListMessageGroupUserByIdOutcomeCallable listMessageGroupUserByIdCallable(const Model::ListMessageGroupUserByIdRequest& request) const;
 			ListPlaylistOutcome listPlaylist(const Model::ListPlaylistRequest &request)const;
 			ListPlaylistOutcome listPlaylist(const Model::ListPlaylistRequest &request)const;
 			void listPlaylistAsync(const Model::ListPlaylistRequest& request, const ListPlaylistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void listPlaylistAsync(const Model::ListPlaylistRequest& request, const ListPlaylistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPlaylistOutcomeCallable listPlaylistCallable(const Model::ListPlaylistRequest& request) const;
 			ListPlaylistOutcomeCallable listPlaylistCallable(const Model::ListPlaylistRequest& request) const;
@@ -2124,6 +2220,9 @@ namespace AlibabaCloud
 			PublishLiveStagingConfigToProductionOutcome publishLiveStagingConfigToProduction(const Model::PublishLiveStagingConfigToProductionRequest &request)const;
 			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;
 			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;
 			PublishLiveStagingConfigToProductionOutcomeCallable publishLiveStagingConfigToProductionCallable(const Model::PublishLiveStagingConfigToProductionRequest& 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;
 			QuerySnapshotCallbackAuthOutcome querySnapshotCallbackAuth(const Model::QuerySnapshotCallbackAuthRequest &request)const;
 			QuerySnapshotCallbackAuthOutcome querySnapshotCallbackAuth(const Model::QuerySnapshotCallbackAuthRequest &request)const;
 			void querySnapshotCallbackAuthAsync(const Model::QuerySnapshotCallbackAuthRequest& request, const QuerySnapshotCallbackAuthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void querySnapshotCallbackAuthAsync(const Model::QuerySnapshotCallbackAuthRequest& request, const QuerySnapshotCallbackAuthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySnapshotCallbackAuthOutcomeCallable querySnapshotCallbackAuthCallable(const Model::QuerySnapshotCallbackAuthRequest& request) const;
 			QuerySnapshotCallbackAuthOutcomeCallable querySnapshotCallbackAuthCallable(const Model::QuerySnapshotCallbackAuthRequest& request) const;
@@ -2136,12 +2235,24 @@ namespace AlibabaCloud
 			RemoveShowFromShowListOutcome removeShowFromShowList(const Model::RemoveShowFromShowListRequest &request)const;
 			RemoveShowFromShowListOutcome removeShowFromShowList(const Model::RemoveShowFromShowListRequest &request)const;
 			void removeShowFromShowListAsync(const Model::RemoveShowFromShowListRequest& request, const RemoveShowFromShowListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void removeShowFromShowListAsync(const Model::RemoveShowFromShowListRequest& request, const RemoveShowFromShowListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RemoveShowFromShowListOutcomeCallable removeShowFromShowListCallable(const Model::RemoveShowFromShowListRequest& request) const;
 			RemoveShowFromShowListOutcomeCallable removeShowFromShowListCallable(const Model::RemoveShowFromShowListRequest& request) const;
+			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;
 			ResumeLiveStreamOutcome resumeLiveStream(const Model::ResumeLiveStreamRequest &request)const;
 			ResumeLiveStreamOutcome resumeLiveStream(const Model::ResumeLiveStreamRequest &request)const;
 			void resumeLiveStreamAsync(const Model::ResumeLiveStreamRequest& request, const ResumeLiveStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void resumeLiveStreamAsync(const Model::ResumeLiveStreamRequest& request, const ResumeLiveStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResumeLiveStreamOutcomeCallable resumeLiveStreamCallable(const Model::ResumeLiveStreamRequest& request) const;
 			ResumeLiveStreamOutcomeCallable resumeLiveStreamCallable(const Model::ResumeLiveStreamRequest& request) const;
 			RollbackLiveStagingConfigOutcome rollbackLiveStagingConfig(const Model::RollbackLiveStagingConfigRequest &request)const;
 			RollbackLiveStagingConfigOutcome rollbackLiveStagingConfig(const Model::RollbackLiveStagingConfigRequest &request)const;
 			void rollbackLiveStagingConfigAsync(const Model::RollbackLiveStagingConfigRequest& request, const RollbackLiveStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void rollbackLiveStagingConfigAsync(const Model::RollbackLiveStagingConfigRequest& request, const RollbackLiveStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RollbackLiveStagingConfigOutcomeCallable rollbackLiveStagingConfigCallable(const Model::RollbackLiveStagingConfigRequest& request) const;
 			RollbackLiveStagingConfigOutcomeCallable rollbackLiveStagingConfigCallable(const Model::RollbackLiveStagingConfigRequest& request) const;
+			SendLikeOutcome sendLike(const Model::SendLikeRequest &request)const;
+			void sendLikeAsync(const Model::SendLikeRequest& request, const SendLikeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SendLikeOutcomeCallable sendLikeCallable(const Model::SendLikeRequest& request) const;
+			SendMessageToGroupOutcome sendMessageToGroup(const Model::SendMessageToGroupRequest &request)const;
+			void sendMessageToGroupAsync(const Model::SendMessageToGroupRequest& request, const SendMessageToGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SendMessageToGroupOutcomeCallable sendMessageToGroupCallable(const Model::SendMessageToGroupRequest& request) const;
+			SendMessageToGroupUsersOutcome sendMessageToGroupUsers(const Model::SendMessageToGroupUsersRequest &request)const;
+			void sendMessageToGroupUsersAsync(const Model::SendMessageToGroupUsersRequest& request, const SendMessageToGroupUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SendMessageToGroupUsersOutcomeCallable sendMessageToGroupUsersCallable(const Model::SendMessageToGroupUsersRequest& request) const;
 			SendRoomNotificationOutcome sendRoomNotification(const Model::SendRoomNotificationRequest &request)const;
 			SendRoomNotificationOutcome sendRoomNotification(const Model::SendRoomNotificationRequest &request)const;
 			void sendRoomNotificationAsync(const Model::SendRoomNotificationRequest& request, const SendRoomNotificationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void sendRoomNotificationAsync(const Model::SendRoomNotificationRequest& request, const SendRoomNotificationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SendRoomNotificationOutcomeCallable sendRoomNotificationCallable(const Model::SendRoomNotificationRequest& request) const;
 			SendRoomNotificationOutcomeCallable sendRoomNotificationCallable(const Model::SendRoomNotificationRequest& request) const;
@@ -2250,6 +2361,9 @@ namespace AlibabaCloud
 			UpdateLiveSnapshotDetectPornConfigOutcome updateLiveSnapshotDetectPornConfig(const Model::UpdateLiveSnapshotDetectPornConfigRequest &request)const;
 			UpdateLiveSnapshotDetectPornConfigOutcome updateLiveSnapshotDetectPornConfig(const Model::UpdateLiveSnapshotDetectPornConfigRequest &request)const;
 			void updateLiveSnapshotDetectPornConfigAsync(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request, const UpdateLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void updateLiveSnapshotDetectPornConfigAsync(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request, const UpdateLiveSnapshotDetectPornConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveSnapshotDetectPornConfigOutcomeCallable updateLiveSnapshotDetectPornConfigCallable(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request) const;
 			UpdateLiveSnapshotDetectPornConfigOutcomeCallable updateLiveSnapshotDetectPornConfigCallable(const Model::UpdateLiveSnapshotDetectPornConfigRequest& request) const;
+			UpdateLiveSnapshotNotifyConfigOutcome updateLiveSnapshotNotifyConfig(const Model::UpdateLiveSnapshotNotifyConfigRequest &request)const;
+			void updateLiveSnapshotNotifyConfigAsync(const Model::UpdateLiveSnapshotNotifyConfigRequest& request, const UpdateLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateLiveSnapshotNotifyConfigOutcomeCallable updateLiveSnapshotNotifyConfigCallable(const Model::UpdateLiveSnapshotNotifyConfigRequest& request) const;
 			UpdateLiveStreamMonitorOutcome updateLiveStreamMonitor(const Model::UpdateLiveStreamMonitorRequest &request)const;
 			UpdateLiveStreamMonitorOutcome updateLiveStreamMonitor(const Model::UpdateLiveStreamMonitorRequest &request)const;
 			void updateLiveStreamMonitorAsync(const Model::UpdateLiveStreamMonitorRequest& request, const UpdateLiveStreamMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void updateLiveStreamMonitorAsync(const Model::UpdateLiveStreamMonitorRequest& request, const UpdateLiveStreamMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveStreamMonitorOutcomeCallable updateLiveStreamMonitorCallable(const Model::UpdateLiveStreamMonitorRequest& request) const;
 			UpdateLiveStreamMonitorOutcomeCallable updateLiveStreamMonitorCallable(const Model::UpdateLiveStreamMonitorRequest& request) const;
@@ -2262,6 +2376,12 @@ namespace AlibabaCloud
 			UpdateLiveTopLevelDomainOutcome updateLiveTopLevelDomain(const Model::UpdateLiveTopLevelDomainRequest &request)const;
 			UpdateLiveTopLevelDomainOutcome updateLiveTopLevelDomain(const Model::UpdateLiveTopLevelDomainRequest &request)const;
 			void updateLiveTopLevelDomainAsync(const Model::UpdateLiveTopLevelDomainRequest& request, const UpdateLiveTopLevelDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void updateLiveTopLevelDomainAsync(const Model::UpdateLiveTopLevelDomainRequest& request, const UpdateLiveTopLevelDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateLiveTopLevelDomainOutcomeCallable updateLiveTopLevelDomainCallable(const Model::UpdateLiveTopLevelDomainRequest& request) const;
 			UpdateLiveTopLevelDomainOutcomeCallable updateLiveTopLevelDomainCallable(const Model::UpdateLiveTopLevelDomainRequest& request) const;
+			UpdateMessageAppOutcome updateMessageApp(const Model::UpdateMessageAppRequest &request)const;
+			void updateMessageAppAsync(const Model::UpdateMessageAppRequest& request, const UpdateMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateMessageAppOutcomeCallable updateMessageAppCallable(const Model::UpdateMessageAppRequest& request) const;
+			UpdateMessageGroupOutcome updateMessageGroup(const Model::UpdateMessageGroupRequest &request)const;
+			void updateMessageGroupAsync(const Model::UpdateMessageGroupRequest& request, const UpdateMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateMessageGroupOutcomeCallable updateMessageGroupCallable(const Model::UpdateMessageGroupRequest& request) const;
 			UpdateMixStreamOutcome updateMixStream(const Model::UpdateMixStreamRequest &request)const;
 			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;
 			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;
 			UpdateMixStreamOutcomeCallable updateMixStreamCallable(const Model::UpdateMixStreamRequest& request) const;

+ 54 - 0
live/include/alibabacloud/live/model/AddLiveSnapshotNotifyConfigRequest.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_ADDLIVESNAPSHOTNOTIFYCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_ADDLIVESNAPSHOTNOTIFYCONFIGREQUEST_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 AddLiveSnapshotNotifyConfigRequest : public RpcServiceRequest {
+public:
+	AddLiveSnapshotNotifyConfigRequest();
+	~AddLiveSnapshotNotifyConfigRequest();
+	std::string getNotifyReqAuth() const;
+	void setNotifyReqAuth(const std::string &notifyReqAuth);
+	std::string getNotifyUrl() const;
+	void setNotifyUrl(const std::string &notifyUrl);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getNotifyAuthKey() const;
+	void setNotifyAuthKey(const std::string &notifyAuthKey);
+
+private:
+	std::string notifyReqAuth_;
+	std::string notifyUrl_;
+	std::string domainName_;
+	long ownerId_;
+	std::string notifyAuthKey_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_ADDLIVESNAPSHOTNOTIFYCONFIGREQUEST_H_

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

+ 3 - 3
live/include/alibabacloud/live/model/CancelMuteAllGroupUserRequest.h

@@ -30,17 +30,17 @@ class ALIBABACLOUD_LIVE_EXPORT CancelMuteAllGroupUserRequest : public RpcService
 public:
 public:
 	CancelMuteAllGroupUserRequest();
 	CancelMuteAllGroupUserRequest();
 	~CancelMuteAllGroupUserRequest();
 	~CancelMuteAllGroupUserRequest();
+	std::string getOperatorUserId() const;
+	void setOperatorUserId(const std::string &operatorUserId);
 	std::string getGroupId() const;
 	std::string getGroupId() const;
 	void setGroupId(const std::string &groupId);
 	void setGroupId(const std::string &groupId);
 	std::string getAppId() const;
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
 	void setAppId(const std::string &appId);
-	std::string getOperatorUserId() const;
-	void setOperatorUserId(const std::string &operatorUserId);
 
 
 private:
 private:
+	std::string operatorUserId_;
 	std::string groupId_;
 	std::string groupId_;
 	std::string appId_;
 	std::string appId_;
-	std::string operatorUserId_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live

+ 48 - 0
live/include/alibabacloud/live/model/CreateMessageAppRequest.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_CREATEMESSAGEAPPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATEMESSAGEAPPREQUEST_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 CreateMessageAppRequest : public RpcServiceRequest {
+public:
+	CreateMessageAppRequest();
+	~CreateMessageAppRequest();
+	std::map<std::string, std::string> getExtension() const;
+	void setExtension(const std::map<std::string, std::string> &extension);
+	std::map<std::string, std::string> getAppConfig() const;
+	void setAppConfig(const std::map<std::string, std::string> &appConfig);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+
+private:
+	std::map<std::string, std::string> extension_;
+	std::map<std::string, std::string> appConfig_;
+	std::string appName_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATEMESSAGEAPPREQUEST_H_

+ 55 - 0
live/include/alibabacloud/live/model/CreateMessageAppResult.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_CREATEMESSAGEAPPRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATEMESSAGEAPPRESULT_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 CreateMessageAppResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					std::string appId;
+				};
+
+
+				CreateMessageAppResult();
+				explicit CreateMessageAppResult(const std::string &payload);
+				~CreateMessageAppResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATEMESSAGEAPPRESULT_H_

+ 45 - 0
live/include/alibabacloud/live/model/DeleteLiveSnapshotNotifyConfigRequest.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_DELETELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVESNAPSHOTNOTIFYCONFIGREQUEST_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 DeleteLiveSnapshotNotifyConfigRequest : public RpcServiceRequest {
+public:
+	DeleteLiveSnapshotNotifyConfigRequest();
+	~DeleteLiveSnapshotNotifyConfigRequest();
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string domainName_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_

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

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

@@ -34,6 +34,8 @@ public:
 	void setStartTime(const std::string &startTime);
 	void setStartTime(const std::string &startTime);
 	std::string getType() const;
 	std::string getType() const;
 	void setType(const std::string &type);
 	void setType(const std::string &type);
+	std::string getDataProtocol() const;
+	void setDataProtocol(const std::string &dataProtocol);
 	std::string getArea() const;
 	std::string getArea() const;
 	void setArea(const std::string &area);
 	void setArea(const std::string &area);
 	std::string getDomainName() const;
 	std::string getDomainName() const;
@@ -50,6 +52,7 @@ public:
 private:
 private:
 	std::string startTime_;
 	std::string startTime_;
 	std::string type_;
 	std::string type_;
+	std::string dataProtocol_;
 	std::string area_;
 	std::string area_;
 	std::string domainName_;
 	std::string domainName_;
 	std::string endTime_;
 	std::string endTime_;

+ 2 - 2
live/include/alibabacloud/live/model/DescribeDomainUsageDataResult.h

@@ -43,7 +43,7 @@ namespace AlibabaCloud
 				explicit DescribeDomainUsageDataResult(const std::string &payload);
 				explicit DescribeDomainUsageDataResult(const std::string &payload);
 				~DescribeDomainUsageDataResult();
 				~DescribeDomainUsageDataResult();
 				std::vector<DataModule> getUsageDataPerInterval()const;
 				std::vector<DataModule> getUsageDataPerInterval()const;
-				std::string getField()const;
+				std::string getType()const;
 				std::string getArea()const;
 				std::string getArea()const;
 				std::string getEndTime()const;
 				std::string getEndTime()const;
 				std::string getDomainName()const;
 				std::string getDomainName()const;
@@ -54,7 +54,7 @@ namespace AlibabaCloud
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
 				std::vector<DataModule> usageDataPerInterval_;
 				std::vector<DataModule> usageDataPerInterval_;
-				std::string field_;
+				std::string type_;
 				std::string area_;
 				std::string area_;
 				std::string endTime_;
 				std::string endTime_;
 				std::string domainName_;
 				std::string domainName_;

+ 45 - 0
live/include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigRequest.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_DESCRIBELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESNAPSHOTNOTIFYCONFIGREQUEST_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 DescribeLiveSnapshotNotifyConfigRequest : public RpcServiceRequest {
+public:
+	DescribeLiveSnapshotNotifyConfigRequest();
+	~DescribeLiveSnapshotNotifyConfigRequest();
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string domainName_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveSnapshotNotifyConfigResult.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_DESCRIBELIVESNAPSHOTNOTIFYCONFIGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESNAPSHOTNOTIFYCONFIGRESULT_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 DescribeLiveSnapshotNotifyConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeLiveSnapshotNotifyConfigResult();
+				explicit DescribeLiveSnapshotNotifyConfigResult(const std::string &payload);
+				~DescribeLiveSnapshotNotifyConfigResult();
+				std::string getDomainName()const;
+				std::string getNotifyUrl()const;
+				std::string getNotifyReqAuth()const;
+				std::string getNotifyAuthKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string domainName_;
+				std::string notifyUrl_;
+				std::string notifyReqAuth_;
+				std::string notifyAuthKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESNAPSHOTNOTIFYCONFIGRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingRequest.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_DESCRIBELIVESTREAMAUTHCHECKINGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMAUTHCHECKINGREQUEST_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 DescribeLiveStreamAuthCheckingRequest : public RpcServiceRequest {
+public:
+	DescribeLiveStreamAuthCheckingRequest();
+	~DescribeLiveStreamAuthCheckingRequest();
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getUrl() const;
+	void setUrl(const std::string &url);
+
+private:
+	std::string domainName_;
+	long ownerId_;
+	std::string url_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMAUTHCHECKINGREQUEST_H_

+ 53 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamAuthCheckingResult.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_DESCRIBELIVESTREAMAUTHCHECKINGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMAUTHCHECKINGRESULT_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 DescribeLiveStreamAuthCheckingResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeLiveStreamAuthCheckingResult();
+				explicit DescribeLiveStreamAuthCheckingResult(const std::string &payload);
+				~DescribeLiveStreamAuthCheckingResult();
+				std::string getStatus()const;
+				std::string getDescription()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				std::string description_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMAUTHCHECKINGRESULT_H_

+ 66 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSNOTIFYRECORDSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSNOTIFYRECORDSREQUEST_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 DescribeLiveStreamsNotifyRecordsRequest : public RpcServiceRequest {
+public:
+	DescribeLiveStreamsNotifyRecordsRequest();
+	~DescribeLiveStreamsNotifyRecordsRequest();
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getStreamName() const;
+	void setStreamName(const std::string &streamName);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string startTime_;
+	int pageNumber_;
+	std::string appName_;
+	int pageSize_;
+	std::string streamName_;
+	std::string domainName_;
+	std::string endTime_;
+	long ownerId_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSNOTIFYRECORDSREQUEST_H_

+ 71 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamsNotifyRecordsResult.h

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

+ 6 - 9
live/include/alibabacloud/live/model/CloseMessageGroupRequest.h → live/include/alibabacloud/live/model/GetMessageAppRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPREQUEST_H_
-#define ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPREQUEST_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_GETMESSAGEAPPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_GETMESSAGEAPPREQUEST_H_
 
 
 #include <alibabacloud/live/LiveExport.h>
 #include <alibabacloud/live/LiveExport.h>
 #include <alibabacloud/core/RpcServiceRequest.h>
 #include <alibabacloud/core/RpcServiceRequest.h>
@@ -26,20 +26,17 @@
 namespace AlibabaCloud {
 namespace AlibabaCloud {
 namespace Live {
 namespace Live {
 namespace Model {
 namespace Model {
-class ALIBABACLOUD_LIVE_EXPORT CloseMessageGroupRequest : public RpcServiceRequest {
+class ALIBABACLOUD_LIVE_EXPORT GetMessageAppRequest : public RpcServiceRequest {
 public:
 public:
-	CloseMessageGroupRequest();
-	~CloseMessageGroupRequest();
-	std::string getGroupId() const;
-	void setGroupId(const std::string &groupId);
+	GetMessageAppRequest();
+	~GetMessageAppRequest();
 	std::string getAppId() const;
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
 	void setAppId(const std::string &appId);
 
 
 private:
 private:
-	std::string groupId_;
 	std::string appId_;
 	std::string appId_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live
 } // namespace AlibabaCloud
 } // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPREQUEST_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_GETMESSAGEAPPREQUEST_H_

+ 60 - 0
live/include/alibabacloud/live/model/GetMessageAppResult.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_GETMESSAGEAPPRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_GETMESSAGEAPPRESULT_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 GetMessageAppResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string extension;
+					std::string appConfig;
+					std::string appId;
+					long createTime;
+					std::string appName;
+				};
+
+
+				GetMessageAppResult();
+				explicit GetMessageAppResult(const std::string &payload);
+				~GetMessageAppResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_GETMESSAGEAPPRESULT_H_

+ 3 - 3
live/include/alibabacloud/live/model/GetMessageTokenRequest.h

@@ -30,19 +30,19 @@ class ALIBABACLOUD_LIVE_EXPORT GetMessageTokenRequest : public RpcServiceRequest
 public:
 public:
 	GetMessageTokenRequest();
 	GetMessageTokenRequest();
 	~GetMessageTokenRequest();
 	~GetMessageTokenRequest();
-	std::string getDeviceId() const;
-	void setDeviceId(const std::string &deviceId);
 	std::string getUserId() const;
 	std::string getUserId() const;
 	void setUserId(const std::string &userId);
 	void setUserId(const std::string &userId);
 	std::string getDeviceType() const;
 	std::string getDeviceType() const;
 	void setDeviceType(const std::string &deviceType);
 	void setDeviceType(const std::string &deviceType);
+	std::string getDeviceId() const;
+	void setDeviceId(const std::string &deviceId);
 	std::string getAppId() const;
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
 	void setAppId(const std::string &appId);
 
 
 private:
 private:
-	std::string deviceId_;
 	std::string userId_;
 	std::string userId_;
 	std::string deviceType_;
 	std::string deviceType_;
+	std::string deviceId_;
 	std::string appId_;
 	std::string appId_;
 };
 };
 } // namespace Model
 } // namespace Model

+ 6 - 6
live/include/alibabacloud/live/model/JoinMessageGroupRequest.h

@@ -30,23 +30,23 @@ class ALIBABACLOUD_LIVE_EXPORT JoinMessageGroupRequest : public RpcServiceReques
 public:
 public:
 	JoinMessageGroupRequest();
 	JoinMessageGroupRequest();
 	~JoinMessageGroupRequest();
 	~JoinMessageGroupRequest();
+	std::string getUserId() const;
+	void setUserId(const std::string &userId);
+	int getBroadCastType() const;
+	void setBroadCastType(int broadCastType);
 	bool getBroadCastStatistics() const;
 	bool getBroadCastStatistics() const;
 	void setBroadCastStatistics(bool broadCastStatistics);
 	void setBroadCastStatistics(bool broadCastStatistics);
 	std::string getGroupId() const;
 	std::string getGroupId() const;
 	void setGroupId(const std::string &groupId);
 	void setGroupId(const std::string &groupId);
-	std::string getUserId() const;
-	void setUserId(const std::string &userId);
 	std::string getAppId() const;
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
 	void setAppId(const std::string &appId);
-	int getBroadCastType() const;
-	void setBroadCastType(int broadCastType);
 
 
 private:
 private:
+	std::string userId_;
+	int broadCastType_;
 	bool broadCastStatistics_;
 	bool broadCastStatistics_;
 	std::string groupId_;
 	std::string groupId_;
-	std::string userId_;
 	std::string appId_;
 	std::string appId_;
-	int broadCastType_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live

+ 6 - 6
live/include/alibabacloud/live/model/LeaveMessageGroupRequest.h

@@ -30,23 +30,23 @@ class ALIBABACLOUD_LIVE_EXPORT LeaveMessageGroupRequest : public RpcServiceReque
 public:
 public:
 	LeaveMessageGroupRequest();
 	LeaveMessageGroupRequest();
 	~LeaveMessageGroupRequest();
 	~LeaveMessageGroupRequest();
+	std::string getUserId() const;
+	void setUserId(const std::string &userId);
+	int getBroadCastType() const;
+	void setBroadCastType(int broadCastType);
 	bool getBroadCastStatistics() const;
 	bool getBroadCastStatistics() const;
 	void setBroadCastStatistics(bool broadCastStatistics);
 	void setBroadCastStatistics(bool broadCastStatistics);
 	std::string getGroupId() const;
 	std::string getGroupId() const;
 	void setGroupId(const std::string &groupId);
 	void setGroupId(const std::string &groupId);
-	std::string getUserId() const;
-	void setUserId(const std::string &userId);
 	std::string getAppId() const;
 	std::string getAppId() const;
 	void setAppId(const std::string &appId);
 	void setAppId(const std::string &appId);
-	int getBroadCastType() const;
-	void setBroadCastType(int broadCastType);
 
 
 private:
 private:
+	std::string userId_;
+	int broadCastType_;
 	bool broadCastStatistics_;
 	bool broadCastStatistics_;
 	std::string groupId_;
 	std::string groupId_;
-	std::string userId_;
 	std::string appId_;
 	std::string appId_;
-	int broadCastType_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live

+ 48 - 0
live/include/alibabacloud/live/model/ListMessageAppRequest.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_LISTMESSAGEAPPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEAPPREQUEST_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 ListMessageAppRequest : public RpcServiceRequest {
+public:
+	ListMessageAppRequest();
+	~ListMessageAppRequest();
+	int getSortType() const;
+	void setSortType(int sortType);
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	int sortType_;
+	int pageNum_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEAPPREQUEST_H_

+ 66 - 0
live/include/alibabacloud/live/model/ListMessageAppResult.h

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

+ 48 - 0
live/include/alibabacloud/live/model/ListMessageGroupUserByIdRequest.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_LISTMESSAGEGROUPUSERBYIDREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEGROUPUSERBYIDREQUEST_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 ListMessageGroupUserByIdRequest : public RpcServiceRequest {
+public:
+	ListMessageGroupUserByIdRequest();
+	~ListMessageGroupUserByIdRequest();
+	std::vector<std::string> getUserIdList() const;
+	void setUserIdList(const std::vector<std::string> &userIdList);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::vector<std::string> userIdList_;
+	std::string groupId_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEGROUPUSERBYIDREQUEST_H_

+ 66 - 0
live/include/alibabacloud/live/model/ListMessageGroupUserByIdResult.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEGROUPUSERBYIDRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEGROUPUSERBYIDRESULT_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 ListMessageGroupUserByIdResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					struct UserListItem
+					{
+						std::string userAvatar;
+						std::string userId;
+						std::string userExtension;
+						bool isMute;
+						std::string userNick;
+						std::vector<std::string> muteBy;
+					};
+					bool hasMore;
+					int total;
+					std::vector<UserListItem> userList;
+				};
+
+
+				ListMessageGroupUserByIdResult();
+				explicit ListMessageGroupUserByIdResult(const std::string &payload);
+				~ListMessageGroupUserByIdResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_LISTMESSAGEGROUPUSERBYIDRESULT_H_

+ 6 - 9
live/include/alibabacloud/live/model/ListMessageGroupUserRequest.h

@@ -32,24 +32,21 @@ public:
 	~ListMessageGroupUserRequest();
 	~ListMessageGroupUserRequest();
 	int getSortType() const;
 	int getSortType() const;
 	void setSortType(int sortType);
 	void setSortType(int sortType);
-	std::string getGroupId() const;
-	void setGroupId(const std::string &groupId);
-	int getType() const;
-	void setType(int type);
 	int getPageNum() const;
 	int getPageNum() const;
 	void setPageNum(int pageNum);
 	void setPageNum(int pageNum);
-	std::string getAppId() const;
-	void setAppId(const std::string &appId);
 	int getPageSize() const;
 	int getPageSize() const;
 	void setPageSize(int pageSize);
 	void setPageSize(int pageSize);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
 
 
 private:
 private:
 	int sortType_;
 	int sortType_;
-	std::string groupId_;
-	int type_;
 	int pageNum_;
 	int pageNum_;
-	std::string appId_;
 	int pageSize_;
 	int pageSize_;
+	std::string groupId_;
+	std::string appId_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live

+ 6 - 3
live/include/alibabacloud/live/model/ListMessageRequest.h

@@ -32,21 +32,24 @@ public:
 	~ListMessageRequest();
 	~ListMessageRequest();
 	int getSortType() const;
 	int getSortType() const;
 	void setSortType(int sortType);
 	void setSortType(int sortType);
-	std::string getGroupId() const;
-	void setGroupId(const std::string &groupId);
 	int getType() const;
 	int getType() const;
 	void setType(int type);
 	void setType(int type);
 	int getPageNum() const;
 	int getPageNum() const;
 	void setPageNum(int pageNum);
 	void setPageNum(int pageNum);
 	int getPageSize() const;
 	int getPageSize() const;
 	void setPageSize(int pageSize);
 	void setPageSize(int pageSize);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
 
 
 private:
 private:
 	int sortType_;
 	int sortType_;
-	std::string groupId_;
 	int type_;
 	int type_;
 	int pageNum_;
 	int pageNum_;
 	int pageSize_;
 	int pageSize_;
+	std::string groupId_;
+	std::string appId_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live

+ 54 - 0
live/include/alibabacloud/live/model/QueryMessageAppRequest.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_QUERYMESSAGEAPPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_QUERYMESSAGEAPPREQUEST_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 QueryMessageAppRequest : public RpcServiceRequest {
+public:
+	QueryMessageAppRequest();
+	~QueryMessageAppRequest();
+	int getSortType() const;
+	void setSortType(int sortType);
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	int sortType_;
+	int pageNum_;
+	std::string appName_;
+	int pageSize_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_QUERYMESSAGEAPPREQUEST_H_

+ 66 - 0
live/include/alibabacloud/live/model/QueryMessageAppResult.h

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

+ 45 - 0
live/include/alibabacloud/live/model/RestartCasterRequest.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_RESTARTCASTERREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_RESTARTCASTERREQUEST_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 RestartCasterRequest : public RpcServiceRequest {
+public:
+	RestartCasterRequest();
+	~RestartCasterRequest();
+	std::string getCasterId() const;
+	void setCasterId(const std::string &casterId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string casterId_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_RESTARTCASTERREQUEST_H_

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

+ 54 - 0
live/include/alibabacloud/live/model/SendLikeRequest.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_SENDLIKEREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDLIKEREQUEST_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 SendLikeRequest : public RpcServiceRequest {
+public:
+	SendLikeRequest();
+	~SendLikeRequest();
+	std::string getOperatorUserId() const;
+	void setOperatorUserId(const std::string &operatorUserId);
+	int getBroadCastType() const;
+	void setBroadCastType(int broadCastType);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getCount() const;
+	void setCount(const std::string &count);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::string operatorUserId_;
+	int broadCastType_;
+	std::string groupId_;
+	std::string count_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDLIKEREQUEST_H_

+ 55 - 0
live/include/alibabacloud/live/model/SendLikeResult.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_SENDLIKERESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDLIKERESULT_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 SendLikeResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int likeCount;
+				};
+
+
+				SendLikeResult();
+				explicit SendLikeResult(const std::string &payload);
+				~SendLikeResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDLIKERESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/SendMessageToGroupRequest.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_SENDMESSAGETOGROUPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPREQUEST_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 SendMessageToGroupRequest : public RpcServiceRequest {
+public:
+	SendMessageToGroupRequest();
+	~SendMessageToGroupRequest();
+	std::string getData() const;
+	void setData(const std::string &data);
+	int getType() const;
+	void setType(int type);
+	std::string getOperatorUserId() const;
+	void setOperatorUserId(const std::string &operatorUserId);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::string data_;
+	int type_;
+	std::string operatorUserId_;
+	std::string groupId_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPREQUEST_H_

+ 8 - 9
live/include/alibabacloud/live/model/GetMessageUserInfoResult.h → live/include/alibabacloud/live/model/SendMessageToGroupResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFORESULT_H_
-#define ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFORESULT_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPRESULT_H_
 
 
 #include <string>
 #include <string>
 #include <vector>
 #include <vector>
@@ -29,19 +29,18 @@ namespace AlibabaCloud
 	{
 	{
 		namespace Model
 		namespace Model
 		{
 		{
-			class ALIBABACLOUD_LIVE_EXPORT GetMessageUserInfoResult : public ServiceResult
+			class ALIBABACLOUD_LIVE_EXPORT SendMessageToGroupResult : public ServiceResult
 			{
 			{
 			public:
 			public:
 				struct Result
 				struct Result
 				{
 				{
-					bool isNewIMUser;
-					bool hasOrderedIM;
+					std::string messageId;
 				};
 				};
 
 
 
 
-				GetMessageUserInfoResult();
-				explicit GetMessageUserInfoResult(const std::string &payload);
-				~GetMessageUserInfoResult();
+				SendMessageToGroupResult();
+				explicit SendMessageToGroupResult(const std::string &payload);
+				~SendMessageToGroupResult();
 				Result getResult()const;
 				Result getResult()const;
 
 
 			protected:
 			protected:
@@ -53,4 +52,4 @@ namespace AlibabaCloud
 		}
 		}
 	}
 	}
 }
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFORESULT_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPRESULT_H_

+ 6 - 9
live/include/alibabacloud/live/model/GetMessageUserInfoRequest.h → live/include/alibabacloud/live/model/SendMessageToGroupUsersRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFOREQUEST_H_
-#define ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFOREQUEST_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPUSERSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPUSERSREQUEST_H_
 
 
 #include <alibabacloud/live/LiveExport.h>
 #include <alibabacloud/live/LiveExport.h>
 #include <alibabacloud/core/RpcServiceRequest.h>
 #include <alibabacloud/core/RpcServiceRequest.h>
@@ -26,17 +26,14 @@
 namespace AlibabaCloud {
 namespace AlibabaCloud {
 namespace Live {
 namespace Live {
 namespace Model {
 namespace Model {
-class ALIBABACLOUD_LIVE_EXPORT GetMessageUserInfoRequest : public RpcServiceRequest {
+class ALIBABACLOUD_LIVE_EXPORT SendMessageToGroupUsersRequest : public RpcServiceRequest {
 public:
 public:
-	GetMessageUserInfoRequest();
-	~GetMessageUserInfoRequest();
-	std::string getCloudUid() const;
-	void setCloudUid(const std::string &cloudUid);
+	SendMessageToGroupUsersRequest();
+	~SendMessageToGroupUsersRequest();
 
 
 private:
 private:
-	std::string cloudUid_;
 };
 };
 } // namespace Model
 } // namespace Model
 } // namespace Live
 } // namespace Live
 } // namespace AlibabaCloud
 } // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_LIVE_MODEL_GETMESSAGEUSERINFOREQUEST_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPUSERSREQUEST_H_

+ 55 - 0
live/include/alibabacloud/live/model/SendMessageToGroupUsersResult.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_SENDMESSAGETOGROUPUSERSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPUSERSRESULT_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 SendMessageToGroupUsersResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					std::string messageId;
+				};
+
+
+				SendMessageToGroupUsersResult();
+				explicit SendMessageToGroupUsersResult(const std::string &payload);
+				~SendMessageToGroupUsersResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SENDMESSAGETOGROUPUSERSRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/UpdateLiveSnapshotNotifyConfigRequest.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_UPDATELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATELIVESNAPSHOTNOTIFYCONFIGREQUEST_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 UpdateLiveSnapshotNotifyConfigRequest : public RpcServiceRequest {
+public:
+	UpdateLiveSnapshotNotifyConfigRequest();
+	~UpdateLiveSnapshotNotifyConfigRequest();
+	std::string getNotifyReqAuth() const;
+	void setNotifyReqAuth(const std::string &notifyReqAuth);
+	std::string getNotifyUrl() const;
+	void setNotifyUrl(const std::string &notifyUrl);
+	std::string getDomainName() const;
+	void setDomainName(const std::string &domainName);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getNotifyAuthKey() const;
+	void setNotifyAuthKey(const std::string &notifyAuthKey);
+
+private:
+	std::string notifyReqAuth_;
+	std::string notifyUrl_;
+	std::string domainName_;
+	long ownerId_;
+	std::string notifyAuthKey_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATELIVESNAPSHOTNOTIFYCONFIGREQUEST_H_

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

+ 51 - 0
live/include/alibabacloud/live/model/UpdateMessageAppRequest.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_UPDATEMESSAGEAPPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEAPPREQUEST_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 UpdateMessageAppRequest : public RpcServiceRequest {
+public:
+	UpdateMessageAppRequest();
+	~UpdateMessageAppRequest();
+	std::map<std::string, std::string> getExtension() const;
+	void setExtension(const std::map<std::string, std::string> &extension);
+	std::map<std::string, std::string> getAppConfig() const;
+	void setAppConfig(const std::map<std::string, std::string> &appConfig);
+	std::string getAppName() const;
+	void setAppName(const std::string &appName);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::map<std::string, std::string> extension_;
+	std::map<std::string, std::string> appConfig_;
+	std::string appName_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEAPPREQUEST_H_

+ 7 - 7
live/include/alibabacloud/live/model/CloseMessageGroupResult.h → live/include/alibabacloud/live/model/UpdateMessageAppResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPRESULT_H_
-#define ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPRESULT_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEAPPRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEAPPRESULT_H_
 
 
 #include <string>
 #include <string>
 #include <vector>
 #include <vector>
@@ -29,7 +29,7 @@ namespace AlibabaCloud
 	{
 	{
 		namespace Model
 		namespace Model
 		{
 		{
-			class ALIBABACLOUD_LIVE_EXPORT CloseMessageGroupResult : public ServiceResult
+			class ALIBABACLOUD_LIVE_EXPORT UpdateMessageAppResult : public ServiceResult
 			{
 			{
 			public:
 			public:
 				struct Result
 				struct Result
@@ -38,9 +38,9 @@ namespace AlibabaCloud
 				};
 				};
 
 
 
 
-				CloseMessageGroupResult();
-				explicit CloseMessageGroupResult(const std::string &payload);
-				~CloseMessageGroupResult();
+				UpdateMessageAppResult();
+				explicit UpdateMessageAppResult(const std::string &payload);
+				~UpdateMessageAppResult();
 				Result getResult()const;
 				Result getResult()const;
 
 
 			protected:
 			protected:
@@ -52,4 +52,4 @@ namespace AlibabaCloud
 		}
 		}
 	}
 	}
 }
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_CLOSEMESSAGEGROUPRESULT_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEAPPRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/UpdateMessageGroupRequest.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_UPDATEMESSAGEGROUPREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEGROUPREQUEST_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 UpdateMessageGroupRequest : public RpcServiceRequest {
+public:
+	UpdateMessageGroupRequest();
+	~UpdateMessageGroupRequest();
+	std::map<std::string, std::string> getExtension() const;
+	void setExtension(const std::map<std::string, std::string> &extension);
+	std::string getGroupId() const;
+	void setGroupId(const std::string &groupId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::map<std::string, std::string> extension_;
+	std::string groupId_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEGROUPREQUEST_H_

+ 55 - 0
live/include/alibabacloud/live/model/UpdateMessageGroupResult.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_UPDATEMESSAGEGROUPRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEGROUPRESULT_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 UpdateMessageGroupResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					bool success;
+				};
+
+
+				UpdateMessageGroupResult();
+				explicit UpdateMessageGroupResult(const std::string &payload);
+				~UpdateMessageGroupResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_UPDATEMESSAGEGROUPRESULT_H_

+ 603 - 63
live/src/LiveClient.cc

@@ -771,6 +771,42 @@ LiveClient::AddLiveSnapshotDetectPornConfigOutcomeCallable LiveClient::addLiveSn
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::AddLiveSnapshotNotifyConfigOutcome LiveClient::addLiveSnapshotNotifyConfig(const AddLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddLiveSnapshotNotifyConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddLiveSnapshotNotifyConfigOutcome(AddLiveSnapshotNotifyConfigResult(outcome.result()));
+	else
+		return AddLiveSnapshotNotifyConfigOutcome(outcome.error());
+}
+
+void LiveClient::addLiveSnapshotNotifyConfigAsync(const AddLiveSnapshotNotifyConfigRequest& request, const AddLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addLiveSnapshotNotifyConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::AddLiveSnapshotNotifyConfigOutcomeCallable LiveClient::addLiveSnapshotNotifyConfigCallable(const AddLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddLiveSnapshotNotifyConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->addLiveSnapshotNotifyConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::AddLiveStreamTranscodeOutcome LiveClient::addLiveStreamTranscode(const AddLiveStreamTranscodeRequest &request) const
 LiveClient::AddLiveStreamTranscodeOutcome LiveClient::addLiveStreamTranscode(const AddLiveStreamTranscodeRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1275,42 +1311,6 @@ LiveClient::CloseLiveShiftOutcomeCallable LiveClient::closeLiveShiftCallable(con
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
-LiveClient::CloseMessageGroupOutcome LiveClient::closeMessageGroup(const CloseMessageGroupRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CloseMessageGroupOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CloseMessageGroupOutcome(CloseMessageGroupResult(outcome.result()));
-	else
-		return CloseMessageGroupOutcome(outcome.error());
-}
-
-void LiveClient::closeMessageGroupAsync(const CloseMessageGroupRequest& request, const CloseMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, closeMessageGroup(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-LiveClient::CloseMessageGroupOutcomeCallable LiveClient::closeMessageGroupCallable(const CloseMessageGroupRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CloseMessageGroupOutcome()>>(
-			[this, request]()
-			{
-			return this->closeMessageGroup(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 LiveClient::CopyCasterOutcome LiveClient::copyCaster(const CopyCasterRequest &request) const
 LiveClient::CopyCasterOutcome LiveClient::copyCaster(const CopyCasterRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1599,6 +1599,42 @@ LiveClient::CreateLiveTranscodeTemplateOutcomeCallable LiveClient::createLiveTra
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::CreateMessageAppOutcome LiveClient::createMessageApp(const CreateMessageAppRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateMessageAppOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateMessageAppOutcome(CreateMessageAppResult(outcome.result()));
+	else
+		return CreateMessageAppOutcome(outcome.error());
+}
+
+void LiveClient::createMessageAppAsync(const CreateMessageAppRequest& request, const CreateMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createMessageApp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::CreateMessageAppOutcomeCallable LiveClient::createMessageAppCallable(const CreateMessageAppRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateMessageAppOutcome()>>(
+			[this, request]()
+			{
+			return this->createMessageApp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::CreateMessageGroupOutcome LiveClient::createMessageGroup(const CreateMessageGroupRequest &request) const
 LiveClient::CreateMessageGroupOutcome LiveClient::createMessageGroup(const CreateMessageGroupRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2571,6 +2607,42 @@ LiveClient::DeleteLiveSnapshotDetectPornConfigOutcomeCallable LiveClient::delete
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::DeleteLiveSnapshotNotifyConfigOutcome LiveClient::deleteLiveSnapshotNotifyConfig(const DeleteLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveSnapshotNotifyConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveSnapshotNotifyConfigOutcome(DeleteLiveSnapshotNotifyConfigResult(outcome.result()));
+	else
+		return DeleteLiveSnapshotNotifyConfigOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveSnapshotNotifyConfigAsync(const DeleteLiveSnapshotNotifyConfigRequest& request, const DeleteLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveSnapshotNotifyConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveSnapshotNotifyConfigOutcomeCallable LiveClient::deleteLiveSnapshotNotifyConfigCallable(const DeleteLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveSnapshotNotifyConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveSnapshotNotifyConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveSpecificStagingConfigOutcome LiveClient::deleteLiveSpecificStagingConfig(const DeleteLiveSpecificStagingConfigRequest &request) const
 LiveClient::DeleteLiveSpecificStagingConfigOutcome LiveClient::deleteLiveSpecificStagingConfig(const DeleteLiveSpecificStagingConfigRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5343,6 +5415,78 @@ LiveClient::DescribeLiveSnapshotDetectPornConfigOutcomeCallable LiveClient::desc
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::DescribeLiveSnapshotNotifyConfigOutcome LiveClient::describeLiveSnapshotNotifyConfig(const DescribeLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveSnapshotNotifyConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveSnapshotNotifyConfigOutcome(DescribeLiveSnapshotNotifyConfigResult(outcome.result()));
+	else
+		return DescribeLiveSnapshotNotifyConfigOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveSnapshotNotifyConfigAsync(const DescribeLiveSnapshotNotifyConfigRequest& request, const DescribeLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveSnapshotNotifyConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveSnapshotNotifyConfigOutcomeCallable LiveClient::describeLiveSnapshotNotifyConfigCallable(const DescribeLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveSnapshotNotifyConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveSnapshotNotifyConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::DescribeLiveStreamAuthCheckingOutcome LiveClient::describeLiveStreamAuthChecking(const DescribeLiveStreamAuthCheckingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveStreamAuthCheckingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveStreamAuthCheckingOutcome(DescribeLiveStreamAuthCheckingResult(outcome.result()));
+	else
+		return DescribeLiveStreamAuthCheckingOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveStreamAuthCheckingAsync(const DescribeLiveStreamAuthCheckingRequest& request, const DescribeLiveStreamAuthCheckingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveStreamAuthChecking(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveStreamAuthCheckingOutcomeCallable LiveClient::describeLiveStreamAuthCheckingCallable(const DescribeLiveStreamAuthCheckingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamAuthCheckingOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveStreamAuthChecking(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamBitRateDataOutcome LiveClient::describeLiveStreamBitRateData(const DescribeLiveStreamBitRateDataRequest &request) const
 LiveClient::DescribeLiveStreamBitRateDataOutcome LiveClient::describeLiveStreamBitRateData(const DescribeLiveStreamBitRateDataRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5991,6 +6135,42 @@ LiveClient::DescribeLiveStreamsControlHistoryOutcomeCallable LiveClient::describ
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::DescribeLiveStreamsNotifyRecordsOutcome LiveClient::describeLiveStreamsNotifyRecords(const DescribeLiveStreamsNotifyRecordsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveStreamsNotifyRecordsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveStreamsNotifyRecordsOutcome(DescribeLiveStreamsNotifyRecordsResult(outcome.result()));
+	else
+		return DescribeLiveStreamsNotifyRecordsOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveStreamsNotifyRecordsAsync(const DescribeLiveStreamsNotifyRecordsRequest& request, const DescribeLiveStreamsNotifyRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveStreamsNotifyRecords(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveStreamsNotifyRecordsOutcomeCallable LiveClient::describeLiveStreamsNotifyRecordsCallable(const DescribeLiveStreamsNotifyRecordsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamsNotifyRecordsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveStreamsNotifyRecords(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamsNotifyUrlConfigOutcome LiveClient::describeLiveStreamsNotifyUrlConfig(const DescribeLiveStreamsNotifyUrlConfigRequest &request) const
 LiveClient::DescribeLiveStreamsNotifyUrlConfigOutcome LiveClient::describeLiveStreamsNotifyUrlConfig(const DescribeLiveStreamsNotifyUrlConfigRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7323,108 +7503,108 @@ LiveClient::GetEditingJobInfoOutcomeCallable LiveClient::getEditingJobInfoCallab
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
-LiveClient::GetMessageGroupOutcome LiveClient::getMessageGroup(const GetMessageGroupRequest &request) const
+LiveClient::GetMessageAppOutcome LiveClient::getMessageApp(const GetMessageAppRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
 	if (!endpointOutcome.isSuccess())
-		return GetMessageGroupOutcome(endpointOutcome.error());
+		return GetMessageAppOutcome(endpointOutcome.error());
 
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 
 	if (outcome.isSuccess())
 	if (outcome.isSuccess())
-		return GetMessageGroupOutcome(GetMessageGroupResult(outcome.result()));
+		return GetMessageAppOutcome(GetMessageAppResult(outcome.result()));
 	else
 	else
-		return GetMessageGroupOutcome(outcome.error());
+		return GetMessageAppOutcome(outcome.error());
 }
 }
 
 
-void LiveClient::getMessageGroupAsync(const GetMessageGroupRequest& request, const GetMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::getMessageAppAsync(const GetMessageAppRequest& request, const GetMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 {
 	auto fn = [this, request, handler, context]()
 	auto fn = [this, request, handler, context]()
 	{
 	{
-		handler(this, request, getMessageGroup(request), context);
+		handler(this, request, getMessageApp(request), context);
 	};
 	};
 
 
 	asyncExecute(new Runnable(fn));
 	asyncExecute(new Runnable(fn));
 }
 }
 
 
-LiveClient::GetMessageGroupOutcomeCallable LiveClient::getMessageGroupCallable(const GetMessageGroupRequest &request) const
+LiveClient::GetMessageAppOutcomeCallable LiveClient::getMessageAppCallable(const GetMessageAppRequest &request) const
 {
 {
-	auto task = std::make_shared<std::packaged_task<GetMessageGroupOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<GetMessageAppOutcome()>>(
 			[this, request]()
 			[this, request]()
 			{
 			{
-			return this->getMessageGroup(request);
+			return this->getMessageApp(request);
 			});
 			});
 
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
-LiveClient::GetMessageTokenOutcome LiveClient::getMessageToken(const GetMessageTokenRequest &request) const
+LiveClient::GetMessageGroupOutcome LiveClient::getMessageGroup(const GetMessageGroupRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
 	if (!endpointOutcome.isSuccess())
-		return GetMessageTokenOutcome(endpointOutcome.error());
+		return GetMessageGroupOutcome(endpointOutcome.error());
 
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 
 	if (outcome.isSuccess())
 	if (outcome.isSuccess())
-		return GetMessageTokenOutcome(GetMessageTokenResult(outcome.result()));
+		return GetMessageGroupOutcome(GetMessageGroupResult(outcome.result()));
 	else
 	else
-		return GetMessageTokenOutcome(outcome.error());
+		return GetMessageGroupOutcome(outcome.error());
 }
 }
 
 
-void LiveClient::getMessageTokenAsync(const GetMessageTokenRequest& request, const GetMessageTokenAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::getMessageGroupAsync(const GetMessageGroupRequest& request, const GetMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 {
 	auto fn = [this, request, handler, context]()
 	auto fn = [this, request, handler, context]()
 	{
 	{
-		handler(this, request, getMessageToken(request), context);
+		handler(this, request, getMessageGroup(request), context);
 	};
 	};
 
 
 	asyncExecute(new Runnable(fn));
 	asyncExecute(new Runnable(fn));
 }
 }
 
 
-LiveClient::GetMessageTokenOutcomeCallable LiveClient::getMessageTokenCallable(const GetMessageTokenRequest &request) const
+LiveClient::GetMessageGroupOutcomeCallable LiveClient::getMessageGroupCallable(const GetMessageGroupRequest &request) const
 {
 {
-	auto task = std::make_shared<std::packaged_task<GetMessageTokenOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<GetMessageGroupOutcome()>>(
 			[this, request]()
 			[this, request]()
 			{
 			{
-			return this->getMessageToken(request);
+			return this->getMessageGroup(request);
 			});
 			});
 
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
-LiveClient::GetMessageUserInfoOutcome LiveClient::getMessageUserInfo(const GetMessageUserInfoRequest &request) const
+LiveClient::GetMessageTokenOutcome LiveClient::getMessageToken(const GetMessageTokenRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
 	if (!endpointOutcome.isSuccess())
-		return GetMessageUserInfoOutcome(endpointOutcome.error());
+		return GetMessageTokenOutcome(endpointOutcome.error());
 
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 
 	if (outcome.isSuccess())
 	if (outcome.isSuccess())
-		return GetMessageUserInfoOutcome(GetMessageUserInfoResult(outcome.result()));
+		return GetMessageTokenOutcome(GetMessageTokenResult(outcome.result()));
 	else
 	else
-		return GetMessageUserInfoOutcome(outcome.error());
+		return GetMessageTokenOutcome(outcome.error());
 }
 }
 
 
-void LiveClient::getMessageUserInfoAsync(const GetMessageUserInfoRequest& request, const GetMessageUserInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::getMessageTokenAsync(const GetMessageTokenRequest& request, const GetMessageTokenAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 {
 	auto fn = [this, request, handler, context]()
 	auto fn = [this, request, handler, context]()
 	{
 	{
-		handler(this, request, getMessageUserInfo(request), context);
+		handler(this, request, getMessageToken(request), context);
 	};
 	};
 
 
 	asyncExecute(new Runnable(fn));
 	asyncExecute(new Runnable(fn));
 }
 }
 
 
-LiveClient::GetMessageUserInfoOutcomeCallable LiveClient::getMessageUserInfoCallable(const GetMessageUserInfoRequest &request) const
+LiveClient::GetMessageTokenOutcomeCallable LiveClient::getMessageTokenCallable(const GetMessageTokenRequest &request) const
 {
 {
-	auto task = std::make_shared<std::packaged_task<GetMessageUserInfoOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<GetMessageTokenOutcome()>>(
 			[this, request]()
 			[this, request]()
 			{
 			{
-			return this->getMessageUserInfo(request);
+			return this->getMessageToken(request);
 			});
 			});
 
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -7791,6 +7971,42 @@ LiveClient::ListMessageOutcomeCallable LiveClient::listMessageCallable(const Lis
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::ListMessageAppOutcome LiveClient::listMessageApp(const ListMessageAppRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListMessageAppOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListMessageAppOutcome(ListMessageAppResult(outcome.result()));
+	else
+		return ListMessageAppOutcome(outcome.error());
+}
+
+void LiveClient::listMessageAppAsync(const ListMessageAppRequest& request, const ListMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listMessageApp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::ListMessageAppOutcomeCallable LiveClient::listMessageAppCallable(const ListMessageAppRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListMessageAppOutcome()>>(
+			[this, request]()
+			{
+			return this->listMessageApp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ListMessageGroupOutcome LiveClient::listMessageGroup(const ListMessageGroupRequest &request) const
 LiveClient::ListMessageGroupOutcome LiveClient::listMessageGroup(const ListMessageGroupRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7863,6 +8079,42 @@ LiveClient::ListMessageGroupUserOutcomeCallable LiveClient::listMessageGroupUser
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::ListMessageGroupUserByIdOutcome LiveClient::listMessageGroupUserById(const ListMessageGroupUserByIdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListMessageGroupUserByIdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListMessageGroupUserByIdOutcome(ListMessageGroupUserByIdResult(outcome.result()));
+	else
+		return ListMessageGroupUserByIdOutcome(outcome.error());
+}
+
+void LiveClient::listMessageGroupUserByIdAsync(const ListMessageGroupUserByIdRequest& request, const ListMessageGroupUserByIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listMessageGroupUserById(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::ListMessageGroupUserByIdOutcomeCallable LiveClient::listMessageGroupUserByIdCallable(const ListMessageGroupUserByIdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListMessageGroupUserByIdOutcome()>>(
+			[this, request]()
+			{
+			return this->listMessageGroupUserById(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ListPlaylistOutcome LiveClient::listPlaylist(const ListPlaylistRequest &request) const
 LiveClient::ListPlaylistOutcome LiveClient::listPlaylist(const ListPlaylistRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8367,6 +8619,42 @@ LiveClient::PublishLiveStagingConfigToProductionOutcomeCallable LiveClient::publ
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::QueryMessageAppOutcome LiveClient::queryMessageApp(const QueryMessageAppRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		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::QuerySnapshotCallbackAuthOutcome LiveClient::querySnapshotCallbackAuth(const QuerySnapshotCallbackAuthRequest &request) const
 LiveClient::QuerySnapshotCallbackAuthOutcome LiveClient::querySnapshotCallbackAuth(const QuerySnapshotCallbackAuthRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8511,6 +8799,42 @@ LiveClient::RemoveShowFromShowListOutcomeCallable LiveClient::removeShowFromShow
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::RestartCasterOutcome LiveClient::restartCaster(const RestartCasterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RestartCasterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RestartCasterOutcome(RestartCasterResult(outcome.result()));
+	else
+		return RestartCasterOutcome(outcome.error());
+}
+
+void LiveClient::restartCasterAsync(const RestartCasterRequest& request, const RestartCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, restartCaster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::RestartCasterOutcomeCallable LiveClient::restartCasterCallable(const RestartCasterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RestartCasterOutcome()>>(
+			[this, request]()
+			{
+			return this->restartCaster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ResumeLiveStreamOutcome LiveClient::resumeLiveStream(const ResumeLiveStreamRequest &request) const
 LiveClient::ResumeLiveStreamOutcome LiveClient::resumeLiveStream(const ResumeLiveStreamRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8583,6 +8907,114 @@ LiveClient::RollbackLiveStagingConfigOutcomeCallable LiveClient::rollbackLiveSta
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::SendLikeOutcome LiveClient::sendLike(const SendLikeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SendLikeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SendLikeOutcome(SendLikeResult(outcome.result()));
+	else
+		return SendLikeOutcome(outcome.error());
+}
+
+void LiveClient::sendLikeAsync(const SendLikeRequest& request, const SendLikeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, sendLike(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SendLikeOutcomeCallable LiveClient::sendLikeCallable(const SendLikeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SendLikeOutcome()>>(
+			[this, request]()
+			{
+			return this->sendLike(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::SendMessageToGroupOutcome LiveClient::sendMessageToGroup(const SendMessageToGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SendMessageToGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SendMessageToGroupOutcome(SendMessageToGroupResult(outcome.result()));
+	else
+		return SendMessageToGroupOutcome(outcome.error());
+}
+
+void LiveClient::sendMessageToGroupAsync(const SendMessageToGroupRequest& request, const SendMessageToGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, sendMessageToGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SendMessageToGroupOutcomeCallable LiveClient::sendMessageToGroupCallable(const SendMessageToGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SendMessageToGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->sendMessageToGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::SendMessageToGroupUsersOutcome LiveClient::sendMessageToGroupUsers(const SendMessageToGroupUsersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SendMessageToGroupUsersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SendMessageToGroupUsersOutcome(SendMessageToGroupUsersResult(outcome.result()));
+	else
+		return SendMessageToGroupUsersOutcome(outcome.error());
+}
+
+void LiveClient::sendMessageToGroupUsersAsync(const SendMessageToGroupUsersRequest& request, const SendMessageToGroupUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, sendMessageToGroupUsers(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SendMessageToGroupUsersOutcomeCallable LiveClient::sendMessageToGroupUsersCallable(const SendMessageToGroupUsersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SendMessageToGroupUsersOutcome()>>(
+			[this, request]()
+			{
+			return this->sendMessageToGroupUsers(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::SendRoomNotificationOutcome LiveClient::sendRoomNotification(const SendRoomNotificationRequest &request) const
 LiveClient::SendRoomNotificationOutcome LiveClient::sendRoomNotification(const SendRoomNotificationRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9879,6 +10311,42 @@ LiveClient::UpdateLiveSnapshotDetectPornConfigOutcomeCallable LiveClient::update
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::UpdateLiveSnapshotNotifyConfigOutcome LiveClient::updateLiveSnapshotNotifyConfig(const UpdateLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateLiveSnapshotNotifyConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateLiveSnapshotNotifyConfigOutcome(UpdateLiveSnapshotNotifyConfigResult(outcome.result()));
+	else
+		return UpdateLiveSnapshotNotifyConfigOutcome(outcome.error());
+}
+
+void LiveClient::updateLiveSnapshotNotifyConfigAsync(const UpdateLiveSnapshotNotifyConfigRequest& request, const UpdateLiveSnapshotNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateLiveSnapshotNotifyConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateLiveSnapshotNotifyConfigOutcomeCallable LiveClient::updateLiveSnapshotNotifyConfigCallable(const UpdateLiveSnapshotNotifyConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateLiveSnapshotNotifyConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->updateLiveSnapshotNotifyConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateLiveStreamMonitorOutcome LiveClient::updateLiveStreamMonitor(const UpdateLiveStreamMonitorRequest &request) const
 LiveClient::UpdateLiveStreamMonitorOutcome LiveClient::updateLiveStreamMonitor(const UpdateLiveStreamMonitorRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10023,6 +10491,78 @@ LiveClient::UpdateLiveTopLevelDomainOutcomeCallable LiveClient::updateLiveTopLev
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+LiveClient::UpdateMessageAppOutcome LiveClient::updateMessageApp(const UpdateMessageAppRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateMessageAppOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateMessageAppOutcome(UpdateMessageAppResult(outcome.result()));
+	else
+		return UpdateMessageAppOutcome(outcome.error());
+}
+
+void LiveClient::updateMessageAppAsync(const UpdateMessageAppRequest& request, const UpdateMessageAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateMessageApp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateMessageAppOutcomeCallable LiveClient::updateMessageAppCallable(const UpdateMessageAppRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateMessageAppOutcome()>>(
+			[this, request]()
+			{
+			return this->updateMessageApp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::UpdateMessageGroupOutcome LiveClient::updateMessageGroup(const UpdateMessageGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateMessageGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateMessageGroupOutcome(UpdateMessageGroupResult(outcome.result()));
+	else
+		return UpdateMessageGroupOutcome(outcome.error());
+}
+
+void LiveClient::updateMessageGroupAsync(const UpdateMessageGroupRequest& request, const UpdateMessageGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateMessageGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::UpdateMessageGroupOutcomeCallable LiveClient::updateMessageGroupCallable(const UpdateMessageGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateMessageGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->updateMessageGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateMixStreamOutcome LiveClient::updateMixStream(const UpdateMixStreamRequest &request) const
 LiveClient::UpdateMixStreamOutcome LiveClient::updateMixStream(const UpdateMixStreamRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 72 - 0
live/src/model/AddLiveSnapshotNotifyConfigRequest.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/AddLiveSnapshotNotifyConfigRequest.h>
+
+using AlibabaCloud::Live::Model::AddLiveSnapshotNotifyConfigRequest;
+
+AddLiveSnapshotNotifyConfigRequest::AddLiveSnapshotNotifyConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "AddLiveSnapshotNotifyConfig") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+AddLiveSnapshotNotifyConfigRequest::~AddLiveSnapshotNotifyConfigRequest() {}
+
+std::string AddLiveSnapshotNotifyConfigRequest::getNotifyReqAuth() const {
+  return notifyReqAuth_;
+}
+
+void AddLiveSnapshotNotifyConfigRequest::setNotifyReqAuth(const std::string &notifyReqAuth) {
+  notifyReqAuth_ = notifyReqAuth;
+  setParameter(std::string("NotifyReqAuth"), notifyReqAuth);
+}
+
+std::string AddLiveSnapshotNotifyConfigRequest::getNotifyUrl() const {
+  return notifyUrl_;
+}
+
+void AddLiveSnapshotNotifyConfigRequest::setNotifyUrl(const std::string &notifyUrl) {
+  notifyUrl_ = notifyUrl;
+  setParameter(std::string("NotifyUrl"), notifyUrl);
+}
+
+std::string AddLiveSnapshotNotifyConfigRequest::getDomainName() const {
+  return domainName_;
+}
+
+void AddLiveSnapshotNotifyConfigRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long AddLiveSnapshotNotifyConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void AddLiveSnapshotNotifyConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string AddLiveSnapshotNotifyConfigRequest::getNotifyAuthKey() const {
+  return notifyAuthKey_;
+}
+
+void AddLiveSnapshotNotifyConfigRequest::setNotifyAuthKey(const std::string &notifyAuthKey) {
+  notifyAuthKey_ = notifyAuthKey;
+  setParameter(std::string("NotifyAuthKey"), notifyAuthKey);
+}
+

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

+ 9 - 9
live/src/model/CancelMuteAllGroupUserRequest.cc

@@ -25,6 +25,15 @@ CancelMuteAllGroupUserRequest::CancelMuteAllGroupUserRequest()
 
 
 CancelMuteAllGroupUserRequest::~CancelMuteAllGroupUserRequest() {}
 CancelMuteAllGroupUserRequest::~CancelMuteAllGroupUserRequest() {}
 
 
+std::string CancelMuteAllGroupUserRequest::getOperatorUserId() const {
+  return operatorUserId_;
+}
+
+void CancelMuteAllGroupUserRequest::setOperatorUserId(const std::string &operatorUserId) {
+  operatorUserId_ = operatorUserId;
+  setBodyParameter(std::string("OperatorUserId"), operatorUserId);
+}
+
 std::string CancelMuteAllGroupUserRequest::getGroupId() const {
 std::string CancelMuteAllGroupUserRequest::getGroupId() const {
   return groupId_;
   return groupId_;
 }
 }
@@ -43,12 +52,3 @@ void CancelMuteAllGroupUserRequest::setAppId(const std::string &appId) {
   setBodyParameter(std::string("AppId"), appId);
   setBodyParameter(std::string("AppId"), appId);
 }
 }
 
 
-std::string CancelMuteAllGroupUserRequest::getOperatorUserId() const {
-  return operatorUserId_;
-}
-
-void CancelMuteAllGroupUserRequest::setOperatorUserId(const std::string &operatorUserId) {
-  operatorUserId_ = operatorUserId;
-  setBodyParameter(std::string("OperatorUserId"), operatorUserId);
-}
-

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

@@ -1,45 +0,0 @@
-/*
- * 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/CloseMessageGroupRequest.h>
-
-using AlibabaCloud::Live::Model::CloseMessageGroupRequest;
-
-CloseMessageGroupRequest::CloseMessageGroupRequest()
-    : RpcServiceRequest("live", "2016-11-01", "CloseMessageGroup") {
-  setMethod(HttpRequest::Method::Post);
-}
-
-CloseMessageGroupRequest::~CloseMessageGroupRequest() {}
-
-std::string CloseMessageGroupRequest::getGroupId() const {
-  return groupId_;
-}
-
-void CloseMessageGroupRequest::setGroupId(const std::string &groupId) {
-  groupId_ = groupId;
-  setBodyParameter(std::string("GroupId"), groupId);
-}
-
-std::string CloseMessageGroupRequest::getAppId() const {
-  return appId_;
-}
-
-void CloseMessageGroupRequest::setAppId(const std::string &appId) {
-  appId_ = appId;
-  setBodyParameter(std::string("AppId"), appId);
-}
-

+ 58 - 0
live/src/model/CreateMessageAppRequest.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/CreateMessageAppRequest.h>
+
+using AlibabaCloud::Live::Model::CreateMessageAppRequest;
+
+CreateMessageAppRequest::CreateMessageAppRequest()
+    : RpcServiceRequest("live", "2016-11-01", "CreateMessageApp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateMessageAppRequest::~CreateMessageAppRequest() {}
+
+std::map<std::string, std::string> CreateMessageAppRequest::getExtension() const {
+  return extension_;
+}
+
+void CreateMessageAppRequest::setExtension(const std::map<std::string, std::string> &extension) {
+  extension_ = extension;
+  for(auto const &iter1 : extension) {
+    setBodyParameter(std::string("Extension") + "." + iter1.first, iter1.second);
+  }
+}
+
+std::map<std::string, std::string> CreateMessageAppRequest::getAppConfig() const {
+  return appConfig_;
+}
+
+void CreateMessageAppRequest::setAppConfig(const std::map<std::string, std::string> &appConfig) {
+  appConfig_ = appConfig;
+  for(auto const &iter1 : appConfig) {
+    setBodyParameter(std::string("AppConfig") + "." + iter1.first, iter1.second);
+  }
+}
+
+std::string CreateMessageAppRequest::getAppName() const {
+  return appName_;
+}
+
+void CreateMessageAppRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setBodyParameter(std::string("AppName"), appName);
+}
+

+ 52 - 0
live/src/model/CreateMessageAppResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/CreateMessageAppResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+CreateMessageAppResult::CreateMessageAppResult() :
+	ServiceResult()
+{}
+
+CreateMessageAppResult::CreateMessageAppResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateMessageAppResult::~CreateMessageAppResult()
+{}
+
+void CreateMessageAppResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["AppId"].isNull())
+		result_.appId = resultNode["AppId"].asString();
+
+}
+
+CreateMessageAppResult::Result CreateMessageAppResult::getResult()const
+{
+	return result_;
+}
+

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

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

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

@@ -43,6 +43,15 @@ void DescribeDomainUsageDataRequest::setType(const std::string &type) {
   setParameter(std::string("Type"), type);
   setParameter(std::string("Type"), type);
 }
 }
 
 
+std::string DescribeDomainUsageDataRequest::getDataProtocol() const {
+  return dataProtocol_;
+}
+
+void DescribeDomainUsageDataRequest::setDataProtocol(const std::string &dataProtocol) {
+  dataProtocol_ = dataProtocol;
+  setParameter(std::string("DataProtocol"), dataProtocol);
+}
+
 std::string DescribeDomainUsageDataRequest::getArea() const {
 std::string DescribeDomainUsageDataRequest::getArea() const {
   return area_;
   return area_;
 }
 }

+ 4 - 4
live/src/model/DescribeDomainUsageDataResult.cc

@@ -51,12 +51,12 @@ void DescribeDomainUsageDataResult::parse(const std::string &payload)
 	}
 	}
 	if(!value["EndTime"].isNull())
 	if(!value["EndTime"].isNull())
 		endTime_ = value["EndTime"].asString();
 		endTime_ = value["EndTime"].asString();
+	if(!value["Type"].isNull())
+		type_ = value["Type"].asString();
 	if(!value["StartTime"].isNull())
 	if(!value["StartTime"].isNull())
 		startTime_ = value["StartTime"].asString();
 		startTime_ = value["StartTime"].asString();
 	if(!value["Area"].isNull())
 	if(!value["Area"].isNull())
 		area_ = value["Area"].asString();
 		area_ = value["Area"].asString();
-	if(!value["Field"].isNull())
-		field_ = value["Field"].asString();
 	if(!value["DomainName"].isNull())
 	if(!value["DomainName"].isNull())
 		domainName_ = value["DomainName"].asString();
 		domainName_ = value["DomainName"].asString();
 	if(!value["DataInterval"].isNull())
 	if(!value["DataInterval"].isNull())
@@ -69,9 +69,9 @@ std::vector<DescribeDomainUsageDataResult::DataModule> DescribeDomainUsageDataRe
 	return usageDataPerInterval_;
 	return usageDataPerInterval_;
 }
 }
 
 
-std::string DescribeDomainUsageDataResult::getField()const
+std::string DescribeDomainUsageDataResult::getType()const
 {
 {
-	return field_;
+	return type_;
 }
 }
 
 
 std::string DescribeDomainUsageDataResult::getArea()const
 std::string DescribeDomainUsageDataResult::getArea()const

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

+ 72 - 0
live/src/model/DescribeLiveSnapshotNotifyConfigResult.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/DescribeLiveSnapshotNotifyConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveSnapshotNotifyConfigResult::DescribeLiveSnapshotNotifyConfigResult() :
+	ServiceResult()
+{}
+
+DescribeLiveSnapshotNotifyConfigResult::DescribeLiveSnapshotNotifyConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveSnapshotNotifyConfigResult::~DescribeLiveSnapshotNotifyConfigResult()
+{}
+
+void DescribeLiveSnapshotNotifyConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["NotifyReqAuth"].isNull())
+		notifyReqAuth_ = value["NotifyReqAuth"].asString();
+	if(!value["NotifyAuthKey"].isNull())
+		notifyAuthKey_ = value["NotifyAuthKey"].asString();
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["NotifyUrl"].isNull())
+		notifyUrl_ = value["NotifyUrl"].asString();
+
+}
+
+std::string DescribeLiveSnapshotNotifyConfigResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeLiveSnapshotNotifyConfigResult::getNotifyUrl()const
+{
+	return notifyUrl_;
+}
+
+std::string DescribeLiveSnapshotNotifyConfigResult::getNotifyReqAuth()const
+{
+	return notifyReqAuth_;
+}
+
+std::string DescribeLiveSnapshotNotifyConfigResult::getNotifyAuthKey()const
+{
+	return notifyAuthKey_;
+}
+

+ 54 - 0
live/src/model/DescribeLiveStreamAuthCheckingRequest.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/DescribeLiveStreamAuthCheckingRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveStreamAuthCheckingRequest;
+
+DescribeLiveStreamAuthCheckingRequest::DescribeLiveStreamAuthCheckingRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveStreamAuthChecking") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveStreamAuthCheckingRequest::~DescribeLiveStreamAuthCheckingRequest() {}
+
+std::string DescribeLiveStreamAuthCheckingRequest::getDomainName() const {
+  return domainName_;
+}
+
+void DescribeLiveStreamAuthCheckingRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long DescribeLiveStreamAuthCheckingRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLiveStreamAuthCheckingRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLiveStreamAuthCheckingRequest::getUrl() const {
+  return url_;
+}
+
+void DescribeLiveStreamAuthCheckingRequest::setUrl(const std::string &url) {
+  url_ = url;
+  setParameter(std::string("Url"), url);
+}
+

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

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

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

+ 101 - 0
live/src/model/DescribeLiveStreamsNotifyRecordsResult.cc

@@ -0,0 +1,101 @@
+/*
+ * 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/DescribeLiveStreamsNotifyRecordsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveStreamsNotifyRecordsResult::DescribeLiveStreamsNotifyRecordsResult() :
+	ServiceResult()
+{}
+
+DescribeLiveStreamsNotifyRecordsResult::DescribeLiveStreamsNotifyRecordsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveStreamsNotifyRecordsResult::~DescribeLiveStreamsNotifyRecordsResult()
+{}
+
+void DescribeLiveStreamsNotifyRecordsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allNotifyRecordsInfoNode = value["NotifyRecordsInfo"]["LiveStreamNotifyRecordsInfo"];
+	for (auto valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo : allNotifyRecordsInfoNode)
+	{
+		LiveStreamNotifyRecordsInfo notifyRecordsInfoObject;
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["AppName"].isNull())
+			notifyRecordsInfoObject.appName = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["AppName"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyType"].isNull())
+			notifyRecordsInfoObject.notifyType = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyType"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyContent"].isNull())
+			notifyRecordsInfoObject.notifyContent = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyContent"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["Description"].isNull())
+			notifyRecordsInfoObject.description = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["Description"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["StreamName"].isNull())
+			notifyRecordsInfoObject.streamName = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["StreamName"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyUrl"].isNull())
+			notifyRecordsInfoObject.notifyUrl = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyUrl"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyResult"].isNull())
+			notifyRecordsInfoObject.notifyResult = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyResult"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyTime"].isNull())
+			notifyRecordsInfoObject.notifyTime = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["NotifyTime"].asString();
+		if(!valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["DomainName"].isNull())
+			notifyRecordsInfoObject.domainName = valueNotifyRecordsInfoLiveStreamNotifyRecordsInfo["DomainName"].asString();
+		notifyRecordsInfo_.push_back(notifyRecordsInfoObject);
+	}
+	if(!value["TotalPage"].isNull())
+		totalPage_ = std::stoi(value["TotalPage"].asString());
+	if(!value["PageNum"].isNull())
+		pageNum_ = std::stoi(value["PageNum"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stoi(value["TotalNum"].asString());
+
+}
+
+std::vector<DescribeLiveStreamsNotifyRecordsResult::LiveStreamNotifyRecordsInfo> DescribeLiveStreamsNotifyRecordsResult::getNotifyRecordsInfo()const
+{
+	return notifyRecordsInfo_;
+}
+
+int DescribeLiveStreamsNotifyRecordsResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+int DescribeLiveStreamsNotifyRecordsResult::getTotalPage()const
+{
+	return totalPage_;
+}
+
+int DescribeLiveStreamsNotifyRecordsResult::getPageNum()const
+{
+	return pageNum_;
+}
+
+int DescribeLiveStreamsNotifyRecordsResult::getPageSize()const
+{
+	return pageSize_;
+}
+

+ 10 - 10
live/src/model/GetMessageUserInfoRequest.cc → live/src/model/GetMessageAppRequest.cc

@@ -14,23 +14,23 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#include <alibabacloud/live/model/GetMessageUserInfoRequest.h>
+#include <alibabacloud/live/model/GetMessageAppRequest.h>
 
 
-using AlibabaCloud::Live::Model::GetMessageUserInfoRequest;
+using AlibabaCloud::Live::Model::GetMessageAppRequest;
 
 
-GetMessageUserInfoRequest::GetMessageUserInfoRequest()
-    : RpcServiceRequest("live", "2016-11-01", "GetMessageUserInfo") {
+GetMessageAppRequest::GetMessageAppRequest()
+    : RpcServiceRequest("live", "2016-11-01", "GetMessageApp") {
   setMethod(HttpRequest::Method::Post);
   setMethod(HttpRequest::Method::Post);
 }
 }
 
 
-GetMessageUserInfoRequest::~GetMessageUserInfoRequest() {}
+GetMessageAppRequest::~GetMessageAppRequest() {}
 
 
-std::string GetMessageUserInfoRequest::getCloudUid() const {
-  return cloudUid_;
+std::string GetMessageAppRequest::getAppId() const {
+  return appId_;
 }
 }
 
 
-void GetMessageUserInfoRequest::setCloudUid(const std::string &cloudUid) {
-  cloudUid_ = cloudUid;
-  setBodyParameter(std::string("CloudUid"), cloudUid);
+void GetMessageAppRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
 }
 }
 
 

+ 62 - 0
live/src/model/GetMessageAppResult.cc

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

+ 9 - 9
live/src/model/GetMessageTokenRequest.cc

@@ -25,15 +25,6 @@ GetMessageTokenRequest::GetMessageTokenRequest()
 
 
 GetMessageTokenRequest::~GetMessageTokenRequest() {}
 GetMessageTokenRequest::~GetMessageTokenRequest() {}
 
 
-std::string GetMessageTokenRequest::getDeviceId() const {
-  return deviceId_;
-}
-
-void GetMessageTokenRequest::setDeviceId(const std::string &deviceId) {
-  deviceId_ = deviceId;
-  setBodyParameter(std::string("DeviceId"), deviceId);
-}
-
 std::string GetMessageTokenRequest::getUserId() const {
 std::string GetMessageTokenRequest::getUserId() const {
   return userId_;
   return userId_;
 }
 }
@@ -52,6 +43,15 @@ void GetMessageTokenRequest::setDeviceType(const std::string &deviceType) {
   setBodyParameter(std::string("DeviceType"), deviceType);
   setBodyParameter(std::string("DeviceType"), deviceType);
 }
 }
 
 
+std::string GetMessageTokenRequest::getDeviceId() const {
+  return deviceId_;
+}
+
+void GetMessageTokenRequest::setDeviceId(const std::string &deviceId) {
+  deviceId_ = deviceId;
+  setBodyParameter(std::string("DeviceId"), deviceId);
+}
+
 std::string GetMessageTokenRequest::getAppId() const {
 std::string GetMessageTokenRequest::getAppId() const {
   return appId_;
   return appId_;
 }
 }

+ 18 - 18
live/src/model/JoinMessageGroupRequest.cc

@@ -25,6 +25,24 @@ JoinMessageGroupRequest::JoinMessageGroupRequest()
 
 
 JoinMessageGroupRequest::~JoinMessageGroupRequest() {}
 JoinMessageGroupRequest::~JoinMessageGroupRequest() {}
 
 
+std::string JoinMessageGroupRequest::getUserId() const {
+  return userId_;
+}
+
+void JoinMessageGroupRequest::setUserId(const std::string &userId) {
+  userId_ = userId;
+  setBodyParameter(std::string("UserId"), userId);
+}
+
+int JoinMessageGroupRequest::getBroadCastType() const {
+  return broadCastType_;
+}
+
+void JoinMessageGroupRequest::setBroadCastType(int broadCastType) {
+  broadCastType_ = broadCastType;
+  setBodyParameter(std::string("BroadCastType"), std::to_string(broadCastType));
+}
+
 bool JoinMessageGroupRequest::getBroadCastStatistics() const {
 bool JoinMessageGroupRequest::getBroadCastStatistics() const {
   return broadCastStatistics_;
   return broadCastStatistics_;
 }
 }
@@ -43,15 +61,6 @@ void JoinMessageGroupRequest::setGroupId(const std::string &groupId) {
   setBodyParameter(std::string("GroupId"), groupId);
   setBodyParameter(std::string("GroupId"), groupId);
 }
 }
 
 
-std::string JoinMessageGroupRequest::getUserId() const {
-  return userId_;
-}
-
-void JoinMessageGroupRequest::setUserId(const std::string &userId) {
-  userId_ = userId;
-  setBodyParameter(std::string("UserId"), userId);
-}
-
 std::string JoinMessageGroupRequest::getAppId() const {
 std::string JoinMessageGroupRequest::getAppId() const {
   return appId_;
   return appId_;
 }
 }
@@ -61,12 +70,3 @@ void JoinMessageGroupRequest::setAppId(const std::string &appId) {
   setBodyParameter(std::string("AppId"), appId);
   setBodyParameter(std::string("AppId"), appId);
 }
 }
 
 
-int JoinMessageGroupRequest::getBroadCastType() const {
-  return broadCastType_;
-}
-
-void JoinMessageGroupRequest::setBroadCastType(int broadCastType) {
-  broadCastType_ = broadCastType;
-  setBodyParameter(std::string("BroadCastType"), std::to_string(broadCastType));
-}
-

+ 18 - 18
live/src/model/LeaveMessageGroupRequest.cc

@@ -25,6 +25,24 @@ LeaveMessageGroupRequest::LeaveMessageGroupRequest()
 
 
 LeaveMessageGroupRequest::~LeaveMessageGroupRequest() {}
 LeaveMessageGroupRequest::~LeaveMessageGroupRequest() {}
 
 
+std::string LeaveMessageGroupRequest::getUserId() const {
+  return userId_;
+}
+
+void LeaveMessageGroupRequest::setUserId(const std::string &userId) {
+  userId_ = userId;
+  setBodyParameter(std::string("UserId"), userId);
+}
+
+int LeaveMessageGroupRequest::getBroadCastType() const {
+  return broadCastType_;
+}
+
+void LeaveMessageGroupRequest::setBroadCastType(int broadCastType) {
+  broadCastType_ = broadCastType;
+  setBodyParameter(std::string("BroadCastType"), std::to_string(broadCastType));
+}
+
 bool LeaveMessageGroupRequest::getBroadCastStatistics() const {
 bool LeaveMessageGroupRequest::getBroadCastStatistics() const {
   return broadCastStatistics_;
   return broadCastStatistics_;
 }
 }
@@ -43,15 +61,6 @@ void LeaveMessageGroupRequest::setGroupId(const std::string &groupId) {
   setBodyParameter(std::string("GroupId"), groupId);
   setBodyParameter(std::string("GroupId"), groupId);
 }
 }
 
 
-std::string LeaveMessageGroupRequest::getUserId() const {
-  return userId_;
-}
-
-void LeaveMessageGroupRequest::setUserId(const std::string &userId) {
-  userId_ = userId;
-  setBodyParameter(std::string("UserId"), userId);
-}
-
 std::string LeaveMessageGroupRequest::getAppId() const {
 std::string LeaveMessageGroupRequest::getAppId() const {
   return appId_;
   return appId_;
 }
 }
@@ -61,12 +70,3 @@ void LeaveMessageGroupRequest::setAppId(const std::string &appId) {
   setBodyParameter(std::string("AppId"), appId);
   setBodyParameter(std::string("AppId"), appId);
 }
 }
 
 
-int LeaveMessageGroupRequest::getBroadCastType() const {
-  return broadCastType_;
-}
-
-void LeaveMessageGroupRequest::setBroadCastType(int broadCastType) {
-  broadCastType_ = broadCastType;
-  setBodyParameter(std::string("BroadCastType"), std::to_string(broadCastType));
-}
-

+ 54 - 0
live/src/model/ListMessageAppRequest.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/ListMessageAppRequest.h>
+
+using AlibabaCloud::Live::Model::ListMessageAppRequest;
+
+ListMessageAppRequest::ListMessageAppRequest()
+    : RpcServiceRequest("live", "2016-11-01", "ListMessageApp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListMessageAppRequest::~ListMessageAppRequest() {}
+
+int ListMessageAppRequest::getSortType() const {
+  return sortType_;
+}
+
+void ListMessageAppRequest::setSortType(int sortType) {
+  sortType_ = sortType;
+  setBodyParameter(std::string("SortType"), std::to_string(sortType));
+}
+
+int ListMessageAppRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void ListMessageAppRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setBodyParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+int ListMessageAppRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListMessageAppRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 72 - 0
live/src/model/ListMessageAppResult.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/ListMessageAppResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+ListMessageAppResult::ListMessageAppResult() :
+	ServiceResult()
+{}
+
+ListMessageAppResult::ListMessageAppResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListMessageAppResult::~ListMessageAppResult()
+{}
+
+void ListMessageAppResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["Total"].isNull())
+		result_.total = std::stoi(resultNode["Total"].asString());
+	if(!resultNode["HasMore"].isNull())
+		result_.hasMore = resultNode["HasMore"].asString() == "true";
+	auto allAppListNode = resultNode["AppList"]["appListItem"];
+	for (auto resultNodeAppListappListItem : allAppListNode)
+	{
+		Result::AppListItem appListItemObject;
+		if(!resultNodeAppListappListItem["AppId"].isNull())
+			appListItemObject.appId = resultNodeAppListappListItem["AppId"].asString();
+		if(!resultNodeAppListappListItem["AppName"].isNull())
+			appListItemObject.appName = resultNodeAppListappListItem["AppName"].asString();
+		if(!resultNodeAppListappListItem["CreateTime"].isNull())
+			appListItemObject.createTime = std::stol(resultNodeAppListappListItem["CreateTime"].asString());
+		if(!resultNodeAppListappListItem["Status"].isNull())
+			appListItemObject.status = std::stoi(resultNodeAppListappListItem["Status"].asString());
+		if(!resultNodeAppListappListItem["AppConfig"].isNull())
+			appListItemObject.appConfig = resultNodeAppListappListItem["AppConfig"].asString();
+		if(!resultNodeAppListappListItem["Extension"].isNull())
+			appListItemObject.extension = resultNodeAppListappListItem["Extension"].asString();
+		result_.appList.push_back(appListItemObject);
+	}
+
+}
+
+ListMessageAppResult::Result ListMessageAppResult::getResult()const
+{
+	return result_;
+}
+

+ 56 - 0
live/src/model/ListMessageGroupUserByIdRequest.cc

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/ListMessageGroupUserByIdRequest.h>
+
+using AlibabaCloud::Live::Model::ListMessageGroupUserByIdRequest;
+
+ListMessageGroupUserByIdRequest::ListMessageGroupUserByIdRequest()
+    : RpcServiceRequest("live", "2016-11-01", "ListMessageGroupUserById") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListMessageGroupUserByIdRequest::~ListMessageGroupUserByIdRequest() {}
+
+std::vector<ListMessageGroupUserByIdRequest::std::string> ListMessageGroupUserByIdRequest::getUserIdList() const {
+  return userIdList_;
+}
+
+void ListMessageGroupUserByIdRequest::setUserIdList(const std::vector<ListMessageGroupUserByIdRequest::std::string> &userIdList) {
+  userIdList_ = userIdList;
+  for(int dep1 = 0; dep1 != userIdList.size(); dep1++) {
+    setBodyParameter(std::string("UserIdList") + "." + std::to_string(dep1 + 1), userIdList[dep1]);
+  }
+}
+
+std::string ListMessageGroupUserByIdRequest::getGroupId() const {
+  return groupId_;
+}
+
+void ListMessageGroupUserByIdRequest::setGroupId(const std::string &groupId) {
+  groupId_ = groupId;
+  setBodyParameter(std::string("GroupId"), groupId);
+}
+
+std::string ListMessageGroupUserByIdRequest::getAppId() const {
+  return appId_;
+}
+
+void ListMessageGroupUserByIdRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 73 - 0
live/src/model/ListMessageGroupUserByIdResult.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/ListMessageGroupUserByIdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+ListMessageGroupUserByIdResult::ListMessageGroupUserByIdResult() :
+	ServiceResult()
+{}
+
+ListMessageGroupUserByIdResult::ListMessageGroupUserByIdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListMessageGroupUserByIdResult::~ListMessageGroupUserByIdResult()
+{}
+
+void ListMessageGroupUserByIdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["Total"].isNull())
+		result_.total = std::stoi(resultNode["Total"].asString());
+	if(!resultNode["HasMore"].isNull())
+		result_.hasMore = resultNode["HasMore"].asString() == "true";
+	auto allUserListNode = resultNode["UserList"]["userListItem"];
+	for (auto resultNodeUserListuserListItem : allUserListNode)
+	{
+		Result::UserListItem userListItemObject;
+		if(!resultNodeUserListuserListItem["UserId"].isNull())
+			userListItemObject.userId = resultNodeUserListuserListItem["UserId"].asString();
+		if(!resultNodeUserListuserListItem["UserNick"].isNull())
+			userListItemObject.userNick = resultNodeUserListuserListItem["UserNick"].asString();
+		if(!resultNodeUserListuserListItem["UserAvatar"].isNull())
+			userListItemObject.userAvatar = resultNodeUserListuserListItem["UserAvatar"].asString();
+		if(!resultNodeUserListuserListItem["UserExtension"].isNull())
+			userListItemObject.userExtension = resultNodeUserListuserListItem["UserExtension"].asString();
+		if(!resultNodeUserListuserListItem["IsMute"].isNull())
+			userListItemObject.isMute = resultNodeUserListuserListItem["IsMute"].asString() == "true";
+		auto allMuteBy = value["MuteBy"]["muteBy"];
+		for (auto value : allMuteBy)
+			userListItemObject.muteBy.push_back(value.asString());
+		result_.userList.push_back(userListItemObject);
+	}
+
+}
+
+ListMessageGroupUserByIdResult::Result ListMessageGroupUserByIdResult::getResult()const
+{
+	return result_;
+}
+

+ 15 - 24
live/src/model/ListMessageGroupUserRequest.cc

@@ -34,31 +34,31 @@ void ListMessageGroupUserRequest::setSortType(int sortType) {
   setBodyParameter(std::string("SortType"), std::to_string(sortType));
   setBodyParameter(std::string("SortType"), std::to_string(sortType));
 }
 }
 
 
-std::string ListMessageGroupUserRequest::getGroupId() const {
-  return groupId_;
+int ListMessageGroupUserRequest::getPageNum() const {
+  return pageNum_;
 }
 }
 
 
-void ListMessageGroupUserRequest::setGroupId(const std::string &groupId) {
-  groupId_ = groupId;
-  setBodyParameter(std::string("GroupId"), groupId);
+void ListMessageGroupUserRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setBodyParameter(std::string("PageNum"), std::to_string(pageNum));
 }
 }
 
 
-int ListMessageGroupUserRequest::getType() const {
-  return type_;
+int ListMessageGroupUserRequest::getPageSize() const {
+  return pageSize_;
 }
 }
 
 
-void ListMessageGroupUserRequest::setType(int type) {
-  type_ = type;
-  setBodyParameter(std::string("Type"), std::to_string(type));
+void ListMessageGroupUserRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 }
 
 
-int ListMessageGroupUserRequest::getPageNum() const {
-  return pageNum_;
+std::string ListMessageGroupUserRequest::getGroupId() const {
+  return groupId_;
 }
 }
 
 
-void ListMessageGroupUserRequest::setPageNum(int pageNum) {
-  pageNum_ = pageNum;
-  setBodyParameter(std::string("PageNum"), std::to_string(pageNum));
+void ListMessageGroupUserRequest::setGroupId(const std::string &groupId) {
+  groupId_ = groupId;
+  setBodyParameter(std::string("GroupId"), groupId);
 }
 }
 
 
 std::string ListMessageGroupUserRequest::getAppId() const {
 std::string ListMessageGroupUserRequest::getAppId() const {
@@ -70,12 +70,3 @@ void ListMessageGroupUserRequest::setAppId(const std::string &appId) {
   setBodyParameter(std::string("AppId"), appId);
   setBodyParameter(std::string("AppId"), appId);
 }
 }
 
 
-int ListMessageGroupUserRequest::getPageSize() const {
-  return pageSize_;
-}
-
-void ListMessageGroupUserRequest::setPageSize(int pageSize) {
-  pageSize_ = pageSize;
-  setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
-}
-

+ 18 - 9
live/src/model/ListMessageRequest.cc

@@ -34,15 +34,6 @@ void ListMessageRequest::setSortType(int sortType) {
   setBodyParameter(std::string("SortType"), std::to_string(sortType));
   setBodyParameter(std::string("SortType"), std::to_string(sortType));
 }
 }
 
 
-std::string ListMessageRequest::getGroupId() const {
-  return groupId_;
-}
-
-void ListMessageRequest::setGroupId(const std::string &groupId) {
-  groupId_ = groupId;
-  setBodyParameter(std::string("GroupId"), groupId);
-}
-
 int ListMessageRequest::getType() const {
 int ListMessageRequest::getType() const {
   return type_;
   return type_;
 }
 }
@@ -70,3 +61,21 @@ void ListMessageRequest::setPageSize(int pageSize) {
   setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
   setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 }
 
 
+std::string ListMessageRequest::getGroupId() const {
+  return groupId_;
+}
+
+void ListMessageRequest::setGroupId(const std::string &groupId) {
+  groupId_ = groupId;
+  setBodyParameter(std::string("GroupId"), groupId);
+}
+
+std::string ListMessageRequest::getAppId() const {
+  return appId_;
+}
+
+void ListMessageRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 72 - 0
live/src/model/QueryMessageAppRequest.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/QueryMessageAppRequest.h>
+
+using AlibabaCloud::Live::Model::QueryMessageAppRequest;
+
+QueryMessageAppRequest::QueryMessageAppRequest()
+    : RpcServiceRequest("live", "2016-11-01", "QueryMessageApp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+QueryMessageAppRequest::~QueryMessageAppRequest() {}
+
+int QueryMessageAppRequest::getSortType() const {
+  return sortType_;
+}
+
+void QueryMessageAppRequest::setSortType(int sortType) {
+  sortType_ = sortType;
+  setBodyParameter(std::string("SortType"), std::to_string(sortType));
+}
+
+int QueryMessageAppRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void QueryMessageAppRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setBodyParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+std::string QueryMessageAppRequest::getAppName() const {
+  return appName_;
+}
+
+void QueryMessageAppRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setBodyParameter(std::string("AppName"), appName);
+}
+
+int QueryMessageAppRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QueryMessageAppRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string QueryMessageAppRequest::getAppId() const {
+  return appId_;
+}
+
+void QueryMessageAppRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 77 - 0
live/src/model/QueryMessageAppResult.cc

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/QueryMessageAppResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+QueryMessageAppResult::QueryMessageAppResult() :
+	ServiceResult()
+{}
+
+QueryMessageAppResult::QueryMessageAppResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryMessageAppResult::~QueryMessageAppResult()
+{}
+
+void QueryMessageAppResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allResultNode = value["Result"]["resultItem"];
+	for (auto valueResultresultItem : allResultNode)
+	{
+		ResultItem resultObject;
+		if(!valueResultresultItem["TotalCount"].isNull())
+			resultObject.totalCount = std::stoi(valueResultresultItem["TotalCount"].asString());
+		if(!valueResultresultItem["HasMore"].isNull())
+			resultObject.hasMore = valueResultresultItem["HasMore"].asString() == "true";
+		auto allAppListNode = valueResultresultItem["AppList"]["appListItem"];
+		for (auto valueResultresultItemAppListappListItem : allAppListNode)
+		{
+			ResultItem::AppListItem appListObject;
+			if(!valueResultresultItemAppListappListItem["AppId"].isNull())
+				appListObject.appId = valueResultresultItemAppListappListItem["AppId"].asString();
+			if(!valueResultresultItemAppListappListItem["AppName"].isNull())
+				appListObject.appName = valueResultresultItemAppListappListItem["AppName"].asString();
+			if(!valueResultresultItemAppListappListItem["CreateTime"].isNull())
+				appListObject.createTime = std::stol(valueResultresultItemAppListappListItem["CreateTime"].asString());
+			if(!valueResultresultItemAppListappListItem["Status"].isNull())
+				appListObject.status = std::stoi(valueResultresultItemAppListappListItem["Status"].asString());
+			if(!valueResultresultItemAppListappListItem["AppConfig"].isNull())
+				appListObject.appConfig = valueResultresultItemAppListappListItem["AppConfig"].asString();
+			if(!valueResultresultItemAppListappListItem["Extension"].isNull())
+				appListObject.extension = valueResultresultItemAppListappListItem["Extension"].asString();
+			resultObject.appList.push_back(appListObject);
+		}
+		result_.push_back(resultObject);
+	}
+
+}
+
+std::vector<QueryMessageAppResult::ResultItem> QueryMessageAppResult::getResult()const
+{
+	return result_;
+}
+

+ 45 - 0
live/src/model/RestartCasterRequest.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/RestartCasterRequest.h>
+
+using AlibabaCloud::Live::Model::RestartCasterRequest;
+
+RestartCasterRequest::RestartCasterRequest()
+    : RpcServiceRequest("live", "2016-11-01", "RestartCaster") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RestartCasterRequest::~RestartCasterRequest() {}
+
+std::string RestartCasterRequest::getCasterId() const {
+  return casterId_;
+}
+
+void RestartCasterRequest::setCasterId(const std::string &casterId) {
+  casterId_ = casterId;
+  setParameter(std::string("CasterId"), casterId);
+}
+
+long RestartCasterRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void RestartCasterRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

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

+ 72 - 0
live/src/model/SendLikeRequest.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/SendLikeRequest.h>
+
+using AlibabaCloud::Live::Model::SendLikeRequest;
+
+SendLikeRequest::SendLikeRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SendLike") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SendLikeRequest::~SendLikeRequest() {}
+
+std::string SendLikeRequest::getOperatorUserId() const {
+  return operatorUserId_;
+}
+
+void SendLikeRequest::setOperatorUserId(const std::string &operatorUserId) {
+  operatorUserId_ = operatorUserId;
+  setBodyParameter(std::string("OperatorUserId"), operatorUserId);
+}
+
+int SendLikeRequest::getBroadCastType() const {
+  return broadCastType_;
+}
+
+void SendLikeRequest::setBroadCastType(int broadCastType) {
+  broadCastType_ = broadCastType;
+  setBodyParameter(std::string("BroadCastType"), std::to_string(broadCastType));
+}
+
+std::string SendLikeRequest::getGroupId() const {
+  return groupId_;
+}
+
+void SendLikeRequest::setGroupId(const std::string &groupId) {
+  groupId_ = groupId;
+  setBodyParameter(std::string("GroupId"), groupId);
+}
+
+std::string SendLikeRequest::getCount() const {
+  return count_;
+}
+
+void SendLikeRequest::setCount(const std::string &count) {
+  count_ = count;
+  setBodyParameter(std::string("Count"), count);
+}
+
+std::string SendLikeRequest::getAppId() const {
+  return appId_;
+}
+
+void SendLikeRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 52 - 0
live/src/model/SendLikeResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/SendLikeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+SendLikeResult::SendLikeResult() :
+	ServiceResult()
+{}
+
+SendLikeResult::SendLikeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SendLikeResult::~SendLikeResult()
+{}
+
+void SendLikeResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["LikeCount"].isNull())
+		result_.likeCount = std::stoi(resultNode["LikeCount"].asString());
+
+}
+
+SendLikeResult::Result SendLikeResult::getResult()const
+{
+	return result_;
+}
+

+ 72 - 0
live/src/model/SendMessageToGroupRequest.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/SendMessageToGroupRequest.h>
+
+using AlibabaCloud::Live::Model::SendMessageToGroupRequest;
+
+SendMessageToGroupRequest::SendMessageToGroupRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SendMessageToGroup") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SendMessageToGroupRequest::~SendMessageToGroupRequest() {}
+
+std::string SendMessageToGroupRequest::getData() const {
+  return data_;
+}
+
+void SendMessageToGroupRequest::setData(const std::string &data) {
+  data_ = data;
+  setBodyParameter(std::string("Data"), data);
+}
+
+int SendMessageToGroupRequest::getType() const {
+  return type_;
+}
+
+void SendMessageToGroupRequest::setType(int type) {
+  type_ = type;
+  setBodyParameter(std::string("Type"), std::to_string(type));
+}
+
+std::string SendMessageToGroupRequest::getOperatorUserId() const {
+  return operatorUserId_;
+}
+
+void SendMessageToGroupRequest::setOperatorUserId(const std::string &operatorUserId) {
+  operatorUserId_ = operatorUserId;
+  setBodyParameter(std::string("OperatorUserId"), operatorUserId);
+}
+
+std::string SendMessageToGroupRequest::getGroupId() const {
+  return groupId_;
+}
+
+void SendMessageToGroupRequest::setGroupId(const std::string &groupId) {
+  groupId_ = groupId;
+  setBodyParameter(std::string("GroupId"), groupId);
+}
+
+std::string SendMessageToGroupRequest::getAppId() const {
+  return appId_;
+}
+
+void SendMessageToGroupRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 8 - 10
live/src/model/GetMessageUserInfoResult.cc → live/src/model/SendMessageToGroupResult.cc

@@ -14,40 +14,38 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#include <alibabacloud/live/model/GetMessageUserInfoResult.h>
+#include <alibabacloud/live/model/SendMessageToGroupResult.h>
 #include <json/json.h>
 #include <json/json.h>
 
 
 using namespace AlibabaCloud::Live;
 using namespace AlibabaCloud::Live;
 using namespace AlibabaCloud::Live::Model;
 using namespace AlibabaCloud::Live::Model;
 
 
-GetMessageUserInfoResult::GetMessageUserInfoResult() :
+SendMessageToGroupResult::SendMessageToGroupResult() :
 	ServiceResult()
 	ServiceResult()
 {}
 {}
 
 
-GetMessageUserInfoResult::GetMessageUserInfoResult(const std::string &payload) :
+SendMessageToGroupResult::SendMessageToGroupResult(const std::string &payload) :
 	ServiceResult()
 	ServiceResult()
 {
 {
 	parse(payload);
 	parse(payload);
 }
 }
 
 
-GetMessageUserInfoResult::~GetMessageUserInfoResult()
+SendMessageToGroupResult::~SendMessageToGroupResult()
 {}
 {}
 
 
-void GetMessageUserInfoResult::parse(const std::string &payload)
+void SendMessageToGroupResult::parse(const std::string &payload)
 {
 {
 	Json::Reader reader;
 	Json::Reader reader;
 	Json::Value value;
 	Json::Value value;
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
 	auto resultNode = value["Result"];
 	auto resultNode = value["Result"];
-	if(!resultNode["IsNewIMUser"].isNull())
-		result_.isNewIMUser = resultNode["IsNewIMUser"].asString() == "true";
-	if(!resultNode["HasOrderedIM"].isNull())
-		result_.hasOrderedIM = resultNode["HasOrderedIM"].asString() == "true";
+	if(!resultNode["MessageId"].isNull())
+		result_.messageId = resultNode["MessageId"].asString();
 
 
 }
 }
 
 
-GetMessageUserInfoResult::Result GetMessageUserInfoResult::getResult()const
+SendMessageToGroupResult::Result SendMessageToGroupResult::getResult()const
 {
 {
 	return result_;
 	return result_;
 }
 }

+ 27 - 0
live/src/model/SendMessageToGroupUsersRequest.cc

@@ -0,0 +1,27 @@
+/*
+ * 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/SendMessageToGroupUsersRequest.h>
+
+using AlibabaCloud::Live::Model::SendMessageToGroupUsersRequest;
+
+SendMessageToGroupUsersRequest::SendMessageToGroupUsersRequest()
+    : RpcServiceRequest("live", "2016-11-01", "SendMessageToGroupUsers") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SendMessageToGroupUsersRequest::~SendMessageToGroupUsersRequest() {}
+

+ 52 - 0
live/src/model/SendMessageToGroupUsersResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/SendMessageToGroupUsersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+SendMessageToGroupUsersResult::SendMessageToGroupUsersResult() :
+	ServiceResult()
+{}
+
+SendMessageToGroupUsersResult::SendMessageToGroupUsersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SendMessageToGroupUsersResult::~SendMessageToGroupUsersResult()
+{}
+
+void SendMessageToGroupUsersResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["MessageId"].isNull())
+		result_.messageId = resultNode["MessageId"].asString();
+
+}
+
+SendMessageToGroupUsersResult::Result SendMessageToGroupUsersResult::getResult()const
+{
+	return result_;
+}
+

+ 72 - 0
live/src/model/UpdateLiveSnapshotNotifyConfigRequest.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/UpdateLiveSnapshotNotifyConfigRequest.h>
+
+using AlibabaCloud::Live::Model::UpdateLiveSnapshotNotifyConfigRequest;
+
+UpdateLiveSnapshotNotifyConfigRequest::UpdateLiveSnapshotNotifyConfigRequest()
+    : RpcServiceRequest("live", "2016-11-01", "UpdateLiveSnapshotNotifyConfig") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateLiveSnapshotNotifyConfigRequest::~UpdateLiveSnapshotNotifyConfigRequest() {}
+
+std::string UpdateLiveSnapshotNotifyConfigRequest::getNotifyReqAuth() const {
+  return notifyReqAuth_;
+}
+
+void UpdateLiveSnapshotNotifyConfigRequest::setNotifyReqAuth(const std::string &notifyReqAuth) {
+  notifyReqAuth_ = notifyReqAuth;
+  setParameter(std::string("NotifyReqAuth"), notifyReqAuth);
+}
+
+std::string UpdateLiveSnapshotNotifyConfigRequest::getNotifyUrl() const {
+  return notifyUrl_;
+}
+
+void UpdateLiveSnapshotNotifyConfigRequest::setNotifyUrl(const std::string &notifyUrl) {
+  notifyUrl_ = notifyUrl;
+  setParameter(std::string("NotifyUrl"), notifyUrl);
+}
+
+std::string UpdateLiveSnapshotNotifyConfigRequest::getDomainName() const {
+  return domainName_;
+}
+
+void UpdateLiveSnapshotNotifyConfigRequest::setDomainName(const std::string &domainName) {
+  domainName_ = domainName;
+  setParameter(std::string("DomainName"), domainName);
+}
+
+long UpdateLiveSnapshotNotifyConfigRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void UpdateLiveSnapshotNotifyConfigRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string UpdateLiveSnapshotNotifyConfigRequest::getNotifyAuthKey() const {
+  return notifyAuthKey_;
+}
+
+void UpdateLiveSnapshotNotifyConfigRequest::setNotifyAuthKey(const std::string &notifyAuthKey) {
+  notifyAuthKey_ = notifyAuthKey;
+  setParameter(std::string("NotifyAuthKey"), notifyAuthKey);
+}
+

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

+ 67 - 0
live/src/model/UpdateMessageAppRequest.cc

@@ -0,0 +1,67 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/UpdateMessageAppRequest.h>
+
+using AlibabaCloud::Live::Model::UpdateMessageAppRequest;
+
+UpdateMessageAppRequest::UpdateMessageAppRequest()
+    : RpcServiceRequest("live", "2016-11-01", "UpdateMessageApp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateMessageAppRequest::~UpdateMessageAppRequest() {}
+
+std::map<std::string, std::string> UpdateMessageAppRequest::getExtension() const {
+  return extension_;
+}
+
+void UpdateMessageAppRequest::setExtension(const std::map<std::string, std::string> &extension) {
+  extension_ = extension;
+  for(auto const &iter1 : extension) {
+    setBodyParameter(std::string("Extension") + "." + iter1.first, iter1.second);
+  }
+}
+
+std::map<std::string, std::string> UpdateMessageAppRequest::getAppConfig() const {
+  return appConfig_;
+}
+
+void UpdateMessageAppRequest::setAppConfig(const std::map<std::string, std::string> &appConfig) {
+  appConfig_ = appConfig;
+  for(auto const &iter1 : appConfig) {
+    setBodyParameter(std::string("AppConfig") + "." + iter1.first, iter1.second);
+  }
+}
+
+std::string UpdateMessageAppRequest::getAppName() const {
+  return appName_;
+}
+
+void UpdateMessageAppRequest::setAppName(const std::string &appName) {
+  appName_ = appName;
+  setBodyParameter(std::string("AppName"), appName);
+}
+
+std::string UpdateMessageAppRequest::getAppId() const {
+  return appId_;
+}
+
+void UpdateMessageAppRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setBodyParameter(std::string("AppId"), appId);
+}
+

+ 6 - 6
live/src/model/CloseMessageGroupResult.cc → live/src/model/UpdateMessageAppResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  * limitations under the License.
  */
  */
 
 
-#include <alibabacloud/live/model/CloseMessageGroupResult.h>
+#include <alibabacloud/live/model/UpdateMessageAppResult.h>
 #include <json/json.h>
 #include <json/json.h>
 
 
 using namespace AlibabaCloud::Live;
 using namespace AlibabaCloud::Live;
 using namespace AlibabaCloud::Live::Model;
 using namespace AlibabaCloud::Live::Model;
 
 
-CloseMessageGroupResult::CloseMessageGroupResult() :
+UpdateMessageAppResult::UpdateMessageAppResult() :
 	ServiceResult()
 	ServiceResult()
 {}
 {}
 
 
-CloseMessageGroupResult::CloseMessageGroupResult(const std::string &payload) :
+UpdateMessageAppResult::UpdateMessageAppResult(const std::string &payload) :
 	ServiceResult()
 	ServiceResult()
 {
 {
 	parse(payload);
 	parse(payload);
 }
 }
 
 
-CloseMessageGroupResult::~CloseMessageGroupResult()
+UpdateMessageAppResult::~UpdateMessageAppResult()
 {}
 {}
 
 
-void CloseMessageGroupResult::parse(const std::string &payload)
+void UpdateMessageAppResult::parse(const std::string &payload)
 {
 {
 	Json::Reader reader;
 	Json::Reader reader;
 	Json::Value value;
 	Json::Value value;
@@ -45,7 +45,7 @@ void CloseMessageGroupResult::parse(const std::string &payload)
 
 
 }
 }
 
 
-CloseMessageGroupResult::Result CloseMessageGroupResult::getResult()const
+UpdateMessageAppResult::Result UpdateMessageAppResult::getResult()const
 {
 {
 	return result_;
 	return result_;
 }
 }

+ 56 - 0
live/src/model/UpdateMessageGroupRequest.cc

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

+ 52 - 0
live/src/model/UpdateMessageGroupResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/UpdateMessageGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+UpdateMessageGroupResult::UpdateMessageGroupResult() :
+	ServiceResult()
+{}
+
+UpdateMessageGroupResult::UpdateMessageGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateMessageGroupResult::~UpdateMessageGroupResult()
+{}
+
+void UpdateMessageGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["Success"].isNull())
+		result_.success = resultNode["Success"].asString() == "true";
+
+}
+
+UpdateMessageGroupResult::Result UpdateMessageGroupResult::getResult()const
+{
+	return result_;
+}
+