소스 검색

Generated 2018-01-11 for rtc.

sdk-team 5 년 전
부모
커밋
fb5653921b

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2020-02-12 Version: v1.60.357
+- Generated 2018-01-11 for `rtc`.
+- Support mau.
+
 2020-02-11 Version: v1.60.356
 - Generated 2018-01-20 for `Iot`.
 - Add Thing Model APIs, including CreateThingModel, UpdateThingModel, etc.

+ 109 - 0
services/rtc/create_mau_rule.go

@@ -0,0 +1,109 @@
+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"
+)
+
+// CreateMAURule invokes the rtc.CreateMAURule API synchronously
+// api document: https://help.aliyun.com/api/rtc/createmaurule.html
+func (client *Client) CreateMAURule(request *CreateMAURuleRequest) (response *CreateMAURuleResponse, err error) {
+	response = CreateCreateMAURuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateMAURuleWithChan invokes the rtc.CreateMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createmaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMAURuleWithChan(request *CreateMAURuleRequest) (<-chan *CreateMAURuleResponse, <-chan error) {
+	responseChan := make(chan *CreateMAURuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateMAURule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateMAURuleWithCallback invokes the rtc.CreateMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createmaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMAURuleWithCallback(request *CreateMAURuleRequest, callback func(response *CreateMAURuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateMAURuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateMAURule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateMAURuleRequest is the request struct for api CreateMAURule
+type CreateMAURuleRequest struct {
+	*requests.RpcRequest
+	UseridPrefix  string           `position:"Query" name:"UseridPrefix"`
+	ChannelPrefix string           `position:"Query" name:"ChannelPrefix"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	MauTemplateId requests.Integer `position:"Query" name:"MauTemplateId"`
+	AppId         string           `position:"Query" name:"AppId"`
+	CallBack      string           `position:"Query" name:"CallBack"`
+}
+
+// CreateMAURuleResponse is the response struct for api CreateMAURule
+type CreateMAURuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RuleId    int64  `json:"RuleId" xml:"RuleId"`
+}
+
+// CreateCreateMAURuleRequest creates a request to invoke CreateMAURule API
+func CreateCreateMAURuleRequest() (request *CreateMAURuleRequest) {
+	request = &CreateMAURuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "CreateMAURule", "", "")
+	return
+}
+
+// CreateCreateMAURuleResponse creates a response to parse from CreateMAURule response
+func CreateCreateMAURuleResponse() (response *CreateMAURuleResponse) {
+	response = &CreateMAURuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/delete_mau_rule.go

@@ -0,0 +1,105 @@
+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"
+)
+
+// DeleteMAURule invokes the rtc.DeleteMAURule API synchronously
+// api document: https://help.aliyun.com/api/rtc/deletemaurule.html
+func (client *Client) DeleteMAURule(request *DeleteMAURuleRequest) (response *DeleteMAURuleResponse, err error) {
+	response = CreateDeleteMAURuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteMAURuleWithChan invokes the rtc.DeleteMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deletemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMAURuleWithChan(request *DeleteMAURuleRequest) (<-chan *DeleteMAURuleResponse, <-chan error) {
+	responseChan := make(chan *DeleteMAURuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteMAURule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteMAURuleWithCallback invokes the rtc.DeleteMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deletemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMAURuleWithCallback(request *DeleteMAURuleRequest, callback func(response *DeleteMAURuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteMAURuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteMAURule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteMAURuleRequest is the request struct for api DeleteMAURule
+type DeleteMAURuleRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+	RuleId  requests.Integer `position:"Query" name:"RuleId"`
+}
+
+// DeleteMAURuleResponse is the response struct for api DeleteMAURule
+type DeleteMAURuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteMAURuleRequest creates a request to invoke DeleteMAURule API
+func CreateDeleteMAURuleRequest() (request *DeleteMAURuleRequest) {
+	request = &DeleteMAURuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DeleteMAURule", "", "")
+	return
+}
+
+// CreateDeleteMAURuleResponse creates a response to parse from DeleteMAURule response
+func CreateDeleteMAURuleResponse() (response *DeleteMAURuleResponse) {
+	response = &DeleteMAURuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/describe_mau_rule.go

@@ -0,0 +1,105 @@
+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"
+)
+
+// DescribeMAURule invokes the rtc.DescribeMAURule API synchronously
+// api document: https://help.aliyun.com/api/rtc/describemaurule.html
+func (client *Client) DescribeMAURule(request *DescribeMAURuleRequest) (response *DescribeMAURuleResponse, err error) {
+	response = CreateDescribeMAURuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeMAURuleWithChan invokes the rtc.DescribeMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMAURuleWithChan(request *DescribeMAURuleRequest) (<-chan *DescribeMAURuleResponse, <-chan error) {
+	responseChan := make(chan *DescribeMAURuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeMAURule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeMAURuleWithCallback invokes the rtc.DescribeMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMAURuleWithCallback(request *DescribeMAURuleRequest, callback func(response *DescribeMAURuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeMAURuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeMAURule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeMAURuleRequest is the request struct for api DescribeMAURule
+type DescribeMAURuleRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+}
+
+// DescribeMAURuleResponse is the response struct for api DescribeMAURule
+type DescribeMAURuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Rules     []Rule `json:"Rules" xml:"Rules"`
+}
+
+// CreateDescribeMAURuleRequest creates a request to invoke DescribeMAURule API
+func CreateDescribeMAURuleRequest() (request *DescribeMAURuleRequest) {
+	request = &DescribeMAURuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeMAURule", "", "")
+	return
+}
+
+// CreateDescribeMAURuleResponse creates a response to parse from DescribeMAURule response
+func CreateDescribeMAURuleResponse() (response *DescribeMAURuleResponse) {
+	response = &DescribeMAURuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/rtc/describe_rtc_quality_metric.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// DescribeRtcQualityMetric invokes the rtc.DescribeRtcQualityMetric API synchronously
+// api document: https://help.aliyun.com/api/rtc/describertcqualitymetric.html
+func (client *Client) DescribeRtcQualityMetric(request *DescribeRtcQualityMetricRequest) (response *DescribeRtcQualityMetricResponse, err error) {
+	response = CreateDescribeRtcQualityMetricResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRtcQualityMetricWithChan invokes the rtc.DescribeRtcQualityMetric API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcqualitymetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcQualityMetricWithChan(request *DescribeRtcQualityMetricRequest) (<-chan *DescribeRtcQualityMetricResponse, <-chan error) {
+	responseChan := make(chan *DescribeRtcQualityMetricResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRtcQualityMetric(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRtcQualityMetricWithCallback invokes the rtc.DescribeRtcQualityMetric API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcqualitymetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcQualityMetricWithCallback(request *DescribeRtcQualityMetricRequest, callback func(response *DescribeRtcQualityMetricResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRtcQualityMetricResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRtcQualityMetric(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRtcQualityMetricRequest is the request struct for api DescribeRtcQualityMetric
+type DescribeRtcQualityMetricRequest struct {
+	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
+	SubUser   string           `position:"Query" name:"SubUser"`
+	EndTime   string           `position:"Query" name:"EndTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	PubUser   string           `position:"Query" name:"PubUser"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// DescribeRtcQualityMetricResponse is the response struct for api DescribeRtcQualityMetric
+type DescribeRtcQualityMetricResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	QualityMetric QualityMetric `json:"QualityMetric" xml:"QualityMetric"`
+}
+
+// CreateDescribeRtcQualityMetricRequest creates a request to invoke DescribeRtcQualityMetric API
+func CreateDescribeRtcQualityMetricRequest() (request *DescribeRtcQualityMetricRequest) {
+	request = &DescribeRtcQualityMetricRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRtcQualityMetric", "", "")
+	return
+}
+
+// CreateDescribeRtcQualityMetricResponse creates a response to parse from DescribeRtcQualityMetric response
+func CreateDescribeRtcQualityMetricResponse() (response *DescribeRtcQualityMetricResponse) {
+	response = &DescribeRtcQualityMetricResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/describe_rtc_user_list.go

@@ -0,0 +1,108 @@
+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"
+)
+
+// DescribeRtcUserList invokes the rtc.DescribeRtcUserList API synchronously
+// api document: https://help.aliyun.com/api/rtc/describertcuserlist.html
+func (client *Client) DescribeRtcUserList(request *DescribeRtcUserListRequest) (response *DescribeRtcUserListResponse, err error) {
+	response = CreateDescribeRtcUserListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRtcUserListWithChan invokes the rtc.DescribeRtcUserList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcuserlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcUserListWithChan(request *DescribeRtcUserListRequest) (<-chan *DescribeRtcUserListResponse, <-chan error) {
+	responseChan := make(chan *DescribeRtcUserListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRtcUserList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRtcUserListWithCallback invokes the rtc.DescribeRtcUserList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describertcuserlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRtcUserListWithCallback(request *DescribeRtcUserListRequest, callback func(response *DescribeRtcUserListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRtcUserListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRtcUserList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRtcUserListRequest is the request struct for api DescribeRtcUserList
+type DescribeRtcUserListRequest struct {
+	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
+	EndTime   string           `position:"Query" name:"EndTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// DescribeRtcUserListResponse is the response struct for api DescribeRtcUserList
+type DescribeRtcUserListResponse struct {
+	*responses.BaseResponse
+	RequestId string                        `json:"RequestId" xml:"RequestId"`
+	UserList  UserListInDescribeRtcUserList `json:"UserList" xml:"UserList"`
+}
+
+// CreateDescribeRtcUserListRequest creates a request to invoke DescribeRtcUserList API
+func CreateDescribeRtcUserListRequest() (request *DescribeRtcUserListRequest) {
+	request = &DescribeRtcUserListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRtcUserList", "", "")
+	return
+}
+
+// CreateDescribeRtcUserListResponse creates a response to parse from DescribeRtcUserList response
+func CreateDescribeRtcUserListResponse() (response *DescribeRtcUserListResponse) {
+	response = &DescribeRtcUserListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/disable_mau_rule.go

@@ -0,0 +1,105 @@
+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"
+)
+
+// DisableMAURule invokes the rtc.DisableMAURule API synchronously
+// api document: https://help.aliyun.com/api/rtc/disablemaurule.html
+func (client *Client) DisableMAURule(request *DisableMAURuleRequest) (response *DisableMAURuleResponse, err error) {
+	response = CreateDisableMAURuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableMAURuleWithChan invokes the rtc.DisableMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/disablemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableMAURuleWithChan(request *DisableMAURuleRequest) (<-chan *DisableMAURuleResponse, <-chan error) {
+	responseChan := make(chan *DisableMAURuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableMAURule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableMAURuleWithCallback invokes the rtc.DisableMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/disablemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableMAURuleWithCallback(request *DisableMAURuleRequest, callback func(response *DisableMAURuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableMAURuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableMAURule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableMAURuleRequest is the request struct for api DisableMAURule
+type DisableMAURuleRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+	RuleId  requests.Integer `position:"Query" name:"RuleId"`
+}
+
+// DisableMAURuleResponse is the response struct for api DisableMAURule
+type DisableMAURuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDisableMAURuleRequest creates a request to invoke DisableMAURule API
+func CreateDisableMAURuleRequest() (request *DisableMAURuleRequest) {
+	request = &DisableMAURuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DisableMAURule", "", "")
+	return
+}
+
+// CreateDisableMAURuleResponse creates a response to parse from DisableMAURule response
+func CreateDisableMAURuleResponse() (response *DisableMAURuleResponse) {
+	response = &DisableMAURuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/enable_mau_rule.go

@@ -0,0 +1,105 @@
+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"
+)
+
+// EnableMAURule invokes the rtc.EnableMAURule API synchronously
+// api document: https://help.aliyun.com/api/rtc/enablemaurule.html
+func (client *Client) EnableMAURule(request *EnableMAURuleRequest) (response *EnableMAURuleResponse, err error) {
+	response = CreateEnableMAURuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableMAURuleWithChan invokes the rtc.EnableMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/enablemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableMAURuleWithChan(request *EnableMAURuleRequest) (<-chan *EnableMAURuleResponse, <-chan error) {
+	responseChan := make(chan *EnableMAURuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableMAURule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableMAURuleWithCallback invokes the rtc.EnableMAURule API asynchronously
+// api document: https://help.aliyun.com/api/rtc/enablemaurule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableMAURuleWithCallback(request *EnableMAURuleRequest, callback func(response *EnableMAURuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableMAURuleResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableMAURule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableMAURuleRequest is the request struct for api EnableMAURule
+type EnableMAURuleRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+	RuleId  requests.Integer `position:"Query" name:"RuleId"`
+}
+
+// EnableMAURuleResponse is the response struct for api EnableMAURule
+type EnableMAURuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEnableMAURuleRequest creates a request to invoke EnableMAURule API
+func CreateEnableMAURuleRequest() (request *EnableMAURuleRequest) {
+	request = &EnableMAURuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "EnableMAURule", "", "")
+	return
+}
+
+// CreateEnableMAURuleResponse creates a response to parse from EnableMAURule response
+func CreateEnableMAURuleResponse() (response *EnableMAURuleResponse) {
+	response = &EnableMAURuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 25 - 0
services/rtc/struct_bit_rate.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.
+
+// BitRate is a nested struct in rtc response
+type BitRate struct {
+	Large int64 `json:"Large" xml:"Large"`
+	Super int64 `json:"Super" xml:"Super"`
+	Small int64 `json:"Small" xml:"Small"`
+	Audio int64 `json:"Audio" xml:"Audio"`
+	Share int64 `json:"Share" xml:"Share"`
+}

+ 21 - 0
services/rtc/struct_data_in_describe_rtc_quality_metric.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.
+
+// DataInDescribeRtcQualityMetric is a nested struct in rtc response
+type DataInDescribeRtcQualityMetric struct {
+	DataItem []DataItem `json:"Data" xml:"Data"`
+}

+ 25 - 0
services/rtc/struct_data_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.
+
+// DataItem is a nested struct in rtc response
+type DataItem struct {
+	Time       string     `json:"Time" xml:"Time"`
+	Network    Network    `json:"Network" xml:"Network"`
+	Fps        Fps        `json:"Fps" xml:"Fps"`
+	Resolution Resolution `json:"Resolution" xml:"Resolution"`
+	BitRate    BitRate    `json:"BitRate" xml:"BitRate"`
+}

+ 21 - 0
services/rtc/struct_events_in_describe_rtc_quality_metric.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.
+
+// EventsInDescribeRtcQualityMetric is a nested struct in rtc response
+type EventsInDescribeRtcQualityMetric struct {
+	EventsItem []EventsItem `json:"Events" xml:"Events"`
+}

+ 26 - 0
services/rtc/struct_events_item.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.
+
+// EventsItem is a nested struct in rtc response
+type EventsItem struct {
+	Name        string `json:"Name" xml:"Name"`
+	Category    string `json:"Category" xml:"Category"`
+	Time        string `json:"Time" xml:"Time"`
+	EventId     int64  `json:"EventId" xml:"EventId"`
+	Result      string `json:"Result" xml:"Result"`
+	Description string `json:"Description" xml:"Description"`
+}

+ 24 - 0
services/rtc/struct_fps.go

@@ -0,0 +1,24 @@
+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.
+
+// Fps is a nested struct in rtc response
+type Fps struct {
+	Large int64 `json:"Large" xml:"Large"`
+	Super int64 `json:"Super" xml:"Super"`
+	Small int64 `json:"Small" xml:"Small"`
+	Share int64 `json:"Share" xml:"Share"`
+}

+ 22 - 0
services/rtc/struct_network.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.
+
+// Network is a nested struct in rtc response
+type Network struct {
+	Rtt  int64   `json:"Rtt" xml:"Rtt"`
+	Loss float64 `json:"Loss" xml:"Loss"`
+}

+ 23 - 0
services/rtc/struct_pub_info.go

@@ -0,0 +1,23 @@
+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.
+
+// PubInfo is a nested struct in rtc response
+type PubInfo struct {
+	User   User                             `json:"User" xml:"User"`
+	Data   DataInDescribeRtcQualityMetric   `json:"Data" xml:"Data"`
+	Events EventsInDescribeRtcQualityMetric `json:"Events" xml:"Events"`
+}

+ 22 - 0
services/rtc/struct_quality_metric.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.
+
+// QualityMetric is a nested struct in rtc response
+type QualityMetric struct {
+	SubInfo SubInfo `json:"SubInfo" xml:"SubInfo"`
+	PubInfo PubInfo `json:"PubInfo" xml:"PubInfo"`
+}

+ 24 - 0
services/rtc/struct_resolution.go

@@ -0,0 +1,24 @@
+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.
+
+// Resolution is a nested struct in rtc response
+type Resolution struct {
+	Large int64 `json:"Large" xml:"Large"`
+	Super int64 `json:"Super" xml:"Super"`
+	Small int64 `json:"Small" xml:"Small"`
+	Share int64 `json:"Share" xml:"Share"`
+}

+ 26 - 0
services/rtc/struct_rule.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.
+
+// Rule is a nested struct in rtc response
+type Rule struct {
+	RuleId        int64  `json:"RuleId" xml:"RuleId"`
+	ChannelPrefix string `json:"ChannelPrefix" xml:"ChannelPrefix"`
+	UseridPrefix  string `json:"UseridPrefix" xml:"UseridPrefix"`
+	TemplateId    int64  `json:"TemplateId" xml:"TemplateId"`
+	CallBack      string `json:"CallBack" xml:"CallBack"`
+	IsEnable      int    `json:"IsEnable" xml:"IsEnable"`
+}

+ 21 - 0
services/rtc/struct_rules.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.
+
+// Rules is a nested struct in rtc response
+type Rules struct {
+	Rule []Rule `json:"Rule" xml:"Rule"`
+}

+ 23 - 0
services/rtc/struct_sub_info.go

@@ -0,0 +1,23 @@
+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.
+
+// SubInfo is a nested struct in rtc response
+type SubInfo struct {
+	User   User                             `json:"User" xml:"User"`
+	Data   DataInDescribeRtcQualityMetric   `json:"Data" xml:"Data"`
+	Events EventsInDescribeRtcQualityMetric `json:"Events" xml:"Events"`
+}

+ 24 - 0
services/rtc/struct_user.go

@@ -0,0 +1,24 @@
+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.
+
+// User is a nested struct in rtc response
+type User struct {
+	OS         string `json:"OS" xml:"OS"`
+	UserId     string `json:"UserId" xml:"UserId"`
+	SDKVersion string `json:"SDKVersion" xml:"SDKVersion"`
+	Province   string `json:"Province" xml:"Province"`
+}

+ 21 - 0
services/rtc/struct_user_list_in_describe_rtc_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.
+
+// UserListInDescribeRtcUserList is a nested struct in rtc response
+type UserListInDescribeRtcUserList struct {
+	UserListItem []UserListItem `json:"UserList" xml:"UserList"`
+}

+ 11 - 10
services/rtc/struct_user_list_item.go

@@ -17,19 +17,20 @@ package rtc
 
 // 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"`
+	User         string `json:"User" xml:"User"`
 	SubAudio     int    `json:"SubAudio" xml:"SubAudio"`
+	SubVideo1080 int    `json:"SubVideo1080" xml:"SubVideo1080"`
+	PubVideo1080 int    `json:"PubVideo1080" xml:"PubVideo1080"`
 	PubAudio     int    `json:"PubAudio" xml:"PubAudio"`
+	ServiceArea  string `json:"ServiceArea" xml:"ServiceArea"`
+	PubContent   int    `json:"PubContent" xml:"PubContent"`
+	StartTime    string `json:"StartTime" xml:"StartTime"`
+	EndTime      string `json:"EndTime" xml:"EndTime"`
 	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"`
+	ChannelId    string `json:"ChannelId" xml:"ChannelId"`
+	UserId       string `json:"UserId" xml:"UserId"`
+	PubVideo360  int    `json:"PubVideo360" xml:"PubVideo360"`
 	SubContent   int    `json:"SubContent" xml:"SubContent"`
-	PubContent   int    `json:"PubContent" xml:"PubContent"`
+	SubVideo720  int    `json:"SubVideo720" xml:"SubVideo720"`
 }