Browse Source

Generated 2017-09-12 for Cbn.

sdk-team 5 years ago
parent
commit
68df4c0057
95 changed files with 2597 additions and 210 deletions
  1. 6 0
      ChangeLog.txt
  2. 110 0
      services/cbn/active_flow_log.go
  3. 3 3
      services/cbn/associate_cen_bandwidth_package.go
  4. 4 4
      services/cbn/attach_cen_child_instance.go
  5. 53 5
      services/cbn/client.go
  6. 5 5
      services/cbn/create_cen.go
  7. 5 5
      services/cbn/create_cen_bandwidth_package.go
  8. 134 0
      services/cbn/create_cen_route_map.go
  9. 114 0
      services/cbn/create_flowlog.go
  10. 110 0
      services/cbn/deactive_flow_log.go
  11. 1 1
      services/cbn/delete_cen.go
  12. 2 2
      services/cbn/delete_cen_bandwidth_package.go
  13. 109 0
      services/cbn/delete_cen_route_map.go
  14. 110 0
      services/cbn/delete_flowlog.go
  15. 5 4
      services/cbn/delete_route_service_in_cen.go
  16. 5 5
      services/cbn/describe_cen_attached_child_instance_attribute.go
  17. 5 5
      services/cbn/describe_cen_attached_child_instances.go
  18. 10 9
      services/cbn/describe_cen_bandwidth_packages.go
  19. 117 0
      services/cbn/describe_cen_child_instance_route_entries.go
  20. 6 6
      services/cbn/describe_cen_geographic_span_remaining_bandwidth.go
  21. 3 3
      services/cbn/describe_cen_geographic_spans.go
  22. 4 4
      services/cbn/describe_cen_inter_region_bandwidth_limits.go
  23. 4 4
      services/cbn/describe_cen_private_zone_routes.go
  24. 11 10
      services/cbn/describe_cen_region_domain_route_entries.go
  25. 116 0
      services/cbn/describe_cen_route_maps.go
  26. 6 6
      services/cbn/describe_cen_vbr_health_check.go
  27. 11 11
      services/cbn/describe_cens.go
  28. 1 1
      services/cbn/describe_child_instance_regions.go
  29. 121 0
      services/cbn/describe_flowlogs.go
  30. 3 3
      services/cbn/describe_geographic_region_membership.go
  31. 3 3
      services/cbn/describe_grant_rules_to_cen.go
  32. 6 6
      services/cbn/describe_published_route_entries.go
  33. 5 5
      services/cbn/describe_route_conflict.go
  34. 6 5
      services/cbn/describe_route_services_in_cen.go
  35. 5 5
      services/cbn/detach_cen_child_instance.go
  36. 4 4
      services/cbn/disable_cen_vbr_health_check.go
  37. 6 6
      services/cbn/enable_cen_vbr_health_check.go
  38. 75 0
      services/cbn/endpoint.go
  39. 119 0
      services/cbn/list_tag_resources.go
  40. 5 5
      services/cbn/modify_cen_attribute.go
  41. 4 4
      services/cbn/modify_cen_bandwidth_package_attribute.go
  42. 2 2
      services/cbn/modify_cen_bandwidth_package_spec.go
  43. 133 0
      services/cbn/modify_cen_route_map.go
  44. 112 0
      services/cbn/modify_flow_log_attribute.go
  45. 4 4
      services/cbn/publish_route_entries.go
  46. 6 5
      services/cbn/resolve_and_route_service_in_cen.go
  47. 5 5
      services/cbn/route_private_zone_in_cen_to_vpc.go
  48. 4 4
      services/cbn/set_cen_inter_region_bandwidth_limit.go
  49. 21 0
      services/cbn/struct_as_paths_in_describe_cen_child_instance_route_entries.go
  50. 21 0
      services/cbn/struct_as_paths_in_describe_cen_region_domain_route_entries.go
  51. 22 14
      services/cbn/struct_cen_bandwidth_package.go
  52. 1 1
      services/cbn/struct_cen_inter_region_bandwidth_limit.go
  53. 22 0
      services/cbn/struct_cen_out_route_map_record.go
  54. 21 0
      services/cbn/struct_cen_out_route_map_records.go
  55. 21 0
      services/cbn/struct_cen_route_entries_in_describe_cen_child_instance_route_entries.go
  56. 2 2
      services/cbn/struct_cen_route_entries_in_describe_cen_region_domain_route_entries.go
  57. 16 5
      services/cbn/struct_cen_route_entry.go
  58. 22 0
      services/cbn/struct_cen_route_map_record.go
  59. 21 0
      services/cbn/struct_cen_route_map_records_in_describe_cen_child_instance_route_entries.go
  60. 21 0
      services/cbn/struct_cen_route_map_records_in_describe_cen_region_domain_route_entries.go
  61. 1 1
      services/cbn/struct_child_instance.go
  62. 21 0
      services/cbn/struct_communities_in_describe_cen_child_instance_route_entries.go
  63. 21 0
      services/cbn/struct_communities_in_describe_cen_region_domain_route_entries.go
  64. 1 1
      services/cbn/struct_conflict.go
  65. 21 0
      services/cbn/struct_conflicts_in_describe_cen_child_instance_route_entries.go
  66. 2 2
      services/cbn/struct_conflicts_in_describe_published_route_entries.go
  67. 21 0
      services/cbn/struct_destination_child_instance_types.go
  68. 21 0
      services/cbn/struct_destination_cidr_blocks.go
  69. 21 0
      services/cbn/struct_destination_instance_ids.go
  70. 21 0
      services/cbn/struct_destination_route_table_ids.go
  71. 29 0
      services/cbn/struct_flow_log.go
  72. 21 0
      services/cbn/struct_flow_logs.go
  73. 1 1
      services/cbn/struct_grant_rule.go
  74. 21 0
      services/cbn/struct_match_asns.go
  75. 21 0
      services/cbn/struct_match_community_set.go
  76. 21 0
      services/cbn/struct_operate_community_set.go
  77. 24 0
      services/cbn/struct_orgin_inter_region_bandwidth_limit.go
  78. 21 0
      services/cbn/struct_orgin_inter_region_bandwidth_limits.go
  79. 21 0
      services/cbn/struct_prepend_as_path.go
  80. 8 8
      services/cbn/struct_published_route_entry.go
  81. 49 0
      services/cbn/struct_route_map.go
  82. 21 0
      services/cbn/struct_route_maps.go
  83. 21 0
      services/cbn/struct_route_types.go
  84. 21 0
      services/cbn/struct_source_child_instance_types.go
  85. 21 0
      services/cbn/struct_source_instance_ids.go
  86. 21 0
      services/cbn/struct_source_region_ids.go
  87. 21 0
      services/cbn/struct_source_route_table_ids.go
  88. 24 0
      services/cbn/struct_tag_resource.go
  89. 21 0
      services/cbn/struct_tag_resources.go
  90. 2 2
      services/cbn/struct_vbr_health_check.go
  91. 115 0
      services/cbn/tag_resources.go
  92. 3 3
      services/cbn/unassociate_cen_bandwidth_package.go
  93. 3 3
      services/cbn/unroute_private_zone_in_cen_to_vpc.go
  94. 2 4
      services/cbn/untag_resources.go
  95. 4 4
      services/cbn/withdraw_published_route_entries.go

+ 6 - 0
ChangeLog.txt

@@ -1,3 +1,9 @@
+2020-02-19 Version: v1.60.382
+- Generated 2017-09-12 for `Cbn`.
+- Support terraform.
+- Support flow log.
+- Support route map.
+
 2020-02-15 Version: v1.60.381
 - Generated 2018-11-01 for `dms-enterprise`.
 - Supported ListWorkFlowTemplates, ListWorkFlowNodes API.

