Browse Source

CDN SDK Auto Released By xiaoyao,Version:1.34.10

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 years ago
parent
commit
15fefa44b0
100 changed files with 5869 additions and 235 deletions
  1. 3 0
      ChangeLog.txt
  2. 109 0
      services/cdn/add_live_app_record_config.go
  3. 111 0
      services/cdn/add_live_app_snapshot_config.go
  4. 106 0
      services/cdn/add_live_domain_mapping.go
  5. 110 0
      services/cdn/add_live_stream_transcode.go
  6. 113 0
      services/cdn/create_live_stream_record_index_files.go
  7. 107 0
      services/cdn/delete_cache_expired_config.go
  8. 106 0
      services/cdn/delete_http_header_config.go
  9. 106 0
      services/cdn/delete_live_app_record_config.go
  10. 106 0
      services/cdn/delete_live_app_snapshot_config.go
  11. 106 0
      services/cdn/delete_live_domain_mapping.go
  12. 108 0
      services/cdn/delete_live_stream_transcode.go
  13. 104 0
      services/cdn/delete_usage_detail_data_export_task.go
  14. 104 0
      services/cdn/delete_user_usage_data_export_task.go
  15. 113 0
      services/cdn/describe_cdn_monitor_data.go
  16. 112 0
      services/cdn/describe_domain_cc_data.go
  17. 107 0
      services/cdn/describe_domain_configs.go
  18. 118 0
      services/cdn/describe_domain_flow_data.go
  19. 0 114
      services/cdn/describe_domain_slow_ratio.go
  20. 114 0
      services/cdn/describe_domain_src_flow_data.go
  21. 106 0
      services/cdn/describe_l2_vips_by_dynamic_domain.go
  22. 106 0
      services/cdn/describe_live_pull_stream_config.go
  23. 106 0
      services/cdn/describe_live_record_config.go
  24. 116 0
      services/cdn/describe_live_snapshot_config.go
  25. 110 0
      services/cdn/describe_live_stream_bit_rate_data.go
  26. 112 0
      services/cdn/describe_live_stream_online_user_num.go
  27. 110 0
      services/cdn/describe_live_stream_record_content.go
  28. 109 0
      services/cdn/describe_live_stream_record_index_file.go
  29. 110 0
      services/cdn/describe_live_stream_record_index_files.go
  30. 112 0
      services/cdn/describe_live_stream_snapshot_info.go
  31. 106 0
      services/cdn/describe_live_stream_transcode_info.go
  32. 107 0
      services/cdn/describe_live_streams_block_list.go
  33. 109 0
      services/cdn/describe_live_streams_control_history.go
  34. 110 0
      services/cdn/describe_live_streams_frame_rate_and_bit_rate_data.go
  35. 114 0
      services/cdn/describe_live_streams_online_list.go
  36. 112 0
      services/cdn/describe_live_streams_publish_list.go
  37. 1 1
      services/cdn/describe_range_data_by_locate_and_isp_service.go
  38. 109 0
      services/cdn/describe_realtime_delivery_acc.go
  39. 0 104
      services/cdn/describe_user_custom_log_config.go
  40. 106 0
      services/cdn/describe_user_customer_labels.go
  41. 109 0
      services/cdn/forbid_live_stream.go
  42. 108 0
      services/cdn/resume_live_stream.go
  43. 110 0
      services/cdn/set_dynamic_config.go
  44. 106 0
      services/cdn/set_live_streams_notify_url_config.go
  45. 109 0
      services/cdn/set_waiting_room_config.go
  46. 113 0
      services/cdn/start_mix_streams_service.go
  47. 111 0
      services/cdn/stop_mix_streams_service.go
  48. 5 10
      services/cdn/struct_acc_data.go
  49. 24 0
      services/cdn/struct_ali_business_config.go
  50. 26 0
      services/cdn/struct_cache_expired_config.go
  51. 21 0
      services/cdn/struct_cache_expired_configs.go
  52. 25 0
      services/cdn/struct_cc_config.go
  53. 3 3
      services/cdn/struct_cc_data_list.go
  54. 4 3
      services/cdn/struct_cc_datas.go
  55. 26 0
      services/cdn/struct_cdn_monitor_data.go
  56. 21 0
      services/cdn/struct_control_info.go
  57. 21 0
      services/cdn/struct_domain_configs_in_describe_cdn_domain_configs.go
  58. 22 0
      services/cdn/struct_domain_log_model.go
  59. 26 0
      services/cdn/struct_domain_transcode_info.go
  60. 21 0
      services/cdn/struct_domain_transcode_list.go
  61. 28 0
      services/cdn/struct_dynamic_config.go
  62. 21 0
      services/cdn/struct_dynamic_configs.go
  63. 25 0
      services/cdn/struct_error_page_config.go
  64. 21 0
      services/cdn/struct_flow_data_per_interval.go
  65. 25 0
      services/cdn/struct_forward_scheme_config.go
  66. 25 0
      services/cdn/struct_frame_rate_and_bit_rate_info.go
  67. 21 0
      services/cdn/struct_frame_rate_and_bit_rate_infos_in_describe_live_stream_bit_rate_data.go
  68. 21 0
      services/cdn/struct_frame_rate_and_bit_rate_infos_in_describe_live_streams_frame_rate_and_bit_rate_data.go
  69. 21 0
      services/cdn/struct_http_code_data.go
  70. 24 0
      services/cdn/struct_http_error_page_config.go
  71. 21 0
      services/cdn/struct_http_error_page_configs.go
  72. 24 0
      services/cdn/struct_http_header_config.go
  73. 21 0
      services/cdn/struct_http_header_configs.go
  74. 23 0
      services/cdn/struct_https_option_config.go
  75. 24 0
      services/cdn/struct_ignore_query_string_config.go
  76. 24 0
      services/cdn/struct_ip_allow_list_config.go
  77. 23 0
      services/cdn/struct_l2_oss_key_config.go
  78. 30 0
      services/cdn/struct_live_app_record.go
  79. 21 0
      services/cdn/struct_live_app_record_list_in_describe_live_pull_stream_config.go
  80. 21 0
      services/cdn/struct_live_app_record_list_in_describe_live_record_config.go
  81. 24 0
      services/cdn/struct_live_stream_control_info.go
  82. 25 0
      services/cdn/struct_live_stream_online_info.go
  83. 23 0
      services/cdn/struct_live_stream_online_user_num_info.go
  84. 29 0
      services/cdn/struct_live_stream_publish_info.go
  85. 28 0
      services/cdn/struct_live_stream_snapshot_config.go
  86. 21 0
      services/cdn/struct_live_stream_snapshot_config_list.go
  87. 24 0
      services/cdn/struct_live_stream_snapshot_info.go
  88. 21 0
      services/cdn/struct_live_stream_snapshot_info_list.go
  89. 25 0
      services/cdn/struct_mac_service_config.go
  90. 23 0
      services/cdn/struct_mix_streams_info.go
  91. 21 0
      services/cdn/struct_mix_streams_info_list_in_start_mix_streams_service.go
  92. 21 0
      services/cdn/struct_mix_streams_info_list_in_stop_mix_streams_service.go
  93. 21 0
      services/cdn/struct_monitor_datas.go
  94. 22 0
      services/cdn/struct_notify_url_config.go
  95. 21 0
      services/cdn/struct_online_info.go
  96. 21 0
      services/cdn/struct_online_user_info.go
  97. 23 0
      services/cdn/struct_optimize_config.go
  98. 23 0
      services/cdn/struct_page_compress_config.go
  99. 21 0
      services/cdn/struct_publish_info.go
  100. 23 0
      services/cdn/struct_range_config.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-10-31 Version: 1.34.10
+1, Add SetWaitingRoomConfig.
+
 2018-10-31 Version: 1.34.9
 2018-10-31 Version: 1.34.9
 1, The DescribeDBInstanceAttribute add replicaSets response value.
 1, The DescribeDBInstanceAttribute add replicaSets response value.
 2, The DescribeDBInstances support engine query.
 2, The DescribeDBInstances support engine query.

+ 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"`
+	AppName         string           `position:"Query" name:"AppName"`
+	SecurityToken   string           `position:"Query" name:"SecurityToken"`
+	DomainName      string           `position:"Query" name:"DomainName"`
+	OssEndpoint     string           `position:"Query" name:"OssEndpoint"`
+	OssObjectPrefix string           `position:"Query" name:"OssObjectPrefix"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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"`
+	OssBucket          string           `position:"Query" name:"OssBucket"`
+	AppName            string           `position:"Query" name:"AppName"`
+	SecurityToken      string           `position:"Query" name:"SecurityToken"`
+	DomainName         string           `position:"Query" name:"DomainName"`
+	OssEndpoint        string           `position:"Query" name:"OssEndpoint"`
+	SequenceOssObject  string           `position:"Query" name:"SequenceOssObject"`
+	OverwriteOssObject string           `position:"Query" name:"OverwriteOssObject"`
+	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
+	PullDomain    string           `position:"Query" name:"PullDomain"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	PushDomain    string           `position:"Query" name:"PushDomain"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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"`
+	App           string           `position:"Query" name:"App"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
+	Domain        string           `position:"Query" name:"Domain"`
+	Record        string           `position:"Query" name:"Record"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	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
+}

+ 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
+	OssBucket     string           `position:"Query" name:"OssBucket"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OssEndpoint   string           `position:"Query" name:"OssEndpoint"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	OssObject     string           `position:"Query" name:"OssObject"`
+}
+
+// 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/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
+	CacheType     string           `position:"Query" name:"CacheType"`
+	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"`
+}
+
+// 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
+}

