浏览代码

Fixed bugs.

sdk-team 6 年之前
父节点
当前提交
4f28350b4e
共有 100 个文件被更改,包括 3625 次插入223 次删除
  1. 3 0
      ChangeLog.txt
  2. 4 4
      services/cdn/add_cdn_domain.go
  3. 1 1
      services/cdn/add_fc_trigger.go
  4. 109 0
      services/cdn/add_live_app_record_config.go
  5. 111 0
      services/cdn/add_live_app_snapshot_config.go
  6. 106 0
      services/cdn/add_live_domain_mapping.go
  7. 110 0
      services/cdn/add_live_stream_transcode.go
  8. 4 4
      services/cdn/batch_add_cdn_domain.go
  9. 2 2
      services/cdn/batch_delete_cdn_domain_config.go
  10. 2 2
      services/cdn/batch_set_cdn_domain_config.go
  11. 5 5
      services/cdn/batch_set_cdn_domain_server_certificate.go
  12. 2 2
      services/cdn/batch_start_cdn_domain.go
  13. 2 2
      services/cdn/batch_stop_cdn_domain.go
  14. 3 3
      services/cdn/batch_update_cdn_domain.go
  15. 113 0
      services/cdn/create_live_stream_record_index_files.go
  16. 107 0
      services/cdn/create_real_time_log_delivery.go
  17. 1 1
      services/cdn/create_usage_detail_data_export_task.go
  18. 1 1
      services/cdn/create_user_usage_data_export_task.go
  19. 107 0
      services/cdn/delete_cache_expired_config.go
  20. 3 3
      services/cdn/delete_cdn_domain.go
  21. 1 1
      services/cdn/delete_fc_trigger.go
  22. 106 0
      services/cdn/delete_http_header_config.go
  23. 106 0
      services/cdn/delete_live_app_record_config.go
  24. 106 0
      services/cdn/delete_live_app_snapshot_config.go
  25. 106 0
      services/cdn/delete_live_domain_mapping.go
  26. 108 0
      services/cdn/delete_live_stream_transcode.go
  27. 107 0
      services/cdn/delete_realtime_log_delivery.go
  28. 3 3
      services/cdn/delete_specific_config.go
  29. 0 106
      services/cdn/delete_specific_staging_config.go
  30. 1 1
      services/cdn/delete_usage_detail_data_export_task.go
  31. 1 1
      services/cdn/delete_user_usage_data_export_task.go
  32. 2 2
      services/cdn/describe_cdn_certificate_detail.go
  33. 2 2
      services/cdn/describe_cdn_certificate_list.go
  34. 1 1
      services/cdn/describe_cdn_domain_by_certificate.go
  35. 2 2
      services/cdn/describe_cdn_domain_configs.go
  36. 2 2
      services/cdn/describe_cdn_domain_detail.go
  37. 1 1
      services/cdn/describe_cdn_domain_logs.go
  38. 1 1
      services/cdn/describe_cdn_https_domain_list.go
  39. 112 0
      services/cdn/describe_cdn_monitor_data.go
  40. 2 2
      services/cdn/describe_cdn_region_and_isp.go
  41. 2 2
      services/cdn/describe_cdn_service.go
  42. 2 2
      services/cdn/describe_cdn_types.go
  43. 111 0
      services/cdn/describe_cdn_user_bill_prediction.go
  44. 2 2
      services/cdn/describe_cdn_user_quota.go
  45. 2 2
      services/cdn/describe_cdn_user_resource_package.go
  46. 1 1
      services/cdn/describe_custom_log_config.go
  47. 1 5
      services/cdn/describe_domain_average_response_time.go
  48. 1 1
      services/cdn/describe_domain_bps_data.go
  49. 1 1
      services/cdn/describe_domain_bps_data_by_time_stamp.go
  50. 1 1
      services/cdn/describe_domain_certificate_info.go
  51. 1 1
      services/cdn/describe_domain_cname.go
  52. 107 0
      services/cdn/describe_domain_configs.go
  53. 1 1
      services/cdn/describe_domain_custom_log_config.go
  54. 2 2
      services/cdn/describe_domain_file_size_proportion_data.go
  55. 116 0
      services/cdn/describe_domain_flow_data.go
  56. 1 1
      services/cdn/describe_domain_hit_rate_data.go
  57. 1 1
      services/cdn/describe_domain_http_code_data.go
  58. 1 1
      services/cdn/describe_domain_isp_data.go
  59. 1 1
      services/cdn/describe_domain_max95_bps_data.go
  60. 1 1
      services/cdn/describe_domain_path_data.go
  61. 2 2
      services/cdn/describe_domain_pv_data.go
  62. 1 1
      services/cdn/describe_domain_qps_data.go
  63. 1 1
      services/cdn/describe_domain_qps_data_by_layer.go
  64. 1 1
      services/cdn/describe_domain_real_time_bps_data.go
  65. 1 1
      services/cdn/describe_domain_real_time_byte_hit_rate_data.go
  66. 111 0
      services/cdn/describe_domain_real_time_detail_data.go
  67. 1 1
      services/cdn/describe_domain_real_time_http_code_data.go
  68. 1 1
      services/cdn/describe_domain_real_time_qps_data.go
  69. 1 1
      services/cdn/describe_domain_real_time_req_hit_rate_data.go
  70. 1 1
      services/cdn/describe_domain_real_time_src_bps_data.go
  71. 113 0
      services/cdn/describe_domain_real_time_src_http_code_data.go
  72. 1 1
      services/cdn/describe_domain_real_time_src_traffic_data.go
  73. 111 0
      services/cdn/describe_domain_real_time_traffic_data.go
  74. 108 0
      services/cdn/describe_domain_realtime_log_delivery.go
  75. 1 1
      services/cdn/describe_domain_region_data.go
  76. 1 1
      services/cdn/describe_domain_req_hit_rate_data.go
  77. 114 0
      services/cdn/describe_domain_slow_ratio.go
  78. 1 1
      services/cdn/describe_domain_src_bps_data.go
  79. 114 0
      services/cdn/describe_domain_src_flow_data.go
  80. 1 1
      services/cdn/describe_domain_src_http_code_data.go
  81. 114 0
      services/cdn/describe_domain_src_top_url_visit.go
  82. 1 1
      services/cdn/describe_domain_src_traffic_data.go
  83. 110 0
      services/cdn/describe_domain_top_client_ip_visit.go
  84. 2 1
      services/cdn/describe_domain_top_refer_visit.go
  85. 9 10
      services/cdn/describe_domain_top_url_visit.go
  86. 1 1
      services/cdn/describe_domain_traffic_data.go
  87. 1 1
      services/cdn/describe_domain_usage_data.go
  88. 2 2
      services/cdn/describe_domain_uv_data.go
  89. 2 2
      services/cdn/describe_domains_by_source.go
  90. 1 1
      services/cdn/describe_domains_usage_by_day.go
  91. 1 1
      services/cdn/describe_fc_trigger.go
  92. 2 2
      services/cdn/describe_ip_info.go
  93. 5 5
      services/cdn/describe_l2_vips_by_domain.go
  94. 106 0
      services/cdn/describe_l2_vips_by_dynamic_domain.go
  95. 106 0
      services/cdn/describe_live_pull_stream_config.go
  96. 106 0
      services/cdn/describe_live_record_config.go
  97. 116 0
      services/cdn/describe_live_snapshot_config.go
  98. 110 0
      services/cdn/describe_live_stream_bit_rate_data.go
  99. 112 0
      services/cdn/describe_live_stream_online_user_num.go
  100. 110 0
      services/cdn/describe_live_stream_record_content.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-11-15 Version: 1.60.245
+- Fixed bugs.
+
 2019-11-15 Version: 1.60.244
 2019-11-15 Version: 1.60.244
 - Add Scdn APIS.
 - Add Scdn APIS.
 - Sync cdn APIS.
 - Sync cdn APIS.

+ 4 - 4
services/cdn/add_cdn_domain.go

