Jelajahi Sumber

CBN SDK Auto Released By shuguang.wsg,Version:1.31.8

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 tahun lalu
induk
melakukan
c5825d35a9
41 mengubah file dengan 860 tambahan dan 112 penghapusan
  1. 4 0
      ChangeLog.txt
  2. 3 3
      services/cbn/associate_cen_bandwidth_package.go
  3. 5 5
      services/cbn/attach_cen_child_instance.go
  4. 3 3
      services/cbn/create_cen.go
  5. 9 9
      services/cbn/create_cen_bandwidth_package.go
  6. 3 3
      services/cbn/delete_cen.go
  7. 3 3
      services/cbn/delete_cen_bandwidth_package.go
  8. 5 4
      services/cbn/describe_cen_attached_child_instances.go
  9. 5 5
      services/cbn/describe_cen_bandwidth_packages.go
  10. 6 6
      services/cbn/describe_cen_geographic_span_remaining_bandwidth.go
  11. 113 0
      services/cbn/describe_cen_geographic_spans.go
  12. 4 4
      services/cbn/describe_cen_inter_region_bandwidth_limits.go
  13. 4 4
      services/cbn/describe_cen_region_domain_route_entries.go
  14. 6 6
      services/cbn/describe_cen_vbr_health_check.go
  15. 5 5
      services/cbn/describe_cens.go
  16. 108 0
      services/cbn/describe_child_instance_regions.go
  17. 3 3
      services/cbn/describe_geographic_region_membership.go
  18. 116 0
      services/cbn/describe_published_route_entries.go
  19. 12 12
      services/cbn/describe_route_conflict.go
  20. 6 6
      services/cbn/detach_cen_child_instance.go
  21. 5 5
      services/cbn/disable_cen_vbr_health_check.go
  22. 6 6
      services/cbn/enable_cen_vbr_health_check.go
  23. 4 3
      services/cbn/modify_cen_attribute.go
  24. 4 4
      services/cbn/modify_cen_bandwidth_package_attribute.go
  25. 4 4
      services/cbn/modify_cen_bandwidth_package_spec.go
  26. 110 0
      services/cbn/publish_route_entries.go
  27. 4 4
      services/cbn/set_cen_inter_region_bandwidth_limit.go
  28. 1 0
      services/cbn/struct_cen.go
  29. 1 0
      services/cbn/struct_cen_bandwidth_package.go
  30. 1 0
      services/cbn/struct_cen_inter_region_bandwidth_limit.go
  31. 25 0
      services/cbn/struct_conflict.go
  32. 21 0
      services/cbn/struct_conflicts.go
  33. 23 0
      services/cbn/struct_geographic_span_model.go
  34. 21 0
      services/cbn/struct_geographic_span_models.go
  35. 21 0
      services/cbn/struct_published_route_entries.go
  36. 28 0
      services/cbn/struct_published_route_entry.go
  37. 22 0
      services/cbn/struct_region.go
  38. 21 0
      services/cbn/struct_regions.go
  39. 2 2
      services/cbn/struct_route_conflicts_in_describe_route_conflict.go
  40. 3 3
      services/cbn/unassociate_cen_bandwidth_package.go
  41. 110 0
      services/cbn/withdraw_published_route_entries.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-10-12 Version: 1.31.8
+1, ModifyCenAttribute supports ProtectionLevel.
+2, New APIs: PublishRouteEntries/WithdrawPublishedRouteEntries/DescribePublishedRouteEntries
+
 2018-10-11 Version: 1.31.7
 1, Add a new api called DeleteMezzanines to clear mezzanine infos and storages.
 2, Add the field called PlayConfig to GetVideoPlayAuth and GetPlayInfo api request.

+ 3 - 3
services/cbn/associate_cen_bandwidth_package.go

