Browse Source

LIVE SDK Auto Released By renrang.yl,Version:1.22.3

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 8 years ago
parent
commit
317456660d
79 changed files with 4566 additions and 168 deletions
  1. 5 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 60 4
      live/CMakeLists.txt
  4. 120 8
      live/include/alibabacloud/live/LiveClient.h
  5. 1 1
      live/include/alibabacloud/live/model/AddCasterEpisodeGroupRequest.h
  6. 3 3
      live/include/alibabacloud/live/model/AddCasterLayoutRequest.h
  7. 4 4
      live/include/alibabacloud/live/model/AddCasterProgramRequest.h
  8. 9 9
      live/include/alibabacloud/live/model/AddCustomLiveStreamTranscodeRequest.h
  9. 1 1
      live/include/alibabacloud/live/model/AddLiveAppRecordConfigRequest.h
  10. 72 0
      live/include/alibabacloud/live/model/AddLiveDomainRequest.h
  11. 7 11
      live/include/alibabacloud/live/model/AddLiveDomainResult.h
  12. 63 0
      live/include/alibabacloud/live/model/BatchDeleteLiveDomainConfigsRequest.h
  13. 49 0
      live/include/alibabacloud/live/model/BatchDeleteLiveDomainConfigsResult.h
  14. 63 0
      live/include/alibabacloud/live/model/BatchSetLiveDomainConfigsRequest.h
  15. 49 0
      live/include/alibabacloud/live/model/BatchSetLiveDomainConfigsResult.h
  16. 60 0
      live/include/alibabacloud/live/model/DeleteLiveDomainRequest.h
  17. 49 0
      live/include/alibabacloud/live/model/DeleteLiveDomainResult.h
  18. 60 0
      live/include/alibabacloud/live/model/DeleteLiveSpecificConfigRequest.h
  19. 49 0
      live/include/alibabacloud/live/model/DeleteLiveSpecificConfigResult.h
  20. 57 0
      live/include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h
  21. 69 0
      live/include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataResult.h
  22. 57 0
      live/include/alibabacloud/live/model/DescribeLiveCertificateDetailRequest.h
  23. 57 0
      live/include/alibabacloud/live/model/DescribeLiveCertificateDetailResult.h
  24. 57 0
      live/include/alibabacloud/live/model/DescribeLiveCertificateListRequest.h
  25. 65 0
      live/include/alibabacloud/live/model/DescribeLiveCertificateListResult.h
  26. 60 0
      live/include/alibabacloud/live/model/DescribeLiveDomainConfigsRequest.h
  27. 63 0
      live/include/alibabacloud/live/model/DescribeLiveDomainConfigsResult.h
  28. 57 0
      live/include/alibabacloud/live/model/DescribeLiveDomainDetailRequest.h
  29. 66 0
      live/include/alibabacloud/live/model/DescribeLiveDomainDetailResult.h
  30. 54 0
      live/include/alibabacloud/live/model/DescribeLiveStreamCountRequest.h
  31. 64 0
      live/include/alibabacloud/live/model/DescribeLiveStreamCountResult.h
  32. 75 0
      live/include/alibabacloud/live/model/DescribeLiveUserDomainsRequest.h
  33. 68 0
      live/include/alibabacloud/live/model/DescribeLiveUserDomainsResult.h
  34. 3 3
      live/include/alibabacloud/live/model/ModifyCasterLayoutRequest.h
  35. 5 5
      live/include/alibabacloud/live/model/ModifyCasterProgramRequest.h
  36. 69 0
      live/include/alibabacloud/live/model/SetLiveDomainCertificateRequest.h
  37. 49 0
      live/include/alibabacloud/live/model/SetLiveDomainCertificateResult.h
  38. 9 9
      live/include/alibabacloud/live/model/StartLiveDomainRequest.h
  39. 49 0
      live/include/alibabacloud/live/model/StartLiveDomainResult.h
  40. 57 0
      live/include/alibabacloud/live/model/StopLiveDomainRequest.h
  41. 49 0
      live/include/alibabacloud/live/model/StopLiveDomainResult.h
  42. 531 27
      live/src/LiveClient.cc
  43. 1 1
      live/src/model/AddCasterEpisodeGroupRequest.cc
  44. 3 3
      live/src/model/AddCasterLayoutRequest.cc
  45. 4 4
      live/src/model/AddCasterProgramRequest.cc
  46. 30 30
      live/src/model/AddCustomLiveStreamTranscodeRequest.cc
  47. 1 1
      live/src/model/AddLiveAppRecordConfigRequest.cc
  48. 126 0
      live/src/model/AddLiveDomainRequest.cc
  49. 5 19
      live/src/model/AddLiveDomainResult.cc
  50. 93 0
      live/src/model/BatchDeleteLiveDomainConfigsRequest.cc
  51. 45 0
      live/src/model/BatchDeleteLiveDomainConfigsResult.cc
  52. 93 0
      live/src/model/BatchSetLiveDomainConfigsRequest.cc
  53. 45 0
      live/src/model/BatchSetLiveDomainConfigsResult.cc
  54. 82 0
      live/src/model/DeleteLiveDomainRequest.cc
  55. 45 0
      live/src/model/DeleteLiveDomainResult.cc
  56. 82 0
      live/src/model/DeleteLiveSpecificConfigRequest.cc
  57. 45 0
      live/src/model/DeleteLiveSpecificConfigResult.cc
  58. 71 0
      live/src/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.cc
  59. 85 0
      live/src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc
  60. 71 0
      live/src/model/DescribeLiveCertificateDetailRequest.cc
  61. 73 0
      live/src/model/DescribeLiveCertificateDetailResult.cc
  62. 71 0
      live/src/model/DescribeLiveCertificateListRequest.cc
  63. 71 0
      live/src/model/DescribeLiveCertificateListResult.cc
  64. 82 0
      live/src/model/DescribeLiveDomainConfigsRequest.cc
  65. 72 0
      live/src/model/DescribeLiveDomainConfigsResult.cc
  66. 71 0
      live/src/model/DescribeLiveDomainDetailRequest.cc
  67. 75 0
      live/src/model/DescribeLiveDomainDetailResult.cc
  68. 60 0
      live/src/model/DescribeLiveStreamCountRequest.cc
  69. 74 0
      live/src/model/DescribeLiveStreamCountResult.cc
  70. 137 0
      live/src/model/DescribeLiveUserDomainsRequest.cc
  71. 93 0
      live/src/model/DescribeLiveUserDomainsResult.cc
  72. 3 3
      live/src/model/ModifyCasterLayoutRequest.cc
  73. 5 5
      live/src/model/ModifyCasterProgramRequest.cc
  74. 115 0
      live/src/model/SetLiveDomainCertificateRequest.cc
  75. 45 0
      live/src/model/SetLiveDomainCertificateResult.cc
  76. 16 16
      live/src/model/StartLiveDomainRequest.cc
  77. 45 0
      live/src/model/StartLiveDomainResult.cc
  78. 71 0
      live/src/model/StopLiveDomainRequest.cc
  79. 45 0
      live/src/model/StopLiveDomainResult.cc

+ 5 - 0
CHANGELOG

@@ -1,3 +1,8 @@
+2018-08-15 Version: 1.22.3
+1, Add domain operation api AddLiveDomain,DeleteLiveDomain,DescribeLiveDomainDetail,StartLiveDomain,StopLiveDomain.
+2, Add certificate operation api DescribeLiveCertificateDetail,DescribeLiveCertificateList,SetLiveDomainCertificate.
+3, Add domain config api BatchSetLiveDomainConfigs,BatchDeleteLiveDomainConfigs,DeleteLiveSpecificConfig,DescribeLiveDomainConfigs.
+
 2018-08-15 Version: 1.22.2
 1, Update ecs tag to 20 maximum
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.22.2
+1.22.3

+ 60 - 4
live/CMakeLists.txt

@@ -37,6 +37,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveMixConfigResult.h
 	include/alibabacloud/live/model/CreateLiveStreamRecordIndexFilesRequest.h
 	include/alibabacloud/live/model/CreateLiveStreamRecordIndexFilesResult.h
+	include/alibabacloud/live/model/DeleteLiveSpecificConfigRequest.h
+	include/alibabacloud/live/model/DeleteLiveSpecificConfigResult.h
 	include/alibabacloud/live/model/UpdateCasterSceneConfigRequest.h
 	include/alibabacloud/live/model/UpdateCasterSceneConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoRequest.h
@@ -89,6 +91,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLiveRecordNotifyConfigResult.h
 	include/alibabacloud/live/model/AddLiveRecordNotifyConfigRequest.h
 	include/alibabacloud/live/model/AddLiveRecordNotifyConfigResult.h
+	include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h
+	include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataResult.h
 	include/alibabacloud/live/model/DeleteLiveStreamsNotifyUrlConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamOnlineUserNumRequest.h
@@ -101,6 +105,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveDomainRecordDataResult.h
 	include/alibabacloud/live/model/DeleteCasterVideoResourceRequest.h
 	include/alibabacloud/live/model/DeleteCasterVideoResourceResult.h
+	include/alibabacloud/live/model/DescribeLiveCertificateListRequest.h
+	include/alibabacloud/live/model/DescribeLiveCertificateListResult.h
 	include/alibabacloud/live/model/DeleteLiveAppSnapshotConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveAppSnapshotConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigRequest.h
@@ -109,6 +115,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLivePullStreamInfoConfigResult.h
 	include/alibabacloud/live/model/ModifyCasterProgramRequest.h
 	include/alibabacloud/live/model/ModifyCasterProgramResult.h
+	include/alibabacloud/live/model/DescribeLiveCertificateDetailRequest.h
+	include/alibabacloud/live/model/DescribeLiveCertificateDetailResult.h
 	include/alibabacloud/live/model/StartMixStreamsServiceRequest.h
 	include/alibabacloud/live/model/StartMixStreamsServiceResult.h
 	include/alibabacloud/live/model/DescribeLivePullStreamConfigRequest.h
@@ -117,6 +125,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/AddLivePullStreamInfoConfigRequest.h
 	include/alibabacloud/live/model/AddLivePullStreamInfoConfigResult.h
+	include/alibabacloud/live/model/StartLiveDomainRequest.h
+	include/alibabacloud/live/model/StartLiveDomainResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsBlockListRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsBlockListResult.h
 	include/alibabacloud/live/model/AddLiveStreamTranscodeRequest.h
@@ -129,12 +139,12 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLiveDetectNotifyConfigResult.h
 	include/alibabacloud/live/model/ModifyCasterVideoResourceRequest.h
 	include/alibabacloud/live/model/ModifyCasterVideoResourceResult.h
-	include/alibabacloud/live/model/ImagePornDetectionRequest.h
-	include/alibabacloud/live/model/ImagePornDetectionResult.h
 	include/alibabacloud/live/model/DescribeCasterStreamUrlRequest.h
 	include/alibabacloud/live/model/DescribeCasterStreamUrlResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryResult.h
+	include/alibabacloud/live/model/DescribeLiveStreamCountRequest.h
+	include/alibabacloud/live/model/DescribeLiveStreamCountResult.h
 	include/alibabacloud/live/model/StopCasterSceneRequest.h
 	include/alibabacloud/live/model/StopCasterSceneResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainSnapshotDataRequest.h
@@ -169,18 +179,30 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveSnapshotConfigResult.h
 	include/alibabacloud/live/model/DescribeCasterProgramRequest.h
 	include/alibabacloud/live/model/DescribeCasterProgramResult.h
+	include/alibabacloud/live/model/StopLiveDomainRequest.h
+	include/alibabacloud/live/model/StopLiveDomainResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamHistoryUserNumRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamHistoryUserNumResult.h
 	include/alibabacloud/live/model/AddLiveAppRecordConfigRequest.h
 	include/alibabacloud/live/model/AddLiveAppRecordConfigResult.h
 	include/alibabacloud/live/model/AddLiveRecordVodConfigRequest.h
 	include/alibabacloud/live/model/AddLiveRecordVodConfigResult.h
+	include/alibabacloud/live/model/BatchSetLiveDomainConfigsRequest.h
+	include/alibabacloud/live/model/BatchSetLiveDomainConfigsResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainDetailRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainDetailResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainConfigsRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainConfigsResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordIndexFilesRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordIndexFilesResult.h
 	include/alibabacloud/live/model/AddCasterProgramRequest.h
 	include/alibabacloud/live/model/AddCasterProgramResult.h
 	include/alibabacloud/live/model/DeleteLiveMixConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveMixConfigResult.h
+	include/alibabacloud/live/model/BatchDeleteLiveDomainConfigsRequest.h
+	include/alibabacloud/live/model/BatchDeleteLiveDomainConfigsResult.h
+	include/alibabacloud/live/model/SetLiveDomainCertificateRequest.h
+	include/alibabacloud/live/model/SetLiveDomainCertificateResult.h
 	include/alibabacloud/live/model/ForbidLiveStreamRequest.h
 	include/alibabacloud/live/model/ForbidLiveStreamResult.h
 	include/alibabacloud/live/model/DeleteCasterEpisodeGroupRequest.h
@@ -201,6 +223,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/RemoveMultipleStreamMixServiceResult.h
 	include/alibabacloud/live/model/DeleteCasterComponentRequest.h
 	include/alibabacloud/live/model/DeleteCasterComponentResult.h
+	include/alibabacloud/live/model/DeleteLiveDomainRequest.h
+	include/alibabacloud/live/model/DeleteLiveDomainResult.h
 	include/alibabacloud/live/model/SetCasterConfigRequest.h
 	include/alibabacloud/live/model/SetCasterConfigResult.h
 	include/alibabacloud/live/model/RealTimeRecordCommandRequest.h
@@ -211,6 +235,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/ResumeLiveStreamResult.h
 	include/alibabacloud/live/model/AddCasterLayoutRequest.h
 	include/alibabacloud/live/model/AddCasterLayoutResult.h
+	include/alibabacloud/live/model/DescribeLiveUserDomainsRequest.h
+	include/alibabacloud/live/model/DescribeLiveUserDomainsResult.h
 	include/alibabacloud/live/model/ModifyCasterLayoutRequest.h
 	include/alibabacloud/live/model/ModifyCasterLayoutResult.h
 	include/alibabacloud/live/model/StopCasterRequest.h
@@ -221,6 +247,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveSnapshotDetectPornConfigResult.h
 	include/alibabacloud/live/model/DeleteCasterSceneConfigRequest.h
 	include/alibabacloud/live/model/DeleteCasterSceneConfigResult.h
+	include/alibabacloud/live/model/AddLiveDomainRequest.h
+	include/alibabacloud/live/model/AddLiveDomainResult.h
 	include/alibabacloud/live/model/DeleteLiveAppRecordConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveAppRecordConfigResult.h
 	include/alibabacloud/live/model/DeleteCasterRequest.h
