Pārlūkot izejas kodu

CDN SDK Auto Released By xiaoyan.yan,Version:1.51.23

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 gadi atpakaļ
vecāks
revīzija
de2e1f7e5e

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-02-14 Version: 1.51.23
+1, Update DescribeTopDomainsByFlow.
+
 2019-01-30 Version: 1.51.22
 2019-01-30 Version: 1.51.22
 1, Add a new api called GetURLUploadInfos to query the upload task of UploadMediaByURL.
 1, Add a new api called GetURLUploadInfos to query the upload task of UploadMediaByURL.
 2, Clean up the old api related to the CDN of VoD that is going offline, such as DescribeDomainBpsData, is replaced with the new CDN api.
 2, Clean up the old api related to the CDN of VoD that is going offline, such as DescribeDomainBpsData, is replaced with the new CDN api.

+ 112 - 0
services/cdn/batch_set_cdn_domain_server_certificate.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"
+)
+
+// BatchSetCdnDomainServerCertificate invokes the cdn.BatchSetCdnDomainServerCertificate API synchronously
+// api document: https://help.aliyun.com/api/cdn/batchsetcdndomainservercertificate.html
+func (client *Client) BatchSetCdnDomainServerCertificate(request *BatchSetCdnDomainServerCertificateRequest) (response *BatchSetCdnDomainServerCertificateResponse, err error) {
+	response = CreateBatchSetCdnDomainServerCertificateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BatchSetCdnDomainServerCertificateWithChan invokes the cdn.BatchSetCdnDomainServerCertificate API asynchronously
+// api document: https://help.aliyun.com/api/cdn/batchsetcdndomainservercertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchSetCdnDomainServerCertificateWithChan(request *BatchSetCdnDomainServerCertificateRequest) (<-chan *BatchSetCdnDomainServerCertificateResponse, <-chan error) {
+	responseChan := make(chan *BatchSetCdnDomainServerCertificateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchSetCdnDomainServerCertificate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BatchSetCdnDomainServerCertificateWithCallback invokes the cdn.BatchSetCdnDomainServerCertificate API asynchronously
+// api document: https://help.aliyun.com/api/cdn/batchsetcdndomainservercertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchSetCdnDomainServerCertificateWithCallback(request *BatchSetCdnDomainServerCertificateRequest, callback func(response *BatchSetCdnDomainServerCertificateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchSetCdnDomainServerCertificateResponse
+		var err error
+		defer close(result)
+		response, err = client.BatchSetCdnDomainServerCertificate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BatchSetCdnDomainServerCertificateRequest is the request struct for api BatchSetCdnDomainServerCertificate
+type BatchSetCdnDomainServerCertificateRequest struct {
+	*requests.RpcRequest
+	ForceSet      string           `position:"Query" name:"ForceSet"`
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	CertType      string           `position:"Query" name:"CertType"`
+	SSLPub        string           `position:"Query" name:"SSLPub"`
+	CertName      string           `position:"Query" name:"CertName"`
+	SSLProtocol   string           `position:"Query" name:"SSLProtocol"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	Region        string           `position:"Query" name:"Region"`
+	SSLPri        string           `position:"Query" name:"SSLPri"`
+}
+
+// BatchSetCdnDomainServerCertificateResponse is the response struct for api BatchSetCdnDomainServerCertificate
+type BatchSetCdnDomainServerCertificateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateBatchSetCdnDomainServerCertificateRequest creates a request to invoke BatchSetCdnDomainServerCertificate API
+func CreateBatchSetCdnDomainServerCertificateRequest() (request *BatchSetCdnDomainServerCertificateRequest) {
+	request = &BatchSetCdnDomainServerCertificateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "BatchSetCdnDomainServerCertificate", "", "")
+	return
+}
+
+// CreateBatchSetCdnDomainServerCertificateResponse creates a response to parse from BatchSetCdnDomainServerCertificate response
+func CreateBatchSetCdnDomainServerCertificateResponse() (response *BatchSetCdnDomainServerCertificateResponse) {
+	response = &BatchSetCdnDomainServerCertificateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cdn/delete_specific_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"
+)
+
+// DeleteSpecificConfig invokes the cdn.DeleteSpecificConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/deletespecificconfig.html
+func (client *Client) DeleteSpecificConfig(request *DeleteSpecificConfigRequest) (response *DeleteSpecificConfigResponse, err error) {
+	response = CreateDeleteSpecificConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteSpecificConfigWithChan invokes the cdn.DeleteSpecificConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletespecificconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSpecificConfigWithChan(request *DeleteSpecificConfigRequest) (<-chan *DeleteSpecificConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteSpecificConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteSpecificConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteSpecificConfigWithCallback invokes the cdn.DeleteSpecificConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/deletespecificconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSpecificConfigWithCallback(request *DeleteSpecificConfigRequest, callback func(response *DeleteSpecificConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteSpecificConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteSpecificConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteSpecificConfigRequest is the request struct for api DeleteSpecificConfig
+type DeleteSpecificConfigRequest 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"`
+}
+
+// DeleteSpecificConfigResponse is the response struct for api DeleteSpecificConfig
+type DeleteSpecificConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteSpecificConfigRequest creates a request to invoke DeleteSpecificConfig API
+func CreateDeleteSpecificConfigRequest() (request *DeleteSpecificConfigRequest) {
+	request = &DeleteSpecificConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DeleteSpecificConfig", "", "")
+	return
+}
+
+// CreateDeleteSpecificConfigResponse creates a response to parse from DeleteSpecificConfig response
+func CreateDeleteSpecificConfigResponse() (response *DeleteSpecificConfigResponse) {
+	response = &DeleteSpecificConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cdn/describe_domain_flow_data.go

@@ -76,17 +76,17 @@ func (client *Client) DescribeDomainFlowDataWithCallback(request *DescribeDomain
 // DescribeDomainFlowDataRequest is the request struct for api DescribeDomainFlowData
 // DescribeDomainFlowDataRequest is the request struct for api DescribeDomainFlowData
 type DescribeDomainFlowDataRequest struct {
 type DescribeDomainFlowDataRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
+	DomainType     string           `position:"Query" name:"DomainType"`
 	FixTimeGap     string           `position:"Query" name:"FixTimeGap"`
 	FixTimeGap     string           `position:"Query" name:"FixTimeGap"`
+	SecurityToken  string           `position:"Query" name:"SecurityToken"`
 	TimeMerge      string           `position:"Query" name:"TimeMerge"`
 	TimeMerge      string           `position:"Query" name:"TimeMerge"`
 	DomainName     string           `position:"Query" name:"DomainName"`
 	DomainName     string           `position:"Query" name:"DomainName"`
 	EndTime        string           `position:"Query" name:"EndTime"`
 	EndTime        string           `position:"Query" name:"EndTime"`
 	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
 	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	Interval       string           `position:"Query" name:"Interval"`
 	StartTime      string           `position:"Query" name:"StartTime"`
 	StartTime      string           `position:"Query" name:"StartTime"`
 	IspNameEn      string           `position:"Query" name:"IspNameEn"`
 	IspNameEn      string           `position:"Query" name:"IspNameEn"`
 	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
 	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
 // DescribeDomainFlowDataResponse is the response struct for api DescribeDomainFlowData

+ 114 - 0
services/cdn/describe_domain_slow_ratio.go

@@ -0,0 +1,114 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDomainSlowRatio invokes the cdn.DescribeDomainSlowRatio API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+func (client *Client) DescribeDomainSlowRatio(request *DescribeDomainSlowRatioRequest) (response *DescribeDomainSlowRatioResponse, err error) {
+	response = CreateDescribeDomainSlowRatioResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainSlowRatioWithChan invokes the cdn.DescribeDomainSlowRatio API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSlowRatioWithChan(request *DescribeDomainSlowRatioRequest) (<-chan *DescribeDomainSlowRatioResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainSlowRatioResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainSlowRatio(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainSlowRatioWithCallback invokes the cdn.DescribeDomainSlowRatio API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainslowratio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainSlowRatioWithCallback(request *DescribeDomainSlowRatioRequest, callback func(response *DescribeDomainSlowRatioResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainSlowRatioResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainSlowRatio(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainSlowRatioRequest is the request struct for api DescribeDomainSlowRatio
+type DescribeDomainSlowRatioRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDomainSlowRatioResponse is the response struct for api DescribeDomainSlowRatio
+type DescribeDomainSlowRatioResponse struct {
+	*responses.BaseResponse
+	EndTime                  string                   `json:"EndTime" xml:"EndTime"`
+	DataInterval             int                      `json:"DataInterval" xml:"DataInterval"`
+	PageNumber               int                      `json:"PageNumber" xml:"PageNumber"`
+	PageSize                 int                      `json:"PageSize" xml:"PageSize"`
+	TotalCount               int                      `json:"TotalCount" xml:"TotalCount"`
+	StartTime                string                   `json:"StartTime" xml:"StartTime"`
+	SlowRatioDataPerInterval SlowRatioDataPerInterval `json:"SlowRatioDataPerInterval" xml:"SlowRatioDataPerInterval"`
+}
+
+// CreateDescribeDomainSlowRatioRequest creates a request to invoke DescribeDomainSlowRatio API
+func CreateDescribeDomainSlowRatioRequest() (request *DescribeDomainSlowRatioRequest) {
+	request = &DescribeDomainSlowRatioRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainSlowRatio", "", "")
+	return
+}
+
+// CreateDescribeDomainSlowRatioResponse creates a response to parse from DescribeDomainSlowRatio response
+func CreateDescribeDomainSlowRatioResponse() (response *DescribeDomainSlowRatioResponse) {
+	response = &DescribeDomainSlowRatioResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/cdn/describe_domain_top_refer_visit.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainTopReferVisitWithCallback(request *DescribeD
 // DescribeDomainTopReferVisitRequest is the request struct for api DescribeDomainTopReferVisit
 // DescribeDomainTopReferVisitRequest is the request struct for api DescribeDomainTopReferVisit
 type DescribeDomainTopReferVisitRequest struct {
 type DescribeDomainTopReferVisitRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	SortBy        string           `position:"Query" name:"SortBy"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StartTime  string           `position:"Query" name:"StartTime"`
+	Percent    string           `position:"Query" name:"Percent"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	SortBy     string           `position:"Query" name:"SortBy"`
 }
 }
 
 
 // DescribeDomainTopReferVisitResponse is the response struct for api DescribeDomainTopReferVisit
 // DescribeDomainTopReferVisitResponse is the response struct for api DescribeDomainTopReferVisit

+ 5 - 5
services/cdn/describe_domain_top_url_visit.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainTopUrlVisitWithCallback(request *DescribeDom
 // DescribeDomainTopUrlVisitRequest is the request struct for api DescribeDomainTopUrlVisit
 // DescribeDomainTopUrlVisitRequest is the request struct for api DescribeDomainTopUrlVisit
 type DescribeDomainTopUrlVisitRequest struct {
 type DescribeDomainTopUrlVisitRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	SortBy        string           `position:"Query" name:"SortBy"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	StartTime  string           `position:"Query" name:"StartTime"`
+	Percent    string           `position:"Query" name:"Percent"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	SortBy     string           `position:"Query" name:"SortBy"`
 }
 }
 
 
 // DescribeDomainTopUrlVisitResponse is the response struct for api DescribeDomainTopUrlVisit
 // DescribeDomainTopUrlVisitResponse is the response struct for api DescribeDomainTopUrlVisit

+ 108 - 0
services/cdn/describe_user_cdn_status.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"
+)
+
+// DescribeUserCdnStatus invokes the cdn.DescribeUserCdnStatus API synchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercdnstatus.html
+func (client *Client) DescribeUserCdnStatus(request *DescribeUserCdnStatusRequest) (response *DescribeUserCdnStatusResponse, err error) {
+	response = CreateDescribeUserCdnStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserCdnStatusWithChan invokes the cdn.DescribeUserCdnStatus API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercdnstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserCdnStatusWithChan(request *DescribeUserCdnStatusRequest) (<-chan *DescribeUserCdnStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserCdnStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserCdnStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserCdnStatusWithCallback invokes the cdn.DescribeUserCdnStatus API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describeusercdnstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserCdnStatusWithCallback(request *DescribeUserCdnStatusRequest, callback func(response *DescribeUserCdnStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserCdnStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserCdnStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserCdnStatusRequest is the request struct for api DescribeUserCdnStatus
+type DescribeUserCdnStatusRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeUserCdnStatusResponse is the response struct for api DescribeUserCdnStatus
+type DescribeUserCdnStatusResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Enabled       bool   `json:"Enabled" xml:"Enabled"`
+	OnService     bool   `json:"OnService" xml:"OnService"`
+	InDebt        bool   `json:"InDebt" xml:"InDebt"`
+	InDebtOverdue bool   `json:"InDebtOverdue" xml:"InDebtOverdue"`
+}
+
+// CreateDescribeUserCdnStatusRequest creates a request to invoke DescribeUserCdnStatus API
+func CreateDescribeUserCdnStatusRequest() (request *DescribeUserCdnStatusRequest) {
+	request = &DescribeUserCdnStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2018-05-10", "DescribeUserCdnStatus", "", "")
+	return
+}
+
+// CreateDescribeUserCdnStatusResponse creates a response to parse from DescribeUserCdnStatus response
+func CreateDescribeUserCdnStatusResponse() (response *DescribeUserCdnStatusResponse) {
+	response = &DescribeUserCdnStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cdn/describe_user_custom_log_config.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"
+)
+
+// 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", "2014-11-11", "DescribeUserCustomLogConfig", "", "")
+	return
+}
+
+// CreateDescribeUserCustomLogConfigResponse creates a response to parse from DescribeUserCustomLogConfig response
+func CreateDescribeUserCustomLogConfigResponse() (response *DescribeUserCustomLogConfigResponse) {
+	response = &DescribeUserCustomLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 19 - 12
services/cdn/describe_user_domains.go

@@ -76,18 +76,25 @@ func (client *Client) DescribeUserDomainsWithCallback(request *DescribeUserDomai
 // DescribeUserDomainsRequest is the request struct for api DescribeUserDomains
 // DescribeUserDomainsRequest is the request struct for api DescribeUserDomains
 type DescribeUserDomainsRequest struct {
 type DescribeUserDomainsRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	FuncFilter       string           `position:"Query" name:"FuncFilter"`
-	DomainName       string           `position:"Query" name:"DomainName"`
-	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
-	FuncId           string           `position:"Query" name:"FuncId"`
-	PageNumber       requests.Integer `position:"Query" name:"PageNumber"`
-	DomainStatus     string           `position:"Query" name:"DomainStatus"`
-	DomainSearchType string           `position:"Query" name:"DomainSearchType"`
-	CheckDomainShow  requests.Boolean `position:"Query" name:"CheckDomainShow"`
-	ResourceGroupId  string           `position:"Query" name:"ResourceGroupId"`
-	SecurityToken    string           `position:"Query" name:"SecurityToken"`
-	CdnType          string           `position:"Query" name:"CdnType"`
-	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	FuncFilter       string                    `position:"Query" name:"FuncFilter"`
+	DomainName       string                    `position:"Query" name:"DomainName"`
+	OwnerId          requests.Integer          `position:"Query" name:"OwnerId"`
+	FuncId           string                    `position:"Query" name:"FuncId"`
+	PageNumber       requests.Integer          `position:"Query" name:"PageNumber"`
+	DomainStatus     string                    `position:"Query" name:"DomainStatus"`
+	DomainSearchType string                    `position:"Query" name:"DomainSearchType"`
+	CheckDomainShow  requests.Boolean          `position:"Query" name:"CheckDomainShow"`
+	ResourceGroupId  string                    `position:"Query" name:"ResourceGroupId"`
+	SecurityToken    string                    `position:"Query" name:"SecurityToken"`
+	CdnType          string                    `position:"Query" name:"CdnType"`
+	PageSize         requests.Integer          `position:"Query" name:"PageSize"`
+	Tag              *[]DescribeUserDomainsTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// DescribeUserDomainsTag is a repeated param struct in DescribeUserDomainsRequest
+type DescribeUserDomainsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 }
 
 
 // DescribeUserDomainsResponse is the response struct for api DescribeUserDomains
 // DescribeUserDomainsResponse is the response struct for api DescribeUserDomains

+ 109 - 0
services/cdn/modify_path_cache_expired_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"
+)
+
+// ModifyPathCacheExpiredConfig invokes the cdn.ModifyPathCacheExpiredConfig API synchronously
+// api document: https://help.aliyun.com/api/cdn/modifypathcacheexpiredconfig.html
+func (client *Client) ModifyPathCacheExpiredConfig(request *ModifyPathCacheExpiredConfigRequest) (response *ModifyPathCacheExpiredConfigResponse, err error) {
+	response = CreateModifyPathCacheExpiredConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyPathCacheExpiredConfigWithChan invokes the cdn.ModifyPathCacheExpiredConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/modifypathcacheexpiredconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyPathCacheExpiredConfigWithChan(request *ModifyPathCacheExpiredConfigRequest) (<-chan *ModifyPathCacheExpiredConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyPathCacheExpiredConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyPathCacheExpiredConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyPathCacheExpiredConfigWithCallback invokes the cdn.ModifyPathCacheExpiredConfig API asynchronously
+// api document: https://help.aliyun.com/api/cdn/modifypathcacheexpiredconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyPathCacheExpiredConfigWithCallback(request *ModifyPathCacheExpiredConfigRequest, callback func(response *ModifyPathCacheExpiredConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyPathCacheExpiredConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyPathCacheExpiredConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyPathCacheExpiredConfigRequest is the request struct for api ModifyPathCacheExpiredConfig
+type ModifyPathCacheExpiredConfigRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	ConfigID      string           `position:"Query" name:"ConfigID"`
+	DomainName    string           `position:"Query" name:"DomainName"`
+	Weight        string           `position:"Query" name:"Weight"`
+	CacheContent  string           `position:"Query" name:"CacheContent"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	TTL           string           `position:"Query" name:"TTL"`
+}
+
+// ModifyPathCacheExpiredConfigResponse is the response struct for api ModifyPathCacheExpiredConfig
+type ModifyPathCacheExpiredConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyPathCacheExpiredConfigRequest creates a request to invoke ModifyPathCacheExpiredConfig API
+func CreateModifyPathCacheExpiredConfigRequest() (request *ModifyPathCacheExpiredConfigRequest) {
+	request = &ModifyPathCacheExpiredConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "ModifyPathCacheExpiredConfig", "", "")
+	return
+}
+
+// CreateModifyPathCacheExpiredConfigResponse creates a response to parse from ModifyPathCacheExpiredConfig response
+func CreateModifyPathCacheExpiredConfigResponse() (response *ModifyPathCacheExpiredConfigResponse) {
+	response = &ModifyPathCacheExpiredConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/cdn/push_object_cache.go

@@ -85,8 +85,8 @@ type PushObjectCacheRequest struct {
 // PushObjectCacheResponse is the response struct for api PushObjectCache
 // PushObjectCacheResponse is the response struct for api PushObjectCache
 type PushObjectCacheResponse struct {
 type PushObjectCacheResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	PreloadTaskId string `json:"PreloadTaskId" xml:"PreloadTaskId"`
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	PushTaskId string `json:"PushTaskId" xml:"PushTaskId"`
 }
 }
 
 
 // CreatePushObjectCacheRequest creates a request to invoke PushObjectCache API
 // CreatePushObjectCacheRequest creates a request to invoke PushObjectCache API

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

+ 21 - 0
services/cdn/struct_config_ids.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.
+
+// ConfigIds is a nested struct in cdn response
+type ConfigIds struct {
+	ConfigId []string `json:"ConfigId" xml:"ConfigId"`
+}

+ 1 - 0
services/cdn/struct_configs.go

@@ -19,4 +19,5 @@ package cdn
 type Configs struct {
 type Configs struct {
 	OssLogConfig       OssLogConfig       `json:"OssLogConfig" xml:"OssLogConfig"`
 	OssLogConfig       OssLogConfig       `json:"OssLogConfig" xml:"OssLogConfig"`
 	GreenManagerConfig GreenManagerConfig `json:"GreenManagerConfig" xml:"GreenManagerConfig"`
 	GreenManagerConfig GreenManagerConfig `json:"GreenManagerConfig" xml:"GreenManagerConfig"`
+	WafConfig          WafConfig          `json:"WafConfig" xml:"WafConfig"`
 }
 }

+ 28 - 0
services/cdn/struct_slow_ratio_data.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.
+
+// 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"`
+}

+ 21 - 0
services/cdn/struct_slow_ratio_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.
+
+// SlowRatioDataPerInterval is a nested struct in cdn response
+type SlowRatioDataPerInterval struct {
+	SlowRatioData []SlowRatioData `json:"SlowRatioData" xml:"SlowRatioData"`
+}

+ 7 - 7
services/cdn/struct_top_domain.go

@@ -17,11 +17,11 @@ package cdn
 
 
 // TopDomain is a nested struct in cdn response
 // TopDomain is a nested struct in cdn response
 type TopDomain struct {
 type TopDomain struct {
-	DomainName     string `json:"DomainName" xml:"DomainName"`
-	Rank           int    `json:"Rank" xml:"Rank"`
-	TotalTraffic   string `json:"TotalTraffic" xml:"TotalTraffic"`
-	TrafficPercent string `json:"TrafficPercent" xml:"TrafficPercent"`
-	MaxBps         int    `json:"MaxBps" xml:"MaxBps"`
-	MaxBpsTime     string `json:"MaxBpsTime" xml:"MaxBpsTime"`
-	TotalAccess    int    `json:"TotalAccess" xml:"TotalAccess"`
+	DomainName     string  `json:"DomainName" xml:"DomainName"`
+	Rank           int     `json:"Rank" xml:"Rank"`
+	TotalTraffic   string  `json:"TotalTraffic" xml:"TotalTraffic"`
+	TrafficPercent string  `json:"TrafficPercent" xml:"TrafficPercent"`
+	MaxBps         float64 `json:"MaxBps" xml:"MaxBps"`
+	MaxBpsTime     string  `json:"MaxBpsTime" xml:"MaxBpsTime"`
+	TotalAccess    int     `json:"TotalAccess" xml:"TotalAccess"`
 }
 }

+ 1 - 3
services/cdn/struct_waf_config.go

@@ -17,7 +17,5 @@ package cdn
 
 
 // WafConfig is a nested struct in cdn response
 // WafConfig is a nested struct in cdn response
 type WafConfig struct {
 type WafConfig struct {
-	ConfigId string `json:"ConfigId" xml:"ConfigId"`
-	Enable   string `json:"Enable" xml:"Enable"`
-	Status   string `json:"Status" xml:"Status"`
+	Enable string `json:"Enable" xml:"Enable"`
 }
 }