+ 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
+	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"`
+}
+
+// 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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+	PullDomain    string           `position:"Query" name:"PullDomain"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	PushDomain    string           `position:"Query" name:"PushDomain"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
+	Domain        string           `position:"Query" name:"Domain"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+}

+ 104 - 0
services/cdn/delete_usage_detail_data_export_task.go

@@ -0,0 +1,104 @@
+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"
+)
+
+// DeleteUsageDetailDataExportTask invokes the cdn.DeleteUsageDetailDataExportTask API synchronously
+// api document: https://help.aliyun.com/api/cdn/deleteusagedetaildataexporttask.html
+func (client *Client) DeleteUsageDetailDataExportTask(request *DeleteUsageDetailDataExportTaskRequest) (response *DeleteUsageDetailDataExportTaskResponse, err error) {
+	response = CreateDeleteUsageDetailDataExportTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUsageDetailDataExportTaskWithChan invokes the cdn.DeleteUsageDetailDataExportTask API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteusagedetaildataexporttask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUsageDetailDataExportTaskWithChan(request *DeleteUsageDetailDataExportTaskRequest) (<-chan *DeleteUsageDetailDataExportTaskResponse, <-chan error) {
+	responseChan := make(chan *DeleteUsageDetailDataExportTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUsageDetailDataExportTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUsageDetailDataExportTaskWithCallback invokes the cdn.DeleteUsageDetailDataExportTask API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteusagedetaildataexporttask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUsageDetailDataExportTaskWithCallback(request *DeleteUsageDetailDataExportTaskRequest, callback func(response *DeleteUsageDetailDataExportTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUsageDetailDataExportTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUsageDetailDataExportTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUsageDetailDataExportTaskRequest is the request struct for api DeleteUsageDetailDataExportTask
+type DeleteUsageDetailDataExportTaskRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	TaskId  string           `position:"Query" name:"TaskId"`
+}
+
+// DeleteUsageDetailDataExportTaskResponse is the response struct for api DeleteUsageDetailDataExportTask
+type DeleteUsageDetailDataExportTaskResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteUsageDetailDataExportTaskRequest creates a request to invoke DeleteUsageDetailDataExportTask API
+func CreateDeleteUsageDetailDataExportTaskRequest() (request *DeleteUsageDetailDataExportTaskRequest) {
+	request = &DeleteUsageDetailDataExportTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUsageDetailDataExportTask", "", "")
+	return
+}
+
+// CreateDeleteUsageDetailDataExportTaskResponse creates a response to parse from DeleteUsageDetailDataExportTask response
+func CreateDeleteUsageDetailDataExportTaskResponse() (response *DeleteUsageDetailDataExportTaskResponse) {
+	response = &DeleteUsageDetailDataExportTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cdn/delete_user_usage_data_export_task.go

@@ -0,0 +1,104 @@
+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"
+)
+
+// DeleteUserUsageDataExportTask invokes the cdn.DeleteUserUsageDataExportTask API synchronously
+// api document: https://help.aliyun.com/api/cdn/deleteuserusagedataexporttask.html
+func (client *Client) DeleteUserUsageDataExportTask(request *DeleteUserUsageDataExportTaskRequest) (response *DeleteUserUsageDataExportTaskResponse, err error) {
+	response = CreateDeleteUserUsageDataExportTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUserUsageDataExportTaskWithChan invokes the cdn.DeleteUserUsageDataExportTask API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteuserusagedataexporttask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserUsageDataExportTaskWithChan(request *DeleteUserUsageDataExportTaskRequest) (<-chan *DeleteUserUsageDataExportTaskResponse, <-chan error) {
+	responseChan := make(chan *DeleteUserUsageDataExportTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUserUsageDataExportTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUserUsageDataExportTaskWithCallback invokes the cdn.DeleteUserUsageDataExportTask API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deleteuserusagedataexporttask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserUsageDataExportTaskWithCallback(request *DeleteUserUsageDataExportTaskRequest, callback func(response *DeleteUserUsageDataExportTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUserUsageDataExportTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUserUsageDataExportTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUserUsageDataExportTaskRequest is the request struct for api DeleteUserUsageDataExportTask
+type DeleteUserUsageDataExportTaskRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	TaskId  string           `position:"Query" name:"TaskId"`
+}
+
+// DeleteUserUsageDataExportTaskResponse is the response struct for api DeleteUserUsageDataExportTask
+type DeleteUserUsageDataExportTaskResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteUserUsageDataExportTaskRequest creates a request to invoke DeleteUserUsageDataExportTask API
+func CreateDeleteUserUsageDataExportTaskRequest() (request *DeleteUserUsageDataExportTaskRequest) {
+	request = &DeleteUserUsageDataExportTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteUserUsageDataExportTask", "", "")
+	return
+}
+
+// CreateDeleteUserUsageDataExportTaskResponse creates a response to parse from DeleteUserUsageDataExportTask response
+func CreateDeleteUserUsageDataExportTaskResponse() (response *DeleteUserUsageDataExportTaskResponse) {
+	response = &DeleteUserUsageDataExportTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cdn/describe_cdn_monitor_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"
+)
+
+// 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
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	Interval      string           `position:"Query" name:"Interval"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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"`
+	MonitorInterval int          `json:"MonitorInterval" xml:"MonitorInterval"`
+	StartTime       string       `json:"StartTime" xml:"StartTime"`
+	EndTime         string       `json:"EndTime" xml:"EndTime"`
+	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
+}