@@ -254,6 +282,8 @@ set(live_src
 	src/model/DescribeLiveMixConfigResult.cc
 	src/model/CreateLiveStreamRecordIndexFilesRequest.cc
 	src/model/CreateLiveStreamRecordIndexFilesResult.cc
+	src/model/DeleteLiveSpecificConfigRequest.cc
+	src/model/DeleteLiveSpecificConfigResult.cc
 	src/model/UpdateCasterSceneConfigRequest.cc
 	src/model/UpdateCasterSceneConfigResult.cc
 	src/model/DescribeLiveStreamTranscodeInfoRequest.cc
@@ -306,6 +336,8 @@ set(live_src
 	src/model/DeleteLiveRecordNotifyConfigResult.cc
 	src/model/AddLiveRecordNotifyConfigRequest.cc
 	src/model/AddLiveRecordNotifyConfigResult.cc
+	src/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.cc
+	src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc
 	src/model/DeleteLiveStreamsNotifyUrlConfigRequest.cc
 	src/model/DeleteLiveStreamsNotifyUrlConfigResult.cc
 	src/model/DescribeLiveStreamOnlineUserNumRequest.cc
@@ -318,6 +350,8 @@ set(live_src
 	src/model/DescribeLiveDomainRecordDataResult.cc
 	src/model/DeleteCasterVideoResourceRequest.cc
 	src/model/DeleteCasterVideoResourceResult.cc
+	src/model/DescribeLiveCertificateListRequest.cc
+	src/model/DescribeLiveCertificateListResult.cc
 	src/model/DeleteLiveAppSnapshotConfigRequest.cc
 	src/model/DeleteLiveAppSnapshotConfigResult.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigRequest.cc
@@ -326,6 +360,8 @@ set(live_src
 	src/model/DeleteLivePullStreamInfoConfigResult.cc
 	src/model/ModifyCasterProgramRequest.cc
 	src/model/ModifyCasterProgramResult.cc
+	src/model/DescribeLiveCertificateDetailRequest.cc
+	src/model/DescribeLiveCertificateDetailResult.cc
 	src/model/StartMixStreamsServiceRequest.cc
 	src/model/StartMixStreamsServiceResult.cc
 	src/model/DescribeLivePullStreamConfigRequest.cc
@@ -334,6 +370,8 @@ set(live_src
 	src/model/SetLiveStreamsNotifyUrlConfigResult.cc
 	src/model/AddLivePullStreamInfoConfigRequest.cc
 	src/model/AddLivePullStreamInfoConfigResult.cc
+	src/model/StartLiveDomainRequest.cc
+	src/model/StartLiveDomainResult.cc
 	src/model/DescribeLiveStreamsBlockListRequest.cc
 	src/model/DescribeLiveStreamsBlockListResult.cc
 	src/model/AddLiveStreamTranscodeRequest.cc
@@ -346,12 +384,12 @@ set(live_src
 	src/model/UpdateLiveDetectNotifyConfigResult.cc
 	src/model/ModifyCasterVideoResourceRequest.cc
 	src/model/ModifyCasterVideoResourceResult.cc
-	src/model/ImagePornDetectionRequest.cc
-	src/model/ImagePornDetectionResult.cc
 	src/model/DescribeCasterStreamUrlRequest.cc
 	src/model/DescribeCasterStreamUrlResult.cc
 	src/model/DescribeLiveStreamsControlHistoryRequest.cc
 	src/model/DescribeLiveStreamsControlHistoryResult.cc
+	src/model/DescribeLiveStreamCountRequest.cc
+	src/model/DescribeLiveStreamCountResult.cc
 	src/model/StopCasterSceneRequest.cc
 	src/model/StopCasterSceneResult.cc
 	src/model/DescribeLiveDomainSnapshotDataRequest.cc
@@ -386,18 +424,30 @@ set(live_src
 	src/model/DescribeLiveSnapshotConfigResult.cc
 	src/model/DescribeCasterProgramRequest.cc
 	src/model/DescribeCasterProgramResult.cc
+	src/model/StopLiveDomainRequest.cc
+	src/model/StopLiveDomainResult.cc
 	src/model/DescribeLiveStreamHistoryUserNumRequest.cc
 	src/model/DescribeLiveStreamHistoryUserNumResult.cc
 	src/model/AddLiveAppRecordConfigRequest.cc
 	src/model/AddLiveAppRecordConfigResult.cc
 	src/model/AddLiveRecordVodConfigRequest.cc
 	src/model/AddLiveRecordVodConfigResult.cc
+	src/model/BatchSetLiveDomainConfigsRequest.cc
+	src/model/BatchSetLiveDomainConfigsResult.cc
+	src/model/DescribeLiveDomainDetailRequest.cc
+	src/model/DescribeLiveDomainDetailResult.cc
+	src/model/DescribeLiveDomainConfigsRequest.cc
+	src/model/DescribeLiveDomainConfigsResult.cc
 	src/model/DescribeLiveStreamRecordIndexFilesRequest.cc
 	src/model/DescribeLiveStreamRecordIndexFilesResult.cc
 	src/model/AddCasterProgramRequest.cc
 	src/model/AddCasterProgramResult.cc
 	src/model/DeleteLiveMixConfigRequest.cc
 	src/model/DeleteLiveMixConfigResult.cc
+	src/model/BatchDeleteLiveDomainConfigsRequest.cc
+	src/model/BatchDeleteLiveDomainConfigsResult.cc
+	src/model/SetLiveDomainCertificateRequest.cc
+	src/model/SetLiveDomainCertificateResult.cc
 	src/model/ForbidLiveStreamRequest.cc
 	src/model/ForbidLiveStreamResult.cc
 	src/model/DeleteCasterEpisodeGroupRequest.cc
@@ -418,6 +468,8 @@ set(live_src
 	src/model/RemoveMultipleStreamMixServiceResult.cc
 	src/model/DeleteCasterComponentRequest.cc
 	src/model/DeleteCasterComponentResult.cc
+	src/model/DeleteLiveDomainRequest.cc
+	src/model/DeleteLiveDomainResult.cc
 	src/model/SetCasterConfigRequest.cc
 	src/model/SetCasterConfigResult.cc
 	src/model/RealTimeRecordCommandRequest.cc
@@ -428,6 +480,8 @@ set(live_src
 	src/model/ResumeLiveStreamResult.cc
 	src/model/AddCasterLayoutRequest.cc
 	src/model/AddCasterLayoutResult.cc
+	src/model/DescribeLiveUserDomainsRequest.cc
+	src/model/DescribeLiveUserDomainsResult.cc
 	src/model/ModifyCasterLayoutRequest.cc
 	src/model/ModifyCasterLayoutResult.cc
 	src/model/StopCasterRequest.cc
@@ -438,6 +492,8 @@ set(live_src
 	src/model/DescribeLiveSnapshotDetectPornConfigResult.cc
 	src/model/DeleteCasterSceneConfigRequest.cc
 	src/model/DeleteCasterSceneConfigResult.cc
+	src/model/AddLiveDomainRequest.cc
+	src/model/AddLiveDomainResult.cc
 	src/model/DeleteLiveAppRecordConfigRequest.cc
 	src/model/DeleteLiveAppRecordConfigResult.cc
 	src/model/DeleteCasterRequest.cc

+ 120 - 8
live/include/alibabacloud/live/LiveClient.h

@@ -38,6 +38,8 @@
 #include "model/DescribeLiveMixConfigResult.h"
 #include "model/CreateLiveStreamRecordIndexFilesRequest.h"
 #include "model/CreateLiveStreamRecordIndexFilesResult.h"
+#include "model/DeleteLiveSpecificConfigRequest.h"
+#include "model/DeleteLiveSpecificConfigResult.h"
 #include "model/UpdateCasterSceneConfigRequest.h"
 #include "model/UpdateCasterSceneConfigResult.h"
 #include "model/DescribeLiveStreamTranscodeInfoRequest.h"
@@ -90,6 +92,8 @@
 #include "model/DeleteLiveRecordNotifyConfigResult.h"
 #include "model/AddLiveRecordNotifyConfigRequest.h"
 #include "model/AddLiveRecordNotifyConfigResult.h"
+#include "model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h"
+#include "model/DescribeHlsLiveStreamRealTimeBpsDataResult.h"
 #include "model/DeleteLiveStreamsNotifyUrlConfigRequest.h"
 #include "model/DeleteLiveStreamsNotifyUrlConfigResult.h"
 #include "model/DescribeLiveStreamOnlineUserNumRequest.h"
@@ -102,6 +106,8 @@
 #include "model/DescribeLiveDomainRecordDataResult.h"
 #include "model/DeleteCasterVideoResourceRequest.h"
 #include "model/DeleteCasterVideoResourceResult.h"
+#include "model/DescribeLiveCertificateListRequest.h"
+#include "model/DescribeLiveCertificateListResult.h"
 #include "model/DeleteLiveAppSnapshotConfigRequest.h"
 #include "model/DeleteLiveAppSnapshotConfigResult.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigRequest.h"
@@ -110,6 +116,8 @@
 #include "model/DeleteLivePullStreamInfoConfigResult.h"
 #include "model/ModifyCasterProgramRequest.h"
 #include "model/ModifyCasterProgramResult.h"
+#include "model/DescribeLiveCertificateDetailRequest.h"
+#include "model/DescribeLiveCertificateDetailResult.h"
 #include "model/StartMixStreamsServiceRequest.h"
 #include "model/StartMixStreamsServiceResult.h"
 #include "model/DescribeLivePullStreamConfigRequest.h"
@@ -118,6 +126,8 @@
 #include "model/SetLiveStreamsNotifyUrlConfigResult.h"
 #include "model/AddLivePullStreamInfoConfigRequest.h"
 #include "model/AddLivePullStreamInfoConfigResult.h"
+#include "model/StartLiveDomainRequest.h"
+#include "model/StartLiveDomainResult.h"
 #include "model/DescribeLiveStreamsBlockListRequest.h"
 #include "model/DescribeLiveStreamsBlockListResult.h"
 #include "model/AddLiveStreamTranscodeRequest.h"
@@ -130,12 +140,12 @@
 #include "model/UpdateLiveDetectNotifyConfigResult.h"
 #include "model/ModifyCasterVideoResourceRequest.h"
 #include "model/ModifyCasterVideoResourceResult.h"
-#include "model/ImagePornDetectionRequest.h"
-#include "model/ImagePornDetectionResult.h"
 #include "model/DescribeCasterStreamUrlRequest.h"
 #include "model/DescribeCasterStreamUrlResult.h"
 #include "model/DescribeLiveStreamsControlHistoryRequest.h"
 #include "model/DescribeLiveStreamsControlHistoryResult.h"
+#include "model/DescribeLiveStreamCountRequest.h"
+#include "model/DescribeLiveStreamCountResult.h"
 #include "model/StopCasterSceneRequest.h"
 #include "model/StopCasterSceneResult.h"
 #include "model/DescribeLiveDomainSnapshotDataRequest.h"
@@ -170,18 +180,30 @@
 #include "model/DescribeLiveSnapshotConfigResult.h"
 #include "model/DescribeCasterProgramRequest.h"
 #include "model/DescribeCasterProgramResult.h"
+#include "model/StopLiveDomainRequest.h"
+#include "model/StopLiveDomainResult.h"
 #include "model/DescribeLiveStreamHistoryUserNumRequest.h"
 #include "model/DescribeLiveStreamHistoryUserNumResult.h"
 #include "model/AddLiveAppRecordConfigRequest.h"
 #include "model/AddLiveAppRecordConfigResult.h"
 #include "model/AddLiveRecordVodConfigRequest.h"
 #include "model/AddLiveRecordVodConfigResult.h"
+#include "model/BatchSetLiveDomainConfigsRequest.h"
+#include "model/BatchSetLiveDomainConfigsResult.h"
+#include "model/DescribeLiveDomainDetailRequest.h"
+#include "model/DescribeLiveDomainDetailResult.h"
+#include "model/DescribeLiveDomainConfigsRequest.h"
+#include "model/DescribeLiveDomainConfigsResult.h"
 #include "model/DescribeLiveStreamRecordIndexFilesRequest.h"
 #include "model/DescribeLiveStreamRecordIndexFilesResult.h"
 #include "model/AddCasterProgramRequest.h"
 #include "model/AddCasterProgramResult.h"
 #include "model/DeleteLiveMixConfigRequest.h"
 #include "model/DeleteLiveMixConfigResult.h"
+#include "model/BatchDeleteLiveDomainConfigsRequest.h"
+#include "model/BatchDeleteLiveDomainConfigsResult.h"
+#include "model/SetLiveDomainCertificateRequest.h"
+#include "model/SetLiveDomainCertificateResult.h"
 #include "model/ForbidLiveStreamRequest.h"
 #include "model/ForbidLiveStreamResult.h"
 #include "model/DeleteCasterEpisodeGroupRequest.h"
@@ -202,6 +224,8 @@
 #include "model/RemoveMultipleStreamMixServiceResult.h"
 #include "model/DeleteCasterComponentRequest.h"
 #include "model/DeleteCasterComponentResult.h"
+#include "model/DeleteLiveDomainRequest.h"
+#include "model/DeleteLiveDomainResult.h"
 #include "model/SetCasterConfigRequest.h"
 #include "model/SetCasterConfigResult.h"
 #include "model/RealTimeRecordCommandRequest.h"
@@ -212,6 +236,8 @@
 #include "model/ResumeLiveStreamResult.h"
 #include "model/AddCasterLayoutRequest.h"
 #include "model/AddCasterLayoutResult.h"
+#include "model/DescribeLiveUserDomainsRequest.h"
+#include "model/DescribeLiveUserDomainsResult.h"
 #include "model/ModifyCasterLayoutRequest.h"
 #include "model/ModifyCasterLayoutResult.h"
 #include "model/StopCasterRequest.h"
@@ -222,6 +248,8 @@
 #include "model/DescribeLiveSnapshotDetectPornConfigResult.h"
 #include "model/DeleteCasterSceneConfigRequest.h"
 #include "model/DeleteCasterSceneConfigResult.h"
+#include "model/AddLiveDomainRequest.h"
+#include "model/AddLiveDomainResult.h"
 #include "model/DeleteLiveAppRecordConfigRequest.h"
 #include "model/DeleteLiveAppRecordConfigResult.h"
 #include "model/DeleteCasterRequest.h"
@@ -269,6 +297,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateLiveStreamRecordIndexFilesResult> CreateLiveStreamRecordIndexFilesOutcome;
 			typedef std::future<CreateLiveStreamRecordIndexFilesOutcome> CreateLiveStreamRecordIndexFilesOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveStreamRecordIndexFilesRequest&, const CreateLiveStreamRecordIndexFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveStreamRecordIndexFilesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveSpecificConfigResult> DeleteLiveSpecificConfigOutcome;
+			typedef std::future<DeleteLiveSpecificConfigOutcome> DeleteLiveSpecificConfigOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveSpecificConfigRequest&, const DeleteLiveSpecificConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveSpecificConfigAsyncHandler;
 			typedef Outcome<Error, Model::UpdateCasterSceneConfigResult> UpdateCasterSceneConfigOutcome;
 			typedef std::future<UpdateCasterSceneConfigOutcome> UpdateCasterSceneConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateCasterSceneConfigRequest&, const UpdateCasterSceneConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCasterSceneConfigAsyncHandler;
@@ -347,6 +378,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddLiveRecordNotifyConfigResult> AddLiveRecordNotifyConfigOutcome;
 			typedef std::future<AddLiveRecordNotifyConfigOutcome> AddLiveRecordNotifyConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveRecordNotifyConfigRequest&, const AddLiveRecordNotifyConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveRecordNotifyConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeHlsLiveStreamRealTimeBpsDataResult> DescribeHlsLiveStreamRealTimeBpsDataOutcome;
+			typedef std::future<DescribeHlsLiveStreamRealTimeBpsDataOutcome> DescribeHlsLiveStreamRealTimeBpsDataOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeHlsLiveStreamRealTimeBpsDataRequest&, const DescribeHlsLiveStreamRealTimeBpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeHlsLiveStreamRealTimeBpsDataAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveStreamsNotifyUrlConfigResult> DeleteLiveStreamsNotifyUrlConfigOutcome;
 			typedef std::future<DeleteLiveStreamsNotifyUrlConfigOutcome> DeleteLiveStreamsNotifyUrlConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveStreamsNotifyUrlConfigRequest&, const DeleteLiveStreamsNotifyUrlConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveStreamsNotifyUrlConfigAsyncHandler;
@@ -365,6 +399,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCasterVideoResourceResult> DeleteCasterVideoResourceOutcome;
 			typedef std::future<DeleteCasterVideoResourceOutcome> DeleteCasterVideoResourceOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteCasterVideoResourceRequest&, const DeleteCasterVideoResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCasterVideoResourceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveCertificateListResult> DescribeLiveCertificateListOutcome;
+			typedef std::future<DescribeLiveCertificateListOutcome> DescribeLiveCertificateListOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveCertificateListRequest&, const DescribeLiveCertificateListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveCertificateListAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveAppSnapshotConfigResult> DeleteLiveAppSnapshotConfigOutcome;
 			typedef std::future<DeleteLiveAppSnapshotConfigOutcome> DeleteLiveAppSnapshotConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAppSnapshotConfigRequest&, const DeleteLiveAppSnapshotConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAppSnapshotConfigAsyncHandler;
@@ -377,6 +414,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyCasterProgramResult> ModifyCasterProgramOutcome;
 			typedef std::future<ModifyCasterProgramOutcome> ModifyCasterProgramOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ModifyCasterProgramRequest&, const ModifyCasterProgramOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCasterProgramAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveCertificateDetailResult> DescribeLiveCertificateDetailOutcome;
+			typedef std::future<DescribeLiveCertificateDetailOutcome> DescribeLiveCertificateDetailOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveCertificateDetailRequest&, const DescribeLiveCertificateDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveCertificateDetailAsyncHandler;
 			typedef Outcome<Error, Model::StartMixStreamsServiceResult> StartMixStreamsServiceOutcome;
 			typedef std::future<StartMixStreamsServiceOutcome> StartMixStreamsServiceOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StartMixStreamsServiceRequest&, const StartMixStreamsServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartMixStreamsServiceAsyncHandler;
@@ -389,6 +429,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddLivePullStreamInfoConfigResult> AddLivePullStreamInfoConfigOutcome;
 			typedef std::future<AddLivePullStreamInfoConfigOutcome> AddLivePullStreamInfoConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddLivePullStreamInfoConfigRequest&, const AddLivePullStreamInfoConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLivePullStreamInfoConfigAsyncHandler;
+			typedef Outcome<Error, Model::StartLiveDomainResult> StartLiveDomainOutcome;
+			typedef std::future<StartLiveDomainOutcome> StartLiveDomainOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::StartLiveDomainRequest&, const StartLiveDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartLiveDomainAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamsBlockListResult> DescribeLiveStreamsBlockListOutcome;
 			typedef std::future<DescribeLiveStreamsBlockListOutcome> DescribeLiveStreamsBlockListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsBlockListRequest&, const DescribeLiveStreamsBlockListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsBlockListAsyncHandler;
@@ -407,15 +450,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyCasterVideoResourceResult> ModifyCasterVideoResourceOutcome;
 			typedef std::future<ModifyCasterVideoResourceOutcome> ModifyCasterVideoResourceOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ModifyCasterVideoResourceRequest&, const ModifyCasterVideoResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCasterVideoResourceAsyncHandler;
-			typedef Outcome<Error, Model::ImagePornDetectionResult> ImagePornDetectionOutcome;
-			typedef std::future<ImagePornDetectionOutcome> ImagePornDetectionOutcomeCallable;
-			typedef std::function<void(const LiveClient*, const Model::ImagePornDetectionRequest&, const ImagePornDetectionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImagePornDetectionAsyncHandler;
 			typedef Outcome<Error, Model::DescribeCasterStreamUrlResult> DescribeCasterStreamUrlOutcome;
 			typedef std::future<DescribeCasterStreamUrlOutcome> DescribeCasterStreamUrlOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeCasterStreamUrlRequest&, const DescribeCasterStreamUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCasterStreamUrlAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamsControlHistoryResult> DescribeLiveStreamsControlHistoryOutcome;
 			typedef std::future<DescribeLiveStreamsControlHistoryOutcome> DescribeLiveStreamsControlHistoryOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsControlHistoryRequest&, const DescribeLiveStreamsControlHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsControlHistoryAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveStreamCountResult> DescribeLiveStreamCountOutcome;
+			typedef std::future<DescribeLiveStreamCountOutcome> DescribeLiveStreamCountOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamCountRequest&, const DescribeLiveStreamCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamCountAsyncHandler;
 			typedef Outcome<Error, Model::StopCasterSceneResult> StopCasterSceneOutcome;
 			typedef std::future<StopCasterSceneOutcome> StopCasterSceneOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::StopCasterSceneRequest&, const StopCasterSceneOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopCasterSceneAsyncHandler;
@@ -467,6 +510,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeCasterProgramResult> DescribeCasterProgramOutcome;
 			typedef std::future<DescribeCasterProgramOutcome> DescribeCasterProgramOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeCasterProgramRequest&, const DescribeCasterProgramOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCasterProgramAsyncHandler;
+			typedef Outcome<Error, Model::StopLiveDomainResult> StopLiveDomainOutcome;
+			typedef std::future<StopLiveDomainOutcome> StopLiveDomainOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::StopLiveDomainRequest&, const StopLiveDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopLiveDomainAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamHistoryUserNumResult> DescribeLiveStreamHistoryUserNumOutcome;
 			typedef std::future<DescribeLiveStreamHistoryUserNumOutcome> DescribeLiveStreamHistoryUserNumOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamHistoryUserNumRequest&, const DescribeLiveStreamHistoryUserNumOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamHistoryUserNumAsyncHandler;
@@ -476,6 +522,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddLiveRecordVodConfigResult> AddLiveRecordVodConfigOutcome;
 			typedef std::future<AddLiveRecordVodConfigOutcome> AddLiveRecordVodConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddLiveRecordVodConfigRequest&, const AddLiveRecordVodConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveRecordVodConfigAsyncHandler;
+			typedef Outcome<Error, Model::BatchSetLiveDomainConfigsResult> BatchSetLiveDomainConfigsOutcome;
+			typedef std::future<BatchSetLiveDomainConfigsOutcome> BatchSetLiveDomainConfigsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::BatchSetLiveDomainConfigsRequest&, const BatchSetLiveDomainConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchSetLiveDomainConfigsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainDetailResult> DescribeLiveDomainDetailOutcome;
+			typedef std::future<DescribeLiveDomainDetailOutcome> DescribeLiveDomainDetailOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainDetailRequest&, const DescribeLiveDomainDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainConfigsResult> DescribeLiveDomainConfigsOutcome;
+			typedef std::future<DescribeLiveDomainConfigsOutcome> DescribeLiveDomainConfigsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainConfigsRequest&, const DescribeLiveDomainConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainConfigsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamRecordIndexFilesResult> DescribeLiveStreamRecordIndexFilesOutcome;
 			typedef std::future<DescribeLiveStreamRecordIndexFilesOutcome> DescribeLiveStreamRecordIndexFilesOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamRecordIndexFilesRequest&, const DescribeLiveStreamRecordIndexFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamRecordIndexFilesAsyncHandler;
@@ -485,6 +540,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLiveMixConfigResult> DeleteLiveMixConfigOutcome;
 			typedef std::future<DeleteLiveMixConfigOutcome> DeleteLiveMixConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveMixConfigRequest&, const DeleteLiveMixConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveMixConfigAsyncHandler;
+			typedef Outcome<Error, Model::BatchDeleteLiveDomainConfigsResult> BatchDeleteLiveDomainConfigsOutcome;
+			typedef std::future<BatchDeleteLiveDomainConfigsOutcome> BatchDeleteLiveDomainConfigsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::BatchDeleteLiveDomainConfigsRequest&, const BatchDeleteLiveDomainConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchDeleteLiveDomainConfigsAsyncHandler;
+			typedef Outcome<Error, Model::SetLiveDomainCertificateResult> SetLiveDomainCertificateOutcome;
+			typedef std::future<SetLiveDomainCertificateOutcome> SetLiveDomainCertificateOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::SetLiveDomainCertificateRequest&, const SetLiveDomainCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetLiveDomainCertificateAsyncHandler;
 			typedef Outcome<Error, Model::ForbidLiveStreamResult> ForbidLiveStreamOutcome;
 			typedef std::future<ForbidLiveStreamOutcome> ForbidLiveStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ForbidLiveStreamRequest&, const ForbidLiveStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ForbidLiveStreamAsyncHandler;
@@ -515,6 +576,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCasterComponentResult> DeleteCasterComponentOutcome;
 			typedef std::future<DeleteCasterComponentOutcome> DeleteCasterComponentOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteCasterComponentRequest&, const DeleteCasterComponentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCasterComponentAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveDomainResult> DeleteLiveDomainOutcome;
+			typedef std::future<DeleteLiveDomainOutcome> DeleteLiveDomainOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveDomainRequest&, const DeleteLiveDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveDomainAsyncHandler;
 			typedef Outcome<Error, Model::SetCasterConfigResult> SetCasterConfigOutcome;
 			typedef std::future<SetCasterConfigOutcome> SetCasterConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::SetCasterConfigRequest&, const SetCasterConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCasterConfigAsyncHandler;
@@ -530,6 +594,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AddCasterLayoutResult> AddCasterLayoutOutcome;
 			typedef std::future<AddCasterLayoutOutcome> AddCasterLayoutOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::AddCasterLayoutRequest&, const AddCasterLayoutOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddCasterLayoutAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveUserDomainsResult> DescribeLiveUserDomainsOutcome;
+			typedef std::future<DescribeLiveUserDomainsOutcome> DescribeLiveUserDomainsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveUserDomainsRequest&, const DescribeLiveUserDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveUserDomainsAsyncHandler;
 			typedef Outcome<Error, Model::ModifyCasterLayoutResult> ModifyCasterLayoutOutcome;
 			typedef std::future<ModifyCasterLayoutOutcome> ModifyCasterLayoutOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ModifyCasterLayoutRequest&, const ModifyCasterLayoutOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCasterLayoutAsyncHandler;
@@ -545,6 +612,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCasterSceneConfigResult> DeleteCasterSceneConfigOutcome;
 			typedef std::future<DeleteCasterSceneConfigOutcome> DeleteCasterSceneConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteCasterSceneConfigRequest&, const DeleteCasterSceneConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCasterSceneConfigAsyncHandler;
+			typedef Outcome<Error, Model::AddLiveDomainResult> AddLiveDomainOutcome;
+			typedef std::future<AddLiveDomainOutcome> AddLiveDomainOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::AddLiveDomainRequest&, const AddLiveDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddLiveDomainAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveAppRecordConfigResult> DeleteLiveAppRecordConfigOutcome;
 			typedef std::future<DeleteLiveAppRecordConfigOutcome> DeleteLiveAppRecordConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAppRecordConfigRequest&, const DeleteLiveAppRecordConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAppRecordConfigAsyncHandler;
@@ -595,6 +665,9 @@ namespace AlibabaCloud
 			CreateLiveStreamRecordIndexFilesOutcome createLiveStreamRecordIndexFiles(const Model::CreateLiveStreamRecordIndexFilesRequest &request)const;
 			void createLiveStreamRecordIndexFilesAsync(const Model::CreateLiveStreamRecordIndexFilesRequest& request, const CreateLiveStreamRecordIndexFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLiveStreamRecordIndexFilesOutcomeCallable createLiveStreamRecordIndexFilesCallable(const Model::CreateLiveStreamRecordIndexFilesRequest& request) const;
+			DeleteLiveSpecificConfigOutcome deleteLiveSpecificConfig(const Model::DeleteLiveSpecificConfigRequest &request)const;
+			void deleteLiveSpecificConfigAsync(const Model::DeleteLiveSpecificConfigRequest& request, const DeleteLiveSpecificConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveSpecificConfigOutcomeCallable deleteLiveSpecificConfigCallable(const Model::DeleteLiveSpecificConfigRequest& request) const;
 			UpdateCasterSceneConfigOutcome updateCasterSceneConfig(const Model::UpdateCasterSceneConfigRequest &request)const;
 			void updateCasterSceneConfigAsync(const Model::UpdateCasterSceneConfigRequest& request, const UpdateCasterSceneConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCasterSceneConfigOutcomeCallable updateCasterSceneConfigCallable(const Model::UpdateCasterSceneConfigRequest& request) const;
@@ -673,6 +746,9 @@ namespace AlibabaCloud
 			AddLiveRecordNotifyConfigOutcome addLiveRecordNotifyConfig(const Model::AddLiveRecordNotifyConfigRequest &request)const;
 			void addLiveRecordNotifyConfigAsync(const Model::AddLiveRecordNotifyConfigRequest& request, const AddLiveRecordNotifyConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddLiveRecordNotifyConfigOutcomeCallable addLiveRecordNotifyConfigCallable(const Model::AddLiveRecordNotifyConfigRequest& request) const;
+			DescribeHlsLiveStreamRealTimeBpsDataOutcome describeHlsLiveStreamRealTimeBpsData(const Model::DescribeHlsLiveStreamRealTimeBpsDataRequest &request)const;
+			void describeHlsLiveStreamRealTimeBpsDataAsync(const Model::DescribeHlsLiveStreamRealTimeBpsDataRequest& request, const DescribeHlsLiveStreamRealTimeBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeHlsLiveStreamRealTimeBpsDataOutcomeCallable describeHlsLiveStreamRealTimeBpsDataCallable(const Model::DescribeHlsLiveStreamRealTimeBpsDataRequest& request) const;
 			DeleteLiveStreamsNotifyUrlConfigOutcome deleteLiveStreamsNotifyUrlConfig(const Model::DeleteLiveStreamsNotifyUrlConfigRequest &request)const;
 			void deleteLiveStreamsNotifyUrlConfigAsync(const Model::DeleteLiveStreamsNotifyUrlConfigRequest& request, const DeleteLiveStreamsNotifyUrlConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveStreamsNotifyUrlConfigOutcomeCallable deleteLiveStreamsNotifyUrlConfigCallable(const Model::DeleteLiveStreamsNotifyUrlConfigRequest& request) const;
@@ -691,6 +767,9 @@ namespace AlibabaCloud
 			DeleteCasterVideoResourceOutcome deleteCasterVideoResource(const Model::DeleteCasterVideoResourceRequest &request)const;
 			void deleteCasterVideoResourceAsync(const Model::DeleteCasterVideoResourceRequest& request, const DeleteCasterVideoResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCasterVideoResourceOutcomeCallable deleteCasterVideoResourceCallable(const Model::DeleteCasterVideoResourceRequest& request) const;
+			DescribeLiveCertificateListOutcome describeLiveCertificateList(const Model::DescribeLiveCertificateListRequest &request)const;
+			void describeLiveCertificateListAsync(const Model::DescribeLiveCertificateListRequest& request, const DescribeLiveCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveCertificateListOutcomeCallable describeLiveCertificateListCallable(const Model::DescribeLiveCertificateListRequest& request) const;
 			DeleteLiveAppSnapshotConfigOutcome deleteLiveAppSnapshotConfig(const Model::DeleteLiveAppSnapshotConfigRequest &request)const;
 			void deleteLiveAppSnapshotConfigAsync(const Model::DeleteLiveAppSnapshotConfigRequest& request, const DeleteLiveAppSnapshotConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveAppSnapshotConfigOutcomeCallable deleteLiveAppSnapshotConfigCallable(const Model::DeleteLiveAppSnapshotConfigRequest& request) const;
@@ -703,6 +782,9 @@ namespace AlibabaCloud
 			ModifyCasterProgramOutcome modifyCasterProgram(const Model::ModifyCasterProgramRequest &request)const;
 			void modifyCasterProgramAsync(const Model::ModifyCasterProgramRequest& request, const ModifyCasterProgramAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCasterProgramOutcomeCallable modifyCasterProgramCallable(const Model::ModifyCasterProgramRequest& request) const;
+			DescribeLiveCertificateDetailOutcome describeLiveCertificateDetail(const Model::DescribeLiveCertificateDetailRequest &request)const;
+			void describeLiveCertificateDetailAsync(const Model::DescribeLiveCertificateDetailRequest& request, const DescribeLiveCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveCertificateDetailOutcomeCallable describeLiveCertificateDetailCallable(const Model::DescribeLiveCertificateDetailRequest& request) const;
 			StartMixStreamsServiceOutcome startMixStreamsService(const Model::StartMixStreamsServiceRequest &request)const;
 			void startMixStreamsServiceAsync(const Model::StartMixStreamsServiceRequest& request, const StartMixStreamsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartMixStreamsServiceOutcomeCallable startMixStreamsServiceCallable(const Model::StartMixStreamsServiceRequest& request) const;
@@ -715,6 +797,9 @@ namespace AlibabaCloud
 			AddLivePullStreamInfoConfigOutcome addLivePullStreamInfoConfig(const Model::AddLivePullStreamInfoConfigRequest &request)const;
 			void addLivePullStreamInfoConfigAsync(const Model::AddLivePullStreamInfoConfigRequest& request, const AddLivePullStreamInfoConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddLivePullStreamInfoConfigOutcomeCallable addLivePullStreamInfoConfigCallable(const Model::AddLivePullStreamInfoConfigRequest& request) const;
+			StartLiveDomainOutcome startLiveDomain(const Model::StartLiveDomainRequest &request)const;
+			void startLiveDomainAsync(const Model::StartLiveDomainRequest& request, const StartLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartLiveDomainOutcomeCallable startLiveDomainCallable(const Model::StartLiveDomainRequest& request) const;
 			DescribeLiveStreamsBlockListOutcome describeLiveStreamsBlockList(const Model::DescribeLiveStreamsBlockListRequest &request)const;
 			void describeLiveStreamsBlockListAsync(const Model::DescribeLiveStreamsBlockListRequest& request, const DescribeLiveStreamsBlockListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamsBlockListOutcomeCallable describeLiveStreamsBlockListCallable(const Model::DescribeLiveStreamsBlockListRequest& request) const;
@@ -733,15 +818,15 @@ namespace AlibabaCloud
 			ModifyCasterVideoResourceOutcome modifyCasterVideoResource(const Model::ModifyCasterVideoResourceRequest &request)const;
 			void modifyCasterVideoResourceAsync(const Model::ModifyCasterVideoResourceRequest& request, const ModifyCasterVideoResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCasterVideoResourceOutcomeCallable modifyCasterVideoResourceCallable(const Model::ModifyCasterVideoResourceRequest& request) const;
-			ImagePornDetectionOutcome imagePornDetection(const Model::ImagePornDetectionRequest &request)const;
-			void imagePornDetectionAsync(const Model::ImagePornDetectionRequest& request, const ImagePornDetectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ImagePornDetectionOutcomeCallable imagePornDetectionCallable(const Model::ImagePornDetectionRequest& request) const;
 			DescribeCasterStreamUrlOutcome describeCasterStreamUrl(const Model::DescribeCasterStreamUrlRequest &request)const;
 			void describeCasterStreamUrlAsync(const Model::DescribeCasterStreamUrlRequest& request, const DescribeCasterStreamUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCasterStreamUrlOutcomeCallable describeCasterStreamUrlCallable(const Model::DescribeCasterStreamUrlRequest& 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;
 			DescribeLiveStreamsControlHistoryOutcomeCallable describeLiveStreamsControlHistoryCallable(const Model::DescribeLiveStreamsControlHistoryRequest& request) const;
+			DescribeLiveStreamCountOutcome describeLiveStreamCount(const Model::DescribeLiveStreamCountRequest &request)const;
+			void describeLiveStreamCountAsync(const Model::DescribeLiveStreamCountRequest& request, const DescribeLiveStreamCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveStreamCountOutcomeCallable describeLiveStreamCountCallable(const Model::DescribeLiveStreamCountRequest& request) const;
 			StopCasterSceneOutcome stopCasterScene(const Model::StopCasterSceneRequest &request)const;
 			void stopCasterSceneAsync(const Model::StopCasterSceneRequest& request, const StopCasterSceneAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopCasterSceneOutcomeCallable stopCasterSceneCallable(const Model::StopCasterSceneRequest& request) const;
@@ -793,6 +878,9 @@ namespace AlibabaCloud
 			DescribeCasterProgramOutcome describeCasterProgram(const Model::DescribeCasterProgramRequest &request)const;
 			void describeCasterProgramAsync(const Model::DescribeCasterProgramRequest& request, const DescribeCasterProgramAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCasterProgramOutcomeCallable describeCasterProgramCallable(const Model::DescribeCasterProgramRequest& request) const;
+			StopLiveDomainOutcome stopLiveDomain(const Model::StopLiveDomainRequest &request)const;
+			void stopLiveDomainAsync(const Model::StopLiveDomainRequest& request, const StopLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopLiveDomainOutcomeCallable stopLiveDomainCallable(const Model::StopLiveDomainRequest& request) const;
 			DescribeLiveStreamHistoryUserNumOutcome describeLiveStreamHistoryUserNum(const Model::DescribeLiveStreamHistoryUserNumRequest &request)const;
 			void describeLiveStreamHistoryUserNumAsync(const Model::DescribeLiveStreamHistoryUserNumRequest& request, const DescribeLiveStreamHistoryUserNumAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamHistoryUserNumOutcomeCallable describeLiveStreamHistoryUserNumCallable(const Model::DescribeLiveStreamHistoryUserNumRequest& request) const;
@@ -802,6 +890,15 @@ namespace AlibabaCloud
 			AddLiveRecordVodConfigOutcome addLiveRecordVodConfig(const Model::AddLiveRecordVodConfigRequest &request)const;
 			void addLiveRecordVodConfigAsync(const Model::AddLiveRecordVodConfigRequest& request, const AddLiveRecordVodConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddLiveRecordVodConfigOutcomeCallable addLiveRecordVodConfigCallable(const Model::AddLiveRecordVodConfigRequest& request) const;
+			BatchSetLiveDomainConfigsOutcome batchSetLiveDomainConfigs(const Model::BatchSetLiveDomainConfigsRequest &request)const;
+			void batchSetLiveDomainConfigsAsync(const Model::BatchSetLiveDomainConfigsRequest& request, const BatchSetLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchSetLiveDomainConfigsOutcomeCallable batchSetLiveDomainConfigsCallable(const Model::BatchSetLiveDomainConfigsRequest& request) const;
+			DescribeLiveDomainDetailOutcome describeLiveDomainDetail(const Model::DescribeLiveDomainDetailRequest &request)const;
+			void describeLiveDomainDetailAsync(const Model::DescribeLiveDomainDetailRequest& request, const DescribeLiveDomainDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainDetailOutcomeCallable describeLiveDomainDetailCallable(const Model::DescribeLiveDomainDetailRequest& request) const;
+			DescribeLiveDomainConfigsOutcome describeLiveDomainConfigs(const Model::DescribeLiveDomainConfigsRequest &request)const;
+			void describeLiveDomainConfigsAsync(const Model::DescribeLiveDomainConfigsRequest& request, const DescribeLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainConfigsOutcomeCallable describeLiveDomainConfigsCallable(const Model::DescribeLiveDomainConfigsRequest& request) const;
 			DescribeLiveStreamRecordIndexFilesOutcome describeLiveStreamRecordIndexFiles(const Model::DescribeLiveStreamRecordIndexFilesRequest &request)const;
 			void describeLiveStreamRecordIndexFilesAsync(const Model::DescribeLiveStreamRecordIndexFilesRequest& request, const DescribeLiveStreamRecordIndexFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamRecordIndexFilesOutcomeCallable describeLiveStreamRecordIndexFilesCallable(const Model::DescribeLiveStreamRecordIndexFilesRequest& request) const;
@@ -811,6 +908,12 @@ namespace AlibabaCloud
 			DeleteLiveMixConfigOutcome deleteLiveMixConfig(const Model::DeleteLiveMixConfigRequest &request)const;
 			void deleteLiveMixConfigAsync(const Model::DeleteLiveMixConfigRequest& request, const DeleteLiveMixConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveMixConfigOutcomeCallable deleteLiveMixConfigCallable(const Model::DeleteLiveMixConfigRequest& request) const;
+			BatchDeleteLiveDomainConfigsOutcome batchDeleteLiveDomainConfigs(const Model::BatchDeleteLiveDomainConfigsRequest &request)const;
+			void batchDeleteLiveDomainConfigsAsync(const Model::BatchDeleteLiveDomainConfigsRequest& request, const BatchDeleteLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchDeleteLiveDomainConfigsOutcomeCallable batchDeleteLiveDomainConfigsCallable(const Model::BatchDeleteLiveDomainConfigsRequest& request) const;
+			SetLiveDomainCertificateOutcome setLiveDomainCertificate(const Model::SetLiveDomainCertificateRequest &request)const;
+			void setLiveDomainCertificateAsync(const Model::SetLiveDomainCertificateRequest& request, const SetLiveDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetLiveDomainCertificateOutcomeCallable setLiveDomainCertificateCallable(const Model::SetLiveDomainCertificateRequest& request) const;
 			ForbidLiveStreamOutcome forbidLiveStream(const Model::ForbidLiveStreamRequest &request)const;
 			void forbidLiveStreamAsync(const Model::ForbidLiveStreamRequest& request, const ForbidLiveStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ForbidLiveStreamOutcomeCallable forbidLiveStreamCallable(const Model::ForbidLiveStreamRequest& request) const;
@@ -841,6 +944,9 @@ namespace AlibabaCloud
 			DeleteCasterComponentOutcome deleteCasterComponent(const Model::DeleteCasterComponentRequest &request)const;
 			void deleteCasterComponentAsync(const Model::DeleteCasterComponentRequest& request, const DeleteCasterComponentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCasterComponentOutcomeCallable deleteCasterComponentCallable(const Model::DeleteCasterComponentRequest& request) const;
+			DeleteLiveDomainOutcome deleteLiveDomain(const Model::DeleteLiveDomainRequest &request)const;
+			void deleteLiveDomainAsync(const Model::DeleteLiveDomainRequest& request, const DeleteLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveDomainOutcomeCallable deleteLiveDomainCallable(const Model::DeleteLiveDomainRequest& request) const;
 			SetCasterConfigOutcome setCasterConfig(const Model::SetCasterConfigRequest &request)const;
 			void setCasterConfigAsync(const Model::SetCasterConfigRequest& request, const SetCasterConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetCasterConfigOutcomeCallable setCasterConfigCallable(const Model::SetCasterConfigRequest& request) const;
@@ -856,6 +962,9 @@ namespace AlibabaCloud
 			AddCasterLayoutOutcome addCasterLayout(const Model::AddCasterLayoutRequest &request)const;
 			void addCasterLayoutAsync(const Model::AddCasterLayoutRequest& request, const AddCasterLayoutAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddCasterLayoutOutcomeCallable addCasterLayoutCallable(const Model::AddCasterLayoutRequest& request) const;
+			DescribeLiveUserDomainsOutcome describeLiveUserDomains(const Model::DescribeLiveUserDomainsRequest &request)const;
+			void describeLiveUserDomainsAsync(const Model::DescribeLiveUserDomainsRequest& request, const DescribeLiveUserDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveUserDomainsOutcomeCallable describeLiveUserDomainsCallable(const Model::DescribeLiveUserDomainsRequest& request) const;
 			ModifyCasterLayoutOutcome modifyCasterLayout(const Model::ModifyCasterLayoutRequest &request)const;
 			void modifyCasterLayoutAsync(const Model::ModifyCasterLayoutRequest& request, const ModifyCasterLayoutAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCasterLayoutOutcomeCallable modifyCasterLayoutCallable(const Model::ModifyCasterLayoutRequest& request) const;
@@ -871,6 +980,9 @@ namespace AlibabaCloud
 			DeleteCasterSceneConfigOutcome deleteCasterSceneConfig(const Model::DeleteCasterSceneConfigRequest &request)const;
 			void deleteCasterSceneConfigAsync(const Model::DeleteCasterSceneConfigRequest& request, const DeleteCasterSceneConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCasterSceneConfigOutcomeCallable deleteCasterSceneConfigCallable(const Model::DeleteCasterSceneConfigRequest& request) const;
+			AddLiveDomainOutcome addLiveDomain(const Model::AddLiveDomainRequest &request)const;
+			void addLiveDomainAsync(const Model::AddLiveDomainRequest& request, const AddLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddLiveDomainOutcomeCallable addLiveDomainCallable(const Model::AddLiveDomainRequest& request) const;
 			DeleteLiveAppRecordConfigOutcome deleteLiveAppRecordConfig(const Model::DeleteLiveAppRecordConfigRequest &request)const;
 			void deleteLiveAppRecordConfigAsync(const Model::DeleteLiveAppRecordConfigRequest& request, const DeleteLiveAppRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveAppRecordConfigOutcomeCallable deleteLiveAppRecordConfigCallable(const Model::DeleteLiveAppRecordConfigRequest& request) const;

+ 1 - 1
live/include/alibabacloud/live/model/AddCasterEpisodeGroupRequest.h

@@ -32,8 +32,8 @@ namespace AlibabaCloud
 			{
 				struct Item
 				{
-					std::string itemName;
 					std::string vodUrl;
+					std::string itemName;
 				};
 
 			public:

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

@@ -32,18 +32,18 @@ namespace AlibabaCloud
 			{
 				struct AudioLayer
 				{
+					int fixedDelayDuration;
 					float volumeRate;
 					std::string validChannel;
-					int fixedDelayDuration;
 				};
 				struct VideoLayer
 				{
 					std::string fillMode;
-					float heightNormalized;
 					float widthNormalized;
+					int fixedDelayDuration;
 					std::string positionRefer;
 					std::vector<float> positionNormalized;
-					int fixedDelayDuration;
+					float heightNormalized;
 				};
 
 			public:

+ 4 - 4
live/include/alibabacloud/live/model/AddCasterProgramRequest.h

@@ -32,13 +32,13 @@ namespace AlibabaCloud
 			{
 				struct Episode
 				{
-					std::string episodeType;
-					std::string episodeName;
 					std::string resourceId;
 					std::vector<std::string> componentId;
-					std::string startTime;
-					std::string endTime;
 					std::string switchType;
+					std::string episodeType;
+					std::string episodeName;
+					std::string endTime;
+					std::string startTime;
 				};
 
 			public:

+ 9 - 9
live/include/alibabacloud/live/model/AddCustomLiveStreamTranscodeRequest.h

@@ -39,18 +39,18 @@ namespace AlibabaCloud
 				void setApp(const std::string& app);
 				std::string get_Template()const;
 				void set_Template(const std::string& _template);
+				int getProfile()const;
+				void setProfile(int profile);
 				int getFPS()const;
 				void setFPS(int fPS);
+				std::string getGop()const;
+				void setGop(const std::string& gop);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
-				std::string getVersion()const;
-				void setVersion(const std::string& version);
-				std::string getAccessKeyId()const;
-				void setAccessKeyId(const std::string& accessKeyId);
-				std::string getSecurityToken()const;
-				void setSecurityToken(const std::string& securityToken);
 				std::string getTemplateType()const;
 				void setTemplateType(const std::string& templateType);
+				int getAudioBitrate()const;
+				void setAudioBitrate(int audioBitrate);
 				std::string getDomain()const;
 				void setDomain(const std::string& domain);
 				int getWidth()const;
@@ -63,12 +63,12 @@ namespace AlibabaCloud
             private:
 				std::string app_;
 				std::string _template_;
+				int profile_;
 				int fPS_;
+				std::string gop_;
 				long ownerId_;
-				std::string version_;
-				std::string accessKeyId_;
-				std::string securityToken_;
 				std::string templateType_;
+				int audioBitrate_;
 				std::string domain_;
 				int width_;
 				int videoBitrate_;

+ 1 - 1
live/include/alibabacloud/live/model/AddLiveAppRecordConfigRequest.h

@@ -32,9 +32,9 @@ namespace AlibabaCloud
 			{
 				struct RecordFormat
 				{
+					std::string sliceOssObjectPrefix;
 					std::string format;
 					std::string ossObjectPrefix;
-					std::string sliceOssObjectPrefix;
 					int cycleDuration;
 				};
 

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

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT AddLiveDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddLiveDomainRequest();
+				~AddLiveDomainRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getScope()const;
+				void setScope(const std::string& scope);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+				std::string getCheckUrl()const;
+				void setCheckUrl(const std::string& checkUrl);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getLiveDomainType()const;
+				void setLiveDomainType(const std::string& liveDomainType);
+
+            private:
+				std::string securityToken_;
+				std::string ownerAccount_;
+				std::string scope_;
+				std::string domainName_;
+				long ownerId_;
+				std::string region_;
+				std::string checkUrl_;
+				std::string accessKeyId_;
+				std::string liveDomainType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINREQUEST_H_

+ 7 - 11
live/include/alibabacloud/live/model/ImagePornDetectionResult.h → live/include/alibabacloud/live/model/AddLiveDomainResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONRESULT_H_
-#define ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONRESULT_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,25 +29,21 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT ImagePornDetectionResult : public ServiceResult
+			class ALIBABACLOUD_LIVE_EXPORT AddLiveDomainResult : public ServiceResult
 			{
 			public:
 
 
-				ImagePornDetectionResult();
-				explicit ImagePornDetectionResult(const std::string &payload);
-				~ImagePornDetectionResult();
-				float getRate()const;
-				std::string getLabel()const;
+				AddLiveDomainResult();
+				explicit AddLiveDomainResult(const std::string &payload);
+				~AddLiveDomainResult();
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				float rate_;
-				std::string label_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONRESULT_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_ADDLIVEDOMAINRESULT_H_

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

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_BATCHDELETELIVEDOMAINCONFIGSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_BATCHDELETELIVEDOMAINCONFIGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT BatchDeleteLiveDomainConfigsRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchDeleteLiveDomainConfigsRequest();
+				~BatchDeleteLiveDomainConfigsRequest();
+
+				std::string getFunctionNames()const;
+				void setFunctionNames(const std::string& functionNames);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainNames()const;
+				void setDomainNames(const std::string& domainNames);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string functionNames_;
+				std::string securityToken_;
+				std::string domainNames_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_BATCHDELETELIVEDOMAINCONFIGSREQUEST_H_

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

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

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_BATCHSETLIVEDOMAINCONFIGSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_BATCHSETLIVEDOMAINCONFIGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT BatchSetLiveDomainConfigsRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchSetLiveDomainConfigsRequest();
+				~BatchSetLiveDomainConfigsRequest();
+
+				std::string getFunctions()const;
+				void setFunctions(const std::string& functions);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainNames()const;
+				void setDomainNames(const std::string& domainNames);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string functions_;
+				std::string securityToken_;
+				std::string domainNames_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_BATCHSETLIVEDOMAINCONFIGSREQUEST_H_

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

+ 60 - 0
live/include/alibabacloud/live/model/DeleteLiveDomainRequest.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_DELETELIVEDOMAINREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DeleteLiveDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteLiveDomainRequest();
+				~DeleteLiveDomainRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string ownerAccount_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINREQUEST_H_

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

+ 60 - 0
live/include/alibabacloud/live/model/DeleteLiveSpecificConfigRequest.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_DELETELIVESPECIFICCONFIGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVESPECIFICCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DeleteLiveSpecificConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteLiveSpecificConfigRequest();
+				~DeleteLiveSpecificConfigRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getConfigId()const;
+				void setConfigId(const std::string& configId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string configId_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVESPECIFICCONFIGREQUEST_H_

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

+ 57 - 0
live/include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.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_DESCRIBEHLSLIVESTREAMREALTIMEBPSDATAREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBEHLSLIVESTREAMREALTIMEBPSDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeHlsLiveStreamRealTimeBpsDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeHlsLiveStreamRealTimeBpsDataRequest();
+				~DescribeHlsLiveStreamRealTimeBpsDataRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getTime()const;
+				void setTime(const std::string& time);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string regionId_;
+				std::string domainName_;
+				std::string time_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBEHLSLIVESTREAMREALTIMEBPSDATAREQUEST_H_

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

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

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveCertificateDetailRequest.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_DESCRIBELIVECERTIFICATEDETAILREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveCertificateDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveCertificateDetailRequest();
+				~DescribeLiveCertificateDetailRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getCertName()const;
+				void setCertName(const std::string& certName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string certName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATEDETAILREQUEST_H_

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveCertificateDetailResult.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_DESCRIBELIVECERTIFICATEDETAILRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATEDETAILRESULT_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 DescribeLiveCertificateDetailResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeLiveCertificateDetailResult();
+				explicit DescribeLiveCertificateDetailResult(const std::string &payload);
+				~DescribeLiveCertificateDetailResult();
+				long getCertId()const;
+				std::string getCert()const;
+				std::string getCertName()const;
+				std::string getKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long certId_;
+				std::string cert_;
+				std::string certName_;
+				std::string key_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATEDETAILRESULT_H_

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveCertificateListRequest.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_DESCRIBELIVECERTIFICATELISTREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveCertificateListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveCertificateListRequest();
+				~DescribeLiveCertificateListRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVECERTIFICATELISTREQUEST_H_

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

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

+ 60 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainConfigsRequest.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_DESCRIBELIVEDOMAINCONFIGSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINCONFIGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainConfigsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveDomainConfigsRequest();
+				~DescribeLiveDomainConfigsRequest();
+
+				std::string getFunctionNames()const;
+				void setFunctionNames(const std::string& functionNames);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string functionNames_;
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINCONFIGSREQUEST_H_

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

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

+ 57 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainDetailRequest.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_DESCRIBELIVEDOMAINDETAILREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveDomainDetailRequest();
+				~DescribeLiveDomainDetailRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINDETAILREQUEST_H_

+ 66 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainDetailResult.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_DESCRIBELIVEDOMAINDETAILRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINDETAILRESULT_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 DescribeLiveDomainDetailResult : public ServiceResult
+			{
+			public:
+				struct DomainDetail
+				{
+					std::string description;
+					std::string scope;
+					std::string domainName;
+					std::string liveDomainType;
+					std::string sSLPub;
+					std::string gmtModified;
+					std::string region;
+					std::string gmtCreated;
+					std::string certName;
+					std::string cname;
+					std::string domainStatus;
+					std::string sSLProtocol;
+				};
+
+
+				DescribeLiveDomainDetailResult();
+				explicit DescribeLiveDomainDetailResult(const std::string &payload);
+				~DescribeLiveDomainDetailResult();
+				DomainDetail getDomainDetail()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				DomainDetail domainDetail_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINDETAILRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamCountRequest.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_DESCRIBELIVESTREAMCOUNTREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMCOUNTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamCountRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveStreamCountRequest();
+				~DescribeLiveStreamCountRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string regionId_;
+				std::string domainName_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMCOUNTREQUEST_H_

+ 64 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamCountResult.h

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

+ 75 - 0
live/include/alibabacloud/live/model/DescribeLiveUserDomainsRequest.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveUserDomainsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveUserDomainsRequest();
+				~DescribeLiveUserDomainsRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getRegionName()const;
+				void setRegionName(const std::string& regionName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getDomainStatus()const;
+				void setDomainStatus(const std::string& domainStatus);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getLiveDomainType()const;
+				void setLiveDomainType(const std::string& liveDomainType);
+				std::string getDomainSearchType()const;
+				void setDomainSearchType(const std::string& domainSearchType);
+
+            private:
+				std::string securityToken_;
+				int pageSize_;
+				std::string domainName_;
+				std::string regionName_;
+				long ownerId_;
+				int pageNumber_;
+				std::string domainStatus_;
+				std::string accessKeyId_;
+				std::string liveDomainType_;
+				std::string domainSearchType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSREQUEST_H_

+ 68 - 0
live/include/alibabacloud/live/model/DescribeLiveUserDomainsResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSRESULT_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 DescribeLiveUserDomainsResult : public ServiceResult
+			{
+			public:
+				struct PageData
+				{
+					std::string description;
+					std::string liveDomainStatus;
+					std::string domainName;
+					std::string liveDomainType;
+					std::string regionName;
+					std::string gmtModified;
+					std::string gmtCreated;
+					std::string cname;
+				};
+
+
+				DescribeLiveUserDomainsResult();
+				explicit DescribeLiveUserDomainsResult(const std::string &payload);
+				~DescribeLiveUserDomainsResult();
+				std::vector<PageData> getDomains()const;
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PageData> domains_;
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEUSERDOMAINSRESULT_H_

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

@@ -32,18 +32,18 @@ namespace AlibabaCloud
 			{
 				struct AudioLayer
 				{
+					int fixedDelayDuration;
 					float volumeRate;
 					std::string validChannel;
-					int fixedDelayDuration;
 				};
 				struct VideoLayer
 				{
 					std::string fillMode;
-					float heightNormalized;
 					float widthNormalized;
+					int fixedDelayDuration;
 					std::string positionRefer;
 					std::vector<float> positionNormalized;
-					int fixedDelayDuration;
+					float heightNormalized;
 				};
 
 			public:

+ 5 - 5
live/include/alibabacloud/live/model/ModifyCasterProgramRequest.h

@@ -32,14 +32,14 @@ namespace AlibabaCloud
 			{
 				struct Episode
 				{
-					std::string episodeId;
-					std::string episodeType;
-					std::string episodeName;
 					std::string resourceId;
 					std::vector<std::string> componentId;
-					std::string startTime;
-					std::string endTime;
 					std::string switchType;
+					std::string episodeType;
+					std::string episodeName;
+					std::string endTime;
+					std::string startTime;
+					std::string episodeId;
 				};
 
 			public:

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

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINCERTIFICATEREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINCERTIFICATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT SetLiveDomainCertificateRequest : public RpcServiceRequest
+			{
+
+			public:
+				SetLiveDomainCertificateRequest();
+				~SetLiveDomainCertificateRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getSSLPub()const;
+				void setSSLPub(const std::string& sSLPub);
+				std::string getCertName()const;
+				void setCertName(const std::string& certName);
+				std::string getSSLProtocol()const;
+				void setSSLProtocol(const std::string& sSLProtocol);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSSLPri()const;
+				void setSSLPri(const std::string& sSLPri);
+
+            private:
+				std::string securityToken_;
+				std::string sSLPub_;
+				std::string certName_;
+				std::string sSLProtocol_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+				std::string sSLPri_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_SETLIVEDOMAINCERTIFICATEREQUEST_H_

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

+ 9 - 9
live/include/alibabacloud/live/model/ImagePornDetectionRequest.h → live/include/alibabacloud/live/model/StartLiveDomainRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONREQUEST_H_
-#define ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONREQUEST_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_STARTLIVEDOMAINREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_STARTLIVEDOMAINREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,17 +28,17 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT ImagePornDetectionRequest : public RpcServiceRequest
+			class ALIBABACLOUD_LIVE_EXPORT StartLiveDomainRequest : public RpcServiceRequest
 			{
 
 			public:
-				ImagePornDetectionRequest();
-				~ImagePornDetectionRequest();
+				StartLiveDomainRequest();
+				~StartLiveDomainRequest();
 
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
-				std::string getImageUrl()const;
-				void setImageUrl(const std::string& imageUrl);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				std::string getAccessKeyId()const;
@@ -46,7 +46,7 @@ namespace AlibabaCloud
 
             private:
 				std::string securityToken_;
-				std::string imageUrl_;
+				std::string domainName_;
 				long ownerId_;
 				std::string accessKeyId_;
 
@@ -54,4 +54,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_IMAGEPORNDETECTIONREQUEST_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_STARTLIVEDOMAINREQUEST_H_

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

+ 57 - 0
live/include/alibabacloud/live/model/StopLiveDomainRequest.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_STOPLIVEDOMAINREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_STOPLIVEDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT StopLiveDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				StopLiveDomainRequest();
+				~StopLiveDomainRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_STOPLIVEDOMAINREQUEST_H_

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

+ 531 - 27
live/src/LiveClient.cc

@@ -339,6 +339,42 @@ LiveClient::CreateLiveStreamRecordIndexFilesOutcomeCallable LiveClient::createLi
 	return task->get_future();
 }
 
+LiveClient::DeleteLiveSpecificConfigOutcome LiveClient::deleteLiveSpecificConfig(const DeleteLiveSpecificConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveSpecificConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveSpecificConfigOutcome(DeleteLiveSpecificConfigResult(outcome.result()));
+	else
+		return DeleteLiveSpecificConfigOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveSpecificConfigAsync(const DeleteLiveSpecificConfigRequest& request, const DeleteLiveSpecificConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveSpecificConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveSpecificConfigOutcomeCallable LiveClient::deleteLiveSpecificConfigCallable(const DeleteLiveSpecificConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveSpecificConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveSpecificConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::UpdateCasterSceneConfigOutcome LiveClient::updateCasterSceneConfig(const UpdateCasterSceneConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1275,6 +1311,42 @@ LiveClient::AddLiveRecordNotifyConfigOutcomeCallable LiveClient::addLiveRecordNo
 	return task->get_future();
 }
 
+LiveClient::DescribeHlsLiveStreamRealTimeBpsDataOutcome LiveClient::describeHlsLiveStreamRealTimeBpsData(const DescribeHlsLiveStreamRealTimeBpsDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeHlsLiveStreamRealTimeBpsDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeHlsLiveStreamRealTimeBpsDataOutcome(DescribeHlsLiveStreamRealTimeBpsDataResult(outcome.result()));
+	else
+		return DescribeHlsLiveStreamRealTimeBpsDataOutcome(outcome.error());
+}
+
+void LiveClient::describeHlsLiveStreamRealTimeBpsDataAsync(const DescribeHlsLiveStreamRealTimeBpsDataRequest& request, const DescribeHlsLiveStreamRealTimeBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeHlsLiveStreamRealTimeBpsData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeHlsLiveStreamRealTimeBpsDataOutcomeCallable LiveClient::describeHlsLiveStreamRealTimeBpsDataCallable(const DescribeHlsLiveStreamRealTimeBpsDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeHlsLiveStreamRealTimeBpsDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeHlsLiveStreamRealTimeBpsData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveStreamsNotifyUrlConfigOutcome LiveClient::deleteLiveStreamsNotifyUrlConfig(const DeleteLiveStreamsNotifyUrlConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1563,42 @@ LiveClient::DeleteCasterVideoResourceOutcomeCallable LiveClient::deleteCasterVid
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveCertificateListOutcome LiveClient::describeLiveCertificateList(const DescribeLiveCertificateListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveCertificateListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveCertificateListOutcome(DescribeLiveCertificateListResult(outcome.result()));
+	else
+		return DescribeLiveCertificateListOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveCertificateListAsync(const DescribeLiveCertificateListRequest& request, const DescribeLiveCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveCertificateList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveCertificateListOutcomeCallable LiveClient::describeLiveCertificateListCallable(const DescribeLiveCertificateListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveCertificateListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveCertificateList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveAppSnapshotConfigOutcome LiveClient::deleteLiveAppSnapshotConfig(const DeleteLiveAppSnapshotConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1635,6 +1743,42 @@ LiveClient::ModifyCasterProgramOutcomeCallable LiveClient::modifyCasterProgramCa
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveCertificateDetailOutcome LiveClient::describeLiveCertificateDetail(const DescribeLiveCertificateDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveCertificateDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveCertificateDetailOutcome(DescribeLiveCertificateDetailResult(outcome.result()));
+	else
+		return DescribeLiveCertificateDetailOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveCertificateDetailAsync(const DescribeLiveCertificateDetailRequest& request, const DescribeLiveCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveCertificateDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveCertificateDetailOutcomeCallable LiveClient::describeLiveCertificateDetailCallable(const DescribeLiveCertificateDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveCertificateDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveCertificateDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::StartMixStreamsServiceOutcome LiveClient::startMixStreamsService(const StartMixStreamsServiceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1779,6 +1923,42 @@ LiveClient::AddLivePullStreamInfoConfigOutcomeCallable LiveClient::addLivePullSt
 	return task->get_future();
 }
 
+LiveClient::StartLiveDomainOutcome LiveClient::startLiveDomain(const StartLiveDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartLiveDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartLiveDomainOutcome(StartLiveDomainResult(outcome.result()));
+	else
+		return StartLiveDomainOutcome(outcome.error());
+}
+
+void LiveClient::startLiveDomainAsync(const StartLiveDomainRequest& request, const StartLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startLiveDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::StartLiveDomainOutcomeCallable LiveClient::startLiveDomainCallable(const StartLiveDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartLiveDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->startLiveDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamsBlockListOutcome LiveClient::describeLiveStreamsBlockList(const DescribeLiveStreamsBlockListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1995,108 +2175,108 @@ LiveClient::ModifyCasterVideoResourceOutcomeCallable LiveClient::modifyCasterVid
 	return task->get_future();
 }
 
-LiveClient::ImagePornDetectionOutcome LiveClient::imagePornDetection(const ImagePornDetectionRequest &request) const
+LiveClient::DescribeCasterStreamUrlOutcome LiveClient::describeCasterStreamUrl(const DescribeCasterStreamUrlRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ImagePornDetectionOutcome(endpointOutcome.error());
+		return DescribeCasterStreamUrlOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ImagePornDetectionOutcome(ImagePornDetectionResult(outcome.result()));
+		return DescribeCasterStreamUrlOutcome(DescribeCasterStreamUrlResult(outcome.result()));
 	else
-		return ImagePornDetectionOutcome(outcome.error());
+		return DescribeCasterStreamUrlOutcome(outcome.error());
 }
 
-void LiveClient::imagePornDetectionAsync(const ImagePornDetectionRequest& request, const ImagePornDetectionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::describeCasterStreamUrlAsync(const DescribeCasterStreamUrlRequest& request, const DescribeCasterStreamUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, imagePornDetection(request), context);
+		handler(this, request, describeCasterStreamUrl(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-LiveClient::ImagePornDetectionOutcomeCallable LiveClient::imagePornDetectionCallable(const ImagePornDetectionRequest &request) const
+LiveClient::DescribeCasterStreamUrlOutcomeCallable LiveClient::describeCasterStreamUrlCallable(const DescribeCasterStreamUrlRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ImagePornDetectionOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeCasterStreamUrlOutcome()>>(
 			[this, request]()
 			{
-			return this->imagePornDetection(request);
+			return this->describeCasterStreamUrl(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-LiveClient::DescribeCasterStreamUrlOutcome LiveClient::describeCasterStreamUrl(const DescribeCasterStreamUrlRequest &request) const
+LiveClient::DescribeLiveStreamsControlHistoryOutcome LiveClient::describeLiveStreamsControlHistory(const DescribeLiveStreamsControlHistoryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DescribeCasterStreamUrlOutcome(endpointOutcome.error());
+		return DescribeLiveStreamsControlHistoryOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DescribeCasterStreamUrlOutcome(DescribeCasterStreamUrlResult(outcome.result()));
+		return DescribeLiveStreamsControlHistoryOutcome(DescribeLiveStreamsControlHistoryResult(outcome.result()));
 	else
-		return DescribeCasterStreamUrlOutcome(outcome.error());
+		return DescribeLiveStreamsControlHistoryOutcome(outcome.error());
 }
 
-void LiveClient::describeCasterStreamUrlAsync(const DescribeCasterStreamUrlRequest& request, const DescribeCasterStreamUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::describeLiveStreamsControlHistoryAsync(const DescribeLiveStreamsControlHistoryRequest& request, const DescribeLiveStreamsControlHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, describeCasterStreamUrl(request), context);
+		handler(this, request, describeLiveStreamsControlHistory(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-LiveClient::DescribeCasterStreamUrlOutcomeCallable LiveClient::describeCasterStreamUrlCallable(const DescribeCasterStreamUrlRequest &request) const
+LiveClient::DescribeLiveStreamsControlHistoryOutcomeCallable LiveClient::describeLiveStreamsControlHistoryCallable(const DescribeLiveStreamsControlHistoryRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DescribeCasterStreamUrlOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamsControlHistoryOutcome()>>(
 			[this, request]()
 			{
-			return this->describeCasterStreamUrl(request);
+			return this->describeLiveStreamsControlHistory(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-LiveClient::DescribeLiveStreamsControlHistoryOutcome LiveClient::describeLiveStreamsControlHistory(const DescribeLiveStreamsControlHistoryRequest &request) const
+LiveClient::DescribeLiveStreamCountOutcome LiveClient::describeLiveStreamCount(const DescribeLiveStreamCountRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DescribeLiveStreamsControlHistoryOutcome(endpointOutcome.error());
+		return DescribeLiveStreamCountOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DescribeLiveStreamsControlHistoryOutcome(DescribeLiveStreamsControlHistoryResult(outcome.result()));
+		return DescribeLiveStreamCountOutcome(DescribeLiveStreamCountResult(outcome.result()));
 	else
-		return DescribeLiveStreamsControlHistoryOutcome(outcome.error());
+		return DescribeLiveStreamCountOutcome(outcome.error());
 }
 
-void LiveClient::describeLiveStreamsControlHistoryAsync(const DescribeLiveStreamsControlHistoryRequest& request, const DescribeLiveStreamsControlHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void LiveClient::describeLiveStreamCountAsync(const DescribeLiveStreamCountRequest& request, const DescribeLiveStreamCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, describeLiveStreamsControlHistory(request), context);
+		handler(this, request, describeLiveStreamCount(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-LiveClient::DescribeLiveStreamsControlHistoryOutcomeCallable LiveClient::describeLiveStreamsControlHistoryCallable(const DescribeLiveStreamsControlHistoryRequest &request) const
+LiveClient::DescribeLiveStreamCountOutcomeCallable LiveClient::describeLiveStreamCountCallable(const DescribeLiveStreamCountRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamsControlHistoryOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamCountOutcome()>>(
 			[this, request]()
 			{
-			return this->describeLiveStreamsControlHistory(request);
+			return this->describeLiveStreamCount(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -2715,6 +2895,42 @@ LiveClient::DescribeCasterProgramOutcomeCallable LiveClient::describeCasterProgr
 	return task->get_future();
 }
 
+LiveClient::StopLiveDomainOutcome LiveClient::stopLiveDomain(const StopLiveDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopLiveDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopLiveDomainOutcome(StopLiveDomainResult(outcome.result()));
+	else
+		return StopLiveDomainOutcome(outcome.error());
+}
+
+void LiveClient::stopLiveDomainAsync(const StopLiveDomainRequest& request, const StopLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopLiveDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::StopLiveDomainOutcomeCallable LiveClient::stopLiveDomainCallable(const StopLiveDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopLiveDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->stopLiveDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamHistoryUserNumOutcome LiveClient::describeLiveStreamHistoryUserNum(const DescribeLiveStreamHistoryUserNumRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2823,6 +3039,114 @@ LiveClient::AddLiveRecordVodConfigOutcomeCallable LiveClient::addLiveRecordVodCo
 	return task->get_future();
 }
 
+LiveClient::BatchSetLiveDomainConfigsOutcome LiveClient::batchSetLiveDomainConfigs(const BatchSetLiveDomainConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BatchSetLiveDomainConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BatchSetLiveDomainConfigsOutcome(BatchSetLiveDomainConfigsResult(outcome.result()));
+	else
+		return BatchSetLiveDomainConfigsOutcome(outcome.error());
+}
+
+void LiveClient::batchSetLiveDomainConfigsAsync(const BatchSetLiveDomainConfigsRequest& request, const BatchSetLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, batchSetLiveDomainConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::BatchSetLiveDomainConfigsOutcomeCallable LiveClient::batchSetLiveDomainConfigsCallable(const BatchSetLiveDomainConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BatchSetLiveDomainConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->batchSetLiveDomainConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::DescribeLiveDomainDetailOutcome LiveClient::describeLiveDomainDetail(const DescribeLiveDomainDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainDetailOutcome(DescribeLiveDomainDetailResult(outcome.result()));
+	else
+		return DescribeLiveDomainDetailOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainDetailAsync(const DescribeLiveDomainDetailRequest& request, const DescribeLiveDomainDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainDetailOutcomeCallable LiveClient::describeLiveDomainDetailCallable(const DescribeLiveDomainDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::DescribeLiveDomainConfigsOutcome LiveClient::describeLiveDomainConfigs(const DescribeLiveDomainConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainConfigsOutcome(DescribeLiveDomainConfigsResult(outcome.result()));
+	else
+		return DescribeLiveDomainConfigsOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainConfigsAsync(const DescribeLiveDomainConfigsRequest& request, const DescribeLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainConfigsOutcomeCallable LiveClient::describeLiveDomainConfigsCallable(const DescribeLiveDomainConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveStreamRecordIndexFilesOutcome LiveClient::describeLiveStreamRecordIndexFiles(const DescribeLiveStreamRecordIndexFilesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2931,6 +3255,78 @@ LiveClient::DeleteLiveMixConfigOutcomeCallable LiveClient::deleteLiveMixConfigCa
 	return task->get_future();
 }
 
+LiveClient::BatchDeleteLiveDomainConfigsOutcome LiveClient::batchDeleteLiveDomainConfigs(const BatchDeleteLiveDomainConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BatchDeleteLiveDomainConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BatchDeleteLiveDomainConfigsOutcome(BatchDeleteLiveDomainConfigsResult(outcome.result()));
+	else
+		return BatchDeleteLiveDomainConfigsOutcome(outcome.error());
+}
+
+void LiveClient::batchDeleteLiveDomainConfigsAsync(const BatchDeleteLiveDomainConfigsRequest& request, const BatchDeleteLiveDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, batchDeleteLiveDomainConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::BatchDeleteLiveDomainConfigsOutcomeCallable LiveClient::batchDeleteLiveDomainConfigsCallable(const BatchDeleteLiveDomainConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BatchDeleteLiveDomainConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->batchDeleteLiveDomainConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LiveClient::SetLiveDomainCertificateOutcome LiveClient::setLiveDomainCertificate(const SetLiveDomainCertificateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetLiveDomainCertificateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetLiveDomainCertificateOutcome(SetLiveDomainCertificateResult(outcome.result()));
+	else
+		return SetLiveDomainCertificateOutcome(outcome.error());
+}
+
+void LiveClient::setLiveDomainCertificateAsync(const SetLiveDomainCertificateRequest& request, const SetLiveDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setLiveDomainCertificate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::SetLiveDomainCertificateOutcomeCallable LiveClient::setLiveDomainCertificateCallable(const SetLiveDomainCertificateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetLiveDomainCertificateOutcome()>>(
+			[this, request]()
+			{
+			return this->setLiveDomainCertificate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ForbidLiveStreamOutcome LiveClient::forbidLiveStream(const ForbidLiveStreamRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3291,6 +3687,42 @@ LiveClient::DeleteCasterComponentOutcomeCallable LiveClient::deleteCasterCompone
 	return task->get_future();
 }
 
+LiveClient::DeleteLiveDomainOutcome LiveClient::deleteLiveDomain(const DeleteLiveDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveDomainOutcome(DeleteLiveDomainResult(outcome.result()));
+	else
+		return DeleteLiveDomainOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveDomainAsync(const DeleteLiveDomainRequest& request, const DeleteLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveDomainOutcomeCallable LiveClient::deleteLiveDomainCallable(const DeleteLiveDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::SetCasterConfigOutcome LiveClient::setCasterConfig(const SetCasterConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3471,6 +3903,42 @@ LiveClient::AddCasterLayoutOutcomeCallable LiveClient::addCasterLayoutCallable(c
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveUserDomainsOutcome LiveClient::describeLiveUserDomains(const DescribeLiveUserDomainsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveUserDomainsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveUserDomainsOutcome(DescribeLiveUserDomainsResult(outcome.result()));
+	else
+		return DescribeLiveUserDomainsOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveUserDomainsAsync(const DescribeLiveUserDomainsRequest& request, const DescribeLiveUserDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveUserDomains(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveUserDomainsOutcomeCallable LiveClient::describeLiveUserDomainsCallable(const DescribeLiveUserDomainsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveUserDomainsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveUserDomains(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ModifyCasterLayoutOutcome LiveClient::modifyCasterLayout(const ModifyCasterLayoutRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3651,6 +4119,42 @@ LiveClient::DeleteCasterSceneConfigOutcomeCallable LiveClient::deleteCasterScene
 	return task->get_future();
 }
 
+LiveClient::AddLiveDomainOutcome LiveClient::addLiveDomain(const AddLiveDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddLiveDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddLiveDomainOutcome(AddLiveDomainResult(outcome.result()));
+	else
+		return AddLiveDomainOutcome(outcome.error());
+}
+
+void LiveClient::addLiveDomainAsync(const AddLiveDomainRequest& request, const AddLiveDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addLiveDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::AddLiveDomainOutcomeCallable LiveClient::addLiveDomainCallable(const AddLiveDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddLiveDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->addLiveDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveAppRecordConfigOutcome LiveClient::deleteLiveAppRecordConfig(const DeleteLiveAppRecordConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 1 - 1
live/src/model/AddCasterEpisodeGroupRequest.cc

@@ -48,8 +48,8 @@ void AddCasterEpisodeGroupRequest::setItem(const std::vector<Item>& item)
 	for(int i = 0; i!= item.size(); i++)	{
 		auto obj = item.at(i);
 		std::string str ="Item."+ std::to_string(i);
-		setParameter(str + ".ItemName", obj.itemName);
 		setParameter(str + ".VodUrl", obj.vodUrl);
+		setParameter(str + ".ItemName", obj.itemName);
 	}
 }
 

+ 3 - 3
live/src/model/AddCasterLayoutRequest.cc

@@ -49,9 +49,9 @@ void AddCasterLayoutRequest::setAudioLayer(const std::vector<AudioLayer>& audioL
 	for(int i = 0; i!= audioLayer.size(); i++)	{
 		auto obj = audioLayer.at(i);
 		std::string str ="AudioLayer."+ std::to_string(i);
+		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 		setParameter(str + ".VolumeRate", std::to_string(obj.volumeRate));
 		setParameter(str + ".ValidChannel", obj.validChannel);
-		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 	}
 }
 
@@ -68,11 +68,11 @@ void AddCasterLayoutRequest::setVideoLayer(const std::vector<VideoLayer>& videoL
 		auto obj = videoLayer.at(i);
 		std::string str ="VideoLayer."+ std::to_string(i);
 		setParameter(str + ".FillMode", obj.fillMode);
-		setParameter(str + ".HeightNormalized", std::to_string(obj.heightNormalized));
 		setParameter(str + ".WidthNormalized", std::to_string(obj.widthNormalized));
+		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 		setParameter(str + ".PositionRefer", obj.positionRefer);
 		for(int i = 0; i!= obj.positionNormalized.size(); i++)
				setParameter(str + ".PositionNormalized."+ std::to_string(i), std::to_string(obj.positionNormalized.at(i)));
-		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
+		setParameter(str + ".HeightNormalized", std::to_string(obj.heightNormalized));
 	}
 }
 

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

@@ -48,13 +48,13 @@ void AddCasterProgramRequest::setEpisode(const std::vector<Episode>& episode)
 	for(int i = 0; i!= episode.size(); i++)	{
 		auto obj = episode.at(i);
 		std::string str ="Episode."+ std::to_string(i);
-		setParameter(str + ".EpisodeType", obj.episodeType);
-		setParameter(str + ".EpisodeName", obj.episodeName);
 		setParameter(str + ".ResourceId", obj.resourceId);
 		for(int i = 0; i!= obj.componentId.size(); i++)
				setParameter(str + ".ComponentId."+ std::to_string(i), obj.componentId.at(i));
-		setParameter(str + ".StartTime", obj.startTime);
-		setParameter(str + ".EndTime", obj.endTime);
 		setParameter(str + ".SwitchType", obj.switchType);
+		setParameter(str + ".EpisodeType", obj.episodeType);
+		setParameter(str + ".EpisodeName", obj.episodeName);
+		setParameter(str + ".EndTime", obj.endTime);
+		setParameter(str + ".StartTime", obj.startTime);
 	}
 }
 

+ 30 - 30
live/src/model/AddCustomLiveStreamTranscodeRequest.cc

@@ -47,70 +47,70 @@ void AddCustomLiveStreamTranscodeRequest::set_Template(const std::string& _templ
 	setParameter("_Template", _template);
 }
 
-int AddCustomLiveStreamTranscodeRequest::getFPS()const
+int AddCustomLiveStreamTranscodeRequest::getProfile()const
 {
-	return fPS_;
+	return profile_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setFPS(int fPS)
+void AddCustomLiveStreamTranscodeRequest::setProfile(int profile)
 {
-	fPS_ = fPS;
-	setParameter("FPS", std::to_string(fPS));
+	profile_ = profile;
+	setParameter("Profile", std::to_string(profile));
 }
 
-long AddCustomLiveStreamTranscodeRequest::getOwnerId()const
+int AddCustomLiveStreamTranscodeRequest::getFPS()const
 {
-	return ownerId_;
+	return fPS_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setOwnerId(long ownerId)
+void AddCustomLiveStreamTranscodeRequest::setFPS(int fPS)
 {
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
+	fPS_ = fPS;
+	setParameter("FPS", std::to_string(fPS));
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getVersion()const
+std::string AddCustomLiveStreamTranscodeRequest::getGop()const
 {
-	return version_;
+	return gop_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setVersion(const std::string& version)
+void AddCustomLiveStreamTranscodeRequest::setGop(const std::string& gop)
 {
-	version_ = version;
-	setParameter("Version", version);
+	gop_ = gop;
+	setParameter("Gop", gop);
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getAccessKeyId()const
+long AddCustomLiveStreamTranscodeRequest::getOwnerId()const
 {
-	return accessKeyId_;
+	return ownerId_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setAccessKeyId(const std::string& accessKeyId)
+void AddCustomLiveStreamTranscodeRequest::setOwnerId(long ownerId)
 {
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getSecurityToken()const
+std::string AddCustomLiveStreamTranscodeRequest::getTemplateType()const
 {
-	return securityToken_;
+	return templateType_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setSecurityToken(const std::string& securityToken)
+void AddCustomLiveStreamTranscodeRequest::setTemplateType(const std::string& templateType)
 {
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
+	templateType_ = templateType;
+	setParameter("TemplateType", templateType);
 }
 
-std::string AddCustomLiveStreamTranscodeRequest::getTemplateType()const
+int AddCustomLiveStreamTranscodeRequest::getAudioBitrate()const
 {
-	return templateType_;
+	return audioBitrate_;
 }
 
-void AddCustomLiveStreamTranscodeRequest::setTemplateType(const std::string& templateType)
+void AddCustomLiveStreamTranscodeRequest::setAudioBitrate(int audioBitrate)
 {
-	templateType_ = templateType;
-	setParameter("TemplateType", templateType);
+	audioBitrate_ = audioBitrate;
+	setParameter("AudioBitrate", std::to_string(audioBitrate));
 }
 
 std::string AddCustomLiveStreamTranscodeRequest::getDomain()const

+ 1 - 1
live/src/model/AddLiveAppRecordConfigRequest.cc

@@ -136,9 +136,9 @@ void AddLiveAppRecordConfigRequest::setRecordFormat(const std::vector<RecordForm
 	for(int i = 0; i!= recordFormat.size(); i++)	{
 		auto obj = recordFormat.at(i);
 		std::string str ="RecordFormat."+ std::to_string(i);
+		setParameter(str + ".SliceOssObjectPrefix", obj.sliceOssObjectPrefix);
 		setParameter(str + ".Format", obj.format);
 		setParameter(str + ".OssObjectPrefix", obj.ossObjectPrefix);
-		setParameter(str + ".SliceOssObjectPrefix", obj.sliceOssObjectPrefix);
 		setParameter(str + ".CycleDuration", std::to_string(obj.cycleDuration));
 	}
 }

+ 126 - 0
live/src/model/AddLiveDomainRequest.cc

@@ -0,0 +1,126 @@
+/*
+ * 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/AddLiveDomainRequest.h>
+
+using AlibabaCloud::Live::Model::AddLiveDomainRequest;
+
+AddLiveDomainRequest::AddLiveDomainRequest() :
+	RpcServiceRequest("live", "2016-11-01", "AddLiveDomain")
+{}
+
+AddLiveDomainRequest::~AddLiveDomainRequest()
+{}
+
+std::string AddLiveDomainRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void AddLiveDomainRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string AddLiveDomainRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void AddLiveDomainRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string AddLiveDomainRequest::getScope()const
+{
+	return scope_;
+}
+
+void AddLiveDomainRequest::setScope(const std::string& scope)
+{
+	scope_ = scope;
+	setParameter("Scope", scope);
+}
+
+std::string AddLiveDomainRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void AddLiveDomainRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long AddLiveDomainRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void AddLiveDomainRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string AddLiveDomainRequest::getRegion()const
+{
+	return region_;
+}
+
+void AddLiveDomainRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+
+std::string AddLiveDomainRequest::getCheckUrl()const
+{
+	return checkUrl_;
+}
+
+void AddLiveDomainRequest::setCheckUrl(const std::string& checkUrl)
+{
+	checkUrl_ = checkUrl;
+	setParameter("CheckUrl", checkUrl);
+}
+
+std::string AddLiveDomainRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AddLiveDomainRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string AddLiveDomainRequest::getLiveDomainType()const
+{
+	return liveDomainType_;
+}
+
+void AddLiveDomainRequest::setLiveDomainType(const std::string& liveDomainType)
+{
+	liveDomainType_ = liveDomainType;
+	setParameter("LiveDomainType", liveDomainType);
+}
+

+ 5 - 19
live/src/model/ImagePornDetectionResult.cc → live/src/model/AddLiveDomainResult.cc

@@ -14,46 +14,32 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/live/model/ImagePornDetectionResult.h>
+#include <alibabacloud/live/model/AddLiveDomainResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Live;
 using namespace AlibabaCloud::Live::Model;
 
-ImagePornDetectionResult::ImagePornDetectionResult() :
+AddLiveDomainResult::AddLiveDomainResult() :
 	ServiceResult()
 {}
 
-ImagePornDetectionResult::ImagePornDetectionResult(const std::string &payload) :
+AddLiveDomainResult::AddLiveDomainResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-ImagePornDetectionResult::~ImagePornDetectionResult()
+AddLiveDomainResult::~AddLiveDomainResult()
 {}
 
-void ImagePornDetectionResult::parse(const std::string &payload)
+void AddLiveDomainResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	if(!value["Label"].isNull())
-		label_ = value["Label"].asString();
-	if(!value["Rate"].isNull())
-		rate_ = std::stof(value["Rate"].asString());
 
 }
 
-float ImagePornDetectionResult::getRate()const
-{
-	return rate_;
-}
-
-std::string ImagePornDetectionResult::getLabel()const
-{
-	return label_;
-}
-

+ 93 - 0
live/src/model/BatchDeleteLiveDomainConfigsRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/BatchDeleteLiveDomainConfigsRequest.h>
+
+using AlibabaCloud::Live::Model::BatchDeleteLiveDomainConfigsRequest;
+
+BatchDeleteLiveDomainConfigsRequest::BatchDeleteLiveDomainConfigsRequest() :
+	RpcServiceRequest("live", "2016-11-01", "BatchDeleteLiveDomainConfigs")
+{}
+
+BatchDeleteLiveDomainConfigsRequest::~BatchDeleteLiveDomainConfigsRequest()
+{}
+
+std::string BatchDeleteLiveDomainConfigsRequest::getFunctionNames()const
+{
+	return functionNames_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setFunctionNames(const std::string& functionNames)
+{
+	functionNames_ = functionNames;
+	setParameter("FunctionNames", functionNames);
+}
+
+std::string BatchDeleteLiveDomainConfigsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string BatchDeleteLiveDomainConfigsRequest::getDomainNames()const
+{
+	return domainNames_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setDomainNames(const std::string& domainNames)
+{
+	domainNames_ = domainNames;
+	setParameter("DomainNames", domainNames);
+}
+
+std::string BatchDeleteLiveDomainConfigsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long BatchDeleteLiveDomainConfigsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string BatchDeleteLiveDomainConfigsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BatchDeleteLiveDomainConfigsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 93 - 0
live/src/model/BatchSetLiveDomainConfigsRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/BatchSetLiveDomainConfigsRequest.h>
+
+using AlibabaCloud::Live::Model::BatchSetLiveDomainConfigsRequest;
+
+BatchSetLiveDomainConfigsRequest::BatchSetLiveDomainConfigsRequest() :
+	RpcServiceRequest("live", "2016-11-01", "BatchSetLiveDomainConfigs")
+{}
+
+BatchSetLiveDomainConfigsRequest::~BatchSetLiveDomainConfigsRequest()
+{}
+
+std::string BatchSetLiveDomainConfigsRequest::getFunctions()const
+{
+	return functions_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setFunctions(const std::string& functions)
+{
+	functions_ = functions;
+	setParameter("Functions", functions);
+}
+
+std::string BatchSetLiveDomainConfigsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string BatchSetLiveDomainConfigsRequest::getDomainNames()const
+{
+	return domainNames_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setDomainNames(const std::string& domainNames)
+{
+	domainNames_ = domainNames;
+	setParameter("DomainNames", domainNames);
+}
+
+std::string BatchSetLiveDomainConfigsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long BatchSetLiveDomainConfigsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string BatchSetLiveDomainConfigsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BatchSetLiveDomainConfigsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 82 - 0
live/src/model/DeleteLiveDomainRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/DeleteLiveDomainRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLiveDomainRequest;
+
+DeleteLiveDomainRequest::DeleteLiveDomainRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DeleteLiveDomain")
+{}
+
+DeleteLiveDomainRequest::~DeleteLiveDomainRequest()
+{}
+
+std::string DeleteLiveDomainRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteLiveDomainRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteLiveDomainRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteLiveDomainRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DeleteLiveDomainRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DeleteLiveDomainRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DeleteLiveDomainRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteLiveDomainRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteLiveDomainRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteLiveDomainRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 82 - 0
live/src/model/DeleteLiveSpecificConfigRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/DeleteLiveSpecificConfigRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLiveSpecificConfigRequest;
+
+DeleteLiveSpecificConfigRequest::DeleteLiveSpecificConfigRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DeleteLiveSpecificConfig")
+{}
+
+DeleteLiveSpecificConfigRequest::~DeleteLiveSpecificConfigRequest()
+{}
+
+std::string DeleteLiveSpecificConfigRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteLiveSpecificConfigRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteLiveSpecificConfigRequest::getConfigId()const
+{
+	return configId_;
+}
+
+void DeleteLiveSpecificConfigRequest::setConfigId(const std::string& configId)
+{
+	configId_ = configId;
+	setParameter("ConfigId", configId);
+}
+
+std::string DeleteLiveSpecificConfigRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DeleteLiveSpecificConfigRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DeleteLiveSpecificConfigRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteLiveSpecificConfigRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteLiveSpecificConfigRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteLiveSpecificConfigRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 71 - 0
live/src/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeHlsLiveStreamRealTimeBpsDataRequest;
+
+DescribeHlsLiveStreamRealTimeBpsDataRequest::DescribeHlsLiveStreamRealTimeBpsDataRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeHlsLiveStreamRealTimeBpsData")
+{}
+
+DescribeHlsLiveStreamRealTimeBpsDataRequest::~DescribeHlsLiveStreamRealTimeBpsDataRequest()
+{}
+
+std::string DescribeHlsLiveStreamRealTimeBpsDataRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeHlsLiveStreamRealTimeBpsDataRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeHlsLiveStreamRealTimeBpsDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeHlsLiveStreamRealTimeBpsDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeHlsLiveStreamRealTimeBpsDataRequest::getTime()const
+{
+	return time_;
+}
+
+void DescribeHlsLiveStreamRealTimeBpsDataRequest::setTime(const std::string& time)
+{
+	time_ = time;
+	setParameter("Time", time);
+}
+
+long DescribeHlsLiveStreamRealTimeBpsDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeHlsLiveStreamRealTimeBpsDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 85 - 0
live/src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeHlsLiveStreamRealTimeBpsDataResult::DescribeHlsLiveStreamRealTimeBpsDataResult() :
+	ServiceResult()
+{}
+
+DescribeHlsLiveStreamRealTimeBpsDataResult::DescribeHlsLiveStreamRealTimeBpsDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeHlsLiveStreamRealTimeBpsDataResult::~DescribeHlsLiveStreamRealTimeBpsDataResult()
+{}
+
+void DescribeHlsLiveStreamRealTimeBpsDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allUsageData = value["UsageData"]["UsageDataPerDomain"];
+	for (auto value : allUsageData)
+	{
+		UsageDataPerDomain usageDataObject;
+		if(!value["DomainName"].isNull())
+			usageDataObject.domainName = value["DomainName"].asString();
+		auto allStreamInfos = value["StreamInfos"]["StreamInfo"];
+		for (auto value : allStreamInfos)
+		{
+			UsageDataPerDomain::StreamInfo streamInfosObject;
+			if(!value["StreamName"].isNull())
+				streamInfosObject.streamName = value["StreamName"].asString();
+			auto allInfos = value["Infos"]["Info"];
+			for (auto value : allInfos)
+			{
+				UsageDataPerDomain::StreamInfo::Info infosObject;
+				if(!value["DownFlow"].isNull())
+					infosObject.downFlow = std::stof(value["DownFlow"].asString());
+				if(!value["Rate"].isNull())
+					infosObject.rate = value["Rate"].asString();
+				if(!value["Online"].isNull())
+					infosObject.online = std::stof(value["Online"].asString());
+				streamInfosObject.infos.push_back(infosObject);
+			}
+			usageDataObject.streamInfos.push_back(streamInfosObject);
+		}
+		usageData_.push_back(usageDataObject);
+	}
+	if(!value["Time"].isNull())
+		time_ = value["Time"].asString();
+
+}
+
+std::vector<DescribeHlsLiveStreamRealTimeBpsDataResult::UsageDataPerDomain> DescribeHlsLiveStreamRealTimeBpsDataResult::getUsageData()const
+{
+	return usageData_;
+}
+
+std::string DescribeHlsLiveStreamRealTimeBpsDataResult::getTime()const
+{
+	return time_;
+}
+

+ 71 - 0
live/src/model/DescribeLiveCertificateDetailRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveCertificateDetailRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveCertificateDetailRequest;
+
+DescribeLiveCertificateDetailRequest::DescribeLiveCertificateDetailRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveCertificateDetail")
+{}
+
+DescribeLiveCertificateDetailRequest::~DescribeLiveCertificateDetailRequest()
+{}
+
+std::string DescribeLiveCertificateDetailRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLiveCertificateDetailRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLiveCertificateDetailRequest::getCertName()const
+{
+	return certName_;
+}
+
+void DescribeLiveCertificateDetailRequest::setCertName(const std::string& certName)
+{
+	certName_ = certName;
+	setParameter("CertName", certName);
+}
+
+long DescribeLiveCertificateDetailRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveCertificateDetailRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeLiveCertificateDetailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLiveCertificateDetailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 73 - 0
live/src/model/DescribeLiveCertificateDetailResult.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/DescribeLiveCertificateDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveCertificateDetailResult::DescribeLiveCertificateDetailResult() :
+	ServiceResult()
+{}
+
+DescribeLiveCertificateDetailResult::DescribeLiveCertificateDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveCertificateDetailResult::~DescribeLiveCertificateDetailResult()
+{}
+
+void DescribeLiveCertificateDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Cert"].isNull())
+		cert_ = value["Cert"].asString();
+	if(!value["Key"].isNull())
+		key_ = value["Key"].asString();
+	if(!value["CertId"].isNull())
+		certId_ = std::stol(value["CertId"].asString());
+	if(!value["CertName"].isNull())
+		certName_ = value["CertName"].asString();
+
+}
+
+long DescribeLiveCertificateDetailResult::getCertId()const
+{
+	return certId_;
+}
+
+std::string DescribeLiveCertificateDetailResult::getCert()const
+{
+	return cert_;
+}
+
+std::string DescribeLiveCertificateDetailResult::getCertName()const
+{
+	return certName_;
+}
+
+std::string DescribeLiveCertificateDetailResult::getKey()const
+{
+	return key_;
+}
+

+ 71 - 0
live/src/model/DescribeLiveCertificateListRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveCertificateListRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveCertificateListRequest;
+
+DescribeLiveCertificateListRequest::DescribeLiveCertificateListRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveCertificateList")
+{}
+
+DescribeLiveCertificateListRequest::~DescribeLiveCertificateListRequest()
+{}
+
+std::string DescribeLiveCertificateListRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLiveCertificateListRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLiveCertificateListRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveCertificateListRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeLiveCertificateListRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveCertificateListRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeLiveCertificateListRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLiveCertificateListRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 71 - 0
live/src/model/DescribeLiveCertificateListResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveCertificateListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveCertificateListResult::DescribeLiveCertificateListResult() :
+	ServiceResult()
+{}
+
+DescribeLiveCertificateListResult::DescribeLiveCertificateListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveCertificateListResult::~DescribeLiveCertificateListResult()
+{}
+
+void DescribeLiveCertificateListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto certificateListModelNode = value["CertificateListModel"];
+	if(!certificateListModelNode["Count"].isNull())
+		certificateListModel_.count = std::stoi(certificateListModelNode["Count"].asString());
+	auto allCertList = value["CertList"]["Cert"];
+	for (auto value : allCertList)
+	{
+		CertificateListModel::Cert certObject;
+		if(!value["CertName"].isNull())
+			certObject.certName = value["CertName"].asString();
+		if(!value["CertId"].isNull())
+			certObject.certId = std::stol(value["CertId"].asString());
+		if(!value["Fingerprint"].isNull())
+			certObject.fingerprint = value["Fingerprint"].asString();
+		if(!value["Common"].isNull())
+			certObject.common = value["Common"].asString();
+		if(!value["Issuer"].isNull())
+			certObject.issuer = value["Issuer"].asString();
+		if(!value["LastTime"].isNull())
+			certObject.lastTime = std::stol(value["LastTime"].asString());
+		certificateListModel_.certList.push_back(certObject);
+	}
+
+}
+
+DescribeLiveCertificateListResult::CertificateListModel DescribeLiveCertificateListResult::getCertificateListModel()const
+{
+	return certificateListModel_;
+}
+

+ 82 - 0
live/src/model/DescribeLiveDomainConfigsRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/DescribeLiveDomainConfigsRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainConfigsRequest;
+
+DescribeLiveDomainConfigsRequest::DescribeLiveDomainConfigsRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainConfigs")
+{}
+
+DescribeLiveDomainConfigsRequest::~DescribeLiveDomainConfigsRequest()
+{}
+
+std::string DescribeLiveDomainConfigsRequest::getFunctionNames()const
+{
+	return functionNames_;
+}
+
+void DescribeLiveDomainConfigsRequest::setFunctionNames(const std::string& functionNames)
+{
+	functionNames_ = functionNames;
+	setParameter("FunctionNames", functionNames);
+}
+
+std::string DescribeLiveDomainConfigsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLiveDomainConfigsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLiveDomainConfigsRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveDomainConfigsRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeLiveDomainConfigsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveDomainConfigsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeLiveDomainConfigsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLiveDomainConfigsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 72 - 0
live/src/model/DescribeLiveDomainConfigsResult.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/DescribeLiveDomainConfigsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveDomainConfigsResult::DescribeLiveDomainConfigsResult() :
+	ServiceResult()
+{}
+
+DescribeLiveDomainConfigsResult::DescribeLiveDomainConfigsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveDomainConfigsResult::~DescribeLiveDomainConfigsResult()
+{}
+
+void DescribeLiveDomainConfigsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDomainConfigs = value["DomainConfigs"]["DomainConfig"];
+	for (auto value : allDomainConfigs)
+	{
+		DomainConfig domainConfigsObject;
+		if(!value["FunctionName"].isNull())
+			domainConfigsObject.functionName = value["FunctionName"].asString();
+		if(!value["ConfigId"].isNull())
+			domainConfigsObject.configId = value["ConfigId"].asString();
+		if(!value["Status"].isNull())
+			domainConfigsObject.status = value["Status"].asString();
+		auto allFunctionArgs = value["FunctionArgs"]["FunctionArg"];
+		for (auto value : allFunctionArgs)
+		{
+			DomainConfig::FunctionArg functionArgsObject;
+			if(!value["ArgName"].isNull())
+				functionArgsObject.argName = value["ArgName"].asString();
+			if(!value["ArgValue"].isNull())
+				functionArgsObject.argValue = value["ArgValue"].asString();
+			domainConfigsObject.functionArgs.push_back(functionArgsObject);
+		}
+		domainConfigs_.push_back(domainConfigsObject);
+	}
+
+}
+
+std::vector<DescribeLiveDomainConfigsResult::DomainConfig> DescribeLiveDomainConfigsResult::getDomainConfigs()const
+{
+	return domainConfigs_;
+}
+

+ 71 - 0
live/src/model/DescribeLiveDomainDetailRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveDomainDetailRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainDetailRequest;
+
+DescribeLiveDomainDetailRequest::DescribeLiveDomainDetailRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainDetail")
+{}
+
+DescribeLiveDomainDetailRequest::~DescribeLiveDomainDetailRequest()
+{}
+
+std::string DescribeLiveDomainDetailRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLiveDomainDetailRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeLiveDomainDetailRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveDomainDetailRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeLiveDomainDetailRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveDomainDetailRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeLiveDomainDetailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLiveDomainDetailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 75 - 0
live/src/model/DescribeLiveDomainDetailResult.cc

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveDomainDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveDomainDetailResult::DescribeLiveDomainDetailResult() :
+	ServiceResult()
+{}
+
+DescribeLiveDomainDetailResult::DescribeLiveDomainDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveDomainDetailResult::~DescribeLiveDomainDetailResult()
+{}
+
+void DescribeLiveDomainDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto domainDetailNode = value["DomainDetail"];
+	if(!domainDetailNode["GmtCreated"].isNull())
+		domainDetail_.gmtCreated = domainDetailNode["GmtCreated"].asString();
+	if(!domainDetailNode["GmtModified"].isNull())
+		domainDetail_.gmtModified = domainDetailNode["GmtModified"].asString();
+	if(!domainDetailNode["DomainStatus"].isNull())
+		domainDetail_.domainStatus = domainDetailNode["DomainStatus"].asString();
+	if(!domainDetailNode["Cname"].isNull())
+		domainDetail_.cname = domainDetailNode["Cname"].asString();
+	if(!domainDetailNode["DomainName"].isNull())
+		domainDetail_.domainName = domainDetailNode["DomainName"].asString();
+	if(!domainDetailNode["LiveDomainType"].isNull())
+		domainDetail_.liveDomainType = domainDetailNode["LiveDomainType"].asString();
+	if(!domainDetailNode["Region"].isNull())
+		domainDetail_.region = domainDetailNode["Region"].asString();
+	if(!domainDetailNode["Description"].isNull())
+		domainDetail_.description = domainDetailNode["Description"].asString();
+	if(!domainDetailNode["SSLProtocol"].isNull())
+		domainDetail_.sSLProtocol = domainDetailNode["SSLProtocol"].asString();
+	if(!domainDetailNode["SSLPub"].isNull())
+		domainDetail_.sSLPub = domainDetailNode["SSLPub"].asString();
+	if(!domainDetailNode["Scope"].isNull())
+		domainDetail_.scope = domainDetailNode["Scope"].asString();
+	if(!domainDetailNode["CertName"].isNull())
+		domainDetail_.certName = domainDetailNode["CertName"].asString();
+
+}
+
+DescribeLiveDomainDetailResult::DomainDetail DescribeLiveDomainDetailResult::getDomainDetail()const
+{
+	return domainDetail_;
+}
+

+ 60 - 0
live/src/model/DescribeLiveStreamCountRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveStreamCountRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveStreamCountRequest;
+
+DescribeLiveStreamCountRequest::DescribeLiveStreamCountRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveStreamCount")
+{}
+
+DescribeLiveStreamCountRequest::~DescribeLiveStreamCountRequest()
+{}
+
+std::string DescribeLiveStreamCountRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeLiveStreamCountRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeLiveStreamCountRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveStreamCountRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeLiveStreamCountRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveStreamCountRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 74 - 0
live/src/model/DescribeLiveStreamCountResult.cc

@@ -0,0 +1,74 @@
+/*
+ * 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/DescribeLiveStreamCountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveStreamCountResult::DescribeLiveStreamCountResult() :
+	ServiceResult()
+{}
+
+DescribeLiveStreamCountResult::DescribeLiveStreamCountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveStreamCountResult::~DescribeLiveStreamCountResult()
+{}
+
+void DescribeLiveStreamCountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allStreamCountInfos = value["StreamCountInfos"]["StreamCountInfo"];
+	for (auto value : allStreamCountInfos)
+	{
+		StreamCountInfo streamCountInfosObject;
+		if(!value["Count"].isNull())
+			streamCountInfosObject.count = std::stol(value["Count"].asString());
+		if(!value["Limit"].isNull())
+			streamCountInfosObject.limit = std::stol(value["Limit"].asString());
+		if(!value["Type"].isNull())
+			streamCountInfosObject.type = value["Type"].asString();
+		auto allStreamCountDetails = value["StreamCountDetails"]["StreamCountDetail"];
+		for (auto value : allStreamCountDetails)
+		{
+			StreamCountInfo::StreamCountDetail streamCountDetailsObject;
+			if(!value["Format"].isNull())
+				streamCountDetailsObject.format = value["Format"].asString();
+			if(!value["VideoDataRate"].isNull())
+				streamCountDetailsObject.videoDataRate = std::stol(value["VideoDataRate"].asString());
+			if(!value["Count"].isNull())
+				streamCountDetailsObject.count = std::stol(value["Count"].asString());
+			streamCountInfosObject.streamCountDetails.push_back(streamCountDetailsObject);
+		}
+		streamCountInfos_.push_back(streamCountInfosObject);
+	}
+
+}
+
+std::vector<DescribeLiveStreamCountResult::StreamCountInfo> DescribeLiveStreamCountResult::getStreamCountInfos()const
+{
+	return streamCountInfos_;
+}
+

+ 137 - 0
live/src/model/DescribeLiveUserDomainsRequest.cc

@@ -0,0 +1,137 @@
+/*
+ * 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/DescribeLiveUserDomainsRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveUserDomainsRequest;
+
+DescribeLiveUserDomainsRequest::DescribeLiveUserDomainsRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveUserDomains")
+{}
+
+DescribeLiveUserDomainsRequest::~DescribeLiveUserDomainsRequest()
+{}
+
+std::string DescribeLiveUserDomainsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeLiveUserDomainsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeLiveUserDomainsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeLiveUserDomainsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeLiveUserDomainsRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveUserDomainsRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeLiveUserDomainsRequest::getRegionName()const
+{
+	return regionName_;
+}
+
+void DescribeLiveUserDomainsRequest::setRegionName(const std::string& regionName)
+{
+	regionName_ = regionName;
+	setParameter("RegionName", regionName);
+}
+
+long DescribeLiveUserDomainsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveUserDomainsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+int DescribeLiveUserDomainsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeLiveUserDomainsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeLiveUserDomainsRequest::getDomainStatus()const
+{
+	return domainStatus_;
+}
+
+void DescribeLiveUserDomainsRequest::setDomainStatus(const std::string& domainStatus)
+{
+	domainStatus_ = domainStatus;
+	setParameter("DomainStatus", domainStatus);
+}
+
+std::string DescribeLiveUserDomainsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeLiveUserDomainsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeLiveUserDomainsRequest::getLiveDomainType()const
+{
+	return liveDomainType_;
+}
+
+void DescribeLiveUserDomainsRequest::setLiveDomainType(const std::string& liveDomainType)
+{
+	liveDomainType_ = liveDomainType;
+	setParameter("LiveDomainType", liveDomainType);
+}
+
+std::string DescribeLiveUserDomainsRequest::getDomainSearchType()const
+{
+	return domainSearchType_;
+}
+
+void DescribeLiveUserDomainsRequest::setDomainSearchType(const std::string& domainSearchType)
+{
+	domainSearchType_ = domainSearchType;
+	setParameter("DomainSearchType", domainSearchType);
+}
+

+ 93 - 0
live/src/model/DescribeLiveUserDomainsResult.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeLiveUserDomainsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveUserDomainsResult::DescribeLiveUserDomainsResult() :
+	ServiceResult()
+{}
+
+DescribeLiveUserDomainsResult::DescribeLiveUserDomainsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveUserDomainsResult::~DescribeLiveUserDomainsResult()
+{}
+
+void DescribeLiveUserDomainsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDomains = value["Domains"]["PageData"];
+	for (auto value : allDomains)
+	{
+		PageData domainsObject;
+		if(!value["DomainName"].isNull())
+			domainsObject.domainName = value["DomainName"].asString();
+		if(!value["Cname"].isNull())
+			domainsObject.cname = value["Cname"].asString();
+		if(!value["LiveDomainType"].isNull())
+			domainsObject.liveDomainType = value["LiveDomainType"].asString();
+		if(!value["GmtCreated"].isNull())
+			domainsObject.gmtCreated = value["GmtCreated"].asString();
+		if(!value["GmtModified"].isNull())
+			domainsObject.gmtModified = value["GmtModified"].asString();
+		if(!value["Description"].isNull())
+			domainsObject.description = value["Description"].asString();
+		if(!value["LiveDomainStatus"].isNull())
+			domainsObject.liveDomainStatus = value["LiveDomainStatus"].asString();
+		if(!value["RegionName"].isNull())
+			domainsObject.regionName = value["RegionName"].asString();
+		domains_.push_back(domainsObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+
+}
+
+std::vector<DescribeLiveUserDomainsResult::PageData> DescribeLiveUserDomainsResult::getDomains()const
+{
+	return domains_;
+}
+
+long DescribeLiveUserDomainsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribeLiveUserDomainsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribeLiveUserDomainsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 3 - 3
live/src/model/ModifyCasterLayoutRequest.cc

@@ -49,9 +49,9 @@ void ModifyCasterLayoutRequest::setAudioLayer(const std::vector<AudioLayer>& aud
 	for(int i = 0; i!= audioLayer.size(); i++)	{
 		auto obj = audioLayer.at(i);
 		std::string str ="AudioLayer."+ std::to_string(i);
+		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 		setParameter(str + ".VolumeRate", std::to_string(obj.volumeRate));
 		setParameter(str + ".ValidChannel", obj.validChannel);
-		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 	}
 }
 
@@ -68,11 +68,11 @@ void ModifyCasterLayoutRequest::setVideoLayer(const std::vector<VideoLayer>& vid
 		auto obj = videoLayer.at(i);
 		std::string str ="VideoLayer."+ std::to_string(i);
 		setParameter(str + ".FillMode", obj.fillMode);
-		setParameter(str + ".HeightNormalized", std::to_string(obj.heightNormalized));
 		setParameter(str + ".WidthNormalized", std::to_string(obj.widthNormalized));
+		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
 		setParameter(str + ".PositionRefer", obj.positionRefer);
 		for(int i = 0; i!= obj.positionNormalized.size(); i++)
				setParameter(str + ".PositionNormalized."+ std::to_string(i), std::to_string(obj.positionNormalized.at(i)));
-		setParameter(str + ".FixedDelayDuration", std::to_string(obj.fixedDelayDuration));
+		setParameter(str + ".HeightNormalized", std::to_string(obj.heightNormalized));
 	}
 }
 

+ 5 - 5
live/src/model/ModifyCasterProgramRequest.cc

@@ -48,14 +48,14 @@ void ModifyCasterProgramRequest::setEpisode(const std::vector<Episode>& episode)
 	for(int i = 0; i!= episode.size(); i++)	{
 		auto obj = episode.at(i);
 		std::string str ="Episode."+ std::to_string(i);
-		setParameter(str + ".EpisodeId", obj.episodeId);
-		setParameter(str + ".EpisodeType", obj.episodeType);
-		setParameter(str + ".EpisodeName", obj.episodeName);
 		setParameter(str + ".ResourceId", obj.resourceId);
 		for(int i = 0; i!= obj.componentId.size(); i++)
				setParameter(str + ".ComponentId."+ std::to_string(i), obj.componentId.at(i));
-		setParameter(str + ".StartTime", obj.startTime);
-		setParameter(str + ".EndTime", obj.endTime);
 		setParameter(str + ".SwitchType", obj.switchType);
+		setParameter(str + ".EpisodeType", obj.episodeType);
+		setParameter(str + ".EpisodeName", obj.episodeName);
+		setParameter(str + ".EndTime", obj.endTime);
+		setParameter(str + ".StartTime", obj.startTime);
+		setParameter(str + ".EpisodeId", obj.episodeId);
 	}
 }
 

+ 115 - 0
live/src/model/SetLiveDomainCertificateRequest.cc

@@ -0,0 +1,115 @@
+/*
+ * 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/SetLiveDomainCertificateRequest.h>
+
+using AlibabaCloud::Live::Model::SetLiveDomainCertificateRequest;
+
+SetLiveDomainCertificateRequest::SetLiveDomainCertificateRequest() :
+	RpcServiceRequest("live", "2016-11-01", "SetLiveDomainCertificate")
+{}
+
+SetLiveDomainCertificateRequest::~SetLiveDomainCertificateRequest()
+{}
+
+std::string SetLiveDomainCertificateRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void SetLiveDomainCertificateRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string SetLiveDomainCertificateRequest::getSSLPub()const
+{
+	return sSLPub_;
+}
+
+void SetLiveDomainCertificateRequest::setSSLPub(const std::string& sSLPub)
+{
+	sSLPub_ = sSLPub;
+	setParameter("SSLPub", sSLPub);
+}
+
+std::string SetLiveDomainCertificateRequest::getCertName()const
+{
+	return certName_;
+}
+
+void SetLiveDomainCertificateRequest::setCertName(const std::string& certName)
+{
+	certName_ = certName;
+	setParameter("CertName", certName);
+}
+
+std::string SetLiveDomainCertificateRequest::getSSLProtocol()const
+{
+	return sSLProtocol_;
+}
+
+void SetLiveDomainCertificateRequest::setSSLProtocol(const std::string& sSLProtocol)
+{
+	sSLProtocol_ = sSLProtocol;
+	setParameter("SSLProtocol", sSLProtocol);
+}
+
+std::string SetLiveDomainCertificateRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void SetLiveDomainCertificateRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long SetLiveDomainCertificateRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void SetLiveDomainCertificateRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string SetLiveDomainCertificateRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void SetLiveDomainCertificateRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string SetLiveDomainCertificateRequest::getSSLPri()const
+{
+	return sSLPri_;
+}
+
+void SetLiveDomainCertificateRequest::setSSLPri(const std::string& sSLPri)
+{
+	sSLPri_ = sSLPri;
+	setParameter("SSLPri", sSLPri);
+}
+

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

+ 16 - 16
live/src/model/ImagePornDetectionRequest.cc → live/src/model/StartLiveDomainRequest.cc

@@ -14,56 +14,56 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/live/model/ImagePornDetectionRequest.h>
+#include <alibabacloud/live/model/StartLiveDomainRequest.h>
 
-using AlibabaCloud::Live::Model::ImagePornDetectionRequest;
+using AlibabaCloud::Live::Model::StartLiveDomainRequest;
 
-ImagePornDetectionRequest::ImagePornDetectionRequest() :
-	RpcServiceRequest("live", "2016-11-01", "ImagePornDetection")
+StartLiveDomainRequest::StartLiveDomainRequest() :
+	RpcServiceRequest("live", "2016-11-01", "StartLiveDomain")
 {}
 
-ImagePornDetectionRequest::~ImagePornDetectionRequest()
+StartLiveDomainRequest::~StartLiveDomainRequest()
 {}
 
-std::string ImagePornDetectionRequest::getSecurityToken()const
+std::string StartLiveDomainRequest::getSecurityToken()const
 {
 	return securityToken_;
 }
 
-void ImagePornDetectionRequest::setSecurityToken(const std::string& securityToken)
+void StartLiveDomainRequest::setSecurityToken(const std::string& securityToken)
 {
 	securityToken_ = securityToken;
 	setParameter("SecurityToken", securityToken);
 }
 
-std::string ImagePornDetectionRequest::getImageUrl()const
+std::string StartLiveDomainRequest::getDomainName()const
 {
-	return imageUrl_;
+	return domainName_;
 }
 
-void ImagePornDetectionRequest::setImageUrl(const std::string& imageUrl)
+void StartLiveDomainRequest::setDomainName(const std::string& domainName)
 {
-	imageUrl_ = imageUrl;
-	setParameter("ImageUrl", imageUrl);
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
 }
 
-long ImagePornDetectionRequest::getOwnerId()const
+long StartLiveDomainRequest::getOwnerId()const
 {
 	return ownerId_;
 }
 
-void ImagePornDetectionRequest::setOwnerId(long ownerId)
+void StartLiveDomainRequest::setOwnerId(long ownerId)
 {
 	ownerId_ = ownerId;
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
-std::string ImagePornDetectionRequest::getAccessKeyId()const
+std::string StartLiveDomainRequest::getAccessKeyId()const
 {
 	return accessKeyId_;
 }
 
-void ImagePornDetectionRequest::setAccessKeyId(const std::string& accessKeyId)
+void StartLiveDomainRequest::setAccessKeyId(const std::string& accessKeyId)
 {
 	accessKeyId_ = accessKeyId;
 	setParameter("AccessKeyId", accessKeyId);

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

+ 71 - 0
live/src/model/StopLiveDomainRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/live/model/StopLiveDomainRequest.h>
+
+using AlibabaCloud::Live::Model::StopLiveDomainRequest;
+
+StopLiveDomainRequest::StopLiveDomainRequest() :
+	RpcServiceRequest("live", "2016-11-01", "StopLiveDomain")
+{}
+
+StopLiveDomainRequest::~StopLiveDomainRequest()
+{}
+
+std::string StopLiveDomainRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void StopLiveDomainRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string StopLiveDomainRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void StopLiveDomainRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long StopLiveDomainRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void StopLiveDomainRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string StopLiveDomainRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void StopLiveDomainRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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