Selaa lähdekoodia

LIVE SDK Auto Released By wb-czb515173,Version:1.60.35

Signed-off-by: sdk-team <sdk-team@alibabacloud.com>
sdk-team 6 vuotta sitten
vanhempi
commit
15757163af
51 muutettua tiedostoa jossa 1903 lisäystä ja 1652 poistoa
  1. 3 0
      ChangeLog.txt
  2. 3 3
      services/live/add_live_app_record_config.go
  3. 0 107
      services/live/add_live_mix_config.go
  4. 0 106
      services/live/add_live_mix_notify_config.go
  5. 0 110
      services/live/add_live_pull_stream_info_config.go
  6. 0 110
      services/live/add_multiple_stream_mix_service.go
  7. 108 0
      services/live/apply_record_token.go
  8. 28 5
      services/live/client.go
  9. 107 0
      services/live/complete_board_record.go
  10. 6 4
      services/live/create_room.go
  11. 3 2
      services/live/delete_caster.go
  12. 0 106
      services/live/delete_live_mix_config.go
  13. 0 105
      services/live/delete_live_mix_notify_config.go
  14. 0 106
      services/live/delete_live_specific_config.go
  15. 105 0
      services/live/describe_live_domain_mapping.go
  16. 1 1
      services/live/describe_live_lazy_pull_stream_config.go
  17. 0 106
      services/live/describe_live_mix_config.go
  18. 0 106
      services/live/describe_live_mix_notify_config.go
  19. 107 0
      services/live/describe_live_stream_delay_config.go
  20. 0 1
      services/live/describe_live_stream_online_user_num.go
  21. 106 0
      services/live/describe_live_stream_optimized_feature_config.go
  22. 115 0
      services/live/describe_record.go
  23. 108 0
      services/live/describe_records.go
  24. 105 0
      services/live/modify_live_domain_schdm_by_property.go
  25. 109 0
      services/live/real_time_snapshot_command.go
  26. 0 110
      services/live/remove_multiple_stream_mix_service.go
  27. 109 0
      services/live/set_board_callback.go
  28. 1 0
      services/live/set_live_lazy_pull_stream_info_config.go
  29. 110 0
      services/live/set_live_stream_delay_config.go
  30. 107 0
      services/live/set_live_stream_optimized_feature_config.go
  31. 107 0
      services/live/start_board_record.go
  32. 114 0
      services/live/start_live_index.go
  33. 0 113
      services/live/start_mix_streams_service.go
  34. 0 108
      services/live/start_multiple_stream_mix_service.go
  35. 107 0
      services/live/stop_live_index.go
  36. 0 111
      services/live/stop_mix_streams_service.go
  37. 0 107
      services/live/stop_multiple_stream_mix_service.go
  38. 3 4
      services/live/struct_live_domain_model.go
  39. 3 3
      services/live/struct_live_domain_models.go
  40. 1 0
      services/live/struct_live_lazy_pull_config.go
  41. 4 3
      services/live/struct_live_stream_flv_delay_config.go
  42. 22 0
      services/live/struct_live_stream_hls_delay_config.go
  43. 9 0
      services/live/struct_live_stream_online_info.go
  44. 24 0
      services/live/struct_live_stream_optimized_feature_config.go
  45. 3 5
      services/live/struct_live_stream_optimized_feature_config_list.go
  46. 22 0
      services/live/struct_live_stream_rtmp_delay_config.go
  47. 30 0
      services/live/struct_record.go
  48. 3 3
      services/live/struct_records.go
  49. 1 1
      services/live/struct_stream_info.go
  50. 109 0
      services/live/update_board_callback.go
  51. 0 106
      services/live/update_live_mix_notify_config.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-06-04 Version: 1.60.35
+1, Add new API: UpdateLivePullStreamInfoConfig
+
 2019-06-03 Version: 1.60.34
 1, Add openapi of ACL.
 

+ 3 - 3
services/live/add_live_app_record_config.go

