浏览代码

Support to update layout in task for MPU.

sdk-team 6 年之前
父节点
当前提交
555346b668

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-09-18 Version: 1.60.167
+- Support to update layout in task for MPU.
+
 2019-09-18 Version: 1.60.166
 - Optimize error code.
 

+ 25 - 0
services/rtc/client.go

@@ -16,6 +16,8 @@ package rtc
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 import (
+	"reflect"
+
 	"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"
@@ -26,10 +28,25 @@ type Client struct {
 	sdk.Client
 }
 
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
 // NewClient creates a sdk client with environment variables
 func NewClient() (client *Client, err error) {
 	client = &Client{}
 	err = client.Init()
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -44,6 +61,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 		pc = provider.NewProviderChain(providers)
 	}
 	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -52,6 +70,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -60,6 +79,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -68,6 +88,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -76,6 +97,7 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -84,6 +106,7 @@ func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, role
 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)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -92,6 +115,7 @@ func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySec
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -100,5 +124,6 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
 	return
 }

+ 0 - 109
services/rtc/create_channel_token.go

@@ -1,109 +0,0 @@
-package rtc
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT 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"
-)
-
-// CreateChannelToken invokes the rtc.CreateChannelToken API synchronously
-// api document: https://help.aliyun.com/api/rtc/createchanneltoken.html
-func (client *Client) CreateChannelToken(request *CreateChannelTokenRequest) (response *CreateChannelTokenResponse, err error) {
-	response = CreateCreateChannelTokenResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// CreateChannelTokenWithChan invokes the rtc.CreateChannelToken API asynchronously
-// api document: https://help.aliyun.com/api/rtc/createchanneltoken.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CreateChannelTokenWithChan(request *CreateChannelTokenRequest) (<-chan *CreateChannelTokenResponse, <-chan error) {
-	responseChan := make(chan *CreateChannelTokenResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.CreateChannelToken(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// CreateChannelTokenWithCallback invokes the rtc.CreateChannelToken API asynchronously
-// api document: https://help.aliyun.com/api/rtc/createchanneltoken.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CreateChannelTokenWithCallback(request *CreateChannelTokenRequest, callback func(response *CreateChannelTokenResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *CreateChannelTokenResponse
-		var err error
-		defer close(result)
-		response, err = client.CreateChannelToken(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// CreateChannelTokenRequest is the request struct for api CreateChannelToken
-type CreateChannelTokenRequest struct {
-	*requests.RpcRequest
-	SessionId string           `position:"Query" name:"SessionId"`
-	UId       string           `position:"Query" name:"UId"`
-	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
-	Nonce     string           `position:"Query" name:"Nonce"`
-	AppId     string           `position:"Query" name:"AppId"`
-	ChannelId string           `position:"Query" name:"ChannelId"`
-}
-
-// CreateChannelTokenResponse is the response struct for api CreateChannelToken
-type CreateChannelTokenResponse struct {
-	*responses.BaseResponse
-	RequestId    string `json:"RequestId" xml:"RequestId"`
-	ChannelToken string `json:"ChannelToken" xml:"ChannelToken"`
-}
-
-// CreateCreateChannelTokenRequest creates a request to invoke CreateChannelToken API
-func CreateCreateChannelTokenRequest() (request *CreateChannelTokenRequest) {
-	request = &CreateChannelTokenRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("rtc", "2018-01-11", "CreateChannelToken", "rtc", "openAPI")
-	return
-}
-
-// CreateCreateChannelTokenResponse creates a response to parse from CreateChannelToken response
-func CreateCreateChannelTokenResponse() (response *CreateChannelTokenResponse) {
-	response = &CreateChannelTokenResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 3
services/rtc/delete_conference.go

@@ -76,16 +76,15 @@ func (client *Client) DeleteConferenceWithCallback(request *DeleteConferenceRequ
 // DeleteConferenceRequest is the request struct for api DeleteConference
 type DeleteConferenceRequest struct {
 	*requests.RpcRequest
-	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
 	ConferenceId string           `position:"Query" name:"ConferenceId"`
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
 	AppId        string           `position:"Query" name:"AppId"`
 }
 
 // DeleteConferenceResponse is the response struct for api DeleteConference
 type DeleteConferenceResponse struct {
 	*responses.BaseResponse
-	RequestId    string `json:"RequestId" xml:"RequestId"`
-	ConferenceId string `json:"ConferenceId" xml:"ConferenceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
 // CreateDeleteConferenceRequest creates a request to invoke DeleteConference API

+ 5 - 5
services/rtc/describe_channel_participants.go

@@ -87,11 +87,11 @@ type DescribeChannelParticipantsRequest struct {
 // DescribeChannelParticipantsResponse is the response struct for api DescribeChannelParticipants
 type DescribeChannelParticipantsResponse struct {
 	*responses.BaseResponse
-	RequestId string   `json:"RequestId" xml:"RequestId"`
-	Timestamp int      `json:"Timestamp" xml:"Timestamp"`
-	TotalNum  int      `json:"TotalNum" xml:"TotalNum"`
-	TotalPage int      `json:"TotalPage" xml:"TotalPage"`
-	UserList  UserList `json:"UserList" xml:"UserList"`
+	RequestId string                                `json:"RequestId" xml:"RequestId"`
+	Timestamp int                                   `json:"Timestamp" xml:"Timestamp"`
+	TotalNum  int                                   `json:"TotalNum" xml:"TotalNum"`
+	TotalPage int                                   `json:"TotalPage" xml:"TotalPage"`
+	UserList  UserListInDescribeChannelParticipants `json:"UserList" xml:"UserList"`
 }
 
 // CreateDescribeChannelParticipantsRequest creates a request to invoke DescribeChannelParticipants API

+ 115 - 0
services/rtc/describe_rtc_channel_list.go

@@ -0,0 +1,115 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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"
+)
+
+// DescribeRtcChannelList invokes the rtc.DescribeRtcChannelList API synchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannellist.html
+func (client *Client) DescribeRtcChannelList(request *DescribeRtcChannelListRequest) (response *DescribeRtcChannelListResponse, err error) {
+	response = CreateDescribeRtcChannelListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRtcChannelListWithChan invokes the rtc.DescribeRtcChannelList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannellist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelListWithChan(request *DescribeRtcChannelListRequest) (<-chan *DescribeRtcChannelListResponse, <-chan error) {
+	responseChan := make(chan *DescribeRtcChannelListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRtcChannelList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRtcChannelListWithCallback invokes the rtc.DescribeRtcChannelList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannellist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelListWithCallback(request *DescribeRtcChannelListRequest, callback func(response *DescribeRtcChannelListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRtcChannelListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRtcChannelList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRtcChannelListRequest is the request struct for api DescribeRtcChannelList
+type DescribeRtcChannelListRequest struct {
+	*requests.RpcRequest
+	SortType    string           `position:"Query" name:"SortType"`
+	UserId      string           `position:"Query" name:"UserId"`
+	ServiceArea string           `position:"Query" name:"ServiceArea"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	PageNo      requests.Integer `position:"Query" name:"PageNo"`
+	AppId       string           `position:"Query" name:"AppId"`
+	ChannelId   string           `position:"Query" name:"ChannelId"`
+	TimePoint   string           `position:"Query" name:"TimePoint"`
+}
+
+// DescribeRtcChannelListResponse is the response struct for api DescribeRtcChannelList
+type DescribeRtcChannelListResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	PageSize    int64       `json:"PageSize" xml:"PageSize"`
+	PageNo      int64       `json:"PageNo" xml:"PageNo"`
+	TotalCnt    int64       `json:"TotalCnt" xml:"TotalCnt"`
+	ChannelList ChannelList `json:"ChannelList" xml:"ChannelList"`
+}
+
+// CreateDescribeRtcChannelListRequest creates a request to invoke DescribeRtcChannelList API
+func CreateDescribeRtcChannelListRequest() (request *DescribeRtcChannelListRequest) {
+	request = &DescribeRtcChannelListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRtcChannelList", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRtcChannelListResponse creates a response to parse from DescribeRtcChannelList response
+func CreateDescribeRtcChannelListResponse() (response *DescribeRtcChannelListResponse) {
+	response = &DescribeRtcChannelListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/rtc/describe_rtc_channel_metric.go

@@ -0,0 +1,107 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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"
+)
+
+// DescribeRtcChannelMetric invokes the rtc.DescribeRtcChannelMetric API synchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannelmetric.html
+func (client *Client) DescribeRtcChannelMetric(request *DescribeRtcChannelMetricRequest) (response *DescribeRtcChannelMetricResponse, err error) {
+	response = CreateDescribeRtcChannelMetricResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRtcChannelMetricWithChan invokes the rtc.DescribeRtcChannelMetric API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannelmetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelMetricWithChan(request *DescribeRtcChannelMetricRequest) (<-chan *DescribeRtcChannelMetricResponse, <-chan error) {
+	responseChan := make(chan *DescribeRtcChannelMetricResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRtcChannelMetric(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRtcChannelMetricWithCallback invokes the rtc.DescribeRtcChannelMetric API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchannelmetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelMetricWithCallback(request *DescribeRtcChannelMetricRequest, callback func(response *DescribeRtcChannelMetricResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRtcChannelMetricResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRtcChannelMetric(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRtcChannelMetricRequest is the request struct for api DescribeRtcChannelMetric
+type DescribeRtcChannelMetricRequest struct {
+	*requests.RpcRequest
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+	TimePoint string           `position:"Query" name:"TimePoint"`
+}
+
+// DescribeRtcChannelMetricResponse is the response struct for api DescribeRtcChannelMetric
+type DescribeRtcChannelMetricResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	ChannelMetricInfo ChannelMetricInfo `json:"ChannelMetricInfo" xml:"ChannelMetricInfo"`
+}
+
+// CreateDescribeRtcChannelMetricRequest creates a request to invoke DescribeRtcChannelMetric API
+func CreateDescribeRtcChannelMetricRequest() (request *DescribeRtcChannelMetricRequest) {
+	request = &DescribeRtcChannelMetricRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRtcChannelMetric", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRtcChannelMetricResponse creates a response to parse from DescribeRtcChannelMetric response
+func CreateDescribeRtcChannelMetricResponse() (response *DescribeRtcChannelMetricResponse) {
+	response = &DescribeRtcChannelMetricResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/rtc/describe_rtc_channel_user_list.go

@@ -0,0 +1,112 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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"
+)
+
+// DescribeRtcChannelUserList invokes the rtc.DescribeRtcChannelUserList API synchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchanneluserlist.html
+func (client *Client) DescribeRtcChannelUserList(request *DescribeRtcChannelUserListRequest) (response *DescribeRtcChannelUserListResponse, err error) {
+	response = CreateDescribeRtcChannelUserListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRtcChannelUserListWithChan invokes the rtc.DescribeRtcChannelUserList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchanneluserlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelUserListWithChan(request *DescribeRtcChannelUserListRequest) (<-chan *DescribeRtcChannelUserListResponse, <-chan error) {
+	responseChan := make(chan *DescribeRtcChannelUserListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRtcChannelUserList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRtcChannelUserListWithCallback invokes the rtc.DescribeRtcChannelUserList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcchanneluserlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcChannelUserListWithCallback(request *DescribeRtcChannelUserListRequest, callback func(response *DescribeRtcChannelUserListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRtcChannelUserListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRtcChannelUserList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRtcChannelUserListRequest is the request struct for api DescribeRtcChannelUserList
+type DescribeRtcChannelUserListRequest struct {
+	*requests.RpcRequest
+	PageSize  requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	PageNo    requests.Integer `position:"Query" name:"PageNo"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+	TimePoint string           `position:"Query" name:"TimePoint"`
+}
+
+// DescribeRtcChannelUserListResponse is the response struct for api DescribeRtcChannelUserList
+type DescribeRtcChannelUserListResponse struct {
+	*responses.BaseResponse
+	RequestId string                               `json:"RequestId" xml:"RequestId"`
+	PageSize  int64                                `json:"PageSize" xml:"PageSize"`
+	PageNo    int64                                `json:"PageNo" xml:"PageNo"`
+	TotalCnt  int64                                `json:"TotalCnt" xml:"TotalCnt"`
+	UserList  UserListInDescribeRtcChannelUserList `json:"UserList" xml:"UserList"`
+}
+
+// CreateDescribeRtcChannelUserListRequest creates a request to invoke DescribeRtcChannelUserList API
+func CreateDescribeRtcChannelUserListRequest() (request *DescribeRtcChannelUserListRequest) {
+	request = &DescribeRtcChannelUserListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRtcChannelUserList", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRtcChannelUserListResponse creates a response to parse from DescribeRtcChannelUserList response
+func CreateDescribeRtcChannelUserListResponse() (response *DescribeRtcChannelUserListResponse) {
+	response = &DescribeRtcChannelUserListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/rtc/endpoint.go

@@ -0,0 +1,20 @@
+package rtc
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "central"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 0 - 105
services/rtc/get_all_template.go

@@ -1,105 +0,0 @@
-package rtc
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT 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"
-)
-
-// GetAllTemplate invokes the rtc.GetAllTemplate API synchronously
-// api document: https://help.aliyun.com/api/rtc/getalltemplate.html
-func (client *Client) GetAllTemplate(request *GetAllTemplateRequest) (response *GetAllTemplateResponse, err error) {
-	response = CreateGetAllTemplateResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// GetAllTemplateWithChan invokes the rtc.GetAllTemplate API asynchronously
-// api document: https://help.aliyun.com/api/rtc/getalltemplate.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) GetAllTemplateWithChan(request *GetAllTemplateRequest) (<-chan *GetAllTemplateResponse, <-chan error) {
-	responseChan := make(chan *GetAllTemplateResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.GetAllTemplate(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// GetAllTemplateWithCallback invokes the rtc.GetAllTemplate API asynchronously
-// api document: https://help.aliyun.com/api/rtc/getalltemplate.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) GetAllTemplateWithCallback(request *GetAllTemplateRequest, callback func(response *GetAllTemplateResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *GetAllTemplateResponse
-		var err error
-		defer close(result)
-		response, err = client.GetAllTemplate(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// GetAllTemplateRequest is the request struct for api GetAllTemplate
-type GetAllTemplateRequest struct {
-	*requests.RpcRequest
-	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
-	AppId   string           `position:"Query" name:"AppId"`
-}
-
-// GetAllTemplateResponse is the response struct for api GetAllTemplate
-type GetAllTemplateResponse struct {
-	*responses.BaseResponse
-	RequestId   string      `json:"RequestId" xml:"RequestId"`
-	TemplateIds TemplateIds `json:"TemplateIds" xml:"TemplateIds"`
-}
-
-// CreateGetAllTemplateRequest creates a request to invoke GetAllTemplate API
-func CreateGetAllTemplateRequest() (request *GetAllTemplateRequest) {
-	request = &GetAllTemplateRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("rtc", "2018-01-11", "GetAllTemplate", "rtc", "openAPI")
-	return
-}
-
-// CreateGetAllTemplateResponse creates a response to parse from GetAllTemplate response
-func CreateGetAllTemplateResponse() (response *GetAllTemplateResponse) {
-	response = &GetAllTemplateResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 1
services/rtc/mute_audio.go

@@ -77,8 +77,8 @@ func (client *Client) MuteAudioWithCallback(request *MuteAudioRequest, callback
 type MuteAudioRequest struct {
 	*requests.RpcRequest
 	ParticipantIds *[]string        `position:"Query" name:"ParticipantIds"  type:"Repeated"`
-	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
 	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
 	AppId          string           `position:"Query" name:"AppId"`
 }
 

+ 1 - 1
services/rtc/mute_audio_all.go

@@ -76,9 +76,9 @@ func (client *Client) MuteAudioAllWithCallback(request *MuteAudioAllRequest, cal
 // MuteAudioAllRequest is the request struct for api MuteAudioAll
 type MuteAudioAllRequest struct {
 	*requests.RpcRequest
+	ConferenceId  string           `position:"Query" name:"ConferenceId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	ParticipantId string           `position:"Query" name:"ParticipantId"`
-	ConferenceId  string           `position:"Query" name:"ConferenceId"`
 	AppId         string           `position:"Query" name:"AppId"`
 }
 

+ 3 - 3
services/rtc/struct_template_ids.go → services/rtc/struct_call_area.go

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

+ 21 - 0
services/rtc/struct_channel_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// ChannelList is a nested struct in rtc response
+type ChannelList struct {
+	ChannelListItem []ChannelListItem `json:"ChannelListItem" xml:"ChannelListItem"`
+}

+ 25 - 0
services/rtc/struct_channel_list_item.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// ChannelListItem is a nested struct in rtc response
+type ChannelListItem struct {
+	ChannelId    string   `json:"ChannelId" xml:"ChannelId"`
+	StartTime    string   `json:"StartTime" xml:"StartTime"`
+	EndTime      string   `json:"EndTime" xml:"EndTime"`
+	TotalUserCnt int64    `json:"TotalUserCnt" xml:"TotalUserCnt"`
+	CallArea     CallArea `json:"CallArea" xml:"CallArea"`
+}

+ 26 - 0
services/rtc/struct_channel_metric.go

@@ -0,0 +1,26 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// ChannelMetric is a nested struct in rtc response
+type ChannelMetric struct {
+	ChannelId    string `json:"ChannelId" xml:"ChannelId"`
+	UserCount    int    `json:"UserCount" xml:"UserCount"`
+	PubUserCount int    `json:"PubUserCount" xml:"PubUserCount"`
+	SubUserCount int    `json:"SubUserCount" xml:"SubUserCount"`
+	StartTime    string `json:"StartTime" xml:"StartTime"`
+	EndTime      string `json:"EndTime" xml:"EndTime"`
+}

+ 22 - 0
services/rtc/struct_channel_metric_info.go

@@ -0,0 +1,22 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// ChannelMetricInfo is a nested struct in rtc response
+type ChannelMetricInfo struct {
+	ChannelMetric ChannelMetric `json:"ChannelMetric" xml:"ChannelMetric"`
+	Duration      Duration      `json:"Duration" xml:"Duration"`
+}

+ 8 - 8
services/rtc/struct_communication_record_info.go

@@ -17,12 +17,12 @@ package rtc
 
 // CommunicationRecordInfo is a nested struct in rtc response
 type CommunicationRecordInfo struct {
-	Status        bool                          `json:"Status" xml:"Status"`
-	StartTime     string                        `json:"StartTime" xml:"StartTime"`
-	EndTime       string                        `json:"EndTime" xml:"EndTime"`
-	ChannelId     string                        `json:"ChannelId" xml:"ChannelId"`
-	TotalUserCnt  int64                         `json:"TotalUserCnt" xml:"TotalUserCnt"`
-	RecordId      string                        `json:"RecordId" xml:"RecordId"`
-	OnlineUserCnt int64                         `json:"OnlineUserCnt" xml:"OnlineUserCnt"`
-	CallAreas     CallAreasInDescribeRecordList `json:"CallAreas" xml:"CallAreas"`
+	Status        bool                                  `json:"Status" xml:"Status"`
+	StartTime     string                                `json:"StartTime" xml:"StartTime"`
+	EndTime       string                                `json:"EndTime" xml:"EndTime"`
+	ChannelId     string                                `json:"ChannelId" xml:"ChannelId"`
+	TotalUserCnt  int64                                 `json:"TotalUserCnt" xml:"TotalUserCnt"`
+	RecordId      string                                `json:"RecordId" xml:"RecordId"`
+	OnlineUserCnt int64                                 `json:"OnlineUserCnt" xml:"OnlineUserCnt"`
+	CallAreas     CallAreasInDescribeRealTimeRecordList `json:"CallAreas" xml:"CallAreas"`
 }

+ 7 - 5
services/rtc/struct_duration.go

@@ -17,9 +17,11 @@ package rtc
 
 // Duration is a nested struct in rtc response
 type Duration struct {
-	Sd    float64 `json:"Sd" xml:"Sd"`
-	All   float64 `json:"All" xml:"All"`
-	Fhd   float64 `json:"Fhd" xml:"Fhd"`
-	Audio float64 `json:"Audio" xml:"Audio"`
-	Hd    float64 `json:"Hd" xml:"Hd"`
+	Sd          float64     `json:"Sd" xml:"Sd"`
+	All         float64     `json:"All" xml:"All"`
+	Fhd         float64     `json:"Fhd" xml:"Fhd"`
+	Audio       float64     `json:"Audio" xml:"Audio"`
+	Hd          float64     `json:"Hd" xml:"Hd"`
+	PubDuration PubDuration `json:"PubDuration" xml:"PubDuration"`
+	SubDuration SubDuration `json:"SubDuration" xml:"SubDuration"`
 }

+ 25 - 0
services/rtc/struct_pub_duration.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// PubDuration is a nested struct in rtc response
+type PubDuration struct {
+	Audio     int `json:"Audio" xml:"Audio"`
+	Video360  int `json:"Video360" xml:"Video360"`
+	Video720  int `json:"Video720" xml:"Video720"`
+	Video1080 int `json:"Video1080" xml:"Video1080"`
+	Content   int `json:"Content" xml:"Content"`
+}

+ 25 - 0
services/rtc/struct_sub_duration.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// SubDuration is a nested struct in rtc response
+type SubDuration struct {
+	Audio     int `json:"Audio" xml:"Audio"`
+	Video360  int `json:"Video360" xml:"Video360"`
+	Video720  int `json:"Video720" xml:"Video720"`
+	Video1080 int `json:"Video1080" xml:"Video1080"`
+	Content   int `json:"Content" xml:"Content"`
+}

+ 2 - 2
services/rtc/struct_user_list.go → services/rtc/struct_user_list_in_describe_channel_participants.go

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

+ 21 - 0
services/rtc/struct_user_list_in_describe_rtc_channel_user_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// UserListInDescribeRtcChannelUserList is a nested struct in rtc response
+type UserListInDescribeRtcChannelUserList struct {
+	UserListItem []UserListItem `json:"UserListItem" xml:"UserListItem"`
+}

+ 35 - 0
services/rtc/struct_user_list_item.go

@@ -0,0 +1,35 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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.
+
+// UserListItem is a nested struct in rtc response
+type UserListItem struct {
+	ChannelId    string `json:"ChannelId" xml:"ChannelId"`
+	UserId       string `json:"UserId" xml:"UserId"`
+	StartTime    string `json:"StartTime" xml:"StartTime"`
+	EndTime      string `json:"EndTime" xml:"EndTime"`
+	ServiceArea  string `json:"ServiceArea" xml:"ServiceArea"`
+	SubAudio     int    `json:"SubAudio" xml:"SubAudio"`
+	PubAudio     int    `json:"PubAudio" xml:"PubAudio"`
+	SubVideo360  int    `json:"SubVideo360" xml:"SubVideo360"`
+	PubVideo360  int    `json:"PubVideo360" xml:"PubVideo360"`
+	SubVideo720  int    `json:"SubVideo720" xml:"SubVideo720"`
+	PubVideo720  int    `json:"PubVideo720" xml:"PubVideo720"`
+	SubVideo1080 int    `json:"SubVideo1080" xml:"SubVideo1080"`
+	PubVideo1080 int    `json:"PubVideo1080" xml:"PubVideo1080"`
+	SubContent   int    `json:"SubContent" xml:"SubContent"`
+	PubContent   int    `json:"PubContent" xml:"PubContent"`
+}

+ 1 - 1
services/rtc/unmute_audio.go

@@ -77,8 +77,8 @@ func (client *Client) UnmuteAudioWithCallback(request *UnmuteAudioRequest, callb
 type UnmuteAudioRequest struct {
 	*requests.RpcRequest
 	ParticipantIds *[]string        `position:"Query" name:"ParticipantIds"  type:"Repeated"`
-	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
 	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
 	AppId          string           `position:"Query" name:"AppId"`
 }
 

+ 1 - 1
services/rtc/unmute_audio_all.go

@@ -76,9 +76,9 @@ func (client *Client) UnmuteAudioAllWithCallback(request *UnmuteAudioAllRequest,
 // UnmuteAudioAllRequest is the request struct for api UnmuteAudioAll
 type UnmuteAudioAllRequest struct {
 	*requests.RpcRequest
+	ConferenceId  string           `position:"Query" name:"ConferenceId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	ParticipantId string           `position:"Query" name:"ParticipantId"`
-	ConferenceId  string           `position:"Query" name:"ConferenceId"`
 	AppId         string           `position:"Query" name:"AppId"`
 }
 

+ 116 - 0
services/rtc/update_mpu_layout.go

@@ -0,0 +1,116 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT 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"
+)
+
+// UpdateMPULayout invokes the rtc.UpdateMPULayout API synchronously
+// api document: https://help.aliyun.com/api/rtc/updatempulayout.html
+func (client *Client) UpdateMPULayout(request *UpdateMPULayoutRequest) (response *UpdateMPULayoutResponse, err error) {
+	response = CreateUpdateMPULayoutResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateMPULayoutWithChan invokes the rtc.UpdateMPULayout API asynchronously
+// api document: https://help.aliyun.com/api/rtc/updatempulayout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateMPULayoutWithChan(request *UpdateMPULayoutRequest) (<-chan *UpdateMPULayoutResponse, <-chan error) {
+	responseChan := make(chan *UpdateMPULayoutResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateMPULayout(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateMPULayoutWithCallback invokes the rtc.UpdateMPULayout API asynchronously
+// api document: https://help.aliyun.com/api/rtc/updatempulayout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateMPULayoutWithCallback(request *UpdateMPULayoutRequest, callback func(response *UpdateMPULayoutResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateMPULayoutResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateMPULayout(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateMPULayoutRequest is the request struct for api UpdateMPULayout
+type UpdateMPULayoutRequest struct {
+	*requests.RpcRequest
+	UserPanes       *[]UpdateMPULayoutUserPanes `position:"Query" name:"UserPanes"  type:"Repeated"`
+	BackgroundColor requests.Integer            `position:"Query" name:"BackgroundColor"`
+	CropMode        requests.Integer            `position:"Query" name:"CropMode"`
+	LayoutIds       *[]string                   `position:"Query" name:"LayoutIds"  type:"Repeated"`
+	TaskId          string                      `position:"Query" name:"TaskId"`
+	OwnerId         requests.Integer            `position:"Query" name:"OwnerId"`
+	AppId           string                      `position:"Query" name:"AppId"`
+}
+
+// UpdateMPULayoutUserPanes is a repeated param struct in UpdateMPULayoutRequest
+type UpdateMPULayoutUserPanes struct {
+	PaneId     string `name:"PaneId"`
+	UserId     string `name:"UserId"`
+	SourceType string `name:"SourceType"`
+}
+
+// UpdateMPULayoutResponse is the response struct for api UpdateMPULayout
+type UpdateMPULayoutResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateMPULayoutRequest creates a request to invoke UpdateMPULayout API
+func CreateUpdateMPULayoutRequest() (request *UpdateMPULayoutRequest) {
+	request = &UpdateMPULayoutRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "UpdateMPULayout", "rtc", "openAPI")
+	return
+}
+
+// CreateUpdateMPULayoutResponse creates a response to parse from UpdateMPULayout response
+func CreateUpdateMPULayoutResponse() (response *UpdateMPULayoutResponse) {
+	response = &UpdateMPULayoutResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 116
services/rtc/update_task_param.go

@@ -1,116 +0,0 @@
-package rtc
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT 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"
-)
-
-// UpdateTaskParam invokes the rtc.UpdateTaskParam API synchronously
-// api document: https://help.aliyun.com/api/rtc/updatetaskparam.html
-func (client *Client) UpdateTaskParam(request *UpdateTaskParamRequest) (response *UpdateTaskParamResponse, err error) {
-	response = CreateUpdateTaskParamResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// UpdateTaskParamWithChan invokes the rtc.UpdateTaskParam API asynchronously
-// api document: https://help.aliyun.com/api/rtc/updatetaskparam.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateTaskParamWithChan(request *UpdateTaskParamRequest) (<-chan *UpdateTaskParamResponse, <-chan error) {
-	responseChan := make(chan *UpdateTaskParamResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.UpdateTaskParam(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// UpdateTaskParamWithCallback invokes the rtc.UpdateTaskParam API asynchronously
-// api document: https://help.aliyun.com/api/rtc/updatetaskparam.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateTaskParamWithCallback(request *UpdateTaskParamRequest, callback func(response *UpdateTaskParamResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *UpdateTaskParamResponse
-		var err error
-		defer close(result)
-		response, err = client.UpdateTaskParam(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// UpdateTaskParamRequest is the request struct for api UpdateTaskParam
-type UpdateTaskParamRequest struct {
-	*requests.RpcRequest
-	MixPanes   *[]UpdateTaskParamMixPanes `position:"Query" name:"MixPanes"  type:"Repeated"`
-	TaskId     requests.Integer           `position:"Query" name:"TaskId"`
-	OwnerId    requests.Integer           `position:"Query" name:"OwnerId"`
-	TemplateId requests.Integer           `position:"Query" name:"TemplateId"`
-	AppId      string                     `position:"Query" name:"AppId"`
-	ChannelId  string                     `position:"Query" name:"ChannelId"`
-}
-
-// UpdateTaskParamMixPanes is a repeated param struct in UpdateTaskParamRequest
-type UpdateTaskParamMixPanes struct {
-	PaneId     string `name:"PaneId"`
-	UserId     string `name:"UserId"`
-	SourceType string `name:"SourceType"`
-}
-
-// UpdateTaskParamResponse is the response struct for api UpdateTaskParam
-type UpdateTaskParamResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	TaskId    int64  `json:"TaskId" xml:"TaskId"`
-}
-
-// CreateUpdateTaskParamRequest creates a request to invoke UpdateTaskParam API
-func CreateUpdateTaskParamRequest() (request *UpdateTaskParamRequest) {
-	request = &UpdateTaskParamRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("rtc", "2018-01-11", "UpdateTaskParam", "rtc", "openAPI")
-	return
-}
-
-// CreateUpdateTaskParamResponse creates a response to parse from UpdateTaskParam response
-func CreateUpdateTaskParamResponse() (response *UpdateTaskParamResponse) {
-	response = &UpdateTaskParamResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}