@@ -76,12 +76,12 @@ func (client *Client) AssociateCenBandwidthPackageWithCallback(request *Associat
 // AssociateCenBandwidthPackageRequest is the request struct for api AssociateCenBandwidthPackage
 type AssociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // AssociateCenBandwidthPackageResponse is the response struct for api AssociateCenBandwidthPackage

+ 5 - 5
services/cbn/attach_cen_child_instance.go

@@ -76,15 +76,15 @@ func (client *Client) AttachCenChildInstanceWithCallback(request *AttachCenChild
 // AttachCenChildInstanceRequest is the request struct for api AttachCenChildInstance
 type AttachCenChildInstanceRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
-	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // AttachCenChildInstanceResponse is the response struct for api AttachCenChildInstance

+ 3 - 3
services/cbn/create_cen.go

@@ -76,13 +76,13 @@ func (client *Client) CreateCenWithCallback(request *CreateCenRequest, callback
 // CreateCenRequest is the request struct for api CreateCen
 type CreateCenRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Name                 string           `position:"Query" name:"Name"`
 	Description          string           `position:"Query" name:"Description"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // CreateCenResponse is the response struct for api CreateCen

+ 9 - 9
services/cbn/create_cen_bandwidth_package.go

@@ -76,20 +76,20 @@ func (client *Client) CreateCenBandwidthPackageWithCallback(request *CreateCenBa
 // CreateCenBandwidthPackageRequest is the request struct for api CreateCenBandwidthPackage
 type CreateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
-	OwnerAccount               string           `position:"Query" name:"OwnerAccount"`
-	OwnerId                    requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount       string           `position:"Query" name:"ResourceOwnerAccount"`
+	GeographicRegionBId        string           `position:"Query" name:"GeographicRegionBId"`
 	ResourceOwnerId            requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Period                     requests.Integer `position:"Query" name:"Period"`
+	GeographicRegionAId        string           `position:"Query" name:"GeographicRegionAId"`
+	AutoPay                    requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount       string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken                string           `position:"Query" name:"ClientToken"`
-	Name                       string           `position:"Query" name:"Name"`
-	Description                string           `position:"Query" name:"Description"`
 	Bandwidth                  requests.Integer `position:"Query" name:"Bandwidth"`
-	GeographicRegionAId        string           `position:"Query" name:"GeographicRegionAId"`
-	GeographicRegionBId        string           `position:"Query" name:"GeographicRegionBId"`
+	OwnerAccount               string           `position:"Query" name:"OwnerAccount"`
+	Description                string           `position:"Query" name:"Description"`
+	OwnerId                    requests.Integer `position:"Query" name:"OwnerId"`
 	BandwidthPackageChargeType string           `position:"Query" name:"BandwidthPackageChargeType"`
-	Period                     requests.Integer `position:"Query" name:"Period"`
+	Name                       string           `position:"Query" name:"Name"`
 	PricingCycle               string           `position:"Query" name:"PricingCycle"`
-	AutoPay                    requests.Boolean `position:"Query" name:"AutoPay"`
 }
 
 // CreateCenBandwidthPackageResponse is the response struct for api CreateCenBandwidthPackage

+ 3 - 3
services/cbn/delete_cen.go

@@ -76,11 +76,11 @@ func (client *Client) DeleteCenWithCallback(request *DeleteCenRequest, callback
 // DeleteCenRequest is the request struct for api DeleteCen
 type DeleteCenRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // DeleteCenResponse is the response struct for api DeleteCen

+ 3 - 3
services/cbn/delete_cen_bandwidth_package.go

@@ -76,11 +76,11 @@ func (client *Client) DeleteCenBandwidthPackageWithCallback(request *DeleteCenBa
 // DeleteCenBandwidthPackageRequest is the request struct for api DeleteCenBandwidthPackage
 type DeleteCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // DeleteCenBandwidthPackageResponse is the response struct for api DeleteCenBandwidthPackage

+ 5 - 4
services/cbn/describe_cen_attached_child_instances.go

@@ -76,13 +76,14 @@ func (client *Client) DescribeCenAttachedChildInstancesWithCallback(request *Des
 // DescribeCenAttachedChildInstancesRequest is the request struct for api DescribeCenAttachedChildInstances
 type DescribeCenAttachedChildInstancesRequest struct {
 	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                string           `position:"Query" name:"CenId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ChildInstanceType    string           `position:"Query" name:"ChildInstanceType"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	CenId                string           `position:"Query" name:"CenId"`
 }
 
 // DescribeCenAttachedChildInstancesResponse is the response struct for api DescribeCenAttachedChildInstances

+ 5 - 5
services/cbn/describe_cen_bandwidth_packages.go

@@ -76,20 +76,20 @@ func (client *Client) DescribeCenBandwidthPackagesWithCallback(request *Describe
 // DescribeCenBandwidthPackagesRequest is the request struct for api DescribeCenBandwidthPackages
 type DescribeCenBandwidthPackagesRequest struct {
 	*requests.RpcRequest
+	Filter               *[]DescribeCenBandwidthPackagesFilter `position:"Query" name:"Filter"  type:"Repeated"`
+	ResourceOwnerId      requests.Integer                      `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                                `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string                                `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer                      `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer                      `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string                                `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer                      `position:"Query" name:"ResourceOwnerId"`
 	PageNumber           requests.Integer                      `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer                      `position:"Query" name:"PageSize"`
-	Filter               *[]DescribeCenBandwidthPackagesFilter `position:"Query" name:"Filter"  type:"Repeated"`
 	IsOrKey              requests.Boolean                      `position:"Query" name:"IsOrKey"`
 }
 
 // DescribeCenBandwidthPackagesFilter is a repeated param struct in DescribeCenBandwidthPackagesRequest
 type DescribeCenBandwidthPackagesFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeCenBandwidthPackagesResponse is the response struct for api DescribeCenBandwidthPackages

+ 6 - 6
services/cbn/describe_cen_geographic_span_remaining_bandwidth.go

@@ -76,15 +76,15 @@ func (client *Client) DescribeCenGeographicSpanRemainingBandwidthWithCallback(re
 // DescribeCenGeographicSpanRemainingBandwidthRequest is the request struct for api DescribeCenGeographicSpanRemainingBandwidth
 type DescribeCenGeographicSpanRemainingBandwidthRequest struct {
 	*requests.RpcRequest
+	GeographicRegionBId  string           `position:"Query" name:"GeographicRegionBId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	GeographicRegionAId  string           `position:"Query" name:"GeographicRegionAId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                string           `position:"Query" name:"CenId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	CenId                string           `position:"Query" name:"CenId"`
-	GeographicRegionAId  string           `position:"Query" name:"GeographicRegionAId"`
-	GeographicRegionBId  string           `position:"Query" name:"GeographicRegionBId"`
 }
 
 // DescribeCenGeographicSpanRemainingBandwidthResponse is the response struct for api DescribeCenGeographicSpanRemainingBandwidth

+ 113 - 0
services/cbn/describe_cen_geographic_spans.go

@@ -0,0 +1,113 @@
+package cbn
+
+//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"
+)
+
+// DescribeCenGeographicSpans invokes the cbn.DescribeCenGeographicSpans API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspans.html
+func (client *Client) DescribeCenGeographicSpans(request *DescribeCenGeographicSpansRequest) (response *DescribeCenGeographicSpansResponse, err error) {
+	response = CreateDescribeCenGeographicSpansResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenGeographicSpansWithChan invokes the cbn.DescribeCenGeographicSpans API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspans.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenGeographicSpansWithChan(request *DescribeCenGeographicSpansRequest) (<-chan *DescribeCenGeographicSpansResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenGeographicSpansResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenGeographicSpans(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenGeographicSpansWithCallback invokes the cbn.DescribeCenGeographicSpans API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspans.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenGeographicSpansWithCallback(request *DescribeCenGeographicSpansRequest, callback func(response *DescribeCenGeographicSpansResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenGeographicSpansResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenGeographicSpans(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenGeographicSpansRequest is the request struct for api DescribeCenGeographicSpans
+type DescribeCenGeographicSpansRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	GeographicSpanId     string           `position:"Query" name:"GeographicSpanId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeCenGeographicSpansResponse is the response struct for api DescribeCenGeographicSpans
+type DescribeCenGeographicSpansResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	TotalCount           int                  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber           int                  `json:"PageNumber" xml:"PageNumber"`
+	PageSize             int                  `json:"PageSize" xml:"PageSize"`
+	GeographicSpanModels GeographicSpanModels `json:"GeographicSpanModels" xml:"GeographicSpanModels"`
+}
+
+// CreateDescribeCenGeographicSpansRequest creates a request to invoke DescribeCenGeographicSpans API
+func CreateDescribeCenGeographicSpansRequest() (request *DescribeCenGeographicSpansRequest) {
+	request = &DescribeCenGeographicSpansRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpans", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenGeographicSpansResponse creates a response to parse from DescribeCenGeographicSpans response
+func CreateDescribeCenGeographicSpansResponse() (response *DescribeCenGeographicSpansResponse) {
+	response = &DescribeCenGeographicSpansResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/cbn/describe_cen_inter_region_bandwidth_limits.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeCenInterRegionBandwidthLimitsWithCallback(request
 // DescribeCenInterRegionBandwidthLimitsRequest is the request struct for api DescribeCenInterRegionBandwidthLimits
 type DescribeCenInterRegionBandwidthLimitsRequest struct {
 	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                string           `position:"Query" name:"CenId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	CenId                string           `position:"Query" name:"CenId"`
 }
 
 // DescribeCenInterRegionBandwidthLimitsResponse is the response struct for api DescribeCenInterRegionBandwidthLimits

+ 4 - 4
services/cbn/describe_cen_region_domain_route_entries.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeCenRegionDomainRouteEntriesWithCallback(request *D
 // DescribeCenRegionDomainRouteEntriesRequest is the request struct for api DescribeCenRegionDomainRouteEntries
 type DescribeCenRegionDomainRouteEntriesRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	CenRegionId          string           `position:"Query" name:"CenRegionId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeCenRegionDomainRouteEntriesResponse is the response struct for api DescribeCenRegionDomainRouteEntries

+ 6 - 6
services/cbn/describe_cen_vbr_health_check.go

@@ -76,16 +76,16 @@ func (client *Client) DescribeCenVbrHealthCheckWithCallback(request *DescribeCen
 // DescribeCenVbrHealthCheckRequest is the request struct for api DescribeCenVbrHealthCheck
 type DescribeCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
-	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeCenVbrHealthCheckResponse is the response struct for api DescribeCenVbrHealthCheck

+ 5 - 5
services/cbn/describe_cens.go

@@ -76,19 +76,19 @@ func (client *Client) DescribeCensWithCallback(request *DescribeCensRequest, cal
 // DescribeCensRequest is the request struct for api DescribeCens
 type DescribeCensRequest struct {
 	*requests.RpcRequest
+	Filter               *[]DescribeCensFilter `position:"Query" name:"Filter"  type:"Repeated"`
+	ResourceOwnerId      requests.Integer      `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string                `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string                `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer      `position:"Query" name:"ResourceOwnerId"`
 	PageNumber           requests.Integer      `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
-	Filter               *[]DescribeCensFilter `position:"Query" name:"Filter"  type:"Repeated"`
 }
 
 // DescribeCensFilter is a repeated param struct in DescribeCensRequest
 type DescribeCensFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeCensResponse is the response struct for api DescribeCens

+ 108 - 0
services/cbn/describe_child_instance_regions.go

@@ -0,0 +1,108 @@
+package cbn
+
+//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"
+)
+
+// DescribeChildInstanceRegions invokes the cbn.DescribeChildInstanceRegions API synchronously
+// api document: https://help.aliyun.com/api/cbn/describechildinstanceregions.html
+func (client *Client) DescribeChildInstanceRegions(request *DescribeChildInstanceRegionsRequest) (response *DescribeChildInstanceRegionsResponse, err error) {
+	response = CreateDescribeChildInstanceRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeChildInstanceRegionsWithChan invokes the cbn.DescribeChildInstanceRegions API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describechildinstanceregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChildInstanceRegionsWithChan(request *DescribeChildInstanceRegionsRequest) (<-chan *DescribeChildInstanceRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeChildInstanceRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeChildInstanceRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeChildInstanceRegionsWithCallback invokes the cbn.DescribeChildInstanceRegions API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describechildinstanceregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChildInstanceRegionsWithCallback(request *DescribeChildInstanceRegionsRequest, callback func(response *DescribeChildInstanceRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeChildInstanceRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeChildInstanceRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeChildInstanceRegionsRequest is the request struct for api DescribeChildInstanceRegions
+type DescribeChildInstanceRegionsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+}
+
+// DescribeChildInstanceRegionsResponse is the response struct for api DescribeChildInstanceRegions
+type DescribeChildInstanceRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeChildInstanceRegionsRequest creates a request to invoke DescribeChildInstanceRegions API
+func CreateDescribeChildInstanceRegionsRequest() (request *DescribeChildInstanceRegionsRequest) {
+	request = &DescribeChildInstanceRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeChildInstanceRegions", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeChildInstanceRegionsResponse creates a response to parse from DescribeChildInstanceRegions response
+func CreateDescribeChildInstanceRegionsResponse() (response *DescribeChildInstanceRegionsResponse) {
+	response = &DescribeChildInstanceRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cbn/describe_geographic_region_membership.go

@@ -76,12 +76,12 @@ func (client *Client) DescribeGeographicRegionMembershipWithCallback(request *De
 // DescribeGeographicRegionMembershipRequest is the request struct for api DescribeGeographicRegionMembership
 type DescribeGeographicRegionMembershipRequest struct {
 	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	GeographicRegionId   string           `position:"Query" name:"GeographicRegionId"`
 }
 

+ 116 - 0
services/cbn/describe_published_route_entries.go

@@ -0,0 +1,116 @@
+package cbn
+
+//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"
+)
+
+// DescribePublishedRouteEntries invokes the cbn.DescribePublishedRouteEntries API synchronously
+// api document: https://help.aliyun.com/api/cbn/describepublishedrouteentries.html
+func (client *Client) DescribePublishedRouteEntries(request *DescribePublishedRouteEntriesRequest) (response *DescribePublishedRouteEntriesResponse, err error) {
+	response = CreateDescribePublishedRouteEntriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePublishedRouteEntriesWithChan invokes the cbn.DescribePublishedRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describepublishedrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePublishedRouteEntriesWithChan(request *DescribePublishedRouteEntriesRequest) (<-chan *DescribePublishedRouteEntriesResponse, <-chan error) {
+	responseChan := make(chan *DescribePublishedRouteEntriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePublishedRouteEntries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePublishedRouteEntriesWithCallback invokes the cbn.DescribePublishedRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describepublishedrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePublishedRouteEntriesWithCallback(request *DescribePublishedRouteEntriesRequest, callback func(response *DescribePublishedRouteEntriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePublishedRouteEntriesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePublishedRouteEntries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePublishedRouteEntriesRequest is the request struct for api DescribePublishedRouteEntries
+type DescribePublishedRouteEntriesRequest struct {
+	*requests.RpcRequest
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                     string           `position:"Query" name:"CenId"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
+	PageSize                  requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
+	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+}
+
+// DescribePublishedRouteEntriesResponse is the response struct for api DescribePublishedRouteEntries
+type DescribePublishedRouteEntriesResponse struct {
+	*responses.BaseResponse
+	RequestId             string                `json:"RequestId" xml:"RequestId"`
+	PageNumber            int                   `json:"PageNumber" xml:"PageNumber"`
+	TotalCount            int                   `json:"TotalCount" xml:"TotalCount"`
+	PageSize              int                   `json:"PageSize" xml:"PageSize"`
+	PublishedRouteEntries PublishedRouteEntries `json:"PublishedRouteEntries" xml:"PublishedRouteEntries"`
+}
+
+// CreateDescribePublishedRouteEntriesRequest creates a request to invoke DescribePublishedRouteEntries API
+func CreateDescribePublishedRouteEntriesRequest() (request *DescribePublishedRouteEntriesRequest) {
+	request = &DescribePublishedRouteEntriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribePublishedRouteEntries", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribePublishedRouteEntriesResponse creates a response to parse from DescribePublishedRouteEntries response
+func CreateDescribePublishedRouteEntriesResponse() (response *DescribePublishedRouteEntriesResponse) {
+	response = &DescribePublishedRouteEntriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 12 - 12
services/cbn/describe_route_conflict.go

@@ -76,27 +76,27 @@ func (client *Client) DescribeRouteConflictWithCallback(request *DescribeRouteCo
 // DescribeRouteConflictRequest is the request struct for api DescribeRouteConflict
 type DescribeRouteConflictRequest struct {
 	*requests.RpcRequest
-	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
-	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
 	PageSize                  requests.Integer `position:"Query" name:"PageSize"`
-	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
-	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
+	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // DescribeRouteConflictResponse is the response struct for api DescribeRouteConflict
 type DescribeRouteConflictResponse struct {
 	*responses.BaseResponse
-	RequestId      string         `json:"RequestId" xml:"RequestId"`
-	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
-	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
-	PageSize       int            `json:"PageSize" xml:"PageSize"`
-	RouteConflicts RouteConflicts `json:"RouteConflicts" xml:"RouteConflicts"`
+	RequestId      string                                `json:"RequestId" xml:"RequestId"`
+	PageNumber     int                                   `json:"PageNumber" xml:"PageNumber"`
+	TotalCount     int                                   `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int                                   `json:"PageSize" xml:"PageSize"`
+	RouteConflicts RouteConflictsInDescribeRouteConflict `json:"RouteConflicts" xml:"RouteConflicts"`
 }
 
 // CreateDescribeRouteConflictRequest creates a request to invoke DescribeRouteConflict API

+ 6 - 6
services/cbn/detach_cen_child_instance.go

@@ -76,16 +76,16 @@ func (client *Client) DetachCenChildInstanceWithCallback(request *DetachCenChild
 // DetachCenChildInstanceRequest is the request struct for api DetachCenChildInstance
 type DetachCenChildInstanceRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
-	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	CenOwnerId            requests.Integer `position:"Query" name:"CenOwnerId"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
-	CenOwnerId            requests.Integer `position:"Query" name:"CenOwnerId"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // DetachCenChildInstanceResponse is the response struct for api DetachCenChildInstance

+ 5 - 5
services/cbn/disable_cen_vbr_health_check.go

@@ -76,14 +76,14 @@ func (client *Client) DisableCenVbrHealthCheckWithCallback(request *DisableCenVb
 // DisableCenVbrHealthCheckRequest is the request struct for api DisableCenVbrHealthCheck
 type DisableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
-	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
 }
 
 // DisableCenVbrHealthCheckResponse is the response struct for api DisableCenVbrHealthCheck

+ 6 - 6
services/cbn/enable_cen_vbr_health_check.go

@@ -76,16 +76,16 @@ func (client *Client) EnableCenVbrHealthCheckWithCallback(request *EnableCenVbrH
 // EnableCenVbrHealthCheckRequest is the request struct for api EnableCenVbrHealthCheck
 type EnableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
-	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
-	HealthCheckTargetIp  string           `position:"Query" name:"HealthCheckTargetIp"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
+	HealthCheckTargetIp  string           `position:"Query" name:"HealthCheckTargetIp"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
 }
 
 // EnableCenVbrHealthCheckResponse is the response struct for api EnableCenVbrHealthCheck

+ 4 - 3
services/cbn/modify_cen_attribute.go

@@ -76,13 +76,14 @@ func (client *Client) ModifyCenAttributeWithCallback(request *ModifyCenAttribute
 // ModifyCenAttributeRequest is the request struct for api ModifyCenAttribute
 type ModifyCenAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ProtectionLevel      string           `position:"Query" name:"ProtectionLevel"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Name                 string           `position:"Query" name:"Name"`
 	Description          string           `position:"Query" name:"Description"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // ModifyCenAttributeResponse is the response struct for api ModifyCenAttribute

+ 4 - 4
services/cbn/modify_cen_bandwidth_package_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) ModifyCenBandwidthPackageAttributeWithCallback(request *Mo
 // ModifyCenBandwidthPackageAttributeRequest is the request struct for api ModifyCenBandwidthPackageAttribute
 type ModifyCenBandwidthPackageAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	Name                  string           `position:"Query" name:"Name"`
 	Description           string           `position:"Query" name:"Description"`
-	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // ModifyCenBandwidthPackageAttributeResponse is the response struct for api ModifyCenBandwidthPackageAttribute

+ 4 - 4
services/cbn/modify_cen_bandwidth_package_spec.go

@@ -76,12 +76,12 @@ func (client *Client) ModifyCenBandwidthPackageSpecWithCallback(request *ModifyC
 // ModifyCenBandwidthPackageSpecRequest is the request struct for api ModifyCenBandwidthPackageSpec
 type ModifyCenBandwidthPackageSpecRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	Bandwidth             requests.Integer `position:"Query" name:"Bandwidth"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // ModifyCenBandwidthPackageSpecResponse is the response struct for api ModifyCenBandwidthPackageSpec

+ 110 - 0
services/cbn/publish_route_entries.go

@@ -0,0 +1,110 @@
+package cbn
+
+//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"
+)
+
+// PublishRouteEntries invokes the cbn.PublishRouteEntries API synchronously
+// api document: https://help.aliyun.com/api/cbn/publishrouteentries.html
+func (client *Client) PublishRouteEntries(request *PublishRouteEntriesRequest) (response *PublishRouteEntriesResponse, err error) {
+	response = CreatePublishRouteEntriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PublishRouteEntriesWithChan invokes the cbn.PublishRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/publishrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishRouteEntriesWithChan(request *PublishRouteEntriesRequest) (<-chan *PublishRouteEntriesResponse, <-chan error) {
+	responseChan := make(chan *PublishRouteEntriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PublishRouteEntries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PublishRouteEntriesWithCallback invokes the cbn.PublishRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/publishrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishRouteEntriesWithCallback(request *PublishRouteEntriesRequest, callback func(response *PublishRouteEntriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PublishRouteEntriesResponse
+		var err error
+		defer close(result)
+		response, err = client.PublishRouteEntries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PublishRouteEntriesRequest is the request struct for api PublishRouteEntries
+type PublishRouteEntriesRequest struct {
+	*requests.RpcRequest
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                     string           `position:"Query" name:"CenId"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
+	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+}
+
+// PublishRouteEntriesResponse is the response struct for api PublishRouteEntries
+type PublishRouteEntriesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreatePublishRouteEntriesRequest creates a request to invoke PublishRouteEntries API
+func CreatePublishRouteEntriesRequest() (request *PublishRouteEntriesRequest) {
+	request = &PublishRouteEntriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "PublishRouteEntries", "cbn", "openAPI")
+	return
+}
+
+// CreatePublishRouteEntriesResponse creates a response to parse from PublishRouteEntries response
+func CreatePublishRouteEntriesResponse() (response *PublishRouteEntriesResponse) {
+	response = &PublishRouteEntriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/cbn/set_cen_inter_region_bandwidth_limit.go

@@ -76,14 +76,14 @@ func (client *Client) SetCenInterRegionBandwidthLimitWithCallback(request *SetCe
 // SetCenInterRegionBandwidthLimitRequest is the request struct for api SetCenInterRegionBandwidthLimit
 type SetCenInterRegionBandwidthLimitRequest struct {
 	*requests.RpcRequest
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	LocalRegionId        string           `position:"Query" name:"LocalRegionId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	LocalRegionId        string           `position:"Query" name:"LocalRegionId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OppositeRegionId     string           `position:"Query" name:"OppositeRegionId"`
 	BandwidthLimit       requests.Integer `position:"Query" name:"BandwidthLimit"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // SetCenInterRegionBandwidthLimitResponse is the response struct for api SetCenInterRegionBandwidthLimit

+ 1 - 0
services/cbn/struct_cen.go

@@ -22,5 +22,6 @@ type Cen struct {
 	Description            string                 `json:"Description" xml:"Description"`
 	Status                 string                 `json:"Status" xml:"Status"`
 	CreationTime           string                 `json:"CreationTime" xml:"CreationTime"`
+	ProtectionLevel        string                 `json:"ProtectionLevel" xml:"ProtectionLevel"`
 	CenBandwidthPackageIds CenBandwidthPackageIds `json:"CenBandwidthPackageIds" xml:"CenBandwidthPackageIds"`
 }

+ 1 - 0
services/cbn/struct_cen_bandwidth_package.go

@@ -24,6 +24,7 @@ type CenBandwidthPackage struct {
 	BandwidthPackageChargeType string `json:"BandwidthPackageChargeType" xml:"BandwidthPackageChargeType"`
 	GeographicRegionAId        string `json:"GeographicRegionAId" xml:"GeographicRegionAId"`
 	GeographicRegionBId        string `json:"GeographicRegionBId" xml:"GeographicRegionBId"`
+	GeographicSpanId           string `json:"GeographicSpanId" xml:"GeographicSpanId"`
 	BusinessStatus             string `json:"BusinessStatus" xml:"BusinessStatus"`
 	CreationTime               string `json:"CreationTime" xml:"CreationTime"`
 	ExpiredTime                string `json:"ExpiredTime" xml:"ExpiredTime"`

+ 1 - 0
services/cbn/struct_cen_inter_region_bandwidth_limit.go

@@ -20,6 +20,7 @@ type CenInterRegionBandwidthLimit struct {
 	CenId            string `json:"CenId" xml:"CenId"`
 	LocalRegionId    string `json:"LocalRegionId" xml:"LocalRegionId"`
 	OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	GeographicSpanId string `json:"GeographicSpanId" xml:"GeographicSpanId"`
 	BandwidthLimit   int    `json:"BandwidthLimit" xml:"BandwidthLimit"`
 	Status           string `json:"Status" xml:"Status"`
 }

+ 25 - 0
services/cbn/struct_conflict.go

@@ -0,0 +1,25 @@
+package cbn
+
+//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.
+
+// Conflict is a nested struct in cbn response
+type Conflict struct {
+	DestinationCidrBlock string `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	InstanceId           string `json:"InstanceId" xml:"InstanceId"`
+	InstanceType         string `json:"InstanceType" xml:"InstanceType"`
+	Status               string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/cbn/struct_conflicts.go

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

+ 23 - 0
services/cbn/struct_geographic_span_model.go

@@ -0,0 +1,23 @@
+package cbn
+
+//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.
+
+// GeographicSpanModel is a nested struct in cbn response
+type GeographicSpanModel struct {
+	GeographicSpanId    string `json:"GeographicSpanId" xml:"GeographicSpanId"`
+	LocalGeoRegionId    string `json:"LocalGeoRegionId" xml:"LocalGeoRegionId"`
+	OppositeGeoRegionId string `json:"OppositeGeoRegionId" xml:"OppositeGeoRegionId"`
+}

+ 21 - 0
services/cbn/struct_geographic_span_models.go

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

+ 21 - 0
services/cbn/struct_published_route_entries.go

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

+ 28 - 0
services/cbn/struct_published_route_entry.go

@@ -0,0 +1,28 @@
+package cbn
+
+//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.
+
+// PublishedRouteEntry is a nested struct in cbn response
+type PublishedRouteEntry struct {
+	DestinationCidrBlock      string    `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
+	ChildInstanceRouteTableId string    `json:"ChildInstanceRouteTableId" xml:"ChildInstanceRouteTableId"`
+	NextHopType               string    `json:"NextHopType" xml:"NextHopType"`
+	RouteType                 string    `json:"RouteType" xml:"RouteType"`
+	NextHopId                 string    `json:"NextHopId" xml:"NextHopId"`
+	OperationalMode           bool      `json:"OperationalMode" xml:"OperationalMode"`
+	PublishStatus             string    `json:"PublishStatus" xml:"PublishStatus"`
+	Conflicts                 Conflicts `json:"Conflicts" xml:"Conflicts"`
+}

+ 22 - 0
services/cbn/struct_region.go

@@ -0,0 +1,22 @@
+package cbn
+
+//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.
+
+// Region is a nested struct in cbn response
+type Region struct {
+	RegionId  string `json:"RegionId" xml:"RegionId"`
+	LocalName string `json:"LocalName" xml:"LocalName"`
+}

+ 21 - 0
services/cbn/struct_regions.go

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

+ 2 - 2
services/cbn/struct_route_conflicts.go → services/cbn/struct_route_conflicts_in_describe_route_conflict.go

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

+ 3 - 3
services/cbn/unassociate_cen_bandwidth_package.go

@@ -76,12 +76,12 @@ func (client *Client) UnassociateCenBandwidthPackageWithCallback(request *Unasso
 // UnassociateCenBandwidthPackageRequest is the request struct for api UnassociateCenBandwidthPackage
 type UnassociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // UnassociateCenBandwidthPackageResponse is the response struct for api UnassociateCenBandwidthPackage

+ 110 - 0
services/cbn/withdraw_published_route_entries.go

@@ -0,0 +1,110 @@
+package cbn
+
+//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"
+)
+
+// WithdrawPublishedRouteEntries invokes the cbn.WithdrawPublishedRouteEntries API synchronously
+// api document: https://help.aliyun.com/api/cbn/withdrawpublishedrouteentries.html
+func (client *Client) WithdrawPublishedRouteEntries(request *WithdrawPublishedRouteEntriesRequest) (response *WithdrawPublishedRouteEntriesResponse, err error) {
+	response = CreateWithdrawPublishedRouteEntriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// WithdrawPublishedRouteEntriesWithChan invokes the cbn.WithdrawPublishedRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/withdrawpublishedrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) WithdrawPublishedRouteEntriesWithChan(request *WithdrawPublishedRouteEntriesRequest) (<-chan *WithdrawPublishedRouteEntriesResponse, <-chan error) {
+	responseChan := make(chan *WithdrawPublishedRouteEntriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.WithdrawPublishedRouteEntries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// WithdrawPublishedRouteEntriesWithCallback invokes the cbn.WithdrawPublishedRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/withdrawpublishedrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) WithdrawPublishedRouteEntriesWithCallback(request *WithdrawPublishedRouteEntriesRequest, callback func(response *WithdrawPublishedRouteEntriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *WithdrawPublishedRouteEntriesResponse
+		var err error
+		defer close(result)
+		response, err = client.WithdrawPublishedRouteEntries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// WithdrawPublishedRouteEntriesRequest is the request struct for api WithdrawPublishedRouteEntries
+type WithdrawPublishedRouteEntriesRequest struct {
+	*requests.RpcRequest
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                     string           `position:"Query" name:"CenId"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
+	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+}
+
+// WithdrawPublishedRouteEntriesResponse is the response struct for api WithdrawPublishedRouteEntries
+type WithdrawPublishedRouteEntriesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateWithdrawPublishedRouteEntriesRequest creates a request to invoke WithdrawPublishedRouteEntries API
+func CreateWithdrawPublishedRouteEntriesRequest() (request *WithdrawPublishedRouteEntriesRequest) {
+	request = &WithdrawPublishedRouteEntriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "WithdrawPublishedRouteEntries", "cbn", "openAPI")
+	return
+}
+
+// CreateWithdrawPublishedRouteEntriesResponse creates a response to parse from WithdrawPublishedRouteEntries response
+func CreateWithdrawPublishedRouteEntriesResponse() (response *WithdrawPublishedRouteEntriesResponse) {
+	response = &WithdrawPublishedRouteEntriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}