@@ -77,14 +77,14 @@ func (client *Client) AddLiveAppRecordConfigWithCallback(request *AddLiveAppReco
 type AddLiveAppRecordConfigRequest struct {
 	*requests.RpcRequest
 	OssBucket     string                                `position:"Query" name:"OssBucket"`
+	AppName       string                                `position:"Query" name:"AppName"`
+	SecurityToken string                                `position:"Query" name:"SecurityToken"`
+	RecordFormat  *[]AddLiveAppRecordConfigRecordFormat `position:"Query" name:"RecordFormat"  type:"Repeated"`
 	DomainName    string                                `position:"Query" name:"DomainName"`
 	OssEndpoint   string                                `position:"Query" name:"OssEndpoint"`
 	EndTime       string                                `position:"Query" name:"EndTime"`
 	StartTime     string                                `position:"Query" name:"StartTime"`
 	OwnerId       requests.Integer                      `position:"Query" name:"OwnerId"`
-	AppName       string                                `position:"Query" name:"AppName"`
-	SecurityToken string                                `position:"Query" name:"SecurityToken"`
-	RecordFormat  *[]AddLiveAppRecordConfigRecordFormat `position:"Query" name:"RecordFormat"  type:"Repeated"`
 	OnDemand      requests.Integer                      `position:"Query" name:"OnDemand"`
 	StreamName    string                                `position:"Query" name:"StreamName"`
 }

+ 0 - 107
services/live/add_live_mix_config.go

@@ -1,107 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// AddLiveMixConfig invokes the live.AddLiveMixConfig API synchronously
-// api document: https://help.aliyun.com/api/live/addlivemixconfig.html
-func (client *Client) AddLiveMixConfig(request *AddLiveMixConfigRequest) (response *AddLiveMixConfigResponse, err error) {
-	response = CreateAddLiveMixConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddLiveMixConfigWithChan invokes the live.AddLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLiveMixConfigWithChan(request *AddLiveMixConfigRequest) (<-chan *AddLiveMixConfigResponse, <-chan error) {
-	responseChan := make(chan *AddLiveMixConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddLiveMixConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddLiveMixConfigWithCallback invokes the live.AddLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLiveMixConfigWithCallback(request *AddLiveMixConfigRequest, callback func(response *AddLiveMixConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddLiveMixConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.AddLiveMixConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddLiveMixConfigRequest is the request struct for api AddLiveMixConfig
-type AddLiveMixConfigRequest struct {
-	*requests.RpcRequest
-	Template      string           `position:"Query" name:"Template"`
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// AddLiveMixConfigResponse is the response struct for api AddLiveMixConfig
-type AddLiveMixConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateAddLiveMixConfigRequest creates a request to invoke AddLiveMixConfig API
-func CreateAddLiveMixConfigRequest() (request *AddLiveMixConfigRequest) {
-	request = &AddLiveMixConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "AddLiveMixConfig", "live", "openAPI")
-	return
-}
-
-// CreateAddLiveMixConfigResponse creates a response to parse from AddLiveMixConfig response
-func CreateAddLiveMixConfigResponse() (response *AddLiveMixConfigResponse) {
-	response = &AddLiveMixConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/live/add_live_mix_notify_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// AddLiveMixNotifyConfig invokes the live.AddLiveMixNotifyConfig API synchronously
-// api document: https://help.aliyun.com/api/live/addlivemixnotifyconfig.html
-func (client *Client) AddLiveMixNotifyConfig(request *AddLiveMixNotifyConfigRequest) (response *AddLiveMixNotifyConfigResponse, err error) {
-	response = CreateAddLiveMixNotifyConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddLiveMixNotifyConfigWithChan invokes the live.AddLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLiveMixNotifyConfigWithChan(request *AddLiveMixNotifyConfigRequest) (<-chan *AddLiveMixNotifyConfigResponse, <-chan error) {
-	responseChan := make(chan *AddLiveMixNotifyConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddLiveMixNotifyConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddLiveMixNotifyConfigWithCallback invokes the live.AddLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLiveMixNotifyConfigWithCallback(request *AddLiveMixNotifyConfigRequest, callback func(response *AddLiveMixNotifyConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddLiveMixNotifyConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.AddLiveMixNotifyConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddLiveMixNotifyConfigRequest is the request struct for api AddLiveMixNotifyConfig
-type AddLiveMixNotifyConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	NotifyUrl     string           `position:"Query" name:"NotifyUrl"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// AddLiveMixNotifyConfigResponse is the response struct for api AddLiveMixNotifyConfig
-type AddLiveMixNotifyConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateAddLiveMixNotifyConfigRequest creates a request to invoke AddLiveMixNotifyConfig API
-func CreateAddLiveMixNotifyConfigRequest() (request *AddLiveMixNotifyConfigRequest) {
-	request = &AddLiveMixNotifyConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "AddLiveMixNotifyConfig", "live", "openAPI")
-	return
-}
-
-// CreateAddLiveMixNotifyConfigResponse creates a response to parse from AddLiveMixNotifyConfig response
-func CreateAddLiveMixNotifyConfigResponse() (response *AddLiveMixNotifyConfigResponse) {
-	response = &AddLiveMixNotifyConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 110
services/live/add_live_pull_stream_info_config.go

@@ -1,110 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// AddLivePullStreamInfoConfig invokes the live.AddLivePullStreamInfoConfig API synchronously
-// api document: https://help.aliyun.com/api/live/addlivepullstreaminfoconfig.html
-func (client *Client) AddLivePullStreamInfoConfig(request *AddLivePullStreamInfoConfigRequest) (response *AddLivePullStreamInfoConfigResponse, err error) {
-	response = CreateAddLivePullStreamInfoConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddLivePullStreamInfoConfigWithChan invokes the live.AddLivePullStreamInfoConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivepullstreaminfoconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLivePullStreamInfoConfigWithChan(request *AddLivePullStreamInfoConfigRequest) (<-chan *AddLivePullStreamInfoConfigResponse, <-chan error) {
-	responseChan := make(chan *AddLivePullStreamInfoConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddLivePullStreamInfoConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddLivePullStreamInfoConfigWithCallback invokes the live.AddLivePullStreamInfoConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/addlivepullstreaminfoconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLivePullStreamInfoConfigWithCallback(request *AddLivePullStreamInfoConfigRequest, callback func(response *AddLivePullStreamInfoConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddLivePullStreamInfoConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.AddLivePullStreamInfoConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddLivePullStreamInfoConfigRequest is the request struct for api AddLivePullStreamInfoConfig
-type AddLivePullStreamInfoConfigRequest struct {
-	*requests.RpcRequest
-	SourceUrl     string           `position:"Query" name:"SourceUrl"`
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// AddLivePullStreamInfoConfigResponse is the response struct for api AddLivePullStreamInfoConfig
-type AddLivePullStreamInfoConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateAddLivePullStreamInfoConfigRequest creates a request to invoke AddLivePullStreamInfoConfig API
-func CreateAddLivePullStreamInfoConfigRequest() (request *AddLivePullStreamInfoConfigRequest) {
-	request = &AddLivePullStreamInfoConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "AddLivePullStreamInfoConfig", "live", "openAPI")
-	return
-}
-
-// CreateAddLivePullStreamInfoConfigResponse creates a response to parse from AddLivePullStreamInfoConfig response
-func CreateAddLivePullStreamInfoConfigResponse() (response *AddLivePullStreamInfoConfigResponse) {
-	response = &AddLivePullStreamInfoConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 110
services/live/add_multiple_stream_mix_service.go

@@ -1,110 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// AddMultipleStreamMixService invokes the live.AddMultipleStreamMixService API synchronously
-// api document: https://help.aliyun.com/api/live/addmultiplestreammixservice.html
-func (client *Client) AddMultipleStreamMixService(request *AddMultipleStreamMixServiceRequest) (response *AddMultipleStreamMixServiceResponse, err error) {
-	response = CreateAddMultipleStreamMixServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddMultipleStreamMixServiceWithChan invokes the live.AddMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/addmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddMultipleStreamMixServiceWithChan(request *AddMultipleStreamMixServiceRequest) (<-chan *AddMultipleStreamMixServiceResponse, <-chan error) {
-	responseChan := make(chan *AddMultipleStreamMixServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddMultipleStreamMixService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddMultipleStreamMixServiceWithCallback invokes the live.AddMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/addmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddMultipleStreamMixServiceWithCallback(request *AddMultipleStreamMixServiceRequest, callback func(response *AddMultipleStreamMixServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddMultipleStreamMixServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.AddMultipleStreamMixService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddMultipleStreamMixServiceRequest is the request struct for api AddMultipleStreamMixService
-type AddMultipleStreamMixServiceRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	MixStreamName string           `position:"Query" name:"MixStreamName"`
-	MixDomainName string           `position:"Query" name:"MixDomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	MixAppName    string           `position:"Query" name:"MixAppName"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// AddMultipleStreamMixServiceResponse is the response struct for api AddMultipleStreamMixService
-type AddMultipleStreamMixServiceResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateAddMultipleStreamMixServiceRequest creates a request to invoke AddMultipleStreamMixService API
-func CreateAddMultipleStreamMixServiceRequest() (request *AddMultipleStreamMixServiceRequest) {
-	request = &AddMultipleStreamMixServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "AddMultipleStreamMixService", "live", "openAPI")
-	return
-}
-
-// CreateAddMultipleStreamMixServiceResponse creates a response to parse from AddMultipleStreamMixService response
-func CreateAddMultipleStreamMixServiceResponse() (response *AddMultipleStreamMixServiceResponse) {
-	response = &AddMultipleStreamMixServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 108 - 0
services/live/apply_record_token.go

@@ -0,0 +1,108 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ApplyRecordToken invokes the live.ApplyRecordToken API synchronously
+// api document: https://help.aliyun.com/api/live/applyrecordtoken.html
+func (client *Client) ApplyRecordToken(request *ApplyRecordTokenRequest) (response *ApplyRecordTokenResponse, err error) {
+	response = CreateApplyRecordTokenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ApplyRecordTokenWithChan invokes the live.ApplyRecordToken API asynchronously
+// api document: https://help.aliyun.com/api/live/applyrecordtoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApplyRecordTokenWithChan(request *ApplyRecordTokenRequest) (<-chan *ApplyRecordTokenResponse, <-chan error) {
+	responseChan := make(chan *ApplyRecordTokenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ApplyRecordToken(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ApplyRecordTokenWithCallback invokes the live.ApplyRecordToken API asynchronously
+// api document: https://help.aliyun.com/api/live/applyrecordtoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApplyRecordTokenWithCallback(request *ApplyRecordTokenRequest, callback func(response *ApplyRecordTokenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ApplyRecordTokenResponse
+		var err error
+		defer close(result)
+		response, err = client.ApplyRecordToken(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ApplyRecordTokenRequest is the request struct for api ApplyRecordToken
+type ApplyRecordTokenRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+}
+
+// ApplyRecordTokenResponse is the response struct for api ApplyRecordToken
+type ApplyRecordTokenResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	SecurityToken   string `json:"SecurityToken" xml:"SecurityToken"`
+	AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"`
+	AccessKeyId     string `json:"AccessKeyId" xml:"AccessKeyId"`
+	Expiration      string `json:"Expiration" xml:"Expiration"`
+}
+
+// CreateApplyRecordTokenRequest creates a request to invoke ApplyRecordToken API
+func CreateApplyRecordTokenRequest() (request *ApplyRecordTokenRequest) {
+	request = &ApplyRecordTokenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "ApplyRecordToken", "live", "openAPI")
+	return
+}
+
+// CreateApplyRecordTokenResponse creates a response to parse from ApplyRecordToken response
+func CreateApplyRecordTokenResponse() (response *ApplyRecordTokenResponse) {
+	response = &ApplyRecordTokenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 28 - 5
services/live/client.go

@@ -18,6 +18,7 @@ package live
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 107 - 0
services/live/complete_board_record.go

@@ -0,0 +1,107 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CompleteBoardRecord invokes the live.CompleteBoardRecord API synchronously
+// api document: https://help.aliyun.com/api/live/completeboardrecord.html
+func (client *Client) CompleteBoardRecord(request *CompleteBoardRecordRequest) (response *CompleteBoardRecordResponse, err error) {
+	response = CreateCompleteBoardRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CompleteBoardRecordWithChan invokes the live.CompleteBoardRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/completeboardrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CompleteBoardRecordWithChan(request *CompleteBoardRecordRequest) (<-chan *CompleteBoardRecordResponse, <-chan error) {
+	responseChan := make(chan *CompleteBoardRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CompleteBoardRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CompleteBoardRecordWithCallback invokes the live.CompleteBoardRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/completeboardrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CompleteBoardRecordWithCallback(request *CompleteBoardRecordRequest, callback func(response *CompleteBoardRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CompleteBoardRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.CompleteBoardRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CompleteBoardRecordRequest is the request struct for api CompleteBoardRecord
+type CompleteBoardRecordRequest struct {
+	*requests.RpcRequest
+	EndTime  string           `position:"Query" name:"EndTime"`
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	RecordId string           `position:"Query" name:"RecordId"`
+	AppId    string           `position:"Query" name:"AppId"`
+}
+
+// CompleteBoardRecordResponse is the response struct for api CompleteBoardRecord
+type CompleteBoardRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	OssPath   string `json:"OssPath" xml:"OssPath"`
+}
+
+// CreateCompleteBoardRecordRequest creates a request to invoke CompleteBoardRecord API
+func CreateCompleteBoardRecordRequest() (request *CompleteBoardRecordRequest) {
+	request = &CompleteBoardRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "CompleteBoardRecord", "live", "openAPI")
+	return
+}
+
+// CreateCompleteBoardRecordResponse creates a response to parse from CompleteBoardRecord response
+func CreateCompleteBoardRecordResponse() (response *CompleteBoardRecordResponse) {
+	response = &CompleteBoardRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 4
services/live/create_room.go

@@ -76,10 +76,12 @@ func (client *Client) CreateRoomWithCallback(request *CreateRoomRequest, callbac
 // CreateRoomRequest is the request struct for api CreateRoom
 type CreateRoomRequest struct {
 	*requests.RpcRequest
-	AnchorId string           `position:"Query" name:"AnchorId"`
-	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
-	RoomId   string           `position:"Query" name:"RoomId"`
-	AppId    string           `position:"Query" name:"AppId"`
+	TemplateIds     string           `position:"Query" name:"TemplateIds"`
+	AnchorId        string           `position:"Query" name:"AnchorId"`
+	UseAppTranscode requests.Boolean `position:"Query" name:"UseAppTranscode"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+	RoomId          string           `position:"Query" name:"RoomId"`
+	AppId           string           `position:"Query" name:"AppId"`
 }
 
 // CreateRoomResponse is the response struct for api CreateRoom

+ 3 - 2
services/live/delete_caster.go

@@ -76,8 +76,9 @@ func (client *Client) DeleteCasterWithCallback(request *DeleteCasterRequest, cal
 // DeleteCasterRequest is the request struct for api DeleteCaster
 type DeleteCasterRequest struct {
 	*requests.RpcRequest
-	CasterId string           `position:"Query" name:"CasterId"`
-	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	CasterId      string           `position:"Query" name:"CasterId"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // DeleteCasterResponse is the response struct for api DeleteCaster

+ 0 - 106
services/live/delete_live_mix_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DeleteLiveMixConfig invokes the live.DeleteLiveMixConfig API synchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixconfig.html
-func (client *Client) DeleteLiveMixConfig(request *DeleteLiveMixConfigRequest) (response *DeleteLiveMixConfigResponse, err error) {
-	response = CreateDeleteLiveMixConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteLiveMixConfigWithChan invokes the live.DeleteLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveMixConfigWithChan(request *DeleteLiveMixConfigRequest) (<-chan *DeleteLiveMixConfigResponse, <-chan error) {
-	responseChan := make(chan *DeleteLiveMixConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteLiveMixConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteLiveMixConfigWithCallback invokes the live.DeleteLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveMixConfigWithCallback(request *DeleteLiveMixConfigRequest, callback func(response *DeleteLiveMixConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteLiveMixConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteLiveMixConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteLiveMixConfigRequest is the request struct for api DeleteLiveMixConfig
-type DeleteLiveMixConfigRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DeleteLiveMixConfigResponse is the response struct for api DeleteLiveMixConfig
-type DeleteLiveMixConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateDeleteLiveMixConfigRequest creates a request to invoke DeleteLiveMixConfig API
-func CreateDeleteLiveMixConfigRequest() (request *DeleteLiveMixConfigRequest) {
-	request = &DeleteLiveMixConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "DeleteLiveMixConfig", "live", "openAPI")
-	return
-}
-
-// CreateDeleteLiveMixConfigResponse creates a response to parse from DeleteLiveMixConfig response
-func CreateDeleteLiveMixConfigResponse() (response *DeleteLiveMixConfigResponse) {
-	response = &DeleteLiveMixConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 105
services/live/delete_live_mix_notify_config.go

@@ -1,105 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DeleteLiveMixNotifyConfig invokes the live.DeleteLiveMixNotifyConfig API synchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixnotifyconfig.html
-func (client *Client) DeleteLiveMixNotifyConfig(request *DeleteLiveMixNotifyConfigRequest) (response *DeleteLiveMixNotifyConfigResponse, err error) {
-	response = CreateDeleteLiveMixNotifyConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteLiveMixNotifyConfigWithChan invokes the live.DeleteLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveMixNotifyConfigWithChan(request *DeleteLiveMixNotifyConfigRequest) (<-chan *DeleteLiveMixNotifyConfigResponse, <-chan error) {
-	responseChan := make(chan *DeleteLiveMixNotifyConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteLiveMixNotifyConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteLiveMixNotifyConfigWithCallback invokes the live.DeleteLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveMixNotifyConfigWithCallback(request *DeleteLiveMixNotifyConfigRequest, callback func(response *DeleteLiveMixNotifyConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteLiveMixNotifyConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteLiveMixNotifyConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteLiveMixNotifyConfigRequest is the request struct for api DeleteLiveMixNotifyConfig
-type DeleteLiveMixNotifyConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DeleteLiveMixNotifyConfigResponse is the response struct for api DeleteLiveMixNotifyConfig
-type DeleteLiveMixNotifyConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateDeleteLiveMixNotifyConfigRequest creates a request to invoke DeleteLiveMixNotifyConfig API
-func CreateDeleteLiveMixNotifyConfigRequest() (request *DeleteLiveMixNotifyConfigRequest) {
-	request = &DeleteLiveMixNotifyConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "DeleteLiveMixNotifyConfig", "live", "openAPI")
-	return
-}
-
-// CreateDeleteLiveMixNotifyConfigResponse creates a response to parse from DeleteLiveMixNotifyConfig response
-func CreateDeleteLiveMixNotifyConfigResponse() (response *DeleteLiveMixNotifyConfigResponse) {
-	response = &DeleteLiveMixNotifyConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/live/delete_live_specific_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DeleteLiveSpecificConfig invokes the live.DeleteLiveSpecificConfig API synchronously
-// api document: https://help.aliyun.com/api/live/deletelivespecificconfig.html
-func (client *Client) DeleteLiveSpecificConfig(request *DeleteLiveSpecificConfigRequest) (response *DeleteLiveSpecificConfigResponse, err error) {
-	response = CreateDeleteLiveSpecificConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteLiveSpecificConfigWithChan invokes the live.DeleteLiveSpecificConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivespecificconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveSpecificConfigWithChan(request *DeleteLiveSpecificConfigRequest) (<-chan *DeleteLiveSpecificConfigResponse, <-chan error) {
-	responseChan := make(chan *DeleteLiveSpecificConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteLiveSpecificConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteLiveSpecificConfigWithCallback invokes the live.DeleteLiveSpecificConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/deletelivespecificconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLiveSpecificConfigWithCallback(request *DeleteLiveSpecificConfigRequest, callback func(response *DeleteLiveSpecificConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteLiveSpecificConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteLiveSpecificConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteLiveSpecificConfigRequest is the request struct for api DeleteLiveSpecificConfig
-type DeleteLiveSpecificConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	ConfigId      string           `position:"Query" name:"ConfigId"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DeleteLiveSpecificConfigResponse is the response struct for api DeleteLiveSpecificConfig
-type DeleteLiveSpecificConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateDeleteLiveSpecificConfigRequest creates a request to invoke DeleteLiveSpecificConfig API
-func CreateDeleteLiveSpecificConfigRequest() (request *DeleteLiveSpecificConfigRequest) {
-	request = &DeleteLiveSpecificConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "DeleteLiveSpecificConfig", "live", "openAPI")
-	return
-}
-
-// CreateDeleteLiveSpecificConfigResponse creates a response to parse from DeleteLiveSpecificConfig response
-func CreateDeleteLiveSpecificConfigResponse() (response *DeleteLiveSpecificConfigResponse) {
-	response = &DeleteLiveSpecificConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 105 - 0
services/live/describe_live_domain_mapping.go

@@ -0,0 +1,105 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeLiveDomainMapping invokes the live.DescribeLiveDomainMapping API synchronously
+// api document: https://help.aliyun.com/api/live/describelivedomainmapping.html
+func (client *Client) DescribeLiveDomainMapping(request *DescribeLiveDomainMappingRequest) (response *DescribeLiveDomainMappingResponse, err error) {
+	response = CreateDescribeLiveDomainMappingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveDomainMappingWithChan invokes the live.DescribeLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveDomainMappingWithChan(request *DescribeLiveDomainMappingRequest) (<-chan *DescribeLiveDomainMappingResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveDomainMappingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveDomainMapping(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveDomainMappingWithCallback invokes the live.DescribeLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveDomainMappingWithCallback(request *DescribeLiveDomainMappingRequest, callback func(response *DescribeLiveDomainMappingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveDomainMappingResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveDomainMapping(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveDomainMappingRequest is the request struct for api DescribeLiveDomainMapping
+type DescribeLiveDomainMappingRequest struct {
+	*requests.RpcRequest
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveDomainMappingResponse is the response struct for api DescribeLiveDomainMapping
+type DescribeLiveDomainMappingResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	LiveDomainModels LiveDomainModels `json:"LiveDomainModels" xml:"LiveDomainModels"`
+}
+
+// CreateDescribeLiveDomainMappingRequest creates a request to invoke DescribeLiveDomainMapping API
+func CreateDescribeLiveDomainMappingRequest() (request *DescribeLiveDomainMappingRequest) {
+	request = &DescribeLiveDomainMappingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "DescribeLiveDomainMapping", "live", "openAPI")
+	return
+}
+
+// CreateDescribeLiveDomainMappingResponse creates a response to parse from DescribeLiveDomainMapping response
+func CreateDescribeLiveDomainMappingResponse() (response *DescribeLiveDomainMappingResponse) {
+	response = &DescribeLiveDomainMappingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/live/describe_live_lazy_pull_stream_config.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeLiveLazyPullStreamConfigWithCallback(request *Desc
 // DescribeLiveLazyPullStreamConfigRequest is the request struct for api DescribeLiveLazyPullStreamConfig
 type DescribeLiveLazyPullStreamConfigRequest struct {
 	*requests.RpcRequest
+	AppName    string           `position:"Query" name:"AppName"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
-	AppName    string           `position:"Query" name:"AppName"`
 }
 
 // DescribeLiveLazyPullStreamConfigResponse is the response struct for api DescribeLiveLazyPullStreamConfig

+ 0 - 106
services/live/describe_live_mix_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeLiveMixConfig invokes the live.DescribeLiveMixConfig API synchronously
-// api document: https://help.aliyun.com/api/live/describelivemixconfig.html
-func (client *Client) DescribeLiveMixConfig(request *DescribeLiveMixConfigRequest) (response *DescribeLiveMixConfigResponse, err error) {
-	response = CreateDescribeLiveMixConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeLiveMixConfigWithChan invokes the live.DescribeLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/describelivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLiveMixConfigWithChan(request *DescribeLiveMixConfigRequest) (<-chan *DescribeLiveMixConfigResponse, <-chan error) {
-	responseChan := make(chan *DescribeLiveMixConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeLiveMixConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeLiveMixConfigWithCallback invokes the live.DescribeLiveMixConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/describelivemixconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLiveMixConfigWithCallback(request *DescribeLiveMixConfigRequest, callback func(response *DescribeLiveMixConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeLiveMixConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeLiveMixConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeLiveMixConfigRequest is the request struct for api DescribeLiveMixConfig
-type DescribeLiveMixConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeLiveMixConfigResponse is the response struct for api DescribeLiveMixConfig
-type DescribeLiveMixConfigResponse struct {
-	*responses.BaseResponse
-	RequestId     string        `json:"RequestId" xml:"RequestId"`
-	MixConfigList MixConfigList `json:"MixConfigList" xml:"MixConfigList"`
-}
-
-// CreateDescribeLiveMixConfigRequest creates a request to invoke DescribeLiveMixConfig API
-func CreateDescribeLiveMixConfigRequest() (request *DescribeLiveMixConfigRequest) {
-	request = &DescribeLiveMixConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "DescribeLiveMixConfig", "live", "openAPI")
-	return
-}
-
-// CreateDescribeLiveMixConfigResponse creates a response to parse from DescribeLiveMixConfig response
-func CreateDescribeLiveMixConfigResponse() (response *DescribeLiveMixConfigResponse) {
-	response = &DescribeLiveMixConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/live/describe_live_mix_notify_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeLiveMixNotifyConfig invokes the live.DescribeLiveMixNotifyConfig API synchronously
-// api document: https://help.aliyun.com/api/live/describelivemixnotifyconfig.html
-func (client *Client) DescribeLiveMixNotifyConfig(request *DescribeLiveMixNotifyConfigRequest) (response *DescribeLiveMixNotifyConfigResponse, err error) {
-	response = CreateDescribeLiveMixNotifyConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeLiveMixNotifyConfigWithChan invokes the live.DescribeLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/describelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLiveMixNotifyConfigWithChan(request *DescribeLiveMixNotifyConfigRequest) (<-chan *DescribeLiveMixNotifyConfigResponse, <-chan error) {
-	responseChan := make(chan *DescribeLiveMixNotifyConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeLiveMixNotifyConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeLiveMixNotifyConfigWithCallback invokes the live.DescribeLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/describelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLiveMixNotifyConfigWithCallback(request *DescribeLiveMixNotifyConfigRequest, callback func(response *DescribeLiveMixNotifyConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeLiveMixNotifyConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeLiveMixNotifyConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeLiveMixNotifyConfigRequest is the request struct for api DescribeLiveMixNotifyConfig
-type DescribeLiveMixNotifyConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeLiveMixNotifyConfigResponse is the response struct for api DescribeLiveMixNotifyConfig
-type DescribeLiveMixNotifyConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	NotifyUrl string `json:"NotifyUrl" xml:"NotifyUrl"`
-}
-
-// CreateDescribeLiveMixNotifyConfigRequest creates a request to invoke DescribeLiveMixNotifyConfig API
-func CreateDescribeLiveMixNotifyConfigRequest() (request *DescribeLiveMixNotifyConfigRequest) {
-	request = &DescribeLiveMixNotifyConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "DescribeLiveMixNotifyConfig", "live", "openAPI")
-	return
-}
-
-// CreateDescribeLiveMixNotifyConfigResponse creates a response to parse from DescribeLiveMixNotifyConfig response
-func CreateDescribeLiveMixNotifyConfigResponse() (response *DescribeLiveMixNotifyConfigResponse) {
-	response = &DescribeLiveMixNotifyConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 107 - 0
services/live/describe_live_stream_delay_config.go

@@ -0,0 +1,107 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeLiveStreamDelayConfig invokes the live.DescribeLiveStreamDelayConfig API synchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamdelayconfig.html
+func (client *Client) DescribeLiveStreamDelayConfig(request *DescribeLiveStreamDelayConfigRequest) (response *DescribeLiveStreamDelayConfigResponse, err error) {
+	response = CreateDescribeLiveStreamDelayConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamDelayConfigWithChan invokes the live.DescribeLiveStreamDelayConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamdelayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamDelayConfigWithChan(request *DescribeLiveStreamDelayConfigRequest) (<-chan *DescribeLiveStreamDelayConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamDelayConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamDelayConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamDelayConfigWithCallback invokes the live.DescribeLiveStreamDelayConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamdelayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamDelayConfigWithCallback(request *DescribeLiveStreamDelayConfigRequest, callback func(response *DescribeLiveStreamDelayConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamDelayConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamDelayConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamDelayConfigRequest is the request struct for api DescribeLiveStreamDelayConfig
+type DescribeLiveStreamDelayConfigRequest struct {
+	*requests.RpcRequest
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveStreamDelayConfigResponse is the response struct for api DescribeLiveStreamDelayConfig
+type DescribeLiveStreamDelayConfigResponse struct {
+	*responses.BaseResponse
+	RequestId                 string                    `json:"RequestId" xml:"RequestId"`
+	LiveStreamHlsDelayConfig  LiveStreamHlsDelayConfig  `json:"LiveStreamHlsDelayConfig" xml:"LiveStreamHlsDelayConfig"`
+	LiveStreamFlvDelayConfig  LiveStreamFlvDelayConfig  `json:"LiveStreamFlvDelayConfig" xml:"LiveStreamFlvDelayConfig"`
+	LiveStreamRtmpDelayConfig LiveStreamRtmpDelayConfig `json:"LiveStreamRtmpDelayConfig" xml:"LiveStreamRtmpDelayConfig"`
+}
+
+// CreateDescribeLiveStreamDelayConfigRequest creates a request to invoke DescribeLiveStreamDelayConfig API
+func CreateDescribeLiveStreamDelayConfigRequest() (request *DescribeLiveStreamDelayConfigRequest) {
+	request = &DescribeLiveStreamDelayConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "DescribeLiveStreamDelayConfig", "live", "openAPI")
+	return
+}
+
+// CreateDescribeLiveStreamDelayConfigResponse creates a response to parse from DescribeLiveStreamDelayConfig response
+func CreateDescribeLiveStreamDelayConfigResponse() (response *DescribeLiveStreamDelayConfigResponse) {
+	response = &DescribeLiveStreamDelayConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 1
services/live/describe_live_stream_online_user_num.go

@@ -78,7 +78,6 @@ type DescribeLiveStreamOnlineUserNumRequest struct {
 	*requests.RpcRequest
 	AppName       string           `position:"Query" name:"AppName"`
 	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	HlsSwitch     string           `position:"Query" name:"HlsSwitch"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`

+ 106 - 0
services/live/describe_live_stream_optimized_feature_config.go

@@ -0,0 +1,106 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeLiveStreamOptimizedFeatureConfig invokes the live.DescribeLiveStreamOptimizedFeatureConfig API synchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamoptimizedfeatureconfig.html
+func (client *Client) DescribeLiveStreamOptimizedFeatureConfig(request *DescribeLiveStreamOptimizedFeatureConfigRequest) (response *DescribeLiveStreamOptimizedFeatureConfigResponse, err error) {
+	response = CreateDescribeLiveStreamOptimizedFeatureConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamOptimizedFeatureConfigWithChan invokes the live.DescribeLiveStreamOptimizedFeatureConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamoptimizedfeatureconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamOptimizedFeatureConfigWithChan(request *DescribeLiveStreamOptimizedFeatureConfigRequest) (<-chan *DescribeLiveStreamOptimizedFeatureConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamOptimizedFeatureConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamOptimizedFeatureConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamOptimizedFeatureConfigWithCallback invokes the live.DescribeLiveStreamOptimizedFeatureConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/describelivestreamoptimizedfeatureconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamOptimizedFeatureConfigWithCallback(request *DescribeLiveStreamOptimizedFeatureConfigRequest, callback func(response *DescribeLiveStreamOptimizedFeatureConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamOptimizedFeatureConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamOptimizedFeatureConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamOptimizedFeatureConfigRequest is the request struct for api DescribeLiveStreamOptimizedFeatureConfig
+type DescribeLiveStreamOptimizedFeatureConfigRequest struct {
+	*requests.RpcRequest
+	ConfigName string           `position:"Query" name:"ConfigName"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveStreamOptimizedFeatureConfigResponse is the response struct for api DescribeLiveStreamOptimizedFeatureConfig
+type DescribeLiveStreamOptimizedFeatureConfigResponse struct {
+	*responses.BaseResponse
+	RequestId                            string                               `json:"RequestId" xml:"RequestId"`
+	LiveStreamOptimizedFeatureConfigList LiveStreamOptimizedFeatureConfigList `json:"LiveStreamOptimizedFeatureConfigList" xml:"LiveStreamOptimizedFeatureConfigList"`
+}
+
+// CreateDescribeLiveStreamOptimizedFeatureConfigRequest creates a request to invoke DescribeLiveStreamOptimizedFeatureConfig API
+func CreateDescribeLiveStreamOptimizedFeatureConfigRequest() (request *DescribeLiveStreamOptimizedFeatureConfigRequest) {
+	request = &DescribeLiveStreamOptimizedFeatureConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "DescribeLiveStreamOptimizedFeatureConfig", "live", "openAPI")
+	return
+}
+
+// CreateDescribeLiveStreamOptimizedFeatureConfigResponse creates a response to parse from DescribeLiveStreamOptimizedFeatureConfig response
+func CreateDescribeLiveStreamOptimizedFeatureConfigResponse() (response *DescribeLiveStreamOptimizedFeatureConfigResponse) {
+	response = &DescribeLiveStreamOptimizedFeatureConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/live/describe_record.go

@@ -0,0 +1,115 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRecord invokes the live.DescribeRecord API synchronously
+// api document: https://help.aliyun.com/api/live/describerecord.html
+func (client *Client) DescribeRecord(request *DescribeRecordRequest) (response *DescribeRecordResponse, err error) {
+	response = CreateDescribeRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRecordWithChan invokes the live.DescribeRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/describerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordWithChan(request *DescribeRecordRequest) (<-chan *DescribeRecordResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRecordWithCallback invokes the live.DescribeRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/describerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordWithCallback(request *DescribeRecordRequest, callback func(response *DescribeRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRecordRequest is the request struct for api DescribeRecord
+type DescribeRecordRequest struct {
+	*requests.RpcRequest
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	RecordId string           `position:"Query" name:"RecordId"`
+	AppId    string           `position:"Query" name:"AppId"`
+}
+
+// DescribeRecordResponse is the response struct for api DescribeRecord
+type DescribeRecordResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	RecordId        string `json:"RecordId" xml:"RecordId"`
+	AppId           string `json:"AppId" xml:"AppId"`
+	BoardId         int    `json:"BoardId" xml:"BoardId"`
+	RecordStartTime int    `json:"RecordStartTime" xml:"RecordStartTime"`
+	StartTime       int    `json:"StartTime" xml:"StartTime"`
+	EndTime         int    `json:"EndTime" xml:"EndTime"`
+	State           int    `json:"State" xml:"State"`
+	OssPath         string `json:"OssPath" xml:"OssPath"`
+	OssBucket       string `json:"OssBucket" xml:"OssBucket"`
+	OssEndpoint     string `json:"OssEndpoint" xml:"OssEndpoint"`
+}
+
+// CreateDescribeRecordRequest creates a request to invoke DescribeRecord API
+func CreateDescribeRecordRequest() (request *DescribeRecordRequest) {
+	request = &DescribeRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "DescribeRecord", "live", "openAPI")
+	return
+}
+
+// CreateDescribeRecordResponse creates a response to parse from DescribeRecord response
+func CreateDescribeRecordResponse() (response *DescribeRecordResponse) {
+	response = &DescribeRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/live/describe_records.go

@@ -0,0 +1,108 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRecords invokes the live.DescribeRecords API synchronously
+// api document: https://help.aliyun.com/api/live/describerecords.html
+func (client *Client) DescribeRecords(request *DescribeRecordsRequest) (response *DescribeRecordsResponse, err error) {
+	response = CreateDescribeRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRecordsWithChan invokes the live.DescribeRecords API asynchronously
+// api document: https://help.aliyun.com/api/live/describerecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordsWithChan(request *DescribeRecordsRequest) (<-chan *DescribeRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRecordsWithCallback invokes the live.DescribeRecords API asynchronously
+// api document: https://help.aliyun.com/api/live/describerecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordsWithCallback(request *DescribeRecordsRequest, callback func(response *DescribeRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRecordsRequest is the request struct for api DescribeRecords
+type DescribeRecordsRequest struct {
+	*requests.RpcRequest
+	RecordState string           `position:"Query" name:"RecordState"`
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	AppId       string           `position:"Query" name:"AppId"`
+}
+
+// DescribeRecordsResponse is the response struct for api DescribeRecords
+type DescribeRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Records   []Record `json:"Records" xml:"Records"`
+}
+
+// CreateDescribeRecordsRequest creates a request to invoke DescribeRecords API
+func CreateDescribeRecordsRequest() (request *DescribeRecordsRequest) {
+	request = &DescribeRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "DescribeRecords", "live", "openAPI")
+	return
+}
+
+// CreateDescribeRecordsResponse creates a response to parse from DescribeRecords response
+func CreateDescribeRecordsResponse() (response *DescribeRecordsResponse) {
+	response = &DescribeRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/live/modify_live_domain_schdm_by_property.go

@@ -0,0 +1,105 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyLiveDomainSchdmByProperty invokes the live.ModifyLiveDomainSchdmByProperty API synchronously
+// api document: https://help.aliyun.com/api/live/modifylivedomainschdmbyproperty.html
+func (client *Client) ModifyLiveDomainSchdmByProperty(request *ModifyLiveDomainSchdmByPropertyRequest) (response *ModifyLiveDomainSchdmByPropertyResponse, err error) {
+	response = CreateModifyLiveDomainSchdmByPropertyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyLiveDomainSchdmByPropertyWithChan invokes the live.ModifyLiveDomainSchdmByProperty API asynchronously
+// api document: https://help.aliyun.com/api/live/modifylivedomainschdmbyproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyLiveDomainSchdmByPropertyWithChan(request *ModifyLiveDomainSchdmByPropertyRequest) (<-chan *ModifyLiveDomainSchdmByPropertyResponse, <-chan error) {
+	responseChan := make(chan *ModifyLiveDomainSchdmByPropertyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyLiveDomainSchdmByProperty(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyLiveDomainSchdmByPropertyWithCallback invokes the live.ModifyLiveDomainSchdmByProperty API asynchronously
+// api document: https://help.aliyun.com/api/live/modifylivedomainschdmbyproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyLiveDomainSchdmByPropertyWithCallback(request *ModifyLiveDomainSchdmByPropertyRequest, callback func(response *ModifyLiveDomainSchdmByPropertyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyLiveDomainSchdmByPropertyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyLiveDomainSchdmByProperty(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyLiveDomainSchdmByPropertyRequest is the request struct for api ModifyLiveDomainSchdmByProperty
+type ModifyLiveDomainSchdmByPropertyRequest struct {
+	*requests.RpcRequest
+	Property   string           `position:"Query" name:"Property"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ModifyLiveDomainSchdmByPropertyResponse is the response struct for api ModifyLiveDomainSchdmByProperty
+type ModifyLiveDomainSchdmByPropertyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyLiveDomainSchdmByPropertyRequest creates a request to invoke ModifyLiveDomainSchdmByProperty API
+func CreateModifyLiveDomainSchdmByPropertyRequest() (request *ModifyLiveDomainSchdmByPropertyRequest) {
+	request = &ModifyLiveDomainSchdmByPropertyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "ModifyLiveDomainSchdmByProperty", "live", "openAPI")
+	return
+}
+
+// CreateModifyLiveDomainSchdmByPropertyResponse creates a response to parse from ModifyLiveDomainSchdmByProperty response
+func CreateModifyLiveDomainSchdmByPropertyResponse() (response *ModifyLiveDomainSchdmByPropertyResponse) {
+	response = &ModifyLiveDomainSchdmByPropertyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/live/real_time_snapshot_command.go

@@ -0,0 +1,109 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RealTimeSnapshotCommand invokes the live.RealTimeSnapshotCommand API synchronously
+// api document: https://help.aliyun.com/api/live/realtimesnapshotcommand.html
+func (client *Client) RealTimeSnapshotCommand(request *RealTimeSnapshotCommandRequest) (response *RealTimeSnapshotCommandResponse, err error) {
+	response = CreateRealTimeSnapshotCommandResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RealTimeSnapshotCommandWithChan invokes the live.RealTimeSnapshotCommand API asynchronously
+// api document: https://help.aliyun.com/api/live/realtimesnapshotcommand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RealTimeSnapshotCommandWithChan(request *RealTimeSnapshotCommandRequest) (<-chan *RealTimeSnapshotCommandResponse, <-chan error) {
+	responseChan := make(chan *RealTimeSnapshotCommandResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RealTimeSnapshotCommand(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RealTimeSnapshotCommandWithCallback invokes the live.RealTimeSnapshotCommand API asynchronously
+// api document: https://help.aliyun.com/api/live/realtimesnapshotcommand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RealTimeSnapshotCommandWithCallback(request *RealTimeSnapshotCommandRequest, callback func(response *RealTimeSnapshotCommandResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RealTimeSnapshotCommandResponse
+		var err error
+		defer close(result)
+		response, err = client.RealTimeSnapshotCommand(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RealTimeSnapshotCommandRequest is the request struct for api RealTimeSnapshotCommand
+type RealTimeSnapshotCommandRequest struct {
+	*requests.RpcRequest
+	Mode       requests.Integer `position:"Query" name:"Mode"`
+	AppName    string           `position:"Query" name:"AppName"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	Interval   requests.Integer `position:"Query" name:"Interval"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	Command    string           `position:"Query" name:"Command"`
+	StreamName string           `position:"Query" name:"StreamName"`
+}
+
+// RealTimeSnapshotCommandResponse is the response struct for api RealTimeSnapshotCommand
+type RealTimeSnapshotCommandResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRealTimeSnapshotCommandRequest creates a request to invoke RealTimeSnapshotCommand API
+func CreateRealTimeSnapshotCommandRequest() (request *RealTimeSnapshotCommandRequest) {
+	request = &RealTimeSnapshotCommandRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "RealTimeSnapshotCommand", "live", "openAPI")
+	return
+}
+
+// CreateRealTimeSnapshotCommandResponse creates a response to parse from RealTimeSnapshotCommand response
+func CreateRealTimeSnapshotCommandResponse() (response *RealTimeSnapshotCommandResponse) {
+	response = &RealTimeSnapshotCommandResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 110
services/live/remove_multiple_stream_mix_service.go

@@ -1,110 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// RemoveMultipleStreamMixService invokes the live.RemoveMultipleStreamMixService API synchronously
-// api document: https://help.aliyun.com/api/live/removemultiplestreammixservice.html
-func (client *Client) RemoveMultipleStreamMixService(request *RemoveMultipleStreamMixServiceRequest) (response *RemoveMultipleStreamMixServiceResponse, err error) {
-	response = CreateRemoveMultipleStreamMixServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// RemoveMultipleStreamMixServiceWithChan invokes the live.RemoveMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/removemultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) RemoveMultipleStreamMixServiceWithChan(request *RemoveMultipleStreamMixServiceRequest) (<-chan *RemoveMultipleStreamMixServiceResponse, <-chan error) {
-	responseChan := make(chan *RemoveMultipleStreamMixServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.RemoveMultipleStreamMixService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// RemoveMultipleStreamMixServiceWithCallback invokes the live.RemoveMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/removemultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) RemoveMultipleStreamMixServiceWithCallback(request *RemoveMultipleStreamMixServiceRequest, callback func(response *RemoveMultipleStreamMixServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *RemoveMultipleStreamMixServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.RemoveMultipleStreamMixService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// RemoveMultipleStreamMixServiceRequest is the request struct for api RemoveMultipleStreamMixService
-type RemoveMultipleStreamMixServiceRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	MixStreamName string           `position:"Query" name:"MixStreamName"`
-	MixDomainName string           `position:"Query" name:"MixDomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	MixAppName    string           `position:"Query" name:"MixAppName"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// RemoveMultipleStreamMixServiceResponse is the response struct for api RemoveMultipleStreamMixService
-type RemoveMultipleStreamMixServiceResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateRemoveMultipleStreamMixServiceRequest creates a request to invoke RemoveMultipleStreamMixService API
-func CreateRemoveMultipleStreamMixServiceRequest() (request *RemoveMultipleStreamMixServiceRequest) {
-	request = &RemoveMultipleStreamMixServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "RemoveMultipleStreamMixService", "live", "openAPI")
-	return
-}
-
-// CreateRemoveMultipleStreamMixServiceResponse creates a response to parse from RemoveMultipleStreamMixService response
-func CreateRemoveMultipleStreamMixServiceResponse() (response *RemoveMultipleStreamMixServiceResponse) {
-	response = &RemoveMultipleStreamMixServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 109 - 0
services/live/set_board_callback.go

@@ -0,0 +1,109 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SetBoardCallback invokes the live.SetBoardCallback API synchronously
+// api document: https://help.aliyun.com/api/live/setboardcallback.html
+func (client *Client) SetBoardCallback(request *SetBoardCallbackRequest) (response *SetBoardCallbackResponse, err error) {
+	response = CreateSetBoardCallbackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetBoardCallbackWithChan invokes the live.SetBoardCallback API asynchronously
+// api document: https://help.aliyun.com/api/live/setboardcallback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetBoardCallbackWithChan(request *SetBoardCallbackRequest) (<-chan *SetBoardCallbackResponse, <-chan error) {
+	responseChan := make(chan *SetBoardCallbackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetBoardCallback(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetBoardCallbackWithCallback invokes the live.SetBoardCallback API asynchronously
+// api document: https://help.aliyun.com/api/live/setboardcallback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetBoardCallbackWithCallback(request *SetBoardCallbackRequest, callback func(response *SetBoardCallbackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetBoardCallbackResponse
+		var err error
+		defer close(result)
+		response, err = client.SetBoardCallback(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetBoardCallbackRequest is the request struct for api SetBoardCallback
+type SetBoardCallbackRequest struct {
+	*requests.RpcRequest
+	AuthKey        string           `position:"Query" name:"AuthKey"`
+	CallbackEnable requests.Integer `position:"Query" name:"CallbackEnable"`
+	CallbackEvents string           `position:"Query" name:"CallbackEvents"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	CallbackUri    string           `position:"Query" name:"CallbackUri"`
+	AppId          string           `position:"Query" name:"AppId"`
+	AuthSwitch     string           `position:"Query" name:"AuthSwitch"`
+}
+
+// SetBoardCallbackResponse is the response struct for api SetBoardCallback
+type SetBoardCallbackResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetBoardCallbackRequest creates a request to invoke SetBoardCallback API
+func CreateSetBoardCallbackRequest() (request *SetBoardCallbackRequest) {
+	request = &SetBoardCallbackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "SetBoardCallback", "live", "openAPI")
+	return
+}
+
+// CreateSetBoardCallbackResponse creates a response to parse from SetBoardCallback response
+func CreateSetBoardCallbackResponse() (response *SetBoardCallbackResponse) {
+	response = &SetBoardCallbackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/live/set_live_lazy_pull_stream_info_config.go

@@ -76,6 +76,7 @@ func (client *Client) SetLiveLazyPullStreamInfoConfigWithCallback(request *SetLi
 // SetLiveLazyPullStreamInfoConfigRequest is the request struct for api SetLiveLazyPullStreamInfoConfig
 type SetLiveLazyPullStreamInfoConfigRequest struct {
 	*requests.RpcRequest
+	PullArgs       string           `position:"Query" name:"PullArgs"`
 	AppName        string           `position:"Query" name:"AppName"`
 	PullAuthKey    string           `position:"Query" name:"PullAuthKey"`
 	PullAuthType   string           `position:"Query" name:"PullAuthType"`

+ 110 - 0
services/live/set_live_stream_delay_config.go

@@ -0,0 +1,110 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SetLiveStreamDelayConfig invokes the live.SetLiveStreamDelayConfig API synchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamdelayconfig.html
+func (client *Client) SetLiveStreamDelayConfig(request *SetLiveStreamDelayConfigRequest) (response *SetLiveStreamDelayConfigResponse, err error) {
+	response = CreateSetLiveStreamDelayConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetLiveStreamDelayConfigWithChan invokes the live.SetLiveStreamDelayConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamdelayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetLiveStreamDelayConfigWithChan(request *SetLiveStreamDelayConfigRequest) (<-chan *SetLiveStreamDelayConfigResponse, <-chan error) {
+	responseChan := make(chan *SetLiveStreamDelayConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetLiveStreamDelayConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetLiveStreamDelayConfigWithCallback invokes the live.SetLiveStreamDelayConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamdelayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetLiveStreamDelayConfigWithCallback(request *SetLiveStreamDelayConfigRequest, callback func(response *SetLiveStreamDelayConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetLiveStreamDelayConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.SetLiveStreamDelayConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetLiveStreamDelayConfigRequest is the request struct for api SetLiveStreamDelayConfig
+type SetLiveStreamDelayConfigRequest struct {
+	*requests.RpcRequest
+	FlvLevel   string           `position:"Query" name:"FlvLevel"`
+	HlsLevel   string           `position:"Query" name:"HlsLevel"`
+	RtmpDelay  requests.Integer `position:"Query" name:"RtmpDelay"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	FlvDelay   requests.Integer `position:"Query" name:"FlvDelay"`
+	RtmpLevel  string           `position:"Query" name:"RtmpLevel"`
+	HlsDelay   requests.Integer `position:"Query" name:"HlsDelay"`
+}
+
+// SetLiveStreamDelayConfigResponse is the response struct for api SetLiveStreamDelayConfig
+type SetLiveStreamDelayConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetLiveStreamDelayConfigRequest creates a request to invoke SetLiveStreamDelayConfig API
+func CreateSetLiveStreamDelayConfigRequest() (request *SetLiveStreamDelayConfigRequest) {
+	request = &SetLiveStreamDelayConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "SetLiveStreamDelayConfig", "live", "openAPI")
+	return
+}
+
+// CreateSetLiveStreamDelayConfigResponse creates a response to parse from SetLiveStreamDelayConfig response
+func CreateSetLiveStreamDelayConfigResponse() (response *SetLiveStreamDelayConfigResponse) {
+	response = &SetLiveStreamDelayConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/live/set_live_stream_optimized_feature_config.go

@@ -0,0 +1,107 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SetLiveStreamOptimizedFeatureConfig invokes the live.SetLiveStreamOptimizedFeatureConfig API synchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamoptimizedfeatureconfig.html
+func (client *Client) SetLiveStreamOptimizedFeatureConfig(request *SetLiveStreamOptimizedFeatureConfigRequest) (response *SetLiveStreamOptimizedFeatureConfigResponse, err error) {
+	response = CreateSetLiveStreamOptimizedFeatureConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetLiveStreamOptimizedFeatureConfigWithChan invokes the live.SetLiveStreamOptimizedFeatureConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamoptimizedfeatureconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetLiveStreamOptimizedFeatureConfigWithChan(request *SetLiveStreamOptimizedFeatureConfigRequest) (<-chan *SetLiveStreamOptimizedFeatureConfigResponse, <-chan error) {
+	responseChan := make(chan *SetLiveStreamOptimizedFeatureConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetLiveStreamOptimizedFeatureConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetLiveStreamOptimizedFeatureConfigWithCallback invokes the live.SetLiveStreamOptimizedFeatureConfig API asynchronously
+// api document: https://help.aliyun.com/api/live/setlivestreamoptimizedfeatureconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetLiveStreamOptimizedFeatureConfigWithCallback(request *SetLiveStreamOptimizedFeatureConfigRequest, callback func(response *SetLiveStreamOptimizedFeatureConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetLiveStreamOptimizedFeatureConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.SetLiveStreamOptimizedFeatureConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetLiveStreamOptimizedFeatureConfigRequest is the request struct for api SetLiveStreamOptimizedFeatureConfig
+type SetLiveStreamOptimizedFeatureConfigRequest struct {
+	*requests.RpcRequest
+	ConfigStatus string           `position:"Query" name:"ConfigStatus"`
+	ConfigName   string           `position:"Query" name:"ConfigName"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	ConfigValue  string           `position:"Query" name:"ConfigValue"`
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// SetLiveStreamOptimizedFeatureConfigResponse is the response struct for api SetLiveStreamOptimizedFeatureConfig
+type SetLiveStreamOptimizedFeatureConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetLiveStreamOptimizedFeatureConfigRequest creates a request to invoke SetLiveStreamOptimizedFeatureConfig API
+func CreateSetLiveStreamOptimizedFeatureConfigRequest() (request *SetLiveStreamOptimizedFeatureConfigRequest) {
+	request = &SetLiveStreamOptimizedFeatureConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "SetLiveStreamOptimizedFeatureConfig", "live", "openAPI")
+	return
+}
+
+// CreateSetLiveStreamOptimizedFeatureConfigResponse creates a response to parse from SetLiveStreamOptimizedFeatureConfig response
+func CreateSetLiveStreamOptimizedFeatureConfigResponse() (response *SetLiveStreamOptimizedFeatureConfigResponse) {
+	response = &SetLiveStreamOptimizedFeatureConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/live/start_board_record.go

@@ -0,0 +1,107 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StartBoardRecord invokes the live.StartBoardRecord API synchronously
+// api document: https://help.aliyun.com/api/live/startboardrecord.html
+func (client *Client) StartBoardRecord(request *StartBoardRecordRequest) (response *StartBoardRecordResponse, err error) {
+	response = CreateStartBoardRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartBoardRecordWithChan invokes the live.StartBoardRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/startboardrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartBoardRecordWithChan(request *StartBoardRecordRequest) (<-chan *StartBoardRecordResponse, <-chan error) {
+	responseChan := make(chan *StartBoardRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartBoardRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartBoardRecordWithCallback invokes the live.StartBoardRecord API asynchronously
+// api document: https://help.aliyun.com/api/live/startboardrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartBoardRecordWithCallback(request *StartBoardRecordRequest, callback func(response *StartBoardRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartBoardRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.StartBoardRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartBoardRecordRequest is the request struct for api StartBoardRecord
+type StartBoardRecordRequest struct {
+	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
+	BoardId   string           `position:"Query" name:"BoardId"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	AppId     string           `position:"Query" name:"AppId"`
+}
+
+// StartBoardRecordResponse is the response struct for api StartBoardRecord
+type StartBoardRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+}
+
+// CreateStartBoardRecordRequest creates a request to invoke StartBoardRecord API
+func CreateStartBoardRecordRequest() (request *StartBoardRecordRequest) {
+	request = &StartBoardRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "StartBoardRecord", "live", "openAPI")
+	return
+}
+
+// CreateStartBoardRecordResponse creates a response to parse from StartBoardRecord response
+func CreateStartBoardRecordResponse() (response *StartBoardRecordResponse) {
+	response = &StartBoardRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/live/start_live_index.go

@@ -0,0 +1,114 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StartLiveIndex invokes the live.StartLiveIndex API synchronously
+// api document: https://help.aliyun.com/api/live/startliveindex.html
+func (client *Client) StartLiveIndex(request *StartLiveIndexRequest) (response *StartLiveIndexResponse, err error) {
+	response = CreateStartLiveIndexResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartLiveIndexWithChan invokes the live.StartLiveIndex API asynchronously
+// api document: https://help.aliyun.com/api/live/startliveindex.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartLiveIndexWithChan(request *StartLiveIndexRequest) (<-chan *StartLiveIndexResponse, <-chan error) {
+	responseChan := make(chan *StartLiveIndexResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartLiveIndex(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartLiveIndexWithCallback invokes the live.StartLiveIndex API asynchronously
+// api document: https://help.aliyun.com/api/live/startliveindex.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartLiveIndexWithCallback(request *StartLiveIndexRequest, callback func(response *StartLiveIndexResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartLiveIndexResponse
+		var err error
+		defer close(result)
+		response, err = client.StartLiveIndex(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartLiveIndexRequest is the request struct for api StartLiveIndex
+type StartLiveIndexRequest struct {
+	*requests.RpcRequest
+	OssBucket   string           `position:"Query" name:"OssBucket"`
+	TokenId     string           `position:"Query" name:"TokenId"`
+	DomainName  string           `position:"Query" name:"DomainName"`
+	OssEndpoint string           `position:"Query" name:"OssEndpoint"`
+	InputUrl    string           `position:"Query" name:"InputUrl"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	AppName     string           `position:"Query" name:"AppName"`
+	Interval    requests.Integer `position:"Query" name:"Interval"`
+	OssRamRole  string           `position:"Query" name:"OssRamRole"`
+	StreamName  string           `position:"Query" name:"StreamName"`
+	OssUserId   string           `position:"Query" name:"OssUserId"`
+}
+
+// StartLiveIndexResponse is the response struct for api StartLiveIndex
+type StartLiveIndexResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskId    string `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateStartLiveIndexRequest creates a request to invoke StartLiveIndex API
+func CreateStartLiveIndexRequest() (request *StartLiveIndexRequest) {
+	request = &StartLiveIndexRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "StartLiveIndex", "live", "openAPI")
+	return
+}
+
+// CreateStartLiveIndexResponse creates a response to parse from StartLiveIndex response
+func CreateStartLiveIndexResponse() (response *StartLiveIndexResponse) {
+	response = &StartLiveIndexResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 113
services/live/start_mix_streams_service.go

@@ -1,113 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// StartMixStreamsService invokes the live.StartMixStreamsService API synchronously
-// api document: https://help.aliyun.com/api/live/startmixstreamsservice.html
-func (client *Client) StartMixStreamsService(request *StartMixStreamsServiceRequest) (response *StartMixStreamsServiceResponse, err error) {
-	response = CreateStartMixStreamsServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// StartMixStreamsServiceWithChan invokes the live.StartMixStreamsService API asynchronously
-// api document: https://help.aliyun.com/api/live/startmixstreamsservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StartMixStreamsServiceWithChan(request *StartMixStreamsServiceRequest) (<-chan *StartMixStreamsServiceResponse, <-chan error) {
-	responseChan := make(chan *StartMixStreamsServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.StartMixStreamsService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// StartMixStreamsServiceWithCallback invokes the live.StartMixStreamsService API asynchronously
-// api document: https://help.aliyun.com/api/live/startmixstreamsservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StartMixStreamsServiceWithCallback(request *StartMixStreamsServiceRequest, callback func(response *StartMixStreamsServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *StartMixStreamsServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.StartMixStreamsService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// StartMixStreamsServiceRequest is the request struct for api StartMixStreamsService
-type StartMixStreamsServiceRequest struct {
-	*requests.RpcRequest
-	MixType        string           `position:"Query" name:"MixType"`
-	SecurityToken  string           `position:"Query" name:"SecurityToken"`
-	MainDomainName string           `position:"Query" name:"MainDomainName"`
-	MixStreamName  string           `position:"Query" name:"MixStreamName"`
-	MixTemplate    string           `position:"Query" name:"MixTemplate"`
-	MixDomainName  string           `position:"Query" name:"MixDomainName"`
-	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
-	MainAppName    string           `position:"Query" name:"MainAppName"`
-	MixAppName     string           `position:"Query" name:"MixAppName"`
-	MainStreamName string           `position:"Query" name:"MainStreamName"`
-}
-
-// StartMixStreamsServiceResponse is the response struct for api StartMixStreamsService
-type StartMixStreamsServiceResponse struct {
-	*responses.BaseResponse
-	RequestId          string                                     `json:"RequestId" xml:"RequestId"`
-	MixStreamsInfoList MixStreamsInfoListInStartMixStreamsService `json:"MixStreamsInfoList" xml:"MixStreamsInfoList"`
-}
-
-// CreateStartMixStreamsServiceRequest creates a request to invoke StartMixStreamsService API
-func CreateStartMixStreamsServiceRequest() (request *StartMixStreamsServiceRequest) {
-	request = &StartMixStreamsServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "StartMixStreamsService", "live", "openAPI")
-	return
-}
-
-// CreateStartMixStreamsServiceResponse creates a response to parse from StartMixStreamsService response
-func CreateStartMixStreamsServiceResponse() (response *StartMixStreamsServiceResponse) {
-	response = &StartMixStreamsServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 108
services/live/start_multiple_stream_mix_service.go

@@ -1,108 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// StartMultipleStreamMixService invokes the live.StartMultipleStreamMixService API synchronously
-// api document: https://help.aliyun.com/api/live/startmultiplestreammixservice.html
-func (client *Client) StartMultipleStreamMixService(request *StartMultipleStreamMixServiceRequest) (response *StartMultipleStreamMixServiceResponse, err error) {
-	response = CreateStartMultipleStreamMixServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// StartMultipleStreamMixServiceWithChan invokes the live.StartMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/startmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StartMultipleStreamMixServiceWithChan(request *StartMultipleStreamMixServiceRequest) (<-chan *StartMultipleStreamMixServiceResponse, <-chan error) {
-	responseChan := make(chan *StartMultipleStreamMixServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.StartMultipleStreamMixService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// StartMultipleStreamMixServiceWithCallback invokes the live.StartMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/startmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StartMultipleStreamMixServiceWithCallback(request *StartMultipleStreamMixServiceRequest, callback func(response *StartMultipleStreamMixServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *StartMultipleStreamMixServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.StartMultipleStreamMixService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// StartMultipleStreamMixServiceRequest is the request struct for api StartMultipleStreamMixService
-type StartMultipleStreamMixServiceRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	MixTemplate   string           `position:"Query" name:"MixTemplate"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// StartMultipleStreamMixServiceResponse is the response struct for api StartMultipleStreamMixService
-type StartMultipleStreamMixServiceResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateStartMultipleStreamMixServiceRequest creates a request to invoke StartMultipleStreamMixService API
-func CreateStartMultipleStreamMixServiceRequest() (request *StartMultipleStreamMixServiceRequest) {
-	request = &StartMultipleStreamMixServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "StartMultipleStreamMixService", "live", "openAPI")
-	return
-}
-
-// CreateStartMultipleStreamMixServiceResponse creates a response to parse from StartMultipleStreamMixService response
-func CreateStartMultipleStreamMixServiceResponse() (response *StartMultipleStreamMixServiceResponse) {
-	response = &StartMultipleStreamMixServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 107 - 0
services/live/stop_live_index.go

@@ -0,0 +1,107 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StopLiveIndex invokes the live.StopLiveIndex API synchronously
+// api document: https://help.aliyun.com/api/live/stopliveindex.html
+func (client *Client) StopLiveIndex(request *StopLiveIndexRequest) (response *StopLiveIndexResponse, err error) {
+	response = CreateStopLiveIndexResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopLiveIndexWithChan invokes the live.StopLiveIndex API asynchronously
+// api document: https://help.aliyun.com/api/live/stopliveindex.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopLiveIndexWithChan(request *StopLiveIndexRequest) (<-chan *StopLiveIndexResponse, <-chan error) {
+	responseChan := make(chan *StopLiveIndexResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopLiveIndex(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopLiveIndexWithCallback invokes the live.StopLiveIndex API asynchronously
+// api document: https://help.aliyun.com/api/live/stopliveindex.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopLiveIndexWithCallback(request *StopLiveIndexRequest, callback func(response *StopLiveIndexResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopLiveIndexResponse
+		var err error
+		defer close(result)
+		response, err = client.StopLiveIndex(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopLiveIndexRequest is the request struct for api StopLiveIndex
+type StopLiveIndexRequest struct {
+	*requests.RpcRequest
+	AppName    string           `position:"Query" name:"AppName"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName string           `position:"Query" name:"StreamName"`
+	TaskId     string           `position:"Query" name:"TaskId"`
+}
+
+// StopLiveIndexResponse is the response struct for api StopLiveIndex
+type StopLiveIndexResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStopLiveIndexRequest creates a request to invoke StopLiveIndex API
+func CreateStopLiveIndexRequest() (request *StopLiveIndexRequest) {
+	request = &StopLiveIndexRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "StopLiveIndex", "live", "openAPI")
+	return
+}
+
+// CreateStopLiveIndexResponse creates a response to parse from StopLiveIndex response
+func CreateStopLiveIndexResponse() (response *StopLiveIndexResponse) {
+	response = &StopLiveIndexResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 111
services/live/stop_mix_streams_service.go

@@ -1,111 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// StopMixStreamsService invokes the live.StopMixStreamsService API synchronously
-// api document: https://help.aliyun.com/api/live/stopmixstreamsservice.html
-func (client *Client) StopMixStreamsService(request *StopMixStreamsServiceRequest) (response *StopMixStreamsServiceResponse, err error) {
-	response = CreateStopMixStreamsServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// StopMixStreamsServiceWithChan invokes the live.StopMixStreamsService API asynchronously
-// api document: https://help.aliyun.com/api/live/stopmixstreamsservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StopMixStreamsServiceWithChan(request *StopMixStreamsServiceRequest) (<-chan *StopMixStreamsServiceResponse, <-chan error) {
-	responseChan := make(chan *StopMixStreamsServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.StopMixStreamsService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// StopMixStreamsServiceWithCallback invokes the live.StopMixStreamsService API asynchronously
-// api document: https://help.aliyun.com/api/live/stopmixstreamsservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StopMixStreamsServiceWithCallback(request *StopMixStreamsServiceRequest, callback func(response *StopMixStreamsServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *StopMixStreamsServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.StopMixStreamsService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// StopMixStreamsServiceRequest is the request struct for api StopMixStreamsService
-type StopMixStreamsServiceRequest struct {
-	*requests.RpcRequest
-	SecurityToken  string           `position:"Query" name:"SecurityToken"`
-	MainDomainName string           `position:"Query" name:"MainDomainName"`
-	MixStreamName  string           `position:"Query" name:"MixStreamName"`
-	MixDomainName  string           `position:"Query" name:"MixDomainName"`
-	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
-	MainAppName    string           `position:"Query" name:"MainAppName"`
-	MixAppName     string           `position:"Query" name:"MixAppName"`
-	MainStreamName string           `position:"Query" name:"MainStreamName"`
-}
-
-// StopMixStreamsServiceResponse is the response struct for api StopMixStreamsService
-type StopMixStreamsServiceResponse struct {
-	*responses.BaseResponse
-	RequestId          string                                    `json:"RequestId" xml:"RequestId"`
-	MixStreamsInfoList MixStreamsInfoListInStopMixStreamsService `json:"MixStreamsInfoList" xml:"MixStreamsInfoList"`
-}
-
-// CreateStopMixStreamsServiceRequest creates a request to invoke StopMixStreamsService API
-func CreateStopMixStreamsServiceRequest() (request *StopMixStreamsServiceRequest) {
-	request = &StopMixStreamsServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "StopMixStreamsService", "live", "openAPI")
-	return
-}
-
-// CreateStopMixStreamsServiceResponse creates a response to parse from StopMixStreamsService response
-func CreateStopMixStreamsServiceResponse() (response *StopMixStreamsServiceResponse) {
-	response = &StopMixStreamsServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 107
services/live/stop_multiple_stream_mix_service.go

@@ -1,107 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// StopMultipleStreamMixService invokes the live.StopMultipleStreamMixService API synchronously
-// api document: https://help.aliyun.com/api/live/stopmultiplestreammixservice.html
-func (client *Client) StopMultipleStreamMixService(request *StopMultipleStreamMixServiceRequest) (response *StopMultipleStreamMixServiceResponse, err error) {
-	response = CreateStopMultipleStreamMixServiceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// StopMultipleStreamMixServiceWithChan invokes the live.StopMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/stopmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StopMultipleStreamMixServiceWithChan(request *StopMultipleStreamMixServiceRequest) (<-chan *StopMultipleStreamMixServiceResponse, <-chan error) {
-	responseChan := make(chan *StopMultipleStreamMixServiceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.StopMultipleStreamMixService(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// StopMultipleStreamMixServiceWithCallback invokes the live.StopMultipleStreamMixService API asynchronously
-// api document: https://help.aliyun.com/api/live/stopmultiplestreammixservice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) StopMultipleStreamMixServiceWithCallback(request *StopMultipleStreamMixServiceRequest, callback func(response *StopMultipleStreamMixServiceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *StopMultipleStreamMixServiceResponse
-		var err error
-		defer close(result)
-		response, err = client.StopMultipleStreamMixService(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// StopMultipleStreamMixServiceRequest is the request struct for api StopMultipleStreamMixService
-type StopMultipleStreamMixServiceRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// StopMultipleStreamMixServiceResponse is the response struct for api StopMultipleStreamMixService
-type StopMultipleStreamMixServiceResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateStopMultipleStreamMixServiceRequest creates a request to invoke StopMultipleStreamMixService API
-func CreateStopMultipleStreamMixServiceRequest() (request *StopMultipleStreamMixServiceRequest) {
-	request = &StopMultipleStreamMixServiceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "StopMultipleStreamMixService", "live", "openAPI")
-	return
-}
-
-// CreateStopMultipleStreamMixServiceResponse creates a response to parse from StopMultipleStreamMixService response
-func CreateStopMultipleStreamMixServiceResponse() (response *StopMultipleStreamMixServiceResponse) {
-	response = &StopMultipleStreamMixServiceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 3 - 4
services/live/struct_mix_config.go → services/live/struct_live_domain_model.go

@@ -15,9 +15,8 @@ package live
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MixConfig is a nested struct in live response
-type MixConfig struct {
+// LiveDomainModel is a nested struct in live response
+type LiveDomainModel struct {
 	DomainName string `json:"DomainName" xml:"DomainName"`
-	AppName    string `json:"AppName" xml:"AppName"`
-	Template   string `json:"Template" xml:"Template"`
+	Type       string `json:"Type" xml:"Type"`
 }

+ 3 - 3
services/live/struct_mix_streams_info_list_in_stop_mix_streams_service.go → services/live/struct_live_domain_models.go

@@ -15,7 +15,7 @@ package live
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MixStreamsInfoListInStopMixStreamsService is a nested struct in live response
-type MixStreamsInfoListInStopMixStreamsService struct {
-	MixStreamsInfo []MixStreamsInfo `json:"MixStreamsInfo" xml:"MixStreamsInfo"`
+// LiveDomainModels is a nested struct in live response
+type LiveDomainModels struct {
+	LiveDomainModel []LiveDomainModel `json:"LiveDomainModel" xml:"LiveDomainModel"`
 }

+ 1 - 0
services/live/struct_live_lazy_pull_config.go

@@ -24,4 +24,5 @@ type LiveLazyPullConfig struct {
 	PullProtocol   string `json:"PullProtocol" xml:"PullProtocol"`
 	PullAuthType   string `json:"PullAuthType" xml:"PullAuthType"`
 	PullAuthKey    string `json:"PullAuthKey" xml:"PullAuthKey"`
+	PullArgs       string `json:"PullArgs" xml:"PullArgs"`
 }

+ 4 - 3
services/live/struct_mix_streams_info_list_in_start_mix_streams_service.go → services/live/struct_live_stream_flv_delay_config.go

@@ -15,7 +15,8 @@ package live
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MixStreamsInfoListInStartMixStreamsService is a nested struct in live response
-type MixStreamsInfoListInStartMixStreamsService struct {
-	MixStreamsInfo []MixStreamsInfo `json:"MixStreamsInfo" xml:"MixStreamsInfo"`
+// LiveStreamFlvDelayConfig is a nested struct in live response
+type LiveStreamFlvDelayConfig struct {
+	Level string `json:"Level" xml:"Level"`
+	Delay int    `json:"Delay" xml:"Delay"`
 }

+ 22 - 0
services/live/struct_live_stream_hls_delay_config.go

@@ -0,0 +1,22 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// LiveStreamHlsDelayConfig is a nested struct in live response
+type LiveStreamHlsDelayConfig struct {
+	Level string `json:"Level" xml:"Level"`
+	Delay int    `json:"Delay" xml:"Delay"`
+}

+ 9 - 0
services/live/struct_live_stream_online_info.go

@@ -26,4 +26,13 @@ type LiveStreamOnlineInfo struct {
 	PublishType   string `json:"PublishType" xml:"PublishType"`
 	Transcoded    string `json:"Transcoded" xml:"Transcoded"`
 	TranscodeId   string `json:"TranscodeId" xml:"TranscodeId"`
+	ServerIp      string `json:"ServerIp" xml:"ServerIp"`
+	ClientIp      string `json:"ClientIp" xml:"ClientIp"`
+	VideoCodecId  int    `json:"VideoCodecId" xml:"VideoCodecId"`
+	VideoDataRate int    `json:"VideoDataRate" xml:"VideoDataRate"`
+	FrameRate     int    `json:"FrameRate" xml:"FrameRate"`
+	Width         int    `json:"Width" xml:"Width"`
+	Height        int    `json:"Height" xml:"Height"`
+	AudioCodecId  int    `json:"AudioCodecId" xml:"AudioCodecId"`
+	AudioDataRate int    `json:"AudioDataRate" xml:"AudioDataRate"`
 }

+ 24 - 0
services/live/struct_live_stream_optimized_feature_config.go

@@ -0,0 +1,24 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// LiveStreamOptimizedFeatureConfig is a nested struct in live response
+type LiveStreamOptimizedFeatureConfig struct {
+	DomainName   string `json:"DomainName" xml:"DomainName"`
+	ConfigName   string `json:"ConfigName" xml:"ConfigName"`
+	ConfigStatus string `json:"ConfigStatus" xml:"ConfigStatus"`
+	ConfigValue  string `json:"ConfigValue" xml:"ConfigValue"`
+}

+ 3 - 5
services/live/struct_mix_streams_info.go → services/live/struct_live_stream_optimized_feature_config_list.go

@@ -15,9 +15,7 @@ package live
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MixStreamsInfo is a nested struct in live response
-type MixStreamsInfo struct {
-	DomainName string `json:"DomainName" xml:"DomainName"`
-	AppName    string `json:"AppName" xml:"AppName"`
-	StreamName string `json:"StreamName" xml:"StreamName"`
+// LiveStreamOptimizedFeatureConfigList is a nested struct in live response
+type LiveStreamOptimizedFeatureConfigList struct {
+	LiveStreamOptimizedFeatureConfig []LiveStreamOptimizedFeatureConfig `json:"LiveStreamOptimizedFeatureConfig" xml:"LiveStreamOptimizedFeatureConfig"`
 }

+ 22 - 0
services/live/struct_live_stream_rtmp_delay_config.go

@@ -0,0 +1,22 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// LiveStreamRtmpDelayConfig is a nested struct in live response
+type LiveStreamRtmpDelayConfig struct {
+	Level string `json:"Level" xml:"Level"`
+	Delay int    `json:"Delay" xml:"Delay"`
+}

+ 30 - 0
services/live/struct_record.go

@@ -0,0 +1,30 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Record is a nested struct in live response
+type Record struct {
+	RecordId        string `json:"RecordId" xml:"RecordId"`
+	AppId           string `json:"AppId" xml:"AppId"`
+	BoardId         int    `json:"BoardId" xml:"BoardId"`
+	RecordStartTime int    `json:"RecordStartTime" xml:"RecordStartTime"`
+	StartTime       int    `json:"StartTime" xml:"StartTime"`
+	EndTime         int    `json:"EndTime" xml:"EndTime"`
+	State           int    `json:"State" xml:"State"`
+	OssPath         string `json:"OssPath" xml:"OssPath"`
+	OssBucket       string `json:"OssBucket" xml:"OssBucket"`
+	OssEndpoint     string `json:"OssEndpoint" xml:"OssEndpoint"`
+}

+ 3 - 3
services/live/struct_mix_config_list.go → services/live/struct_records.go

@@ -15,7 +15,7 @@ package live
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MixConfigList is a nested struct in live response
-type MixConfigList struct {
-	MixConfig []MixConfig `json:"MixConfig" xml:"MixConfig"`
+// Records is a nested struct in live response
+type Records struct {
+	Record []Record `json:"Record" xml:"Record"`
 }

+ 1 - 1
services/live/struct_stream_info.go

@@ -21,5 +21,5 @@ type StreamInfo struct {
 	TranscodeConfig string `json:"TranscodeConfig" xml:"TranscodeConfig"`
 	OutputStreamUrl string `json:"OutputStreamUrl" xml:"OutputStreamUrl"`
 	StreamName      string `json:"StreamName" xml:"StreamName"`
-	Infos           Infos  `json:"Infos" xml:"Infos"`
+	Infos           []Info `json:"Infos" xml:"Infos"`
 }

+ 109 - 0
services/live/update_board_callback.go

@@ -0,0 +1,109 @@
+package live
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateBoardCallback invokes the live.UpdateBoardCallback API synchronously
+// api document: https://help.aliyun.com/api/live/updateboardcallback.html
+func (client *Client) UpdateBoardCallback(request *UpdateBoardCallbackRequest) (response *UpdateBoardCallbackResponse, err error) {
+	response = CreateUpdateBoardCallbackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateBoardCallbackWithChan invokes the live.UpdateBoardCallback API asynchronously
+// api document: https://help.aliyun.com/api/live/updateboardcallback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateBoardCallbackWithChan(request *UpdateBoardCallbackRequest) (<-chan *UpdateBoardCallbackResponse, <-chan error) {
+	responseChan := make(chan *UpdateBoardCallbackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateBoardCallback(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateBoardCallbackWithCallback invokes the live.UpdateBoardCallback API asynchronously
+// api document: https://help.aliyun.com/api/live/updateboardcallback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateBoardCallbackWithCallback(request *UpdateBoardCallbackRequest, callback func(response *UpdateBoardCallbackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateBoardCallbackResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateBoardCallback(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateBoardCallbackRequest is the request struct for api UpdateBoardCallback
+type UpdateBoardCallbackRequest struct {
+	*requests.RpcRequest
+	AuthKey        string           `position:"Query" name:"AuthKey"`
+	CallbackEnable requests.Integer `position:"Query" name:"CallbackEnable"`
+	CallbackEvents string           `position:"Query" name:"CallbackEvents"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	CallbackUri    string           `position:"Query" name:"CallbackUri"`
+	AppId          string           `position:"Query" name:"AppId"`
+	AuthSwitch     string           `position:"Query" name:"AuthSwitch"`
+}
+
+// UpdateBoardCallbackResponse is the response struct for api UpdateBoardCallback
+type UpdateBoardCallbackResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateBoardCallbackRequest creates a request to invoke UpdateBoardCallback API
+func CreateUpdateBoardCallbackRequest() (request *UpdateBoardCallbackRequest) {
+	request = &UpdateBoardCallbackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("live", "2016-11-01", "UpdateBoardCallback", "live", "openAPI")
+	return
+}
+
+// CreateUpdateBoardCallbackResponse creates a response to parse from UpdateBoardCallback response
+func CreateUpdateBoardCallbackResponse() (response *UpdateBoardCallbackResponse) {
+	response = &UpdateBoardCallbackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 106
services/live/update_live_mix_notify_config.go

@@ -1,106 +0,0 @@
-package live
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// UpdateLiveMixNotifyConfig invokes the live.UpdateLiveMixNotifyConfig API synchronously
-// api document: https://help.aliyun.com/api/live/updatelivemixnotifyconfig.html
-func (client *Client) UpdateLiveMixNotifyConfig(request *UpdateLiveMixNotifyConfigRequest) (response *UpdateLiveMixNotifyConfigResponse, err error) {
-	response = CreateUpdateLiveMixNotifyConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// UpdateLiveMixNotifyConfigWithChan invokes the live.UpdateLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/updatelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateLiveMixNotifyConfigWithChan(request *UpdateLiveMixNotifyConfigRequest) (<-chan *UpdateLiveMixNotifyConfigResponse, <-chan error) {
-	responseChan := make(chan *UpdateLiveMixNotifyConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.UpdateLiveMixNotifyConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// UpdateLiveMixNotifyConfigWithCallback invokes the live.UpdateLiveMixNotifyConfig API asynchronously
-// api document: https://help.aliyun.com/api/live/updatelivemixnotifyconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateLiveMixNotifyConfigWithCallback(request *UpdateLiveMixNotifyConfigRequest, callback func(response *UpdateLiveMixNotifyConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *UpdateLiveMixNotifyConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.UpdateLiveMixNotifyConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// UpdateLiveMixNotifyConfigRequest is the request struct for api UpdateLiveMixNotifyConfig
-type UpdateLiveMixNotifyConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	NotifyUrl     string           `position:"Query" name:"NotifyUrl"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// UpdateLiveMixNotifyConfigResponse is the response struct for api UpdateLiveMixNotifyConfig
-type UpdateLiveMixNotifyConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateUpdateLiveMixNotifyConfigRequest creates a request to invoke UpdateLiveMixNotifyConfig API
-func CreateUpdateLiveMixNotifyConfigRequest() (request *UpdateLiveMixNotifyConfigRequest) {
-	request = &UpdateLiveMixNotifyConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("live", "2016-11-01", "UpdateLiveMixNotifyConfig", "live", "openAPI")
-	return
-}
-
-// CreateUpdateLiveMixNotifyConfigResponse creates a response to parse from UpdateLiveMixNotifyConfig response
-func CreateUpdateLiveMixNotifyConfigResponse() (response *UpdateLiveMixNotifyConfigResponse) {
-	response = &UpdateLiveMixNotifyConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}