+ 112 - 0
services/cdn/describe_domain_cc_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"
+)
+
+// DescribeDomainCCData invokes the cdn.DescribeDomainCCData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainccdata.html
+func (client *Client) DescribeDomainCCData(request *DescribeDomainCCDataRequest) (response *DescribeDomainCCDataResponse, err error) {
+	response = CreateDescribeDomainCCDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainCCDataWithChan invokes the cdn.DescribeDomainCCData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainccdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainCCDataWithChan(request *DescribeDomainCCDataRequest) (<-chan *DescribeDomainCCDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainCCDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainCCData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainCCDataWithCallback invokes the cdn.DescribeDomainCCData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainccdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainCCDataWithCallback(request *DescribeDomainCCDataRequest, callback func(response *DescribeDomainCCDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainCCDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainCCData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainCCDataRequest is the request struct for api DescribeDomainCCData
+type DescribeDomainCCDataRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDomainCCDataResponse is the response struct for api DescribeDomainCCData
+type DescribeDomainCCDataResponse struct {
+	*responses.BaseResponse
+	RequestId    string     `json:"RequestId" xml:"RequestId"`
+	DomainName   string     `json:"DomainName" xml:"DomainName"`
+	DataInterval string     `json:"DataInterval" xml:"DataInterval"`
+	StartTime    string     `json:"StartTime" xml:"StartTime"`
+	EndTime      string     `json:"EndTime" xml:"EndTime"`
+	CCDataList   CCDataList `json:"CCDataList" xml:"CCDataList"`
+}
+
+// CreateDescribeDomainCCDataRequest creates a request to invoke DescribeDomainCCData API
+func CreateDescribeDomainCCDataRequest() (request *DescribeDomainCCDataRequest) {
+	request = &DescribeDomainCCDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainCCData", "", "")
+	return
+}
+
+// CreateDescribeDomainCCDataResponse creates a response to parse from DescribeDomainCCData response
+func CreateDescribeDomainCCDataResponse() (response *DescribeDomainCCDataResponse) {
+	response = &DescribeDomainCCDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	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
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	ConfigList    string           `position:"Query" name:"ConfigList"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+}

+ 118 - 0
services/cdn/describe_domain_flow_data.go

@@ -0,0 +1,118 @@
+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
+	FixTimeGap     string           `position:"Query" name:"FixTimeGap"`
+	TimeMerge      string           `position:"Query" name:"TimeMerge"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	DomainType     string           `position:"Query" name:"DomainType"`
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
+	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"`
+	DataInterval        string              `json:"DataInterval" xml:"DataInterval"`
+	StartTime           string              `json:"StartTime" xml:"StartTime"`
+	EndTime             string              `json:"EndTime" xml:"EndTime"`
+	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
+}

+ 0 - 114
services/cdn/describe_domain_slow_ratio.go

@@ -1,114 +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"
-)
-
-// 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", "2018-05-10", "DescribeDomainSlowRatio", "", "")
-	return
-}
-
-// CreateDescribeDomainSlowRatioResponse creates a response to parse from DescribeDomainSlowRatio response
-func CreateDescribeDomainSlowRatioResponse() (response *DescribeDomainSlowRatioResponse) {
-	response = &DescribeDomainSlowRatioResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	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
+}

+ 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
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PageNum       requests.Integer `position:"Query" name:"PageNum"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	Order         string           `position:"Query" name:"Order"`
+}
+
+// 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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// 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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	HlsSwitch     string           `position:"Query" name:"HlsSwitch"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// DescribeLiveStreamOnlineUserNumResponse is the response struct for api DescribeLiveStreamOnlineUserNum
+type DescribeLiveStreamOnlineUserNumResponse struct {
+	*responses.BaseResponse
+	RequestId       string         `json:"RequestId" xml:"RequestId"`
+	TotalUserNumber int            `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
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// 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
+}

+ 109 - 0
services/cdn/describe_live_stream_record_index_file.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"
+)
+
+// DescribeLiveStreamRecordIndexFile invokes the cdn.DescribeLiveStreamRecordIndexFile API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordindexfile.html
+func (client *Client) DescribeLiveStreamRecordIndexFile(request *DescribeLiveStreamRecordIndexFileRequest) (response *DescribeLiveStreamRecordIndexFileResponse, err error) {
+	response = CreateDescribeLiveStreamRecordIndexFileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamRecordIndexFileWithChan invokes the cdn.DescribeLiveStreamRecordIndexFile API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordindexfile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamRecordIndexFileWithChan(request *DescribeLiveStreamRecordIndexFileRequest) (<-chan *DescribeLiveStreamRecordIndexFileResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamRecordIndexFileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamRecordIndexFile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamRecordIndexFileWithCallback invokes the cdn.DescribeLiveStreamRecordIndexFile API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamrecordindexfile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamRecordIndexFileWithCallback(request *DescribeLiveStreamRecordIndexFileRequest, callback func(response *DescribeLiveStreamRecordIndexFileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamRecordIndexFileResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamRecordIndexFile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamRecordIndexFileRequest is the request struct for api DescribeLiveStreamRecordIndexFile
+type DescribeLiveStreamRecordIndexFileRequest struct {
+	*requests.RpcRequest
+	RecordId      string           `position:"Query" name:"RecordId"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// DescribeLiveStreamRecordIndexFileResponse is the response struct for api DescribeLiveStreamRecordIndexFile
+type DescribeLiveStreamRecordIndexFileResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	RecordIndexInfo RecordIndexInfo `json:"RecordIndexInfo" xml:"RecordIndexInfo"`
+}
+
+// CreateDescribeLiveStreamRecordIndexFileRequest creates a request to invoke DescribeLiveStreamRecordIndexFile API
+func CreateDescribeLiveStreamRecordIndexFileRequest() (request *DescribeLiveStreamRecordIndexFileRequest) {
+	request = &DescribeLiveStreamRecordIndexFileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamRecordIndexFile", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamRecordIndexFileResponse creates a response to parse from DescribeLiveStreamRecordIndexFile response
+func CreateDescribeLiveStreamRecordIndexFileResponse() (response *DescribeLiveStreamRecordIndexFileResponse) {
+	response = &DescribeLiveStreamRecordIndexFileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 112 - 0
services/cdn/describe_live_stream_snapshot_info.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"
+)
+
+// DescribeLiveStreamSnapshotInfo invokes the cdn.DescribeLiveStreamSnapshotInfo API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsnapshotinfo.html
+func (client *Client) DescribeLiveStreamSnapshotInfo(request *DescribeLiveStreamSnapshotInfoRequest) (response *DescribeLiveStreamSnapshotInfoResponse, err error) {
+	response = CreateDescribeLiveStreamSnapshotInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamSnapshotInfoWithChan invokes the cdn.DescribeLiveStreamSnapshotInfo API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsnapshotinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamSnapshotInfoWithChan(request *DescribeLiveStreamSnapshotInfoRequest) (<-chan *DescribeLiveStreamSnapshotInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamSnapshotInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamSnapshotInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamSnapshotInfoWithCallback invokes the cdn.DescribeLiveStreamSnapshotInfo API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsnapshotinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamSnapshotInfoWithCallback(request *DescribeLiveStreamSnapshotInfoRequest, callback func(response *DescribeLiveStreamSnapshotInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamSnapshotInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamSnapshotInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamSnapshotInfoRequest is the request struct for api DescribeLiveStreamSnapshotInfo
+type DescribeLiveStreamSnapshotInfoRequest struct {
+	*requests.RpcRequest
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	Limit         requests.Integer `position:"Query" name:"Limit"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+}
+
+// DescribeLiveStreamSnapshotInfoResponse is the response struct for api DescribeLiveStreamSnapshotInfo
+type DescribeLiveStreamSnapshotInfoResponse struct {
+	*responses.BaseResponse
+	RequestId                  string                     `json:"RequestId" xml:"RequestId"`
+	NextStartTime              string                     `json:"NextStartTime" xml:"NextStartTime"`
+	LiveStreamSnapshotInfoList LiveStreamSnapshotInfoList `json:"LiveStreamSnapshotInfoList" xml:"LiveStreamSnapshotInfoList"`
+}
+
+// CreateDescribeLiveStreamSnapshotInfoRequest creates a request to invoke DescribeLiveStreamSnapshotInfo API
+func CreateDescribeLiveStreamSnapshotInfoRequest() (request *DescribeLiveStreamSnapshotInfoRequest) {
+	request = &DescribeLiveStreamSnapshotInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamSnapshotInfo", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamSnapshotInfoResponse creates a response to parse from DescribeLiveStreamSnapshotInfo response
+func CreateDescribeLiveStreamSnapshotInfoResponse() (response *DescribeLiveStreamSnapshotInfoResponse) {
+	response = &DescribeLiveStreamSnapshotInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/describe_live_stream_transcode_info.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"
+)
+
+// DescribeLiveStreamTranscodeInfo invokes the cdn.DescribeLiveStreamTranscodeInfo API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamtranscodeinfo.html
+func (client *Client) DescribeLiveStreamTranscodeInfo(request *DescribeLiveStreamTranscodeInfoRequest) (response *DescribeLiveStreamTranscodeInfoResponse, err error) {
+	response = CreateDescribeLiveStreamTranscodeInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamTranscodeInfoWithChan invokes the cdn.DescribeLiveStreamTranscodeInfo API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamtranscodeinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamTranscodeInfoWithChan(request *DescribeLiveStreamTranscodeInfoRequest) (<-chan *DescribeLiveStreamTranscodeInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamTranscodeInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamTranscodeInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamTranscodeInfoWithCallback invokes the cdn.DescribeLiveStreamTranscodeInfo API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamtranscodeinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamTranscodeInfoWithCallback(request *DescribeLiveStreamTranscodeInfoRequest, callback func(response *DescribeLiveStreamTranscodeInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamTranscodeInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamTranscodeInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamTranscodeInfoRequest is the request struct for api DescribeLiveStreamTranscodeInfo
+type DescribeLiveStreamTranscodeInfoRequest struct {
+	*requests.RpcRequest
+	SecurityToken       string           `position:"Query" name:"SecurityToken"`
+	OwnerId             requests.Integer `position:"Query" name:"OwnerId"`
+	DomainTranscodeName string           `position:"Query" name:"DomainTranscodeName"`
+}
+
+// DescribeLiveStreamTranscodeInfoResponse is the response struct for api DescribeLiveStreamTranscodeInfo
+type DescribeLiveStreamTranscodeInfoResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	DomainTranscodeList DomainTranscodeList `json:"DomainTranscodeList" xml:"DomainTranscodeList"`
+}
+
+// CreateDescribeLiveStreamTranscodeInfoRequest creates a request to invoke DescribeLiveStreamTranscodeInfo API
+func CreateDescribeLiveStreamTranscodeInfoRequest() (request *DescribeLiveStreamTranscodeInfoRequest) {
+	request = &DescribeLiveStreamTranscodeInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamTranscodeInfo", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamTranscodeInfoResponse creates a response to parse from DescribeLiveStreamTranscodeInfo response
+func CreateDescribeLiveStreamTranscodeInfoResponse() (response *DescribeLiveStreamTranscodeInfoResponse) {
+	response = &DescribeLiveStreamTranscodeInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 109 - 0
services/cdn/describe_live_streams_control_history.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"
+)
+
+// DescribeLiveStreamsControlHistory invokes the cdn.DescribeLiveStreamsControlHistory API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamscontrolhistory.html
+func (client *Client) DescribeLiveStreamsControlHistory(request *DescribeLiveStreamsControlHistoryRequest) (response *DescribeLiveStreamsControlHistoryResponse, err error) {
+	response = CreateDescribeLiveStreamsControlHistoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamsControlHistoryWithChan invokes the cdn.DescribeLiveStreamsControlHistory API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamscontrolhistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsControlHistoryWithChan(request *DescribeLiveStreamsControlHistoryRequest) (<-chan *DescribeLiveStreamsControlHistoryResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamsControlHistoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamsControlHistory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamsControlHistoryWithCallback invokes the cdn.DescribeLiveStreamsControlHistory API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamscontrolhistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsControlHistoryWithCallback(request *DescribeLiveStreamsControlHistoryRequest, callback func(response *DescribeLiveStreamsControlHistoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamsControlHistoryResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamsControlHistory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamsControlHistoryRequest is the request struct for api DescribeLiveStreamsControlHistory
+type DescribeLiveStreamsControlHistoryRequest struct {
+	*requests.RpcRequest
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLiveStreamsControlHistoryResponse is the response struct for api DescribeLiveStreamsControlHistory
+type DescribeLiveStreamsControlHistoryResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	ControlInfo ControlInfo `json:"ControlInfo" xml:"ControlInfo"`
+}
+
+// CreateDescribeLiveStreamsControlHistoryRequest creates a request to invoke DescribeLiveStreamsControlHistory API
+func CreateDescribeLiveStreamsControlHistoryRequest() (request *DescribeLiveStreamsControlHistoryRequest) {
+	request = &DescribeLiveStreamsControlHistoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamsControlHistory", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamsControlHistoryResponse creates a response to parse from DescribeLiveStreamsControlHistory response
+func CreateDescribeLiveStreamsControlHistoryResponse() (response *DescribeLiveStreamsControlHistoryResponse) {
+	response = &DescribeLiveStreamsControlHistoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 114 - 0
services/cdn/describe_live_streams_online_list.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"
+)
+
+// DescribeLiveStreamsOnlineList invokes the cdn.DescribeLiveStreamsOnlineList API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsonlinelist.html
+func (client *Client) DescribeLiveStreamsOnlineList(request *DescribeLiveStreamsOnlineListRequest) (response *DescribeLiveStreamsOnlineListResponse, err error) {
+	response = CreateDescribeLiveStreamsOnlineListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamsOnlineListWithChan invokes the cdn.DescribeLiveStreamsOnlineList API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsonlinelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsOnlineListWithChan(request *DescribeLiveStreamsOnlineListRequest) (<-chan *DescribeLiveStreamsOnlineListResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamsOnlineListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamsOnlineList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamsOnlineListWithCallback invokes the cdn.DescribeLiveStreamsOnlineList API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamsonlinelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsOnlineListWithCallback(request *DescribeLiveStreamsOnlineListRequest, callback func(response *DescribeLiveStreamsOnlineListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamsOnlineListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamsOnlineList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamsOnlineListRequest is the request struct for api DescribeLiveStreamsOnlineList
+type DescribeLiveStreamsOnlineListRequest struct {
+	*requests.RpcRequest
+	StreamType    string           `position:"Query" name:"StreamType"`
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PageNum       requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// DescribeLiveStreamsOnlineListResponse is the response struct for api DescribeLiveStreamsOnlineList
+type DescribeLiveStreamsOnlineListResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	PageNum    int        `json:"PageNum" xml:"PageNum"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	TotalNum   int        `json:"TotalNum" xml:"TotalNum"`
+	TotalPage  int        `json:"TotalPage" xml:"TotalPage"`
+	OnlineInfo OnlineInfo `json:"OnlineInfo" xml:"OnlineInfo"`
+}
+
+// CreateDescribeLiveStreamsOnlineListRequest creates a request to invoke DescribeLiveStreamsOnlineList API
+func CreateDescribeLiveStreamsOnlineListRequest() (request *DescribeLiveStreamsOnlineListRequest) {
+	request = &DescribeLiveStreamsOnlineListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamsOnlineList", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamsOnlineListResponse creates a response to parse from DescribeLiveStreamsOnlineList response
+func CreateDescribeLiveStreamsOnlineListResponse() (response *DescribeLiveStreamsOnlineListResponse) {
+	response = &DescribeLiveStreamsOnlineListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cdn/describe_live_streams_publish_list.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"
+)
+
+// DescribeLiveStreamsPublishList invokes the cdn.DescribeLiveStreamsPublishList API synchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamspublishlist.html
+func (client *Client) DescribeLiveStreamsPublishList(request *DescribeLiveStreamsPublishListRequest) (response *DescribeLiveStreamsPublishListResponse, err error) {
+	response = CreateDescribeLiveStreamsPublishListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLiveStreamsPublishListWithChan invokes the cdn.DescribeLiveStreamsPublishList API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamspublishlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsPublishListWithChan(request *DescribeLiveStreamsPublishListRequest) (<-chan *DescribeLiveStreamsPublishListResponse, <-chan error) {
+	responseChan := make(chan *DescribeLiveStreamsPublishListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLiveStreamsPublishList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLiveStreamsPublishListWithCallback invokes the cdn.DescribeLiveStreamsPublishList API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describelivestreamspublishlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLiveStreamsPublishListWithCallback(request *DescribeLiveStreamsPublishListRequest, callback func(response *DescribeLiveStreamsPublishListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLiveStreamsPublishListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLiveStreamsPublishList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLiveStreamsPublishListRequest is the request struct for api DescribeLiveStreamsPublishList
+type DescribeLiveStreamsPublishListRequest struct {
+	*requests.RpcRequest
+	AppName       string           `position:"Query" name:"AppName"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	EndTime       string           `position:"Query" name:"EndTime"`
+	StartTime     string           `position:"Query" name:"StartTime"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName    string           `position:"Query" name:"StreamName"`
+	PageNumber    requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeLiveStreamsPublishListResponse is the response struct for api DescribeLiveStreamsPublishList
+type DescribeLiveStreamsPublishListResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	PublishInfo PublishInfo `json:"PublishInfo" xml:"PublishInfo"`
+}
+
+// CreateDescribeLiveStreamsPublishListRequest creates a request to invoke DescribeLiveStreamsPublishList API
+func CreateDescribeLiveStreamsPublishListRequest() (request *DescribeLiveStreamsPublishListRequest) {
+	request = &DescribeLiveStreamsPublishListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeLiveStreamsPublishList", "", "")
+	return
+}
+
+// CreateDescribeLiveStreamsPublishListResponse creates a response to parse from DescribeLiveStreamsPublishList response
+func CreateDescribeLiveStreamsPublishListResponse() (response *DescribeLiveStreamsPublishListResponse) {
+	response = &DescribeLiveStreamsPublishListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_range_data_by_locate_and_isp_service.go

@@ -81,7 +81,7 @@ type DescribeRangeDataByLocateAndIspServiceRequest struct {
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	DomainNames   string           `position:"Query" name:"DomainNames"`
 	LocationNames string           `position:"Query" name:"LocationNames"`
 	LocationNames string           `position:"Query" name:"LocationNames"`
 	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"`
 }
 }
 
 

+ 109 - 0
services/cdn/describe_realtime_delivery_acc.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"
+)
+
+// DescribeRealtimeDeliveryAcc invokes the cdn.DescribeRealtimeDeliveryAcc API synchronously
+// api document: https://help.aliyun.com/api/cdn/describerealtimedeliveryacc.html
+func (client *Client) DescribeRealtimeDeliveryAcc(request *DescribeRealtimeDeliveryAccRequest) (response *DescribeRealtimeDeliveryAccResponse, err error) {
+	response = CreateDescribeRealtimeDeliveryAccResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRealtimeDeliveryAccWithChan invokes the cdn.DescribeRealtimeDeliveryAcc API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describerealtimedeliveryacc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealtimeDeliveryAccWithChan(request *DescribeRealtimeDeliveryAccRequest) (<-chan *DescribeRealtimeDeliveryAccResponse, <-chan error) {
+	responseChan := make(chan *DescribeRealtimeDeliveryAccResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRealtimeDeliveryAcc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRealtimeDeliveryAccWithCallback invokes the cdn.DescribeRealtimeDeliveryAcc API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describerealtimedeliveryacc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealtimeDeliveryAccWithCallback(request *DescribeRealtimeDeliveryAccRequest, callback func(response *DescribeRealtimeDeliveryAccResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRealtimeDeliveryAccResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRealtimeDeliveryAcc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRealtimeDeliveryAccRequest is the request struct for api DescribeRealtimeDeliveryAcc
+type DescribeRealtimeDeliveryAccRequest struct {
+	*requests.RpcRequest
+	Project   string           `position:"Query" name:"Project"`
+	StartTime string           `position:"Query" name:"StartTime"`
+	EndTime   string           `position:"Query" name:"EndTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	Interval  string           `position:"Query" name:"Interval"`
+	LogStore  string           `position:"Query" name:"LogStore"`
+}
+
+// DescribeRealtimeDeliveryAccResponse is the response struct for api DescribeRealtimeDeliveryAcc
+type DescribeRealtimeDeliveryAccResponse struct {
+	*responses.BaseResponse
+	RequestId               string                  `json:"RequestId" xml:"RequestId"`
+	ReatTimeDeliveryAccData ReatTimeDeliveryAccData `json:"ReatTimeDeliveryAccData" xml:"ReatTimeDeliveryAccData"`
+}
+
+// CreateDescribeRealtimeDeliveryAccRequest creates a request to invoke DescribeRealtimeDeliveryAcc API
+func CreateDescribeRealtimeDeliveryAccRequest() (request *DescribeRealtimeDeliveryAccRequest) {
+	request = &DescribeRealtimeDeliveryAccRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeRealtimeDeliveryAcc", "", "")
+	return
+}
+
+// CreateDescribeRealtimeDeliveryAccResponse creates a response to parse from DescribeRealtimeDeliveryAcc response
+func CreateDescribeRealtimeDeliveryAccResponse() (response *DescribeRealtimeDeliveryAccResponse) {
+	response = &DescribeRealtimeDeliveryAccResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 104
services/cdn/describe_user_custom_log_config.go

@@ -1,104 +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"
-)
-
-// DescribeUserCustomLogConfig invokes the cdn.DescribeUserCustomLogConfig API synchronously
-// api document: https://help.aliyun.com/api/cdn/describeusercustomlogconfig.html
-func (client *Client) DescribeUserCustomLogConfig(request *DescribeUserCustomLogConfigRequest) (response *DescribeUserCustomLogConfigResponse, err error) {
-	response = CreateDescribeUserCustomLogConfigResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeUserCustomLogConfigWithChan invokes the cdn.DescribeUserCustomLogConfig API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describeusercustomlogconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeUserCustomLogConfigWithChan(request *DescribeUserCustomLogConfigRequest) (<-chan *DescribeUserCustomLogConfigResponse, <-chan error) {
-	responseChan := make(chan *DescribeUserCustomLogConfigResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeUserCustomLogConfig(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeUserCustomLogConfigWithCallback invokes the cdn.DescribeUserCustomLogConfig API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describeusercustomlogconfig.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeUserCustomLogConfigWithCallback(request *DescribeUserCustomLogConfigRequest, callback func(response *DescribeUserCustomLogConfigResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeUserCustomLogConfigResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeUserCustomLogConfig(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeUserCustomLogConfigRequest is the request struct for api DescribeUserCustomLogConfig
-type DescribeUserCustomLogConfigRequest struct {
-	*requests.RpcRequest
-	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeUserCustomLogConfigResponse is the response struct for api DescribeUserCustomLogConfig
-type DescribeUserCustomLogConfigResponse struct {
-	*responses.BaseResponse
-	RequestId string    `json:"RequestId" xml:"RequestId"`
-	ConfigIds ConfigIds `json:"ConfigIds" xml:"ConfigIds"`
-}
-
-// CreateDescribeUserCustomLogConfigRequest creates a request to invoke DescribeUserCustomLogConfig API
-func CreateDescribeUserCustomLogConfigRequest() (request *DescribeUserCustomLogConfigRequest) {
-	request = &DescribeUserCustomLogConfigRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeUserCustomLogConfig", "", "")
-	return
-}
-
-// CreateDescribeUserCustomLogConfigResponse creates a response to parse from DescribeUserCustomLogConfig response
-func CreateDescribeUserCustomLogConfigResponse() (response *DescribeUserCustomLogConfigResponse) {
-	response = &DescribeUserCustomLogConfigResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 106 - 0
services/cdn/describe_user_customer_labels.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"
+)
+
+// DescribeUserCustomerLabels invokes the cdn.DescribeUserCustomerLabels API synchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercustomerlabels.html
+func (client *Client) DescribeUserCustomerLabels(request *DescribeUserCustomerLabelsRequest) (response *DescribeUserCustomerLabelsResponse, err error) {
+	response = CreateDescribeUserCustomerLabelsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserCustomerLabelsWithChan invokes the cdn.DescribeUserCustomerLabels API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercustomerlabels.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserCustomerLabelsWithChan(request *DescribeUserCustomerLabelsRequest) (<-chan *DescribeUserCustomerLabelsResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserCustomerLabelsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserCustomerLabels(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserCustomerLabelsWithCallback invokes the cdn.DescribeUserCustomerLabels API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercustomerlabels.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserCustomerLabelsWithCallback(request *DescribeUserCustomerLabelsRequest, callback func(response *DescribeUserCustomerLabelsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserCustomerLabelsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserCustomerLabels(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserCustomerLabelsRequest is the request struct for api DescribeUserCustomerLabels
+type DescribeUserCustomerLabelsRequest struct {
+	*requests.RpcRequest
+	Uid           requests.Integer `position:"Query" name:"Uid"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserCustomerLabelsResponse is the response struct for api DescribeUserCustomerLabels
+type DescribeUserCustomerLabelsResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	IsInnerUser bool   `json:"IsInnerUser" xml:"IsInnerUser"`
+}
+
+// CreateDescribeUserCustomerLabelsRequest creates a request to invoke DescribeUserCustomerLabels API
+func CreateDescribeUserCustomerLabelsRequest() (request *DescribeUserCustomerLabelsRequest) {
+	request = &DescribeUserCustomerLabelsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeUserCustomerLabels", "", "")
+	return
+}
+
+// CreateDescribeUserCustomerLabelsResponse creates a response to parse from DescribeUserCustomerLabels response
+func CreateDescribeUserCustomerLabelsResponse() (response *DescribeUserCustomerLabelsResponse) {
+	response = &DescribeUserCustomerLabelsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cdn/forbid_live_stream.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"
+)
+
+// ForbidLiveStream invokes the cdn.ForbidLiveStream API synchronously
+// api document: https://help.aliyun.com/api/cdn/forbidlivestream.html
+func (client *Client) ForbidLiveStream(request *ForbidLiveStreamRequest) (response *ForbidLiveStreamResponse, err error) {
+	response = CreateForbidLiveStreamResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ForbidLiveStreamWithChan invokes the cdn.ForbidLiveStream API asynchronously
+// api document: https://help.aliyun.com/api/cdn/forbidlivestream.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ForbidLiveStreamWithChan(request *ForbidLiveStreamRequest) (<-chan *ForbidLiveStreamResponse, <-chan error) {
+	responseChan := make(chan *ForbidLiveStreamResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ForbidLiveStream(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ForbidLiveStreamWithCallback invokes the cdn.ForbidLiveStream API asynchronously
+// api document: https://help.aliyun.com/api/cdn/forbidlivestream.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ForbidLiveStreamWithCallback(request *ForbidLiveStreamRequest, callback func(response *ForbidLiveStreamResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ForbidLiveStreamResponse
+		var err error
+		defer close(result)
+		response, err = client.ForbidLiveStream(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ForbidLiveStreamRequest is the request struct for api ForbidLiveStream
+type ForbidLiveStreamRequest struct {
+	*requests.RpcRequest
+	ResumeTime     string           `position:"Query" name:"ResumeTime"`
+	AppName        string           `position:"Query" name:"AppName"`
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
+	LiveStreamType string           `position:"Query" name:"LiveStreamType"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName     string           `position:"Query" name:"StreamName"`
+}
+
+// ForbidLiveStreamResponse is the response struct for api ForbidLiveStream
+type ForbidLiveStreamResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateForbidLiveStreamRequest creates a request to invoke ForbidLiveStream API
+func CreateForbidLiveStreamRequest() (request *ForbidLiveStreamRequest) {
+	request = &ForbidLiveStreamRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "ForbidLiveStream", "", "")
+	return
+}
+
+// CreateForbidLiveStreamResponse creates a response to parse from ForbidLiveStream response
+func CreateForbidLiveStreamResponse() (response *ForbidLiveStreamResponse) {
+	response = &ForbidLiveStreamResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cdn/resume_live_stream.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"
+)
+
+// ResumeLiveStream invokes the cdn.ResumeLiveStream API synchronously
+// api document: https://help.aliyun.com/api/cdn/resumelivestream.html
+func (client *Client) ResumeLiveStream(request *ResumeLiveStreamRequest) (response *ResumeLiveStreamResponse, err error) {
+	response = CreateResumeLiveStreamResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResumeLiveStreamWithChan invokes the cdn.ResumeLiveStream API asynchronously
+// api document: https://help.aliyun.com/api/cdn/resumelivestream.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResumeLiveStreamWithChan(request *ResumeLiveStreamRequest) (<-chan *ResumeLiveStreamResponse, <-chan error) {
+	responseChan := make(chan *ResumeLiveStreamResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResumeLiveStream(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResumeLiveStreamWithCallback invokes the cdn.ResumeLiveStream API asynchronously
+// api document: https://help.aliyun.com/api/cdn/resumelivestream.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResumeLiveStreamWithCallback(request *ResumeLiveStreamRequest, callback func(response *ResumeLiveStreamResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResumeLiveStreamResponse
+		var err error
+		defer close(result)
+		response, err = client.ResumeLiveStream(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResumeLiveStreamRequest is the request struct for api ResumeLiveStream
+type ResumeLiveStreamRequest struct {
+	*requests.RpcRequest
+	AppName        string           `position:"Query" name:"AppName"`
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
+	LiveStreamType string           `position:"Query" name:"LiveStreamType"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	StreamName     string           `position:"Query" name:"StreamName"`
+}
+
+// ResumeLiveStreamResponse is the response struct for api ResumeLiveStream
+type ResumeLiveStreamResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResumeLiveStreamRequest creates a request to invoke ResumeLiveStream API
+func CreateResumeLiveStreamRequest() (request *ResumeLiveStreamRequest) {
+	request = &ResumeLiveStreamRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "ResumeLiveStream", "", "")
+	return
+}
+
+// CreateResumeLiveStreamResponse creates a response to parse from ResumeLiveStream response
+func CreateResumeLiveStreamResponse() (response *ResumeLiveStreamResponse) {
+	response = &ResumeLiveStreamResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cdn/set_dynamic_config.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"
+)
+
+// SetDynamicConfig invokes the cdn.SetDynamicConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/setdynamicconfig.html
+func (client *Client) SetDynamicConfig(request *SetDynamicConfigRequest) (response *SetDynamicConfigResponse, err error) {
+	response = CreateSetDynamicConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetDynamicConfigWithChan invokes the cdn.SetDynamicConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/setdynamicconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDynamicConfigWithChan(request *SetDynamicConfigRequest) (<-chan *SetDynamicConfigResponse, <-chan error) {
+	responseChan := make(chan *SetDynamicConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetDynamicConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetDynamicConfigWithCallback invokes the cdn.SetDynamicConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/setdynamicconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetDynamicConfigWithCallback(request *SetDynamicConfigRequest, callback func(response *SetDynamicConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetDynamicConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.SetDynamicConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetDynamicConfigRequest is the request struct for api SetDynamicConfig
+type SetDynamicConfigRequest struct {
+	*requests.RpcRequest
+	DynamicOrigin       string           `position:"Query" name:"DynamicOrigin"`
+	StaticType          string           `position:"Query" name:"StaticType"`
+	SecurityToken       string           `position:"Query" name:"SecurityToken"`
+	StaticUri           string           `position:"Query" name:"StaticUri"`
+	DomainName          string           `position:"Query" name:"DomainName"`
+	StaticPath          string           `position:"Query" name:"StaticPath"`
+	DynamicCacheControl string           `position:"Query" name:"DynamicCacheControl"`
+	OwnerId             requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// SetDynamicConfigResponse is the response struct for api SetDynamicConfig
+type SetDynamicConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetDynamicConfigRequest creates a request to invoke SetDynamicConfig API
+func CreateSetDynamicConfigRequest() (request *SetDynamicConfigRequest) {
+	request = &SetDynamicConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "SetDynamicConfig", "", "")
+	return
+}
+
+// CreateSetDynamicConfigResponse creates a response to parse from SetDynamicConfig response
+func CreateSetDynamicConfigResponse() (response *SetDynamicConfigResponse) {
+	response = &SetDynamicConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 109 - 0
services/cdn/set_waiting_room_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"
+)
+
+// SetWaitingRoomConfig invokes the cdn.SetWaitingRoomConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/setwaitingroomconfig.html
+func (client *Client) SetWaitingRoomConfig(request *SetWaitingRoomConfigRequest) (response *SetWaitingRoomConfigResponse, err error) {
+	response = CreateSetWaitingRoomConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetWaitingRoomConfigWithChan invokes the cdn.SetWaitingRoomConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/setwaitingroomconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetWaitingRoomConfigWithChan(request *SetWaitingRoomConfigRequest) (<-chan *SetWaitingRoomConfigResponse, <-chan error) {
+	responseChan := make(chan *SetWaitingRoomConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetWaitingRoomConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetWaitingRoomConfigWithCallback invokes the cdn.SetWaitingRoomConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/setwaitingroomconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetWaitingRoomConfigWithCallback(request *SetWaitingRoomConfigRequest, callback func(response *SetWaitingRoomConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetWaitingRoomConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.SetWaitingRoomConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetWaitingRoomConfigRequest is the request struct for api SetWaitingRoomConfig
+type SetWaitingRoomConfigRequest struct {
+	*requests.RpcRequest
+	WaitUrl     string           `position:"Query" name:"WaitUrl"`
+	WaitUri     string           `position:"Query" name:"WaitUri"`
+	MaxTimeWait requests.Integer `position:"Query" name:"MaxTimeWait"`
+	DomainName  string           `position:"Query" name:"DomainName"`
+	AllowPct    requests.Integer `position:"Query" name:"AllowPct"`
+	GapTime     requests.Integer `position:"Query" name:"GapTime"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// SetWaitingRoomConfigResponse is the response struct for api SetWaitingRoomConfig
+type SetWaitingRoomConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetWaitingRoomConfigRequest creates a request to invoke SetWaitingRoomConfig API
+func CreateSetWaitingRoomConfigRequest() (request *SetWaitingRoomConfigRequest) {
+	request = &SetWaitingRoomConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "SetWaitingRoomConfig", "", "")
+	return
+}
+
+// CreateSetWaitingRoomConfigResponse creates a response to parse from SetWaitingRoomConfig response
+func CreateSetWaitingRoomConfigResponse() (response *SetWaitingRoomConfigResponse) {
+	response = &SetWaitingRoomConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cdn/start_mix_streams_service.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"
+)
+
+// StartMixStreamsService invokes the cdn.StartMixStreamsService API synchronously
+// api document: https://help.aliyun.com/api/cdn/startmixstreamsservice.html
+func (client *Client) StartMixStreamsService(request *StartMixStreamsServiceRequest) (response *StartMixStreamsServiceResponse, err error) {
+	response = CreateStartMixStreamsServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartMixStreamsServiceWithChan invokes the cdn.StartMixStreamsService API asynchronously
+// api document: https://help.aliyun.com/api/cdn/startmixstreamsservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartMixStreamsServiceWithChan(request *StartMixStreamsServiceRequest) (<-chan *StartMixStreamsServiceResponse, <-chan error) {
+	responseChan := make(chan *StartMixStreamsServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartMixStreamsService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartMixStreamsServiceWithCallback invokes the cdn.StartMixStreamsService API asynchronously
+// api document: https://help.aliyun.com/api/cdn/startmixstreamsservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartMixStreamsServiceWithCallback(request *StartMixStreamsServiceRequest, callback func(response *StartMixStreamsServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartMixStreamsServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.StartMixStreamsService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartMixStreamsServiceRequest is the request struct for api StartMixStreamsService
+type StartMixStreamsServiceRequest struct {
+	*requests.RpcRequest
+	MixType        string           `position:"Query" name:"MixType"`
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
+	MainDomainName string           `position:"Query" name:"MainDomainName"`
+	MixStreamName  string           `position:"Query" name:"MixStreamName"`
+	MixTemplate    string           `position:"Query" name:"MixTemplate"`
+	MixDomainName  string           `position:"Query" name:"MixDomainName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	MainAppName    string           `position:"Query" name:"MainAppName"`
+	MixAppName     string           `position:"Query" name:"MixAppName"`
+	MainStreamName string           `position:"Query" name:"MainStreamName"`
+}
+
+// StartMixStreamsServiceResponse is the response struct for api StartMixStreamsService
+type StartMixStreamsServiceResponse struct {
+	*responses.BaseResponse
+	RequestId          string                                     `json:"RequestId" xml:"RequestId"`
+	MixStreamsInfoList MixStreamsInfoListInStartMixStreamsService `json:"MixStreamsInfoList" xml:"MixStreamsInfoList"`
+}
+
+// CreateStartMixStreamsServiceRequest creates a request to invoke StartMixStreamsService API
+func CreateStartMixStreamsServiceRequest() (request *StartMixStreamsServiceRequest) {
+	request = &StartMixStreamsServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "StartMixStreamsService", "", "")
+	return
+}
+
+// CreateStartMixStreamsServiceResponse creates a response to parse from StartMixStreamsService response
+func CreateStartMixStreamsServiceResponse() (response *StartMixStreamsServiceResponse) {
+	response = &StartMixStreamsServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cdn/stop_mix_streams_service.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"
+)
+
+// StopMixStreamsService invokes the cdn.StopMixStreamsService API synchronously
+// api document: https://help.aliyun.com/api/cdn/stopmixstreamsservice.html
+func (client *Client) StopMixStreamsService(request *StopMixStreamsServiceRequest) (response *StopMixStreamsServiceResponse, err error) {
+	response = CreateStopMixStreamsServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopMixStreamsServiceWithChan invokes the cdn.StopMixStreamsService API asynchronously
+// api document: https://help.aliyun.com/api/cdn/stopmixstreamsservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopMixStreamsServiceWithChan(request *StopMixStreamsServiceRequest) (<-chan *StopMixStreamsServiceResponse, <-chan error) {
+	responseChan := make(chan *StopMixStreamsServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopMixStreamsService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopMixStreamsServiceWithCallback invokes the cdn.StopMixStreamsService API asynchronously
+// api document: https://help.aliyun.com/api/cdn/stopmixstreamsservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopMixStreamsServiceWithCallback(request *StopMixStreamsServiceRequest, callback func(response *StopMixStreamsServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopMixStreamsServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.StopMixStreamsService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopMixStreamsServiceRequest is the request struct for api StopMixStreamsService
+type StopMixStreamsServiceRequest struct {
+	*requests.RpcRequest
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
+	MainDomainName string           `position:"Query" name:"MainDomainName"`
+	MixStreamName  string           `position:"Query" name:"MixStreamName"`
+	MixDomainName  string           `position:"Query" name:"MixDomainName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	MainAppName    string           `position:"Query" name:"MainAppName"`
+	MixAppName     string           `position:"Query" name:"MixAppName"`
+	MainStreamName string           `position:"Query" name:"MainStreamName"`
+}
+
+// StopMixStreamsServiceResponse is the response struct for api StopMixStreamsService
+type StopMixStreamsServiceResponse struct {
+	*responses.BaseResponse
+	RequestId          string                                    `json:"RequestId" xml:"RequestId"`
+	MixStreamsInfoList MixStreamsInfoListInStopMixStreamsService `json:"MixStreamsInfoList" xml:"MixStreamsInfoList"`
+}
+
+// CreateStopMixStreamsServiceRequest creates a request to invoke StopMixStreamsService API
+func CreateStopMixStreamsServiceRequest() (request *StopMixStreamsServiceRequest) {
+	request = &StopMixStreamsServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "StopMixStreamsService", "", "")
+	return
+}
+
+// CreateStopMixStreamsServiceResponse creates a response to parse from StopMixStreamsService response
+func CreateStopMixStreamsServiceResponse() (response *StopMixStreamsServiceResponse) {
+	response = &StopMixStreamsServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 10
services/cdn/struct_slow_ratio_data.go → services/cdn/struct_acc_data.go

@@ -15,14 +15,9 @@ package cdn
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// SlowRatioData is a nested struct in cdn response
-type SlowRatioData struct {
-	TotalUsers   int     `json:"TotalUsers" xml:"TotalUsers"`
-	SlowUsers    int     `json:"SlowUsers" xml:"SlowUsers"`
-	SlowRatio    float64 `json:"SlowRatio" xml:"SlowRatio"`
-	RegionNameZh string  `json:"RegionNameZh" xml:"RegionNameZh"`
-	RegionNameEn string  `json:"RegionNameEn" xml:"RegionNameEn"`
-	IspNameZh    string  `json:"IspNameZh" xml:"IspNameZh"`
-	IspNameEn    string  `json:"IspNameEn" xml:"IspNameEn"`
-	Time         string  `json:"Time" xml:"Time"`
+// AccData is a nested struct in cdn response
+type AccData struct {
+	TimeStamp  string `json:"TimeStamp" xml:"TimeStamp"`
+	SuccessNum int    `json:"SuccessNum" xml:"SuccessNum"`
+	FailedNum  int    `json:"FailedNum" xml:"FailedNum"`
 }
 }

+ 24 - 0
services/cdn/struct_ali_business_config.go

@@ -0,0 +1,24 @@
+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.
+
+// AliBusinessConfig is a nested struct in cdn response
+type AliBusinessConfig struct {
+	AliBusinessTable string `json:"AliBusinessTable" xml:"AliBusinessTable"`
+	AliBusinessType  string `json:"AliBusinessType" xml:"AliBusinessType"`
+	ConfigId         string `json:"ConfigId" xml:"ConfigId"`
+	Status           string `json:"Status" xml:"Status"`
+}

+ 26 - 0
services/cdn/struct_cache_expired_config.go

@@ -0,0 +1,26 @@
+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.
+
+// CacheExpiredConfig is a nested struct in cdn response
+type CacheExpiredConfig struct {
+	ConfigId     string `json:"ConfigId" xml:"ConfigId"`
+	CacheType    string `json:"CacheType" xml:"CacheType"`
+	CacheContent string `json:"CacheContent" xml:"CacheContent"`
+	TTL          string `json:"TTL" xml:"TTL"`
+	Weight       string `json:"Weight" xml:"Weight"`
+	Status       string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_cache_expired_configs.go

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

+ 25 - 0
services/cdn/struct_cc_config.go

@@ -0,0 +1,25 @@
+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.
+
+// CcConfig is a nested struct in cdn response
+type CcConfig struct {
+	ConfigId string `json:"ConfigId" xml:"ConfigId"`
+	Enable   string `json:"Enable" xml:"Enable"`
+	AllowIps string `json:"AllowIps" xml:"AllowIps"`
+	BlockIps string `json:"BlockIps" xml:"BlockIps"`
+	Status   string `json:"Status" xml:"Status"`
+}

+ 3 - 3
services/cdn/struct_config_ids.go → services/cdn/struct_cc_data_list.go

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

+ 4 - 3
services/cdn/struct_slow_ratio_data_per_interval.go → services/cdn/struct_cc_datas.go

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

+ 26 - 0
services/cdn/struct_cdn_monitor_data.go

@@ -0,0 +1,26 @@
+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.
+
+// CDNMonitorData is a nested struct in cdn response
+type CDNMonitorData struct {
+	TimeStamp         string `json:"TimeStamp" xml:"TimeStamp"`
+	QueryPerSecond    string `json:"QueryPerSecond" xml:"QueryPerSecond"`
+	BytesPerSecond    string `json:"BytesPerSecond" xml:"BytesPerSecond"`
+	BytesHitRate      string `json:"BytesHitRate" xml:"BytesHitRate"`
+	RequestHitRate    string `json:"RequestHitRate" xml:"RequestHitRate"`
+	AverageObjectSize string `json:"AverageObjectSize" xml:"AverageObjectSize"`
+}

+ 21 - 0
services/cdn/struct_control_info.go

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

+ 21 - 0
services/cdn/struct_domain_configs_in_describe_cdn_domain_configs.go

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

+ 22 - 0
services/cdn/struct_domain_log_model.go

@@ -0,0 +1,22 @@
+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.
+
+// DomainLogModel is a nested struct in cdn response
+type DomainLogModel struct {
+	DomainName       string           `json:"DomainName" xml:"DomainName"`
+	DomainLogDetails DomainLogDetails `json:"DomainLogDetails" xml:"DomainLogDetails"`
+}

+ 26 - 0
services/cdn/struct_domain_transcode_info.go

@@ -0,0 +1,26 @@
+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.
+
+// DomainTranscodeInfo is a nested struct in cdn response
+type DomainTranscodeInfo struct {
+	TranscodeApp      string `json:"TranscodeApp" xml:"TranscodeApp"`
+	TranscodeId       string `json:"TranscodeId" xml:"TranscodeId"`
+	TranscodeName     string `json:"TranscodeName" xml:"TranscodeName"`
+	TranscodeRecord   string `json:"TranscodeRecord" xml:"TranscodeRecord"`
+	TranscodeSnapshot string `json:"TranscodeSnapshot" xml:"TranscodeSnapshot"`
+	TranscodeTemplate string `json:"TranscodeTemplate" xml:"TranscodeTemplate"`
+}

+ 21 - 0
services/cdn/struct_domain_transcode_list.go

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

+ 28 - 0
services/cdn/struct_dynamic_config.go

@@ -0,0 +1,28 @@
+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.
+
+// DynamicConfig is a nested struct in cdn response
+type DynamicConfig struct {
+	ConfigId            string `json:"ConfigId" xml:"ConfigId"`
+	Enable              string `json:"Enable" xml:"Enable"`
+	DynamicOrigin       string `json:"DynamicOrigin" xml:"DynamicOrigin"`
+	StaticType          string `json:"StaticType" xml:"StaticType"`
+	StaticUri           string `json:"StaticUri" xml:"StaticUri"`
+	StaticPath          string `json:"StaticPath" xml:"StaticPath"`
+	DynamicCacheControl string `json:"DynamicCacheControl" xml:"DynamicCacheControl"`
+	Status              string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_dynamic_configs.go

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

+ 25 - 0
services/cdn/struct_error_page_config.go

@@ -0,0 +1,25 @@
+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.
+
+// ErrorPageConfig is a nested struct in cdn response
+type ErrorPageConfig struct {
+	ConfigId      string `json:"ConfigId" xml:"ConfigId"`
+	ErrorCode     string `json:"ErrorCode" xml:"ErrorCode"`
+	PageType      string `json:"PageType" xml:"PageType"`
+	CustomPageUrl string `json:"CustomPageUrl" xml:"CustomPageUrl"`
+	Status        string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_flow_data_per_interval.go

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

+ 25 - 0
services/cdn/struct_forward_scheme_config.go

@@ -0,0 +1,25 @@
+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.
+
+// ForwardSchemeConfig is a nested struct in cdn response
+type ForwardSchemeConfig struct {
+	ConfigId         string `json:"ConfigId" xml:"ConfigId"`
+	Enable           string `json:"Enable" xml:"Enable"`
+	SchemeOrigin     string `json:"SchemeOrigin" xml:"SchemeOrigin"`
+	SchemeOriginPort string `json:"SchemeOriginPort" xml:"SchemeOriginPort"`
+	Status           string `json:"Status" xml:"Status"`
+}

+ 25 - 0
services/cdn/struct_frame_rate_and_bit_rate_info.go

@@ -0,0 +1,25 @@
+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.
+
+// FrameRateAndBitRateInfo is a nested struct in cdn response
+type FrameRateAndBitRateInfo struct {
+	BitRate        float64 `json:"BitRate" xml:"BitRate"`
+	Time           string  `json:"Time" xml:"Time"`
+	VideoFrameRate float64 `json:"VideoFrameRate" xml:"VideoFrameRate"`
+	AudioFrameRate float64 `json:"AudioFrameRate" xml:"AudioFrameRate"`
+	StreamUrl      string  `json:"StreamUrl" xml:"StreamUrl"`
+}

+ 21 - 0
services/cdn/struct_frame_rate_and_bit_rate_infos_in_describe_live_stream_bit_rate_data.go

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

+ 21 - 0
services/cdn/struct_frame_rate_and_bit_rate_infos_in_describe_live_streams_frame_rate_and_bit_rate_data.go

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

+ 21 - 0
services/cdn/struct_http_code_data.go

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

+ 24 - 0
services/cdn/struct_http_error_page_config.go

@@ -0,0 +1,24 @@
+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.
+
+// HttpErrorPageConfig is a nested struct in cdn response
+type HttpErrorPageConfig struct {
+	ConfigId  string `json:"ConfigId" xml:"ConfigId"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	PageUrl   string `json:"PageUrl" xml:"PageUrl"`
+	Status    string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_http_error_page_configs.go

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

+ 24 - 0
services/cdn/struct_http_header_config.go

@@ -0,0 +1,24 @@
+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.
+
+// HttpHeaderConfig is a nested struct in cdn response
+type HttpHeaderConfig struct {
+	ConfigId    string `json:"ConfigId" xml:"ConfigId"`
+	HeaderKey   string `json:"HeaderKey" xml:"HeaderKey"`
+	HeaderValue string `json:"HeaderValue" xml:"HeaderValue"`
+	Status      string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_http_header_configs.go

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

+ 23 - 0
services/cdn/struct_https_option_config.go

@@ -0,0 +1,23 @@
+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.
+
+// HttpsOptionConfig is a nested struct in cdn response
+type HttpsOptionConfig struct {
+	Http2    string `json:"Http2" xml:"Http2"`
+	ConfigId string `json:"ConfigId" xml:"ConfigId"`
+	Status   string `json:"Status" xml:"Status"`
+}

+ 24 - 0
services/cdn/struct_ignore_query_string_config.go

@@ -0,0 +1,24 @@
+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.
+
+// IgnoreQueryStringConfig is a nested struct in cdn response
+type IgnoreQueryStringConfig struct {
+	ConfigId    string `json:"ConfigId" xml:"ConfigId"`
+	HashKeyArgs string `json:"HashKeyArgs" xml:"HashKeyArgs"`
+	Enable      string `json:"Enable" xml:"Enable"`
+	Status      string `json:"Status" xml:"Status"`
+}

+ 24 - 0
services/cdn/struct_ip_allow_list_config.go

@@ -0,0 +1,24 @@
+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.
+
+// IpAllowListConfig is a nested struct in cdn response
+type IpAllowListConfig struct {
+	ConfigId  string `json:"ConfigId" xml:"ConfigId"`
+	IpList    string `json:"IpList" xml:"IpList"`
+	IpAclXfwd string `json:"IpAclXfwd" xml:"IpAclXfwd"`
+	Status    string `json:"Status" xml:"Status"`
+}

+ 23 - 0
services/cdn/struct_l2_oss_key_config.go

@@ -0,0 +1,23 @@
+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.
+
+// L2OssKeyConfig is a nested struct in cdn response
+type L2OssKeyConfig struct {
+	PrivateOssAuth string `json:"PrivateOssAuth" xml:"PrivateOssAuth"`
+	ConfigId       string `json:"ConfigId" xml:"ConfigId"`
+	Status         string `json:"Status" xml:"Status"`
+}

+ 30 - 0
services/cdn/struct_live_app_record.go

@@ -0,0 +1,30 @@
+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.
+
+// LiveAppRecord is a nested struct in cdn response
+type LiveAppRecord struct {
+	StartTime       string `json:"StartTime" xml:"StartTime"`
+	OssObjectPrefix string `json:"OssObjectPrefix" xml:"OssObjectPrefix"`
+	EndTime         string `json:"EndTime" xml:"EndTime"`
+	DomainName      string `json:"DomainName" xml:"DomainName"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	OssEndpoint     string `json:"OssEndpoint" xml:"OssEndpoint"`
+	AppName         string `json:"AppName" xml:"AppName"`
+	SourceUrl       string `json:"SourceUrl" xml:"SourceUrl"`
+	StreamName      string `json:"StreamName" xml:"StreamName"`
+	OssBucket       string `json:"OssBucket" xml:"OssBucket"`
+}

+ 21 - 0
services/cdn/struct_live_app_record_list_in_describe_live_pull_stream_config.go

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

+ 21 - 0
services/cdn/struct_live_app_record_list_in_describe_live_record_config.go

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

+ 24 - 0
services/cdn/struct_live_stream_control_info.go

@@ -0,0 +1,24 @@
+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.
+
+// LiveStreamControlInfo is a nested struct in cdn response
+type LiveStreamControlInfo struct {
+	StreamName string `json:"StreamName" xml:"StreamName"`
+	ClientIP   string `json:"ClientIP" xml:"ClientIP"`
+	Action     string `json:"Action" xml:"Action"`
+	TimeStamp  string `json:"TimeStamp" xml:"TimeStamp"`
+}

+ 25 - 0
services/cdn/struct_live_stream_online_info.go

@@ -0,0 +1,25 @@
+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.
+
+// LiveStreamOnlineInfo is a nested struct in cdn response
+type LiveStreamOnlineInfo struct {
+	DomainName  string `json:"DomainName" xml:"DomainName"`
+	AppName     string `json:"AppName" xml:"AppName"`
+	StreamName  string `json:"StreamName" xml:"StreamName"`
+	PublishTime string `json:"PublishTime" xml:"PublishTime"`
+	PublishUrl  string `json:"PublishUrl" xml:"PublishUrl"`
+}

+ 23 - 0
services/cdn/struct_live_stream_online_user_num_info.go

@@ -0,0 +1,23 @@
+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.
+
+// LiveStreamOnlineUserNumInfo is a nested struct in cdn response
+type LiveStreamOnlineUserNumInfo struct {
+	StreamUrl  string `json:"StreamUrl" xml:"StreamUrl"`
+	UserNumber int    `json:"UserNumber" xml:"UserNumber"`
+	Time       string `json:"Time" xml:"Time"`
+}

+ 29 - 0
services/cdn/struct_live_stream_publish_info.go

@@ -0,0 +1,29 @@
+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.
+
+// LiveStreamPublishInfo is a nested struct in cdn response
+type LiveStreamPublishInfo struct {
+	DomainName   string `json:"DomainName" xml:"DomainName"`
+	AppName      string `json:"AppName" xml:"AppName"`
+	StreamName   string `json:"StreamName" xml:"StreamName"`
+	StreamUrl    string `json:"StreamUrl" xml:"StreamUrl"`
+	PublishTime  string `json:"PublishTime" xml:"PublishTime"`
+	StopTime     string `json:"StopTime" xml:"StopTime"`
+	PublishUrl   string `json:"PublishUrl" xml:"PublishUrl"`
+	ClientAddr   string `json:"ClientAddr" xml:"ClientAddr"`
+	EdgeNodeAddr string `json:"EdgeNodeAddr" xml:"EdgeNodeAddr"`
+}

+ 28 - 0
services/cdn/struct_live_stream_snapshot_config.go

@@ -0,0 +1,28 @@
+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.
+
+// LiveStreamSnapshotConfig is a nested struct in cdn response
+type LiveStreamSnapshotConfig struct {
+	DomainName         string `json:"DomainName" xml:"DomainName"`
+	AppName            string `json:"AppName" xml:"AppName"`
+	TimeInterval       int    `json:"TimeInterval" xml:"TimeInterval"`
+	OssEndpoint        string `json:"OssEndpoint" xml:"OssEndpoint"`
+	OssBucket          string `json:"OssBucket" xml:"OssBucket"`
+	OverwriteOssObject string `json:"OverwriteOssObject" xml:"OverwriteOssObject"`
+	SequenceOssObject  string `json:"SequenceOssObject" xml:"SequenceOssObject"`
+	CreateTime         string `json:"CreateTime" xml:"CreateTime"`
+}

+ 21 - 0
services/cdn/struct_live_stream_snapshot_config_list.go

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

+ 24 - 0
services/cdn/struct_live_stream_snapshot_info.go

@@ -0,0 +1,24 @@
+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.
+
+// LiveStreamSnapshotInfo is a nested struct in cdn response
+type LiveStreamSnapshotInfo struct {
+	OssEndpoint string `json:"OssEndpoint" xml:"OssEndpoint"`
+	OssBucket   string `json:"OssBucket" xml:"OssBucket"`
+	OssObject   string `json:"OssObject" xml:"OssObject"`
+	CreateTime  string `json:"CreateTime" xml:"CreateTime"`
+}

+ 21 - 0
services/cdn/struct_live_stream_snapshot_info_list.go

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

+ 25 - 0
services/cdn/struct_mac_service_config.go

@@ -0,0 +1,25 @@
+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.
+
+// MacServiceConfig is a nested struct in cdn response
+type MacServiceConfig struct {
+	AppList       string `json:"AppList" xml:"AppList"`
+	Enabled       string `json:"Enabled" xml:"Enabled"`
+	ProcessResult string `json:"ProcessResult" xml:"ProcessResult"`
+	ConfigId      string `json:"ConfigId" xml:"ConfigId"`
+	Status        string `json:"Status" xml:"Status"`
+}

+ 23 - 0
services/cdn/struct_mix_streams_info.go

@@ -0,0 +1,23 @@
+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.
+
+// MixStreamsInfo is a nested struct in cdn response
+type MixStreamsInfo struct {
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	AppName    string `json:"AppName" xml:"AppName"`
+	StreamName string `json:"StreamName" xml:"StreamName"`
+}

+ 21 - 0
services/cdn/struct_mix_streams_info_list_in_start_mix_streams_service.go

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

+ 21 - 0
services/cdn/struct_mix_streams_info_list_in_stop_mix_streams_service.go

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

+ 21 - 0
services/cdn/struct_monitor_datas.go

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

+ 22 - 0
services/cdn/struct_notify_url_config.go

@@ -0,0 +1,22 @@
+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.
+
+// NotifyUrlConfig is a nested struct in cdn response
+type NotifyUrlConfig struct {
+	Enable    string `json:"Enable" xml:"Enable"`
+	NotifyUrl string `json:"NotifyUrl" xml:"NotifyUrl"`
+}

+ 21 - 0
services/cdn/struct_online_info.go

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

+ 21 - 0
services/cdn/struct_online_user_info.go

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

+ 23 - 0
services/cdn/struct_optimize_config.go

@@ -0,0 +1,23 @@
+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.
+
+// OptimizeConfig is a nested struct in cdn response
+type OptimizeConfig struct {
+	ConfigId string `json:"ConfigId" xml:"ConfigId"`
+	Enable   string `json:"Enable" xml:"Enable"`
+	Status   string `json:"Status" xml:"Status"`
+}

+ 23 - 0
services/cdn/struct_page_compress_config.go

@@ -0,0 +1,23 @@
+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.
+
+// PageCompressConfig is a nested struct in cdn response
+type PageCompressConfig struct {
+	ConfigId string `json:"ConfigId" xml:"ConfigId"`
+	Enable   string `json:"Enable" xml:"Enable"`
+	Status   string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cdn/struct_publish_info.go

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

+ 23 - 0
services/cdn/struct_range_config.go

@@ -0,0 +1,23 @@
+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.
+
+// RangeConfig is a nested struct in cdn response
+type RangeConfig struct {
+	ConfigId string `json:"ConfigId" xml:"ConfigId"`
+	Enable   string `json:"Enable" xml:"Enable"`
+	Status   string `json:"Status" xml:"Status"`
+}

Some files were not shown because too many files changed in this diff