+ 110 - 0
services/cbn/active_flow_log.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"
+)
+
+// ActiveFlowLog invokes the cbn.ActiveFlowLog API synchronously
+// api document: https://help.aliyun.com/api/cbn/activeflowlog.html
+func (client *Client) ActiveFlowLog(request *ActiveFlowLogRequest) (response *ActiveFlowLogResponse, err error) {
+	response = CreateActiveFlowLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ActiveFlowLogWithChan invokes the cbn.ActiveFlowLog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/activeflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ActiveFlowLogWithChan(request *ActiveFlowLogRequest) (<-chan *ActiveFlowLogResponse, <-chan error) {
+	responseChan := make(chan *ActiveFlowLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ActiveFlowLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ActiveFlowLogWithCallback invokes the cbn.ActiveFlowLog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/activeflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ActiveFlowLogWithCallback(request *ActiveFlowLogRequest, callback func(response *ActiveFlowLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ActiveFlowLogResponse
+		var err error
+		defer close(result)
+		response, err = client.ActiveFlowLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ActiveFlowLogRequest is the request struct for api ActiveFlowLog
+type ActiveFlowLogRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogId            string           `position:"Query" name:"FlowLogId"`
+}
+
+// ActiveFlowLogResponse is the response struct for api ActiveFlowLog
+type ActiveFlowLogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   string `json:"Success" xml:"Success"`
+}
+
+// CreateActiveFlowLogRequest creates a request to invoke ActiveFlowLog API
+func CreateActiveFlowLogRequest() (request *ActiveFlowLogRequest) {
+	request = &ActiveFlowLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ActiveFlowLog", "Cbn", "openAPI")
+	return
+}
+
+// CreateActiveFlowLogResponse creates a response to parse from ActiveFlowLog response
+func CreateActiveFlowLogResponse() (response *ActiveFlowLogResponse) {
+	response = &ActiveFlowLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cbn/associate_cen_bandwidth_package.go

@@ -77,11 +77,11 @@ func (client *Client) AssociateCenBandwidthPackageWithCallback(request *Associat
 type AssociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	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"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 }
 
 // AssociateCenBandwidthPackageResponse is the response struct for api AssociateCenBandwidthPackage
@@ -95,7 +95,7 @@ func CreateAssociateCenBandwidthPackageRequest() (request *AssociateCenBandwidth
 	request = &AssociateCenBandwidthPackageRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "AssociateCenBandwidthPackage", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "AssociateCenBandwidthPackage", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
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
-	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"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
 }
 
 // AttachCenChildInstanceResponse is the response struct for api AttachCenChildInstance
@@ -98,7 +98,7 @@ func CreateAttachCenChildInstanceRequest() (request *AttachCenChildInstanceReque
 	request = &AttachCenChildInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "AttachCenChildInstance", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "AttachCenChildInstance", "Cbn", "openAPI")
 	return
 }
 

+ 53 - 5
services/cbn/client.go

@@ -16,8 +16,11 @@ package cbn
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 import (
+	"reflect"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -25,10 +28,40 @@ type Client struct {
 	sdk.Client
 }
 
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
 // NewClient creates a sdk client with environment variables
 func NewClient() (client *Client, err error) {
 	client = &Client{}
 	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -37,45 +70,60 @@ func NewClient() (client *Client, err error) {
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
 	return
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
 	return
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
 	return
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
 	return
 }
 
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
 	return
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
 	return
 }

+ 5 - 5
services/cbn/create_cen.go

@@ -76,14 +76,14 @@ func (client *Client) CreateCenWithCallback(request *CreateCenRequest, callback
 // CreateCenRequest is the request struct for api CreateCen
 type CreateCenRequest struct {
 	*requests.RpcRequest
-	ProtectionLevel      string           `position:"Query" name:"ProtectionLevel"`
 	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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ProtectionLevel      string           `position:"Query" name:"ProtectionLevel"`
+	Name                 string           `position:"Query" name:"Name"`
 }
 
 // CreateCenResponse is the response struct for api CreateCen
@@ -98,7 +98,7 @@ func CreateCreateCenRequest() (request *CreateCenRequest) {
 	request = &CreateCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCen", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
services/cbn/create_cen_bandwidth_package.go

@@ -76,18 +76,18 @@ func (client *Client) CreateCenBandwidthPackageWithCallback(request *CreateCenBa
 // CreateCenBandwidthPackageRequest is the request struct for api CreateCenBandwidthPackage
 type CreateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
-	GeographicRegionBId        string           `position:"Query" name:"GeographicRegionBId"`
 	ResourceOwnerId            requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken                string           `position:"Query" name:"ClientToken"`
+	Description                string           `position:"Query" name:"Description"`
+	BandwidthPackageChargeType string           `position:"Query" name:"BandwidthPackageChargeType"`
+	GeographicRegionBId        string           `position:"Query" name:"GeographicRegionBId"`
 	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"`
 	Bandwidth                  requests.Integer `position:"Query" name:"Bandwidth"`
 	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"`
 	Name                       string           `position:"Query" name:"Name"`
 	PricingCycle               string           `position:"Query" name:"PricingCycle"`
 }
@@ -105,7 +105,7 @@ func CreateCreateCenBandwidthPackageRequest() (request *CreateCenBandwidthPackag
 	request = &CreateCenBandwidthPackageRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCenBandwidthPackage", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCenBandwidthPackage", "Cbn", "openAPI")
 	return
 }
 

+ 134 - 0
services/cbn/create_cen_route_map.go

@@ -0,0 +1,134 @@
+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"
+)
+
+// CreateCenRouteMap invokes the cbn.CreateCenRouteMap API synchronously
+// api document: https://help.aliyun.com/api/cbn/createcenroutemap.html
+func (client *Client) CreateCenRouteMap(request *CreateCenRouteMapRequest) (response *CreateCenRouteMapResponse, err error) {
+	response = CreateCreateCenRouteMapResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCenRouteMapWithChan invokes the cbn.CreateCenRouteMap API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createcenroutemap.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCenRouteMapWithChan(request *CreateCenRouteMapRequest) (<-chan *CreateCenRouteMapResponse, <-chan error) {
+	responseChan := make(chan *CreateCenRouteMapResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCenRouteMap(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCenRouteMapWithCallback invokes the cbn.CreateCenRouteMap API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createcenroutemap.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCenRouteMapWithCallback(request *CreateCenRouteMapRequest, callback func(response *CreateCenRouteMapResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCenRouteMapResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCenRouteMap(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCenRouteMapRequest is the request struct for api CreateCenRouteMap
+type CreateCenRouteMapRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId                    requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CommunityMatchMode                 string           `position:"Query" name:"CommunityMatchMode"`
+	MapResult                          string           `position:"Query" name:"MapResult"`
+	NextPriority                       requests.Integer `position:"Query" name:"NextPriority"`
+	DestinationCidrBlocks              *[]string        `position:"Query" name:"DestinationCidrBlocks"  type:"Repeated"`
+	SourceInstanceIds                  *[]string        `position:"Query" name:"SourceInstanceIds"  type:"Repeated"`
+	SourceRegionIds                    *[]string        `position:"Query" name:"SourceRegionIds"  type:"Repeated"`
+	MatchAsns                          *[]string        `position:"Query" name:"MatchAsns"  type:"Repeated"`
+	Preference                         requests.Integer `position:"Query" name:"Preference"`
+	OwnerId                            requests.Integer `position:"Query" name:"OwnerId"`
+	Priority                           requests.Integer `position:"Query" name:"Priority"`
+	DestinationChildInstanceTypes      *[]string        `position:"Query" name:"DestinationChildInstanceTypes"  type:"Repeated"`
+	SourceRouteTableIds                *[]string        `position:"Query" name:"SourceRouteTableIds"  type:"Repeated"`
+	SourceChildInstanceTypes           *[]string        `position:"Query" name:"SourceChildInstanceTypes"  type:"Repeated"`
+	CommunityOperateMode               string           `position:"Query" name:"CommunityOperateMode"`
+	OperateCommunitySet                *[]string        `position:"Query" name:"OperateCommunitySet"  type:"Repeated"`
+	RouteTypes                         *[]string        `position:"Query" name:"RouteTypes"  type:"Repeated"`
+	CidrMatchMode                      string           `position:"Query" name:"CidrMatchMode"`
+	CenId                              string           `position:"Query" name:"CenId"`
+	Description                        string           `position:"Query" name:"Description"`
+	SourceInstanceIdsReverseMatch      requests.Boolean `position:"Query" name:"SourceInstanceIdsReverseMatch"`
+	DestinationRouteTableIds           *[]string        `position:"Query" name:"DestinationRouteTableIds"  type:"Repeated"`
+	TransmitDirection                  string           `position:"Query" name:"TransmitDirection"`
+	DestinationInstanceIds             *[]string        `position:"Query" name:"DestinationInstanceIds"  type:"Repeated"`
+	ResourceOwnerAccount               string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount                       string           `position:"Query" name:"OwnerAccount"`
+	DestinationInstanceIdsReverseMatch requests.Boolean `position:"Query" name:"DestinationInstanceIdsReverseMatch"`
+	PrependAsPath                      *[]string        `position:"Query" name:"PrependAsPath"  type:"Repeated"`
+	AsPathMatchMode                    string           `position:"Query" name:"AsPathMatchMode"`
+	MatchCommunitySet                  *[]string        `position:"Query" name:"MatchCommunitySet"  type:"Repeated"`
+	CenRegionId                        string           `position:"Query" name:"CenRegionId"`
+}
+
+// CreateCenRouteMapResponse is the response struct for api CreateCenRouteMap
+type CreateCenRouteMapResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	RouteMapId string `json:"RouteMapId" xml:"RouteMapId"`
+}
+
+// CreateCreateCenRouteMapRequest creates a request to invoke CreateCenRouteMap API
+func CreateCreateCenRouteMapRequest() (request *CreateCenRouteMapRequest) {
+	request = &CreateCenRouteMapRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCenRouteMap", "Cbn", "openAPI")
+	return
+}
+
+// CreateCreateCenRouteMapResponse creates a response to parse from CreateCenRouteMap response
+func CreateCreateCenRouteMapResponse() (response *CreateCenRouteMapResponse) {
+	response = &CreateCenRouteMapResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/cbn/create_flowlog.go

@@ -0,0 +1,114 @@
+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"
+)
+
+// CreateFlowlog invokes the cbn.CreateFlowlog API synchronously
+// api document: https://help.aliyun.com/api/cbn/createflowlog.html
+func (client *Client) CreateFlowlog(request *CreateFlowlogRequest) (response *CreateFlowlogResponse, err error) {
+	response = CreateCreateFlowlogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateFlowlogWithChan invokes the cbn.CreateFlowlog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateFlowlogWithChan(request *CreateFlowlogRequest) (<-chan *CreateFlowlogResponse, <-chan error) {
+	responseChan := make(chan *CreateFlowlogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateFlowlog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateFlowlogWithCallback invokes the cbn.CreateFlowlog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateFlowlogWithCallback(request *CreateFlowlogRequest, callback func(response *CreateFlowlogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateFlowlogResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateFlowlog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateFlowlogRequest is the request struct for api CreateFlowlog
+type CreateFlowlogRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	Description          string           `position:"Query" name:"Description"`
+	ProjectName          string           `position:"Query" name:"ProjectName"`
+	LogStoreName         string           `position:"Query" name:"LogStoreName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogName          string           `position:"Query" name:"FlowLogName"`
+}
+
+// CreateFlowlogResponse is the response struct for api CreateFlowlog
+type CreateFlowlogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   string `json:"Success" xml:"Success"`
+	FlowLogId string `json:"FlowLogId" xml:"FlowLogId"`
+}
+
+// CreateCreateFlowlogRequest creates a request to invoke CreateFlowlog API
+func CreateCreateFlowlogRequest() (request *CreateFlowlogRequest) {
+	request = &CreateFlowlogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateFlowlog", "Cbn", "openAPI")
+	return
+}
+
+// CreateCreateFlowlogResponse creates a response to parse from CreateFlowlog response
+func CreateCreateFlowlogResponse() (response *CreateFlowlogResponse) {
+	response = &CreateFlowlogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cbn/deactive_flow_log.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"
+)
+
+// DeactiveFlowLog invokes the cbn.DeactiveFlowLog API synchronously
+// api document: https://help.aliyun.com/api/cbn/deactiveflowlog.html
+func (client *Client) DeactiveFlowLog(request *DeactiveFlowLogRequest) (response *DeactiveFlowLogResponse, err error) {
+	response = CreateDeactiveFlowLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeactiveFlowLogWithChan invokes the cbn.DeactiveFlowLog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deactiveflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeactiveFlowLogWithChan(request *DeactiveFlowLogRequest) (<-chan *DeactiveFlowLogResponse, <-chan error) {
+	responseChan := make(chan *DeactiveFlowLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeactiveFlowLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeactiveFlowLogWithCallback invokes the cbn.DeactiveFlowLog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deactiveflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeactiveFlowLogWithCallback(request *DeactiveFlowLogRequest, callback func(response *DeactiveFlowLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeactiveFlowLogResponse
+		var err error
+		defer close(result)
+		response, err = client.DeactiveFlowLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeactiveFlowLogRequest is the request struct for api DeactiveFlowLog
+type DeactiveFlowLogRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogId            string           `position:"Query" name:"FlowLogId"`
+}
+
+// DeactiveFlowLogResponse is the response struct for api DeactiveFlowLog
+type DeactiveFlowLogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   string `json:"Success" xml:"Success"`
+}
+
+// CreateDeactiveFlowLogRequest creates a request to invoke DeactiveFlowLog API
+func CreateDeactiveFlowLogRequest() (request *DeactiveFlowLogRequest) {
+	request = &DeactiveFlowLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeactiveFlowLog", "Cbn", "openAPI")
+	return
+}
+
+// CreateDeactiveFlowLogResponse creates a response to parse from DeactiveFlowLog response
+func CreateDeactiveFlowLogResponse() (response *DeactiveFlowLogResponse) {
+	response = &DeactiveFlowLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cbn/delete_cen.go

@@ -94,7 +94,7 @@ func CreateDeleteCenRequest() (request *DeleteCenRequest) {
 	request = &DeleteCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteCen", "Cbn", "openAPI")
 	return
 }
 

+ 2 - 2
services/cbn/delete_cen_bandwidth_package.go

@@ -78,9 +78,9 @@ type DeleteCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	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"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 }
 
 // DeleteCenBandwidthPackageResponse is the response struct for api DeleteCenBandwidthPackage
@@ -94,7 +94,7 @@ func CreateDeleteCenBandwidthPackageRequest() (request *DeleteCenBandwidthPackag
 	request = &DeleteCenBandwidthPackageRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteCenBandwidthPackage", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteCenBandwidthPackage", "Cbn", "openAPI")
 	return
 }
 

+ 109 - 0
services/cbn/delete_cen_route_map.go

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

+ 110 - 0
services/cbn/delete_flowlog.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"
+)
+
+// DeleteFlowlog invokes the cbn.DeleteFlowlog API synchronously
+// api document: https://help.aliyun.com/api/cbn/deleteflowlog.html
+func (client *Client) DeleteFlowlog(request *DeleteFlowlogRequest) (response *DeleteFlowlogResponse, err error) {
+	response = CreateDeleteFlowlogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteFlowlogWithChan invokes the cbn.DeleteFlowlog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deleteflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteFlowlogWithChan(request *DeleteFlowlogRequest) (<-chan *DeleteFlowlogResponse, <-chan error) {
+	responseChan := make(chan *DeleteFlowlogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteFlowlog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteFlowlogWithCallback invokes the cbn.DeleteFlowlog API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deleteflowlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteFlowlogWithCallback(request *DeleteFlowlogRequest, callback func(response *DeleteFlowlogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteFlowlogResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteFlowlog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteFlowlogRequest is the request struct for api DeleteFlowlog
+type DeleteFlowlogRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogId            string           `position:"Query" name:"FlowLogId"`
+}
+
+// DeleteFlowlogResponse is the response struct for api DeleteFlowlog
+type DeleteFlowlogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   string `json:"Success" xml:"Success"`
+}
+
+// CreateDeleteFlowlogRequest creates a request to invoke DeleteFlowlog API
+func CreateDeleteFlowlogRequest() (request *DeleteFlowlogRequest) {
+	request = &DeleteFlowlogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteFlowlog", "Cbn", "openAPI")
+	return
+}
+
+// CreateDeleteFlowlogResponse creates a response to parse from DeleteFlowlog response
+func CreateDeleteFlowlogResponse() (response *DeleteFlowlogResponse) {
+	response = &DeleteFlowlogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 4
services/cbn/delete_route_service_in_cen.go

@@ -77,12 +77,13 @@ func (client *Client) DeleteRouteServiceInCenWithCallback(request *DeleteRouteSe
 type DeleteRouteServiceInCenRequest 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"`
+	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
 	Host                 string           `position:"Query" name:"Host"`
 	HostRegionId         string           `position:"Query" name:"HostRegionId"`
-	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	HostVpcId            string           `position:"Query" name:"HostVpcId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
@@ -97,7 +98,7 @@ func CreateDeleteRouteServiceInCenRequest() (request *DeleteRouteServiceInCenReq
 	request = &DeleteRouteServiceInCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteRouteServiceInCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteRouteServiceInCen", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
services/cbn/describe_cen_attached_child_instance_attribute.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeCenAttachedChildInstanceAttributeWithCallback(requ
 // DescribeCenAttachedChildInstanceAttributeRequest is the request struct for api DescribeCenAttachedChildInstanceAttribute
 type DescribeCenAttachedChildInstanceAttributeRequest 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"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	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"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
 }
 
 // DescribeCenAttachedChildInstanceAttributeResponse is the response struct for api DescribeCenAttachedChildInstanceAttribute
@@ -94,7 +94,7 @@ type DescribeCenAttachedChildInstanceAttributeResponse struct {
 	ChildInstanceId         string `json:"ChildInstanceId" xml:"ChildInstanceId"`
 	ChildInstanceType       string `json:"ChildInstanceType" xml:"ChildInstanceType"`
 	ChildInstanceRegionId   string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
-	ChildInstanceOwnerId    int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+	ChildInstanceOwnerId    int64  `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
 	Status                  string `json:"Status" xml:"Status"`
 	ChildInstanceName       string `json:"ChildInstanceName" xml:"ChildInstanceName"`
 	ChildInstanceAttachTime string `json:"ChildInstanceAttachTime" xml:"ChildInstanceAttachTime"`
@@ -105,7 +105,7 @@ func CreateDescribeCenAttachedChildInstanceAttributeRequest() (request *Describe
 	request = &DescribeCenAttachedChildInstanceAttributeRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenAttachedChildInstanceAttribute", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenAttachedChildInstanceAttribute", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
services/cbn/describe_cen_attached_child_instances.go

@@ -77,14 +77,14 @@ func (client *Client) DescribeCenAttachedChildInstancesWithCallback(request *Des
 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"`
+	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
-	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // DescribeCenAttachedChildInstancesResponse is the response struct for api DescribeCenAttachedChildInstances
@@ -102,7 +102,7 @@ func CreateDescribeCenAttachedChildInstancesRequest() (request *DescribeCenAttac
 	request = &DescribeCenAttachedChildInstancesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenAttachedChildInstances", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenAttachedChildInstances", "Cbn", "openAPI")
 	return
 }
 

+ 10 - 9
services/cbn/describe_cen_bandwidth_packages.go

@@ -76,14 +76,15 @@ 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"`
-	PageNumber           requests.Integer                      `position:"Query" name:"PageNumber"`
-	IsOrKey              requests.Boolean                      `position:"Query" name:"IsOrKey"`
+	ResourceOwnerId        requests.Integer                      `position:"Query" name:"ResourceOwnerId"`
+	IncludeReservationData requests.Boolean                      `position:"Query" name:"IncludeReservationData"`
+	PageNumber             requests.Integer                      `position:"Query" name:"PageNumber"`
+	IsOrKey                requests.Boolean                      `position:"Query" name:"IsOrKey"`
+	PageSize               requests.Integer                      `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount   string                                `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount           string                                `position:"Query" name:"OwnerAccount"`
+	OwnerId                requests.Integer                      `position:"Query" name:"OwnerId"`
+	Filter                 *[]DescribeCenBandwidthPackagesFilter `position:"Query" name:"Filter"  type:"Repeated"`
 }
 
 // DescribeCenBandwidthPackagesFilter is a repeated param struct in DescribeCenBandwidthPackagesRequest
@@ -107,7 +108,7 @@ func CreateDescribeCenBandwidthPackagesRequest() (request *DescribeCenBandwidthP
 	request = &DescribeCenBandwidthPackagesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenBandwidthPackages", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenBandwidthPackages", "Cbn", "openAPI")
 	return
 }
 

+ 117 - 0
services/cbn/describe_cen_child_instance_route_entries.go

@@ -0,0 +1,117 @@
+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"
+)
+
+// DescribeCenChildInstanceRouteEntries invokes the cbn.DescribeCenChildInstanceRouteEntries API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenchildinstancerouteentries.html
+func (client *Client) DescribeCenChildInstanceRouteEntries(request *DescribeCenChildInstanceRouteEntriesRequest) (response *DescribeCenChildInstanceRouteEntriesResponse, err error) {
+	response = CreateDescribeCenChildInstanceRouteEntriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenChildInstanceRouteEntriesWithChan invokes the cbn.DescribeCenChildInstanceRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenchildinstancerouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenChildInstanceRouteEntriesWithChan(request *DescribeCenChildInstanceRouteEntriesRequest) (<-chan *DescribeCenChildInstanceRouteEntriesResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenChildInstanceRouteEntriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenChildInstanceRouteEntries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenChildInstanceRouteEntriesWithCallback invokes the cbn.DescribeCenChildInstanceRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenchildinstancerouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenChildInstanceRouteEntriesWithCallback(request *DescribeCenChildInstanceRouteEntriesRequest, callback func(response *DescribeCenChildInstanceRouteEntriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenChildInstanceRouteEntriesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenChildInstanceRouteEntries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenChildInstanceRouteEntriesRequest is the request struct for api DescribeCenChildInstanceRouteEntries
+type DescribeCenChildInstanceRouteEntriesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                 string           `position:"Query" name:"CenId"`
+	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
+	Status                string           `position:"Query" name:"Status"`
+}
+
+// DescribeCenChildInstanceRouteEntriesResponse is the response struct for api DescribeCenChildInstanceRouteEntries
+type DescribeCenChildInstanceRouteEntriesResponse 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"`
+	CenRouteEntries CenRouteEntriesInDescribeCenChildInstanceRouteEntries `json:"CenRouteEntries" xml:"CenRouteEntries"`
+}
+
+// CreateDescribeCenChildInstanceRouteEntriesRequest creates a request to invoke DescribeCenChildInstanceRouteEntries API
+func CreateDescribeCenChildInstanceRouteEntriesRequest() (request *DescribeCenChildInstanceRouteEntriesRequest) {
+	request = &DescribeCenChildInstanceRouteEntriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenChildInstanceRouteEntries", "Cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenChildInstanceRouteEntriesResponse creates a response to parse from DescribeCenChildInstanceRouteEntries response
+func CreateDescribeCenChildInstanceRouteEntriesResponse() (response *DescribeCenChildInstanceRouteEntriesResponse) {
+	response = &DescribeCenChildInstanceRouteEntriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 6
services/cbn/describe_cen_geographic_span_remaining_bandwidth.go

@@ -76,22 +76,22 @@ 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"`
+	CenId                string           `position:"Query" name:"CenId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	GeographicRegionBId  string           `position:"Query" name:"GeographicRegionBId"`
 	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"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeCenGeographicSpanRemainingBandwidthResponse is the response struct for api DescribeCenGeographicSpanRemainingBandwidth
 type DescribeCenGeographicSpanRemainingBandwidthResponse struct {
 	*responses.BaseResponse
 	RequestId          string `json:"RequestId" xml:"RequestId"`
-	RemainingBandwidth int    `json:"RemainingBandwidth" xml:"RemainingBandwidth"`
+	RemainingBandwidth int64  `json:"RemainingBandwidth" xml:"RemainingBandwidth"`
 }
 
 // CreateDescribeCenGeographicSpanRemainingBandwidthRequest creates a request to invoke DescribeCenGeographicSpanRemainingBandwidth API
@@ -99,7 +99,7 @@ func CreateDescribeCenGeographicSpanRemainingBandwidthRequest() (request *Descri
 	request = &DescribeCenGeographicSpanRemainingBandwidthRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpanRemainingBandwidth", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpanRemainingBandwidth", "Cbn", "openAPI")
 	return
 }
 

+ 3 - 3
services/cbn/describe_cen_geographic_spans.go

@@ -77,12 +77,12 @@ func (client *Client) DescribeCenGeographicSpansWithCallback(request *DescribeCe
 type DescribeCenGeographicSpansRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	GeographicSpanId     string           `position:"Query" name:"GeographicSpanId"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	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
@@ -100,7 +100,7 @@ func CreateDescribeCenGeographicSpansRequest() (request *DescribeCenGeographicSp
 	request = &DescribeCenGeographicSpansRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpans", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpans", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
services/cbn/describe_cen_inter_region_bandwidth_limits.go

@@ -77,12 +77,12 @@ func (client *Client) DescribeCenInterRegionBandwidthLimitsWithCallback(request
 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"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeCenInterRegionBandwidthLimitsResponse is the response struct for api DescribeCenInterRegionBandwidthLimits
@@ -100,7 +100,7 @@ func CreateDescribeCenInterRegionBandwidthLimitsRequest() (request *DescribeCenI
 	request = &DescribeCenInterRegionBandwidthLimitsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenInterRegionBandwidthLimits", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenInterRegionBandwidthLimits", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
services/cbn/describe_cen_private_zone_routes.go

@@ -77,12 +77,12 @@ func (client *Client) DescribeCenPrivateZoneRoutesWithCallback(request *Describe
 type DescribeCenPrivateZoneRoutesRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	HostRegionId         string           `position:"Query" name:"HostRegionId"`
 	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	HostRegionId         string           `position:"Query" name:"HostRegionId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 }
 
 // DescribeCenPrivateZoneRoutesResponse is the response struct for api DescribeCenPrivateZoneRoutes
@@ -102,7 +102,7 @@ func CreateDescribeCenPrivateZoneRoutesRequest() (request *DescribeCenPrivateZon
 	request = &DescribeCenPrivateZoneRoutesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenPrivateZoneRoutes", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenPrivateZoneRoutes", "Cbn", "openAPI")
 	return
 }
 

+ 11 - 10
services/cbn/describe_cen_region_domain_route_entries.go

@@ -77,23 +77,24 @@ func (client *Client) DescribeCenRegionDomainRouteEntriesWithCallback(request *D
 type DescribeCenRegionDomainRouteEntriesRequest 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"`
-	CenRegionId          string           `position:"Query" name:"CenRegionId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	CenRegionId          string           `position:"Query" name:"CenRegionId"`
+	Status               string           `position:"Query" name:"Status"`
 }
 
 // DescribeCenRegionDomainRouteEntriesResponse is the response struct for api DescribeCenRegionDomainRouteEntries
 type DescribeCenRegionDomainRouteEntriesResponse 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"`
-	CenRouteEntries CenRouteEntries `json:"CenRouteEntries" xml:"CenRouteEntries"`
+	RequestId       string                                               `json:"RequestId" xml:"RequestId"`
+	PageNumber      int                                                  `json:"PageNumber" xml:"PageNumber"`
+	TotalCount      int                                                  `json:"TotalCount" xml:"TotalCount"`
+	PageSize        int                                                  `json:"PageSize" xml:"PageSize"`
+	CenRouteEntries CenRouteEntriesInDescribeCenRegionDomainRouteEntries `json:"CenRouteEntries" xml:"CenRouteEntries"`
 }
 
 // CreateDescribeCenRegionDomainRouteEntriesRequest creates a request to invoke DescribeCenRegionDomainRouteEntries API
@@ -101,7 +102,7 @@ func CreateDescribeCenRegionDomainRouteEntriesRequest() (request *DescribeCenReg
 	request = &DescribeCenRegionDomainRouteEntriesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenRegionDomainRouteEntries", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenRegionDomainRouteEntries", "Cbn", "openAPI")
 	return
 }
 

+ 116 - 0
services/cbn/describe_cen_route_maps.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"
+)
+
+// DescribeCenRouteMaps invokes the cbn.DescribeCenRouteMaps API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenroutemaps.html
+func (client *Client) DescribeCenRouteMaps(request *DescribeCenRouteMapsRequest) (response *DescribeCenRouteMapsResponse, err error) {
+	response = CreateDescribeCenRouteMapsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenRouteMapsWithChan invokes the cbn.DescribeCenRouteMaps API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenroutemaps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenRouteMapsWithChan(request *DescribeCenRouteMapsRequest) (<-chan *DescribeCenRouteMapsResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenRouteMapsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenRouteMaps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenRouteMapsWithCallback invokes the cbn.DescribeCenRouteMaps API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenroutemaps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenRouteMapsWithCallback(request *DescribeCenRouteMapsRequest, callback func(response *DescribeCenRouteMapsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenRouteMapsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenRouteMaps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenRouteMapsRequest is the request struct for api DescribeCenRouteMaps
+type DescribeCenRouteMapsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                string           `position:"Query" name:"CenId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	TransmitDirection    string           `position:"Query" name:"TransmitDirection"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	RouteMapId           string           `position:"Query" name:"RouteMapId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	CenRegionId          string           `position:"Query" name:"CenRegionId"`
+}
+
+// DescribeCenRouteMapsResponse is the response struct for api DescribeCenRouteMaps
+type DescribeCenRouteMapsResponse 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"`
+	RouteMaps  RouteMaps `json:"RouteMaps" xml:"RouteMaps"`
+}
+
+// CreateDescribeCenRouteMapsRequest creates a request to invoke DescribeCenRouteMaps API
+func CreateDescribeCenRouteMapsRequest() (request *DescribeCenRouteMapsRequest) {
+	request = &DescribeCenRouteMapsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenRouteMaps", "Cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenRouteMapsResponse creates a response to parse from DescribeCenRouteMaps response
+func CreateDescribeCenRouteMapsResponse() (response *DescribeCenRouteMapsResponse) {
+	response = &DescribeCenRouteMapsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 6
services/cbn/describe_cen_vbr_health_check.go

@@ -77,15 +77,15 @@ func (client *Client) DescribeCenVbrHealthCheckWithCallback(request *DescribeCen
 type DescribeCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
-	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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 }
 
 // DescribeCenVbrHealthCheckResponse is the response struct for api DescribeCenVbrHealthCheck
@@ -103,7 +103,7 @@ func CreateDescribeCenVbrHealthCheckRequest() (request *DescribeCenVbrHealthChec
 	request = &DescribeCenVbrHealthCheckRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenVbrHealthCheck", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenVbrHealthCheck", "Cbn", "openAPI")
 	return
 }
 

+ 11 - 11
services/cbn/describe_cens.go

@@ -76,20 +76,14 @@ 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"`
+	PageNumber           requests.Integer      `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
 	Tag                  *[]DescribeCensTag    `position:"Query" name:"Tag"  type:"Repeated"`
+	ResourceOwnerAccount string                `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer      `position:"Query" name:"PageNumber"`
-}
-
-// DescribeCensFilter is a repeated param struct in DescribeCensRequest
-type DescribeCensFilter struct {
-	Value *[]string `name:"Value" type:"Repeated"`
-	Key   string    `name:"Key"`
+	Filter               *[]DescribeCensFilter `position:"Query" name:"Filter"  type:"Repeated"`
 }
 
 // DescribeCensTag is a repeated param struct in DescribeCensRequest
@@ -98,6 +92,12 @@ type DescribeCensTag struct {
 	Key   string `name:"Key"`
 }
 
+// DescribeCensFilter is a repeated param struct in DescribeCensRequest
+type DescribeCensFilter struct {
+	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
+}
+
 // DescribeCensResponse is the response struct for api DescribeCens
 type DescribeCensResponse struct {
 	*responses.BaseResponse
@@ -113,7 +113,7 @@ func CreateDescribeCensRequest() (request *DescribeCensRequest) {
 	request = &DescribeCensRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCens", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCens", "Cbn", "openAPI")
 	return
 }
 

+ 1 - 1
services/cbn/describe_child_instance_regions.go

@@ -95,7 +95,7 @@ func CreateDescribeChildInstanceRegionsRequest() (request *DescribeChildInstance
 	request = &DescribeChildInstanceRegionsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeChildInstanceRegions", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeChildInstanceRegions", "Cbn", "openAPI")
 	return
 }
 

+ 121 - 0
services/cbn/describe_flowlogs.go

@@ -0,0 +1,121 @@
+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"
+)
+
+// DescribeFlowlogs invokes the cbn.DescribeFlowlogs API synchronously
+// api document: https://help.aliyun.com/api/cbn/describeflowlogs.html
+func (client *Client) DescribeFlowlogs(request *DescribeFlowlogsRequest) (response *DescribeFlowlogsResponse, err error) {
+	response = CreateDescribeFlowlogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeFlowlogsWithChan invokes the cbn.DescribeFlowlogs API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describeflowlogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeFlowlogsWithChan(request *DescribeFlowlogsRequest) (<-chan *DescribeFlowlogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeFlowlogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeFlowlogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeFlowlogsWithCallback invokes the cbn.DescribeFlowlogs API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describeflowlogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeFlowlogsWithCallback(request *DescribeFlowlogsRequest, callback func(response *DescribeFlowlogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeFlowlogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeFlowlogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeFlowlogsRequest is the request struct for api DescribeFlowlogs
+type DescribeFlowlogsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	Description          string           `position:"Query" name:"Description"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ProjectName          string           `position:"Query" name:"ProjectName"`
+	LogStoreName         string           `position:"Query" name:"LogStoreName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogId            string           `position:"Query" name:"FlowLogId"`
+	FlowLogName          string           `position:"Query" name:"FlowLogName"`
+	Status               string           `position:"Query" name:"Status"`
+}
+
+// DescribeFlowlogsResponse is the response struct for api DescribeFlowlogs
+type DescribeFlowlogsResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	Success    string   `json:"Success" xml:"Success"`
+	TotalCount string   `json:"TotalCount" xml:"TotalCount"`
+	PageNumber string   `json:"PageNumber" xml:"PageNumber"`
+	PageSize   string   `json:"PageSize" xml:"PageSize"`
+	FlowLogs   FlowLogs `json:"FlowLogs" xml:"FlowLogs"`
+}
+
+// CreateDescribeFlowlogsRequest creates a request to invoke DescribeFlowlogs API
+func CreateDescribeFlowlogsRequest() (request *DescribeFlowlogsRequest) {
+	request = &DescribeFlowlogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeFlowlogs", "Cbn", "openAPI")
+	return
+}
+
+// CreateDescribeFlowlogsResponse creates a response to parse from DescribeFlowlogs response
+func CreateDescribeFlowlogsResponse() (response *DescribeFlowlogsResponse) {
+	response = &DescribeFlowlogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cbn/describe_geographic_region_membership.go

@@ -77,11 +77,11 @@ func (client *Client) DescribeGeographicRegionMembershipWithCallback(request *De
 type DescribeGeographicRegionMembershipRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	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"`
 	GeographicRegionId   string           `position:"Query" name:"GeographicRegionId"`
 }
 
@@ -100,7 +100,7 @@ func CreateDescribeGeographicRegionMembershipRequest() (request *DescribeGeograp
 	request = &DescribeGeographicRegionMembershipRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeGeographicRegionMembership", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeGeographicRegionMembership", "Cbn", "openAPI")
 	return
 }
 

+ 3 - 3
services/cbn/describe_grant_rules_to_cen.go

@@ -77,11 +77,11 @@ func (client *Client) DescribeGrantRulesToCenWithCallback(request *DescribeGrant
 type DescribeGrantRulesToCenRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+	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"`
 }
 
 // DescribeGrantRulesToCenResponse is the response struct for api DescribeGrantRulesToCen
@@ -96,7 +96,7 @@ func CreateDescribeGrantRulesToCenRequest() (request *DescribeGrantRulesToCenReq
 	request = &DescribeGrantRulesToCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeGrantRulesToCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeGrantRulesToCen", "Cbn", "openAPI")
 	return
 }
 

+ 6 - 6
services/cbn/describe_published_route_entries.go

@@ -76,16 +76,16 @@ func (client *Client) DescribePublishedRouteEntriesWithCallback(request *Describ
 // 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"`
+	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize                  requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	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
@@ -103,7 +103,7 @@ func CreateDescribePublishedRouteEntriesRequest() (request *DescribePublishedRou
 	request = &DescribePublishedRouteEntriesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribePublishedRouteEntries", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribePublishedRouteEntries", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
services/cbn/describe_route_conflict.go

@@ -76,17 +76,17 @@ func (client *Client) DescribeRouteConflictWithCallback(request *DescribeRouteCo
 // DescribeRouteConflictRequest is the request struct for api DescribeRouteConflict
 type DescribeRouteConflictRequest struct {
 	*requests.RpcRequest
-	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize                  requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 	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"`
 	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
-	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
-	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // DescribeRouteConflictResponse is the response struct for api DescribeRouteConflict
@@ -104,7 +104,7 @@ func CreateDescribeRouteConflictRequest() (request *DescribeRouteConflictRequest
 	request = &DescribeRouteConflictRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteConflict", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteConflict", "Cbn", "openAPI")
 	return
 }
 

+ 6 - 5
services/cbn/describe_route_services_in_cen.go

@@ -77,15 +77,16 @@ func (client *Client) DescribeRouteServicesInCenWithCallback(request *DescribeRo
 type DescribeRouteServicesInCenRequest 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"`
+	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	Host                 string           `position:"Query" name:"Host"`
 	HostRegionId         string           `position:"Query" name:"HostRegionId"`
-	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	HostVpcId            string           `position:"Query" name:"HostVpcId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeRouteServicesInCenResponse is the response struct for api DescribeRouteServicesInCen
@@ -103,7 +104,7 @@ func CreateDescribeRouteServicesInCenRequest() (request *DescribeRouteServicesIn
 	request = &DescribeRouteServicesInCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteServicesInCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteServicesInCen", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
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
-	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"`
-	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	CenOwnerId            requests.Integer `position:"Query" name:"CenOwnerId"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
 	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
 	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
-	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
 }
 
 // DetachCenChildInstanceResponse is the response struct for api DetachCenChildInstance
@@ -99,7 +99,7 @@ func CreateDetachCenChildInstanceRequest() (request *DetachCenChildInstanceReque
 	request = &DetachCenChildInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DetachCenChildInstance", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DetachCenChildInstance", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
services/cbn/disable_cen_vbr_health_check.go

@@ -77,13 +77,13 @@ func (client *Client) DisableCenVbrHealthCheckWithCallback(request *DisableCenVb
 type DisableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	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"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 }
 
 // DisableCenVbrHealthCheckResponse is the response struct for api DisableCenVbrHealthCheck
@@ -97,7 +97,7 @@ func CreateDisableCenVbrHealthCheckRequest() (request *DisableCenVbrHealthCheckR
 	request = &DisableCenVbrHealthCheckRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "DisableCenVbrHealthCheck", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DisableCenVbrHealthCheck", "Cbn", "openAPI")
 	return
 }
 

+ 6 - 6
services/cbn/enable_cen_vbr_health_check.go

@@ -77,15 +77,15 @@ func (client *Client) EnableCenVbrHealthCheckWithCallback(request *EnableCenVbrH
 type EnableCenVbrHealthCheckRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CenId                string           `position:"Query" name:"CenId"`
-	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
+	HealthCheckTargetIp  string           `position:"Query" name:"HealthCheckTargetIp"`
 	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	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"`
+	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
 }
 
 // EnableCenVbrHealthCheckResponse is the response struct for api EnableCenVbrHealthCheck
@@ -99,7 +99,7 @@ func CreateEnableCenVbrHealthCheckRequest() (request *EnableCenVbrHealthCheckReq
 	request = &EnableCenVbrHealthCheckRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "EnableCenVbrHealthCheck", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "EnableCenVbrHealthCheck", "Cbn", "openAPI")
 	return
 }
 

+ 75 - 0
services/cbn/endpoint.go

@@ -0,0 +1,75 @@
+package cbn
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{
+			"cn-shanghai-internal-test-1": "cbn.aliyuncs.com",
+			"cn-shenzhen-su18-b01":        "cbn.aliyuncs.com",
+			"cn-beijing":                  "cbn.aliyuncs.com",
+			"cn-shanghai-inner":           "cbn.aliyuncs.com",
+			"cn-hangzhou-internal-prod-1": "cbn.aliyuncs.com",
+			"cn-north-2-gov-1":            "cbn.aliyuncs.com",
+			"cn-yushanfang":               "cbn.aliyuncs.com",
+			"cn-qingdao-nebula":           "cbn.aliyuncs.com",
+			"cn-beijing-finance-pop":      "cbn.aliyuncs.com",
+			"cn-wuhan":                    "cbn.aliyuncs.com",
+			"cn-zhangjiakou":              "cbn.aliyuncs.com",
+			"us-west-1":                   "cbn.aliyuncs.com",
+			"rus-west-1-pop":              "cbn.aliyuncs.com",
+			"cn-shanghai-et15-b01":        "cbn.aliyuncs.com",
+			"cn-hangzhou-bj-b01":          "cbn.aliyuncs.com",
+			"cn-zhangbei-na61-b01":        "cbn.aliyuncs.com",
+			"ap-northeast-1":              "cbn.aliyuncs.com",
+			"cn-shanghai-et2-b01":         "cbn.aliyuncs.com",
+			"ap-southeast-1":              "cbn.aliyuncs.com",
+			"ap-southeast-2":              "cbn.aliyuncs.com",
+			"ap-southeast-3":              "cbn.aliyuncs.com",
+			"ap-southeast-5":              "cbn.aliyuncs.com",
+			"us-east-1":                   "cbn.aliyuncs.com",
+			"cn-shenzhen-inner":           "cbn.aliyuncs.com",
+			"cn-zhangjiakou-na62-a01":     "cbn.aliyuncs.com",
+			"cn-beijing-gov-1":            "cbn.aliyuncs.com",
+			"ap-south-1":                  "cbn.aliyuncs.com",
+			"cn-shenzhen-st4-d01":         "cbn.aliyuncs.com",
+			"cn-haidian-cm12-c01":         "cbn.aliyuncs.com",
+			"cn-qingdao":                  "cbn.aliyuncs.com",
+			"cn-hongkong-finance-pop":     "cbn.aliyuncs.com",
+			"cn-shanghai":                 "cbn.aliyuncs.com",
+			"cn-shanghai-finance-1":       "cbn.aliyuncs.com",
+			"cn-hongkong":                 "cbn.aliyuncs.com",
+			"eu-central-1":                "cbn.aliyuncs.com",
+			"cn-shenzhen":                 "cbn.aliyuncs.com",
+			"cn-zhengzhou-nebula-1":       "cbn.aliyuncs.com",
+			"eu-west-1":                   "cbn.aliyuncs.com",
+			"cn-hangzhou-internal-test-1": "cbn.aliyuncs.com",
+			"eu-west-1-oxs":               "cbn.aliyuncs.com",
+			"cn-beijing-finance-1":        "cbn.aliyuncs.com",
+			"cn-hangzhou-internal-test-3": "cbn.aliyuncs.com",
+			"cn-shenzhen-finance-1":       "cbn.aliyuncs.com",
+			"cn-hangzhou-internal-test-2": "cbn.aliyuncs.com",
+			"me-east-1":                   "cbn.aliyuncs.com",
+			"cn-chengdu":                  "cbn.aliyuncs.com",
+			"cn-hangzhou-test-306":        "cbn.aliyuncs.com",
+			"cn-hangzhou-finance":         "cbn.aliyuncs.com",
+			"cn-beijing-nu16-b01":         "cbn.aliyuncs.com",
+			"cn-edge-1":                   "cbn.aliyuncs.com",
+			"cn-huhehaote":                "cbn.aliyuncs.com",
+			"cn-fujian":                   "cbn.aliyuncs.com",
+			"ap-northeast-2-pop":          "cbn.aliyuncs.com",
+			"cn-hangzhou":                 "cbn.aliyuncs.com",
+		}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 119 - 0
services/cbn/list_tag_resources.go

@@ -0,0 +1,119 @@
+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"
+)
+
+// ListTagResources invokes the cbn.ListTagResources API synchronously
+// api document: https://help.aliyun.com/api/cbn/listtagresources.html
+func (client *Client) ListTagResources(request *ListTagResourcesRequest) (response *ListTagResourcesResponse, err error) {
+	response = CreateListTagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTagResourcesWithChan invokes the cbn.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithChan(request *ListTagResourcesRequest) (<-chan *ListTagResourcesResponse, <-chan error) {
+	responseChan := make(chan *ListTagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTagResourcesWithCallback invokes the cbn.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithCallback(request *ListTagResourcesRequest, callback func(response *ListTagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTagResourcesRequest is the request struct for api ListTagResources
+type ListTagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer       `position:"Query" name:"ResourceOwnerId"`
+	NextToken            string                 `position:"Query" name:"NextToken"`
+	PageSize             requests.Integer       `position:"Query" name:"PageSize"`
+	Tag                  *[]ListTagResourcesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	ResourceId           *[]string              `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceOwnerAccount string                 `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                 `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer       `position:"Query" name:"OwnerId"`
+	ResourceType         string                 `position:"Query" name:"ResourceType"`
+}
+
+// ListTagResourcesTag is a repeated param struct in ListTagResourcesRequest
+type ListTagResourcesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// ListTagResourcesResponse is the response struct for api ListTagResources
+type ListTagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	NextToken    string       `json:"NextToken" xml:"NextToken"`
+	TagResources TagResources `json:"TagResources" xml:"TagResources"`
+}
+
+// CreateListTagResourcesRequest creates a request to invoke ListTagResources API
+func CreateListTagResourcesRequest() (request *ListTagResourcesRequest) {
+	request = &ListTagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ListTagResources", "Cbn", "openAPI")
+	return
+}
+
+// CreateListTagResourcesResponse creates a response to parse from ListTagResources response
+func CreateListTagResourcesResponse() (response *ListTagResourcesResponse) {
+	response = &ListTagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/cbn/modify_cen_attribute.go

@@ -76,14 +76,14 @@ func (client *Client) ModifyCenAttributeWithCallback(request *ModifyCenAttribute
 // ModifyCenAttributeRequest is the request struct for api ModifyCenAttribute
 type ModifyCenAttributeRequest struct {
 	*requests.RpcRequest
-	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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ProtectionLevel      string           `position:"Query" name:"ProtectionLevel"`
+	Name                 string           `position:"Query" name:"Name"`
 }
 
 // ModifyCenAttributeResponse is the response struct for api ModifyCenAttribute
@@ -97,7 +97,7 @@ func CreateModifyCenAttributeRequest() (request *ModifyCenAttributeRequest) {
 	request = &ModifyCenAttributeRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenAttribute", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenAttribute", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
services/cbn/modify_cen_bandwidth_package_attribute.go

@@ -77,12 +77,12 @@ func (client *Client) ModifyCenBandwidthPackageAttributeWithCallback(request *Mo
 type ModifyCenBandwidthPackageAttributeRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Description           string           `position:"Query" name:"Description"`
 	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"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+	Name                  string           `position:"Query" name:"Name"`
 }
 
 // ModifyCenBandwidthPackageAttributeResponse is the response struct for api ModifyCenBandwidthPackageAttribute
@@ -96,7 +96,7 @@ func CreateModifyCenBandwidthPackageAttributeRequest() (request *ModifyCenBandwi
 	request = &ModifyCenBandwidthPackageAttributeRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenBandwidthPackageAttribute", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenBandwidthPackageAttribute", "Cbn", "openAPI")
 	return
 }
 

+ 2 - 2
services/cbn/modify_cen_bandwidth_package_spec.go

@@ -79,9 +79,9 @@ type ModifyCenBandwidthPackageSpecRequest struct {
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	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"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 }
 
 // ModifyCenBandwidthPackageSpecResponse is the response struct for api ModifyCenBandwidthPackageSpec
@@ -95,7 +95,7 @@ func CreateModifyCenBandwidthPackageSpecRequest() (request *ModifyCenBandwidthPa
 	request = &ModifyCenBandwidthPackageSpecRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenBandwidthPackageSpec", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenBandwidthPackageSpec", "Cbn", "openAPI")
 	return
 }
 

+ 133 - 0
services/cbn/modify_cen_route_map.go

@@ -0,0 +1,133 @@
+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"
+)
+
+// ModifyCenRouteMap invokes the cbn.ModifyCenRouteMap API synchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenroutemap.html
+func (client *Client) ModifyCenRouteMap(request *ModifyCenRouteMapRequest) (response *ModifyCenRouteMapResponse, err error) {
+	response = CreateModifyCenRouteMapResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyCenRouteMapWithChan invokes the cbn.ModifyCenRouteMap API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenroutemap.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCenRouteMapWithChan(request *ModifyCenRouteMapRequest) (<-chan *ModifyCenRouteMapResponse, <-chan error) {
+	responseChan := make(chan *ModifyCenRouteMapResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCenRouteMap(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyCenRouteMapWithCallback invokes the cbn.ModifyCenRouteMap API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenroutemap.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCenRouteMapWithCallback(request *ModifyCenRouteMapRequest, callback func(response *ModifyCenRouteMapResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCenRouteMapResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCenRouteMap(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyCenRouteMapRequest is the request struct for api ModifyCenRouteMap
+type ModifyCenRouteMapRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId                    requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CommunityMatchMode                 string           `position:"Query" name:"CommunityMatchMode"`
+	MapResult                          string           `position:"Query" name:"MapResult"`
+	NextPriority                       requests.Integer `position:"Query" name:"NextPriority"`
+	DestinationCidrBlocks              *[]string        `position:"Query" name:"DestinationCidrBlocks"  type:"Repeated"`
+	SourceInstanceIds                  *[]string        `position:"Query" name:"SourceInstanceIds"  type:"Repeated"`
+	SourceRegionIds                    *[]string        `position:"Query" name:"SourceRegionIds"  type:"Repeated"`
+	MatchAsns                          *[]string        `position:"Query" name:"MatchAsns"  type:"Repeated"`
+	Preference                         requests.Integer `position:"Query" name:"Preference"`
+	OwnerId                            requests.Integer `position:"Query" name:"OwnerId"`
+	Priority                           requests.Integer `position:"Query" name:"Priority"`
+	DestinationChildInstanceTypes      *[]string        `position:"Query" name:"DestinationChildInstanceTypes"  type:"Repeated"`
+	SourceRouteTableIds                *[]string        `position:"Query" name:"SourceRouteTableIds"  type:"Repeated"`
+	SourceChildInstanceTypes           *[]string        `position:"Query" name:"SourceChildInstanceTypes"  type:"Repeated"`
+	CommunityOperateMode               string           `position:"Query" name:"CommunityOperateMode"`
+	OperateCommunitySet                *[]string        `position:"Query" name:"OperateCommunitySet"  type:"Repeated"`
+	RouteTypes                         *[]string        `position:"Query" name:"RouteTypes"  type:"Repeated"`
+	CidrMatchMode                      string           `position:"Query" name:"CidrMatchMode"`
+	CenId                              string           `position:"Query" name:"CenId"`
+	Description                        string           `position:"Query" name:"Description"`
+	SourceInstanceIdsReverseMatch      requests.Boolean `position:"Query" name:"SourceInstanceIdsReverseMatch"`
+	DestinationRouteTableIds           *[]string        `position:"Query" name:"DestinationRouteTableIds"  type:"Repeated"`
+	DestinationInstanceIds             *[]string        `position:"Query" name:"DestinationInstanceIds"  type:"Repeated"`
+	ResourceOwnerAccount               string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount                       string           `position:"Query" name:"OwnerAccount"`
+	DestinationInstanceIdsReverseMatch requests.Boolean `position:"Query" name:"DestinationInstanceIdsReverseMatch"`
+	RouteMapId                         string           `position:"Query" name:"RouteMapId"`
+	PrependAsPath                      *[]string        `position:"Query" name:"PrependAsPath"  type:"Repeated"`
+	AsPathMatchMode                    string           `position:"Query" name:"AsPathMatchMode"`
+	MatchCommunitySet                  *[]string        `position:"Query" name:"MatchCommunitySet"  type:"Repeated"`
+	CenRegionId                        string           `position:"Query" name:"CenRegionId"`
+}
+
+// ModifyCenRouteMapResponse is the response struct for api ModifyCenRouteMap
+type ModifyCenRouteMapResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyCenRouteMapRequest creates a request to invoke ModifyCenRouteMap API
+func CreateModifyCenRouteMapRequest() (request *ModifyCenRouteMapRequest) {
+	request = &ModifyCenRouteMapRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenRouteMap", "Cbn", "openAPI")
+	return
+}
+
+// CreateModifyCenRouteMapResponse creates a response to parse from ModifyCenRouteMap response
+func CreateModifyCenRouteMapResponse() (response *ModifyCenRouteMapResponse) {
+	response = &ModifyCenRouteMapResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cbn/modify_flow_log_attribute.go

@@ -0,0 +1,112 @@
+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"
+)
+
+// ModifyFlowLogAttribute invokes the cbn.ModifyFlowLogAttribute API synchronously
+// api document: https://help.aliyun.com/api/cbn/modifyflowlogattribute.html
+func (client *Client) ModifyFlowLogAttribute(request *ModifyFlowLogAttributeRequest) (response *ModifyFlowLogAttributeResponse, err error) {
+	response = CreateModifyFlowLogAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyFlowLogAttributeWithChan invokes the cbn.ModifyFlowLogAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifyflowlogattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyFlowLogAttributeWithChan(request *ModifyFlowLogAttributeRequest) (<-chan *ModifyFlowLogAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyFlowLogAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyFlowLogAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyFlowLogAttributeWithCallback invokes the cbn.ModifyFlowLogAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifyflowlogattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyFlowLogAttributeWithCallback(request *ModifyFlowLogAttributeRequest, callback func(response *ModifyFlowLogAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyFlowLogAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyFlowLogAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyFlowLogAttributeRequest is the request struct for api ModifyFlowLogAttribute
+type ModifyFlowLogAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	CenId                string           `position:"Query" name:"CenId"`
+	Description          string           `position:"Query" name:"Description"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	FlowLogId            string           `position:"Query" name:"FlowLogId"`
+	FlowLogName          string           `position:"Query" name:"FlowLogName"`
+}
+
+// ModifyFlowLogAttributeResponse is the response struct for api ModifyFlowLogAttribute
+type ModifyFlowLogAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   string `json:"Success" xml:"Success"`
+}
+
+// CreateModifyFlowLogAttributeRequest creates a request to invoke ModifyFlowLogAttribute API
+func CreateModifyFlowLogAttributeRequest() (request *ModifyFlowLogAttributeRequest) {
+	request = &ModifyFlowLogAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyFlowLogAttribute", "Cbn", "openAPI")
+	return
+}
+
+// CreateModifyFlowLogAttributeResponse creates a response to parse from ModifyFlowLogAttribute response
+func CreateModifyFlowLogAttributeResponse() (response *ModifyFlowLogAttributeResponse) {
+	response = &ModifyFlowLogAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/cbn/publish_route_entries.go

@@ -76,14 +76,14 @@ func (client *Client) PublishRouteEntriesWithCallback(request *PublishRouteEntri
 // 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"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
 	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
-	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // PublishRouteEntriesResponse is the response struct for api PublishRouteEntries
@@ -97,7 +97,7 @@ func CreatePublishRouteEntriesRequest() (request *PublishRouteEntriesRequest) {
 	request = &PublishRouteEntriesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "PublishRouteEntries", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "PublishRouteEntries", "Cbn", "openAPI")
 	return
 }
 

+ 6 - 5
services/cbn/resolve_and_route_service_in_cen.go

@@ -77,15 +77,16 @@ func (client *Client) ResolveAndRouteServiceInCenWithCallback(request *ResolveAn
 type ResolveAndRouteServiceInCenRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	CenId                string           `position:"Query" name:"CenId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	UpdateInterval       requests.Integer `position:"Query" name:"UpdateInterval"`
 	Host                 string           `position:"Query" name:"Host"`
 	HostRegionId         string           `position:"Query" name:"HostRegionId"`
-	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	HostVpcId            string           `position:"Query" name:"HostVpcId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	UpdateInterval       requests.Integer `position:"Query" name:"UpdateInterval"`
+	AccessRegionIds      *[]string        `position:"Query" name:"AccessRegionIds"  type:"Repeated"`
 }
 
 // ResolveAndRouteServiceInCenResponse is the response struct for api ResolveAndRouteServiceInCen
@@ -99,7 +100,7 @@ func CreateResolveAndRouteServiceInCenRequest() (request *ResolveAndRouteService
 	request = &ResolveAndRouteServiceInCenRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "ResolveAndRouteServiceInCen", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ResolveAndRouteServiceInCen", "Cbn", "openAPI")
 	return
 }
 

+ 5 - 5
services/cbn/route_private_zone_in_cen_to_vpc.go

@@ -77,13 +77,13 @@ func (client *Client) RoutePrivateZoneInCenToVpcWithCallback(request *RoutePriva
 type RoutePrivateZoneInCenToVpcRequest 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"`
-	HostRegionId         string           `position:"Query" name:"HostRegionId"`
 	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	HostRegionId         string           `position:"Query" name:"HostRegionId"`
 	HostVpcId            string           `position:"Query" name:"HostVpcId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // RoutePrivateZoneInCenToVpcResponse is the response struct for api RoutePrivateZoneInCenToVpc
@@ -97,7 +97,7 @@ func CreateRoutePrivateZoneInCenToVpcRequest() (request *RoutePrivateZoneInCenTo
 	request = &RoutePrivateZoneInCenToVpcRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "RoutePrivateZoneInCenToVpc", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "RoutePrivateZoneInCenToVpc", "Cbn", "openAPI")
 	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
-	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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	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"`
+	LocalRegionId        string           `position:"Query" name:"LocalRegionId"`
+	BandwidthLimit       requests.Integer `position:"Query" name:"BandwidthLimit"`
 }
 
 // SetCenInterRegionBandwidthLimitResponse is the response struct for api SetCenInterRegionBandwidthLimit
@@ -97,7 +97,7 @@ func CreateSetCenInterRegionBandwidthLimitRequest() (request *SetCenInterRegionB
 	request = &SetCenInterRegionBandwidthLimitRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "SetCenInterRegionBandwidthLimit", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "SetCenInterRegionBandwidthLimit", "Cbn", "openAPI")
 	return
 }
 

+ 21 - 0
services/cbn/struct_as_paths_in_describe_cen_child_instance_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.
+
+// AsPathsInDescribeCenChildInstanceRouteEntries is a nested struct in cbn response
+type AsPathsInDescribeCenChildInstanceRouteEntries struct {
+	AsPath []string `json:"AsPath" xml:"AsPath"`
+}

+ 21 - 0
services/cbn/struct_as_paths_in_describe_cen_region_domain_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.
+
+// AsPathsInDescribeCenRegionDomainRouteEntries is a nested struct in cbn response
+type AsPathsInDescribeCenRegionDomainRouteEntries struct {
+	AsPath []string `json:"AsPath" xml:"AsPath"`
+}

+ 22 - 14
services/cbn/struct_cen_bandwidth_package.go

@@ -17,18 +17,26 @@ package cbn
 
 // CenBandwidthPackage is a nested struct in cbn response
 type CenBandwidthPackage struct {
-	CenBandwidthPackageId      string `json:"CenBandwidthPackageId" xml:"CenBandwidthPackageId"`
-	Name                       string `json:"Name" xml:"Name"`
-	Description                string `json:"Description" xml:"Description"`
-	Bandwidth                  int    `json:"Bandwidth" xml:"Bandwidth"`
-	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"`
-	Status                     string `json:"Status" xml:"Status"`
-	IsCrossBorder              bool   `json:"IsCrossBorder" xml:"IsCrossBorder"`
-	CenIds                     CenIds `json:"CenIds" xml:"CenIds"`
+	CenBandwidthPackageId           string                          `json:"CenBandwidthPackageId" xml:"CenBandwidthPackageId"`
+	Name                            string                          `json:"Name" xml:"Name"`
+	Description                     string                          `json:"Description" xml:"Description"`
+	Bandwidth                       int64                           `json:"Bandwidth" xml:"Bandwidth"`
+	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"`
+	Status                          string                          `json:"Status" xml:"Status"`
+	IsCrossBorder                   bool                            `json:"IsCrossBorder" xml:"IsCrossBorder"`
+	TypeFor95                       string                          `json:"TypeFor95" xml:"TypeFor95"`
+	Ratio                           string                          `json:"Ratio" xml:"Ratio"`
+	HasReservationData              string                          `json:"HasReservationData" xml:"HasReservationData"`
+	ReservationBandwidth            string                          `json:"ReservationBandwidth" xml:"ReservationBandwidth"`
+	ReservationInternetChargeType   string                          `json:"ReservationInternetChargeType" xml:"ReservationInternetChargeType"`
+	ReservationActiveTime           string                          `json:"ReservationActiveTime" xml:"ReservationActiveTime"`
+	ReservationOrderType            string                          `json:"ReservationOrderType" xml:"ReservationOrderType"`
+	CenIds                          CenIds                          `json:"CenIds" xml:"CenIds"`
+	OrginInterRegionBandwidthLimits OrginInterRegionBandwidthLimits `json:"OrginInterRegionBandwidthLimits" xml:"OrginInterRegionBandwidthLimits"`
 }

+ 1 - 1
services/cbn/struct_cen_inter_region_bandwidth_limit.go

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

+ 22 - 0
services/cbn/struct_cen_out_route_map_record.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.
+
+// CenOutRouteMapRecord is a nested struct in cbn response
+type CenOutRouteMapRecord struct {
+	RegionId   string `json:"RegionId" xml:"RegionId"`
+	RouteMapId string `json:"RouteMapId" xml:"RouteMapId"`
+}

+ 21 - 0
services/cbn/struct_cen_out_route_map_records.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.
+
+// CenOutRouteMapRecords is a nested struct in cbn response
+type CenOutRouteMapRecords struct {
+	CenOutRouteMapRecord []CenOutRouteMapRecord `json:"CenOutRouteMapRecord" xml:"CenOutRouteMapRecord"`
+}

+ 21 - 0
services/cbn/struct_cen_route_entries_in_describe_cen_child_instance_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.
+
+// CenRouteEntriesInDescribeCenChildInstanceRouteEntries is a nested struct in cbn response
+type CenRouteEntriesInDescribeCenChildInstanceRouteEntries struct {
+	CenRouteEntry []CenRouteEntry `json:"CenRouteEntry" xml:"CenRouteEntry"`
+}

+ 2 - 2
services/cbn/struct_cen_route_entries.go → services/cbn/struct_cen_route_entries_in_describe_cen_region_domain_route_entries.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.
 
-// CenRouteEntries is a nested struct in cbn response
-type CenRouteEntries struct {
+// CenRouteEntriesInDescribeCenRegionDomainRouteEntries is a nested struct in cbn response
+type CenRouteEntriesInDescribeCenRegionDomainRouteEntries struct {
 	CenRouteEntry []CenRouteEntry `json:"CenRouteEntry" xml:"CenRouteEntry"`
 }

+ 16 - 5
services/cbn/struct_cen_route_entry.go

@@ -17,9 +17,20 @@ package cbn
 
 // CenRouteEntry is a nested struct in cbn response
 type CenRouteEntry struct {
-	DestinationCidrBlock string `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
-	Type                 string `json:"Type" xml:"Type"`
-	NextHopInstanceId    string `json:"NextHopInstanceId" xml:"NextHopInstanceId"`
-	NextHopType          string `json:"NextHopType" xml:"NextHopType"`
-	NextHopRegionId      string `json:"NextHopRegionId" xml:"NextHopRegionId"`
+	Preference            int                                                      `json:"Preference" xml:"Preference"`
+	PublishStatus         string                                                   `json:"PublishStatus" xml:"PublishStatus"`
+	NextHopType           string                                                   `json:"NextHopType" xml:"NextHopType"`
+	OperationalMode       bool                                                     `json:"OperationalMode" xml:"OperationalMode"`
+	RouteTableId          string                                                   `json:"RouteTableId" xml:"RouteTableId"`
+	ToOtherRegionStatus   string                                                   `json:"ToOtherRegionStatus" xml:"ToOtherRegionStatus"`
+	NextHopInstanceId     string                                                   `json:"NextHopInstanceId" xml:"NextHopInstanceId"`
+	Status                string                                                   `json:"Status" xml:"Status"`
+	DestinationCidrBlock  string                                                   `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
+	NextHopRegionId       string                                                   `json:"NextHopRegionId" xml:"NextHopRegionId"`
+	Type                  string                                                   `json:"Type" xml:"Type"`
+	AsPaths               AsPathsInDescribeCenChildInstanceRouteEntries            `json:"AsPaths" xml:"AsPaths"`
+	Communities           CommunitiesInDescribeCenChildInstanceRouteEntries        `json:"Communities" xml:"Communities"`
+	Conflicts             ConflictsInDescribeCenChildInstanceRouteEntries          `json:"Conflicts" xml:"Conflicts"`
+	CenOutRouteMapRecords CenOutRouteMapRecords                                    `json:"CenOutRouteMapRecords" xml:"CenOutRouteMapRecords"`
+	CenRouteMapRecords    CenRouteMapRecordsInDescribeCenChildInstanceRouteEntries `json:"CenRouteMapRecords" xml:"CenRouteMapRecords"`
 }

+ 22 - 0
services/cbn/struct_cen_route_map_record.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.
+
+// CenRouteMapRecord is a nested struct in cbn response
+type CenRouteMapRecord struct {
+	RegionId   string `json:"RegionId" xml:"RegionId"`
+	RouteMapId string `json:"RouteMapId" xml:"RouteMapId"`
+}

+ 21 - 0
services/cbn/struct_cen_route_map_records_in_describe_cen_child_instance_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.
+
+// CenRouteMapRecordsInDescribeCenChildInstanceRouteEntries is a nested struct in cbn response
+type CenRouteMapRecordsInDescribeCenChildInstanceRouteEntries struct {
+	CenRouteMapRecord []CenRouteMapRecord `json:"CenRouteMapRecord" xml:"CenRouteMapRecord"`
+}

+ 21 - 0
services/cbn/struct_cen_route_map_records_in_describe_cen_region_domain_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.
+
+// CenRouteMapRecordsInDescribeCenRegionDomainRouteEntries is a nested struct in cbn response
+type CenRouteMapRecordsInDescribeCenRegionDomainRouteEntries struct {
+	CenRouteMapRecord []CenRouteMapRecord `json:"CenRouteMapRecord" xml:"CenRouteMapRecord"`
+}

+ 1 - 1
services/cbn/struct_child_instance.go

@@ -21,7 +21,7 @@ type ChildInstance struct {
 	ChildInstanceId         string `json:"ChildInstanceId" xml:"ChildInstanceId"`
 	ChildInstanceType       string `json:"ChildInstanceType" xml:"ChildInstanceType"`
 	ChildInstanceRegionId   string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
-	ChildInstanceOwnerId    int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+	ChildInstanceOwnerId    int64  `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
 	Status                  string `json:"Status" xml:"Status"`
 	ChildInstanceAttachTime string `json:"ChildInstanceAttachTime" xml:"ChildInstanceAttachTime"`
 }

+ 21 - 0
services/cbn/struct_communities_in_describe_cen_child_instance_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.
+
+// CommunitiesInDescribeCenChildInstanceRouteEntries is a nested struct in cbn response
+type CommunitiesInDescribeCenChildInstanceRouteEntries struct {
+	Community []string `json:"Community" xml:"Community"`
+}

+ 21 - 0
services/cbn/struct_communities_in_describe_cen_region_domain_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.
+
+// CommunitiesInDescribeCenRegionDomainRouteEntries is a nested struct in cbn response
+type CommunitiesInDescribeCenRegionDomainRouteEntries struct {
+	Community []string `json:"Community" xml:"Community"`
+}

+ 1 - 1
services/cbn/struct_conflict.go

@@ -17,9 +17,9 @@ package cbn
 
 // 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"`
+	DestinationCidrBlock string `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
 }

+ 21 - 0
services/cbn/struct_conflicts_in_describe_cen_child_instance_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.
+
+// ConflictsInDescribeCenChildInstanceRouteEntries is a nested struct in cbn response
+type ConflictsInDescribeCenChildInstanceRouteEntries struct {
+	Conflict []Conflict `json:"Conflict" xml:"Conflict"`
+}

+ 2 - 2
services/cbn/struct_conflicts.go → services/cbn/struct_conflicts_in_describe_published_route_entries.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.
 
-// Conflicts is a nested struct in cbn response
-type Conflicts struct {
+// ConflictsInDescribePublishedRouteEntries is a nested struct in cbn response
+type ConflictsInDescribePublishedRouteEntries struct {
 	Conflict []Conflict `json:"Conflict" xml:"Conflict"`
 }

+ 21 - 0
services/cbn/struct_destination_child_instance_types.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.
+
+// DestinationChildInstanceTypes is a nested struct in cbn response
+type DestinationChildInstanceTypes struct {
+	DestinationChildInstanceType []string `json:"DestinationChildInstanceType" xml:"DestinationChildInstanceType"`
+}

+ 21 - 0
services/cbn/struct_destination_cidr_blocks.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.
+
+// DestinationCidrBlocks is a nested struct in cbn response
+type DestinationCidrBlocks struct {
+	DestinationCidrBlock []string `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
+}

+ 21 - 0
services/cbn/struct_destination_instance_ids.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.
+
+// DestinationInstanceIds is a nested struct in cbn response
+type DestinationInstanceIds struct {
+	DestinationInstanceId []string `json:"DestinationInstanceId" xml:"DestinationInstanceId"`
+}

+ 21 - 0
services/cbn/struct_destination_route_table_ids.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.
+
+// DestinationRouteTableIds is a nested struct in cbn response
+type DestinationRouteTableIds struct {
+	DestinationRouteTableId []string `json:"DestinationRouteTableId" xml:"DestinationRouteTableId"`
+}

+ 29 - 0
services/cbn/struct_flow_log.go

@@ -0,0 +1,29 @@
+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.
+
+// FlowLog is a nested struct in cbn response
+type FlowLog struct {
+	FlowLogId    string `json:"FlowLogId" xml:"FlowLogId"`
+	FlowLogName  string `json:"FlowLogName" xml:"FlowLogName"`
+	Description  string `json:"Description" xml:"Description"`
+	CreationTime string `json:"CreationTime" xml:"CreationTime"`
+	CenId        string `json:"CenId" xml:"CenId"`
+	ProjectName  string `json:"ProjectName" xml:"ProjectName"`
+	LogStoreName string `json:"LogStoreName" xml:"LogStoreName"`
+	Status       string `json:"Status" xml:"Status"`
+	RegionId     string `json:"RegionId" xml:"RegionId"`
+}

+ 21 - 0
services/cbn/struct_flow_logs.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.
+
+// FlowLogs is a nested struct in cbn response
+type FlowLogs struct {
+	FlowLog []FlowLog `json:"FlowLog" xml:"FlowLog"`
+}

+ 1 - 1
services/cbn/struct_grant_rule.go

@@ -21,5 +21,5 @@ type GrantRule struct {
 	ChildInstanceRegionId string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
 	ChildInstanceType     string `json:"ChildInstanceType" xml:"ChildInstanceType"`
 	ChildInstanceId       string `json:"ChildInstanceId" xml:"ChildInstanceId"`
-	ChildInstanceOwnerId  int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+	ChildInstanceOwnerId  int64  `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
 }

+ 21 - 0
services/cbn/struct_match_asns.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.
+
+// MatchAsns is a nested struct in cbn response
+type MatchAsns struct {
+	MatchAsn []string `json:"MatchAsn" xml:"MatchAsn"`
+}

+ 21 - 0
services/cbn/struct_match_community_set.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.
+
+// MatchCommunitySet is a nested struct in cbn response
+type MatchCommunitySet struct {
+	MatchCommunity []string `json:"MatchCommunity" xml:"MatchCommunity"`
+}

+ 21 - 0
services/cbn/struct_operate_community_set.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.
+
+// OperateCommunitySet is a nested struct in cbn response
+type OperateCommunitySet struct {
+	OperateCommunity []string `json:"OperateCommunity" xml:"OperateCommunity"`
+}

+ 24 - 0
services/cbn/struct_orgin_inter_region_bandwidth_limit.go

@@ -0,0 +1,24 @@
+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.
+
+// OrginInterRegionBandwidthLimit is a nested struct in cbn response
+type OrginInterRegionBandwidthLimit struct {
+	LocalRegionId    string `json:"LocalRegionId" xml:"LocalRegionId"`
+	OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	GeographicSpanId string `json:"GeographicSpanId" xml:"GeographicSpanId"`
+	BandwidthLimit   string `json:"BandwidthLimit" xml:"BandwidthLimit"`
+}

+ 21 - 0
services/cbn/struct_orgin_inter_region_bandwidth_limits.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.
+
+// OrginInterRegionBandwidthLimits is a nested struct in cbn response
+type OrginInterRegionBandwidthLimits struct {
+	OrginInterRegionBandwidthLimit []OrginInterRegionBandwidthLimit `json:"OrginInterRegionBandwidthLimit" xml:"OrginInterRegionBandwidthLimit"`
+}

+ 21 - 0
services/cbn/struct_prepend_as_path.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.
+
+// PrependAsPath is a nested struct in cbn response
+type PrependAsPath struct {
+	AsPath []string `json:"AsPath" xml:"AsPath"`
+}

+ 8 - 8
services/cbn/struct_published_route_entry.go

@@ -17,12 +17,12 @@ package cbn
 
 // 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"`
+	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                 ConflictsInDescribePublishedRouteEntries `json:"Conflicts" xml:"Conflicts"`
 }

+ 49 - 0
services/cbn/struct_route_map.go

@@ -0,0 +1,49 @@
+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.
+
+// RouteMap is a nested struct in cbn response
+type RouteMap struct {
+	Status                             string                        `json:"Status" xml:"Status"`
+	RouteMapId                         string                        `json:"RouteMapId" xml:"RouteMapId"`
+	CenId                              string                        `json:"CenId" xml:"CenId"`
+	CenRegionId                        string                        `json:"CenRegionId" xml:"CenRegionId"`
+	Description                        string                        `json:"Description" xml:"Description"`
+	MapResult                          string                        `json:"MapResult" xml:"MapResult"`
+	Priority                           int                           `json:"Priority" xml:"Priority"`
+	NextPriority                       int                           `json:"NextPriority" xml:"NextPriority"`
+	CidrMatchMode                      string                        `json:"CidrMatchMode" xml:"CidrMatchMode"`
+	AsPathMatchMode                    string                        `json:"AsPathMatchMode" xml:"AsPathMatchMode"`
+	CommunityMatchMode                 string                        `json:"CommunityMatchMode" xml:"CommunityMatchMode"`
+	CommunityOperateMode               string                        `json:"CommunityOperateMode" xml:"CommunityOperateMode"`
+	Preference                         int                           `json:"Preference" xml:"Preference"`
+	TransmitDirection                  string                        `json:"TransmitDirection" xml:"TransmitDirection"`
+	SourceInstanceIdsReverseMatch      bool                          `json:"SourceInstanceIdsReverseMatch" xml:"SourceInstanceIdsReverseMatch"`
+	DestinationInstanceIdsReverseMatch bool                          `json:"DestinationInstanceIdsReverseMatch" xml:"DestinationInstanceIdsReverseMatch"`
+	SourceInstanceIds                  SourceInstanceIds             `json:"SourceInstanceIds" xml:"SourceInstanceIds"`
+	DestinationInstanceIds             DestinationInstanceIds        `json:"DestinationInstanceIds" xml:"DestinationInstanceIds"`
+	SourceRouteTableIds                SourceRouteTableIds           `json:"SourceRouteTableIds" xml:"SourceRouteTableIds"`
+	DestinationRouteTableIds           DestinationRouteTableIds      `json:"DestinationRouteTableIds" xml:"DestinationRouteTableIds"`
+	SourceRegionIds                    SourceRegionIds               `json:"SourceRegionIds" xml:"SourceRegionIds"`
+	SourceChildInstanceTypes           SourceChildInstanceTypes      `json:"SourceChildInstanceTypes" xml:"SourceChildInstanceTypes"`
+	DestinationChildInstanceTypes      DestinationChildInstanceTypes `json:"DestinationChildInstanceTypes" xml:"DestinationChildInstanceTypes"`
+	DestinationCidrBlocks              DestinationCidrBlocks         `json:"DestinationCidrBlocks" xml:"DestinationCidrBlocks"`
+	RouteTypes                         RouteTypes                    `json:"RouteTypes" xml:"RouteTypes"`
+	MatchAsns                          MatchAsns                     `json:"MatchAsns" xml:"MatchAsns"`
+	MatchCommunitySet                  MatchCommunitySet             `json:"MatchCommunitySet" xml:"MatchCommunitySet"`
+	OperateCommunitySet                OperateCommunitySet           `json:"OperateCommunitySet" xml:"OperateCommunitySet"`
+	PrependAsPath                      PrependAsPath                 `json:"PrependAsPath" xml:"PrependAsPath"`
+}

+ 21 - 0
services/cbn/struct_route_maps.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.
+
+// RouteMaps is a nested struct in cbn response
+type RouteMaps struct {
+	RouteMap []RouteMap `json:"RouteMap" xml:"RouteMap"`
+}

+ 21 - 0
services/cbn/struct_route_types.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.
+
+// RouteTypes is a nested struct in cbn response
+type RouteTypes struct {
+	RouteType []string `json:"RouteType" xml:"RouteType"`
+}

+ 21 - 0
services/cbn/struct_source_child_instance_types.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.
+
+// SourceChildInstanceTypes is a nested struct in cbn response
+type SourceChildInstanceTypes struct {
+	SourceChildInstanceType []string `json:"SourceChildInstanceType" xml:"SourceChildInstanceType"`
+}

+ 21 - 0
services/cbn/struct_source_instance_ids.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.
+
+// SourceInstanceIds is a nested struct in cbn response
+type SourceInstanceIds struct {
+	SourceInstanceId []string `json:"SourceInstanceId" xml:"SourceInstanceId"`
+}

+ 21 - 0
services/cbn/struct_source_region_ids.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.
+
+// SourceRegionIds is a nested struct in cbn response
+type SourceRegionIds struct {
+	SourceRegionId []string `json:"SourceRegionId" xml:"SourceRegionId"`
+}

+ 21 - 0
services/cbn/struct_source_route_table_ids.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.
+
+// SourceRouteTableIds is a nested struct in cbn response
+type SourceRouteTableIds struct {
+	SourceRouteTableId []string `json:"SourceRouteTableId" xml:"SourceRouteTableId"`
+}

+ 24 - 0
services/cbn/struct_tag_resource.go

@@ -0,0 +1,24 @@
+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.
+
+// TagResource is a nested struct in cbn response
+type TagResource struct {
+	TagKey       string `json:"TagKey" xml:"TagKey"`
+	TagValue     string `json:"TagValue" xml:"TagValue"`
+	ResourceId   string `json:"ResourceId" xml:"ResourceId"`
+	ResourceType string `json:"ResourceType" xml:"ResourceType"`
+}

+ 21 - 0
services/cbn/struct_tag_resources.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.
+
+// TagResources is a nested struct in cbn response
+type TagResources struct {
+	TagResource []TagResource `json:"TagResource" xml:"TagResource"`
+}

+ 2 - 2
services/cbn/struct_vbr_health_check.go

@@ -20,8 +20,8 @@ type VbrHealthCheck struct {
 	CenId               string `json:"CenId" xml:"CenId"`
 	VbrInstanceId       string `json:"VbrInstanceId" xml:"VbrInstanceId"`
 	LinkStatus          string `json:"LinkStatus" xml:"LinkStatus"`
-	PacketLoss          int    `json:"PacketLoss" xml:"PacketLoss"`
+	PacketLoss          int64  `json:"PacketLoss" xml:"PacketLoss"`
 	HealthCheckSourceIp string `json:"HealthCheckSourceIp" xml:"HealthCheckSourceIp"`
 	HealthCheckTargetIp string `json:"HealthCheckTargetIp" xml:"HealthCheckTargetIp"`
-	Delay               int    `json:"Delay" xml:"Delay"`
+	Delay               int64  `json:"Delay" xml:"Delay"`
 }

+ 115 - 0
services/cbn/tag_resources.go

@@ -0,0 +1,115 @@
+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"
+)
+
+// TagResources invokes the cbn.TagResources API synchronously
+// api document: https://help.aliyun.com/api/cbn/tagresources.html
+func (client *Client) TagResources(request *TagResourcesRequest) (response *TagResourcesResponse, err error) {
+	response = CreateTagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// TagResourcesWithChan invokes the cbn.TagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/tagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TagResourcesWithChan(request *TagResourcesRequest) (<-chan *TagResourcesResponse, <-chan error) {
+	responseChan := make(chan *TagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.TagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// TagResourcesWithCallback invokes the cbn.TagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/tagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TagResourcesWithCallback(request *TagResourcesRequest, callback func(response *TagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *TagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.TagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// TagResourcesRequest is the request struct for api TagResources
+type TagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer   `position:"Query" name:"ResourceOwnerId"`
+	Tag                  *[]TagResourcesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	ResourceId           *[]string          `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceOwnerAccount string             `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string             `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer   `position:"Query" name:"OwnerId"`
+	ResourceType         string             `position:"Query" name:"ResourceType"`
+}
+
+// TagResourcesTag is a repeated param struct in TagResourcesRequest
+type TagResourcesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// TagResourcesResponse is the response struct for api TagResources
+type TagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateTagResourcesRequest creates a request to invoke TagResources API
+func CreateTagResourcesRequest() (request *TagResourcesRequest) {
+	request = &TagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "TagResources", "Cbn", "openAPI")
+	return
+}
+
+// CreateTagResourcesResponse creates a response to parse from TagResources response
+func CreateTagResourcesResponse() (response *TagResourcesResponse) {
+	response = &TagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/cbn/unassociate_cen_bandwidth_package.go

@@ -77,11 +77,11 @@ func (client *Client) UnassociateCenBandwidthPackageWithCallback(request *Unasso
 type UnassociateCenBandwidthPackageRequest struct {
 	*requests.RpcRequest
 	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"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
 }
 
 // UnassociateCenBandwidthPackageResponse is the response struct for api UnassociateCenBandwidthPackage
@@ -95,7 +95,7 @@ func CreateUnassociateCenBandwidthPackageRequest() (request *UnassociateCenBandw
 	request = &UnassociateCenBandwidthPackageRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "UnassociateCenBandwidthPackage", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "UnassociateCenBandwidthPackage", "Cbn", "openAPI")
 	return
 }
 

+ 3 - 3
services/cbn/unroute_private_zone_in_cen_to_vpc.go

@@ -77,10 +77,10 @@ func (client *Client) UnroutePrivateZoneInCenToVpcWithCallback(request *UnrouteP
 type UnroutePrivateZoneInCenToVpcRequest 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"`
 	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
@@ -95,7 +95,7 @@ func CreateUnroutePrivateZoneInCenToVpcRequest() (request *UnroutePrivateZoneInC
 	request = &UnroutePrivateZoneInCenToVpcRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "UnroutePrivateZoneInCenToVpc", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "UnroutePrivateZoneInCenToVpc", "Cbn", "openAPI")
 	return
 }
 

+ 2 - 4
services/cbn/untag_resources.go

@@ -80,11 +80,9 @@ type UntagResourcesRequest struct {
 	ResourceId           *[]string        `position:"Query" name:"ResourceId"  type:"Repeated"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	TagOwnerUid          requests.Integer `position:"Query" name:"TagOwnerUid"`
-	TagOwnerBid          string           `position:"Query" name:"TagOwnerBid"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	TagKey               *[]string        `position:"Query" name:"TagKey"  type:"Repeated"`
 	ResourceType         string           `position:"Query" name:"ResourceType"`
+	TagKey               *[]string        `position:"Query" name:"TagKey"  type:"Repeated"`
 }
 
 // UntagResourcesResponse is the response struct for api UntagResources
@@ -98,7 +96,7 @@ func CreateUntagResourcesRequest() (request *UntagResourcesRequest) {
 	request = &UntagResourcesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "UntagResources", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "UntagResources", "Cbn", "openAPI")
 	return
 }
 

+ 4 - 4
services/cbn/withdraw_published_route_entries.go

@@ -76,14 +76,14 @@ func (client *Client) WithdrawPublishedRouteEntriesWithCallback(request *Withdra
 // 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"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
 	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
 	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
 	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
-	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
 }
 
 // WithdrawPublishedRouteEntriesResponse is the response struct for api WithdrawPublishedRouteEntries
@@ -97,7 +97,7 @@ func CreateWithdrawPublishedRouteEntriesRequest() (request *WithdrawPublishedRou
 	request = &WithdrawPublishedRouteEntriesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Cbn", "2017-09-12", "WithdrawPublishedRouteEntries", "cbn", "openAPI")
+	request.InitWithApiInfo("Cbn", "2017-09-12", "WithdrawPublishedRouteEntries", "Cbn", "openAPI")
 	return
 }