@@ -76,13 +76,13 @@ func (client *Client) AddCdnDomainWithCallback(request *AddCdnDomainRequest, cal
 // AddCdnDomainRequest is the request struct for api AddCdnDomain
 // AddCdnDomainRequest is the request struct for api AddCdnDomain
 type AddCdnDomainRequest struct {
 type AddCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
-	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	Sources         string           `position:"Query" name:"Sources"`
 	Sources         string           `position:"Query" name:"Sources"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	CdnType         string           `position:"Query" name:"CdnType"`
 	CdnType         string           `position:"Query" name:"CdnType"`
-	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	Scope           string           `position:"Query" name:"Scope"`
 	Scope           string           `position:"Query" name:"Scope"`
+	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
+	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	CheckUrl        string           `position:"Query" name:"CheckUrl"`
 	CheckUrl        string           `position:"Query" name:"CheckUrl"`
@@ -99,7 +99,7 @@ func CreateAddCdnDomainRequest() (request *AddCdnDomainRequest) {
 	request = &AddCdnDomainRequest{
 	request = &AddCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "AddCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "AddCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/add_fc_trigger.go

@@ -97,7 +97,7 @@ func CreateAddFCTriggerRequest() (request *AddFCTriggerRequest) {
 	request = &AddFCTriggerRequest{
 	request = &AddFCTriggerRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "AddFCTrigger", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "AddFCTrigger", "", "")
 	return
 	return
 }
 }
 
 

+ 109 - 0
services/cdn/add_live_app_record_config.go

@@ -0,0 +1,109 @@
+package cdn
+
+//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"
+)
+
+// AddLiveAppRecordConfig invokes the cdn.AddLiveAppRecordConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/addliveapprecordconfig.html
+func (client *Client) AddLiveAppRecordConfig(request *AddLiveAppRecordConfigRequest) (response *AddLiveAppRecordConfigResponse, err error) {
+	response = CreateAddLiveAppRecordConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddLiveAppRecordConfigWithChan invokes the cdn.AddLiveAppRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addliveapprecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveAppRecordConfigWithChan(request *AddLiveAppRecordConfigRequest) (<-chan *AddLiveAppRecordConfigResponse, <-chan error) {
+	responseChan := make(chan *AddLiveAppRecordConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveAppRecordConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddLiveAppRecordConfigWithCallback invokes the cdn.AddLiveAppRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addliveapprecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveAppRecordConfigWithCallback(request *AddLiveAppRecordConfigRequest, callback func(response *AddLiveAppRecordConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveAppRecordConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveAppRecordConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddLiveAppRecordConfigRequest is the request struct for api AddLiveAppRecordConfig
+type AddLiveAppRecordConfigRequest struct {
+	*requests.RpcRequest
+	OssBucket       string           `position:"Query" name:"OssBucket"`
+	DomainName      string           `position:"Query" name:"DomainName"`
+	OssEndpoint     string           `position:"Query" name:"OssEndpoint"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+	AppName         string           `position:"Query" name:"AppName"`
+	SecurityToken   string           `position:"Query" name:"SecurityToken"`
+	OssObjectPrefix string           `position:"Query" name:"OssObjectPrefix"`
+}
+
+// AddLiveAppRecordConfigResponse is the response struct for api AddLiveAppRecordConfig
+type AddLiveAppRecordConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddLiveAppRecordConfigRequest creates a request to invoke AddLiveAppRecordConfig API
+func CreateAddLiveAppRecordConfigRequest() (request *AddLiveAppRecordConfigRequest) {
+	request = &AddLiveAppRecordConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveAppRecordConfig", "", "")
+	return
+}
+
+// CreateAddLiveAppRecordConfigResponse creates a response to parse from AddLiveAppRecordConfig response
+func CreateAddLiveAppRecordConfigResponse() (response *AddLiveAppRecordConfigResponse) {
+	response = &AddLiveAppRecordConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cdn/add_live_app_snapshot_config.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// AddLiveAppSnapshotConfig invokes the cdn.AddLiveAppSnapshotConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/addliveappsnapshotconfig.html
+func (client *Client) AddLiveAppSnapshotConfig(request *AddLiveAppSnapshotConfigRequest) (response *AddLiveAppSnapshotConfigResponse, err error) {
+	response = CreateAddLiveAppSnapshotConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddLiveAppSnapshotConfigWithChan invokes the cdn.AddLiveAppSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addliveappsnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveAppSnapshotConfigWithChan(request *AddLiveAppSnapshotConfigRequest) (<-chan *AddLiveAppSnapshotConfigResponse, <-chan error) {
+	responseChan := make(chan *AddLiveAppSnapshotConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveAppSnapshotConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddLiveAppSnapshotConfigWithCallback invokes the cdn.AddLiveAppSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addliveappsnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveAppSnapshotConfigWithCallback(request *AddLiveAppSnapshotConfigRequest, callback func(response *AddLiveAppSnapshotConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveAppSnapshotConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveAppSnapshotConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddLiveAppSnapshotConfigRequest is the request struct for api AddLiveAppSnapshotConfig
+type AddLiveAppSnapshotConfigRequest struct {
+	*requests.RpcRequest
+	TimeInterval       requests.Integer `position:"Query" name:"TimeInterval"`
+	OssEndpoint        string           `position:"Query" name:"OssEndpoint"`
+	AppName            string           `position:"Query" name:"AppName"`
+	SecurityToken      string           `position:"Query" name:"SecurityToken"`
+	OverwriteOssObject string           `position:"Query" name:"OverwriteOssObject"`
+	OssBucket          string           `position:"Query" name:"OssBucket"`
+	DomainName         string           `position:"Query" name:"DomainName"`
+	SequenceOssObject  string           `position:"Query" name:"SequenceOssObject"`
+	OwnerId            requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// AddLiveAppSnapshotConfigResponse is the response struct for api AddLiveAppSnapshotConfig
+type AddLiveAppSnapshotConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddLiveAppSnapshotConfigRequest creates a request to invoke AddLiveAppSnapshotConfig API
+func CreateAddLiveAppSnapshotConfigRequest() (request *AddLiveAppSnapshotConfigRequest) {
+	request = &AddLiveAppSnapshotConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveAppSnapshotConfig", "", "")
+	return
+}
+
+// CreateAddLiveAppSnapshotConfigResponse creates a response to parse from AddLiveAppSnapshotConfig response
+func CreateAddLiveAppSnapshotConfigResponse() (response *AddLiveAppSnapshotConfigResponse) {
+	response = &AddLiveAppSnapshotConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/add_live_domain_mapping.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// AddLiveDomainMapping invokes the cdn.AddLiveDomainMapping API synchronously
+// api document: https://help.aliyun.com/api/cdn/addlivedomainmapping.html
+func (client *Client) AddLiveDomainMapping(request *AddLiveDomainMappingRequest) (response *AddLiveDomainMappingResponse, err error) {
+	response = CreateAddLiveDomainMappingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddLiveDomainMappingWithChan invokes the cdn.AddLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addlivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveDomainMappingWithChan(request *AddLiveDomainMappingRequest) (<-chan *AddLiveDomainMappingResponse, <-chan error) {
+	responseChan := make(chan *AddLiveDomainMappingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveDomainMapping(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddLiveDomainMappingWithCallback invokes the cdn.AddLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addlivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveDomainMappingWithCallback(request *AddLiveDomainMappingRequest, callback func(response *AddLiveDomainMappingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveDomainMappingResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveDomainMapping(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddLiveDomainMappingRequest is the request struct for api AddLiveDomainMapping
+type AddLiveDomainMappingRequest struct {
+	*requests.RpcRequest
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PullDomain    string           `position:"Query" name:"PullDomain"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	PushDomain    string           `position:"Query" name:"PushDomain"`
+}
+
+// AddLiveDomainMappingResponse is the response struct for api AddLiveDomainMapping
+type AddLiveDomainMappingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddLiveDomainMappingRequest creates a request to invoke AddLiveDomainMapping API
+func CreateAddLiveDomainMappingRequest() (request *AddLiveDomainMappingRequest) {
+	request = &AddLiveDomainMappingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveDomainMapping", "", "")
+	return
+}
+
+// CreateAddLiveDomainMappingResponse creates a response to parse from AddLiveDomainMapping response
+func CreateAddLiveDomainMappingResponse() (response *AddLiveDomainMappingResponse) {
+	response = &AddLiveDomainMappingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cdn/add_live_stream_transcode.go

@@ -0,0 +1,110 @@
+package cdn
+
+//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"
+)
+
+// AddLiveStreamTranscode invokes the cdn.AddLiveStreamTranscode API synchronously
+// api document: https://help.aliyun.com/api/cdn/addlivestreamtranscode.html
+func (client *Client) AddLiveStreamTranscode(request *AddLiveStreamTranscodeRequest) (response *AddLiveStreamTranscodeResponse, err error) {
+	response = CreateAddLiveStreamTranscodeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddLiveStreamTranscodeWithChan invokes the cdn.AddLiveStreamTranscode API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addlivestreamtranscode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveStreamTranscodeWithChan(request *AddLiveStreamTranscodeRequest) (<-chan *AddLiveStreamTranscodeResponse, <-chan error) {
+	responseChan := make(chan *AddLiveStreamTranscodeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveStreamTranscode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddLiveStreamTranscodeWithCallback invokes the cdn.AddLiveStreamTranscode API asynchronously
+// api document: https://help.aliyun.com/api/cdn/addlivestreamtranscode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLiveStreamTranscodeWithCallback(request *AddLiveStreamTranscodeRequest, callback func(response *AddLiveStreamTranscodeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveStreamTranscodeResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveStreamTranscode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddLiveStreamTranscodeRequest is the request struct for api AddLiveStreamTranscode
+type AddLiveStreamTranscodeRequest struct {
+	*requests.RpcRequest
+	Template      string           `position:"Query" name:"Template"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	Record        string           `position:"Query" name:"Record"`
+	App           string           `position:"Query" name:"App"`
+	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	Domain        string           `position:"Query" name:"Domain"`
+	Snapshot      string           `position:"Query" name:"Snapshot"`
+}
+
+// AddLiveStreamTranscodeResponse is the response struct for api AddLiveStreamTranscode
+type AddLiveStreamTranscodeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddLiveStreamTranscodeRequest creates a request to invoke AddLiveStreamTranscode API
+func CreateAddLiveStreamTranscodeRequest() (request *AddLiveStreamTranscodeRequest) {
+	request = &AddLiveStreamTranscodeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveStreamTranscode", "", "")
+	return
+}
+
+// CreateAddLiveStreamTranscodeResponse creates a response to parse from AddLiveStreamTranscode response
+func CreateAddLiveStreamTranscodeResponse() (response *AddLiveStreamTranscodeResponse) {
+	response = &AddLiveStreamTranscodeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/cdn/batch_add_cdn_domain.go

@@ -76,13 +76,13 @@ func (client *Client) BatchAddCdnDomainWithCallback(request *BatchAddCdnDomainRe
 // BatchAddCdnDomainRequest is the request struct for api BatchAddCdnDomain
 // BatchAddCdnDomainRequest is the request struct for api BatchAddCdnDomain
 type BatchAddCdnDomainRequest struct {
 type BatchAddCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
-	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	Sources         string           `position:"Query" name:"Sources"`
 	Sources         string           `position:"Query" name:"Sources"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	CdnType         string           `position:"Query" name:"CdnType"`
 	CdnType         string           `position:"Query" name:"CdnType"`
-	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	Scope           string           `position:"Query" name:"Scope"`
 	Scope           string           `position:"Query" name:"Scope"`
+	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
+	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	CheckUrl        string           `position:"Query" name:"CheckUrl"`
 	CheckUrl        string           `position:"Query" name:"CheckUrl"`
@@ -99,7 +99,7 @@ func CreateBatchAddCdnDomainRequest() (request *BatchAddCdnDomainRequest) {
 	request = &BatchAddCdnDomainRequest{
 	request = &BatchAddCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchAddCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchAddCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/batch_delete_cdn_domain_config.go

@@ -77,10 +77,10 @@ func (client *Client) BatchDeleteCdnDomainConfigWithCallback(request *BatchDelet
 type BatchDeleteCdnDomainConfigRequest struct {
 type BatchDeleteCdnDomainConfigRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	FunctionNames string           `position:"Query" name:"FunctionNames"`
 	FunctionNames string           `position:"Query" name:"FunctionNames"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // BatchDeleteCdnDomainConfigResponse is the response struct for api BatchDeleteCdnDomainConfig
 // BatchDeleteCdnDomainConfigResponse is the response struct for api BatchDeleteCdnDomainConfig
@@ -94,7 +94,7 @@ func CreateBatchDeleteCdnDomainConfigRequest() (request *BatchDeleteCdnDomainCon
 	request = &BatchDeleteCdnDomainConfigRequest{
 	request = &BatchDeleteCdnDomainConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchDeleteCdnDomainConfig", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchDeleteCdnDomainConfig", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/batch_set_cdn_domain_config.go

@@ -77,10 +77,10 @@ func (client *Client) BatchSetCdnDomainConfigWithCallback(request *BatchSetCdnDo
 type BatchSetCdnDomainConfigRequest struct {
 type BatchSetCdnDomainConfigRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	Functions     string           `position:"Query" name:"Functions"`
 	Functions     string           `position:"Query" name:"Functions"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // BatchSetCdnDomainConfigResponse is the response struct for api BatchSetCdnDomainConfig
 // BatchSetCdnDomainConfigResponse is the response struct for api BatchSetCdnDomainConfig
@@ -94,7 +94,7 @@ func CreateBatchSetCdnDomainConfigRequest() (request *BatchSetCdnDomainConfigReq
 	request = &BatchSetCdnDomainConfigRequest{
 	request = &BatchSetCdnDomainConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchSetCdnDomainConfig", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchSetCdnDomainConfig", "", "")
 	return
 	return
 }
 }
 
 

+ 5 - 5
services/cdn/batch_set_cdn_domain_server_certificate.go

@@ -76,16 +76,16 @@ func (client *Client) BatchSetCdnDomainServerCertificateWithCallback(request *Ba
 // BatchSetCdnDomainServerCertificateRequest is the request struct for api BatchSetCdnDomainServerCertificate
 // BatchSetCdnDomainServerCertificateRequest is the request struct for api BatchSetCdnDomainServerCertificate
 type BatchSetCdnDomainServerCertificateRequest struct {
 type BatchSetCdnDomainServerCertificateRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	ForceSet      string           `position:"Query" name:"ForceSet"`
+	SSLProtocol   string           `position:"Query" name:"SSLProtocol"`
 	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	CertType      string           `position:"Query" name:"CertType"`
 	CertType      string           `position:"Query" name:"CertType"`
-	SSLPub        string           `position:"Query" name:"SSLPub"`
+	SSLPri        string           `position:"Query" name:"SSLPri"`
+	ForceSet      string           `position:"Query" name:"ForceSet"`
 	CertName      string           `position:"Query" name:"CertName"`
 	CertName      string           `position:"Query" name:"CertName"`
-	SSLProtocol   string           `position:"Query" name:"SSLProtocol"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SSLPub        string           `position:"Query" name:"SSLPub"`
 	Region        string           `position:"Query" name:"Region"`
 	Region        string           `position:"Query" name:"Region"`
-	SSLPri        string           `position:"Query" name:"SSLPri"`
 }
 }
 
 
 // BatchSetCdnDomainServerCertificateResponse is the response struct for api BatchSetCdnDomainServerCertificate
 // BatchSetCdnDomainServerCertificateResponse is the response struct for api BatchSetCdnDomainServerCertificate
@@ -99,7 +99,7 @@ func CreateBatchSetCdnDomainServerCertificateRequest() (request *BatchSetCdnDoma
 	request = &BatchSetCdnDomainServerCertificateRequest{
 	request = &BatchSetCdnDomainServerCertificateRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchSetCdnDomainServerCertificate", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchSetCdnDomainServerCertificate", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/batch_start_cdn_domain.go

@@ -76,9 +76,9 @@ func (client *Client) BatchStartCdnDomainWithCallback(request *BatchStartCdnDoma
 // BatchStartCdnDomainRequest is the request struct for api BatchStartCdnDomain
 // BatchStartCdnDomainRequest is the request struct for api BatchStartCdnDomain
 type BatchStartCdnDomainRequest struct {
 type BatchStartCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // BatchStartCdnDomainResponse is the response struct for api BatchStartCdnDomain
 // BatchStartCdnDomainResponse is the response struct for api BatchStartCdnDomain
@@ -92,7 +92,7 @@ func CreateBatchStartCdnDomainRequest() (request *BatchStartCdnDomainRequest) {
 	request = &BatchStartCdnDomainRequest{
 	request = &BatchStartCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchStartCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchStartCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/batch_stop_cdn_domain.go

@@ -76,9 +76,9 @@ func (client *Client) BatchStopCdnDomainWithCallback(request *BatchStopCdnDomain
 // BatchStopCdnDomainRequest is the request struct for api BatchStopCdnDomain
 // BatchStopCdnDomainRequest is the request struct for api BatchStopCdnDomain
 type BatchStopCdnDomainRequest struct {
 type BatchStopCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // BatchStopCdnDomainResponse is the response struct for api BatchStopCdnDomain
 // BatchStopCdnDomainResponse is the response struct for api BatchStopCdnDomain
@@ -92,7 +92,7 @@ func CreateBatchStopCdnDomainRequest() (request *BatchStopCdnDomainRequest) {
 	request = &BatchStopCdnDomainRequest{
 	request = &BatchStopCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchStopCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchStopCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 3 - 3
services/cdn/batch_update_cdn_domain.go

@@ -76,10 +76,10 @@ func (client *Client) BatchUpdateCdnDomainWithCallback(request *BatchUpdateCdnDo
 // BatchUpdateCdnDomainRequest is the request struct for api BatchUpdateCdnDomain
 // BatchUpdateCdnDomainRequest is the request struct for api BatchUpdateCdnDomain
 type BatchUpdateCdnDomainRequest struct {
 type BatchUpdateCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
-	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	Sources         string           `position:"Query" name:"Sources"`
 	Sources         string           `position:"Query" name:"Sources"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	SecurityToken   string           `position:"Query" name:"SecurityToken"`
+	TopLevelDomain  string           `position:"Query" name:"TopLevelDomain"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 }
 }
@@ -95,7 +95,7 @@ func CreateBatchUpdateCdnDomainRequest() (request *BatchUpdateCdnDomainRequest)
 	request = &BatchUpdateCdnDomainRequest{
 	request = &BatchUpdateCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchUpdateCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchUpdateCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 113 - 0
services/cdn/create_live_stream_record_index_files.go

@@ -0,0 +1,113 @@
+package cdn
+
+//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"
+)
+
+// CreateLiveStreamRecordIndexFiles invokes the cdn.CreateLiveStreamRecordIndexFiles API synchronously
+// api document: https://help.aliyun.com/api/cdn/createlivestreamrecordindexfiles.html
+func (client *Client) CreateLiveStreamRecordIndexFiles(request *CreateLiveStreamRecordIndexFilesRequest) (response *CreateLiveStreamRecordIndexFilesResponse, err error) {
+	response = CreateCreateLiveStreamRecordIndexFilesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateLiveStreamRecordIndexFilesWithChan invokes the cdn.CreateLiveStreamRecordIndexFiles API asynchronously
+// api document: https://help.aliyun.com/api/cdn/createlivestreamrecordindexfiles.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateLiveStreamRecordIndexFilesWithChan(request *CreateLiveStreamRecordIndexFilesRequest) (<-chan *CreateLiveStreamRecordIndexFilesResponse, <-chan error) {
+	responseChan := make(chan *CreateLiveStreamRecordIndexFilesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateLiveStreamRecordIndexFiles(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateLiveStreamRecordIndexFilesWithCallback invokes the cdn.CreateLiveStreamRecordIndexFiles API asynchronously
+// api document: https://help.aliyun.com/api/cdn/createlivestreamrecordindexfiles.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateLiveStreamRecordIndexFilesWithCallback(request *CreateLiveStreamRecordIndexFilesRequest, callback func(response *CreateLiveStreamRecordIndexFilesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateLiveStreamRecordIndexFilesResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateLiveStreamRecordIndexFiles(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateLiveStreamRecordIndexFilesRequest is the request struct for api CreateLiveStreamRecordIndexFiles
+type CreateLiveStreamRecordIndexFilesRequest struct {
+	*requests.RpcRequest
+	OssEndpoint   string           `position:"Query" name:"OssEndpoint"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OssObject     string           `position:"Query" name:"OssObject"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	OssBucket     string           `position:"Query" name:"OssBucket"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// CreateLiveStreamRecordIndexFilesResponse is the response struct for api CreateLiveStreamRecordIndexFiles
+type CreateLiveStreamRecordIndexFilesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	RecordInfo RecordInfo `json:"RecordInfo" xml:"RecordInfo"`
+}
+
+// CreateCreateLiveStreamRecordIndexFilesRequest creates a request to invoke CreateLiveStreamRecordIndexFiles API
+func CreateCreateLiveStreamRecordIndexFilesRequest() (request *CreateLiveStreamRecordIndexFilesRequest) {
+	request = &CreateLiveStreamRecordIndexFilesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "CreateLiveStreamRecordIndexFiles", "", "")
+	return
+}
+
+// CreateCreateLiveStreamRecordIndexFilesResponse creates a response to parse from CreateLiveStreamRecordIndexFiles response
+func CreateCreateLiveStreamRecordIndexFilesResponse() (response *CreateLiveStreamRecordIndexFilesResponse) {
+	response = &CreateLiveStreamRecordIndexFilesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cdn/create_real_time_log_delivery.go

@@ -0,0 +1,107 @@
+package cdn
+
+//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"
+)
+
+// CreateRealTimeLogDelivery invokes the cdn.CreateRealTimeLogDelivery API synchronously
+// api document: https://help.aliyun.com/api/cdn/createrealtimelogdelivery.html
+func (client *Client) CreateRealTimeLogDelivery(request *CreateRealTimeLogDeliveryRequest) (response *CreateRealTimeLogDeliveryResponse, err error) {
+	response = CreateCreateRealTimeLogDeliveryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRealTimeLogDeliveryWithChan invokes the cdn.CreateRealTimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/createrealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRealTimeLogDeliveryWithChan(request *CreateRealTimeLogDeliveryRequest) (<-chan *CreateRealTimeLogDeliveryResponse, <-chan error) {
+	responseChan := make(chan *CreateRealTimeLogDeliveryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRealTimeLogDelivery(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRealTimeLogDeliveryWithCallback invokes the cdn.CreateRealTimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/createrealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRealTimeLogDeliveryWithCallback(request *CreateRealTimeLogDeliveryRequest, callback func(response *CreateRealTimeLogDeliveryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRealTimeLogDeliveryResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRealTimeLogDelivery(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRealTimeLogDeliveryRequest is the request struct for api CreateRealTimeLogDelivery
+type CreateRealTimeLogDeliveryRequest struct {
+	*requests.RpcRequest
+	Project  string           `position:"Query" name:"Project"`
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	Domain   string           `position:"Query" name:"Domain"`
+	Region   string           `position:"Query" name:"Region"`
+	Logstore string           `position:"Query" name:"Logstore"`
+}
+
+// CreateRealTimeLogDeliveryResponse is the response struct for api CreateRealTimeLogDelivery
+type CreateRealTimeLogDeliveryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateRealTimeLogDeliveryRequest creates a request to invoke CreateRealTimeLogDelivery API
+func CreateCreateRealTimeLogDeliveryRequest() (request *CreateRealTimeLogDeliveryRequest) {
+	request = &CreateRealTimeLogDeliveryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "CreateRealTimeLogDelivery", "", "")
+	return
+}
+
+// CreateCreateRealTimeLogDeliveryResponse creates a response to parse from CreateRealTimeLogDelivery response
+func CreateCreateRealTimeLogDeliveryResponse() (response *CreateRealTimeLogDeliveryResponse) {
+	response = &CreateRealTimeLogDeliveryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/create_usage_detail_data_export_task.go

@@ -100,7 +100,7 @@ func CreateCreateUsageDetailDataExportTaskRequest() (request *CreateUsageDetailD
 	request = &CreateUsageDetailDataExportTaskRequest{
 	request = &CreateUsageDetailDataExportTaskRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "CreateUsageDetailDataExportTask", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "CreateUsageDetailDataExportTask", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/create_user_usage_data_export_task.go

@@ -97,7 +97,7 @@ func CreateCreateUserUsageDataExportTaskRequest() (request *CreateUserUsageDataE
 	request = &CreateUserUsageDataExportTaskRequest{
 	request = &CreateUserUsageDataExportTaskRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "CreateUserUsageDataExportTask", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "CreateUserUsageDataExportTask", "", "")
 	return
 	return
 }
 }
 
 

+ 107 - 0
services/cdn/delete_cache_expired_config.go

@@ -0,0 +1,107 @@
+package cdn
+
+//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"
+)
+
+// DeleteCacheExpiredConfig invokes the cdn.DeleteCacheExpiredConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/deletecacheexpiredconfig.html
+func (client *Client) DeleteCacheExpiredConfig(request *DeleteCacheExpiredConfigRequest) (response *DeleteCacheExpiredConfigResponse, err error) {
+	response = CreateDeleteCacheExpiredConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteCacheExpiredConfigWithChan invokes the cdn.DeleteCacheExpiredConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletecacheexpiredconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCacheExpiredConfigWithChan(request *DeleteCacheExpiredConfigRequest) (<-chan *DeleteCacheExpiredConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteCacheExpiredConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCacheExpiredConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteCacheExpiredConfigWithCallback invokes the cdn.DeleteCacheExpiredConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletecacheexpiredconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCacheExpiredConfigWithCallback(request *DeleteCacheExpiredConfigRequest, callback func(response *DeleteCacheExpiredConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCacheExpiredConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCacheExpiredConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteCacheExpiredConfigRequest is the request struct for api DeleteCacheExpiredConfig
+type DeleteCacheExpiredConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	CacheType     string           `position:"Query" name:"CacheType"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ConfigID      string           `position:"Query" name:"ConfigID"`
+}
+
+// DeleteCacheExpiredConfigResponse is the response struct for api DeleteCacheExpiredConfig
+type DeleteCacheExpiredConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteCacheExpiredConfigRequest creates a request to invoke DeleteCacheExpiredConfig API
+func CreateDeleteCacheExpiredConfigRequest() (request *DeleteCacheExpiredConfigRequest) {
+	request = &DeleteCacheExpiredConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteCacheExpiredConfig", "", "")
+	return
+}
+
+// CreateDeleteCacheExpiredConfigResponse creates a response to parse from DeleteCacheExpiredConfig response
+func CreateDeleteCacheExpiredConfigResponse() (response *DeleteCacheExpiredConfigResponse) {
+	response = &DeleteCacheExpiredConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cdn/delete_cdn_domain.go

@@ -76,11 +76,11 @@ func (client *Client) DeleteCdnDomainWithCallback(request *DeleteCdnDomainReques
 // DeleteCdnDomainRequest is the request struct for api DeleteCdnDomain
 // DeleteCdnDomainRequest is the request struct for api DeleteCdnDomain
 type DeleteCdnDomainRequest struct {
 type DeleteCdnDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
-	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	DomainName      string           `position:"Query" name:"DomainName"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+	SecurityToken   string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DeleteCdnDomainResponse is the response struct for api DeleteCdnDomain
 // DeleteCdnDomainResponse is the response struct for api DeleteCdnDomain
@@ -94,7 +94,7 @@ func CreateDeleteCdnDomainRequest() (request *DeleteCdnDomainRequest) {
 	request = &DeleteCdnDomainRequest{
 	request = &DeleteCdnDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteCdnDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteCdnDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/delete_fc_trigger.go

@@ -91,7 +91,7 @@ func CreateDeleteFCTriggerRequest() (request *DeleteFCTriggerRequest) {
 	request = &DeleteFCTriggerRequest{
 	request = &DeleteFCTriggerRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteFCTrigger", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteFCTrigger", "", "")
 	return
 	return
 }
 }
 
 

+ 106 - 0
services/cdn/delete_http_header_config.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DeleteHttpHeaderConfig invokes the cdn.DeleteHttpHeaderConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/deletehttpheaderconfig.html
+func (client *Client) DeleteHttpHeaderConfig(request *DeleteHttpHeaderConfigRequest) (response *DeleteHttpHeaderConfigResponse, err error) {
+	response = CreateDeleteHttpHeaderConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteHttpHeaderConfigWithChan invokes the cdn.DeleteHttpHeaderConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletehttpheaderconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteHttpHeaderConfigWithChan(request *DeleteHttpHeaderConfigRequest) (<-chan *DeleteHttpHeaderConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteHttpHeaderConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteHttpHeaderConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteHttpHeaderConfigWithCallback invokes the cdn.DeleteHttpHeaderConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletehttpheaderconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteHttpHeaderConfigWithCallback(request *DeleteHttpHeaderConfigRequest, callback func(response *DeleteHttpHeaderConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteHttpHeaderConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteHttpHeaderConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteHttpHeaderConfigRequest is the request struct for api DeleteHttpHeaderConfig
+type DeleteHttpHeaderConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ConfigID      string           `position:"Query" name:"ConfigID"`
+}
+
+// DeleteHttpHeaderConfigResponse is the response struct for api DeleteHttpHeaderConfig
+type DeleteHttpHeaderConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteHttpHeaderConfigRequest creates a request to invoke DeleteHttpHeaderConfig API
+func CreateDeleteHttpHeaderConfigRequest() (request *DeleteHttpHeaderConfigRequest) {
+	request = &DeleteHttpHeaderConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteHttpHeaderConfig", "", "")
+	return
+}
+
+// CreateDeleteHttpHeaderConfigResponse creates a response to parse from DeleteHttpHeaderConfig response
+func CreateDeleteHttpHeaderConfigResponse() (response *DeleteHttpHeaderConfigResponse) {
+	response = &DeleteHttpHeaderConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/delete_live_app_record_config.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DeleteLiveAppRecordConfig invokes the cdn.DeleteLiveAppRecordConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveapprecordconfig.html
+func (client *Client) DeleteLiveAppRecordConfig(request *DeleteLiveAppRecordConfigRequest) (response *DeleteLiveAppRecordConfigResponse, err error) {
+	response = CreateDeleteLiveAppRecordConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteLiveAppRecordConfigWithChan invokes the cdn.DeleteLiveAppRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveapprecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveAppRecordConfigWithChan(request *DeleteLiveAppRecordConfigRequest) (<-chan *DeleteLiveAppRecordConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveAppRecordConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveAppRecordConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteLiveAppRecordConfigWithCallback invokes the cdn.DeleteLiveAppRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveapprecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveAppRecordConfigWithCallback(request *DeleteLiveAppRecordConfigRequest, callback func(response *DeleteLiveAppRecordConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveAppRecordConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveAppRecordConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteLiveAppRecordConfigRequest is the request struct for api DeleteLiveAppRecordConfig
+type DeleteLiveAppRecordConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+}
+
+// DeleteLiveAppRecordConfigResponse is the response struct for api DeleteLiveAppRecordConfig
+type DeleteLiveAppRecordConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteLiveAppRecordConfigRequest creates a request to invoke DeleteLiveAppRecordConfig API
+func CreateDeleteLiveAppRecordConfigRequest() (request *DeleteLiveAppRecordConfigRequest) {
+	request = &DeleteLiveAppRecordConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveAppRecordConfig", "", "")
+	return
+}
+
+// CreateDeleteLiveAppRecordConfigResponse creates a response to parse from DeleteLiveAppRecordConfig response
+func CreateDeleteLiveAppRecordConfigResponse() (response *DeleteLiveAppRecordConfigResponse) {
+	response = &DeleteLiveAppRecordConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/delete_live_app_snapshot_config.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DeleteLiveAppSnapshotConfig invokes the cdn.DeleteLiveAppSnapshotConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveappsnapshotconfig.html
+func (client *Client) DeleteLiveAppSnapshotConfig(request *DeleteLiveAppSnapshotConfigRequest) (response *DeleteLiveAppSnapshotConfigResponse, err error) {
+	response = CreateDeleteLiveAppSnapshotConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteLiveAppSnapshotConfigWithChan invokes the cdn.DeleteLiveAppSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveappsnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveAppSnapshotConfigWithChan(request *DeleteLiveAppSnapshotConfigRequest) (<-chan *DeleteLiveAppSnapshotConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveAppSnapshotConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveAppSnapshotConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteLiveAppSnapshotConfigWithCallback invokes the cdn.DeleteLiveAppSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteliveappsnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveAppSnapshotConfigWithCallback(request *DeleteLiveAppSnapshotConfigRequest, callback func(response *DeleteLiveAppSnapshotConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveAppSnapshotConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveAppSnapshotConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteLiveAppSnapshotConfigRequest is the request struct for api DeleteLiveAppSnapshotConfig
+type DeleteLiveAppSnapshotConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+}
+
+// DeleteLiveAppSnapshotConfigResponse is the response struct for api DeleteLiveAppSnapshotConfig
+type DeleteLiveAppSnapshotConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteLiveAppSnapshotConfigRequest creates a request to invoke DeleteLiveAppSnapshotConfig API
+func CreateDeleteLiveAppSnapshotConfigRequest() (request *DeleteLiveAppSnapshotConfigRequest) {
+	request = &DeleteLiveAppSnapshotConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveAppSnapshotConfig", "", "")
+	return
+}
+
+// CreateDeleteLiveAppSnapshotConfigResponse creates a response to parse from DeleteLiveAppSnapshotConfig response
+func CreateDeleteLiveAppSnapshotConfigResponse() (response *DeleteLiveAppSnapshotConfigResponse) {
+	response = &DeleteLiveAppSnapshotConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/delete_live_domain_mapping.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DeleteLiveDomainMapping invokes the cdn.DeleteLiveDomainMapping API synchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivedomainmapping.html
+func (client *Client) DeleteLiveDomainMapping(request *DeleteLiveDomainMappingRequest) (response *DeleteLiveDomainMappingResponse, err error) {
+	response = CreateDeleteLiveDomainMappingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteLiveDomainMappingWithChan invokes the cdn.DeleteLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveDomainMappingWithChan(request *DeleteLiveDomainMappingRequest) (<-chan *DeleteLiveDomainMappingResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveDomainMappingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveDomainMapping(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteLiveDomainMappingWithCallback invokes the cdn.DeleteLiveDomainMapping API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivedomainmapping.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveDomainMappingWithCallback(request *DeleteLiveDomainMappingRequest, callback func(response *DeleteLiveDomainMappingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveDomainMappingResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveDomainMapping(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteLiveDomainMappingRequest is the request struct for api DeleteLiveDomainMapping
+type DeleteLiveDomainMappingRequest struct {
+	*requests.RpcRequest
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PullDomain    string           `position:"Query" name:"PullDomain"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	PushDomain    string           `position:"Query" name:"PushDomain"`
+}
+
+// DeleteLiveDomainMappingResponse is the response struct for api DeleteLiveDomainMapping
+type DeleteLiveDomainMappingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteLiveDomainMappingRequest creates a request to invoke DeleteLiveDomainMapping API
+func CreateDeleteLiveDomainMappingRequest() (request *DeleteLiveDomainMappingRequest) {
+	request = &DeleteLiveDomainMappingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveDomainMapping", "", "")
+	return
+}
+
+// CreateDeleteLiveDomainMappingResponse creates a response to parse from DeleteLiveDomainMapping response
+func CreateDeleteLiveDomainMappingResponse() (response *DeleteLiveDomainMappingResponse) {
+	response = &DeleteLiveDomainMappingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cdn/delete_live_stream_transcode.go

@@ -0,0 +1,108 @@
+package cdn
+
+//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"
+)
+
+// DeleteLiveStreamTranscode invokes the cdn.DeleteLiveStreamTranscode API synchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivestreamtranscode.html
+func (client *Client) DeleteLiveStreamTranscode(request *DeleteLiveStreamTranscodeRequest) (response *DeleteLiveStreamTranscodeResponse, err error) {
+	response = CreateDeleteLiveStreamTranscodeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteLiveStreamTranscodeWithChan invokes the cdn.DeleteLiveStreamTranscode API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivestreamtranscode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveStreamTranscodeWithChan(request *DeleteLiveStreamTranscodeRequest) (<-chan *DeleteLiveStreamTranscodeResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveStreamTranscodeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveStreamTranscode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteLiveStreamTranscodeWithCallback invokes the cdn.DeleteLiveStreamTranscode API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletelivestreamtranscode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLiveStreamTranscodeWithCallback(request *DeleteLiveStreamTranscodeRequest, callback func(response *DeleteLiveStreamTranscodeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveStreamTranscodeResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveStreamTranscode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteLiveStreamTranscodeRequest is the request struct for api DeleteLiveStreamTranscode
+type DeleteLiveStreamTranscodeRequest struct {
+	*requests.RpcRequest
+	Template      string           `position:"Query" name:"Template"`
+	App           string           `position:"Query" name:"App"`
+	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	Domain        string           `position:"Query" name:"Domain"`
+}
+
+// DeleteLiveStreamTranscodeResponse is the response struct for api DeleteLiveStreamTranscode
+type DeleteLiveStreamTranscodeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteLiveStreamTranscodeRequest creates a request to invoke DeleteLiveStreamTranscode API
+func CreateDeleteLiveStreamTranscodeRequest() (request *DeleteLiveStreamTranscodeRequest) {
+	request = &DeleteLiveStreamTranscodeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveStreamTranscode", "", "")
+	return
+}
+
+// CreateDeleteLiveStreamTranscodeResponse creates a response to parse from DeleteLiveStreamTranscode response
+func CreateDeleteLiveStreamTranscodeResponse() (response *DeleteLiveStreamTranscodeResponse) {
+	response = &DeleteLiveStreamTranscodeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cdn/delete_realtime_log_delivery.go

@@ -0,0 +1,107 @@
+package cdn
+
+//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"
+)
+
+// DeleteRealtimeLogDelivery invokes the cdn.DeleteRealtimeLogDelivery API synchronously
+// api document: https://help.aliyun.com/api/cdn/deleterealtimelogdelivery.html
+func (client *Client) DeleteRealtimeLogDelivery(request *DeleteRealtimeLogDeliveryRequest) (response *DeleteRealtimeLogDeliveryResponse, err error) {
+	response = CreateDeleteRealtimeLogDeliveryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRealtimeLogDeliveryWithChan invokes the cdn.DeleteRealtimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleterealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRealtimeLogDeliveryWithChan(request *DeleteRealtimeLogDeliveryRequest) (<-chan *DeleteRealtimeLogDeliveryResponse, <-chan error) {
+	responseChan := make(chan *DeleteRealtimeLogDeliveryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRealtimeLogDelivery(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRealtimeLogDeliveryWithCallback invokes the cdn.DeleteRealtimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleterealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRealtimeLogDeliveryWithCallback(request *DeleteRealtimeLogDeliveryRequest, callback func(response *DeleteRealtimeLogDeliveryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRealtimeLogDeliveryResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRealtimeLogDelivery(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRealtimeLogDeliveryRequest is the request struct for api DeleteRealtimeLogDelivery
+type DeleteRealtimeLogDeliveryRequest struct {
+	*requests.RpcRequest
+	Project  string           `position:"Query" name:"Project"`
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	Domain   string           `position:"Query" name:"Domain"`
+	Region   string           `position:"Query" name:"Region"`
+	Logstore string           `position:"Query" name:"Logstore"`
+}
+
+// DeleteRealtimeLogDeliveryResponse is the response struct for api DeleteRealtimeLogDelivery
+type DeleteRealtimeLogDeliveryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRealtimeLogDeliveryRequest creates a request to invoke DeleteRealtimeLogDelivery API
+func CreateDeleteRealtimeLogDeliveryRequest() (request *DeleteRealtimeLogDeliveryRequest) {
+	request = &DeleteRealtimeLogDeliveryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteRealtimeLogDelivery", "", "")
+	return
+}
+
+// CreateDeleteRealtimeLogDeliveryResponse creates a response to parse from DeleteRealtimeLogDelivery response
+func CreateDeleteRealtimeLogDeliveryResponse() (response *DeleteRealtimeLogDeliveryResponse) {
+	response = &DeleteRealtimeLogDeliveryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cdn/delete_specific_config.go

@@ -76,10 +76,10 @@ func (client *Client) DeleteSpecificConfigWithCallback(request *DeleteSpecificCo
 // DeleteSpecificConfigRequest is the request struct for api DeleteSpecificConfig
 // DeleteSpecificConfigRequest is the request struct for api DeleteSpecificConfig
 type DeleteSpecificConfigRequest struct {
 type DeleteSpecificConfigRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	ConfigId      string           `position:"Query" name:"ConfigId"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ConfigId      string           `position:"Query" name:"ConfigId"`
 }
 }
 
 
 // DeleteSpecificConfigResponse is the response struct for api DeleteSpecificConfig
 // DeleteSpecificConfigResponse is the response struct for api DeleteSpecificConfig
@@ -93,7 +93,7 @@ func CreateDeleteSpecificConfigRequest() (request *DeleteSpecificConfigRequest)
 	request = &DeleteSpecificConfigRequest{
 	request = &DeleteSpecificConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteSpecificConfig", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteSpecificConfig", "", "")
 	return
 	return
 }
 }
 
 

+ 0 - 106
services/cdn/delete_specific_staging_config.go

@@ -1,106 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DeleteSpecificStagingConfig invokes the cdn.DeleteSpecificStagingConfig API synchronously
-// api document: https://help.aliyun.com/api/cdn/deletespecificstagingconfig.html
-func (client *Client) DeleteSpecificStagingConfig(request *DeleteSpecificStagingConfigRequest) (response *DeleteSpecificStagingConfigResponse, err error) {
-	response = CreateDeleteSpecificStagingConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteSpecificStagingConfigWithChan invokes the cdn.DeleteSpecificStagingConfig API asynchronously
-// api document: https://help.aliyun.com/api/cdn/deletespecificstagingconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteSpecificStagingConfigWithChan(request *DeleteSpecificStagingConfigRequest) (<-chan *DeleteSpecificStagingConfigResponse, <-chan error) {
-	responseChan := make(chan *DeleteSpecificStagingConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteSpecificStagingConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteSpecificStagingConfigWithCallback invokes the cdn.DeleteSpecificStagingConfig API asynchronously
-// api document: https://help.aliyun.com/api/cdn/deletespecificstagingconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteSpecificStagingConfigWithCallback(request *DeleteSpecificStagingConfigRequest, callback func(response *DeleteSpecificStagingConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteSpecificStagingConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteSpecificStagingConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteSpecificStagingConfigRequest is the request struct for api DeleteSpecificStagingConfig
-type DeleteSpecificStagingConfigRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	ConfigId      string           `position:"Query" name:"ConfigId"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DeleteSpecificStagingConfigResponse is the response struct for api DeleteSpecificStagingConfig
-type DeleteSpecificStagingConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateDeleteSpecificStagingConfigRequest creates a request to invoke DeleteSpecificStagingConfig API
-func CreateDeleteSpecificStagingConfigRequest() (request *DeleteSpecificStagingConfigRequest) {
-	request = &DeleteSpecificStagingConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteSpecificStagingConfig", "cdn", "openAPI")
-	return
-}
-
-// CreateDeleteSpecificStagingConfigResponse creates a response to parse from DeleteSpecificStagingConfig response
-func CreateDeleteSpecificStagingConfigResponse() (response *DeleteSpecificStagingConfigResponse) {
-	response = &DeleteSpecificStagingConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 1
services/cdn/delete_usage_detail_data_export_task.go

@@ -91,7 +91,7 @@ func CreateDeleteUsageDetailDataExportTaskRequest() (request *DeleteUsageDetailD
 	request = &DeleteUsageDetailDataExportTaskRequest{
 	request = &DeleteUsageDetailDataExportTaskRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUsageDetailDataExportTask", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUsageDetailDataExportTask", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/delete_user_usage_data_export_task.go

@@ -91,7 +91,7 @@ func CreateDeleteUserUsageDataExportTaskRequest() (request *DeleteUserUsageDataE
 	request = &DeleteUserUsageDataExportTaskRequest{
 	request = &DeleteUserUsageDataExportTaskRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUserUsageDataExportTask", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUserUsageDataExportTask", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_certificate_detail.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeCdnCertificateDetailWithCallback(request *Describe
 // DescribeCdnCertificateDetailRequest is the request struct for api DescribeCdnCertificateDetail
 // DescribeCdnCertificateDetailRequest is the request struct for api DescribeCdnCertificateDetail
 type DescribeCdnCertificateDetailRequest struct {
 type DescribeCdnCertificateDetailRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	CertName      string           `position:"Query" name:"CertName"`
 	CertName      string           `position:"Query" name:"CertName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnCertificateDetailResponse is the response struct for api DescribeCdnCertificateDetail
 // DescribeCdnCertificateDetailResponse is the response struct for api DescribeCdnCertificateDetail
@@ -96,7 +96,7 @@ func CreateDescribeCdnCertificateDetailRequest() (request *DescribeCdnCertificat
 	request = &DescribeCdnCertificateDetailRequest{
 	request = &DescribeCdnCertificateDetailRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnCertificateDetail", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnCertificateDetail", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_certificate_list.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeCdnCertificateListWithCallback(request *DescribeCd
 // DescribeCdnCertificateListRequest is the request struct for api DescribeCdnCertificateList
 // DescribeCdnCertificateListRequest is the request struct for api DescribeCdnCertificateList
 type DescribeCdnCertificateListRequest struct {
 type DescribeCdnCertificateListRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnCertificateListResponse is the response struct for api DescribeCdnCertificateList
 // DescribeCdnCertificateListResponse is the response struct for api DescribeCdnCertificateList
@@ -93,7 +93,7 @@ func CreateDescribeCdnCertificateListRequest() (request *DescribeCdnCertificateL
 	request = &DescribeCdnCertificateListRequest{
 	request = &DescribeCdnCertificateListRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnCertificateList", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnCertificateList", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_cdn_domain_by_certificate.go

@@ -92,7 +92,7 @@ func CreateDescribeCdnDomainByCertificateRequest() (request *DescribeCdnDomainBy
 	request = &DescribeCdnDomainByCertificateRequest{
 	request = &DescribeCdnDomainByCertificateRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainByCertificate", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainByCertificate", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_domain_configs.go

@@ -77,9 +77,9 @@ func (client *Client) DescribeCdnDomainConfigsWithCallback(request *DescribeCdnD
 type DescribeCdnDomainConfigsRequest struct {
 type DescribeCdnDomainConfigsRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	FunctionNames string           `position:"Query" name:"FunctionNames"`
 	FunctionNames string           `position:"Query" name:"FunctionNames"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnDomainConfigsResponse is the response struct for api DescribeCdnDomainConfigs
 // DescribeCdnDomainConfigsResponse is the response struct for api DescribeCdnDomainConfigs
@@ -94,7 +94,7 @@ func CreateDescribeCdnDomainConfigsRequest() (request *DescribeCdnDomainConfigsR
 	request = &DescribeCdnDomainConfigsRequest{
 	request = &DescribeCdnDomainConfigsRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainConfigs", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainConfigs", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_domain_detail.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeCdnDomainDetailWithCallback(request *DescribeCdnDo
 // DescribeCdnDomainDetailRequest is the request struct for api DescribeCdnDomainDetail
 // DescribeCdnDomainDetailRequest is the request struct for api DescribeCdnDomainDetail
 type DescribeCdnDomainDetailRequest struct {
 type DescribeCdnDomainDetailRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnDomainDetailResponse is the response struct for api DescribeCdnDomainDetail
 // DescribeCdnDomainDetailResponse is the response struct for api DescribeCdnDomainDetail
@@ -93,7 +93,7 @@ func CreateDescribeCdnDomainDetailRequest() (request *DescribeCdnDomainDetailReq
 	request = &DescribeCdnDomainDetailRequest{
 	request = &DescribeCdnDomainDetailRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainDetail", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainDetail", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_cdn_domain_logs.go

@@ -96,7 +96,7 @@ func CreateDescribeCdnDomainLogsRequest() (request *DescribeCdnDomainLogsRequest
 	request = &DescribeCdnDomainLogsRequest{
 	request = &DescribeCdnDomainLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainLogs", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnDomainLogs", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_cdn_https_domain_list.go

@@ -95,7 +95,7 @@ func CreateDescribeCdnHttpsDomainListRequest() (request *DescribeCdnHttpsDomainL
 	request = &DescribeCdnHttpsDomainListRequest{
 	request = &DescribeCdnHttpsDomainListRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnHttpsDomainList", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnHttpsDomainList", "", "")
 	return
 	return
 }
 }
 
 

+ 112 - 0
services/cdn/describe_cdn_monitor_data.go

@@ -0,0 +1,112 @@
+package cdn
+
+//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"
+)
+
+// DescribeCdnMonitorData invokes the cdn.DescribeCdnMonitorData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnmonitordata.html
+func (client *Client) DescribeCdnMonitorData(request *DescribeCdnMonitorDataRequest) (response *DescribeCdnMonitorDataResponse, err error) {
+	response = CreateDescribeCdnMonitorDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCdnMonitorDataWithChan invokes the cdn.DescribeCdnMonitorData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnmonitordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnMonitorDataWithChan(request *DescribeCdnMonitorDataRequest) (<-chan *DescribeCdnMonitorDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeCdnMonitorDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCdnMonitorData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCdnMonitorDataWithCallback invokes the cdn.DescribeCdnMonitorData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnmonitordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnMonitorDataWithCallback(request *DescribeCdnMonitorDataRequest, callback func(response *DescribeCdnMonitorDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCdnMonitorDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCdnMonitorData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCdnMonitorDataRequest is the request struct for api DescribeCdnMonitorData
+type DescribeCdnMonitorDataRequest 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"`
+}
+
+// DescribeCdnMonitorDataResponse is the response struct for api DescribeCdnMonitorData
+type DescribeCdnMonitorDataResponse 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"`
+	MonitorInterval string       `json:"MonitorInterval" xml:"MonitorInterval"`
+	MonitorDatas    MonitorDatas `json:"MonitorDatas" xml:"MonitorDatas"`
+}
+
+// CreateDescribeCdnMonitorDataRequest creates a request to invoke DescribeCdnMonitorData API
+func CreateDescribeCdnMonitorDataRequest() (request *DescribeCdnMonitorDataRequest) {
+	request = &DescribeCdnMonitorDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnMonitorData", "", "")
+	return
+}
+
+// CreateDescribeCdnMonitorDataResponse creates a response to parse from DescribeCdnMonitorData response
+func CreateDescribeCdnMonitorDataResponse() (response *DescribeCdnMonitorDataResponse) {
+	response = &DescribeCdnMonitorDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/cdn/describe_cdn_region_and_isp.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeCdnRegionAndIspWithCallback(request *DescribeCdnRe
 // DescribeCdnRegionAndIspRequest is the request struct for api DescribeCdnRegionAndIsp
 // DescribeCdnRegionAndIspRequest is the request struct for api DescribeCdnRegionAndIsp
 type DescribeCdnRegionAndIspRequest struct {
 type DescribeCdnRegionAndIspRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnRegionAndIspResponse is the response struct for api DescribeCdnRegionAndIsp
 // DescribeCdnRegionAndIspResponse is the response struct for api DescribeCdnRegionAndIsp
@@ -93,7 +93,7 @@ func CreateDescribeCdnRegionAndIspRequest() (request *DescribeCdnRegionAndIspReq
 	request = &DescribeCdnRegionAndIspRequest{
 	request = &DescribeCdnRegionAndIspRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnRegionAndIsp", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnRegionAndIsp", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_service.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeCdnServiceWithCallback(request *DescribeCdnService
 // DescribeCdnServiceRequest is the request struct for api DescribeCdnService
 // DescribeCdnServiceRequest is the request struct for api DescribeCdnService
 type DescribeCdnServiceRequest struct {
 type DescribeCdnServiceRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnServiceResponse is the response struct for api DescribeCdnService
 // DescribeCdnServiceResponse is the response struct for api DescribeCdnService
@@ -97,7 +97,7 @@ func CreateDescribeCdnServiceRequest() (request *DescribeCdnServiceRequest) {
 	request = &DescribeCdnServiceRequest{
 	request = &DescribeCdnServiceRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnService", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnService", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_types.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeCdnTypesWithCallback(request *DescribeCdnTypesRequ
 // DescribeCdnTypesRequest is the request struct for api DescribeCdnTypes
 // DescribeCdnTypesRequest is the request struct for api DescribeCdnTypes
 type DescribeCdnTypesRequest struct {
 type DescribeCdnTypesRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnTypesResponse is the response struct for api DescribeCdnTypes
 // DescribeCdnTypesResponse is the response struct for api DescribeCdnTypes
@@ -93,7 +93,7 @@ func CreateDescribeCdnTypesRequest() (request *DescribeCdnTypesRequest) {
 	request = &DescribeCdnTypesRequest{
 	request = &DescribeCdnTypesRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnTypes", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnTypes", "", "")
 	return
 	return
 }
 }
 
 

+ 111 - 0
services/cdn/describe_cdn_user_bill_prediction.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// DescribeCdnUserBillPrediction invokes the cdn.DescribeCdnUserBillPrediction API synchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserbillprediction.html
+func (client *Client) DescribeCdnUserBillPrediction(request *DescribeCdnUserBillPredictionRequest) (response *DescribeCdnUserBillPredictionResponse, err error) {
+	response = CreateDescribeCdnUserBillPredictionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCdnUserBillPredictionWithChan invokes the cdn.DescribeCdnUserBillPrediction API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserbillprediction.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnUserBillPredictionWithChan(request *DescribeCdnUserBillPredictionRequest) (<-chan *DescribeCdnUserBillPredictionResponse, <-chan error) {
+	responseChan := make(chan *DescribeCdnUserBillPredictionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCdnUserBillPrediction(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCdnUserBillPredictionWithCallback invokes the cdn.DescribeCdnUserBillPrediction API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserbillprediction.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnUserBillPredictionWithCallback(request *DescribeCdnUserBillPredictionRequest, callback func(response *DescribeCdnUserBillPredictionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCdnUserBillPredictionResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCdnUserBillPrediction(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCdnUserBillPredictionRequest is the request struct for api DescribeCdnUserBillPrediction
+type DescribeCdnUserBillPredictionRequest struct {
+	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
+	Dimension string           `position:"Query" name:"Dimension"`
+	Area      string           `position:"Query" name:"Area"`
+	EndTime   string           `position:"Query" name:"EndTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeCdnUserBillPredictionResponse is the response struct for api DescribeCdnUserBillPrediction
+type DescribeCdnUserBillPredictionResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	StartTime          string             `json:"StartTime" xml:"StartTime"`
+	EndTime            string             `json:"EndTime" xml:"EndTime"`
+	BillType           string             `json:"BillType" xml:"BillType"`
+	BillPredictionData BillPredictionData `json:"BillPredictionData" xml:"BillPredictionData"`
+}
+
+// CreateDescribeCdnUserBillPredictionRequest creates a request to invoke DescribeCdnUserBillPrediction API
+func CreateDescribeCdnUserBillPredictionRequest() (request *DescribeCdnUserBillPredictionRequest) {
+	request = &DescribeCdnUserBillPredictionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnUserBillPrediction", "", "")
+	return
+}
+
+// CreateDescribeCdnUserBillPredictionResponse creates a response to parse from DescribeCdnUserBillPrediction response
+func CreateDescribeCdnUserBillPredictionResponse() (response *DescribeCdnUserBillPredictionResponse) {
+	response = &DescribeCdnUserBillPredictionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/cdn/describe_cdn_user_quota.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeCdnUserQuotaWithCallback(request *DescribeCdnUserQ
 // DescribeCdnUserQuotaRequest is the request struct for api DescribeCdnUserQuota
 // DescribeCdnUserQuotaRequest is the request struct for api DescribeCdnUserQuota
 type DescribeCdnUserQuotaRequest struct {
 type DescribeCdnUserQuotaRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnUserQuotaResponse is the response struct for api DescribeCdnUserQuota
 // DescribeCdnUserQuotaResponse is the response struct for api DescribeCdnUserQuota
@@ -100,7 +100,7 @@ func CreateDescribeCdnUserQuotaRequest() (request *DescribeCdnUserQuotaRequest)
 	request = &DescribeCdnUserQuotaRequest{
 	request = &DescribeCdnUserQuotaRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnUserQuota", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnUserQuota", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_cdn_user_resource_package.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeCdnUserResourcePackageWithCallback(request *Descri
 // DescribeCdnUserResourcePackageRequest is the request struct for api DescribeCdnUserResourcePackage
 // DescribeCdnUserResourcePackageRequest is the request struct for api DescribeCdnUserResourcePackage
 type DescribeCdnUserResourcePackageRequest struct {
 type DescribeCdnUserResourcePackageRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeCdnUserResourcePackageResponse is the response struct for api DescribeCdnUserResourcePackage
 // DescribeCdnUserResourcePackageResponse is the response struct for api DescribeCdnUserResourcePackage
@@ -92,7 +92,7 @@ func CreateDescribeCdnUserResourcePackageRequest() (request *DescribeCdnUserReso
 	request = &DescribeCdnUserResourcePackageRequest{
 	request = &DescribeCdnUserResourcePackageRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnUserResourcePackage", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCdnUserResourcePackage", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_custom_log_config.go

@@ -94,7 +94,7 @@ func CreateDescribeCustomLogConfigRequest() (request *DescribeCustomLogConfigReq
 	request = &DescribeCustomLogConfigRequest{
 	request = &DescribeCustomLogConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCustomLogConfig", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeCustomLogConfig", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 5
services/cdn/describe_domain_average_response_time.go

@@ -94,10 +94,6 @@ type DescribeDomainAverageResponseTimeResponse struct {
 	DomainName       string           `json:"DomainName" xml:"DomainName"`
 	DomainName       string           `json:"DomainName" xml:"DomainName"`
 	StartTime        string           `json:"StartTime" xml:"StartTime"`
 	StartTime        string           `json:"StartTime" xml:"StartTime"`
 	EndTime          string           `json:"EndTime" xml:"EndTime"`
 	EndTime          string           `json:"EndTime" xml:"EndTime"`
-	LocationNameEn   string           `json:"LocationNameEn" xml:"LocationNameEn"`
-	IspNameEn        string           `json:"IspNameEn" xml:"IspNameEn"`
-	LocationName     string           `json:"LocationName" xml:"LocationName"`
-	IspName          string           `json:"IspName" xml:"IspName"`
 	DataInterval     string           `json:"DataInterval" xml:"DataInterval"`
 	DataInterval     string           `json:"DataInterval" xml:"DataInterval"`
 	AvgRTPerInterval AvgRTPerInterval `json:"AvgRTPerInterval" xml:"AvgRTPerInterval"`
 	AvgRTPerInterval AvgRTPerInterval `json:"AvgRTPerInterval" xml:"AvgRTPerInterval"`
 }
 }
@@ -107,7 +103,7 @@ func CreateDescribeDomainAverageResponseTimeRequest() (request *DescribeDomainAv
 	request = &DescribeDomainAverageResponseTimeRequest{
 	request = &DescribeDomainAverageResponseTimeRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainAverageResponseTime", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainAverageResponseTime", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_bps_data.go

@@ -103,7 +103,7 @@ func CreateDescribeDomainBpsDataRequest() (request *DescribeDomainBpsDataRequest
 	request = &DescribeDomainBpsDataRequest{
 	request = &DescribeDomainBpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainBpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainBpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_bps_data_by_time_stamp.go

@@ -97,7 +97,7 @@ func CreateDescribeDomainBpsDataByTimeStampRequest() (request *DescribeDomainBps
 	request = &DescribeDomainBpsDataByTimeStampRequest{
 	request = &DescribeDomainBpsDataByTimeStampRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainBpsDataByTimeStamp", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainBpsDataByTimeStamp", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_certificate_info.go

@@ -92,7 +92,7 @@ func CreateDescribeDomainCertificateInfoRequest() (request *DescribeDomainCertif
 	request = &DescribeDomainCertificateInfoRequest{
 	request = &DescribeDomainCertificateInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCertificateInfo", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCertificateInfo", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_cname.go

@@ -92,7 +92,7 @@ func CreateDescribeDomainCnameRequest() (request *DescribeDomainCnameRequest) {
 	request = &DescribeDomainCnameRequest{
 	request = &DescribeDomainCnameRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCname", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCname", "", "")
 	return
 	return
 }
 }
 
 

+ 107 - 0
services/cdn/describe_domain_configs.go

@@ -0,0 +1,107 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainConfigs invokes the cdn.DescribeDomainConfigs API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainconfigs.html
+func (client *Client) DescribeDomainConfigs(request *DescribeDomainConfigsRequest) (response *DescribeDomainConfigsResponse, err error) {
+	response = CreateDescribeDomainConfigsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainConfigsWithChan invokes the cdn.DescribeDomainConfigs API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainconfigs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainConfigsWithChan(request *DescribeDomainConfigsRequest) (<-chan *DescribeDomainConfigsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainConfigsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainConfigs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainConfigsWithCallback invokes the cdn.DescribeDomainConfigs API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainconfigs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainConfigsWithCallback(request *DescribeDomainConfigsRequest, callback func(response *DescribeDomainConfigsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainConfigsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainConfigs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainConfigsRequest is the request struct for api DescribeDomainConfigs
+type DescribeDomainConfigsRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ConfigList    string           `position:"Query" name:"ConfigList"`
+}
+
+// DescribeDomainConfigsResponse is the response struct for api DescribeDomainConfigs
+type DescribeDomainConfigsResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	DomainConfigs DomainConfigs `json:"DomainConfigs" xml:"DomainConfigs"`
+}
+
+// CreateDescribeDomainConfigsRequest creates a request to invoke DescribeDomainConfigs API
+func CreateDescribeDomainConfigsRequest() (request *DescribeDomainConfigsRequest) {
+	request = &DescribeDomainConfigsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainConfigs", "", "")
+	return
+}
+
+// CreateDescribeDomainConfigsResponse creates a response to parse from DescribeDomainConfigs response
+func CreateDescribeDomainConfigsResponse() (response *DescribeDomainConfigsResponse) {
+	response = &DescribeDomainConfigsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_custom_log_config.go

@@ -95,7 +95,7 @@ func CreateDescribeDomainCustomLogConfigRequest() (request *DescribeDomainCustom
 	request = &DescribeDomainCustomLogConfigRequest{
 	request = &DescribeDomainCustomLogConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCustomLogConfig", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainCustomLogConfig", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_domain_file_size_proportion_data.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainFileSizeProportionDataWithCallback(request *
 // DescribeDomainFileSizeProportionDataRequest is the request struct for api DescribeDomainFileSizeProportionData
 // DescribeDomainFileSizeProportionDataRequest is the request struct for api DescribeDomainFileSizeProportionData
 type DescribeDomainFileSizeProportionDataRequest struct {
 type DescribeDomainFileSizeProportionDataRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeDomainFileSizeProportionDataResponse is the response struct for api DescribeDomainFileSizeProportionData
 // DescribeDomainFileSizeProportionDataResponse is the response struct for api DescribeDomainFileSizeProportionData
@@ -99,7 +99,7 @@ func CreateDescribeDomainFileSizeProportionDataRequest() (request *DescribeDomai
 	request = &DescribeDomainFileSizeProportionDataRequest{
 	request = &DescribeDomainFileSizeProportionDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainFileSizeProportionData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainFileSizeProportionData", "", "")
 	return
 	return
 }
 }
 
 

+ 116 - 0
services/cdn/describe_domain_flow_data.go

@@ -0,0 +1,116 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainFlowData invokes the cdn.DescribeDomainFlowData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainflowdata.html
+func (client *Client) DescribeDomainFlowData(request *DescribeDomainFlowDataRequest) (response *DescribeDomainFlowDataResponse, err error) {
+	response = CreateDescribeDomainFlowDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainFlowDataWithChan invokes the cdn.DescribeDomainFlowData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainflowdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainFlowDataWithChan(request *DescribeDomainFlowDataRequest) (<-chan *DescribeDomainFlowDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainFlowDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainFlowData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainFlowDataWithCallback invokes the cdn.DescribeDomainFlowData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainflowdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainFlowDataWithCallback(request *DescribeDomainFlowDataRequest, callback func(response *DescribeDomainFlowDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainFlowDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainFlowData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainFlowDataRequest is the request struct for api DescribeDomainFlowData
+type DescribeDomainFlowDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainType     string           `position:"Query" name:"DomainType"`
+	TimeMerge      string           `position:"Query" name:"TimeMerge"`
+	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"`
+}
+
+// DescribeDomainFlowDataResponse is the response struct for api DescribeDomainFlowData
+type DescribeDomainFlowDataResponse 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"`
+	FlowDataPerInterval FlowDataPerInterval `json:"FlowDataPerInterval" xml:"FlowDataPerInterval"`
+}
+
+// CreateDescribeDomainFlowDataRequest creates a request to invoke DescribeDomainFlowData API
+func CreateDescribeDomainFlowDataRequest() (request *DescribeDomainFlowDataRequest) {
+	request = &DescribeDomainFlowDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainFlowData", "", "")
+	return
+}
+
+// CreateDescribeDomainFlowDataResponse creates a response to parse from DescribeDomainFlowData response
+func CreateDescribeDomainFlowDataResponse() (response *DescribeDomainFlowDataResponse) {
+	response = &DescribeDomainFlowDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_hit_rate_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainHitRateDataRequest() (request *DescribeDomainHitRateDat
 	request = &DescribeDomainHitRateDataRequest{
 	request = &DescribeDomainHitRateDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainHitRateData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainHitRateData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_http_code_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainHttpCodeDataRequest() (request *DescribeDomainHttpCodeD
 	request = &DescribeDomainHttpCodeDataRequest{
 	request = &DescribeDomainHttpCodeDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainHttpCodeData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainHttpCodeData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_isp_data.go

@@ -98,7 +98,7 @@ func CreateDescribeDomainISPDataRequest() (request *DescribeDomainISPDataRequest
 	request = &DescribeDomainISPDataRequest{
 	request = &DescribeDomainISPDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainISPData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainISPData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_max95_bps_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainMax95BpsDataRequest() (request *DescribeDomainMax95BpsD
 	request = &DescribeDomainMax95BpsDataRequest{
 	request = &DescribeDomainMax95BpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainMax95BpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainMax95BpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_path_data.go

@@ -103,7 +103,7 @@ func CreateDescribeDomainPathDataRequest() (request *DescribeDomainPathDataReque
 	request = &DescribeDomainPathDataRequest{
 	request = &DescribeDomainPathDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainPathData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainPathData", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_domain_pv_data.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainPvDataWithCallback(request *DescribeDomainPv
 // DescribeDomainPvDataRequest is the request struct for api DescribeDomainPvData
 // DescribeDomainPvDataRequest is the request struct for api DescribeDomainPvData
 type DescribeDomainPvDataRequest struct {
 type DescribeDomainPvDataRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeDomainPvDataResponse is the response struct for api DescribeDomainPvData
 // DescribeDomainPvDataResponse is the response struct for api DescribeDomainPvData
@@ -99,7 +99,7 @@ func CreateDescribeDomainPvDataRequest() (request *DescribeDomainPvDataRequest)
 	request = &DescribeDomainPvDataRequest{
 	request = &DescribeDomainPvDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainPvData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainPvData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_qps_data.go

@@ -101,7 +101,7 @@ func CreateDescribeDomainQpsDataRequest() (request *DescribeDomainQpsDataRequest
 	request = &DescribeDomainQpsDataRequest{
 	request = &DescribeDomainQpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainQpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainQpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_qps_data_by_layer.go

@@ -103,7 +103,7 @@ func CreateDescribeDomainQpsDataByLayerRequest() (request *DescribeDomainQpsData
 	request = &DescribeDomainQpsDataByLayerRequest{
 	request = &DescribeDomainQpsDataByLayerRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainQpsDataByLayer", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainQpsDataByLayer", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_real_time_bps_data.go

@@ -96,7 +96,7 @@ func CreateDescribeDomainRealTimeBpsDataRequest() (request *DescribeDomainRealTi
 	request = &DescribeDomainRealTimeBpsDataRequest{
 	request = &DescribeDomainRealTimeBpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeBpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeBpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_real_time_byte_hit_rate_data.go

@@ -94,7 +94,7 @@ func CreateDescribeDomainRealTimeByteHitRateDataRequest() (request *DescribeDoma
 	request = &DescribeDomainRealTimeByteHitRateDataRequest{
 	request = &DescribeDomainRealTimeByteHitRateDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeByteHitRateData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeByteHitRateData", "", "")
 	return
 	return
 }
 }
 
 

+ 111 - 0
services/cdn/describe_domain_real_time_detail_data.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeDetailData invokes the cdn.DescribeDomainRealTimeDetailData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedetaildata.html
+func (client *Client) DescribeDomainRealTimeDetailData(request *DescribeDomainRealTimeDetailDataRequest) (response *DescribeDomainRealTimeDetailDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeDetailDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeDetailDataWithChan invokes the cdn.DescribeDomainRealTimeDetailData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedetaildata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeDetailDataWithChan(request *DescribeDomainRealTimeDetailDataRequest) (<-chan *DescribeDomainRealTimeDetailDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeDetailDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeDetailData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeDetailDataWithCallback invokes the cdn.DescribeDomainRealTimeDetailData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedetaildata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeDetailDataWithCallback(request *DescribeDomainRealTimeDetailDataRequest, callback func(response *DescribeDomainRealTimeDetailDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeDetailDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeDetailData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeDetailDataRequest is the request struct for api DescribeDomainRealTimeDetailData
+type DescribeDomainRealTimeDetailDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	Merge          string           `position:"Query" name:"Merge"`
+	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"`
+}
+
+// DescribeDomainRealTimeDetailDataResponse is the response struct for api DescribeDomainRealTimeDetailData
+type DescribeDomainRealTimeDetailDataResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeDomainRealTimeDetailDataRequest creates a request to invoke DescribeDomainRealTimeDetailData API
+func CreateDescribeDomainRealTimeDetailDataRequest() (request *DescribeDomainRealTimeDetailDataRequest) {
+	request = &DescribeDomainRealTimeDetailDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeDetailData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeDetailDataResponse creates a response to parse from DescribeDomainRealTimeDetailData response
+func CreateDescribeDomainRealTimeDetailDataResponse() (response *DescribeDomainRealTimeDetailDataResponse) {
+	response = &DescribeDomainRealTimeDetailDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_real_time_http_code_data.go

@@ -100,7 +100,7 @@ func CreateDescribeDomainRealTimeHttpCodeDataRequest() (request *DescribeDomainR
 	request = &DescribeDomainRealTimeHttpCodeDataRequest{
 	request = &DescribeDomainRealTimeHttpCodeDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeHttpCodeData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeHttpCodeData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_real_time_qps_data.go

@@ -96,7 +96,7 @@ func CreateDescribeDomainRealTimeQpsDataRequest() (request *DescribeDomainRealTi
 	request = &DescribeDomainRealTimeQpsDataRequest{
 	request = &DescribeDomainRealTimeQpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeQpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeQpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_real_time_req_hit_rate_data.go

@@ -94,7 +94,7 @@ func CreateDescribeDomainRealTimeReqHitRateDataRequest() (request *DescribeDomai
 	request = &DescribeDomainRealTimeReqHitRateDataRequest{
 	request = &DescribeDomainRealTimeReqHitRateDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeReqHitRateData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeReqHitRateData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_real_time_src_bps_data.go

@@ -98,7 +98,7 @@ func CreateDescribeDomainRealTimeSrcBpsDataRequest() (request *DescribeDomainRea
 	request = &DescribeDomainRealTimeSrcBpsDataRequest{
 	request = &DescribeDomainRealTimeSrcBpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeSrcBpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeSrcBpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 113 - 0
services/cdn/describe_domain_real_time_src_http_code_data.go

@@ -0,0 +1,113 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeSrcHttpCodeData invokes the cdn.DescribeDomainRealTimeSrcHttpCodeData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrchttpcodedata.html
+func (client *Client) DescribeDomainRealTimeSrcHttpCodeData(request *DescribeDomainRealTimeSrcHttpCodeDataRequest) (response *DescribeDomainRealTimeSrcHttpCodeDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeSrcHttpCodeDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeSrcHttpCodeDataWithChan invokes the cdn.DescribeDomainRealTimeSrcHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrchttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcHttpCodeDataWithChan(request *DescribeDomainRealTimeSrcHttpCodeDataRequest) (<-chan *DescribeDomainRealTimeSrcHttpCodeDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeSrcHttpCodeDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeSrcHttpCodeData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeSrcHttpCodeDataWithCallback invokes the cdn.DescribeDomainRealTimeSrcHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrchttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcHttpCodeDataWithCallback(request *DescribeDomainRealTimeSrcHttpCodeDataRequest, callback func(response *DescribeDomainRealTimeSrcHttpCodeDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeSrcHttpCodeDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeSrcHttpCodeData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeSrcHttpCodeDataRequest is the request struct for api DescribeDomainRealTimeSrcHttpCodeData
+type DescribeDomainRealTimeSrcHttpCodeDataRequest 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"`
+}
+
+// DescribeDomainRealTimeSrcHttpCodeDataResponse is the response struct for api DescribeDomainRealTimeSrcHttpCodeData
+type DescribeDomainRealTimeSrcHttpCodeDataResponse 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"`
+	RealTimeSrcHttpCodeData RealTimeSrcHttpCodeData `json:"RealTimeSrcHttpCodeData" xml:"RealTimeSrcHttpCodeData"`
+}
+
+// CreateDescribeDomainRealTimeSrcHttpCodeDataRequest creates a request to invoke DescribeDomainRealTimeSrcHttpCodeData API
+func CreateDescribeDomainRealTimeSrcHttpCodeDataRequest() (request *DescribeDomainRealTimeSrcHttpCodeDataRequest) {
+	request = &DescribeDomainRealTimeSrcHttpCodeDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeSrcHttpCodeData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeSrcHttpCodeDataResponse creates a response to parse from DescribeDomainRealTimeSrcHttpCodeData response
+func CreateDescribeDomainRealTimeSrcHttpCodeDataResponse() (response *DescribeDomainRealTimeSrcHttpCodeDataResponse) {
+	response = &DescribeDomainRealTimeSrcHttpCodeDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_real_time_src_traffic_data.go

@@ -98,7 +98,7 @@ func CreateDescribeDomainRealTimeSrcTrafficDataRequest() (request *DescribeDomai
 	request = &DescribeDomainRealTimeSrcTrafficDataRequest{
 	request = &DescribeDomainRealTimeSrcTrafficDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeSrcTrafficData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeSrcTrafficData", "", "")
 	return
 	return
 }
 }
 
 

+ 111 - 0
services/cdn/describe_domain_real_time_traffic_data.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeTrafficData invokes the cdn.DescribeDomainRealTimeTrafficData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimetrafficdata.html
+func (client *Client) DescribeDomainRealTimeTrafficData(request *DescribeDomainRealTimeTrafficDataRequest) (response *DescribeDomainRealTimeTrafficDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeTrafficDataWithChan invokes the cdn.DescribeDomainRealTimeTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimetrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeTrafficDataWithChan(request *DescribeDomainRealTimeTrafficDataRequest) (<-chan *DescribeDomainRealTimeTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeTrafficDataWithCallback invokes the cdn.DescribeDomainRealTimeTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimetrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeTrafficDataWithCallback(request *DescribeDomainRealTimeTrafficDataRequest, callback func(response *DescribeDomainRealTimeTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeTrafficDataRequest is the request struct for api DescribeDomainRealTimeTrafficData
+type DescribeDomainRealTimeTrafficDataRequest 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"`
+}
+
+// DescribeDomainRealTimeTrafficDataResponse is the response struct for api DescribeDomainRealTimeTrafficData
+type DescribeDomainRealTimeTrafficDataResponse 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"`
+}
+
+// CreateDescribeDomainRealTimeTrafficDataRequest creates a request to invoke DescribeDomainRealTimeTrafficData API
+func CreateDescribeDomainRealTimeTrafficDataRequest() (request *DescribeDomainRealTimeTrafficDataRequest) {
+	request = &DescribeDomainRealTimeTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealTimeTrafficData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeTrafficDataResponse creates a response to parse from DescribeDomainRealTimeTrafficData response
+func CreateDescribeDomainRealTimeTrafficDataResponse() (response *DescribeDomainRealTimeTrafficDataResponse) {
+	response = &DescribeDomainRealTimeTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cdn/describe_domain_realtime_log_delivery.go

@@ -0,0 +1,108 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealtimeLogDelivery invokes the cdn.DescribeDomainRealtimeLogDelivery API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimelogdelivery.html
+func (client *Client) DescribeDomainRealtimeLogDelivery(request *DescribeDomainRealtimeLogDeliveryRequest) (response *DescribeDomainRealtimeLogDeliveryResponse, err error) {
+	response = CreateDescribeDomainRealtimeLogDeliveryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealtimeLogDeliveryWithChan invokes the cdn.DescribeDomainRealtimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealtimeLogDeliveryWithChan(request *DescribeDomainRealtimeLogDeliveryRequest) (<-chan *DescribeDomainRealtimeLogDeliveryResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealtimeLogDeliveryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealtimeLogDelivery(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealtimeLogDeliveryWithCallback invokes the cdn.DescribeDomainRealtimeLogDelivery API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimelogdelivery.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealtimeLogDeliveryWithCallback(request *DescribeDomainRealtimeLogDeliveryRequest, callback func(response *DescribeDomainRealtimeLogDeliveryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealtimeLogDeliveryResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealtimeLogDelivery(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealtimeLogDeliveryRequest is the request struct for api DescribeDomainRealtimeLogDelivery
+type DescribeDomainRealtimeLogDeliveryRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	Domain  string           `position:"Query" name:"Domain"`
+}
+
+// DescribeDomainRealtimeLogDeliveryResponse is the response struct for api DescribeDomainRealtimeLogDelivery
+type DescribeDomainRealtimeLogDeliveryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Project   string `json:"Project" xml:"Project"`
+	Region    string `json:"Region" xml:"Region"`
+	Logstore  string `json:"Logstore" xml:"Logstore"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+// CreateDescribeDomainRealtimeLogDeliveryRequest creates a request to invoke DescribeDomainRealtimeLogDelivery API
+func CreateDescribeDomainRealtimeLogDeliveryRequest() (request *DescribeDomainRealtimeLogDeliveryRequest) {
+	request = &DescribeDomainRealtimeLogDeliveryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRealtimeLogDelivery", "", "")
+	return
+}
+
+// CreateDescribeDomainRealtimeLogDeliveryResponse creates a response to parse from DescribeDomainRealtimeLogDelivery response
+func CreateDescribeDomainRealtimeLogDeliveryResponse() (response *DescribeDomainRealtimeLogDeliveryResponse) {
+	response = &DescribeDomainRealtimeLogDeliveryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_region_data.go

@@ -98,7 +98,7 @@ func CreateDescribeDomainRegionDataRequest() (request *DescribeDomainRegionDataR
 	request = &DescribeDomainRegionDataRequest{
 	request = &DescribeDomainRegionDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRegionData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainRegionData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_req_hit_rate_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainReqHitRateDataRequest() (request *DescribeDomainReqHitR
 	request = &DescribeDomainReqHitRateDataRequest{
 	request = &DescribeDomainReqHitRateDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainReqHitRateData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainReqHitRateData", "", "")
 	return
 	return
 }
 }
 
 

+ 114 - 0
services/cdn/describe_domain_slow_ratio.go

@@ -0,0 +1,114 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainSlowRatio invokes the cdn.DescribeDomainSlowRatio API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+func (client *Client) DescribeDomainSlowRatio(request *DescribeDomainSlowRatioRequest) (response *DescribeDomainSlowRatioResponse, err error) {
+	response = CreateDescribeDomainSlowRatioResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainSlowRatioWithChan invokes the cdn.DescribeDomainSlowRatio API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSlowRatioWithChan(request *DescribeDomainSlowRatioRequest) (<-chan *DescribeDomainSlowRatioResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainSlowRatioResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainSlowRatio(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainSlowRatioWithCallback invokes the cdn.DescribeDomainSlowRatio API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSlowRatioWithCallback(request *DescribeDomainSlowRatioRequest, callback func(response *DescribeDomainSlowRatioResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainSlowRatioResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainSlowRatio(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainSlowRatioRequest is the request struct for api DescribeDomainSlowRatio
+type DescribeDomainSlowRatioRequest 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"`
+}
+
+// DescribeDomainSlowRatioResponse is the response struct for api DescribeDomainSlowRatio
+type DescribeDomainSlowRatioResponse struct {
+	*responses.BaseResponse
+	EndTime                  string                   `json:"EndTime" xml:"EndTime"`
+	DataInterval             int                      `json:"DataInterval" xml:"DataInterval"`
+	PageNumber               int                      `json:"PageNumber" xml:"PageNumber"`
+	PageSize                 int                      `json:"PageSize" xml:"PageSize"`
+	TotalCount               int                      `json:"TotalCount" xml:"TotalCount"`
+	StartTime                string                   `json:"StartTime" xml:"StartTime"`
+	SlowRatioDataPerInterval SlowRatioDataPerInterval `json:"SlowRatioDataPerInterval" xml:"SlowRatioDataPerInterval"`
+}
+
+// CreateDescribeDomainSlowRatioRequest creates a request to invoke DescribeDomainSlowRatio API
+func CreateDescribeDomainSlowRatioRequest() (request *DescribeDomainSlowRatioRequest) {
+	request = &DescribeDomainSlowRatioRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainSlowRatio", "", "")
+	return
+}
+
+// CreateDescribeDomainSlowRatioResponse creates a response to parse from DescribeDomainSlowRatio response
+func CreateDescribeDomainSlowRatioResponse() (response *DescribeDomainSlowRatioResponse) {
+	response = &DescribeDomainSlowRatioResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_src_bps_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainSrcBpsDataRequest() (request *DescribeDomainSrcBpsDataR
 	request = &DescribeDomainSrcBpsDataRequest{
 	request = &DescribeDomainSrcBpsDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcBpsData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcBpsData", "", "")
 	return
 	return
 }
 }
 
 

+ 114 - 0
services/cdn/describe_domain_src_flow_data.go

@@ -0,0 +1,114 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainSrcFlowData invokes the cdn.DescribeDomainSrcFlowData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrcflowdata.html
+func (client *Client) DescribeDomainSrcFlowData(request *DescribeDomainSrcFlowDataRequest) (response *DescribeDomainSrcFlowDataResponse, err error) {
+	response = CreateDescribeDomainSrcFlowDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainSrcFlowDataWithChan invokes the cdn.DescribeDomainSrcFlowData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrcflowdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSrcFlowDataWithChan(request *DescribeDomainSrcFlowDataRequest) (<-chan *DescribeDomainSrcFlowDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainSrcFlowDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainSrcFlowData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainSrcFlowDataWithCallback invokes the cdn.DescribeDomainSrcFlowData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrcflowdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSrcFlowDataWithCallback(request *DescribeDomainSrcFlowDataRequest, callback func(response *DescribeDomainSrcFlowDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainSrcFlowDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainSrcFlowData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainSrcFlowDataRequest is the request struct for api DescribeDomainSrcFlowData
+type DescribeDomainSrcFlowDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	FixTimeGap string           `position:"Query" name:"FixTimeGap"`
+	TimeMerge  string           `position:"Query" name:"TimeMerge"`
+	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"`
+}
+
+// DescribeDomainSrcFlowDataResponse is the response struct for api DescribeDomainSrcFlowData
+type DescribeDomainSrcFlowDataResponse 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"`
+	SrcFlowDataPerInterval SrcFlowDataPerInterval `json:"SrcFlowDataPerInterval" xml:"SrcFlowDataPerInterval"`
+}
+
+// CreateDescribeDomainSrcFlowDataRequest creates a request to invoke DescribeDomainSrcFlowData API
+func CreateDescribeDomainSrcFlowDataRequest() (request *DescribeDomainSrcFlowDataRequest) {
+	request = &DescribeDomainSrcFlowDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainSrcFlowData", "", "")
+	return
+}
+
+// CreateDescribeDomainSrcFlowDataResponse creates a response to parse from DescribeDomainSrcFlowData response
+func CreateDescribeDomainSrcFlowDataResponse() (response *DescribeDomainSrcFlowDataResponse) {
+	response = &DescribeDomainSrcFlowDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_src_http_code_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainSrcHttpCodeDataRequest() (request *DescribeDomainSrcHtt
 	request = &DescribeDomainSrcHttpCodeDataRequest{
 	request = &DescribeDomainSrcHttpCodeDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcHttpCodeData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcHttpCodeData", "", "")
 	return
 	return
 }
 }
 
 

+ 114 - 0
services/cdn/describe_domain_src_top_url_visit.go

@@ -0,0 +1,114 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainSrcTopUrlVisit invokes the cdn.DescribeDomainSrcTopUrlVisit API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrctopurlvisit.html
+func (client *Client) DescribeDomainSrcTopUrlVisit(request *DescribeDomainSrcTopUrlVisitRequest) (response *DescribeDomainSrcTopUrlVisitResponse, err error) {
+	response = CreateDescribeDomainSrcTopUrlVisitResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainSrcTopUrlVisitWithChan invokes the cdn.DescribeDomainSrcTopUrlVisit API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrctopurlvisit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSrcTopUrlVisitWithChan(request *DescribeDomainSrcTopUrlVisitRequest) (<-chan *DescribeDomainSrcTopUrlVisitResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainSrcTopUrlVisitResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainSrcTopUrlVisit(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainSrcTopUrlVisitWithCallback invokes the cdn.DescribeDomainSrcTopUrlVisit API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainsrctopurlvisit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSrcTopUrlVisitWithCallback(request *DescribeDomainSrcTopUrlVisitRequest, callback func(response *DescribeDomainSrcTopUrlVisitResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainSrcTopUrlVisitResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainSrcTopUrlVisit(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainSrcTopUrlVisitRequest is the request struct for api DescribeDomainSrcTopUrlVisit
+type DescribeDomainSrcTopUrlVisitRequest 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"`
+	SortBy     string           `position:"Query" name:"SortBy"`
+}
+
+// DescribeDomainSrcTopUrlVisitResponse is the response struct for api DescribeDomainSrcTopUrlVisit
+type DescribeDomainSrcTopUrlVisitResponse struct {
+	*responses.BaseResponse
+	RequestId  string                                   `json:"RequestId" xml:"RequestId"`
+	DomainName string                                   `json:"DomainName" xml:"DomainName"`
+	StartTime  string                                   `json:"StartTime" xml:"StartTime"`
+	AllUrlList AllUrlListInDescribeDomainSrcTopUrlVisit `json:"AllUrlList" xml:"AllUrlList"`
+	Url200List Url200ListInDescribeDomainSrcTopUrlVisit `json:"Url200List" xml:"Url200List"`
+	Url300List Url300ListInDescribeDomainSrcTopUrlVisit `json:"Url300List" xml:"Url300List"`
+	Url400List Url400ListInDescribeDomainSrcTopUrlVisit `json:"Url400List" xml:"Url400List"`
+	Url500List Url500ListInDescribeDomainSrcTopUrlVisit `json:"Url500List" xml:"Url500List"`
+}
+
+// CreateDescribeDomainSrcTopUrlVisitRequest creates a request to invoke DescribeDomainSrcTopUrlVisit API
+func CreateDescribeDomainSrcTopUrlVisitRequest() (request *DescribeDomainSrcTopUrlVisitRequest) {
+	request = &DescribeDomainSrcTopUrlVisitRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcTopUrlVisit", "", "")
+	return
+}
+
+// CreateDescribeDomainSrcTopUrlVisitResponse creates a response to parse from DescribeDomainSrcTopUrlVisit response
+func CreateDescribeDomainSrcTopUrlVisitResponse() (response *DescribeDomainSrcTopUrlVisitResponse) {
+	response = &DescribeDomainSrcTopUrlVisitResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_src_traffic_data.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainSrcTrafficDataRequest() (request *DescribeDomainSrcTraf
 	request = &DescribeDomainSrcTrafficDataRequest{
 	request = &DescribeDomainSrcTrafficDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcTrafficData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainSrcTrafficData", "", "")
 	return
 	return
 }
 }
 
 

+ 110 - 0
services/cdn/describe_domain_top_client_ip_visit.go

@@ -0,0 +1,110 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainTopClientIpVisit invokes the cdn.DescribeDomainTopClientIpVisit API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomaintopclientipvisit.html
+func (client *Client) DescribeDomainTopClientIpVisit(request *DescribeDomainTopClientIpVisitRequest) (response *DescribeDomainTopClientIpVisitResponse, err error) {
+	response = CreateDescribeDomainTopClientIpVisitResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainTopClientIpVisitWithChan invokes the cdn.DescribeDomainTopClientIpVisit API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomaintopclientipvisit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainTopClientIpVisitWithChan(request *DescribeDomainTopClientIpVisitRequest) (<-chan *DescribeDomainTopClientIpVisitResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainTopClientIpVisitResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainTopClientIpVisit(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainTopClientIpVisitWithCallback invokes the cdn.DescribeDomainTopClientIpVisit API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomaintopclientipvisit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainTopClientIpVisitWithCallback(request *DescribeDomainTopClientIpVisitRequest, callback func(response *DescribeDomainTopClientIpVisitResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainTopClientIpVisitResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainTopClientIpVisit(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainTopClientIpVisitRequest is the request struct for api DescribeDomainTopClientIpVisit
+type DescribeDomainTopClientIpVisitRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	Limit          string           `position:"Query" name:"Limit"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	SortBy         string           `position:"Query" name:"SortBy"`
+}
+
+// DescribeDomainTopClientIpVisitResponse is the response struct for api DescribeDomainTopClientIpVisit
+type DescribeDomainTopClientIpVisitResponse struct {
+	*responses.BaseResponse
+	RequestId    string     `json:"RequestId" xml:"RequestId"`
+	ClientIpList []ClientIp `json:"ClientIpList" xml:"ClientIpList"`
+}
+
+// CreateDescribeDomainTopClientIpVisitRequest creates a request to invoke DescribeDomainTopClientIpVisit API
+func CreateDescribeDomainTopClientIpVisitRequest() (request *DescribeDomainTopClientIpVisitRequest) {
+	request = &DescribeDomainTopClientIpVisitRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTopClientIpVisit", "", "")
+	return
+}
+
+// CreateDescribeDomainTopClientIpVisitResponse creates a response to parse from DescribeDomainTopClientIpVisit response
+func CreateDescribeDomainTopClientIpVisitResponse() (response *DescribeDomainTopClientIpVisitResponse) {
+	response = &DescribeDomainTopClientIpVisitResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 1
services/cdn/describe_domain_top_refer_visit.go

@@ -79,6 +79,7 @@ type DescribeDomainTopReferVisitRequest struct {
 	StartTime  string           `position:"Query" name:"StartTime"`
 	StartTime  string           `position:"Query" name:"StartTime"`
 	Percent    string           `position:"Query" name:"Percent"`
 	Percent    string           `position:"Query" name:"Percent"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 	SortBy     string           `position:"Query" name:"SortBy"`
 	SortBy     string           `position:"Query" name:"SortBy"`
 }
 }
@@ -97,7 +98,7 @@ func CreateDescribeDomainTopReferVisitRequest() (request *DescribeDomainTopRefer
 	request = &DescribeDomainTopReferVisitRequest{
 	request = &DescribeDomainTopReferVisitRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTopReferVisit", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTopReferVisit", "", "")
 	return
 	return
 }
 }
 
 

+ 9 - 10
services/cdn/describe_domain_top_url_visit.go

@@ -77,7 +77,6 @@ func (client *Client) DescribeDomainTopUrlVisitWithCallback(request *DescribeDom
 type DescribeDomainTopUrlVisitRequest struct {
 type DescribeDomainTopUrlVisitRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	StartTime  string           `position:"Query" name:"StartTime"`
 	StartTime  string           `position:"Query" name:"StartTime"`
-	Percent    string           `position:"Query" name:"Percent"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	EndTime    string           `position:"Query" name:"EndTime"`
 	EndTime    string           `position:"Query" name:"EndTime"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
@@ -87,14 +86,14 @@ type DescribeDomainTopUrlVisitRequest struct {
 // DescribeDomainTopUrlVisitResponse is the response struct for api DescribeDomainTopUrlVisit
 // DescribeDomainTopUrlVisitResponse is the response struct for api DescribeDomainTopUrlVisit
 type DescribeDomainTopUrlVisitResponse struct {
 type DescribeDomainTopUrlVisitResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId  string     `json:"RequestId" xml:"RequestId"`
-	DomainName string     `json:"DomainName" xml:"DomainName"`
-	StartTime  string     `json:"StartTime" xml:"StartTime"`
-	AllUrlList AllUrlList `json:"AllUrlList" xml:"AllUrlList"`
-	Url200List Url200List `json:"Url200List" xml:"Url200List"`
-	Url300List Url300List `json:"Url300List" xml:"Url300List"`
-	Url400List Url400List `json:"Url400List" xml:"Url400List"`
-	Url500List Url500List `json:"Url500List" xml:"Url500List"`
+	RequestId  string                                `json:"RequestId" xml:"RequestId"`
+	DomainName string                                `json:"DomainName" xml:"DomainName"`
+	StartTime  string                                `json:"StartTime" xml:"StartTime"`
+	AllUrlList AllUrlListInDescribeDomainTopUrlVisit `json:"AllUrlList" xml:"AllUrlList"`
+	Url200List Url200ListInDescribeDomainTopUrlVisit `json:"Url200List" xml:"Url200List"`
+	Url300List Url300ListInDescribeDomainTopUrlVisit `json:"Url300List" xml:"Url300List"`
+	Url400List Url400ListInDescribeDomainTopUrlVisit `json:"Url400List" xml:"Url400List"`
+	Url500List Url500ListInDescribeDomainTopUrlVisit `json:"Url500List" xml:"Url500List"`
 }
 }
 
 
 // CreateDescribeDomainTopUrlVisitRequest creates a request to invoke DescribeDomainTopUrlVisit API
 // CreateDescribeDomainTopUrlVisitRequest creates a request to invoke DescribeDomainTopUrlVisit API
@@ -102,7 +101,7 @@ func CreateDescribeDomainTopUrlVisitRequest() (request *DescribeDomainTopUrlVisi
 	request = &DescribeDomainTopUrlVisitRequest{
 	request = &DescribeDomainTopUrlVisitRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTopUrlVisit", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTopUrlVisit", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_traffic_data.go

@@ -101,7 +101,7 @@ func CreateDescribeDomainTrafficDataRequest() (request *DescribeDomainTrafficDat
 	request = &DescribeDomainTrafficDataRequest{
 	request = &DescribeDomainTrafficDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTrafficData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainTrafficData", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domain_usage_data.go

@@ -104,7 +104,7 @@ func CreateDescribeDomainUsageDataRequest() (request *DescribeDomainUsageDataReq
 	request = &DescribeDomainUsageDataRequest{
 	request = &DescribeDomainUsageDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainUsageData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainUsageData", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_domain_uv_data.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainUvDataWithCallback(request *DescribeDomainUv
 // DescribeDomainUvDataRequest is the request struct for api DescribeDomainUvData
 // DescribeDomainUvDataRequest is the request struct for api DescribeDomainUvData
 type DescribeDomainUvDataRequest struct {
 type DescribeDomainUvDataRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	EndTime       string           `position:"Query" name:"EndTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	StartTime     string           `position:"Query" name:"StartTime"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeDomainUvDataResponse is the response struct for api DescribeDomainUvData
 // DescribeDomainUvDataResponse is the response struct for api DescribeDomainUvData
@@ -99,7 +99,7 @@ func CreateDescribeDomainUvDataRequest() (request *DescribeDomainUvDataRequest)
 	request = &DescribeDomainUvDataRequest{
 	request = &DescribeDomainUvDataRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainUvData", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainUvData", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_domains_by_source.go

@@ -77,8 +77,8 @@ func (client *Client) DescribeDomainsBySourceWithCallback(request *DescribeDomai
 type DescribeDomainsBySourceRequest struct {
 type DescribeDomainsBySourceRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	Sources       string           `position:"Query" name:"Sources"`
 	Sources       string           `position:"Query" name:"Sources"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeDomainsBySourceResponse is the response struct for api DescribeDomainsBySource
 // DescribeDomainsBySourceResponse is the response struct for api DescribeDomainsBySource
@@ -94,7 +94,7 @@ func CreateDescribeDomainsBySourceRequest() (request *DescribeDomainsBySourceReq
 	request = &DescribeDomainsBySourceRequest{
 	request = &DescribeDomainsBySourceRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainsBySource", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainsBySource", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_domains_usage_by_day.go

@@ -99,7 +99,7 @@ func CreateDescribeDomainsUsageByDayRequest() (request *DescribeDomainsUsageByDa
 	request = &DescribeDomainsUsageByDayRequest{
 	request = &DescribeDomainsUsageByDayRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainsUsageByDay", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeDomainsUsageByDay", "", "")
 	return
 	return
 }
 }
 
 

+ 1 - 1
services/cdn/describe_fc_trigger.go

@@ -92,7 +92,7 @@ func CreateDescribeFCTriggerRequest() (request *DescribeFCTriggerRequest) {
 	request = &DescribeFCTriggerRequest{
 	request = &DescribeFCTriggerRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeFCTrigger", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeFCTrigger", "", "")
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/cdn/describe_ip_info.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeIpInfoWithCallback(request *DescribeIpInfoRequest,
 // DescribeIpInfoRequest is the request struct for api DescribeIpInfo
 // DescribeIpInfoRequest is the request struct for api DescribeIpInfo
 type DescribeIpInfoRequest struct {
 type DescribeIpInfoRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	IP            string           `position:"Query" name:"IP"`
 	IP            string           `position:"Query" name:"IP"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeIpInfoResponse is the response struct for api DescribeIpInfo
 // DescribeIpInfoResponse is the response struct for api DescribeIpInfo
@@ -97,7 +97,7 @@ func CreateDescribeIpInfoRequest() (request *DescribeIpInfoRequest) {
 	request = &DescribeIpInfoRequest{
 	request = &DescribeIpInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeIpInfo", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeIpInfo", "", "")
 	return
 	return
 }
 }
 
 

+ 5 - 5
services/cdn/describe_l2_vips_by_domain.go

@@ -76,17 +76,17 @@ func (client *Client) DescribeL2VipsByDomainWithCallback(request *DescribeL2Vips
 // DescribeL2VipsByDomainRequest is the request struct for api DescribeL2VipsByDomain
 // DescribeL2VipsByDomainRequest is the request struct for api DescribeL2VipsByDomain
 type DescribeL2VipsByDomainRequest struct {
 type DescribeL2VipsByDomainRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	DomainName    string           `position:"Query" name:"DomainName"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
 }
 }
 
 
 // DescribeL2VipsByDomainResponse is the response struct for api DescribeL2VipsByDomain
 // DescribeL2VipsByDomainResponse is the response struct for api DescribeL2VipsByDomain
 type DescribeL2VipsByDomainResponse struct {
 type DescribeL2VipsByDomainResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	DomainName string `json:"DomainName" xml:"DomainName"`
-	Vips       Vips   `json:"Vips" xml:"Vips"`
+	RequestId  string                       `json:"RequestId" xml:"RequestId"`
+	DomainName string                       `json:"DomainName" xml:"DomainName"`
+	Vips       VipsInDescribeL2VipsByDomain `json:"Vips" xml:"Vips"`
 }
 }
 
 
 // CreateDescribeL2VipsByDomainRequest creates a request to invoke DescribeL2VipsByDomain API
 // CreateDescribeL2VipsByDomainRequest creates a request to invoke DescribeL2VipsByDomain API
@@ -94,7 +94,7 @@ func CreateDescribeL2VipsByDomainRequest() (request *DescribeL2VipsByDomainReque
 	request = &DescribeL2VipsByDomainRequest{
 	request = &DescribeL2VipsByDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 		RpcRequest: &requests.RpcRequest{},
 	}
 	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeL2VipsByDomain", "cdn", "openAPI")
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeL2VipsByDomain", "", "")
 	return
 	return
 }
 }
 
 

+ 106 - 0
services/cdn/describe_l2_vips_by_dynamic_domain.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DescribeL2VipsByDynamicDomain invokes the cdn.DescribeL2VipsByDynamicDomain API synchronously
+// api document: https://help.aliyun.com/api/cdn/describel2vipsbydynamicdomain.html
+func (client *Client) DescribeL2VipsByDynamicDomain(request *DescribeL2VipsByDynamicDomainRequest) (response *DescribeL2VipsByDynamicDomainResponse, err error) {
+	response = CreateDescribeL2VipsByDynamicDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeL2VipsByDynamicDomainWithChan invokes the cdn.DescribeL2VipsByDynamicDomain API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describel2vipsbydynamicdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeL2VipsByDynamicDomainWithChan(request *DescribeL2VipsByDynamicDomainRequest) (<-chan *DescribeL2VipsByDynamicDomainResponse, <-chan error) {
+	responseChan := make(chan *DescribeL2VipsByDynamicDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeL2VipsByDynamicDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeL2VipsByDynamicDomainWithCallback invokes the cdn.DescribeL2VipsByDynamicDomain API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describel2vipsbydynamicdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeL2VipsByDynamicDomainWithCallback(request *DescribeL2VipsByDynamicDomainRequest, callback func(response *DescribeL2VipsByDynamicDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeL2VipsByDynamicDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeL2VipsByDynamicDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeL2VipsByDynamicDomainRequest is the request struct for api DescribeL2VipsByDynamicDomain
+type DescribeL2VipsByDynamicDomainRequest struct {
+	*requests.RpcRequest
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeL2VipsByDynamicDomainResponse is the response struct for api DescribeL2VipsByDynamicDomain
+type DescribeL2VipsByDynamicDomainResponse struct {
+	*responses.BaseResponse
+	RequestId  string                              `json:"RequestId" xml:"RequestId"`
+	DomainName string                              `json:"DomainName" xml:"DomainName"`
+	Vips       VipsInDescribeL2VipsByDynamicDomain `json:"Vips" xml:"Vips"`
+}
+
+// CreateDescribeL2VipsByDynamicDomainRequest creates a request to invoke DescribeL2VipsByDynamicDomain API
+func CreateDescribeL2VipsByDynamicDomainRequest() (request *DescribeL2VipsByDynamicDomainRequest) {
+	request = &DescribeL2VipsByDynamicDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeL2VipsByDynamicDomain", "", "")
+	return
+}
+
+// CreateDescribeL2VipsByDynamicDomainResponse creates a response to parse from DescribeL2VipsByDynamicDomain response
+func CreateDescribeL2VipsByDynamicDomainResponse() (response *DescribeL2VipsByDynamicDomainResponse) {
+	response = &DescribeL2VipsByDynamicDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/describe_live_pull_stream_config.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DescribeLivePullStreamConfig invokes the cdn.DescribeLivePullStreamConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivepullstreamconfig.html
+func (client *Client) DescribeLivePullStreamConfig(request *DescribeLivePullStreamConfigRequest) (response *DescribeLivePullStreamConfigResponse, err error) {
+	response = CreateDescribeLivePullStreamConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLivePullStreamConfigWithChan invokes the cdn.DescribeLivePullStreamConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivepullstreamconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLivePullStreamConfigWithChan(request *DescribeLivePullStreamConfigRequest) (<-chan *DescribeLivePullStreamConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLivePullStreamConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLivePullStreamConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLivePullStreamConfigWithCallback invokes the cdn.DescribeLivePullStreamConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivepullstreamconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLivePullStreamConfigWithCallback(request *DescribeLivePullStreamConfigRequest, callback func(response *DescribeLivePullStreamConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLivePullStreamConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLivePullStreamConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLivePullStreamConfigRequest is the request struct for api DescribeLivePullStreamConfig
+type DescribeLivePullStreamConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+}
+
+// DescribeLivePullStreamConfigResponse is the response struct for api DescribeLivePullStreamConfig
+type DescribeLivePullStreamConfigResponse struct {
+	*responses.BaseResponse
+	RequestId         string                                          `json:"RequestId" xml:"RequestId"`
+	LiveAppRecordList LiveAppRecordListInDescribeLivePullStreamConfig `json:"LiveAppRecordList" xml:"LiveAppRecordList"`
+}
+
+// CreateDescribeLivePullStreamConfigRequest creates a request to invoke DescribeLivePullStreamConfig API
+func CreateDescribeLivePullStreamConfigRequest() (request *DescribeLivePullStreamConfigRequest) {
+	request = &DescribeLivePullStreamConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLivePullStreamConfig", "", "")
+	return
+}
+
+// CreateDescribeLivePullStreamConfigResponse creates a response to parse from DescribeLivePullStreamConfig response
+func CreateDescribeLivePullStreamConfigResponse() (response *DescribeLivePullStreamConfigResponse) {
+	response = &DescribeLivePullStreamConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/describe_live_record_config.go

@@ -0,0 +1,106 @@
+package cdn
+
+//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"
+)
+
+// DescribeLiveRecordConfig invokes the cdn.DescribeLiveRecordConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/describeliverecordconfig.html
+func (client *Client) DescribeLiveRecordConfig(request *DescribeLiveRecordConfigRequest) (response *DescribeLiveRecordConfigResponse, err error) {
+	response = CreateDescribeLiveRecordConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveRecordConfigWithChan invokes the cdn.DescribeLiveRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeliverecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveRecordConfigWithChan(request *DescribeLiveRecordConfigRequest) (<-chan *DescribeLiveRecordConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveRecordConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveRecordConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveRecordConfigWithCallback invokes the cdn.DescribeLiveRecordConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeliverecordconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveRecordConfigWithCallback(request *DescribeLiveRecordConfigRequest, callback func(response *DescribeLiveRecordConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveRecordConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveRecordConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveRecordConfigRequest is the request struct for api DescribeLiveRecordConfig
+type DescribeLiveRecordConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+}
+
+// DescribeLiveRecordConfigResponse is the response struct for api DescribeLiveRecordConfig
+type DescribeLiveRecordConfigResponse struct {
+	*responses.BaseResponse
+	RequestId         string                                      `json:"RequestId" xml:"RequestId"`
+	LiveAppRecordList LiveAppRecordListInDescribeLiveRecordConfig `json:"LiveAppRecordList" xml:"LiveAppRecordList"`
+}
+
+// CreateDescribeLiveRecordConfigRequest creates a request to invoke DescribeLiveRecordConfig API
+func CreateDescribeLiveRecordConfigRequest() (request *DescribeLiveRecordConfigRequest) {
+	request = &DescribeLiveRecordConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveRecordConfig", "", "")
+	return
+}
+
+// CreateDescribeLiveRecordConfigResponse creates a response to parse from DescribeLiveRecordConfig response
+func CreateDescribeLiveRecordConfigResponse() (response *DescribeLiveRecordConfigResponse) {
+	response = &DescribeLiveRecordConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cdn/describe_live_snapshot_config.go

@@ -0,0 +1,116 @@
+package cdn
+
+//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"
+)
+
+// DescribeLiveSnapshotConfig invokes the cdn.DescribeLiveSnapshotConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivesnapshotconfig.html
+func (client *Client) DescribeLiveSnapshotConfig(request *DescribeLiveSnapshotConfigRequest) (response *DescribeLiveSnapshotConfigResponse, err error) {
+	response = CreateDescribeLiveSnapshotConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveSnapshotConfigWithChan invokes the cdn.DescribeLiveSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivesnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveSnapshotConfigWithChan(request *DescribeLiveSnapshotConfigRequest) (<-chan *DescribeLiveSnapshotConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveSnapshotConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveSnapshotConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveSnapshotConfigWithCallback invokes the cdn.DescribeLiveSnapshotConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivesnapshotconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveSnapshotConfigWithCallback(request *DescribeLiveSnapshotConfigRequest, callback func(response *DescribeLiveSnapshotConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveSnapshotConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveSnapshotConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveSnapshotConfigRequest is the request struct for api DescribeLiveSnapshotConfig
+type DescribeLiveSnapshotConfigRequest struct {
+	*requests.RpcRequest
+	PageNum       requests.Integer `position:"Query" name:"PageNum"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	Order         string           `position:"Query" name:"Order"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveSnapshotConfigResponse is the response struct for api DescribeLiveSnapshotConfig
+type DescribeLiveSnapshotConfigResponse struct {
+	*responses.BaseResponse
+	RequestId                    string                       `json:"RequestId" xml:"RequestId"`
+	PageNum                      int                          `json:"PageNum" xml:"PageNum"`
+	PageSize                     int                          `json:"PageSize" xml:"PageSize"`
+	Order                        string                       `json:"Order" xml:"Order"`
+	TotalNum                     int                          `json:"TotalNum" xml:"TotalNum"`
+	TotalPage                    int                          `json:"TotalPage" xml:"TotalPage"`
+	LiveStreamSnapshotConfigList LiveStreamSnapshotConfigList `json:"LiveStreamSnapshotConfigList" xml:"LiveStreamSnapshotConfigList"`
+}
+
+// CreateDescribeLiveSnapshotConfigRequest creates a request to invoke DescribeLiveSnapshotConfig API
+func CreateDescribeLiveSnapshotConfigRequest() (request *DescribeLiveSnapshotConfigRequest) {
+	request = &DescribeLiveSnapshotConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveSnapshotConfig", "", "")
+	return
+}
+
+// CreateDescribeLiveSnapshotConfigResponse creates a response to parse from DescribeLiveSnapshotConfig response
+func CreateDescribeLiveSnapshotConfigResponse() (response *DescribeLiveSnapshotConfigResponse) {
+	response = &DescribeLiveSnapshotConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cdn/describe_live_stream_bit_rate_data.go

@@ -0,0 +1,110 @@
+package cdn
+
+//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"
+)
+
+// DescribeLiveStreamBitRateData invokes the cdn.DescribeLiveStreamBitRateData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreambitratedata.html
+func (client *Client) DescribeLiveStreamBitRateData(request *DescribeLiveStreamBitRateDataRequest) (response *DescribeLiveStreamBitRateDataResponse, err error) {
+	response = CreateDescribeLiveStreamBitRateDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamBitRateDataWithChan invokes the cdn.DescribeLiveStreamBitRateData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreambitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamBitRateDataWithChan(request *DescribeLiveStreamBitRateDataRequest) (<-chan *DescribeLiveStreamBitRateDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamBitRateDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamBitRateData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamBitRateDataWithCallback invokes the cdn.DescribeLiveStreamBitRateData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreambitratedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamBitRateDataWithCallback(request *DescribeLiveStreamBitRateDataRequest, callback func(response *DescribeLiveStreamBitRateDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamBitRateDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamBitRateData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamBitRateDataRequest is the request struct for api DescribeLiveStreamBitRateData
+type DescribeLiveStreamBitRateDataRequest struct {
+	*requests.RpcRequest
+	StartTime     string           `position:"Query" name:"StartTime"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveStreamBitRateDataResponse is the response struct for api DescribeLiveStreamBitRateData
+type DescribeLiveStreamBitRateDataResponse struct {
+	*responses.BaseResponse
+	RequestId                string                                                  `json:"RequestId" xml:"RequestId"`
+	FrameRateAndBitRateInfos FrameRateAndBitRateInfosInDescribeLiveStreamBitRateData `json:"FrameRateAndBitRateInfos" xml:"FrameRateAndBitRateInfos"`
+}
+
+// CreateDescribeLiveStreamBitRateDataRequest creates a request to invoke DescribeLiveStreamBitRateData API
+func CreateDescribeLiveStreamBitRateDataRequest() (request *DescribeLiveStreamBitRateDataRequest) {
+	request = &DescribeLiveStreamBitRateDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamBitRateData", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamBitRateDataResponse creates a response to parse from DescribeLiveStreamBitRateData response
+func CreateDescribeLiveStreamBitRateDataResponse() (response *DescribeLiveStreamBitRateDataResponse) {
+	response = &DescribeLiveStreamBitRateDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cdn/describe_live_stream_online_user_num.go

@@ -0,0 +1,112 @@
+package cdn
+
+//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"
+)
+
+// DescribeLiveStreamOnlineUserNum invokes the cdn.DescribeLiveStreamOnlineUserNum API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamonlineusernum.html
+func (client *Client) DescribeLiveStreamOnlineUserNum(request *DescribeLiveStreamOnlineUserNumRequest) (response *DescribeLiveStreamOnlineUserNumResponse, err error) {
+	response = CreateDescribeLiveStreamOnlineUserNumResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamOnlineUserNumWithChan invokes the cdn.DescribeLiveStreamOnlineUserNum API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamonlineusernum.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamOnlineUserNumWithChan(request *DescribeLiveStreamOnlineUserNumRequest) (<-chan *DescribeLiveStreamOnlineUserNumResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamOnlineUserNumResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamOnlineUserNum(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamOnlineUserNumWithCallback invokes the cdn.DescribeLiveStreamOnlineUserNum API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamonlineusernum.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamOnlineUserNumWithCallback(request *DescribeLiveStreamOnlineUserNumRequest, callback func(response *DescribeLiveStreamOnlineUserNumResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamOnlineUserNumResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamOnlineUserNum(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamOnlineUserNumRequest is the request struct for api DescribeLiveStreamOnlineUserNum
+type DescribeLiveStreamOnlineUserNumRequest struct {
+	*requests.RpcRequest
+	StartTime     string           `position:"Query" name:"StartTime"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	HlsSwitch     string           `position:"Query" name:"HlsSwitch"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveStreamOnlineUserNumResponse is the response struct for api DescribeLiveStreamOnlineUserNum
+type DescribeLiveStreamOnlineUserNumResponse struct {
+	*responses.BaseResponse
+	RequestId       string         `json:"RequestId" xml:"RequestId"`
+	TotalUserNumber int64          `json:"TotalUserNumber" xml:"TotalUserNumber"`
+	OnlineUserInfo  OnlineUserInfo `json:"OnlineUserInfo" xml:"OnlineUserInfo"`
+}
+
+// CreateDescribeLiveStreamOnlineUserNumRequest creates a request to invoke DescribeLiveStreamOnlineUserNum API
+func CreateDescribeLiveStreamOnlineUserNumRequest() (request *DescribeLiveStreamOnlineUserNumRequest) {
+	request = &DescribeLiveStreamOnlineUserNumRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamOnlineUserNum", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamOnlineUserNumResponse creates a response to parse from DescribeLiveStreamOnlineUserNum response
+func CreateDescribeLiveStreamOnlineUserNumResponse() (response *DescribeLiveStreamOnlineUserNumResponse) {
+	response = &DescribeLiveStreamOnlineUserNumResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cdn/describe_live_stream_record_content.go

@@ -0,0 +1,110 @@
+package cdn
+
+//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"
+)
+
+// DescribeLiveStreamRecordContent invokes the cdn.DescribeLiveStreamRecordContent API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordcontent.html
+func (client *Client) DescribeLiveStreamRecordContent(request *DescribeLiveStreamRecordContentRequest) (response *DescribeLiveStreamRecordContentResponse, err error) {
+	response = CreateDescribeLiveStreamRecordContentResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamRecordContentWithChan invokes the cdn.DescribeLiveStreamRecordContent API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordcontent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamRecordContentWithChan(request *DescribeLiveStreamRecordContentRequest) (<-chan *DescribeLiveStreamRecordContentResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamRecordContentResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamRecordContent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamRecordContentWithCallback invokes the cdn.DescribeLiveStreamRecordContent API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordcontent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamRecordContentWithCallback(request *DescribeLiveStreamRecordContentRequest, callback func(response *DescribeLiveStreamRecordContentResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamRecordContentResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamRecordContent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamRecordContentRequest is the request struct for api DescribeLiveStreamRecordContent
+type DescribeLiveStreamRecordContentRequest struct {
+	*requests.RpcRequest
+	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"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// DescribeLiveStreamRecordContentResponse is the response struct for api DescribeLiveStreamRecordContent
+type DescribeLiveStreamRecordContentResponse struct {
+	*responses.BaseResponse
+	RequestId             string                `json:"RequestId" xml:"RequestId"`
+	RecordContentInfoList RecordContentInfoList `json:"RecordContentInfoList" xml:"RecordContentInfoList"`
+}
+
+// CreateDescribeLiveStreamRecordContentRequest creates a request to invoke DescribeLiveStreamRecordContent API
+func CreateDescribeLiveStreamRecordContentRequest() (request *DescribeLiveStreamRecordContentRequest) {
+	request = &DescribeLiveStreamRecordContentRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamRecordContent", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamRecordContentResponse creates a response to parse from DescribeLiveStreamRecordContent response
+func CreateDescribeLiveStreamRecordContentResponse() (response *DescribeLiveStreamRecordContentResponse) {
+	response = &DescribeLiveStreamRecordContentResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

部分文件因为文件数量过多而无法显示