Bläddra i källkod

VOD SDK Auto Released By zhanglilei,Version:1.50.7

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 år sedan
förälder
incheckning
054fb1b71c
100 ändrade filer med 7335 tillägg och 466 borttagningar
  1. 9 0
      ChangeLog.txt
  2. 109 0
      services/vod/add_ai_template.go
  3. 110 0
      services/vod/add_transcode_template_group.go
  4. 109 0
      services/vod/add_vod_domain.go
  5. 23 23
      services/vod/add_workflow.go
  6. 1 0
      services/vod/create_upload_attached_media.go
  7. 4 2
      services/vod/create_upload_image.go
  8. 1 0
      services/vod/create_upload_video.go
  9. 107 0
      services/vod/delete_ai_template.go
  10. 107 0
      services/vod/delete_transcode_template_group.go
  11. 108 0
      services/vod/delete_transcode_templates.go
  12. 107 0
      services/vod/delete_vod_domain.go
  13. 24 24
      services/vod/delete_workflow.go
  14. 7 7
      services/vod/describe_domain_bps_data.go
  15. 0 110
      services/vod/describe_play_top_videos.go
  16. 0 106
      services/vod/describe_play_user_avg.go
  17. 0 106
      services/vod/describe_play_user_total.go
  18. 1 1
      services/vod/describe_play_video_statis.go
  19. 5 5
      services/vod/describe_refresh_tasks.go
  20. 108 0
      services/vod/describe_user_avg_count_by_day.go
  21. 108 0
      services/vod/describe_user_avg_time_by_day.go
  22. 108 0
      services/vod/describe_user_time_range_by_day.go
  23. 108 0
      services/vod/describe_user_uv_by_day.go
  24. 108 0
      services/vod/describe_user_vod_status.go
  25. 108 0
      services/vod/describe_user_vv_by_day.go
  26. 108 0
      services/vod/describe_user_vv_by_videoid.go
  27. 107 0
      services/vod/describe_user_vv_top_by_day.go
  28. 109 0
      services/vod/describe_vod_certificate_detail.go
  29. 106 0
      services/vod/describe_vod_certificate_list.go
  30. 116 0
      services/vod/describe_vod_domain_bps_data.go
  31. 105 0
      services/vod/describe_vod_domain_certificate_info.go
  32. 105 0
      services/vod/describe_vod_domain_cname.go
  33. 107 0
      services/vod/describe_vod_domain_configs.go
  34. 106 0
      services/vod/describe_vod_domain_detail.go
  35. 114 0
      services/vod/describe_vod_domain_hit_rate_data.go
  36. 112 0
      services/vod/describe_vod_domain_http_code_data.go
  37. 109 0
      services/vod/describe_vod_domain_log.go
  38. 114 0
      services/vod/describe_vod_domain_qps_data.go
  39. 109 0
      services/vod/describe_vod_domain_real_time_bps_data.go
  40. 107 0
      services/vod/describe_vod_domain_real_time_byte_hit_rate_data.go
  41. 113 0
      services/vod/describe_vod_domain_real_time_http_code_data.go
  42. 109 0
      services/vod/describe_vod_domain_real_time_qps_data.go
  43. 107 0
      services/vod/describe_vod_domain_real_time_req_hit_rate_data.go
  44. 111 0
      services/vod/describe_vod_domain_real_time_src_bps_data.go
  45. 111 0
      services/vod/describe_vod_domain_real_time_src_traffic_data.go
  46. 111 0
      services/vod/describe_vod_domain_real_time_traffic_data.go
  47. 112 0
      services/vod/describe_vod_domain_src_bps_data.go
  48. 112 0
      services/vod/describe_vod_domain_src_traffic_data.go
  49. 114 0
      services/vod/describe_vod_domain_traffic_data.go
  50. 116 0
      services/vod/describe_vod_domain_usage_data.go
  51. 112 0
      services/vod/describe_vod_domains_usage_by_day.go
  52. 112 0
      services/vod/describe_vod_refresh_quota.go
  53. 118 0
      services/vod/describe_vod_refresh_tasks.go
  54. 110 0
      services/vod/describe_vod_service.go
  55. 118 0
      services/vod/describe_vod_user_domains.go
  56. 113 0
      services/vod/describe_vod_user_quota.go
  57. 105 0
      services/vod/describe_vod_user_resource_package.go
  58. 104 0
      services/vod/display_ai_audit_switch.go
  59. 107 0
      services/vod/get_ai_media_audit_job.go
  60. 107 0
      services/vod/get_ai_template.go
  61. 107 0
      services/vod/get_default_ai_template.go
  62. 108 0
      services/vod/get_media_audit_result.go
  63. 108 0
      services/vod/get_media_audit_result_detail.go
  64. 107 0
      services/vod/get_media_audit_result_timeline.go
  65. 5 4
      services/vod/get_message_callback.go
  66. 108 0
      services/vod/get_transcode_template_group.go
  67. 24 24
      services/vod/get_workflow.go
  68. 107 0
      services/vod/list_ai_template.go
  69. 107 0
      services/vod/list_transcode_template_group.go
  70. 23 23
      services/vod/list_workflow.go
  71. 106 0
      services/vod/preload_vod_object_caches.go
  72. 107 0
      services/vod/refresh_vod_object_caches.go
  73. 107 0
      services/vod/set_default_ai_template.go
  74. 107 0
      services/vod/set_default_transcode_template_group.go
  75. 13 10
      services/vod/set_message_callback.go
  76. 110 0
      services/vod/set_vod_domain_certificate.go
  77. 105 0
      services/vod/start_vod_domain.go
  78. 105 0
      services/vod/stop_vod_domain.go
  79. 2 2
      services/vod/struct_bps_data_per_interval_in_describe_domain_bps_data.go
  80. 21 0
      services/vod/struct_bps_data_per_interval_in_describe_vod_domain_bps_data.go
  81. 4 3
      services/vod/struct_bps_model.go
  82. 22 0
      services/vod/struct_byte_hit_rate_data_model.go
  83. 26 0
      services/vod/struct_cert.go
  84. 11 6
      services/vod/struct_cert_info.go
  85. 21 0
      services/vod/struct_cert_infos.go
  86. 21 0
      services/vod/struct_cert_list.go
  87. 22 0
      services/vod/struct_certificate_list_model.go
  88. 21 0
      services/vod/struct_cname_datas.go
  89. 23 0
      services/vod/struct_code_proportion_data.go
  90. 21 0
      services/vod/struct_counter_list_in_get_ai_media_audit_job.go
  91. 21 0
      services/vod/struct_counter_list_in_get_media_audit_result.go
  92. 22 0
      services/vod/struct_counter_list_item.go
  93. 29 0
      services/vod/struct_data.go
  94. 21 0
      services/vod/struct_data_in_describe_vod_domain_real_time_bps_data.go
  95. 21 0
      services/vod/struct_data_in_describe_vod_domain_real_time_byte_hit_rate_data.go
  96. 21 0
      services/vod/struct_data_in_describe_vod_domain_real_time_qps_data.go
  97. 21 0
      services/vod/struct_data_in_describe_vod_domain_real_time_req_hit_rate_data.go
  98. 19 10
      services/vod/struct_data_module.go
  99. 24 0
      services/vod/struct_domain_config.go
  100. 21 0
      services/vod/struct_domain_configs.go

+ 9 - 0
ChangeLog.txt

@@ -1,3 +1,12 @@
+2019-01-15 Version: 1.50.7
+1, Add new apis called AddTranscodeTemplateGroup, UpdateTranscodeTemplateGroup, ListTranscodeTemplateGroup, GetTranscodeTemplateGroup, SetDefaultTranscodeTemplateGroup ,DeleteTranscodeTemplateGroup and DeleteTranscodeTemplates which support transcode template feature.
+2, Add new apis called AddAITemplate, DeleteAITemplate, UpdateAITemplate, GetAITemplate, ListAITemplate, GetDefaultAITemplate and SetDefaultAITemplate which support AI template feature.
+3, Add new apis called SubmitAIMediaAuditJob, GetAIMediaAuditJob, GetMediaAuditResult, GetMediaAuditResultTimeline which support AIMediaAudit feature.
+4, Add the field named Priority to SubmitTranscodeJobs api request.
+5, Add the field named UserData to UploadMediaByURL api request.
+6, Add the field named UserData to CreateUploadImage api request.
+7, Add the field named UserData to CreateUploadAttachedMedia api request.
+
 2019-01-14 Version: 1.50.6
 1, Release Go SDK for CR
 

