Browse Source

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

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 năm trước cách đây
mục cha
commit
c5825d35a9
41 tập tin đã thay đổi với 860 bổ sung112 xóa
  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
 2018-10-11 Version: 1.31.7
 1, Add a new api called DeleteMezzanines to clear mezzanine infos and storages.
 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.
 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
 // AssociateCenBandwidthPackageRequest is the request struct for api AssociateCenBandwidthPackage
 type AssociateCenBandwidthPackageRequest struct {
 type AssociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 	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
 // 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
 // AttachCenChildInstanceRequest is the request struct for api AttachCenChildInstance
 type AttachCenChildInstanceRequest struct {
 type AttachCenChildInstanceRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	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"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 }
 
 
 // AttachCenChildInstanceResponse is the response struct for api AttachCenChildInstance
 // 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
 // CreateCenRequest is the request struct for api CreateCen
 type CreateCenRequest struct {
 type CreateCenRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Name                 string           `position:"Query" name:"Name"`
 	Name                 string           `position:"Query" name:"Name"`
 	Description          string           `position:"Query" name:"Description"`
 	Description          string           `position:"Query" name:"Description"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 }
 
 
 // CreateCenResponse is the response struct for api CreateCen
 // 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
 // CreateCenBandwidthPackageRequest is the request struct for api CreateCenBandwidthPackage
 type CreateCenBandwidthPackageRequest struct {
 type CreateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	*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"`
 	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"`
 	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"`
 	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"`
 	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"`
 	PricingCycle               string           `position:"Query" name:"PricingCycle"`
-	AutoPay                    requests.Boolean `position:"Query" name:"AutoPay"`
 }
 }
 
 
 // CreateCenBandwidthPackageResponse is the response struct for api CreateCenBandwidthPackage
 // 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
 // DeleteCenRequest is the request struct for api DeleteCen
 type DeleteCenRequest struct {
 type DeleteCenRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	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
 // 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
 // DeleteCenBandwidthPackageRequest is the request struct for api DeleteCenBandwidthPackage
 type DeleteCenBandwidthPackageRequest struct {
 type DeleteCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 	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
 // 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
 // DescribeCenAttachedChildInstancesRequest is the request struct for api DescribeCenAttachedChildInstances
 type DescribeCenAttachedChildInstancesRequest struct {
 type DescribeCenAttachedChildInstancesRequest struct {
 	*requests.RpcRequest
 	*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"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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"`
 	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
 // 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
 // DescribeCenBandwidthPackagesRequest is the request struct for api DescribeCenBandwidthPackages
 type DescribeCenBandwidthPackagesRequest struct {
 type DescribeCenBandwidthPackagesRequest struct {
 	*requests.RpcRequest
 	*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"`
 	OwnerAccount         string                                `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer                      `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer                      `position:"Query" name:"OwnerId"`
 	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"`
 	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"`
 	IsOrKey              requests.Boolean                      `position:"Query" name:"IsOrKey"`
 }
 }
 
 
 // DescribeCenBandwidthPackagesFilter is a repeated param struct in DescribeCenBandwidthPackagesRequest
 // DescribeCenBandwidthPackagesFilter is a repeated param struct in DescribeCenBandwidthPackagesRequest
 type DescribeCenBandwidthPackagesFilter struct {
 type DescribeCenBandwidthPackagesFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeCenBandwidthPackagesResponse is the response struct for api DescribeCenBandwidthPackages
 // 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
 // DescribeCenGeographicSpanRemainingBandwidthRequest is the request struct for api DescribeCenGeographicSpanRemainingBandwidth
 type DescribeCenGeographicSpanRemainingBandwidthRequest struct {
 type DescribeCenGeographicSpanRemainingBandwidthRequest struct {
 	*requests.RpcRequest
 	*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"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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"`
 	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
 // 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
 // DescribeCenInterRegionBandwidthLimitsRequest is the request struct for api DescribeCenInterRegionBandwidthLimits
 type DescribeCenInterRegionBandwidthLimitsRequest struct {
 type DescribeCenInterRegionBandwidthLimitsRequest struct {
 	*requests.RpcRequest
 	*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"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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"`
 	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
 // 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
 // DescribeCenRegionDomainRouteEntriesRequest is the request struct for api DescribeCenRegionDomainRouteEntries
 type DescribeCenRegionDomainRouteEntriesRequest struct {
 type DescribeCenRegionDomainRouteEntriesRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	CenId                string           `position:"Query" name:"CenId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	CenRegionId          string           `position:"Query" name:"CenRegionId"`
 	CenRegionId          string           `position:"Query" name:"CenRegionId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	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
 // 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
 // DescribeCenVbrHealthCheckRequest is the request struct for api DescribeCenVbrHealthCheck
 type DescribeCenVbrHealthCheckRequest struct {
 type DescribeCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	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"`
 	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"`
 	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
 // 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
 // DescribeCensRequest is the request struct for api DescribeCens
 type DescribeCensRequest struct {
 type DescribeCensRequest struct {
 	*requests.RpcRequest
 	*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"`
 	OwnerAccount         string                `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
 	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"`
 	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
 // DescribeCensFilter is a repeated param struct in DescribeCensRequest
 type DescribeCensFilter struct {
 type DescribeCensFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeCensResponse is the response struct for api DescribeCens
 // 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
 // DescribeGeographicRegionMembershipRequest is the request struct for api DescribeGeographicRegionMembership
 type DescribeGeographicRegionMembershipRequest struct {
 type DescribeGeographicRegionMembershipRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	GeographicRegionId   string           `position:"Query" name:"GeographicRegionId"`
 	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
 // DescribeRouteConflictRequest is the request struct for api DescribeRouteConflict
 type DescribeRouteConflictRequest struct {
 type DescribeRouteConflictRequest struct {
 	*requests.RpcRequest
 	*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"`
 	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"`
 	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"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
 	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
 // DescribeRouteConflictResponse is the response struct for api DescribeRouteConflict
 type DescribeRouteConflictResponse struct {
 type DescribeRouteConflictResponse struct {
 	*responses.BaseResponse
 	*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
 // 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
 // DetachCenChildInstanceRequest is the request struct for api DetachCenChildInstance
 type DetachCenChildInstanceRequest struct {
 type DetachCenChildInstanceRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	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"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
 	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
 // 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
 // DisableCenVbrHealthCheckRequest is the request struct for api DisableCenVbrHealthCheck
 type DisableCenVbrHealthCheckRequest struct {
 type DisableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	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"`
 	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
 // 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
 // EnableCenVbrHealthCheckRequest is the request struct for api EnableCenVbrHealthCheck
 type EnableCenVbrHealthCheckRequest struct {
 type EnableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	CenId                string           `position:"Query" name:"CenId"`
-	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
-	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
 	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
-	HealthCheckTargetIp  string           `position:"Query" name:"HealthCheckTargetIp"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
 	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
 // 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
 // ModifyCenAttributeRequest is the request struct for api ModifyCenAttribute
 type ModifyCenAttributeRequest struct {
 type ModifyCenAttributeRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	CenId                string           `position:"Query" name:"CenId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Name                 string           `position:"Query" name:"Name"`
 	Name                 string           `position:"Query" name:"Name"`
 	Description          string           `position:"Query" name:"Description"`
 	Description          string           `position:"Query" name:"Description"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 }
 
 
 // ModifyCenAttributeResponse is the response struct for api ModifyCenAttribute
 // 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
 // ModifyCenBandwidthPackageAttributeRequest is the request struct for api ModifyCenBandwidthPackageAttribute
 type ModifyCenBandwidthPackageAttributeRequest struct {
 type ModifyCenBandwidthPackageAttributeRequest struct {
 	*requests.RpcRequest
 	*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"`
 	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"`
 	Name                  string           `position:"Query" name:"Name"`
 	Description           string           `position:"Query" name:"Description"`
 	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
 // 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
 // ModifyCenBandwidthPackageSpecRequest is the request struct for api ModifyCenBandwidthPackageSpec
 type ModifyCenBandwidthPackageSpecRequest struct {
 type ModifyCenBandwidthPackageSpecRequest struct {
 	*requests.RpcRequest
 	*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"`
 	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"`
 	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
 // 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
 // SetCenInterRegionBandwidthLimitRequest is the request struct for api SetCenInterRegionBandwidthLimit
 type SetCenInterRegionBandwidthLimitRequest struct {
 type SetCenInterRegionBandwidthLimitRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	CenId                string           `position:"Query" name:"CenId"`
-	LocalRegionId        string           `position:"Query" name:"LocalRegionId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OppositeRegionId     string           `position:"Query" name:"OppositeRegionId"`
 	OppositeRegionId     string           `position:"Query" name:"OppositeRegionId"`
 	BandwidthLimit       requests.Integer `position:"Query" name:"BandwidthLimit"`
 	BandwidthLimit       requests.Integer `position:"Query" name:"BandwidthLimit"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 }
 
 
 // SetCenInterRegionBandwidthLimitResponse is the response struct for api SetCenInterRegionBandwidthLimit
 // 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"`
 	Description            string                 `json:"Description" xml:"Description"`
 	Status                 string                 `json:"Status" xml:"Status"`
 	Status                 string                 `json:"Status" xml:"Status"`
 	CreationTime           string                 `json:"CreationTime" xml:"CreationTime"`
 	CreationTime           string                 `json:"CreationTime" xml:"CreationTime"`
+	ProtectionLevel        string                 `json:"ProtectionLevel" xml:"ProtectionLevel"`
 	CenBandwidthPackageIds CenBandwidthPackageIds `json:"CenBandwidthPackageIds" xml:"CenBandwidthPackageIds"`
 	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"`
 	BandwidthPackageChargeType string `json:"BandwidthPackageChargeType" xml:"BandwidthPackageChargeType"`
 	GeographicRegionAId        string `json:"GeographicRegionAId" xml:"GeographicRegionAId"`
 	GeographicRegionAId        string `json:"GeographicRegionAId" xml:"GeographicRegionAId"`
 	GeographicRegionBId        string `json:"GeographicRegionBId" xml:"GeographicRegionBId"`
 	GeographicRegionBId        string `json:"GeographicRegionBId" xml:"GeographicRegionBId"`
+	GeographicSpanId           string `json:"GeographicSpanId" xml:"GeographicSpanId"`
 	BusinessStatus             string `json:"BusinessStatus" xml:"BusinessStatus"`
 	BusinessStatus             string `json:"BusinessStatus" xml:"BusinessStatus"`
 	CreationTime               string `json:"CreationTime" xml:"CreationTime"`
 	CreationTime               string `json:"CreationTime" xml:"CreationTime"`
 	ExpiredTime                string `json:"ExpiredTime" xml:"ExpiredTime"`
 	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"`
 	CenId            string `json:"CenId" xml:"CenId"`
 	LocalRegionId    string `json:"LocalRegionId" xml:"LocalRegionId"`
 	LocalRegionId    string `json:"LocalRegionId" xml:"LocalRegionId"`
 	OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
 	OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	GeographicSpanId string `json:"GeographicSpanId" xml:"GeographicSpanId"`
 	BandwidthLimit   int    `json:"BandwidthLimit" xml:"BandwidthLimit"`
 	BandwidthLimit   int    `json:"BandwidthLimit" xml:"BandwidthLimit"`
 	Status           string `json:"Status" xml:"Status"`
 	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.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// 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"`
 	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
 // UnassociateCenBandwidthPackageRequest is the request struct for api UnassociateCenBandwidthPackage
 type UnassociateCenBandwidthPackageRequest struct {
 type UnassociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	*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"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenId                 string           `position:"Query" name:"CenId"`
 	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 	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
 // 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
+}