+ 109 - 0
services/vod/add_ai_template.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// AddAITemplate invokes the vod.AddAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/addaitemplate.html
+func (client *Client) AddAITemplate(request *AddAITemplateRequest) (response *AddAITemplateResponse, err error) {
+	response = CreateAddAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddAITemplateWithChan invokes the vod.AddAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/addaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddAITemplateWithChan(request *AddAITemplateRequest) (<-chan *AddAITemplateResponse, <-chan error) {
+	responseChan := make(chan *AddAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddAITemplateWithCallback invokes the vod.AddAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/addaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddAITemplateWithCallback(request *AddAITemplateRequest, callback func(response *AddAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.AddAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddAITemplateRequest is the request struct for api AddAITemplate
+type AddAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	TemplateConfig       string           `position:"Query" name:"TemplateConfig"`
+	TemplateType         string           `position:"Query" name:"TemplateType"`
+	TemplateName         string           `position:"Query" name:"TemplateName"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// AddAITemplateResponse is the response struct for api AddAITemplate
+type AddAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TemplateId string `json:"TemplateId" xml:"TemplateId"`
+}
+
+// CreateAddAITemplateRequest creates a request to invoke AddAITemplate API
+func CreateAddAITemplateRequest() (request *AddAITemplateRequest) {
+	request = &AddAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "AddAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateAddAITemplateResponse creates a response to parse from AddAITemplate response
+func CreateAddAITemplateResponse() (response *AddAITemplateResponse) {
+	response = &AddAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/vod/add_transcode_template_group.go

@@ -0,0 +1,110 @@
+package vod
+
+//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"
+)
+
+// AddTranscodeTemplateGroup invokes the vod.AddTranscodeTemplateGroup API synchronously
+// api document: https://help.aliyun.com/api/vod/addtranscodetemplategroup.html
+func (client *Client) AddTranscodeTemplateGroup(request *AddTranscodeTemplateGroupRequest) (response *AddTranscodeTemplateGroupResponse, err error) {
+	response = CreateAddTranscodeTemplateGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddTranscodeTemplateGroupWithChan invokes the vod.AddTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/addtranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTranscodeTemplateGroupWithChan(request *AddTranscodeTemplateGroupRequest) (<-chan *AddTranscodeTemplateGroupResponse, <-chan error) {
+	responseChan := make(chan *AddTranscodeTemplateGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddTranscodeTemplateGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddTranscodeTemplateGroupWithCallback invokes the vod.AddTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/addtranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTranscodeTemplateGroupWithCallback(request *AddTranscodeTemplateGroupRequest, callback func(response *AddTranscodeTemplateGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddTranscodeTemplateGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.AddTranscodeTemplateGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddTranscodeTemplateGroupRequest is the request struct for api AddTranscodeTemplateGroup
+type AddTranscodeTemplateGroupRequest struct {
+	*requests.RpcRequest
+	TranscodeTemplateList    string           `position:"Query" name:"TranscodeTemplateList"`
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	Name                     string           `position:"Query" name:"Name"`
+	ResourceRealOwnerId      requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	TranscodeTemplateGroupId string           `position:"Query" name:"TranscodeTemplateGroupId"`
+}
+
+// AddTranscodeTemplateGroupResponse is the response struct for api AddTranscodeTemplateGroup
+type AddTranscodeTemplateGroupResponse struct {
+	*responses.BaseResponse
+	RequestId                string `json:"RequestId" xml:"RequestId"`
+	TranscodeTemplateGroupId string `json:"TranscodeTemplateGroupId" xml:"TranscodeTemplateGroupId"`
+}
+
+// CreateAddTranscodeTemplateGroupRequest creates a request to invoke AddTranscodeTemplateGroup API
+func CreateAddTranscodeTemplateGroupRequest() (request *AddTranscodeTemplateGroupRequest) {
+	request = &AddTranscodeTemplateGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "AddTranscodeTemplateGroup", "vod", "openAPI")
+	return
+}
+
+// CreateAddTranscodeTemplateGroupResponse creates a response to parse from AddTranscodeTemplateGroup response
+func CreateAddTranscodeTemplateGroupResponse() (response *AddTranscodeTemplateGroupResponse) {
+	response = &AddTranscodeTemplateGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vod/add_vod_domain.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// AddVodDomain invokes the vod.AddVodDomain API synchronously
+// api document: https://help.aliyun.com/api/vod/addvoddomain.html
+func (client *Client) AddVodDomain(request *AddVodDomainRequest) (response *AddVodDomainResponse, err error) {
+	response = CreateAddVodDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddVodDomainWithChan invokes the vod.AddVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/addvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddVodDomainWithChan(request *AddVodDomainRequest) (<-chan *AddVodDomainResponse, <-chan error) {
+	responseChan := make(chan *AddVodDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddVodDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddVodDomainWithCallback invokes the vod.AddVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/addvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddVodDomainWithCallback(request *AddVodDomainRequest, callback func(response *AddVodDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddVodDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.AddVodDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddVodDomainRequest is the request struct for api AddVodDomain
+type AddVodDomainRequest struct {
+	*requests.RpcRequest
+	Sources       string           `position:"Query" name:"Sources"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
+	Scope         string           `position:"Query" name:"Scope"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	CheckUrl      string           `position:"Query" name:"CheckUrl"`
+}
+
+// AddVodDomainResponse is the response struct for api AddVodDomain
+type AddVodDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddVodDomainRequest creates a request to invoke AddVodDomain API
+func CreateAddVodDomainRequest() (request *AddVodDomainRequest) {
+	request = &AddVodDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "AddVodDomain", "vod", "openAPI")
+	return
+}
+
+// CreateAddVodDomainResponse creates a response to parse from AddVodDomain response
+func CreateAddVodDomainResponse() (response *AddVodDomainResponse) {
+	response = &AddVodDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 23 - 23
services/vod/add_work_flow.go → services/vod/add_workflow.go

@@ -20,24 +20,24 @@ import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
 )
 
-// AddWorkFlow invokes the vod.AddWorkFlow API synchronously
+// AddWorkflow invokes the vod.AddWorkflow API synchronously
 // api document: https://help.aliyun.com/api/vod/addworkflow.html
-func (client *Client) AddWorkFlow(request *AddWorkFlowRequest) (response *AddWorkFlowResponse, err error) {
-	response = CreateAddWorkFlowResponse()
+func (client *Client) AddWorkflow(request *AddWorkflowRequest) (response *AddWorkflowResponse, err error) {
+	response = CreateAddWorkflowResponse()
 	err = client.DoAction(request, response)
 	return
 }
 
-// AddWorkFlowWithChan invokes the vod.AddWorkFlow API asynchronously
+// AddWorkflowWithChan invokes the vod.AddWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/addworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddWorkFlowWithChan(request *AddWorkFlowRequest) (<-chan *AddWorkFlowResponse, <-chan error) {
-	responseChan := make(chan *AddWorkFlowResponse, 1)
+func (client *Client) AddWorkflowWithChan(request *AddWorkflowRequest) (<-chan *AddWorkflowResponse, <-chan error) {
+	responseChan := make(chan *AddWorkflowResponse, 1)
 	errChan := make(chan error, 1)
 	err := client.AddAsyncTask(func() {
 		defer close(responseChan)
 		defer close(errChan)
-		response, err := client.AddWorkFlow(request)
+		response, err := client.AddWorkflow(request)
 		if err != nil {
 			errChan <- err
 		} else {
@@ -52,16 +52,16 @@ func (client *Client) AddWorkFlowWithChan(request *AddWorkFlowRequest) (<-chan *
 	return responseChan, errChan
 }
 
-// AddWorkFlowWithCallback invokes the vod.AddWorkFlow API asynchronously
+// AddWorkflowWithCallback invokes the vod.AddWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/addworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddWorkFlowWithCallback(request *AddWorkFlowRequest, callback func(response *AddWorkFlowResponse, err error)) <-chan int {
+func (client *Client) AddWorkflowWithCallback(request *AddWorkflowRequest, callback func(response *AddWorkflowResponse, err error)) <-chan int {
 	result := make(chan int, 1)
 	err := client.AddAsyncTask(func() {
-		var response *AddWorkFlowResponse
+		var response *AddWorkflowResponse
 		var err error
 		defer close(result)
-		response, err = client.AddWorkFlow(request)
+		response, err = client.AddWorkflow(request)
 		callback(response, err)
 		result <- 1
 	})
@@ -73,8 +73,8 @@ func (client *Client) AddWorkFlowWithCallback(request *AddWorkFlowRequest, callb
 	return result
 }
 
-// AddWorkFlowRequest is the request struct for api AddWorkFlow
-type AddWorkFlowRequest struct {
+// AddWorkflowRequest is the request struct for api AddWorkflow
+type AddWorkflowRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
@@ -83,25 +83,25 @@ type AddWorkFlowRequest struct {
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
-// AddWorkFlowResponse is the response struct for api AddWorkFlow
-type AddWorkFlowResponse struct {
+// AddWorkflowResponse is the response struct for api AddWorkflow
+type AddWorkflowResponse struct {
 	*responses.BaseResponse
 	RequestId  string `json:"RequestId" xml:"RequestId"`
-	WorkFlowId string `json:"WorkFlowId" xml:"WorkFlowId"`
+	WorkflowId string `json:"WorkflowId" xml:"WorkflowId"`
 }
 
-// CreateAddWorkFlowRequest creates a request to invoke AddWorkFlow API
-func CreateAddWorkFlowRequest() (request *AddWorkFlowRequest) {
-	request = &AddWorkFlowRequest{
+// CreateAddWorkflowRequest creates a request to invoke AddWorkflow API
+func CreateAddWorkflowRequest() (request *AddWorkflowRequest) {
+	request = &AddWorkflowRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("vod", "2017-03-21", "AddWorkFlow", "vod", "openAPI")
+	request.InitWithApiInfo("vod", "2017-03-21", "AddWorkflow", "vod", "openAPI")
 	return
 }
 
-// CreateAddWorkFlowResponse creates a response to parse from AddWorkFlow response
-func CreateAddWorkFlowResponse() (response *AddWorkFlowResponse) {
-	response = &AddWorkFlowResponse{
+// CreateAddWorkflowResponse creates a response to parse from AddWorkflow response
+func CreateAddWorkflowResponse() (response *AddWorkflowResponse) {
+	response = &AddWorkflowResponse{
 		BaseResponse: &responses.BaseResponse{},
 	}
 	return

+ 1 - 0
services/vod/create_upload_attached_media.go

@@ -85,6 +85,7 @@ type CreateUploadAttachedMediaRequest struct {
 	BusinessType         string           `position:"Query" name:"BusinessType"`
 	Tags                 string           `position:"Query" name:"Tags"`
 	StorageLocation      string           `position:"Query" name:"StorageLocation"`
+	UserData             string           `position:"Query" name:"UserData"`
 	MediaExt             string           `position:"Query" name:"MediaExt"`
 	FileName             string           `position:"Query" name:"FileName"`
 	CateId               requests.Integer `position:"Query" name:"CateId"`

+ 4 - 2
services/vod/create_upload_image.go

@@ -78,14 +78,16 @@ type CreateUploadImageRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ImageType            string           `position:"Query" name:"ImageType"`
-	OriginalFileName     string           `position:"Query" name:"OriginalFileName"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ImageExt             string           `position:"Query" name:"ImageExt"`
-	CateId               requests.Integer `position:"Query" name:"CateId"`
+	Description          string           `position:"Query" name:"Description"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Title                string           `position:"Query" name:"Title"`
 	Tags                 string           `position:"Query" name:"Tags"`
 	StorageLocation      string           `position:"Query" name:"StorageLocation"`
+	UserData             string           `position:"Query" name:"UserData"`
+	OriginalFileName     string           `position:"Query" name:"OriginalFileName"`
+	CateId               requests.Integer `position:"Query" name:"CateId"`
 }
 
 // CreateUploadImageResponse is the response struct for api CreateUploadImage

+ 1 - 0
services/vod/create_upload_video.go

@@ -91,6 +91,7 @@ type CreateUploadVideoRequest struct {
 	FileName             string           `position:"Query" name:"FileName"`
 	TemplateGroupId      string           `position:"Query" name:"TemplateGroupId"`
 	CateId               requests.Integer `position:"Query" name:"CateId"`
+	WorkflowId           string           `position:"Query" name:"WorkflowId"`
 }
 
 // CreateUploadVideoResponse is the response struct for api CreateUploadVideo

+ 107 - 0
services/vod/delete_ai_template.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DeleteAITemplate invokes the vod.DeleteAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/deleteaitemplate.html
+func (client *Client) DeleteAITemplate(request *DeleteAITemplateRequest) (response *DeleteAITemplateResponse, err error) {
+	response = CreateDeleteAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAITemplateWithChan invokes the vod.DeleteAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/deleteaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAITemplateWithChan(request *DeleteAITemplateRequest) (<-chan *DeleteAITemplateResponse, <-chan error) {
+	responseChan := make(chan *DeleteAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAITemplateWithCallback invokes the vod.DeleteAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/deleteaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAITemplateWithCallback(request *DeleteAITemplateRequest, callback func(response *DeleteAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAITemplateRequest is the request struct for api DeleteAITemplate
+type DeleteAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateId           string           `position:"Query" name:"TemplateId"`
+}
+
+// DeleteAITemplateResponse is the response struct for api DeleteAITemplate
+type DeleteAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TemplateId string `json:"TemplateId" xml:"TemplateId"`
+}
+
+// CreateDeleteAITemplateRequest creates a request to invoke DeleteAITemplate API
+func CreateDeleteAITemplateRequest() (request *DeleteAITemplateRequest) {
+	request = &DeleteAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DeleteAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateDeleteAITemplateResponse creates a response to parse from DeleteAITemplate response
+func CreateDeleteAITemplateResponse() (response *DeleteAITemplateResponse) {
+	response = &DeleteAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/delete_transcode_template_group.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DeleteTranscodeTemplateGroup invokes the vod.DeleteTranscodeTemplateGroup API synchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplategroup.html
+func (client *Client) DeleteTranscodeTemplateGroup(request *DeleteTranscodeTemplateGroupRequest) (response *DeleteTranscodeTemplateGroupResponse, err error) {
+	response = CreateDeleteTranscodeTemplateGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTranscodeTemplateGroupWithChan invokes the vod.DeleteTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTranscodeTemplateGroupWithChan(request *DeleteTranscodeTemplateGroupRequest) (<-chan *DeleteTranscodeTemplateGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteTranscodeTemplateGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTranscodeTemplateGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTranscodeTemplateGroupWithCallback invokes the vod.DeleteTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTranscodeTemplateGroupWithCallback(request *DeleteTranscodeTemplateGroupRequest, callback func(response *DeleteTranscodeTemplateGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTranscodeTemplateGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTranscodeTemplateGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTranscodeTemplateGroupRequest is the request struct for api DeleteTranscodeTemplateGroup
+type DeleteTranscodeTemplateGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId      requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	TranscodeTemplateGroupId string           `position:"Query" name:"TranscodeTemplateGroupId"`
+}
+
+// DeleteTranscodeTemplateGroupResponse is the response struct for api DeleteTranscodeTemplateGroup
+type DeleteTranscodeTemplateGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteTranscodeTemplateGroupRequest creates a request to invoke DeleteTranscodeTemplateGroup API
+func CreateDeleteTranscodeTemplateGroupRequest() (request *DeleteTranscodeTemplateGroupRequest) {
+	request = &DeleteTranscodeTemplateGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DeleteTranscodeTemplateGroup", "vod", "openAPI")
+	return
+}
+
+// CreateDeleteTranscodeTemplateGroupResponse creates a response to parse from DeleteTranscodeTemplateGroup response
+func CreateDeleteTranscodeTemplateGroupResponse() (response *DeleteTranscodeTemplateGroupResponse) {
+	response = &DeleteTranscodeTemplateGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/delete_transcode_templates.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DeleteTranscodeTemplates invokes the vod.DeleteTranscodeTemplates API synchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplates.html
+func (client *Client) DeleteTranscodeTemplates(request *DeleteTranscodeTemplatesRequest) (response *DeleteTranscodeTemplatesResponse, err error) {
+	response = CreateDeleteTranscodeTemplatesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTranscodeTemplatesWithChan invokes the vod.DeleteTranscodeTemplates API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplates.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTranscodeTemplatesWithChan(request *DeleteTranscodeTemplatesRequest) (<-chan *DeleteTranscodeTemplatesResponse, <-chan error) {
+	responseChan := make(chan *DeleteTranscodeTemplatesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTranscodeTemplates(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTranscodeTemplatesWithCallback invokes the vod.DeleteTranscodeTemplates API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletetranscodetemplates.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTranscodeTemplatesWithCallback(request *DeleteTranscodeTemplatesRequest, callback func(response *DeleteTranscodeTemplatesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTranscodeTemplatesResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTranscodeTemplates(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTranscodeTemplatesRequest is the request struct for api DeleteTranscodeTemplates
+type DeleteTranscodeTemplatesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId      requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	TranscodeTemplateGroupId string           `position:"Query" name:"TranscodeTemplateGroupId"`
+	TranscodeTemplateIdList  string           `position:"Query" name:"TranscodeTemplateIdList"`
+}
+
+// DeleteTranscodeTemplatesResponse is the response struct for api DeleteTranscodeTemplates
+type DeleteTranscodeTemplatesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteTranscodeTemplatesRequest creates a request to invoke DeleteTranscodeTemplates API
+func CreateDeleteTranscodeTemplatesRequest() (request *DeleteTranscodeTemplatesRequest) {
+	request = &DeleteTranscodeTemplatesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DeleteTranscodeTemplates", "vod", "openAPI")
+	return
+}
+
+// CreateDeleteTranscodeTemplatesResponse creates a response to parse from DeleteTranscodeTemplates response
+func CreateDeleteTranscodeTemplatesResponse() (response *DeleteTranscodeTemplatesResponse) {
+	response = &DeleteTranscodeTemplatesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/delete_vod_domain.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DeleteVodDomain invokes the vod.DeleteVodDomain API synchronously
+// api document: https://help.aliyun.com/api/vod/deletevoddomain.html
+func (client *Client) DeleteVodDomain(request *DeleteVodDomainRequest) (response *DeleteVodDomainResponse, err error) {
+	response = CreateDeleteVodDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteVodDomainWithChan invokes the vod.DeleteVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletevoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteVodDomainWithChan(request *DeleteVodDomainRequest) (<-chan *DeleteVodDomainResponse, <-chan error) {
+	responseChan := make(chan *DeleteVodDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteVodDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteVodDomainWithCallback invokes the vod.DeleteVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/deletevoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteVodDomainWithCallback(request *DeleteVodDomainRequest, callback func(response *DeleteVodDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteVodDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteVodDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteVodDomainRequest is the request struct for api DeleteVodDomain
+type DeleteVodDomainRequest struct {
+	*requests.RpcRequest
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+	SecurityToken   string           `position:"Query" name:"SecurityToken"`
+	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
+	DomainName      string           `position:"Query" name:"DomainName"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DeleteVodDomainResponse is the response struct for api DeleteVodDomain
+type DeleteVodDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteVodDomainRequest creates a request to invoke DeleteVodDomain API
+func CreateDeleteVodDomainRequest() (request *DeleteVodDomainRequest) {
+	request = &DeleteVodDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DeleteVodDomain", "vod", "openAPI")
+	return
+}
+
+// CreateDeleteVodDomainResponse creates a response to parse from DeleteVodDomain response
+func CreateDeleteVodDomainResponse() (response *DeleteVodDomainResponse) {
+	response = &DeleteVodDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 24 - 24
services/vod/delete_work_flow.go → services/vod/delete_workflow.go

@@ -20,24 +20,24 @@ import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
 )
 
-// DeleteWorkFlow invokes the vod.DeleteWorkFlow API synchronously
+// DeleteWorkflow invokes the vod.DeleteWorkflow API synchronously
 // api document: https://help.aliyun.com/api/vod/deleteworkflow.html
-func (client *Client) DeleteWorkFlow(request *DeleteWorkFlowRequest) (response *DeleteWorkFlowResponse, err error) {
-	response = CreateDeleteWorkFlowResponse()
+func (client *Client) DeleteWorkflow(request *DeleteWorkflowRequest) (response *DeleteWorkflowResponse, err error) {
+	response = CreateDeleteWorkflowResponse()
 	err = client.DoAction(request, response)
 	return
 }
 
-// DeleteWorkFlowWithChan invokes the vod.DeleteWorkFlow API asynchronously
+// DeleteWorkflowWithChan invokes the vod.DeleteWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/deleteworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteWorkFlowWithChan(request *DeleteWorkFlowRequest) (<-chan *DeleteWorkFlowResponse, <-chan error) {
-	responseChan := make(chan *DeleteWorkFlowResponse, 1)
+func (client *Client) DeleteWorkflowWithChan(request *DeleteWorkflowRequest) (<-chan *DeleteWorkflowResponse, <-chan error) {
+	responseChan := make(chan *DeleteWorkflowResponse, 1)
 	errChan := make(chan error, 1)
 	err := client.AddAsyncTask(func() {
 		defer close(responseChan)
 		defer close(errChan)
-		response, err := client.DeleteWorkFlow(request)
+		response, err := client.DeleteWorkflow(request)
 		if err != nil {
 			errChan <- err
 		} else {
@@ -52,16 +52,16 @@ func (client *Client) DeleteWorkFlowWithChan(request *DeleteWorkFlowRequest) (<-
 	return responseChan, errChan
 }
 
-// DeleteWorkFlowWithCallback invokes the vod.DeleteWorkFlow API asynchronously
+// DeleteWorkflowWithCallback invokes the vod.DeleteWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/deleteworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteWorkFlowWithCallback(request *DeleteWorkFlowRequest, callback func(response *DeleteWorkFlowResponse, err error)) <-chan int {
+func (client *Client) DeleteWorkflowWithCallback(request *DeleteWorkflowRequest, callback func(response *DeleteWorkflowResponse, err error)) <-chan int {
 	result := make(chan int, 1)
 	err := client.AddAsyncTask(func() {
-		var response *DeleteWorkFlowResponse
+		var response *DeleteWorkflowResponse
 		var err error
 		defer close(result)
-		response, err = client.DeleteWorkFlow(request)
+		response, err = client.DeleteWorkflow(request)
 		callback(response, err)
 		result <- 1
 	})
@@ -73,34 +73,34 @@ func (client *Client) DeleteWorkFlowWithCallback(request *DeleteWorkFlowRequest,
 	return result
 }
 
-// DeleteWorkFlowRequest is the request struct for api DeleteWorkFlow
-type DeleteWorkFlowRequest struct {
+// DeleteWorkflowRequest is the request struct for api DeleteWorkflow
+type DeleteWorkflowRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	WorkFlowId           string           `position:"Query" name:"WorkFlowId"`
+	WorkflowId           string           `position:"Query" name:"WorkflowId"`
 }
 
-// DeleteWorkFlowResponse is the response struct for api DeleteWorkFlow
-type DeleteWorkFlowResponse struct {
+// DeleteWorkflowResponse is the response struct for api DeleteWorkflow
+type DeleteWorkflowResponse struct {
 	*responses.BaseResponse
 	RequestId  string `json:"RequestId" xml:"RequestId"`
-	WorkFlowId string `json:"WorkFlowId" xml:"WorkFlowId"`
+	WorkflowId string `json:"WorkflowId" xml:"WorkflowId"`
 }
 
-// CreateDeleteWorkFlowRequest creates a request to invoke DeleteWorkFlow API
-func CreateDeleteWorkFlowRequest() (request *DeleteWorkFlowRequest) {
-	request = &DeleteWorkFlowRequest{
+// CreateDeleteWorkflowRequest creates a request to invoke DeleteWorkflow API
+func CreateDeleteWorkflowRequest() (request *DeleteWorkflowRequest) {
+	request = &DeleteWorkflowRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("vod", "2017-03-21", "DeleteWorkFlow", "vod", "openAPI")
+	request.InitWithApiInfo("vod", "2017-03-21", "DeleteWorkflow", "vod", "openAPI")
 	return
 }
 
-// CreateDeleteWorkFlowResponse creates a response to parse from DeleteWorkFlow response
-func CreateDeleteWorkFlowResponse() (response *DeleteWorkFlowResponse) {
-	response = &DeleteWorkFlowResponse{
+// CreateDeleteWorkflowResponse creates a response to parse from DeleteWorkflow response
+func CreateDeleteWorkflowResponse() (response *DeleteWorkflowResponse) {
+	response = &DeleteWorkflowResponse{
 		BaseResponse: &responses.BaseResponse{},
 	}
 	return

+ 7 - 7
services/vod/describe_domain_bps_data.go

@@ -92,13 +92,13 @@ type DescribeDomainBpsDataRequest struct {
 // DescribeDomainBpsDataResponse is the response struct for api DescribeDomainBpsData
 type DescribeDomainBpsDataResponse struct {
 	*responses.BaseResponse
-	RequestId          string             `json:"RequestId" xml:"RequestId"`
-	DomainName         string             `json:"DomainName" xml:"DomainName"`
-	DataInterval       string             `json:"DataInterval" xml:"DataInterval"`
-	StartTime          string             `json:"StartTime" xml:"StartTime"`
-	EndTime            string             `json:"EndTime" xml:"EndTime"`
-	BpsDataPerInterval BpsDataPerInterval `json:"BpsDataPerInterval" xml:"BpsDataPerInterval"`
-	SupplyBpsDatas     SupplyBpsDatas     `json:"SupplyBpsDatas" xml:"SupplyBpsDatas"`
+	RequestId          string                                    `json:"RequestId" xml:"RequestId"`
+	DomainName         string                                    `json:"DomainName" xml:"DomainName"`
+	DataInterval       string                                    `json:"DataInterval" xml:"DataInterval"`
+	StartTime          string                                    `json:"StartTime" xml:"StartTime"`
+	EndTime            string                                    `json:"EndTime" xml:"EndTime"`
+	BpsDataPerInterval BpsDataPerIntervalInDescribeDomainBpsData `json:"BpsDataPerInterval" xml:"BpsDataPerInterval"`
+	SupplyBpsDatas     SupplyBpsDatas                            `json:"SupplyBpsDatas" xml:"SupplyBpsDatas"`
 }
 
 // CreateDescribeDomainBpsDataRequest creates a request to invoke DescribeDomainBpsData API

+ 0 - 110
services/vod/describe_play_top_videos.go

@@ -1,110 +0,0 @@
-package vod
-
-//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"
-)
-
-// DescribePlayTopVideos invokes the vod.DescribePlayTopVideos API synchronously
-// api document: https://help.aliyun.com/api/vod/describeplaytopvideos.html
-func (client *Client) DescribePlayTopVideos(request *DescribePlayTopVideosRequest) (response *DescribePlayTopVideosResponse, err error) {
-	response = CreateDescribePlayTopVideosResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribePlayTopVideosWithChan invokes the vod.DescribePlayTopVideos API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplaytopvideos.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayTopVideosWithChan(request *DescribePlayTopVideosRequest) (<-chan *DescribePlayTopVideosResponse, <-chan error) {
-	responseChan := make(chan *DescribePlayTopVideosResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribePlayTopVideos(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribePlayTopVideosWithCallback invokes the vod.DescribePlayTopVideos API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplaytopvideos.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayTopVideosWithCallback(request *DescribePlayTopVideosRequest, callback func(response *DescribePlayTopVideosResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribePlayTopVideosResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribePlayTopVideos(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribePlayTopVideosRequest is the request struct for api DescribePlayTopVideos
-type DescribePlayTopVideosRequest struct {
-	*requests.RpcRequest
-	BizDate  string           `position:"Query" name:"BizDate"`
-	PageNo   requests.Integer `position:"Query" name:"PageNo"`
-	PageSize requests.Integer `position:"Query" name:"PageSize"`
-	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribePlayTopVideosResponse is the response struct for api DescribePlayTopVideos
-type DescribePlayTopVideosResponse struct {
-	*responses.BaseResponse
-	RequestId     string        `json:"RequestId" xml:"RequestId"`
-	PageNo        int           `json:"PageNo" xml:"PageNo"`
-	PageSize      int           `json:"PageSize" xml:"PageSize"`
-	TotalNum      int           `json:"TotalNum" xml:"TotalNum"`
-	TopPlayVideos TopPlayVideos `json:"TopPlayVideos" xml:"TopPlayVideos"`
-}
-
-// CreateDescribePlayTopVideosRequest creates a request to invoke DescribePlayTopVideos API
-func CreateDescribePlayTopVideosRequest() (request *DescribePlayTopVideosRequest) {
-	request = &DescribePlayTopVideosRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("vod", "2017-03-21", "DescribePlayTopVideos", "vod", "openAPI")
-	return
-}
-
-// CreateDescribePlayTopVideosResponse creates a response to parse from DescribePlayTopVideos response
-func CreateDescribePlayTopVideosResponse() (response *DescribePlayTopVideosResponse) {
-	response = &DescribePlayTopVideosResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/vod/describe_play_user_avg.go

@@ -1,106 +0,0 @@
-package vod
-
-//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"
-)
-
-// DescribePlayUserAvg invokes the vod.DescribePlayUserAvg API synchronously
-// api document: https://help.aliyun.com/api/vod/describeplayuseravg.html
-func (client *Client) DescribePlayUserAvg(request *DescribePlayUserAvgRequest) (response *DescribePlayUserAvgResponse, err error) {
-	response = CreateDescribePlayUserAvgResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribePlayUserAvgWithChan invokes the vod.DescribePlayUserAvg API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplayuseravg.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayUserAvgWithChan(request *DescribePlayUserAvgRequest) (<-chan *DescribePlayUserAvgResponse, <-chan error) {
-	responseChan := make(chan *DescribePlayUserAvgResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribePlayUserAvg(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribePlayUserAvgWithCallback invokes the vod.DescribePlayUserAvg API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplayuseravg.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayUserAvgWithCallback(request *DescribePlayUserAvgRequest, callback func(response *DescribePlayUserAvgResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribePlayUserAvgResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribePlayUserAvg(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribePlayUserAvgRequest is the request struct for api DescribePlayUserAvg
-type DescribePlayUserAvgRequest struct {
-	*requests.RpcRequest
-	EndTime   string           `position:"Query" name:"EndTime"`
-	StartTime string           `position:"Query" name:"StartTime"`
-	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribePlayUserAvgResponse is the response struct for api DescribePlayUserAvg
-type DescribePlayUserAvgResponse struct {
-	*responses.BaseResponse
-	RequestId          string             `json:"RequestId" xml:"RequestId"`
-	UserPlayStatisAvgs UserPlayStatisAvgs `json:"UserPlayStatisAvgs" xml:"UserPlayStatisAvgs"`
-}
-
-// CreateDescribePlayUserAvgRequest creates a request to invoke DescribePlayUserAvg API
-func CreateDescribePlayUserAvgRequest() (request *DescribePlayUserAvgRequest) {
-	request = &DescribePlayUserAvgRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("vod", "2017-03-21", "DescribePlayUserAvg", "vod", "openAPI")
-	return
-}
-
-// CreateDescribePlayUserAvgResponse creates a response to parse from DescribePlayUserAvg response
-func CreateDescribePlayUserAvgResponse() (response *DescribePlayUserAvgResponse) {
-	response = &DescribePlayUserAvgResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/vod/describe_play_user_total.go

@@ -1,106 +0,0 @@
-package vod
-
-//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"
-)
-
-// DescribePlayUserTotal invokes the vod.DescribePlayUserTotal API synchronously
-// api document: https://help.aliyun.com/api/vod/describeplayusertotal.html
-func (client *Client) DescribePlayUserTotal(request *DescribePlayUserTotalRequest) (response *DescribePlayUserTotalResponse, err error) {
-	response = CreateDescribePlayUserTotalResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribePlayUserTotalWithChan invokes the vod.DescribePlayUserTotal API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplayusertotal.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayUserTotalWithChan(request *DescribePlayUserTotalRequest) (<-chan *DescribePlayUserTotalResponse, <-chan error) {
-	responseChan := make(chan *DescribePlayUserTotalResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribePlayUserTotal(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribePlayUserTotalWithCallback invokes the vod.DescribePlayUserTotal API asynchronously
-// api document: https://help.aliyun.com/api/vod/describeplayusertotal.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribePlayUserTotalWithCallback(request *DescribePlayUserTotalRequest, callback func(response *DescribePlayUserTotalResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribePlayUserTotalResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribePlayUserTotal(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribePlayUserTotalRequest is the request struct for api DescribePlayUserTotal
-type DescribePlayUserTotalRequest struct {
-	*requests.RpcRequest
-	EndTime   string           `position:"Query" name:"EndTime"`
-	StartTime string           `position:"Query" name:"StartTime"`
-	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribePlayUserTotalResponse is the response struct for api DescribePlayUserTotal
-type DescribePlayUserTotalResponse struct {
-	*responses.BaseResponse
-	RequestId            string               `json:"RequestId" xml:"RequestId"`
-	UserPlayStatisTotals UserPlayStatisTotals `json:"UserPlayStatisTotals" xml:"UserPlayStatisTotals"`
-}
-
-// CreateDescribePlayUserTotalRequest creates a request to invoke DescribePlayUserTotal API
-func CreateDescribePlayUserTotalRequest() (request *DescribePlayUserTotalRequest) {
-	request = &DescribePlayUserTotalRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("vod", "2017-03-21", "DescribePlayUserTotal", "vod", "openAPI")
-	return
-}
-
-// CreateDescribePlayUserTotalResponse creates a response to parse from DescribePlayUserTotal response
-func CreateDescribePlayUserTotalResponse() (response *DescribePlayUserTotalResponse) {
-	response = &DescribePlayUserTotalResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 1
services/vod/describe_play_video_statis.go

@@ -76,9 +76,9 @@ func (client *Client) DescribePlayVideoStatisWithCallback(request *DescribePlayV
 // DescribePlayVideoStatisRequest is the request struct for api DescribePlayVideoStatis
 type DescribePlayVideoStatisRequest struct {
 	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
 	EndTime   string           `position:"Query" name:"EndTime"`
 	VideoId   string           `position:"Query" name:"VideoId"`
-	StartTime string           `position:"Query" name:"StartTime"`
 	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
 }
 

+ 5 - 5
services/vod/describe_refresh_tasks.go

@@ -94,11 +94,11 @@ type DescribeRefreshTasksRequest struct {
 // DescribeRefreshTasksResponse is the response struct for api DescribeRefreshTasks
 type DescribeRefreshTasksResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	PageSize   int    `json:"PageSize" xml:"PageSize"`
-	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
-	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
-	Tasks      Tasks  `json:"Tasks" xml:"Tasks"`
+	RequestId  string                      `json:"RequestId" xml:"RequestId"`
+	PageSize   int                         `json:"PageSize" xml:"PageSize"`
+	PageNumber int                         `json:"PageNumber" xml:"PageNumber"`
+	TotalCount int                         `json:"TotalCount" xml:"TotalCount"`
+	Tasks      TasksInDescribeRefreshTasks `json:"Tasks" xml:"Tasks"`
 }
 
 // CreateDescribeRefreshTasksRequest creates a request to invoke DescribeRefreshTasks API

+ 108 - 0
services/vod/describe_user_avg_count_by_day.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserAvgCountByDay invokes the vod.DescribeUserAvgCountByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgcountbyday.html
+func (client *Client) DescribeUserAvgCountByDay(request *DescribeUserAvgCountByDayRequest) (response *DescribeUserAvgCountByDayResponse, err error) {
+	response = CreateDescribeUserAvgCountByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserAvgCountByDayWithChan invokes the vod.DescribeUserAvgCountByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgcountbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserAvgCountByDayWithChan(request *DescribeUserAvgCountByDayRequest) (<-chan *DescribeUserAvgCountByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserAvgCountByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserAvgCountByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserAvgCountByDayWithCallback invokes the vod.DescribeUserAvgCountByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgcountbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserAvgCountByDayWithCallback(request *DescribeUserAvgCountByDayRequest, callback func(response *DescribeUserAvgCountByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserAvgCountByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserAvgCountByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserAvgCountByDayRequest is the request struct for api DescribeUserAvgCountByDay
+type DescribeUserAvgCountByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserAvgCountByDayResponse is the response struct for api DescribeUserAvgCountByDay
+type DescribeUserAvgCountByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                             `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserAvgCountByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserAvgCountByDayRequest creates a request to invoke DescribeUserAvgCountByDay API
+func CreateDescribeUserAvgCountByDayRequest() (request *DescribeUserAvgCountByDayRequest) {
+	request = &DescribeUserAvgCountByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserAvgCountByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserAvgCountByDayResponse creates a response to parse from DescribeUserAvgCountByDay response
+func CreateDescribeUserAvgCountByDayResponse() (response *DescribeUserAvgCountByDayResponse) {
+	response = &DescribeUserAvgCountByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_avg_time_by_day.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserAvgTimeByDay invokes the vod.DescribeUserAvgTimeByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgtimebyday.html
+func (client *Client) DescribeUserAvgTimeByDay(request *DescribeUserAvgTimeByDayRequest) (response *DescribeUserAvgTimeByDayResponse, err error) {
+	response = CreateDescribeUserAvgTimeByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserAvgTimeByDayWithChan invokes the vod.DescribeUserAvgTimeByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgtimebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserAvgTimeByDayWithChan(request *DescribeUserAvgTimeByDayRequest) (<-chan *DescribeUserAvgTimeByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserAvgTimeByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserAvgTimeByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserAvgTimeByDayWithCallback invokes the vod.DescribeUserAvgTimeByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseravgtimebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserAvgTimeByDayWithCallback(request *DescribeUserAvgTimeByDayRequest, callback func(response *DescribeUserAvgTimeByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserAvgTimeByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserAvgTimeByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserAvgTimeByDayRequest is the request struct for api DescribeUserAvgTimeByDay
+type DescribeUserAvgTimeByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserAvgTimeByDayResponse is the response struct for api DescribeUserAvgTimeByDay
+type DescribeUserAvgTimeByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                            `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserAvgTimeByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserAvgTimeByDayRequest creates a request to invoke DescribeUserAvgTimeByDay API
+func CreateDescribeUserAvgTimeByDayRequest() (request *DescribeUserAvgTimeByDayRequest) {
+	request = &DescribeUserAvgTimeByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserAvgTimeByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserAvgTimeByDayResponse creates a response to parse from DescribeUserAvgTimeByDay response
+func CreateDescribeUserAvgTimeByDayResponse() (response *DescribeUserAvgTimeByDayResponse) {
+	response = &DescribeUserAvgTimeByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_time_range_by_day.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserTimeRangeByDay invokes the vod.DescribeUserTimeRangeByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeusertimerangebyday.html
+func (client *Client) DescribeUserTimeRangeByDay(request *DescribeUserTimeRangeByDayRequest) (response *DescribeUserTimeRangeByDayResponse, err error) {
+	response = CreateDescribeUserTimeRangeByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserTimeRangeByDayWithChan invokes the vod.DescribeUserTimeRangeByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeusertimerangebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserTimeRangeByDayWithChan(request *DescribeUserTimeRangeByDayRequest) (<-chan *DescribeUserTimeRangeByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserTimeRangeByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserTimeRangeByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserTimeRangeByDayWithCallback invokes the vod.DescribeUserTimeRangeByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeusertimerangebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserTimeRangeByDayWithCallback(request *DescribeUserTimeRangeByDayRequest, callback func(response *DescribeUserTimeRangeByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserTimeRangeByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserTimeRangeByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserTimeRangeByDayRequest is the request struct for api DescribeUserTimeRangeByDay
+type DescribeUserTimeRangeByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserTimeRangeByDayResponse is the response struct for api DescribeUserTimeRangeByDay
+type DescribeUserTimeRangeByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                              `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserTimeRangeByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserTimeRangeByDayRequest creates a request to invoke DescribeUserTimeRangeByDay API
+func CreateDescribeUserTimeRangeByDayRequest() (request *DescribeUserTimeRangeByDayRequest) {
+	request = &DescribeUserTimeRangeByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserTimeRangeByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserTimeRangeByDayResponse creates a response to parse from DescribeUserTimeRangeByDay response
+func CreateDescribeUserTimeRangeByDayResponse() (response *DescribeUserTimeRangeByDayResponse) {
+	response = &DescribeUserTimeRangeByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_uv_by_day.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserUvByDay invokes the vod.DescribeUserUvByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuseruvbyday.html
+func (client *Client) DescribeUserUvByDay(request *DescribeUserUvByDayRequest) (response *DescribeUserUvByDayResponse, err error) {
+	response = CreateDescribeUserUvByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserUvByDayWithChan invokes the vod.DescribeUserUvByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseruvbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserUvByDayWithChan(request *DescribeUserUvByDayRequest) (<-chan *DescribeUserUvByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserUvByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserUvByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserUvByDayWithCallback invokes the vod.DescribeUserUvByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuseruvbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserUvByDayWithCallback(request *DescribeUserUvByDayRequest, callback func(response *DescribeUserUvByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserUvByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserUvByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserUvByDayRequest is the request struct for api DescribeUserUvByDay
+type DescribeUserUvByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserUvByDayResponse is the response struct for api DescribeUserUvByDay
+type DescribeUserUvByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                       `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserUvByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserUvByDayRequest creates a request to invoke DescribeUserUvByDay API
+func CreateDescribeUserUvByDayRequest() (request *DescribeUserUvByDayRequest) {
+	request = &DescribeUserUvByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserUvByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserUvByDayResponse creates a response to parse from DescribeUserUvByDay response
+func CreateDescribeUserUvByDayResponse() (response *DescribeUserUvByDayResponse) {
+	response = &DescribeUserUvByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_vod_status.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserVodStatus invokes the vod.DescribeUserVodStatus API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuservodstatus.html
+func (client *Client) DescribeUserVodStatus(request *DescribeUserVodStatusRequest) (response *DescribeUserVodStatusResponse, err error) {
+	response = CreateDescribeUserVodStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserVodStatusWithChan invokes the vod.DescribeUserVodStatus API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservodstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVodStatusWithChan(request *DescribeUserVodStatusRequest) (<-chan *DescribeUserVodStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserVodStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserVodStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserVodStatusWithCallback invokes the vod.DescribeUserVodStatus API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservodstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVodStatusWithCallback(request *DescribeUserVodStatusRequest, callback func(response *DescribeUserVodStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserVodStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserVodStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserVodStatusRequest is the request struct for api DescribeUserVodStatus
+type DescribeUserVodStatusRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserVodStatusResponse is the response struct for api DescribeUserVodStatus
+type DescribeUserVodStatusResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Enabled       bool   `json:"Enabled" xml:"Enabled"`
+	OnService     bool   `json:"OnService" xml:"OnService"`
+	InDebt        bool   `json:"InDebt" xml:"InDebt"`
+	InDebtOverdue bool   `json:"InDebtOverdue" xml:"InDebtOverdue"`
+}
+
+// CreateDescribeUserVodStatusRequest creates a request to invoke DescribeUserVodStatus API
+func CreateDescribeUserVodStatusRequest() (request *DescribeUserVodStatusRequest) {
+	request = &DescribeUserVodStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserVodStatus", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserVodStatusResponse creates a response to parse from DescribeUserVodStatus response
+func CreateDescribeUserVodStatusResponse() (response *DescribeUserVodStatusResponse) {
+	response = &DescribeUserVodStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_vv_by_day.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserVvByDay invokes the vod.DescribeUserVvByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyday.html
+func (client *Client) DescribeUserVvByDay(request *DescribeUserVvByDayRequest) (response *DescribeUserVvByDayResponse, err error) {
+	response = CreateDescribeUserVvByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserVvByDayWithChan invokes the vod.DescribeUserVvByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvByDayWithChan(request *DescribeUserVvByDayRequest) (<-chan *DescribeUserVvByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserVvByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserVvByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserVvByDayWithCallback invokes the vod.DescribeUserVvByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvByDayWithCallback(request *DescribeUserVvByDayRequest, callback func(response *DescribeUserVvByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserVvByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserVvByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserVvByDayRequest is the request struct for api DescribeUserVvByDay
+type DescribeUserVvByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserVvByDayResponse is the response struct for api DescribeUserVvByDay
+type DescribeUserVvByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                       `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserVvByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserVvByDayRequest creates a request to invoke DescribeUserVvByDay API
+func CreateDescribeUserVvByDayRequest() (request *DescribeUserVvByDayRequest) {
+	request = &DescribeUserVvByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserVvByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserVvByDayResponse creates a response to parse from DescribeUserVvByDay response
+func CreateDescribeUserVvByDayResponse() (response *DescribeUserVvByDayResponse) {
+	response = &DescribeUserVvByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/describe_user_vv_by_videoid.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// DescribeUserVvByVideoid invokes the vod.DescribeUserVvByVideoid API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyvideoid.html
+func (client *Client) DescribeUserVvByVideoid(request *DescribeUserVvByVideoidRequest) (response *DescribeUserVvByVideoidResponse, err error) {
+	response = CreateDescribeUserVvByVideoidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserVvByVideoidWithChan invokes the vod.DescribeUserVvByVideoid API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyvideoid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvByVideoidWithChan(request *DescribeUserVvByVideoidRequest) (<-chan *DescribeUserVvByVideoidResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserVvByVideoidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserVvByVideoid(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserVvByVideoidWithCallback invokes the vod.DescribeUserVvByVideoid API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvbyvideoid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvByVideoidWithCallback(request *DescribeUserVvByVideoidRequest, callback func(response *DescribeUserVvByVideoidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserVvByVideoidResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserVvByVideoid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserVvByVideoidRequest is the request struct for api DescribeUserVvByVideoid
+type DescribeUserVvByVideoidRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	Videoid       string           `position:"Query" name:"Videoid"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserVvByVideoidResponse is the response struct for api DescribeUserVvByVideoid
+type DescribeUserVvByVideoidResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                           `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserVvByVideoid `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserVvByVideoidRequest creates a request to invoke DescribeUserVvByVideoid API
+func CreateDescribeUserVvByVideoidRequest() (request *DescribeUserVvByVideoidRequest) {
+	request = &DescribeUserVvByVideoidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserVvByVideoid", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserVvByVideoidResponse creates a response to parse from DescribeUserVvByVideoid response
+func CreateDescribeUserVvByVideoidResponse() (response *DescribeUserVvByVideoidResponse) {
+	response = &DescribeUserVvByVideoidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/describe_user_vv_top_by_day.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DescribeUserVvTopByDay invokes the vod.DescribeUserVvTopByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvtopbyday.html
+func (client *Client) DescribeUserVvTopByDay(request *DescribeUserVvTopByDayRequest) (response *DescribeUserVvTopByDayResponse, err error) {
+	response = CreateDescribeUserVvTopByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserVvTopByDayWithChan invokes the vod.DescribeUserVvTopByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvtopbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvTopByDayWithChan(request *DescribeUserVvTopByDayRequest) (<-chan *DescribeUserVvTopByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserVvTopByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserVvTopByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserVvTopByDayWithCallback invokes the vod.DescribeUserVvTopByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describeuservvtopbyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserVvTopByDayWithCallback(request *DescribeUserVvTopByDayRequest, callback func(response *DescribeUserVvTopByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserVvTopByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserVvTopByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserVvTopByDayRequest is the request struct for api DescribeUserVvTopByDay
+type DescribeUserVvTopByDayRequest struct {
+	*requests.RpcRequest
+	VideoType     string           `position:"Query" name:"VideoType"`
+	Bizdate       string           `position:"Query" name:"Bizdate"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserVvTopByDayResponse is the response struct for api DescribeUserVvTopByDay
+type DescribeUserVvTopByDayResponse struct {
+	*responses.BaseResponse
+	RequestId               string                                          `json:"RequestId" xml:"RequestId"`
+	UserPlayStatisticsInfos UserPlayStatisticsInfosInDescribeUserVvTopByDay `json:"UserPlayStatisticsInfos" xml:"UserPlayStatisticsInfos"`
+}
+
+// CreateDescribeUserVvTopByDayRequest creates a request to invoke DescribeUserVvTopByDay API
+func CreateDescribeUserVvTopByDayRequest() (request *DescribeUserVvTopByDayRequest) {
+	request = &DescribeUserVvTopByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeUserVvTopByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeUserVvTopByDayResponse creates a response to parse from DescribeUserVvTopByDay response
+func CreateDescribeUserVvTopByDayResponse() (response *DescribeUserVvTopByDayResponse) {
+	response = &DescribeUserVvTopByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vod/describe_vod_certificate_detail.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// DescribeVodCertificateDetail invokes the vod.DescribeVodCertificateDetail API synchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatedetail.html
+func (client *Client) DescribeVodCertificateDetail(request *DescribeVodCertificateDetailRequest) (response *DescribeVodCertificateDetailResponse, err error) {
+	response = CreateDescribeVodCertificateDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodCertificateDetailWithChan invokes the vod.DescribeVodCertificateDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodCertificateDetailWithChan(request *DescribeVodCertificateDetailRequest) (<-chan *DescribeVodCertificateDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodCertificateDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodCertificateDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodCertificateDetailWithCallback invokes the vod.DescribeVodCertificateDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodCertificateDetailWithCallback(request *DescribeVodCertificateDetailRequest, callback func(response *DescribeVodCertificateDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodCertificateDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodCertificateDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodCertificateDetailRequest is the request struct for api DescribeVodCertificateDetail
+type DescribeVodCertificateDetailRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	CertName      string           `position:"Query" name:"CertName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodCertificateDetailResponse is the response struct for api DescribeVodCertificateDetail
+type DescribeVodCertificateDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Cert      string `json:"Cert" xml:"Cert"`
+	Key       string `json:"Key" xml:"Key"`
+	CertId    int    `json:"CertId" xml:"CertId"`
+	CertName  string `json:"CertName" xml:"CertName"`
+}
+
+// CreateDescribeVodCertificateDetailRequest creates a request to invoke DescribeVodCertificateDetail API
+func CreateDescribeVodCertificateDetailRequest() (request *DescribeVodCertificateDetailRequest) {
+	request = &DescribeVodCertificateDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodCertificateDetail", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodCertificateDetailResponse creates a response to parse from DescribeVodCertificateDetail response
+func CreateDescribeVodCertificateDetailResponse() (response *DescribeVodCertificateDetailResponse) {
+	response = &DescribeVodCertificateDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/vod/describe_vod_certificate_list.go

@@ -0,0 +1,106 @@
+package vod
+
+//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"
+)
+
+// DescribeVodCertificateList invokes the vod.DescribeVodCertificateList API synchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatelist.html
+func (client *Client) DescribeVodCertificateList(request *DescribeVodCertificateListRequest) (response *DescribeVodCertificateListResponse, err error) {
+	response = CreateDescribeVodCertificateListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodCertificateListWithChan invokes the vod.DescribeVodCertificateList API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodCertificateListWithChan(request *DescribeVodCertificateListRequest) (<-chan *DescribeVodCertificateListResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodCertificateListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodCertificateList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodCertificateListWithCallback invokes the vod.DescribeVodCertificateList API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodcertificatelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodCertificateListWithCallback(request *DescribeVodCertificateListRequest, callback func(response *DescribeVodCertificateListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodCertificateListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodCertificateList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodCertificateListRequest is the request struct for api DescribeVodCertificateList
+type DescribeVodCertificateListRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodCertificateListResponse is the response struct for api DescribeVodCertificateList
+type DescribeVodCertificateListResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	CertificateListModel CertificateListModel `json:"CertificateListModel" xml:"CertificateListModel"`
+}
+
+// CreateDescribeVodCertificateListRequest creates a request to invoke DescribeVodCertificateList API
+func CreateDescribeVodCertificateListRequest() (request *DescribeVodCertificateListRequest) {
+	request = &DescribeVodCertificateListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodCertificateList", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodCertificateListResponse creates a response to parse from DescribeVodCertificateList response
+func CreateDescribeVodCertificateListResponse() (response *DescribeVodCertificateListResponse) {
+	response = &DescribeVodCertificateListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/vod/describe_vod_domain_bps_data.go

@@ -0,0 +1,116 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainBpsData invokes the vod.DescribeVodDomainBpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainbpsdata.html
+func (client *Client) DescribeVodDomainBpsData(request *DescribeVodDomainBpsDataRequest) (response *DescribeVodDomainBpsDataResponse, err error) {
+	response = CreateDescribeVodDomainBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainBpsDataWithChan invokes the vod.DescribeVodDomainBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainBpsDataWithChan(request *DescribeVodDomainBpsDataRequest) (<-chan *DescribeVodDomainBpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainBpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainBpsDataWithCallback invokes the vod.DescribeVodDomainBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainBpsDataWithCallback(request *DescribeVodDomainBpsDataRequest, callback func(response *DescribeVodDomainBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainBpsDataRequest is the request struct for api DescribeVodDomainBpsData
+type DescribeVodDomainBpsDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	Interval       string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainBpsDataResponse is the response struct for api DescribeVodDomainBpsData
+type DescribeVodDomainBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId          string                                       `json:"RequestId" xml:"RequestId"`
+	DomainName         string                                       `json:"DomainName" xml:"DomainName"`
+	StartTime          string                                       `json:"StartTime" xml:"StartTime"`
+	EndTime            string                                       `json:"EndTime" xml:"EndTime"`
+	LocationNameEn     string                                       `json:"LocationNameEn" xml:"LocationNameEn"`
+	IspNameEn          string                                       `json:"IspNameEn" xml:"IspNameEn"`
+	DataInterval       string                                       `json:"DataInterval" xml:"DataInterval"`
+	BpsDataPerInterval BpsDataPerIntervalInDescribeVodDomainBpsData `json:"BpsDataPerInterval" xml:"BpsDataPerInterval"`
+}
+
+// CreateDescribeVodDomainBpsDataRequest creates a request to invoke DescribeVodDomainBpsData API
+func CreateDescribeVodDomainBpsDataRequest() (request *DescribeVodDomainBpsDataRequest) {
+	request = &DescribeVodDomainBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainBpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainBpsDataResponse creates a response to parse from DescribeVodDomainBpsData response
+func CreateDescribeVodDomainBpsDataResponse() (response *DescribeVodDomainBpsDataResponse) {
+	response = &DescribeVodDomainBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/vod/describe_vod_domain_certificate_info.go

@@ -0,0 +1,105 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainCertificateInfo invokes the vod.DescribeVodDomainCertificateInfo API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincertificateinfo.html
+func (client *Client) DescribeVodDomainCertificateInfo(request *DescribeVodDomainCertificateInfoRequest) (response *DescribeVodDomainCertificateInfoResponse, err error) {
+	response = CreateDescribeVodDomainCertificateInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainCertificateInfoWithChan invokes the vod.DescribeVodDomainCertificateInfo API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincertificateinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainCertificateInfoWithChan(request *DescribeVodDomainCertificateInfoRequest) (<-chan *DescribeVodDomainCertificateInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainCertificateInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainCertificateInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainCertificateInfoWithCallback invokes the vod.DescribeVodDomainCertificateInfo API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincertificateinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainCertificateInfoWithCallback(request *DescribeVodDomainCertificateInfoRequest, callback func(response *DescribeVodDomainCertificateInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainCertificateInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainCertificateInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainCertificateInfoRequest is the request struct for api DescribeVodDomainCertificateInfo
+type DescribeVodDomainCertificateInfoRequest struct {
+	*requests.RpcRequest
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainCertificateInfoResponse is the response struct for api DescribeVodDomainCertificateInfo
+type DescribeVodDomainCertificateInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	CertInfos CertInfos `json:"CertInfos" xml:"CertInfos"`
+}
+
+// CreateDescribeVodDomainCertificateInfoRequest creates a request to invoke DescribeVodDomainCertificateInfo API
+func CreateDescribeVodDomainCertificateInfoRequest() (request *DescribeVodDomainCertificateInfoRequest) {
+	request = &DescribeVodDomainCertificateInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainCertificateInfo", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainCertificateInfoResponse creates a response to parse from DescribeVodDomainCertificateInfo response
+func CreateDescribeVodDomainCertificateInfoResponse() (response *DescribeVodDomainCertificateInfoResponse) {
+	response = &DescribeVodDomainCertificateInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/vod/describe_vod_domain_cname.go

@@ -0,0 +1,105 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainCname invokes the vod.DescribeVodDomainCname API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincname.html
+func (client *Client) DescribeVodDomainCname(request *DescribeVodDomainCnameRequest) (response *DescribeVodDomainCnameResponse, err error) {
+	response = CreateDescribeVodDomainCnameResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainCnameWithChan invokes the vod.DescribeVodDomainCname API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincname.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainCnameWithChan(request *DescribeVodDomainCnameRequest) (<-chan *DescribeVodDomainCnameResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainCnameResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainCname(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainCnameWithCallback invokes the vod.DescribeVodDomainCname API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaincname.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainCnameWithCallback(request *DescribeVodDomainCnameRequest, callback func(response *DescribeVodDomainCnameResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainCnameResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainCname(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainCnameRequest is the request struct for api DescribeVodDomainCname
+type DescribeVodDomainCnameRequest struct {
+	*requests.RpcRequest
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainCnameResponse is the response struct for api DescribeVodDomainCname
+type DescribeVodDomainCnameResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	CnameDatas CnameDatas `json:"CnameDatas" xml:"CnameDatas"`
+}
+
+// CreateDescribeVodDomainCnameRequest creates a request to invoke DescribeVodDomainCname API
+func CreateDescribeVodDomainCnameRequest() (request *DescribeVodDomainCnameRequest) {
+	request = &DescribeVodDomainCnameRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainCname", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainCnameResponse creates a response to parse from DescribeVodDomainCname response
+func CreateDescribeVodDomainCnameResponse() (response *DescribeVodDomainCnameResponse) {
+	response = &DescribeVodDomainCnameResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/describe_vod_domain_configs.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainConfigs invokes the vod.DescribeVodDomainConfigs API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainconfigs.html
+func (client *Client) DescribeVodDomainConfigs(request *DescribeVodDomainConfigsRequest) (response *DescribeVodDomainConfigsResponse, err error) {
+	response = CreateDescribeVodDomainConfigsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainConfigsWithChan invokes the vod.DescribeVodDomainConfigs API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainconfigs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainConfigsWithChan(request *DescribeVodDomainConfigsRequest) (<-chan *DescribeVodDomainConfigsResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainConfigsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainConfigs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainConfigsWithCallback invokes the vod.DescribeVodDomainConfigs API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainconfigs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainConfigsWithCallback(request *DescribeVodDomainConfigsRequest, callback func(response *DescribeVodDomainConfigsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainConfigsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainConfigs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainConfigsRequest is the request struct for api DescribeVodDomainConfigs
+type DescribeVodDomainConfigsRequest struct {
+	*requests.RpcRequest
+	FunctionNames string           `position:"Query" name:"FunctionNames"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainConfigsResponse is the response struct for api DescribeVodDomainConfigs
+type DescribeVodDomainConfigsResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	DomainConfigs DomainConfigs `json:"DomainConfigs" xml:"DomainConfigs"`
+}
+
+// CreateDescribeVodDomainConfigsRequest creates a request to invoke DescribeVodDomainConfigs API
+func CreateDescribeVodDomainConfigsRequest() (request *DescribeVodDomainConfigsRequest) {
+	request = &DescribeVodDomainConfigsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainConfigs", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainConfigsResponse creates a response to parse from DescribeVodDomainConfigs response
+func CreateDescribeVodDomainConfigsResponse() (response *DescribeVodDomainConfigsResponse) {
+	response = &DescribeVodDomainConfigsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/vod/describe_vod_domain_detail.go

@@ -0,0 +1,106 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainDetail invokes the vod.DescribeVodDomainDetail API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaindetail.html
+func (client *Client) DescribeVodDomainDetail(request *DescribeVodDomainDetailRequest) (response *DescribeVodDomainDetailResponse, err error) {
+	response = CreateDescribeVodDomainDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainDetailWithChan invokes the vod.DescribeVodDomainDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaindetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainDetailWithChan(request *DescribeVodDomainDetailRequest) (<-chan *DescribeVodDomainDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainDetailWithCallback invokes the vod.DescribeVodDomainDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaindetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainDetailWithCallback(request *DescribeVodDomainDetailRequest, callback func(response *DescribeVodDomainDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainDetailRequest is the request struct for api DescribeVodDomainDetail
+type DescribeVodDomainDetailRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainDetailResponse is the response struct for api DescribeVodDomainDetail
+type DescribeVodDomainDetailResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	DomainDetail DomainDetail `json:"DomainDetail" xml:"DomainDetail"`
+}
+
+// CreateDescribeVodDomainDetailRequest creates a request to invoke DescribeVodDomainDetail API
+func CreateDescribeVodDomainDetailRequest() (request *DescribeVodDomainDetailRequest) {
+	request = &DescribeVodDomainDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainDetail", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainDetailResponse creates a response to parse from DescribeVodDomainDetail response
+func CreateDescribeVodDomainDetailResponse() (response *DescribeVodDomainDetailResponse) {
+	response = &DescribeVodDomainDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/vod/describe_vod_domain_hit_rate_data.go

@@ -0,0 +1,114 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainHitRateData invokes the vod.DescribeVodDomainHitRateData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhitratedata.html
+func (client *Client) DescribeVodDomainHitRateData(request *DescribeVodDomainHitRateDataRequest) (response *DescribeVodDomainHitRateDataResponse, err error) {
+	response = CreateDescribeVodDomainHitRateDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainHitRateDataWithChan invokes the vod.DescribeVodDomainHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainHitRateDataWithChan(request *DescribeVodDomainHitRateDataRequest) (<-chan *DescribeVodDomainHitRateDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainHitRateDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainHitRateData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainHitRateDataWithCallback invokes the vod.DescribeVodDomainHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainHitRateDataWithCallback(request *DescribeVodDomainHitRateDataRequest, callback func(response *DescribeVodDomainHitRateDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainHitRateDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainHitRateData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainHitRateDataRequest is the request struct for api DescribeVodDomainHitRateData
+type DescribeVodDomainHitRateDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	Interval       string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainHitRateDataResponse is the response struct for api DescribeVodDomainHitRateData
+type DescribeVodDomainHitRateDataResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	DomainName      string          `json:"DomainName" xml:"DomainName"`
+	StartTime       string          `json:"StartTime" xml:"StartTime"`
+	EndTime         string          `json:"EndTime" xml:"EndTime"`
+	DataInterval    string          `json:"DataInterval" xml:"DataInterval"`
+	HitRateInterval HitRateInterval `json:"HitRateInterval" xml:"HitRateInterval"`
+}
+
+// CreateDescribeVodDomainHitRateDataRequest creates a request to invoke DescribeVodDomainHitRateData API
+func CreateDescribeVodDomainHitRateDataRequest() (request *DescribeVodDomainHitRateDataRequest) {
+	request = &DescribeVodDomainHitRateDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainHitRateData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainHitRateDataResponse creates a response to parse from DescribeVodDomainHitRateData response
+func CreateDescribeVodDomainHitRateDataResponse() (response *DescribeVodDomainHitRateDataResponse) {
+	response = &DescribeVodDomainHitRateDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vod/describe_vod_domain_http_code_data.go

@@ -0,0 +1,112 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainHttpCodeData invokes the vod.DescribeVodDomainHttpCodeData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhttpcodedata.html
+func (client *Client) DescribeVodDomainHttpCodeData(request *DescribeVodDomainHttpCodeDataRequest) (response *DescribeVodDomainHttpCodeDataResponse, err error) {
+	response = CreateDescribeVodDomainHttpCodeDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainHttpCodeDataWithChan invokes the vod.DescribeVodDomainHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainHttpCodeDataWithChan(request *DescribeVodDomainHttpCodeDataRequest) (<-chan *DescribeVodDomainHttpCodeDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainHttpCodeDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainHttpCodeData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainHttpCodeDataWithCallback invokes the vod.DescribeVodDomainHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainhttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainHttpCodeDataWithCallback(request *DescribeVodDomainHttpCodeDataRequest, callback func(response *DescribeVodDomainHttpCodeDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainHttpCodeDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainHttpCodeData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainHttpCodeDataRequest is the request struct for api DescribeVodDomainHttpCodeData
+type DescribeVodDomainHttpCodeDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	Interval   string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainHttpCodeDataResponse is the response struct for api DescribeVodDomainHttpCodeData
+type DescribeVodDomainHttpCodeDataResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	DomainName   string       `json:"DomainName" xml:"DomainName"`
+	StartTime    string       `json:"StartTime" xml:"StartTime"`
+	EndTime      string       `json:"EndTime" xml:"EndTime"`
+	DataInterval string       `json:"DataInterval" xml:"DataInterval"`
+	HttpCodeData HttpCodeData `json:"HttpCodeData" xml:"HttpCodeData"`
+}
+
+// CreateDescribeVodDomainHttpCodeDataRequest creates a request to invoke DescribeVodDomainHttpCodeData API
+func CreateDescribeVodDomainHttpCodeDataRequest() (request *DescribeVodDomainHttpCodeDataRequest) {
+	request = &DescribeVodDomainHttpCodeDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainHttpCodeData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainHttpCodeDataResponse creates a response to parse from DescribeVodDomainHttpCodeData response
+func CreateDescribeVodDomainHttpCodeDataResponse() (response *DescribeVodDomainHttpCodeDataResponse) {
+	response = &DescribeVodDomainHttpCodeDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vod/describe_vod_domain_log.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainLog invokes the vod.DescribeVodDomainLog API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainlog.html
+func (client *Client) DescribeVodDomainLog(request *DescribeVodDomainLogRequest) (response *DescribeVodDomainLogResponse, err error) {
+	response = CreateDescribeVodDomainLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainLogWithChan invokes the vod.DescribeVodDomainLog API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainLogWithChan(request *DescribeVodDomainLogRequest) (<-chan *DescribeVodDomainLogResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainLogWithCallback invokes the vod.DescribeVodDomainLog API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainLogWithCallback(request *DescribeVodDomainLogRequest, callback func(response *DescribeVodDomainLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainLogResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainLogRequest is the request struct for api DescribeVodDomainLog
+type DescribeVodDomainLogRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainLogResponse is the response struct for api DescribeVodDomainLog
+type DescribeVodDomainLogResponse struct {
+	*responses.BaseResponse
+	RequestId        string                                 `json:"RequestId" xml:"RequestId"`
+	DomainLogDetails DomainLogDetailsInDescribeVodDomainLog `json:"DomainLogDetails" xml:"DomainLogDetails"`
+}
+
+// CreateDescribeVodDomainLogRequest creates a request to invoke DescribeVodDomainLog API
+func CreateDescribeVodDomainLogRequest() (request *DescribeVodDomainLogRequest) {
+	request = &DescribeVodDomainLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainLog", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainLogResponse creates a response to parse from DescribeVodDomainLog response
+func CreateDescribeVodDomainLogResponse() (response *DescribeVodDomainLogResponse) {
+	response = &DescribeVodDomainLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/vod/describe_vod_domain_qps_data.go

@@ -0,0 +1,114 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainQpsData invokes the vod.DescribeVodDomainQpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainqpsdata.html
+func (client *Client) DescribeVodDomainQpsData(request *DescribeVodDomainQpsDataRequest) (response *DescribeVodDomainQpsDataResponse, err error) {
+	response = CreateDescribeVodDomainQpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainQpsDataWithChan invokes the vod.DescribeVodDomainQpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainQpsDataWithChan(request *DescribeVodDomainQpsDataRequest) (<-chan *DescribeVodDomainQpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainQpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainQpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainQpsDataWithCallback invokes the vod.DescribeVodDomainQpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainQpsDataWithCallback(request *DescribeVodDomainQpsDataRequest, callback func(response *DescribeVodDomainQpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainQpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainQpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainQpsDataRequest is the request struct for api DescribeVodDomainQpsData
+type DescribeVodDomainQpsDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	Interval       string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainQpsDataResponse is the response struct for api DescribeVodDomainQpsData
+type DescribeVodDomainQpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	DomainName      string          `json:"DomainName" xml:"DomainName"`
+	StartTime       string          `json:"StartTime" xml:"StartTime"`
+	EndTime         string          `json:"EndTime" xml:"EndTime"`
+	DataInterval    string          `json:"DataInterval" xml:"DataInterval"`
+	QpsDataInterval QpsDataInterval `json:"QpsDataInterval" xml:"QpsDataInterval"`
+}
+
+// CreateDescribeVodDomainQpsDataRequest creates a request to invoke DescribeVodDomainQpsData API
+func CreateDescribeVodDomainQpsDataRequest() (request *DescribeVodDomainQpsDataRequest) {
+	request = &DescribeVodDomainQpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainQpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainQpsDataResponse creates a response to parse from DescribeVodDomainQpsData response
+func CreateDescribeVodDomainQpsDataResponse() (response *DescribeVodDomainQpsDataResponse) {
+	response = &DescribeVodDomainQpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vod/describe_vod_domain_real_time_bps_data.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeBpsData invokes the vod.DescribeVodDomainRealTimeBpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebpsdata.html
+func (client *Client) DescribeVodDomainRealTimeBpsData(request *DescribeVodDomainRealTimeBpsDataRequest) (response *DescribeVodDomainRealTimeBpsDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeBpsDataWithChan invokes the vod.DescribeVodDomainRealTimeBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeBpsDataWithChan(request *DescribeVodDomainRealTimeBpsDataRequest) (<-chan *DescribeVodDomainRealTimeBpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeBpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeBpsDataWithCallback invokes the vod.DescribeVodDomainRealTimeBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeBpsDataWithCallback(request *DescribeVodDomainRealTimeBpsDataRequest, callback func(response *DescribeVodDomainRealTimeBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeBpsDataRequest is the request struct for api DescribeVodDomainRealTimeBpsData
+type DescribeVodDomainRealTimeBpsDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeBpsDataResponse is the response struct for api DescribeVodDomainRealTimeBpsData
+type DescribeVodDomainRealTimeBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId string                                 `json:"RequestId" xml:"RequestId"`
+	Data      DataInDescribeVodDomainRealTimeBpsData `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeVodDomainRealTimeBpsDataRequest creates a request to invoke DescribeVodDomainRealTimeBpsData API
+func CreateDescribeVodDomainRealTimeBpsDataRequest() (request *DescribeVodDomainRealTimeBpsDataRequest) {
+	request = &DescribeVodDomainRealTimeBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeBpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeBpsDataResponse creates a response to parse from DescribeVodDomainRealTimeBpsData response
+func CreateDescribeVodDomainRealTimeBpsDataResponse() (response *DescribeVodDomainRealTimeBpsDataResponse) {
+	response = &DescribeVodDomainRealTimeBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/describe_vod_domain_real_time_byte_hit_rate_data.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeByteHitRateData invokes the vod.DescribeVodDomainRealTimeByteHitRateData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebytehitratedata.html
+func (client *Client) DescribeVodDomainRealTimeByteHitRateData(request *DescribeVodDomainRealTimeByteHitRateDataRequest) (response *DescribeVodDomainRealTimeByteHitRateDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeByteHitRateDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeByteHitRateDataWithChan invokes the vod.DescribeVodDomainRealTimeByteHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebytehitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeByteHitRateDataWithChan(request *DescribeVodDomainRealTimeByteHitRateDataRequest) (<-chan *DescribeVodDomainRealTimeByteHitRateDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeByteHitRateDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeByteHitRateData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeByteHitRateDataWithCallback invokes the vod.DescribeVodDomainRealTimeByteHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimebytehitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeByteHitRateDataWithCallback(request *DescribeVodDomainRealTimeByteHitRateDataRequest, callback func(response *DescribeVodDomainRealTimeByteHitRateDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeByteHitRateDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeByteHitRateData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeByteHitRateDataRequest is the request struct for api DescribeVodDomainRealTimeByteHitRateData
+type DescribeVodDomainRealTimeByteHitRateDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeByteHitRateDataResponse is the response struct for api DescribeVodDomainRealTimeByteHitRateData
+type DescribeVodDomainRealTimeByteHitRateDataResponse struct {
+	*responses.BaseResponse
+	RequestId string                                         `json:"RequestId" xml:"RequestId"`
+	Data      DataInDescribeVodDomainRealTimeByteHitRateData `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeVodDomainRealTimeByteHitRateDataRequest creates a request to invoke DescribeVodDomainRealTimeByteHitRateData API
+func CreateDescribeVodDomainRealTimeByteHitRateDataRequest() (request *DescribeVodDomainRealTimeByteHitRateDataRequest) {
+	request = &DescribeVodDomainRealTimeByteHitRateDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeByteHitRateData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeByteHitRateDataResponse creates a response to parse from DescribeVodDomainRealTimeByteHitRateData response
+func CreateDescribeVodDomainRealTimeByteHitRateDataResponse() (response *DescribeVodDomainRealTimeByteHitRateDataResponse) {
+	response = &DescribeVodDomainRealTimeByteHitRateDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/vod/describe_vod_domain_real_time_http_code_data.go

@@ -0,0 +1,113 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeHttpCodeData invokes the vod.DescribeVodDomainRealTimeHttpCodeData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimehttpcodedata.html
+func (client *Client) DescribeVodDomainRealTimeHttpCodeData(request *DescribeVodDomainRealTimeHttpCodeDataRequest) (response *DescribeVodDomainRealTimeHttpCodeDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeHttpCodeDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeHttpCodeDataWithChan invokes the vod.DescribeVodDomainRealTimeHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimehttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeHttpCodeDataWithChan(request *DescribeVodDomainRealTimeHttpCodeDataRequest) (<-chan *DescribeVodDomainRealTimeHttpCodeDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeHttpCodeDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeHttpCodeData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeHttpCodeDataWithCallback invokes the vod.DescribeVodDomainRealTimeHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimehttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeHttpCodeDataWithCallback(request *DescribeVodDomainRealTimeHttpCodeDataRequest, callback func(response *DescribeVodDomainRealTimeHttpCodeDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeHttpCodeDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeHttpCodeData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeHttpCodeDataRequest is the request struct for api DescribeVodDomainRealTimeHttpCodeData
+type DescribeVodDomainRealTimeHttpCodeDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeHttpCodeDataResponse is the response struct for api DescribeVodDomainRealTimeHttpCodeData
+type DescribeVodDomainRealTimeHttpCodeDataResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	DomainName           string               `json:"DomainName" xml:"DomainName"`
+	StartTime            string               `json:"StartTime" xml:"StartTime"`
+	EndTime              string               `json:"EndTime" xml:"EndTime"`
+	DataInterval         string               `json:"DataInterval" xml:"DataInterval"`
+	RealTimeHttpCodeData RealTimeHttpCodeData `json:"RealTimeHttpCodeData" xml:"RealTimeHttpCodeData"`
+}
+
+// CreateDescribeVodDomainRealTimeHttpCodeDataRequest creates a request to invoke DescribeVodDomainRealTimeHttpCodeData API
+func CreateDescribeVodDomainRealTimeHttpCodeDataRequest() (request *DescribeVodDomainRealTimeHttpCodeDataRequest) {
+	request = &DescribeVodDomainRealTimeHttpCodeDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeHttpCodeData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeHttpCodeDataResponse creates a response to parse from DescribeVodDomainRealTimeHttpCodeData response
+func CreateDescribeVodDomainRealTimeHttpCodeDataResponse() (response *DescribeVodDomainRealTimeHttpCodeDataResponse) {
+	response = &DescribeVodDomainRealTimeHttpCodeDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vod/describe_vod_domain_real_time_qps_data.go

@@ -0,0 +1,109 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeQpsData invokes the vod.DescribeVodDomainRealTimeQpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimeqpsdata.html
+func (client *Client) DescribeVodDomainRealTimeQpsData(request *DescribeVodDomainRealTimeQpsDataRequest) (response *DescribeVodDomainRealTimeQpsDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeQpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeQpsDataWithChan invokes the vod.DescribeVodDomainRealTimeQpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimeqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeQpsDataWithChan(request *DescribeVodDomainRealTimeQpsDataRequest) (<-chan *DescribeVodDomainRealTimeQpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeQpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeQpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeQpsDataWithCallback invokes the vod.DescribeVodDomainRealTimeQpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimeqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeQpsDataWithCallback(request *DescribeVodDomainRealTimeQpsDataRequest, callback func(response *DescribeVodDomainRealTimeQpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeQpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeQpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeQpsDataRequest is the request struct for api DescribeVodDomainRealTimeQpsData
+type DescribeVodDomainRealTimeQpsDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeQpsDataResponse is the response struct for api DescribeVodDomainRealTimeQpsData
+type DescribeVodDomainRealTimeQpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId string                                 `json:"RequestId" xml:"RequestId"`
+	Data      DataInDescribeVodDomainRealTimeQpsData `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeVodDomainRealTimeQpsDataRequest creates a request to invoke DescribeVodDomainRealTimeQpsData API
+func CreateDescribeVodDomainRealTimeQpsDataRequest() (request *DescribeVodDomainRealTimeQpsDataRequest) {
+	request = &DescribeVodDomainRealTimeQpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeQpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeQpsDataResponse creates a response to parse from DescribeVodDomainRealTimeQpsData response
+func CreateDescribeVodDomainRealTimeQpsDataResponse() (response *DescribeVodDomainRealTimeQpsDataResponse) {
+	response = &DescribeVodDomainRealTimeQpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/describe_vod_domain_real_time_req_hit_rate_data.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeReqHitRateData invokes the vod.DescribeVodDomainRealTimeReqHitRateData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimereqhitratedata.html
+func (client *Client) DescribeVodDomainRealTimeReqHitRateData(request *DescribeVodDomainRealTimeReqHitRateDataRequest) (response *DescribeVodDomainRealTimeReqHitRateDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeReqHitRateDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeReqHitRateDataWithChan invokes the vod.DescribeVodDomainRealTimeReqHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimereqhitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeReqHitRateDataWithChan(request *DescribeVodDomainRealTimeReqHitRateDataRequest) (<-chan *DescribeVodDomainRealTimeReqHitRateDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeReqHitRateDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeReqHitRateData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeReqHitRateDataWithCallback invokes the vod.DescribeVodDomainRealTimeReqHitRateData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimereqhitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeReqHitRateDataWithCallback(request *DescribeVodDomainRealTimeReqHitRateDataRequest, callback func(response *DescribeVodDomainRealTimeReqHitRateDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeReqHitRateDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeReqHitRateData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeReqHitRateDataRequest is the request struct for api DescribeVodDomainRealTimeReqHitRateData
+type DescribeVodDomainRealTimeReqHitRateDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeReqHitRateDataResponse is the response struct for api DescribeVodDomainRealTimeReqHitRateData
+type DescribeVodDomainRealTimeReqHitRateDataResponse struct {
+	*responses.BaseResponse
+	RequestId string                                        `json:"RequestId" xml:"RequestId"`
+	Data      DataInDescribeVodDomainRealTimeReqHitRateData `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeVodDomainRealTimeReqHitRateDataRequest creates a request to invoke DescribeVodDomainRealTimeReqHitRateData API
+func CreateDescribeVodDomainRealTimeReqHitRateDataRequest() (request *DescribeVodDomainRealTimeReqHitRateDataRequest) {
+	request = &DescribeVodDomainRealTimeReqHitRateDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeReqHitRateData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeReqHitRateDataResponse creates a response to parse from DescribeVodDomainRealTimeReqHitRateData response
+func CreateDescribeVodDomainRealTimeReqHitRateDataResponse() (response *DescribeVodDomainRealTimeReqHitRateDataResponse) {
+	response = &DescribeVodDomainRealTimeReqHitRateDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/vod/describe_vod_domain_real_time_src_bps_data.go

@@ -0,0 +1,111 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeSrcBpsData invokes the vod.DescribeVodDomainRealTimeSrcBpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrcbpsdata.html
+func (client *Client) DescribeVodDomainRealTimeSrcBpsData(request *DescribeVodDomainRealTimeSrcBpsDataRequest) (response *DescribeVodDomainRealTimeSrcBpsDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeSrcBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeSrcBpsDataWithChan invokes the vod.DescribeVodDomainRealTimeSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeSrcBpsDataWithChan(request *DescribeVodDomainRealTimeSrcBpsDataRequest) (<-chan *DescribeVodDomainRealTimeSrcBpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeSrcBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeSrcBpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeSrcBpsDataWithCallback invokes the vod.DescribeVodDomainRealTimeSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeSrcBpsDataWithCallback(request *DescribeVodDomainRealTimeSrcBpsDataRequest, callback func(response *DescribeVodDomainRealTimeSrcBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeSrcBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeSrcBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeSrcBpsDataRequest is the request struct for api DescribeVodDomainRealTimeSrcBpsData
+type DescribeVodDomainRealTimeSrcBpsDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeSrcBpsDataResponse is the response struct for api DescribeVodDomainRealTimeSrcBpsData
+type DescribeVodDomainRealTimeSrcBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId                     string                        `json:"RequestId" xml:"RequestId"`
+	DomainName                    string                        `json:"DomainName" xml:"DomainName"`
+	StartTime                     string                        `json:"StartTime" xml:"StartTime"`
+	EndTime                       string                        `json:"EndTime" xml:"EndTime"`
+	DataInterval                  string                        `json:"DataInterval" xml:"DataInterval"`
+	RealTimeSrcBpsDataPerInterval RealTimeSrcBpsDataPerInterval `json:"RealTimeSrcBpsDataPerInterval" xml:"RealTimeSrcBpsDataPerInterval"`
+}
+
+// CreateDescribeVodDomainRealTimeSrcBpsDataRequest creates a request to invoke DescribeVodDomainRealTimeSrcBpsData API
+func CreateDescribeVodDomainRealTimeSrcBpsDataRequest() (request *DescribeVodDomainRealTimeSrcBpsDataRequest) {
+	request = &DescribeVodDomainRealTimeSrcBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeSrcBpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeSrcBpsDataResponse creates a response to parse from DescribeVodDomainRealTimeSrcBpsData response
+func CreateDescribeVodDomainRealTimeSrcBpsDataResponse() (response *DescribeVodDomainRealTimeSrcBpsDataResponse) {
+	response = &DescribeVodDomainRealTimeSrcBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/vod/describe_vod_domain_real_time_src_traffic_data.go

@@ -0,0 +1,111 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeSrcTrafficData invokes the vod.DescribeVodDomainRealTimeSrcTrafficData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrctrafficdata.html
+func (client *Client) DescribeVodDomainRealTimeSrcTrafficData(request *DescribeVodDomainRealTimeSrcTrafficDataRequest) (response *DescribeVodDomainRealTimeSrcTrafficDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeSrcTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeSrcTrafficDataWithChan invokes the vod.DescribeVodDomainRealTimeSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeSrcTrafficDataWithChan(request *DescribeVodDomainRealTimeSrcTrafficDataRequest) (<-chan *DescribeVodDomainRealTimeSrcTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeSrcTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeSrcTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeSrcTrafficDataWithCallback invokes the vod.DescribeVodDomainRealTimeSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimesrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeSrcTrafficDataWithCallback(request *DescribeVodDomainRealTimeSrcTrafficDataRequest, callback func(response *DescribeVodDomainRealTimeSrcTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeSrcTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeSrcTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeSrcTrafficDataRequest is the request struct for api DescribeVodDomainRealTimeSrcTrafficData
+type DescribeVodDomainRealTimeSrcTrafficDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeSrcTrafficDataResponse is the response struct for api DescribeVodDomainRealTimeSrcTrafficData
+type DescribeVodDomainRealTimeSrcTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId                         string                            `json:"RequestId" xml:"RequestId"`
+	DomainName                        string                            `json:"DomainName" xml:"DomainName"`
+	StartTime                         string                            `json:"StartTime" xml:"StartTime"`
+	EndTime                           string                            `json:"EndTime" xml:"EndTime"`
+	DataInterval                      string                            `json:"DataInterval" xml:"DataInterval"`
+	RealTimeSrcTrafficDataPerInterval RealTimeSrcTrafficDataPerInterval `json:"RealTimeSrcTrafficDataPerInterval" xml:"RealTimeSrcTrafficDataPerInterval"`
+}
+
+// CreateDescribeVodDomainRealTimeSrcTrafficDataRequest creates a request to invoke DescribeVodDomainRealTimeSrcTrafficData API
+func CreateDescribeVodDomainRealTimeSrcTrafficDataRequest() (request *DescribeVodDomainRealTimeSrcTrafficDataRequest) {
+	request = &DescribeVodDomainRealTimeSrcTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeSrcTrafficData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeSrcTrafficDataResponse creates a response to parse from DescribeVodDomainRealTimeSrcTrafficData response
+func CreateDescribeVodDomainRealTimeSrcTrafficDataResponse() (response *DescribeVodDomainRealTimeSrcTrafficDataResponse) {
+	response = &DescribeVodDomainRealTimeSrcTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/vod/describe_vod_domain_real_time_traffic_data.go

@@ -0,0 +1,111 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainRealTimeTrafficData invokes the vod.DescribeVodDomainRealTimeTrafficData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimetrafficdata.html
+func (client *Client) DescribeVodDomainRealTimeTrafficData(request *DescribeVodDomainRealTimeTrafficDataRequest) (response *DescribeVodDomainRealTimeTrafficDataResponse, err error) {
+	response = CreateDescribeVodDomainRealTimeTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainRealTimeTrafficDataWithChan invokes the vod.DescribeVodDomainRealTimeTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimetrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeTrafficDataWithChan(request *DescribeVodDomainRealTimeTrafficDataRequest) (<-chan *DescribeVodDomainRealTimeTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainRealTimeTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainRealTimeTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainRealTimeTrafficDataWithCallback invokes the vod.DescribeVodDomainRealTimeTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainrealtimetrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainRealTimeTrafficDataWithCallback(request *DescribeVodDomainRealTimeTrafficDataRequest, callback func(response *DescribeVodDomainRealTimeTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainRealTimeTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainRealTimeTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainRealTimeTrafficDataRequest is the request struct for api DescribeVodDomainRealTimeTrafficData
+type DescribeVodDomainRealTimeTrafficDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainRealTimeTrafficDataResponse is the response struct for api DescribeVodDomainRealTimeTrafficData
+type DescribeVodDomainRealTimeTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId                      string                         `json:"RequestId" xml:"RequestId"`
+	DomainName                     string                         `json:"DomainName" xml:"DomainName"`
+	StartTime                      string                         `json:"StartTime" xml:"StartTime"`
+	EndTime                        string                         `json:"EndTime" xml:"EndTime"`
+	DataInterval                   string                         `json:"DataInterval" xml:"DataInterval"`
+	RealTimeTrafficDataPerInterval RealTimeTrafficDataPerInterval `json:"RealTimeTrafficDataPerInterval" xml:"RealTimeTrafficDataPerInterval"`
+}
+
+// CreateDescribeVodDomainRealTimeTrafficDataRequest creates a request to invoke DescribeVodDomainRealTimeTrafficData API
+func CreateDescribeVodDomainRealTimeTrafficDataRequest() (request *DescribeVodDomainRealTimeTrafficDataRequest) {
+	request = &DescribeVodDomainRealTimeTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainRealTimeTrafficData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainRealTimeTrafficDataResponse creates a response to parse from DescribeVodDomainRealTimeTrafficData response
+func CreateDescribeVodDomainRealTimeTrafficDataResponse() (response *DescribeVodDomainRealTimeTrafficDataResponse) {
+	response = &DescribeVodDomainRealTimeTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vod/describe_vod_domain_src_bps_data.go

@@ -0,0 +1,112 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainSrcBpsData invokes the vod.DescribeVodDomainSrcBpsData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrcbpsdata.html
+func (client *Client) DescribeVodDomainSrcBpsData(request *DescribeVodDomainSrcBpsDataRequest) (response *DescribeVodDomainSrcBpsDataResponse, err error) {
+	response = CreateDescribeVodDomainSrcBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainSrcBpsDataWithChan invokes the vod.DescribeVodDomainSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainSrcBpsDataWithChan(request *DescribeVodDomainSrcBpsDataRequest) (<-chan *DescribeVodDomainSrcBpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainSrcBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainSrcBpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainSrcBpsDataWithCallback invokes the vod.DescribeVodDomainSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainSrcBpsDataWithCallback(request *DescribeVodDomainSrcBpsDataRequest, callback func(response *DescribeVodDomainSrcBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainSrcBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainSrcBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainSrcBpsDataRequest is the request struct for api DescribeVodDomainSrcBpsData
+type DescribeVodDomainSrcBpsDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	Interval   string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainSrcBpsDataResponse is the response struct for api DescribeVodDomainSrcBpsData
+type DescribeVodDomainSrcBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId             string                `json:"RequestId" xml:"RequestId"`
+	DomainName            string                `json:"DomainName" xml:"DomainName"`
+	StartTime             string                `json:"StartTime" xml:"StartTime"`
+	EndTime               string                `json:"EndTime" xml:"EndTime"`
+	DataInterval          string                `json:"DataInterval" xml:"DataInterval"`
+	SrcBpsDataPerInterval SrcBpsDataPerInterval `json:"SrcBpsDataPerInterval" xml:"SrcBpsDataPerInterval"`
+}
+
+// CreateDescribeVodDomainSrcBpsDataRequest creates a request to invoke DescribeVodDomainSrcBpsData API
+func CreateDescribeVodDomainSrcBpsDataRequest() (request *DescribeVodDomainSrcBpsDataRequest) {
+	request = &DescribeVodDomainSrcBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainSrcBpsData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainSrcBpsDataResponse creates a response to parse from DescribeVodDomainSrcBpsData response
+func CreateDescribeVodDomainSrcBpsDataResponse() (response *DescribeVodDomainSrcBpsDataResponse) {
+	response = &DescribeVodDomainSrcBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vod/describe_vod_domain_src_traffic_data.go

@@ -0,0 +1,112 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainSrcTrafficData invokes the vod.DescribeVodDomainSrcTrafficData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrctrafficdata.html
+func (client *Client) DescribeVodDomainSrcTrafficData(request *DescribeVodDomainSrcTrafficDataRequest) (response *DescribeVodDomainSrcTrafficDataResponse, err error) {
+	response = CreateDescribeVodDomainSrcTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainSrcTrafficDataWithChan invokes the vod.DescribeVodDomainSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainSrcTrafficDataWithChan(request *DescribeVodDomainSrcTrafficDataRequest) (<-chan *DescribeVodDomainSrcTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainSrcTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainSrcTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainSrcTrafficDataWithCallback invokes the vod.DescribeVodDomainSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainSrcTrafficDataWithCallback(request *DescribeVodDomainSrcTrafficDataRequest, callback func(response *DescribeVodDomainSrcTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainSrcTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainSrcTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainSrcTrafficDataRequest is the request struct for api DescribeVodDomainSrcTrafficData
+type DescribeVodDomainSrcTrafficDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	Interval   string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainSrcTrafficDataResponse is the response struct for api DescribeVodDomainSrcTrafficData
+type DescribeVodDomainSrcTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId                 string                    `json:"RequestId" xml:"RequestId"`
+	DomainName                string                    `json:"DomainName" xml:"DomainName"`
+	StartTime                 string                    `json:"StartTime" xml:"StartTime"`
+	EndTime                   string                    `json:"EndTime" xml:"EndTime"`
+	DataInterval              string                    `json:"DataInterval" xml:"DataInterval"`
+	SrcTrafficDataPerInterval SrcTrafficDataPerInterval `json:"SrcTrafficDataPerInterval" xml:"SrcTrafficDataPerInterval"`
+}
+
+// CreateDescribeVodDomainSrcTrafficDataRequest creates a request to invoke DescribeVodDomainSrcTrafficData API
+func CreateDescribeVodDomainSrcTrafficDataRequest() (request *DescribeVodDomainSrcTrafficDataRequest) {
+	request = &DescribeVodDomainSrcTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainSrcTrafficData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainSrcTrafficDataResponse creates a response to parse from DescribeVodDomainSrcTrafficData response
+func CreateDescribeVodDomainSrcTrafficDataResponse() (response *DescribeVodDomainSrcTrafficDataResponse) {
+	response = &DescribeVodDomainSrcTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/vod/describe_vod_domain_traffic_data.go

@@ -0,0 +1,114 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainTrafficData invokes the vod.DescribeVodDomainTrafficData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaintrafficdata.html
+func (client *Client) DescribeVodDomainTrafficData(request *DescribeVodDomainTrafficDataRequest) (response *DescribeVodDomainTrafficDataResponse, err error) {
+	response = CreateDescribeVodDomainTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainTrafficDataWithChan invokes the vod.DescribeVodDomainTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaintrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainTrafficDataWithChan(request *DescribeVodDomainTrafficDataRequest) (<-chan *DescribeVodDomainTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainTrafficDataWithCallback invokes the vod.DescribeVodDomainTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomaintrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainTrafficDataWithCallback(request *DescribeVodDomainTrafficDataRequest, callback func(response *DescribeVodDomainTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainTrafficDataRequest is the request struct for api DescribeVodDomainTrafficData
+type DescribeVodDomainTrafficDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	Interval       string           `position:"Query" name:"Interval"`
+}
+
+// DescribeVodDomainTrafficDataResponse is the response struct for api DescribeVodDomainTrafficData
+type DescribeVodDomainTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	DomainName             string                 `json:"DomainName" xml:"DomainName"`
+	StartTime              string                 `json:"StartTime" xml:"StartTime"`
+	EndTime                string                 `json:"EndTime" xml:"EndTime"`
+	DataInterval           string                 `json:"DataInterval" xml:"DataInterval"`
+	TrafficDataPerInterval TrafficDataPerInterval `json:"TrafficDataPerInterval" xml:"TrafficDataPerInterval"`
+}
+
+// CreateDescribeVodDomainTrafficDataRequest creates a request to invoke DescribeVodDomainTrafficData API
+func CreateDescribeVodDomainTrafficDataRequest() (request *DescribeVodDomainTrafficDataRequest) {
+	request = &DescribeVodDomainTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainTrafficData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainTrafficDataResponse creates a response to parse from DescribeVodDomainTrafficData response
+func CreateDescribeVodDomainTrafficDataResponse() (response *DescribeVodDomainTrafficDataResponse) {
+	response = &DescribeVodDomainTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/vod/describe_vod_domain_usage_data.go

@@ -0,0 +1,116 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainUsageData invokes the vod.DescribeVodDomainUsageData API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainusagedata.html
+func (client *Client) DescribeVodDomainUsageData(request *DescribeVodDomainUsageDataRequest) (response *DescribeVodDomainUsageDataResponse, err error) {
+	response = CreateDescribeVodDomainUsageDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainUsageDataWithChan invokes the vod.DescribeVodDomainUsageData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainusagedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainUsageDataWithChan(request *DescribeVodDomainUsageDataRequest) (<-chan *DescribeVodDomainUsageDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainUsageDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainUsageData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainUsageDataWithCallback invokes the vod.DescribeVodDomainUsageData API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainusagedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainUsageDataWithCallback(request *DescribeVodDomainUsageDataRequest, callback func(response *DescribeVodDomainUsageDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainUsageDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainUsageData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainUsageDataRequest is the request struct for api DescribeVodDomainUsageData
+type DescribeVodDomainUsageDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	Type       string           `position:"Query" name:"Type"`
+	Area       string           `position:"Query" name:"Area"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	Field      string           `position:"Query" name:"Field"`
+}
+
+// DescribeVodDomainUsageDataResponse is the response struct for api DescribeVodDomainUsageData
+type DescribeVodDomainUsageDataResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	DomainName           string               `json:"DomainName" xml:"DomainName"`
+	StartTime            string               `json:"StartTime" xml:"StartTime"`
+	EndTime              string               `json:"EndTime" xml:"EndTime"`
+	Type                 string               `json:"Type" xml:"Type"`
+	Area                 string               `json:"Area" xml:"Area"`
+	DataInterval         string               `json:"DataInterval" xml:"DataInterval"`
+	UsageDataPerInterval UsageDataPerInterval `json:"UsageDataPerInterval" xml:"UsageDataPerInterval"`
+}
+
+// CreateDescribeVodDomainUsageDataRequest creates a request to invoke DescribeVodDomainUsageData API
+func CreateDescribeVodDomainUsageDataRequest() (request *DescribeVodDomainUsageDataRequest) {
+	request = &DescribeVodDomainUsageDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainUsageData", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainUsageDataResponse creates a response to parse from DescribeVodDomainUsageData response
+func CreateDescribeVodDomainUsageDataResponse() (response *DescribeVodDomainUsageDataResponse) {
+	response = &DescribeVodDomainUsageDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vod/describe_vod_domains_usage_by_day.go

@@ -0,0 +1,112 @@
+package vod
+
+//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"
+)
+
+// DescribeVodDomainsUsageByDay invokes the vod.DescribeVodDomainsUsageByDay API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsusagebyday.html
+func (client *Client) DescribeVodDomainsUsageByDay(request *DescribeVodDomainsUsageByDayRequest) (response *DescribeVodDomainsUsageByDayResponse, err error) {
+	response = CreateDescribeVodDomainsUsageByDayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodDomainsUsageByDayWithChan invokes the vod.DescribeVodDomainsUsageByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsusagebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainsUsageByDayWithChan(request *DescribeVodDomainsUsageByDayRequest) (<-chan *DescribeVodDomainsUsageByDayResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodDomainsUsageByDayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodDomainsUsageByDay(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodDomainsUsageByDayWithCallback invokes the vod.DescribeVodDomainsUsageByDay API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoddomainsusagebyday.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodDomainsUsageByDayWithCallback(request *DescribeVodDomainsUsageByDayRequest, callback func(response *DescribeVodDomainsUsageByDayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodDomainsUsageByDayResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodDomainsUsageByDay(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodDomainsUsageByDayRequest is the request struct for api DescribeVodDomainsUsageByDay
+type DescribeVodDomainsUsageByDayRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodDomainsUsageByDayResponse is the response struct for api DescribeVodDomainsUsageByDay
+type DescribeVodDomainsUsageByDayResponse struct {
+	*responses.BaseResponse
+	RequestId    string      `json:"RequestId" xml:"RequestId"`
+	DomainName   string      `json:"DomainName" xml:"DomainName"`
+	DataInterval string      `json:"DataInterval" xml:"DataInterval"`
+	StartTime    string      `json:"StartTime" xml:"StartTime"`
+	EndTime      string      `json:"EndTime" xml:"EndTime"`
+	UsageTotal   UsageTotal  `json:"UsageTotal" xml:"UsageTotal"`
+	UsageByDays  UsageByDays `json:"UsageByDays" xml:"UsageByDays"`
+}
+
+// CreateDescribeVodDomainsUsageByDayRequest creates a request to invoke DescribeVodDomainsUsageByDay API
+func CreateDescribeVodDomainsUsageByDayRequest() (request *DescribeVodDomainsUsageByDayRequest) {
+	request = &DescribeVodDomainsUsageByDayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodDomainsUsageByDay", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodDomainsUsageByDayResponse creates a response to parse from DescribeVodDomainsUsageByDay response
+func CreateDescribeVodDomainsUsageByDayResponse() (response *DescribeVodDomainsUsageByDayResponse) {
+	response = &DescribeVodDomainsUsageByDayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vod/describe_vod_refresh_quota.go

@@ -0,0 +1,112 @@
+package vod
+
+//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"
+)
+
+// DescribeVodRefreshQuota invokes the vod.DescribeVodRefreshQuota API synchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshquota.html
+func (client *Client) DescribeVodRefreshQuota(request *DescribeVodRefreshQuotaRequest) (response *DescribeVodRefreshQuotaResponse, err error) {
+	response = CreateDescribeVodRefreshQuotaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodRefreshQuotaWithChan invokes the vod.DescribeVodRefreshQuota API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodRefreshQuotaWithChan(request *DescribeVodRefreshQuotaRequest) (<-chan *DescribeVodRefreshQuotaResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodRefreshQuotaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodRefreshQuota(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodRefreshQuotaWithCallback invokes the vod.DescribeVodRefreshQuota API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodRefreshQuotaWithCallback(request *DescribeVodRefreshQuotaRequest, callback func(response *DescribeVodRefreshQuotaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodRefreshQuotaResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodRefreshQuota(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodRefreshQuotaRequest is the request struct for api DescribeVodRefreshQuota
+type DescribeVodRefreshQuotaRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodRefreshQuotaResponse is the response struct for api DescribeVodRefreshQuota
+type DescribeVodRefreshQuotaResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	UrlQuota      string `json:"UrlQuota" xml:"UrlQuota"`
+	DirQuota      string `json:"DirQuota" xml:"DirQuota"`
+	UrlRemain     string `json:"UrlRemain" xml:"UrlRemain"`
+	DirRemain     string `json:"DirRemain" xml:"DirRemain"`
+	PreloadQuota  string `json:"PreloadQuota" xml:"PreloadQuota"`
+	BlockQuota    string `json:"BlockQuota" xml:"BlockQuota"`
+	PreloadRemain string `json:"PreloadRemain" xml:"PreloadRemain"`
+	BlockRemain   string `json:"blockRemain" xml:"blockRemain"`
+}
+
+// CreateDescribeVodRefreshQuotaRequest creates a request to invoke DescribeVodRefreshQuota API
+func CreateDescribeVodRefreshQuotaRequest() (request *DescribeVodRefreshQuotaRequest) {
+	request = &DescribeVodRefreshQuotaRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodRefreshQuota", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodRefreshQuotaResponse creates a response to parse from DescribeVodRefreshQuota response
+func CreateDescribeVodRefreshQuotaResponse() (response *DescribeVodRefreshQuotaResponse) {
+	response = &DescribeVodRefreshQuotaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/vod/describe_vod_refresh_tasks.go

@@ -0,0 +1,118 @@
+package vod
+
+//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"
+)
+
+// DescribeVodRefreshTasks invokes the vod.DescribeVodRefreshTasks API synchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshtasks.html
+func (client *Client) DescribeVodRefreshTasks(request *DescribeVodRefreshTasksRequest) (response *DescribeVodRefreshTasksResponse, err error) {
+	response = CreateDescribeVodRefreshTasksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodRefreshTasksWithChan invokes the vod.DescribeVodRefreshTasks API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshtasks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodRefreshTasksWithChan(request *DescribeVodRefreshTasksRequest) (<-chan *DescribeVodRefreshTasksResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodRefreshTasksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodRefreshTasks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodRefreshTasksWithCallback invokes the vod.DescribeVodRefreshTasks API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodrefreshtasks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodRefreshTasksWithCallback(request *DescribeVodRefreshTasksRequest, callback func(response *DescribeVodRefreshTasksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodRefreshTasksResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodRefreshTasks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodRefreshTasksRequest is the request struct for api DescribeVodRefreshTasks
+type DescribeVodRefreshTasksRequest struct {
+	*requests.RpcRequest
+	ObjectPath      string           `position:"Query" name:"ObjectPath"`
+	DomainName      string           `position:"Query" name:"DomainName"`
+	EndTime         string           `position:"Query" name:"EndTime"`
+	StartTime       string           `position:"Query" name:"StartTime"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+	SecurityToken   string           `position:"Query" name:"SecurityToken"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	ObjectType      string           `position:"Query" name:"ObjectType"`
+	TaskId          string           `position:"Query" name:"TaskId"`
+	Status          string           `position:"Query" name:"Status"`
+}
+
+// DescribeVodRefreshTasksResponse is the response struct for api DescribeVodRefreshTasks
+type DescribeVodRefreshTasksResponse struct {
+	*responses.BaseResponse
+	RequestId  string                         `json:"RequestId" xml:"RequestId"`
+	PageNumber int                            `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                            `json:"PageSize" xml:"PageSize"`
+	TotalCount int                            `json:"TotalCount" xml:"TotalCount"`
+	Tasks      TasksInDescribeVodRefreshTasks `json:"Tasks" xml:"Tasks"`
+}
+
+// CreateDescribeVodRefreshTasksRequest creates a request to invoke DescribeVodRefreshTasks API
+func CreateDescribeVodRefreshTasksRequest() (request *DescribeVodRefreshTasksRequest) {
+	request = &DescribeVodRefreshTasksRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodRefreshTasks", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodRefreshTasksResponse creates a response to parse from DescribeVodRefreshTasks response
+func CreateDescribeVodRefreshTasksResponse() (response *DescribeVodRefreshTasksResponse) {
+	response = &DescribeVodRefreshTasksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/vod/describe_vod_service.go

@@ -0,0 +1,110 @@
+package vod
+
+//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"
+)
+
+// DescribeVodService invokes the vod.DescribeVodService API synchronously
+// api document: https://help.aliyun.com/api/vod/describevodservice.html
+func (client *Client) DescribeVodService(request *DescribeVodServiceRequest) (response *DescribeVodServiceResponse, err error) {
+	response = CreateDescribeVodServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodServiceWithChan invokes the vod.DescribeVodService API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodServiceWithChan(request *DescribeVodServiceRequest) (<-chan *DescribeVodServiceResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodServiceWithCallback invokes the vod.DescribeVodService API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevodservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodServiceWithCallback(request *DescribeVodServiceRequest, callback func(response *DescribeVodServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodServiceRequest is the request struct for api DescribeVodService
+type DescribeVodServiceRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodServiceResponse is the response struct for api DescribeVodService
+type DescribeVodServiceResponse struct {
+	*responses.BaseResponse
+	RequestId          string         `json:"RequestId" xml:"RequestId"`
+	InstanceId         string         `json:"InstanceId" xml:"InstanceId"`
+	InternetChargeType string         `json:"InternetChargeType" xml:"InternetChargeType"`
+	OpeningTime        string         `json:"OpeningTime" xml:"OpeningTime"`
+	ChangingChargeType string         `json:"ChangingChargeType" xml:"ChangingChargeType"`
+	ChangingAffectTime string         `json:"ChangingAffectTime" xml:"ChangingAffectTime"`
+	OperationLocks     OperationLocks `json:"OperationLocks" xml:"OperationLocks"`
+}
+
+// CreateDescribeVodServiceRequest creates a request to invoke DescribeVodService API
+func CreateDescribeVodServiceRequest() (request *DescribeVodServiceRequest) {
+	request = &DescribeVodServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodService", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodServiceResponse creates a response to parse from DescribeVodService response
+func CreateDescribeVodServiceResponse() (response *DescribeVodServiceResponse) {
+	response = &DescribeVodServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/vod/describe_vod_user_domains.go

@@ -0,0 +1,118 @@
+package vod
+
+//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"
+)
+
+// DescribeVodUserDomains invokes the vod.DescribeVodUserDomains API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserdomains.html
+func (client *Client) DescribeVodUserDomains(request *DescribeVodUserDomainsRequest) (response *DescribeVodUserDomainsResponse, err error) {
+	response = CreateDescribeVodUserDomainsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodUserDomainsWithChan invokes the vod.DescribeVodUserDomains API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserdomains.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserDomainsWithChan(request *DescribeVodUserDomainsRequest) (<-chan *DescribeVodUserDomainsResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodUserDomainsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodUserDomains(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodUserDomainsWithCallback invokes the vod.DescribeVodUserDomains API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserdomains.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserDomainsWithCallback(request *DescribeVodUserDomainsRequest, callback func(response *DescribeVodUserDomainsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodUserDomainsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodUserDomains(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodUserDomainsRequest is the request struct for api DescribeVodUserDomains
+type DescribeVodUserDomainsRequest struct {
+	*requests.RpcRequest
+	FuncFilter       string           `position:"Query" name:"FuncFilter"`
+	DomainName       string           `position:"Query" name:"DomainName"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	FuncId           string           `position:"Query" name:"FuncId"`
+	PageNumber       requests.Integer `position:"Query" name:"PageNumber"`
+	DomainStatus     string           `position:"Query" name:"DomainStatus"`
+	DomainSearchType string           `position:"Query" name:"DomainSearchType"`
+	CheckDomainShow  requests.Boolean `position:"Query" name:"CheckDomainShow"`
+	ResourceGroupId  string           `position:"Query" name:"ResourceGroupId"`
+	SecurityToken    string           `position:"Query" name:"SecurityToken"`
+	CdnType          string           `position:"Query" name:"CdnType"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeVodUserDomainsResponse is the response struct for api DescribeVodUserDomains
+type DescribeVodUserDomainsResponse struct {
+	*responses.BaseResponse
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	Domains    Domains `json:"Domains" xml:"Domains"`
+}
+
+// CreateDescribeVodUserDomainsRequest creates a request to invoke DescribeVodUserDomains API
+func CreateDescribeVodUserDomainsRequest() (request *DescribeVodUserDomainsRequest) {
+	request = &DescribeVodUserDomainsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodUserDomains", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodUserDomainsResponse creates a response to parse from DescribeVodUserDomains response
+func CreateDescribeVodUserDomainsResponse() (response *DescribeVodUserDomainsResponse) {
+	response = &DescribeVodUserDomainsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/vod/describe_vod_user_quota.go

@@ -0,0 +1,113 @@
+package vod
+
+//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"
+)
+
+// DescribeVodUserQuota invokes the vod.DescribeVodUserQuota API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserquota.html
+func (client *Client) DescribeVodUserQuota(request *DescribeVodUserQuotaRequest) (response *DescribeVodUserQuotaResponse, err error) {
+	response = CreateDescribeVodUserQuotaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodUserQuotaWithChan invokes the vod.DescribeVodUserQuota API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserQuotaWithChan(request *DescribeVodUserQuotaRequest) (<-chan *DescribeVodUserQuotaResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodUserQuotaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodUserQuota(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodUserQuotaWithCallback invokes the vod.DescribeVodUserQuota API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserQuotaWithCallback(request *DescribeVodUserQuotaRequest, callback func(response *DescribeVodUserQuotaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodUserQuotaResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodUserQuota(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodUserQuotaRequest is the request struct for api DescribeVodUserQuota
+type DescribeVodUserQuotaRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodUserQuotaResponse is the response struct for api DescribeVodUserQuota
+type DescribeVodUserQuotaResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	DomainQuota      int    `json:"DomainQuota" xml:"DomainQuota"`
+	RefreshUrlQuota  int    `json:"RefreshUrlQuota" xml:"RefreshUrlQuota"`
+	RefreshDirQuota  int    `json:"RefreshDirQuota" xml:"RefreshDirQuota"`
+	RefreshUrlRemain int    `json:"RefreshUrlRemain" xml:"RefreshUrlRemain"`
+	RefreshDirRemain int    `json:"RefreshDirRemain" xml:"RefreshDirRemain"`
+	PreloadQuota     int    `json:"PreloadQuota" xml:"PreloadQuota"`
+	PreloadRemain    int    `json:"PreloadRemain" xml:"PreloadRemain"`
+	BlockQuota       int    `json:"BlockQuota" xml:"BlockQuota"`
+	BlockRemain      int    `json:"BlockRemain" xml:"BlockRemain"`
+}
+
+// CreateDescribeVodUserQuotaRequest creates a request to invoke DescribeVodUserQuota API
+func CreateDescribeVodUserQuotaRequest() (request *DescribeVodUserQuotaRequest) {
+	request = &DescribeVodUserQuotaRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodUserQuota", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodUserQuotaResponse creates a response to parse from DescribeVodUserQuota response
+func CreateDescribeVodUserQuotaResponse() (response *DescribeVodUserQuotaResponse) {
+	response = &DescribeVodUserQuotaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/vod/describe_vod_user_resource_package.go

@@ -0,0 +1,105 @@
+package vod
+
+//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"
+)
+
+// DescribeVodUserResourcePackage invokes the vod.DescribeVodUserResourcePackage API synchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserresourcepackage.html
+func (client *Client) DescribeVodUserResourcePackage(request *DescribeVodUserResourcePackageRequest) (response *DescribeVodUserResourcePackageResponse, err error) {
+	response = CreateDescribeVodUserResourcePackageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVodUserResourcePackageWithChan invokes the vod.DescribeVodUserResourcePackage API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserresourcepackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserResourcePackageWithChan(request *DescribeVodUserResourcePackageRequest) (<-chan *DescribeVodUserResourcePackageResponse, <-chan error) {
+	responseChan := make(chan *DescribeVodUserResourcePackageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVodUserResourcePackage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVodUserResourcePackageWithCallback invokes the vod.DescribeVodUserResourcePackage API asynchronously
+// api document: https://help.aliyun.com/api/vod/describevoduserresourcepackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVodUserResourcePackageWithCallback(request *DescribeVodUserResourcePackageRequest, callback func(response *DescribeVodUserResourcePackageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVodUserResourcePackageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVodUserResourcePackage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVodUserResourcePackageRequest is the request struct for api DescribeVodUserResourcePackage
+type DescribeVodUserResourcePackageRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeVodUserResourcePackageResponse is the response struct for api DescribeVodUserResourcePackage
+type DescribeVodUserResourcePackageResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	ResourcePackageInfos ResourcePackageInfos `json:"ResourcePackageInfos" xml:"ResourcePackageInfos"`
+}
+
+// CreateDescribeVodUserResourcePackageRequest creates a request to invoke DescribeVodUserResourcePackage API
+func CreateDescribeVodUserResourcePackageRequest() (request *DescribeVodUserResourcePackageRequest) {
+	request = &DescribeVodUserResourcePackageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DescribeVodUserResourcePackage", "vod", "openAPI")
+	return
+}
+
+// CreateDescribeVodUserResourcePackageResponse creates a response to parse from DescribeVodUserResourcePackage response
+func CreateDescribeVodUserResourcePackageResponse() (response *DescribeVodUserResourcePackageResponse) {
+	response = &DescribeVodUserResourcePackageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/vod/display_ai_audit_switch.go

@@ -0,0 +1,104 @@
+package vod
+
+//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"
+)
+
+// DisplayAIAuditSwitch invokes the vod.DisplayAIAuditSwitch API synchronously
+// api document: https://help.aliyun.com/api/vod/displayaiauditswitch.html
+func (client *Client) DisplayAIAuditSwitch(request *DisplayAIAuditSwitchRequest) (response *DisplayAIAuditSwitchResponse, err error) {
+	response = CreateDisplayAIAuditSwitchResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisplayAIAuditSwitchWithChan invokes the vod.DisplayAIAuditSwitch API asynchronously
+// api document: https://help.aliyun.com/api/vod/displayaiauditswitch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisplayAIAuditSwitchWithChan(request *DisplayAIAuditSwitchRequest) (<-chan *DisplayAIAuditSwitchResponse, <-chan error) {
+	responseChan := make(chan *DisplayAIAuditSwitchResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisplayAIAuditSwitch(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisplayAIAuditSwitchWithCallback invokes the vod.DisplayAIAuditSwitch API asynchronously
+// api document: https://help.aliyun.com/api/vod/displayaiauditswitch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisplayAIAuditSwitchWithCallback(request *DisplayAIAuditSwitchRequest, callback func(response *DisplayAIAuditSwitchResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisplayAIAuditSwitchResponse
+		var err error
+		defer close(result)
+		response, err = client.DisplayAIAuditSwitch(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisplayAIAuditSwitchRequest is the request struct for api DisplayAIAuditSwitch
+type DisplayAIAuditSwitchRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DisplayAIAuditSwitchResponse is the response struct for api DisplayAIAuditSwitch
+type DisplayAIAuditSwitchResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	IsDisplay bool   `json:"IsDisplay" xml:"IsDisplay"`
+}
+
+// CreateDisplayAIAuditSwitchRequest creates a request to invoke DisplayAIAuditSwitch API
+func CreateDisplayAIAuditSwitchRequest() (request *DisplayAIAuditSwitchRequest) {
+	request = &DisplayAIAuditSwitchRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "DisplayAIAuditSwitch", "vod", "openAPI")
+	return
+}
+
+// CreateDisplayAIAuditSwitchResponse creates a response to parse from DisplayAIAuditSwitch response
+func CreateDisplayAIAuditSwitchResponse() (response *DisplayAIAuditSwitchResponse) {
+	response = &DisplayAIAuditSwitchResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/get_ai_media_audit_job.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// GetAIMediaAuditJob invokes the vod.GetAIMediaAuditJob API synchronously
+// api document: https://help.aliyun.com/api/vod/getaimediaauditjob.html
+func (client *Client) GetAIMediaAuditJob(request *GetAIMediaAuditJobRequest) (response *GetAIMediaAuditJobResponse, err error) {
+	response = CreateGetAIMediaAuditJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAIMediaAuditJobWithChan invokes the vod.GetAIMediaAuditJob API asynchronously
+// api document: https://help.aliyun.com/api/vod/getaimediaauditjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAIMediaAuditJobWithChan(request *GetAIMediaAuditJobRequest) (<-chan *GetAIMediaAuditJobResponse, <-chan error) {
+	responseChan := make(chan *GetAIMediaAuditJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAIMediaAuditJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAIMediaAuditJobWithCallback invokes the vod.GetAIMediaAuditJob API asynchronously
+// api document: https://help.aliyun.com/api/vod/getaimediaauditjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAIMediaAuditJobWithCallback(request *GetAIMediaAuditJobRequest, callback func(response *GetAIMediaAuditJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAIMediaAuditJobResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAIMediaAuditJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAIMediaAuditJobRequest is the request struct for api GetAIMediaAuditJob
+type GetAIMediaAuditJobRequest struct {
+	*requests.RpcRequest
+	JobId                string           `position:"Query" name:"JobId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
+}
+
+// GetAIMediaAuditJobResponse is the response struct for api GetAIMediaAuditJob
+type GetAIMediaAuditJobResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	MediaAuditJob MediaAuditJob `json:"MediaAuditJob" xml:"MediaAuditJob"`
+}
+
+// CreateGetAIMediaAuditJobRequest creates a request to invoke GetAIMediaAuditJob API
+func CreateGetAIMediaAuditJobRequest() (request *GetAIMediaAuditJobRequest) {
+	request = &GetAIMediaAuditJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetAIMediaAuditJob", "vod", "openAPI")
+	return
+}
+
+// CreateGetAIMediaAuditJobResponse creates a response to parse from GetAIMediaAuditJob response
+func CreateGetAIMediaAuditJobResponse() (response *GetAIMediaAuditJobResponse) {
+	response = &GetAIMediaAuditJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/get_ai_template.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// GetAITemplate invokes the vod.GetAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/getaitemplate.html
+func (client *Client) GetAITemplate(request *GetAITemplateRequest) (response *GetAITemplateResponse, err error) {
+	response = CreateGetAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAITemplateWithChan invokes the vod.GetAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/getaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAITemplateWithChan(request *GetAITemplateRequest) (<-chan *GetAITemplateResponse, <-chan error) {
+	responseChan := make(chan *GetAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAITemplateWithCallback invokes the vod.GetAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/getaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAITemplateWithCallback(request *GetAITemplateRequest, callback func(response *GetAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAITemplateRequest is the request struct for api GetAITemplate
+type GetAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateId           string           `position:"Query" name:"TemplateId"`
+}
+
+// GetAITemplateResponse is the response struct for api GetAITemplate
+type GetAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	TemplateInfo TemplateInfo `json:"TemplateInfo" xml:"TemplateInfo"`
+}
+
+// CreateGetAITemplateRequest creates a request to invoke GetAITemplate API
+func CreateGetAITemplateRequest() (request *GetAITemplateRequest) {
+	request = &GetAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateGetAITemplateResponse creates a response to parse from GetAITemplate response
+func CreateGetAITemplateResponse() (response *GetAITemplateResponse) {
+	response = &GetAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/get_default_ai_template.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// GetDefaultAITemplate invokes the vod.GetDefaultAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/getdefaultaitemplate.html
+func (client *Client) GetDefaultAITemplate(request *GetDefaultAITemplateRequest) (response *GetDefaultAITemplateResponse, err error) {
+	response = CreateGetDefaultAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetDefaultAITemplateWithChan invokes the vod.GetDefaultAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/getdefaultaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDefaultAITemplateWithChan(request *GetDefaultAITemplateRequest) (<-chan *GetDefaultAITemplateResponse, <-chan error) {
+	responseChan := make(chan *GetDefaultAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetDefaultAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetDefaultAITemplateWithCallback invokes the vod.GetDefaultAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/getdefaultaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDefaultAITemplateWithCallback(request *GetDefaultAITemplateRequest, callback func(response *GetDefaultAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetDefaultAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.GetDefaultAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetDefaultAITemplateRequest is the request struct for api GetDefaultAITemplate
+type GetDefaultAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	TemplateType         string           `position:"Query" name:"TemplateType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// GetDefaultAITemplateResponse is the response struct for api GetDefaultAITemplate
+type GetDefaultAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	TemplateInfo TemplateInfo `json:"TemplateInfo" xml:"TemplateInfo"`
+}
+
+// CreateGetDefaultAITemplateRequest creates a request to invoke GetDefaultAITemplate API
+func CreateGetDefaultAITemplateRequest() (request *GetDefaultAITemplateRequest) {
+	request = &GetDefaultAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetDefaultAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateGetDefaultAITemplateResponse creates a response to parse from GetDefaultAITemplate response
+func CreateGetDefaultAITemplateResponse() (response *GetDefaultAITemplateResponse) {
+	response = &GetDefaultAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/get_media_audit_result.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// GetMediaAuditResult invokes the vod.GetMediaAuditResult API synchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresult.html
+func (client *Client) GetMediaAuditResult(request *GetMediaAuditResultRequest) (response *GetMediaAuditResultResponse, err error) {
+	response = CreateGetMediaAuditResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetMediaAuditResultWithChan invokes the vod.GetMediaAuditResult API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultWithChan(request *GetMediaAuditResultRequest) (<-chan *GetMediaAuditResultResponse, <-chan error) {
+	responseChan := make(chan *GetMediaAuditResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetMediaAuditResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetMediaAuditResultWithCallback invokes the vod.GetMediaAuditResult API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultWithCallback(request *GetMediaAuditResultRequest, callback func(response *GetMediaAuditResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetMediaAuditResultResponse
+		var err error
+		defer close(result)
+		response, err = client.GetMediaAuditResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetMediaAuditResultRequest is the request struct for api GetMediaAuditResult
+type GetMediaAuditResultRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId  requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
+	MediaId              string           `position:"Query" name:"MediaId"`
+}
+
+// GetMediaAuditResultResponse is the response struct for api GetMediaAuditResult
+type GetMediaAuditResultResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	MediaAuditResult MediaAuditResult `json:"MediaAuditResult" xml:"MediaAuditResult"`
+}
+
+// CreateGetMediaAuditResultRequest creates a request to invoke GetMediaAuditResult API
+func CreateGetMediaAuditResultRequest() (request *GetMediaAuditResultRequest) {
+	request = &GetMediaAuditResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetMediaAuditResult", "vod", "openAPI")
+	return
+}
+
+// CreateGetMediaAuditResultResponse creates a response to parse from GetMediaAuditResult response
+func CreateGetMediaAuditResultResponse() (response *GetMediaAuditResultResponse) {
+	response = &GetMediaAuditResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vod/get_media_audit_result_detail.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// GetMediaAuditResultDetail invokes the vod.GetMediaAuditResultDetail API synchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresultdetail.html
+func (client *Client) GetMediaAuditResultDetail(request *GetMediaAuditResultDetailRequest) (response *GetMediaAuditResultDetailResponse, err error) {
+	response = CreateGetMediaAuditResultDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetMediaAuditResultDetailWithChan invokes the vod.GetMediaAuditResultDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresultdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultDetailWithChan(request *GetMediaAuditResultDetailRequest) (<-chan *GetMediaAuditResultDetailResponse, <-chan error) {
+	responseChan := make(chan *GetMediaAuditResultDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetMediaAuditResultDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetMediaAuditResultDetailWithCallback invokes the vod.GetMediaAuditResultDetail API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresultdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultDetailWithCallback(request *GetMediaAuditResultDetailRequest, callback func(response *GetMediaAuditResultDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetMediaAuditResultDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.GetMediaAuditResultDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetMediaAuditResultDetailRequest is the request struct for api GetMediaAuditResultDetail
+type GetMediaAuditResultDetailRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	PageNo               requests.Integer `position:"Query" name:"PageNo"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
+	MediaId              string           `position:"Query" name:"MediaId"`
+}
+
+// GetMediaAuditResultDetailResponse is the response struct for api GetMediaAuditResultDetail
+type GetMediaAuditResultDetailResponse struct {
+	*responses.BaseResponse
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	MediaAuditResultDetail MediaAuditResultDetail `json:"MediaAuditResultDetail" xml:"MediaAuditResultDetail"`
+}
+
+// CreateGetMediaAuditResultDetailRequest creates a request to invoke GetMediaAuditResultDetail API
+func CreateGetMediaAuditResultDetailRequest() (request *GetMediaAuditResultDetailRequest) {
+	request = &GetMediaAuditResultDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetMediaAuditResultDetail", "vod", "openAPI")
+	return
+}
+
+// CreateGetMediaAuditResultDetailResponse creates a response to parse from GetMediaAuditResultDetail response
+func CreateGetMediaAuditResultDetailResponse() (response *GetMediaAuditResultDetailResponse) {
+	response = &GetMediaAuditResultDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/get_media_audit_result_timeline.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// GetMediaAuditResultTimeline invokes the vod.GetMediaAuditResultTimeline API synchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresulttimeline.html
+func (client *Client) GetMediaAuditResultTimeline(request *GetMediaAuditResultTimelineRequest) (response *GetMediaAuditResultTimelineResponse, err error) {
+	response = CreateGetMediaAuditResultTimelineResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetMediaAuditResultTimelineWithChan invokes the vod.GetMediaAuditResultTimeline API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresulttimeline.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultTimelineWithChan(request *GetMediaAuditResultTimelineRequest) (<-chan *GetMediaAuditResultTimelineResponse, <-chan error) {
+	responseChan := make(chan *GetMediaAuditResultTimelineResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetMediaAuditResultTimeline(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetMediaAuditResultTimelineWithCallback invokes the vod.GetMediaAuditResultTimeline API asynchronously
+// api document: https://help.aliyun.com/api/vod/getmediaauditresulttimeline.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetMediaAuditResultTimelineWithCallback(request *GetMediaAuditResultTimelineRequest, callback func(response *GetMediaAuditResultTimelineResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetMediaAuditResultTimelineResponse
+		var err error
+		defer close(result)
+		response, err = client.GetMediaAuditResultTimeline(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetMediaAuditResultTimelineRequest is the request struct for api GetMediaAuditResultTimeline
+type GetMediaAuditResultTimelineRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
+	MediaId              string           `position:"Query" name:"MediaId"`
+}
+
+// GetMediaAuditResultTimelineResponse is the response struct for api GetMediaAuditResultTimeline
+type GetMediaAuditResultTimelineResponse struct {
+	*responses.BaseResponse
+	RequestId                string                   `json:"RequestId" xml:"RequestId"`
+	MediaAuditResultTimeline MediaAuditResultTimeline `json:"MediaAuditResultTimeline" xml:"MediaAuditResultTimeline"`
+}
+
+// CreateGetMediaAuditResultTimelineRequest creates a request to invoke GetMediaAuditResultTimeline API
+func CreateGetMediaAuditResultTimelineRequest() (request *GetMediaAuditResultTimelineRequest) {
+	request = &GetMediaAuditResultTimelineRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetMediaAuditResultTimeline", "vod", "openAPI")
+	return
+}
+
+// CreateGetMediaAuditResultTimelineResponse creates a response to parse from GetMediaAuditResultTimeline response
+func CreateGetMediaAuditResultTimelineResponse() (response *GetMediaAuditResultTimelineResponse) {
+	response = &GetMediaAuditResultTimelineResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 4
services/vod/get_message_callback.go

@@ -76,10 +76,11 @@ func (client *Client) GetMessageCallbackWithCallback(request *GetMessageCallback
 // GetMessageCallbackRequest is the request struct for api GetMessageCallback
 type GetMessageCallbackRequest struct {
 	*requests.RpcRequest
-	ResourceOwnerId      string `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string `position:"Query" name:"OwnerAccount"`
-	OwnerId              string `position:"Query" name:"OwnerId"`
+	ResourceOwnerId      string           `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ResourceRealOwnerId  requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
 }
 
 // GetMessageCallbackResponse is the response struct for api GetMessageCallback

+ 108 - 0
services/vod/get_transcode_template_group.go

@@ -0,0 +1,108 @@
+package vod
+
+//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"
+)
+
+// GetTranscodeTemplateGroup invokes the vod.GetTranscodeTemplateGroup API synchronously
+// api document: https://help.aliyun.com/api/vod/gettranscodetemplategroup.html
+func (client *Client) GetTranscodeTemplateGroup(request *GetTranscodeTemplateGroupRequest) (response *GetTranscodeTemplateGroupResponse, err error) {
+	response = CreateGetTranscodeTemplateGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTranscodeTemplateGroupWithChan invokes the vod.GetTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/gettranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTranscodeTemplateGroupWithChan(request *GetTranscodeTemplateGroupRequest) (<-chan *GetTranscodeTemplateGroupResponse, <-chan error) {
+	responseChan := make(chan *GetTranscodeTemplateGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTranscodeTemplateGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTranscodeTemplateGroupWithCallback invokes the vod.GetTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/gettranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTranscodeTemplateGroupWithCallback(request *GetTranscodeTemplateGroupRequest, callback func(response *GetTranscodeTemplateGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTranscodeTemplateGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTranscodeTemplateGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTranscodeTemplateGroupRequest is the request struct for api GetTranscodeTemplateGroup
+type GetTranscodeTemplateGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId      requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	TranscodeTemplateGroupId string           `position:"Query" name:"TranscodeTemplateGroupId"`
+}
+
+// GetTranscodeTemplateGroupResponse is the response struct for api GetTranscodeTemplateGroup
+type GetTranscodeTemplateGroupResponse struct {
+	*responses.BaseResponse
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	TranscodeTemplateGroup TranscodeTemplateGroup `json:"TranscodeTemplateGroup" xml:"TranscodeTemplateGroup"`
+}
+
+// CreateGetTranscodeTemplateGroupRequest creates a request to invoke GetTranscodeTemplateGroup API
+func CreateGetTranscodeTemplateGroupRequest() (request *GetTranscodeTemplateGroupRequest) {
+	request = &GetTranscodeTemplateGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "GetTranscodeTemplateGroup", "vod", "openAPI")
+	return
+}
+
+// CreateGetTranscodeTemplateGroupResponse creates a response to parse from GetTranscodeTemplateGroup response
+func CreateGetTranscodeTemplateGroupResponse() (response *GetTranscodeTemplateGroupResponse) {
+	response = &GetTranscodeTemplateGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 24 - 24
services/vod/get_work_flow.go → services/vod/get_workflow.go

@@ -20,24 +20,24 @@ import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
 )
 
-// GetWorkFlow invokes the vod.GetWorkFlow API synchronously
+// GetWorkflow invokes the vod.GetWorkflow API synchronously
 // api document: https://help.aliyun.com/api/vod/getworkflow.html
-func (client *Client) GetWorkFlow(request *GetWorkFlowRequest) (response *GetWorkFlowResponse, err error) {
-	response = CreateGetWorkFlowResponse()
+func (client *Client) GetWorkflow(request *GetWorkflowRequest) (response *GetWorkflowResponse, err error) {
+	response = CreateGetWorkflowResponse()
 	err = client.DoAction(request, response)
 	return
 }
 
-// GetWorkFlowWithChan invokes the vod.GetWorkFlow API asynchronously
+// GetWorkflowWithChan invokes the vod.GetWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/getworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) GetWorkFlowWithChan(request *GetWorkFlowRequest) (<-chan *GetWorkFlowResponse, <-chan error) {
-	responseChan := make(chan *GetWorkFlowResponse, 1)
+func (client *Client) GetWorkflowWithChan(request *GetWorkflowRequest) (<-chan *GetWorkflowResponse, <-chan error) {
+	responseChan := make(chan *GetWorkflowResponse, 1)
 	errChan := make(chan error, 1)
 	err := client.AddAsyncTask(func() {
 		defer close(responseChan)
 		defer close(errChan)
-		response, err := client.GetWorkFlow(request)
+		response, err := client.GetWorkflow(request)
 		if err != nil {
 			errChan <- err
 		} else {
@@ -52,16 +52,16 @@ func (client *Client) GetWorkFlowWithChan(request *GetWorkFlowRequest) (<-chan *
 	return responseChan, errChan
 }
 
-// GetWorkFlowWithCallback invokes the vod.GetWorkFlow API asynchronously
+// GetWorkflowWithCallback invokes the vod.GetWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/getworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) GetWorkFlowWithCallback(request *GetWorkFlowRequest, callback func(response *GetWorkFlowResponse, err error)) <-chan int {
+func (client *Client) GetWorkflowWithCallback(request *GetWorkflowRequest, callback func(response *GetWorkflowResponse, err error)) <-chan int {
 	result := make(chan int, 1)
 	err := client.AddAsyncTask(func() {
-		var response *GetWorkFlowResponse
+		var response *GetWorkflowResponse
 		var err error
 		defer close(result)
-		response, err = client.GetWorkFlow(request)
+		response, err = client.GetWorkflow(request)
 		callback(response, err)
 		result <- 1
 	})
@@ -73,34 +73,34 @@ func (client *Client) GetWorkFlowWithCallback(request *GetWorkFlowRequest, callb
 	return result
 }
 
-// GetWorkFlowRequest is the request struct for api GetWorkFlow
-type GetWorkFlowRequest struct {
+// GetWorkflowRequest is the request struct for api GetWorkflow
+type GetWorkflowRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	WorkFlowId           string           `position:"Query" name:"WorkFlowId"`
+	WorkflowId           string           `position:"Query" name:"WorkflowId"`
 }
 
-// GetWorkFlowResponse is the response struct for api GetWorkFlow
-type GetWorkFlowResponse struct {
+// GetWorkflowResponse is the response struct for api GetWorkflow
+type GetWorkflowResponse struct {
 	*responses.BaseResponse
 	RequestId    string       `json:"RequestId" xml:"RequestId"`
-	WorkFlowInfo WorkFlowInfo `json:"WorkFlowInfo" xml:"WorkFlowInfo"`
+	WorkflowInfo WorkflowInfo `json:"WorkflowInfo" xml:"WorkflowInfo"`
 }
 
-// CreateGetWorkFlowRequest creates a request to invoke GetWorkFlow API
-func CreateGetWorkFlowRequest() (request *GetWorkFlowRequest) {
-	request = &GetWorkFlowRequest{
+// CreateGetWorkflowRequest creates a request to invoke GetWorkflow API
+func CreateGetWorkflowRequest() (request *GetWorkflowRequest) {
+	request = &GetWorkflowRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("vod", "2017-03-21", "GetWorkFlow", "vod", "openAPI")
+	request.InitWithApiInfo("vod", "2017-03-21", "GetWorkflow", "vod", "openAPI")
 	return
 }
 
-// CreateGetWorkFlowResponse creates a response to parse from GetWorkFlow response
-func CreateGetWorkFlowResponse() (response *GetWorkFlowResponse) {
-	response = &GetWorkFlowResponse{
+// CreateGetWorkflowResponse creates a response to parse from GetWorkflow response
+func CreateGetWorkflowResponse() (response *GetWorkflowResponse) {
+	response = &GetWorkflowResponse{
 		BaseResponse: &responses.BaseResponse{},
 	}
 	return

+ 107 - 0
services/vod/list_ai_template.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// ListAITemplate invokes the vod.ListAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/listaitemplate.html
+func (client *Client) ListAITemplate(request *ListAITemplateRequest) (response *ListAITemplateResponse, err error) {
+	response = CreateListAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListAITemplateWithChan invokes the vod.ListAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/listaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAITemplateWithChan(request *ListAITemplateRequest) (<-chan *ListAITemplateResponse, <-chan error) {
+	responseChan := make(chan *ListAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListAITemplateWithCallback invokes the vod.ListAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/listaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAITemplateWithCallback(request *ListAITemplateRequest, callback func(response *ListAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListAITemplateRequest is the request struct for api ListAITemplate
+type ListAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	TemplateType         string           `position:"Query" name:"TemplateType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ListAITemplateResponse is the response struct for api ListAITemplate
+type ListAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId        string                 `json:"RequestId" xml:"RequestId"`
+	TemplateInfoList []TemplateInfoListItem `json:"TemplateInfoList" xml:"TemplateInfoList"`
+}
+
+// CreateListAITemplateRequest creates a request to invoke ListAITemplate API
+func CreateListAITemplateRequest() (request *ListAITemplateRequest) {
+	request = &ListAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "ListAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateListAITemplateResponse creates a response to parse from ListAITemplate response
+func CreateListAITemplateResponse() (response *ListAITemplateResponse) {
+	response = &ListAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/list_transcode_template_group.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// ListTranscodeTemplateGroup invokes the vod.ListTranscodeTemplateGroup API synchronously
+// api document: https://help.aliyun.com/api/vod/listtranscodetemplategroup.html
+func (client *Client) ListTranscodeTemplateGroup(request *ListTranscodeTemplateGroupRequest) (response *ListTranscodeTemplateGroupResponse, err error) {
+	response = CreateListTranscodeTemplateGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTranscodeTemplateGroupWithChan invokes the vod.ListTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/listtranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTranscodeTemplateGroupWithChan(request *ListTranscodeTemplateGroupRequest) (<-chan *ListTranscodeTemplateGroupResponse, <-chan error) {
+	responseChan := make(chan *ListTranscodeTemplateGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTranscodeTemplateGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTranscodeTemplateGroupWithCallback invokes the vod.ListTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/listtranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTranscodeTemplateGroupWithCallback(request *ListTranscodeTemplateGroupRequest, callback func(response *ListTranscodeTemplateGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTranscodeTemplateGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTranscodeTemplateGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTranscodeTemplateGroupRequest is the request struct for api ListTranscodeTemplateGroup
+type ListTranscodeTemplateGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId  requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ListTranscodeTemplateGroupResponse is the response struct for api ListTranscodeTemplateGroup
+type ListTranscodeTemplateGroupResponse struct {
+	*responses.BaseResponse
+	RequestId                  string                   `json:"RequestId" xml:"RequestId"`
+	TranscodeTemplateGroupList []TranscodeTemplateGroup `json:"TranscodeTemplateGroupList" xml:"TranscodeTemplateGroupList"`
+}
+
+// CreateListTranscodeTemplateGroupRequest creates a request to invoke ListTranscodeTemplateGroup API
+func CreateListTranscodeTemplateGroupRequest() (request *ListTranscodeTemplateGroupRequest) {
+	request = &ListTranscodeTemplateGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "ListTranscodeTemplateGroup", "vod", "openAPI")
+	return
+}
+
+// CreateListTranscodeTemplateGroupResponse creates a response to parse from ListTranscodeTemplateGroup response
+func CreateListTranscodeTemplateGroupResponse() (response *ListTranscodeTemplateGroupResponse) {
+	response = &ListTranscodeTemplateGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 23 - 23
services/vod/list_work_flow.go → services/vod/list_workflow.go

@@ -20,24 +20,24 @@ import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
 )
 
-// ListWorkFlow invokes the vod.ListWorkFlow API synchronously
+// ListWorkflow invokes the vod.ListWorkflow API synchronously
 // api document: https://help.aliyun.com/api/vod/listworkflow.html
-func (client *Client) ListWorkFlow(request *ListWorkFlowRequest) (response *ListWorkFlowResponse, err error) {
-	response = CreateListWorkFlowResponse()
+func (client *Client) ListWorkflow(request *ListWorkflowRequest) (response *ListWorkflowResponse, err error) {
+	response = CreateListWorkflowResponse()
 	err = client.DoAction(request, response)
 	return
 }
 
-// ListWorkFlowWithChan invokes the vod.ListWorkFlow API asynchronously
+// ListWorkflowWithChan invokes the vod.ListWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/listworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) ListWorkFlowWithChan(request *ListWorkFlowRequest) (<-chan *ListWorkFlowResponse, <-chan error) {
-	responseChan := make(chan *ListWorkFlowResponse, 1)
+func (client *Client) ListWorkflowWithChan(request *ListWorkflowRequest) (<-chan *ListWorkflowResponse, <-chan error) {
+	responseChan := make(chan *ListWorkflowResponse, 1)
 	errChan := make(chan error, 1)
 	err := client.AddAsyncTask(func() {
 		defer close(responseChan)
 		defer close(errChan)
-		response, err := client.ListWorkFlow(request)
+		response, err := client.ListWorkflow(request)
 		if err != nil {
 			errChan <- err
 		} else {
@@ -52,16 +52,16 @@ func (client *Client) ListWorkFlowWithChan(request *ListWorkFlowRequest) (<-chan
 	return responseChan, errChan
 }
 
-// ListWorkFlowWithCallback invokes the vod.ListWorkFlow API asynchronously
+// ListWorkflowWithCallback invokes the vod.ListWorkflow API asynchronously
 // api document: https://help.aliyun.com/api/vod/listworkflow.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) ListWorkFlowWithCallback(request *ListWorkFlowRequest, callback func(response *ListWorkFlowResponse, err error)) <-chan int {
+func (client *Client) ListWorkflowWithCallback(request *ListWorkflowRequest, callback func(response *ListWorkflowResponse, err error)) <-chan int {
 	result := make(chan int, 1)
 	err := client.AddAsyncTask(func() {
-		var response *ListWorkFlowResponse
+		var response *ListWorkflowResponse
 		var err error
 		defer close(result)
-		response, err = client.ListWorkFlow(request)
+		response, err = client.ListWorkflow(request)
 		callback(response, err)
 		result <- 1
 	})
@@ -73,33 +73,33 @@ func (client *Client) ListWorkFlowWithCallback(request *ListWorkFlowRequest, cal
 	return result
 }
 
-// ListWorkFlowRequest is the request struct for api ListWorkFlow
-type ListWorkFlowRequest struct {
+// ListWorkflowRequest is the request struct for api ListWorkflow
+type ListWorkflowRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
-// ListWorkFlowResponse is the response struct for api ListWorkFlow
-type ListWorkFlowResponse struct {
+// ListWorkflowResponse is the response struct for api ListWorkflow
+type ListWorkflowResponse struct {
 	*responses.BaseResponse
 	RequestId        string         `json:"RequestId" xml:"RequestId"`
-	WorkFlowInfoList []WorkFlowInfo `json:"WorkFlowInfoList" xml:"WorkFlowInfoList"`
+	WorkflowInfoList []WorkflowInfo `json:"WorkflowInfoList" xml:"WorkflowInfoList"`
 }
 
-// CreateListWorkFlowRequest creates a request to invoke ListWorkFlow API
-func CreateListWorkFlowRequest() (request *ListWorkFlowRequest) {
-	request = &ListWorkFlowRequest{
+// CreateListWorkflowRequest creates a request to invoke ListWorkflow API
+func CreateListWorkflowRequest() (request *ListWorkflowRequest) {
+	request = &ListWorkflowRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("vod", "2017-03-21", "ListWorkFlow", "vod", "openAPI")
+	request.InitWithApiInfo("vod", "2017-03-21", "ListWorkflow", "vod", "openAPI")
 	return
 }
 
-// CreateListWorkFlowResponse creates a response to parse from ListWorkFlow response
-func CreateListWorkFlowResponse() (response *ListWorkFlowResponse) {
-	response = &ListWorkFlowResponse{
+// CreateListWorkflowResponse creates a response to parse from ListWorkflow response
+func CreateListWorkflowResponse() (response *ListWorkflowResponse) {
+	response = &ListWorkflowResponse{
 		BaseResponse: &responses.BaseResponse{},
 	}
 	return

+ 106 - 0
services/vod/preload_vod_object_caches.go

@@ -0,0 +1,106 @@
+package vod
+
+//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"
+)
+
+// PreloadVodObjectCaches invokes the vod.PreloadVodObjectCaches API synchronously
+// api document: https://help.aliyun.com/api/vod/preloadvodobjectcaches.html
+func (client *Client) PreloadVodObjectCaches(request *PreloadVodObjectCachesRequest) (response *PreloadVodObjectCachesResponse, err error) {
+	response = CreatePreloadVodObjectCachesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PreloadVodObjectCachesWithChan invokes the vod.PreloadVodObjectCaches API asynchronously
+// api document: https://help.aliyun.com/api/vod/preloadvodobjectcaches.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreloadVodObjectCachesWithChan(request *PreloadVodObjectCachesRequest) (<-chan *PreloadVodObjectCachesResponse, <-chan error) {
+	responseChan := make(chan *PreloadVodObjectCachesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PreloadVodObjectCaches(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PreloadVodObjectCachesWithCallback invokes the vod.PreloadVodObjectCaches API asynchronously
+// api document: https://help.aliyun.com/api/vod/preloadvodobjectcaches.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreloadVodObjectCachesWithCallback(request *PreloadVodObjectCachesRequest, callback func(response *PreloadVodObjectCachesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PreloadVodObjectCachesResponse
+		var err error
+		defer close(result)
+		response, err = client.PreloadVodObjectCaches(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PreloadVodObjectCachesRequest is the request struct for api PreloadVodObjectCaches
+type PreloadVodObjectCachesRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ObjectPath    string           `position:"Query" name:"ObjectPath"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// PreloadVodObjectCachesResponse is the response struct for api PreloadVodObjectCaches
+type PreloadVodObjectCachesResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	PreloadTaskId string `json:"PreloadTaskId" xml:"PreloadTaskId"`
+}
+
+// CreatePreloadVodObjectCachesRequest creates a request to invoke PreloadVodObjectCaches API
+func CreatePreloadVodObjectCachesRequest() (request *PreloadVodObjectCachesRequest) {
+	request = &PreloadVodObjectCachesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "PreloadVodObjectCaches", "vod", "openAPI")
+	return
+}
+
+// CreatePreloadVodObjectCachesResponse creates a response to parse from PreloadVodObjectCaches response
+func CreatePreloadVodObjectCachesResponse() (response *PreloadVodObjectCachesResponse) {
+	response = &PreloadVodObjectCachesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/refresh_vod_object_caches.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// RefreshVodObjectCaches invokes the vod.RefreshVodObjectCaches API synchronously
+// api document: https://help.aliyun.com/api/vod/refreshvodobjectcaches.html
+func (client *Client) RefreshVodObjectCaches(request *RefreshVodObjectCachesRequest) (response *RefreshVodObjectCachesResponse, err error) {
+	response = CreateRefreshVodObjectCachesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RefreshVodObjectCachesWithChan invokes the vod.RefreshVodObjectCaches API asynchronously
+// api document: https://help.aliyun.com/api/vod/refreshvodobjectcaches.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RefreshVodObjectCachesWithChan(request *RefreshVodObjectCachesRequest) (<-chan *RefreshVodObjectCachesResponse, <-chan error) {
+	responseChan := make(chan *RefreshVodObjectCachesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RefreshVodObjectCaches(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RefreshVodObjectCachesWithCallback invokes the vod.RefreshVodObjectCaches API asynchronously
+// api document: https://help.aliyun.com/api/vod/refreshvodobjectcaches.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RefreshVodObjectCachesWithCallback(request *RefreshVodObjectCachesRequest, callback func(response *RefreshVodObjectCachesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RefreshVodObjectCachesResponse
+		var err error
+		defer close(result)
+		response, err = client.RefreshVodObjectCaches(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RefreshVodObjectCachesRequest is the request struct for api RefreshVodObjectCaches
+type RefreshVodObjectCachesRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ObjectPath    string           `position:"Query" name:"ObjectPath"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	ObjectType    string           `position:"Query" name:"ObjectType"`
+}
+
+// RefreshVodObjectCachesResponse is the response struct for api RefreshVodObjectCaches
+type RefreshVodObjectCachesResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	RefreshTaskId string `json:"RefreshTaskId" xml:"RefreshTaskId"`
+}
+
+// CreateRefreshVodObjectCachesRequest creates a request to invoke RefreshVodObjectCaches API
+func CreateRefreshVodObjectCachesRequest() (request *RefreshVodObjectCachesRequest) {
+	request = &RefreshVodObjectCachesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "RefreshVodObjectCaches", "vod", "openAPI")
+	return
+}
+
+// CreateRefreshVodObjectCachesResponse creates a response to parse from RefreshVodObjectCaches response
+func CreateRefreshVodObjectCachesResponse() (response *RefreshVodObjectCachesResponse) {
+	response = &RefreshVodObjectCachesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/set_default_ai_template.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// SetDefaultAITemplate invokes the vod.SetDefaultAITemplate API synchronously
+// api document: https://help.aliyun.com/api/vod/setdefaultaitemplate.html
+func (client *Client) SetDefaultAITemplate(request *SetDefaultAITemplateRequest) (response *SetDefaultAITemplateResponse, err error) {
+	response = CreateSetDefaultAITemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetDefaultAITemplateWithChan invokes the vod.SetDefaultAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/setdefaultaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDefaultAITemplateWithChan(request *SetDefaultAITemplateRequest) (<-chan *SetDefaultAITemplateResponse, <-chan error) {
+	responseChan := make(chan *SetDefaultAITemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetDefaultAITemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetDefaultAITemplateWithCallback invokes the vod.SetDefaultAITemplate API asynchronously
+// api document: https://help.aliyun.com/api/vod/setdefaultaitemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDefaultAITemplateWithCallback(request *SetDefaultAITemplateRequest, callback func(response *SetDefaultAITemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetDefaultAITemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.SetDefaultAITemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetDefaultAITemplateRequest is the request struct for api SetDefaultAITemplate
+type SetDefaultAITemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateId           string           `position:"Query" name:"TemplateId"`
+}
+
+// SetDefaultAITemplateResponse is the response struct for api SetDefaultAITemplate
+type SetDefaultAITemplateResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TemplateId string `json:"TemplateId" xml:"TemplateId"`
+}
+
+// CreateSetDefaultAITemplateRequest creates a request to invoke SetDefaultAITemplate API
+func CreateSetDefaultAITemplateRequest() (request *SetDefaultAITemplateRequest) {
+	request = &SetDefaultAITemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "SetDefaultAITemplate", "vod", "openAPI")
+	return
+}
+
+// CreateSetDefaultAITemplateResponse creates a response to parse from SetDefaultAITemplate response
+func CreateSetDefaultAITemplateResponse() (response *SetDefaultAITemplateResponse) {
+	response = &SetDefaultAITemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/vod/set_default_transcode_template_group.go

@@ -0,0 +1,107 @@
+package vod
+
+//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"
+)
+
+// SetDefaultTranscodeTemplateGroup invokes the vod.SetDefaultTranscodeTemplateGroup API synchronously
+// api document: https://help.aliyun.com/api/vod/setdefaulttranscodetemplategroup.html
+func (client *Client) SetDefaultTranscodeTemplateGroup(request *SetDefaultTranscodeTemplateGroupRequest) (response *SetDefaultTranscodeTemplateGroupResponse, err error) {
+	response = CreateSetDefaultTranscodeTemplateGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetDefaultTranscodeTemplateGroupWithChan invokes the vod.SetDefaultTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/setdefaulttranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDefaultTranscodeTemplateGroupWithChan(request *SetDefaultTranscodeTemplateGroupRequest) (<-chan *SetDefaultTranscodeTemplateGroupResponse, <-chan error) {
+	responseChan := make(chan *SetDefaultTranscodeTemplateGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetDefaultTranscodeTemplateGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetDefaultTranscodeTemplateGroupWithCallback invokes the vod.SetDefaultTranscodeTemplateGroup API asynchronously
+// api document: https://help.aliyun.com/api/vod/setdefaulttranscodetemplategroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDefaultTranscodeTemplateGroupWithCallback(request *SetDefaultTranscodeTemplateGroupRequest, callback func(response *SetDefaultTranscodeTemplateGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetDefaultTranscodeTemplateGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.SetDefaultTranscodeTemplateGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetDefaultTranscodeTemplateGroupRequest is the request struct for api SetDefaultTranscodeTemplateGroup
+type SetDefaultTranscodeTemplateGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceRealOwnerId      requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	TranscodeTemplateGroupId string           `position:"Query" name:"TranscodeTemplateGroupId"`
+}
+
+// SetDefaultTranscodeTemplateGroupResponse is the response struct for api SetDefaultTranscodeTemplateGroup
+type SetDefaultTranscodeTemplateGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetDefaultTranscodeTemplateGroupRequest creates a request to invoke SetDefaultTranscodeTemplateGroup API
+func CreateSetDefaultTranscodeTemplateGroupRequest() (request *SetDefaultTranscodeTemplateGroupRequest) {
+	request = &SetDefaultTranscodeTemplateGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "SetDefaultTranscodeTemplateGroup", "vod", "openAPI")
+	return
+}
+
+// CreateSetDefaultTranscodeTemplateGroupResponse creates a response to parse from SetDefaultTranscodeTemplateGroup response
+func CreateSetDefaultTranscodeTemplateGroupResponse() (response *SetDefaultTranscodeTemplateGroupResponse) {
+	response = &SetDefaultTranscodeTemplateGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 13 - 10
services/vod/set_message_callback.go

@@ -76,16 +76,19 @@ func (client *Client) SetMessageCallbackWithCallback(request *SetMessageCallback
 // SetMessageCallbackRequest is the request struct for api SetMessageCallback
 type SetMessageCallbackRequest struct {
 	*requests.RpcRequest
-	CallbackType         string `position:"Query" name:"CallbackType"`
-	AuthKey              string `position:"Query" name:"AuthKey"`
-	ResourceOwnerId      string `position:"Query" name:"ResourceOwnerId"`
-	CallbackSwitch       string `position:"Query" name:"CallbackSwitch"`
-	ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string `position:"Query" name:"OwnerAccount"`
-	EventTypeList        string `position:"Query" name:"EventTypeList"`
-	AuthSwitch           string `position:"Query" name:"AuthSwitch"`
-	CallbackURL          string `position:"Query" name:"CallbackURL"`
-	OwnerId              string `position:"Query" name:"OwnerId"`
+	AuthKey              string           `position:"Query" name:"AuthKey"`
+	ResourceOwnerId      string           `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EventTypeList        string           `position:"Query" name:"EventTypeList"`
+	MnsQueueName         string           `position:"Query" name:"MnsQueueName"`
+	ResourceRealOwnerId  requests.Integer `position:"Query" name:"ResourceRealOwnerId"`
+	OwnerId              string           `position:"Query" name:"OwnerId"`
+	CallbackType         string           `position:"Query" name:"CallbackType"`
+	CallbackSwitch       string           `position:"Query" name:"CallbackSwitch"`
+	MnsEndpoint          string           `position:"Query" name:"MnsEndpoint"`
+	AuthSwitch           string           `position:"Query" name:"AuthSwitch"`
+	CallbackURL          string           `position:"Query" name:"CallbackURL"`
 }
 
 // SetMessageCallbackResponse is the response struct for api SetMessageCallback

+ 110 - 0
services/vod/set_vod_domain_certificate.go

@@ -0,0 +1,110 @@
+package vod
+
+//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"
+)
+
+// SetVodDomainCertificate invokes the vod.SetVodDomainCertificate API synchronously
+// api document: https://help.aliyun.com/api/vod/setvoddomaincertificate.html
+func (client *Client) SetVodDomainCertificate(request *SetVodDomainCertificateRequest) (response *SetVodDomainCertificateResponse, err error) {
+	response = CreateSetVodDomainCertificateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetVodDomainCertificateWithChan invokes the vod.SetVodDomainCertificate API asynchronously
+// api document: https://help.aliyun.com/api/vod/setvoddomaincertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetVodDomainCertificateWithChan(request *SetVodDomainCertificateRequest) (<-chan *SetVodDomainCertificateResponse, <-chan error) {
+	responseChan := make(chan *SetVodDomainCertificateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetVodDomainCertificate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetVodDomainCertificateWithCallback invokes the vod.SetVodDomainCertificate API asynchronously
+// api document: https://help.aliyun.com/api/vod/setvoddomaincertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetVodDomainCertificateWithCallback(request *SetVodDomainCertificateRequest, callback func(response *SetVodDomainCertificateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetVodDomainCertificateResponse
+		var err error
+		defer close(result)
+		response, err = client.SetVodDomainCertificate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetVodDomainCertificateRequest is the request struct for api SetVodDomainCertificate
+type SetVodDomainCertificateRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	SSLPub        string           `position:"Query" name:"SSLPub"`
+	CertName      string           `position:"Query" name:"CertName"`
+	SSLProtocol   string           `position:"Query" name:"SSLProtocol"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	Region        string           `position:"Query" name:"Region"`
+	SSLPri        string           `position:"Query" name:"SSLPri"`
+}
+
+// SetVodDomainCertificateResponse is the response struct for api SetVodDomainCertificate
+type SetVodDomainCertificateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetVodDomainCertificateRequest creates a request to invoke SetVodDomainCertificate API
+func CreateSetVodDomainCertificateRequest() (request *SetVodDomainCertificateRequest) {
+	request = &SetVodDomainCertificateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "SetVodDomainCertificate", "vod", "openAPI")
+	return
+}
+
+// CreateSetVodDomainCertificateResponse creates a response to parse from SetVodDomainCertificate response
+func CreateSetVodDomainCertificateResponse() (response *SetVodDomainCertificateResponse) {
+	response = &SetVodDomainCertificateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/vod/start_vod_domain.go

@@ -0,0 +1,105 @@
+package vod
+
+//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"
+)
+
+// StartVodDomain invokes the vod.StartVodDomain API synchronously
+// api document: https://help.aliyun.com/api/vod/startvoddomain.html
+func (client *Client) StartVodDomain(request *StartVodDomainRequest) (response *StartVodDomainResponse, err error) {
+	response = CreateStartVodDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartVodDomainWithChan invokes the vod.StartVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/startvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartVodDomainWithChan(request *StartVodDomainRequest) (<-chan *StartVodDomainResponse, <-chan error) {
+	responseChan := make(chan *StartVodDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartVodDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartVodDomainWithCallback invokes the vod.StartVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/startvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartVodDomainWithCallback(request *StartVodDomainRequest, callback func(response *StartVodDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartVodDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.StartVodDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartVodDomainRequest is the request struct for api StartVodDomain
+type StartVodDomainRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// StartVodDomainResponse is the response struct for api StartVodDomain
+type StartVodDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStartVodDomainRequest creates a request to invoke StartVodDomain API
+func CreateStartVodDomainRequest() (request *StartVodDomainRequest) {
+	request = &StartVodDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "StartVodDomain", "vod", "openAPI")
+	return
+}
+
+// CreateStartVodDomainResponse creates a response to parse from StartVodDomain response
+func CreateStartVodDomainResponse() (response *StartVodDomainResponse) {
+	response = &StartVodDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/vod/stop_vod_domain.go

@@ -0,0 +1,105 @@
+package vod
+
+//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"
+)
+
+// StopVodDomain invokes the vod.StopVodDomain API synchronously
+// api document: https://help.aliyun.com/api/vod/stopvoddomain.html
+func (client *Client) StopVodDomain(request *StopVodDomainRequest) (response *StopVodDomainResponse, err error) {
+	response = CreateStopVodDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopVodDomainWithChan invokes the vod.StopVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/stopvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopVodDomainWithChan(request *StopVodDomainRequest) (<-chan *StopVodDomainResponse, <-chan error) {
+	responseChan := make(chan *StopVodDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopVodDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopVodDomainWithCallback invokes the vod.StopVodDomain API asynchronously
+// api document: https://help.aliyun.com/api/vod/stopvoddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopVodDomainWithCallback(request *StopVodDomainRequest, callback func(response *StopVodDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopVodDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.StopVodDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopVodDomainRequest is the request struct for api StopVodDomain
+type StopVodDomainRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// StopVodDomainResponse is the response struct for api StopVodDomain
+type StopVodDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStopVodDomainRequest creates a request to invoke StopVodDomain API
+func CreateStopVodDomainRequest() (request *StopVodDomainRequest) {
+	request = &StopVodDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("vod", "2017-03-21", "StopVodDomain", "vod", "openAPI")
+	return
+}
+
+// CreateStopVodDomainResponse creates a response to parse from StopVodDomain response
+func CreateStopVodDomainResponse() (response *StopVodDomainResponse) {
+	response = &StopVodDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/vod/struct_bps_data_per_interval.go → services/vod/struct_bps_data_per_interval_in_describe_domain_bps_data.go

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

+ 21 - 0
services/vod/struct_bps_data_per_interval_in_describe_vod_domain_bps_data.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// BpsDataPerIntervalInDescribeVodDomainBpsData is a nested struct in vod response
+type BpsDataPerIntervalInDescribeVodDomainBpsData struct {
+	DataModule []DataModule `json:"DataModule" xml:"DataModule"`
+}

+ 4 - 3
services/vod/struct_top_play_videos.go → services/vod/struct_bps_model.go

@@ -15,7 +15,8 @@ package vod
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// TopPlayVideos is a nested struct in vod response
-type TopPlayVideos struct {
-	TopPlayVideoStatis []TopPlayVideoStatis `json:"TopPlayVideoStatis" xml:"TopPlayVideoStatis"`
+// BpsModel is a nested struct in vod response
+type BpsModel struct {
+	Bps       float64 `json:"Bps" xml:"Bps"`
+	TimeStamp string  `json:"TimeStamp" xml:"TimeStamp"`
 }

+ 22 - 0
services/vod/struct_byte_hit_rate_data_model.go

@@ -0,0 +1,22 @@
+package vod
+
+//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.
+
+// ByteHitRateDataModel is a nested struct in vod response
+type ByteHitRateDataModel struct {
+	ByteHitRate float64 `json:"ByteHitRate" xml:"ByteHitRate"`
+	TimeStamp   string  `json:"TimeStamp" xml:"TimeStamp"`
+}

+ 26 - 0
services/vod/struct_cert.go

@@ -0,0 +1,26 @@
+package vod
+
+//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.
+
+// Cert is a nested struct in vod response
+type Cert struct {
+	CertName    string `json:"CertName" xml:"CertName"`
+	CertId      int    `json:"CertId" xml:"CertId"`
+	Fingerprint string `json:"Fingerprint" xml:"Fingerprint"`
+	Common      string `json:"Common" xml:"Common"`
+	Issuer      string `json:"Issuer" xml:"Issuer"`
+	LastTime    int    `json:"LastTime" xml:"LastTime"`
+}

+ 11 - 6
services/vod/struct_vv.go → services/vod/struct_cert_info.go

@@ -15,10 +15,15 @@ package vod
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// VV is a nested struct in vod response
-type VV struct {
-	Android string `json:"Android" xml:"Android"`
-	IOS     string `json:"iOS" xml:"iOS"`
-	Flash   string `json:"Flash" xml:"Flash"`
-	HTML5   string `json:"HTML5" xml:"HTML5"`
+// CertInfo is a nested struct in vod response
+type CertInfo struct {
+	DomainName              string `json:"DomainName" xml:"DomainName"`
+	CertName                string `json:"CertName" xml:"CertName"`
+	CertDomainName          string `json:"CertDomainName" xml:"CertDomainName"`
+	CertExpireTime          string `json:"CertExpireTime" xml:"CertExpireTime"`
+	CertLife                string `json:"CertLife" xml:"CertLife"`
+	CertOrg                 string `json:"CertOrg" xml:"CertOrg"`
+	CertType                string `json:"CertType" xml:"CertType"`
+	ServerCertificateStatus string `json:"ServerCertificateStatus" xml:"ServerCertificateStatus"`
+	Status                  string `json:"Status" xml:"Status"`
 }

+ 21 - 0
services/vod/struct_cert_infos.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// CertInfos is a nested struct in vod response
+type CertInfos struct {
+	CertInfo []CertInfo `json:"CertInfo" xml:"CertInfo"`
+}

+ 21 - 0
services/vod/struct_cert_list.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// CertList is a nested struct in vod response
+type CertList struct {
+	Cert []Cert `json:"Cert" xml:"Cert"`
+}

+ 22 - 0
services/vod/struct_certificate_list_model.go

@@ -0,0 +1,22 @@
+package vod
+
+//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.
+
+// CertificateListModel is a nested struct in vod response
+type CertificateListModel struct {
+	Count    int      `json:"Count" xml:"Count"`
+	CertList CertList `json:"CertList" xml:"CertList"`
+}

+ 21 - 0
services/vod/struct_cname_datas.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// CnameDatas is a nested struct in vod response
+type CnameDatas struct {
+	Data []Data `json:"Data" xml:"Data"`
+}

+ 23 - 0
services/vod/struct_code_proportion_data.go

@@ -0,0 +1,23 @@
+package vod
+
+//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.
+
+// CodeProportionData is a nested struct in vod response
+type CodeProportionData struct {
+	Code       string `json:"Code" xml:"Code"`
+	Proportion string `json:"Proportion" xml:"Proportion"`
+	Count      string `json:"Count" xml:"Count"`
+}

+ 21 - 0
services/vod/struct_counter_list_in_get_ai_media_audit_job.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// CounterListInGetAIMediaAuditJob is a nested struct in vod response
+type CounterListInGetAIMediaAuditJob struct {
+	CounterListItem []CounterListItem `json:"CounterListItem" xml:"CounterListItem"`
+}

+ 21 - 0
services/vod/struct_counter_list_in_get_media_audit_result.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// CounterListInGetMediaAuditResult is a nested struct in vod response
+type CounterListInGetMediaAuditResult struct {
+	CounterListItem []CounterListItem `json:"CounterListItem" xml:"CounterListItem"`
+}

+ 22 - 0
services/vod/struct_counter_list_item.go

@@ -0,0 +1,22 @@
+package vod
+
+//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.
+
+// CounterListItem is a nested struct in vod response
+type CounterListItem struct {
+	Count int    `json:"Count" xml:"Count"`
+	Label string `json:"Label" xml:"Label"`
+}

+ 29 - 0
services/vod/struct_data.go

@@ -0,0 +1,29 @@
+package vod
+
+//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.
+
+// Data is a nested struct in vod response
+type Data struct {
+	Domain          string            `json:"Domain" xml:"Domain"`
+	Cname           string            `json:"Cname" xml:"Cname"`
+	Status          int               `json:"Status" xml:"Status"`
+	Suggestion      string            `json:"Suggestion" xml:"Suggestion"`
+	Label           string            `json:"Label" xml:"Label"`
+	AbnormalModules string            `json:"AbnormalModules" xml:"AbnormalModules"`
+	VideoResult     VideoResult       `json:"VideoResult" xml:"VideoResult"`
+	TextResult      []TextResultItem  `json:"TextResult" xml:"TextResult"`
+	ImageResult     []ImageResultItem `json:"ImageResult" xml:"ImageResult"`
+}

+ 21 - 0
services/vod/struct_data_in_describe_vod_domain_real_time_bps_data.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// DataInDescribeVodDomainRealTimeBpsData is a nested struct in vod response
+type DataInDescribeVodDomainRealTimeBpsData struct {
+	BpsModel []BpsModel `json:"BpsModel" xml:"BpsModel"`
+}

+ 21 - 0
services/vod/struct_data_in_describe_vod_domain_real_time_byte_hit_rate_data.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// DataInDescribeVodDomainRealTimeByteHitRateData is a nested struct in vod response
+type DataInDescribeVodDomainRealTimeByteHitRateData struct {
+	ByteHitRateDataModel []ByteHitRateDataModel `json:"ByteHitRateDataModel" xml:"ByteHitRateDataModel"`
+}

+ 21 - 0
services/vod/struct_data_in_describe_vod_domain_real_time_qps_data.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// DataInDescribeVodDomainRealTimeQpsData is a nested struct in vod response
+type DataInDescribeVodDomainRealTimeQpsData struct {
+	QpsModel []QpsModel `json:"QpsModel" xml:"QpsModel"`
+}

+ 21 - 0
services/vod/struct_data_in_describe_vod_domain_real_time_req_hit_rate_data.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// DataInDescribeVodDomainRealTimeReqHitRateData is a nested struct in vod response
+type DataInDescribeVodDomainRealTimeReqHitRateData struct {
+	ReqHitRateDataModel []ReqHitRateDataModel `json:"ReqHitRateDataModel" xml:"ReqHitRateDataModel"`
+}

+ 19 - 10
services/vod/struct_data_module.go

@@ -17,14 +17,23 @@ package vod
 
 // DataModule is a nested struct in vod response
 type DataModule struct {
-	DomesticValue        string `json:"DomesticValue" xml:"DomesticValue"`
-	Value                string `json:"Value" xml:"Value"`
-	OverseasValue        string `json:"OverseasValue" xml:"OverseasValue"`
-	DynamicValue         string `json:"DynamicValue" xml:"DynamicValue"`
-	StaticValue          string `json:"StaticValue" xml:"StaticValue"`
-	TimeStamp            string `json:"TimeStamp" xml:"TimeStamp"`
-	DynamicDomesticValue string `json:"DynamicDomesticValue" xml:"DynamicDomesticValue"`
-	StaticDomesticValue  string `json:"StaticDomesticValue" xml:"StaticDomesticValue"`
-	StaticOverseasValue  string `json:"StaticOverseasValue" xml:"StaticOverseasValue"`
-	DynamicOverseasValue string `json:"DynamicOverseasValue" xml:"DynamicOverseasValue"`
+	OverseasValue         string `json:"OverseasValue" xml:"OverseasValue"`
+	DynamicValue          string `json:"DynamicValue" xml:"DynamicValue"`
+	HttpsAccOverseasValue string `json:"HttpsAccOverseasValue" xml:"HttpsAccOverseasValue"`
+	StaticOverseasValue   string `json:"StaticOverseasValue" xml:"StaticOverseasValue"`
+	DynamicOverseasValue  string `json:"DynamicOverseasValue" xml:"DynamicOverseasValue"`
+	HttpsOverseasValue    string `json:"HttpsOverseasValue" xml:"HttpsOverseasValue"`
+	DomesticValue         string `json:"DomesticValue" xml:"DomesticValue"`
+	AccValue              string `json:"AccValue" xml:"AccValue"`
+	Value                 string `json:"Value" xml:"Value"`
+	AccDomesticValue      string `json:"AccDomesticValue" xml:"AccDomesticValue"`
+	StaticValue           string `json:"StaticValue" xml:"StaticValue"`
+	TimeStamp             string `json:"TimeStamp" xml:"TimeStamp"`
+	DynamicDomesticValue  string `json:"DynamicDomesticValue" xml:"DynamicDomesticValue"`
+	StaticDomesticValue   string `json:"StaticDomesticValue" xml:"StaticDomesticValue"`
+	HttpsDomesticValue    string `json:"HttpsDomesticValue" xml:"HttpsDomesticValue"`
+	HttpsValue            string `json:"HttpsValue" xml:"HttpsValue"`
+	HttpsAccValue         string `json:"HttpsAccValue" xml:"HttpsAccValue"`
+	AccOverseasValue      string `json:"AccOverseasValue" xml:"AccOverseasValue"`
+	HttpsAccDomesticValue string `json:"HttpsAccDomesticValue" xml:"HttpsAccDomesticValue"`
 }

+ 24 - 0
services/vod/struct_domain_config.go

@@ -0,0 +1,24 @@
+package vod
+
+//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.
+
+// DomainConfig is a nested struct in vod response
+type DomainConfig struct {
+	FunctionName string       `json:"FunctionName" xml:"FunctionName"`
+	ConfigId     string       `json:"ConfigId" xml:"ConfigId"`
+	Status       string       `json:"Status" xml:"Status"`
+	FunctionArgs FunctionArgs `json:"FunctionArgs" xml:"FunctionArgs"`
+}

+ 21 - 0
services/vod/struct_domain_configs.go

@@ -0,0 +1,21 @@
+package vod
+
+//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.
+
+// DomainConfigs is a nested struct in vod response
+type DomainConfigs struct {
+	DomainConfig []DomainConfig `json:"DomainConfig" xml:"DomainConfig"`
+}

Vissa filer visades inte eftersom för många filer har ändrats