Browse Source

CBN SDK Auto Released By shenshi,Version:1.53.33

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 years ago
parent
commit
b106e5508b

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-03-14 Version: 1.53.33
+1, Update Dependency
+
 2019-03-13 Version: 1.53.32
 1, Update Dependency
 

+ 1 - 0
services/cbn/create_cen.go

@@ -76,6 +76,7 @@ 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"`

+ 110 - 0
services/cbn/delete_route_service_in_cen.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"
+)
+
+// DeleteRouteServiceInCen invokes the cbn.DeleteRouteServiceInCen API synchronously
+// api document: https://help.aliyun.com/api/cbn/deleterouteserviceincen.html
+func (client *Client) DeleteRouteServiceInCen(request *DeleteRouteServiceInCenRequest) (response *DeleteRouteServiceInCenResponse, err error) {
+	response = CreateDeleteRouteServiceInCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRouteServiceInCenWithChan invokes the cbn.DeleteRouteServiceInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deleterouteserviceincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRouteServiceInCenWithChan(request *DeleteRouteServiceInCenRequest) (<-chan *DeleteRouteServiceInCenResponse, <-chan error) {
+	responseChan := make(chan *DeleteRouteServiceInCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRouteServiceInCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRouteServiceInCenWithCallback invokes the cbn.DeleteRouteServiceInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/deleterouteserviceincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRouteServiceInCenWithCallback(request *DeleteRouteServiceInCenRequest, callback func(response *DeleteRouteServiceInCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRouteServiceInCenResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRouteServiceInCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRouteServiceInCenRequest is the request struct for api DeleteRouteServiceInCen
+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"`
+	Host                 string           `position:"Query" name:"Host"`
+	HostRegionId         string           `position:"Query" name:"HostRegionId"`
+	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DeleteRouteServiceInCenResponse is the response struct for api DeleteRouteServiceInCen
+type DeleteRouteServiceInCenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRouteServiceInCenRequest creates a request to invoke DeleteRouteServiceInCen API
+func CreateDeleteRouteServiceInCenRequest() (request *DeleteRouteServiceInCenRequest) {
+	request = &DeleteRouteServiceInCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DeleteRouteServiceInCen", "cbn", "openAPI")
+	return
+}
+
+// CreateDeleteRouteServiceInCenResponse creates a response to parse from DeleteRouteServiceInCen response
+func CreateDeleteRouteServiceInCenResponse() (response *DeleteRouteServiceInCenResponse) {
+	response = &DeleteRouteServiceInCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/cbn/describe_cen_attached_child_instance_attribute.go

@@ -0,0 +1,118 @@
+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"
+)
+
+// DescribeCenAttachedChildInstanceAttribute invokes the cbn.DescribeCenAttachedChildInstanceAttribute API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenattachedchildinstanceattribute.html
+func (client *Client) DescribeCenAttachedChildInstanceAttribute(request *DescribeCenAttachedChildInstanceAttributeRequest) (response *DescribeCenAttachedChildInstanceAttributeResponse, err error) {
+	response = CreateDescribeCenAttachedChildInstanceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenAttachedChildInstanceAttributeWithChan invokes the cbn.DescribeCenAttachedChildInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenattachedchildinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenAttachedChildInstanceAttributeWithChan(request *DescribeCenAttachedChildInstanceAttributeRequest) (<-chan *DescribeCenAttachedChildInstanceAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenAttachedChildInstanceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenAttachedChildInstanceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenAttachedChildInstanceAttributeWithCallback invokes the cbn.DescribeCenAttachedChildInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenattachedchildinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenAttachedChildInstanceAttributeWithCallback(request *DescribeCenAttachedChildInstanceAttributeRequest, callback func(response *DescribeCenAttachedChildInstanceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenAttachedChildInstanceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenAttachedChildInstanceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+	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"`
+}
+
+// DescribeCenAttachedChildInstanceAttributeResponse is the response struct for api DescribeCenAttachedChildInstanceAttribute
+type DescribeCenAttachedChildInstanceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId               string `json:"RequestId" xml:"RequestId"`
+	CenId                   string `json:"CenId" xml:"CenId"`
+	ChildInstanceId         string `json:"ChildInstanceId" xml:"ChildInstanceId"`
+	ChildInstanceType       string `json:"ChildInstanceType" xml:"ChildInstanceType"`
+	ChildInstanceRegionId   string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
+	ChildInstanceOwnerId    int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+	Status                  string `json:"Status" xml:"Status"`
+	ChildInstanceName       string `json:"ChildInstanceName" xml:"ChildInstanceName"`
+	ChildInstanceAttachTime string `json:"ChildInstanceAttachTime" xml:"ChildInstanceAttachTime"`
+}
+
+// CreateDescribeCenAttachedChildInstanceAttributeRequest creates a request to invoke DescribeCenAttachedChildInstanceAttribute API
+func CreateDescribeCenAttachedChildInstanceAttributeRequest() (request *DescribeCenAttachedChildInstanceAttributeRequest) {
+	request = &DescribeCenAttachedChildInstanceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenAttachedChildInstanceAttribute", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenAttachedChildInstanceAttributeResponse creates a response to parse from DescribeCenAttachedChildInstanceAttribute response
+func CreateDescribeCenAttachedChildInstanceAttributeResponse() (response *DescribeCenAttachedChildInstanceAttributeResponse) {
+	response = &DescribeCenAttachedChildInstanceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 9 - 8
services/cbn/describe_cen_attached_child_instances.go

@@ -76,14 +76,15 @@ func (client *Client) DescribeCenAttachedChildInstancesWithCallback(request *Des
 // DescribeCenAttachedChildInstancesRequest is the request struct for api DescribeCenAttachedChildInstances
 type DescribeCenAttachedChildInstancesRequest struct {
 	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	CenId                string           `position:"Query" name:"CenId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ChildInstanceType    string           `position:"Query" name:"ChildInstanceType"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                 string           `position:"Query" name:"CenId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	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

+ 115 - 0
services/cbn/describe_cen_private_zone_routes.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"
+)
+
+// DescribeCenPrivateZoneRoutes invokes the cbn.DescribeCenPrivateZoneRoutes API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenprivatezoneroutes.html
+func (client *Client) DescribeCenPrivateZoneRoutes(request *DescribeCenPrivateZoneRoutesRequest) (response *DescribeCenPrivateZoneRoutesResponse, err error) {
+	response = CreateDescribeCenPrivateZoneRoutesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenPrivateZoneRoutesWithChan invokes the cbn.DescribeCenPrivateZoneRoutes API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenprivatezoneroutes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenPrivateZoneRoutesWithChan(request *DescribeCenPrivateZoneRoutesRequest) (<-chan *DescribeCenPrivateZoneRoutesResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenPrivateZoneRoutesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenPrivateZoneRoutes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenPrivateZoneRoutesWithCallback invokes the cbn.DescribeCenPrivateZoneRoutes API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenprivatezoneroutes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenPrivateZoneRoutesWithCallback(request *DescribeCenPrivateZoneRoutesRequest, callback func(response *DescribeCenPrivateZoneRoutesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenPrivateZoneRoutesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenPrivateZoneRoutes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenPrivateZoneRoutesRequest is the request struct for api DescribeCenPrivateZoneRoutes
+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"`
+}
+
+// DescribeCenPrivateZoneRoutesResponse is the response struct for api DescribeCenPrivateZoneRoutes
+type DescribeCenPrivateZoneRoutesResponse struct {
+	*responses.BaseResponse
+	RequestId             string           `json:"RequestId" xml:"RequestId"`
+	CenId                 string           `json:"CenId" xml:"CenId"`
+	PrivateZoneDnsServers string           `json:"PrivateZoneDnsServers" xml:"PrivateZoneDnsServers"`
+	PageNumber            int              `json:"PageNumber" xml:"PageNumber"`
+	TotalCount            int              `json:"TotalCount" xml:"TotalCount"`
+	PageSize              int              `json:"PageSize" xml:"PageSize"`
+	PrivateZoneInfos      PrivateZoneInfos `json:"PrivateZoneInfos" xml:"PrivateZoneInfos"`
+}
+
+// CreateDescribeCenPrivateZoneRoutesRequest creates a request to invoke DescribeCenPrivateZoneRoutes API
+func CreateDescribeCenPrivateZoneRoutesRequest() (request *DescribeCenPrivateZoneRoutesRequest) {
+	request = &DescribeCenPrivateZoneRoutesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenPrivateZoneRoutes", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenPrivateZoneRoutesResponse creates a response to parse from DescribeCenPrivateZoneRoutes response
+func CreateDescribeCenPrivateZoneRoutesResponse() (response *DescribeCenPrivateZoneRoutesResponse) {
+	response = &DescribeCenPrivateZoneRoutesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 7 - 0
services/cbn/describe_cens.go

@@ -81,6 +81,7 @@ type DescribeCensRequest struct {
 	ResourceOwnerAccount string                `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string                `position:"Query" name:"OwnerAccount"`
 	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeCensTag    `position:"Query" name:"Tag"  type:"Repeated"`
 	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
 	PageNumber           requests.Integer      `position:"Query" name:"PageNumber"`
 }
@@ -91,6 +92,12 @@ type DescribeCensFilter struct {
 	Key   string    `name:"Key"`
 }
 
+// DescribeCensTag is a repeated param struct in DescribeCensRequest
+type DescribeCensTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
 // DescribeCensResponse is the response struct for api DescribeCens
 type DescribeCensResponse struct {
 	*responses.BaseResponse

+ 109 - 0
services/cbn/describe_grant_rules_to_cen.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"
+)
+
+// DescribeGrantRulesToCen invokes the cbn.DescribeGrantRulesToCen API synchronously
+// api document: https://help.aliyun.com/api/cbn/describegrantrulestocen.html
+func (client *Client) DescribeGrantRulesToCen(request *DescribeGrantRulesToCenRequest) (response *DescribeGrantRulesToCenResponse, err error) {
+	response = CreateDescribeGrantRulesToCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGrantRulesToCenWithChan invokes the cbn.DescribeGrantRulesToCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describegrantrulestocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantRulesToCenWithChan(request *DescribeGrantRulesToCenRequest) (<-chan *DescribeGrantRulesToCenResponse, <-chan error) {
+	responseChan := make(chan *DescribeGrantRulesToCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGrantRulesToCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGrantRulesToCenWithCallback invokes the cbn.DescribeGrantRulesToCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describegrantrulestocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantRulesToCenWithCallback(request *DescribeGrantRulesToCenRequest, callback func(response *DescribeGrantRulesToCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGrantRulesToCenResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGrantRulesToCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGrantRulesToCenRequest is the request struct for api DescribeGrantRulesToCen
+type DescribeGrantRulesToCenRequest 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"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+}
+
+// DescribeGrantRulesToCenResponse is the response struct for api DescribeGrantRulesToCen
+type DescribeGrantRulesToCenResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	GrantRules GrantRules `json:"GrantRules" xml:"GrantRules"`
+}
+
+// CreateDescribeGrantRulesToCenRequest creates a request to invoke DescribeGrantRulesToCen API
+func CreateDescribeGrantRulesToCenRequest() (request *DescribeGrantRulesToCenRequest) {
+	request = &DescribeGrantRulesToCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeGrantRulesToCen", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeGrantRulesToCenResponse creates a response to parse from DescribeGrantRulesToCen response
+func CreateDescribeGrantRulesToCenResponse() (response *DescribeGrantRulesToCenResponse) {
+	response = &DescribeGrantRulesToCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/cbn/describe_route_conflict.go

@@ -92,11 +92,11 @@ type DescribeRouteConflictRequest struct {
 // DescribeRouteConflictResponse is the response struct for api DescribeRouteConflict
 type DescribeRouteConflictResponse struct {
 	*responses.BaseResponse
-	RequestId      string                                `json:"RequestId" xml:"RequestId"`
-	PageNumber     int                                   `json:"PageNumber" xml:"PageNumber"`
-	TotalCount     int                                   `json:"TotalCount" xml:"TotalCount"`
-	PageSize       int                                   `json:"PageSize" xml:"PageSize"`
-	RouteConflicts RouteConflictsInDescribeRouteConflict `json:"RouteConflicts" xml:"RouteConflicts"`
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	RouteConflicts RouteConflicts `json:"RouteConflicts" xml:"RouteConflicts"`
 }
 
 // CreateDescribeRouteConflictRequest creates a request to invoke DescribeRouteConflict API

+ 116 - 0
services/cbn/describe_route_services_in_cen.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"
+)
+
+// DescribeRouteServicesInCen invokes the cbn.DescribeRouteServicesInCen API synchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteservicesincen.html
+func (client *Client) DescribeRouteServicesInCen(request *DescribeRouteServicesInCenRequest) (response *DescribeRouteServicesInCenResponse, err error) {
+	response = CreateDescribeRouteServicesInCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRouteServicesInCenWithChan invokes the cbn.DescribeRouteServicesInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteservicesincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouteServicesInCenWithChan(request *DescribeRouteServicesInCenRequest) (<-chan *DescribeRouteServicesInCenResponse, <-chan error) {
+	responseChan := make(chan *DescribeRouteServicesInCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRouteServicesInCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRouteServicesInCenWithCallback invokes the cbn.DescribeRouteServicesInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteservicesincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouteServicesInCenWithCallback(request *DescribeRouteServicesInCenRequest, callback func(response *DescribeRouteServicesInCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRouteServicesInCenResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRouteServicesInCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRouteServicesInCenRequest is the request struct for api DescribeRouteServicesInCen
+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"`
+	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"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeRouteServicesInCenResponse is the response struct for api DescribeRouteServicesInCen
+type DescribeRouteServicesInCenResponse 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"`
+	RouteServiceEntries RouteServiceEntries `json:"RouteServiceEntries" xml:"RouteServiceEntries"`
+}
+
+// CreateDescribeRouteServicesInCenRequest creates a request to invoke DescribeRouteServicesInCen API
+func CreateDescribeRouteServicesInCenRequest() (request *DescribeRouteServicesInCenRequest) {
+	request = &DescribeRouteServicesInCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteServicesInCen", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeRouteServicesInCenResponse creates a response to parse from DescribeRouteServicesInCen response
+func CreateDescribeRouteServicesInCenResponse() (response *DescribeRouteServicesInCenResponse) {
+	response = &DescribeRouteServicesInCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cbn/resolve_and_route_service_in_cen.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"
+)
+
+// ResolveAndRouteServiceInCen invokes the cbn.ResolveAndRouteServiceInCen API synchronously
+// api document: https://help.aliyun.com/api/cbn/resolveandrouteserviceincen.html
+func (client *Client) ResolveAndRouteServiceInCen(request *ResolveAndRouteServiceInCenRequest) (response *ResolveAndRouteServiceInCenResponse, err error) {
+	response = CreateResolveAndRouteServiceInCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResolveAndRouteServiceInCenWithChan invokes the cbn.ResolveAndRouteServiceInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/resolveandrouteserviceincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResolveAndRouteServiceInCenWithChan(request *ResolveAndRouteServiceInCenRequest) (<-chan *ResolveAndRouteServiceInCenResponse, <-chan error) {
+	responseChan := make(chan *ResolveAndRouteServiceInCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResolveAndRouteServiceInCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResolveAndRouteServiceInCenWithCallback invokes the cbn.ResolveAndRouteServiceInCen API asynchronously
+// api document: https://help.aliyun.com/api/cbn/resolveandrouteserviceincen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResolveAndRouteServiceInCenWithCallback(request *ResolveAndRouteServiceInCenRequest, callback func(response *ResolveAndRouteServiceInCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResolveAndRouteServiceInCenResponse
+		var err error
+		defer close(result)
+		response, err = client.ResolveAndRouteServiceInCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResolveAndRouteServiceInCenRequest is the request struct for api ResolveAndRouteServiceInCen
+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"`
+	Host                 string           `position:"Query" name:"Host"`
+	HostRegionId         string           `position:"Query" name:"HostRegionId"`
+	AccessRegionId       string           `position:"Query" name:"AccessRegionId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	UpdateInterval       requests.Integer `position:"Query" name:"UpdateInterval"`
+}
+
+// ResolveAndRouteServiceInCenResponse is the response struct for api ResolveAndRouteServiceInCen
+type ResolveAndRouteServiceInCenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResolveAndRouteServiceInCenRequest creates a request to invoke ResolveAndRouteServiceInCen API
+func CreateResolveAndRouteServiceInCenRequest() (request *ResolveAndRouteServiceInCenRequest) {
+	request = &ResolveAndRouteServiceInCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ResolveAndRouteServiceInCen", "cbn", "openAPI")
+	return
+}
+
+// CreateResolveAndRouteServiceInCenResponse creates a response to parse from ResolveAndRouteServiceInCen response
+func CreateResolveAndRouteServiceInCenResponse() (response *ResolveAndRouteServiceInCenResponse) {
+	response = &ResolveAndRouteServiceInCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cbn/route_private_zone_in_cen_to_vpc.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"
+)
+
+// RoutePrivateZoneInCenToVpc invokes the cbn.RoutePrivateZoneInCenToVpc API synchronously
+// api document: https://help.aliyun.com/api/cbn/routeprivatezoneincentovpc.html
+func (client *Client) RoutePrivateZoneInCenToVpc(request *RoutePrivateZoneInCenToVpcRequest) (response *RoutePrivateZoneInCenToVpcResponse, err error) {
+	response = CreateRoutePrivateZoneInCenToVpcResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RoutePrivateZoneInCenToVpcWithChan invokes the cbn.RoutePrivateZoneInCenToVpc API asynchronously
+// api document: https://help.aliyun.com/api/cbn/routeprivatezoneincentovpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RoutePrivateZoneInCenToVpcWithChan(request *RoutePrivateZoneInCenToVpcRequest) (<-chan *RoutePrivateZoneInCenToVpcResponse, <-chan error) {
+	responseChan := make(chan *RoutePrivateZoneInCenToVpcResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RoutePrivateZoneInCenToVpc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RoutePrivateZoneInCenToVpcWithCallback invokes the cbn.RoutePrivateZoneInCenToVpc API asynchronously
+// api document: https://help.aliyun.com/api/cbn/routeprivatezoneincentovpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RoutePrivateZoneInCenToVpcWithCallback(request *RoutePrivateZoneInCenToVpcRequest, callback func(response *RoutePrivateZoneInCenToVpcResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RoutePrivateZoneInCenToVpcResponse
+		var err error
+		defer close(result)
+		response, err = client.RoutePrivateZoneInCenToVpc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RoutePrivateZoneInCenToVpcRequest is the request struct for api RoutePrivateZoneInCenToVpc
+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"`
+	HostVpcId            string           `position:"Query" name:"HostVpcId"`
+}
+
+// RoutePrivateZoneInCenToVpcResponse is the response struct for api RoutePrivateZoneInCenToVpc
+type RoutePrivateZoneInCenToVpcResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRoutePrivateZoneInCenToVpcRequest creates a request to invoke RoutePrivateZoneInCenToVpc API
+func CreateRoutePrivateZoneInCenToVpcRequest() (request *RoutePrivateZoneInCenToVpcRequest) {
+	request = &RoutePrivateZoneInCenToVpcRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "RoutePrivateZoneInCenToVpc", "cbn", "openAPI")
+	return
+}
+
+// CreateRoutePrivateZoneInCenToVpcResponse creates a response to parse from RoutePrivateZoneInCenToVpc response
+func CreateRoutePrivateZoneInCenToVpcResponse() (response *RoutePrivateZoneInCenToVpcResponse) {
+	response = &RoutePrivateZoneInCenToVpcResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 1
services/cbn/struct_cen.go

@@ -20,8 +20,9 @@ type Cen struct {
 	CenId                  string                 `json:"CenId" xml:"CenId"`
 	Name                   string                 `json:"Name" xml:"Name"`
 	Description            string                 `json:"Description" xml:"Description"`
+	ProtectionLevel        string                 `json:"ProtectionLevel" xml:"ProtectionLevel"`
 	Status                 string                 `json:"Status" xml:"Status"`
 	CreationTime           string                 `json:"CreationTime" xml:"CreationTime"`
-	ProtectionLevel        string                 `json:"ProtectionLevel" xml:"ProtectionLevel"`
 	CenBandwidthPackageIds CenBandwidthPackageIds `json:"CenBandwidthPackageIds" xml:"CenBandwidthPackageIds"`
+	Tags                   Tags                   `json:"Tags" xml:"Tags"`
 }

+ 1 - 0
services/cbn/struct_cen_bandwidth_package.go

@@ -29,5 +29,6 @@ type CenBandwidthPackage struct {
 	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"`
 }

+ 7 - 6
services/cbn/struct_child_instance.go

@@ -17,10 +17,11 @@ package cbn
 
 // ChildInstance is a nested struct in cbn response
 type ChildInstance struct {
-	CenId                 string `json:"CenId" xml:"CenId"`
-	ChildInstanceId       string `json:"ChildInstanceId" xml:"ChildInstanceId"`
-	ChildInstanceType     string `json:"ChildInstanceType" xml:"ChildInstanceType"`
-	ChildInstanceRegionId string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
-	ChildInstanceOwnerId  int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
-	Status                string `json:"Status" xml:"Status"`
+	CenId                   string `json:"CenId" xml:"CenId"`
+	ChildInstanceId         string `json:"ChildInstanceId" xml:"ChildInstanceId"`
+	ChildInstanceType       string `json:"ChildInstanceType" xml:"ChildInstanceType"`
+	ChildInstanceRegionId   string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
+	ChildInstanceOwnerId    int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+	Status                  string `json:"Status" xml:"Status"`
+	ChildInstanceAttachTime string `json:"ChildInstanceAttachTime" xml:"ChildInstanceAttachTime"`
 }

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

+ 25 - 0
services/cbn/struct_grant_rule.go

@@ -0,0 +1,25 @@
+package cbn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// GrantRule is a nested struct in cbn response
+type GrantRule struct {
+	CenId                 string `json:"CenId" xml:"CenId"`
+	ChildInstanceRegionId string `json:"ChildInstanceRegionId" xml:"ChildInstanceRegionId"`
+	ChildInstanceType     string `json:"ChildInstanceType" xml:"ChildInstanceType"`
+	ChildInstanceId       string `json:"ChildInstanceId" xml:"ChildInstanceId"`
+	ChildInstanceOwnerId  int    `json:"ChildInstanceOwnerId" xml:"ChildInstanceOwnerId"`
+}

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

+ 24 - 0
services/cbn/struct_private_zone_info.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.
+
+// PrivateZoneInfo is a nested struct in cbn response
+type PrivateZoneInfo struct {
+	AccessRegionId string `json:"AccessRegionId" xml:"AccessRegionId"`
+	HostRegionId   string `json:"HostRegionId" xml:"HostRegionId"`
+	HostVpcId      string `json:"HostVpcId" xml:"HostVpcId"`
+	Status         string `json:"Status" xml:"Status"`
+}

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

+ 2 - 2
services/cbn/struct_route_conflicts_in_describe_route_conflict.go → services/cbn/struct_route_conflicts.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.
 
-// RouteConflictsInDescribeRouteConflict is a nested struct in cbn response
-type RouteConflictsInDescribeRouteConflict struct {
+// RouteConflicts is a nested struct in cbn response
+type RouteConflicts struct {
 	RouteConflict []RouteConflict `json:"RouteConflict" xml:"RouteConflict"`
 }

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

+ 27 - 0
services/cbn/struct_route_service_entry.go

@@ -0,0 +1,27 @@
+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.
+
+// RouteServiceEntry is a nested struct in cbn response
+type RouteServiceEntry struct {
+	CenId          string `json:"CenId" xml:"CenId"`
+	Host           string `json:"Host" xml:"Host"`
+	HostRegionId   string `json:"HostRegionId" xml:"HostRegionId"`
+	AccessRegionId string `json:"AccessRegionId" xml:"AccessRegionId"`
+	UpdateInterval string `json:"UpdateInterval" xml:"UpdateInterval"`
+	Status         string `json:"Status" xml:"Status"`
+	Cidrs          Cidrs  `json:"Cidrs" xml:"Cidrs"`
+}

+ 22 - 0
services/cbn/struct_tag.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.
+
+// Tag is a nested struct in cbn response
+type Tag struct {
+	Key   string `json:"Key" xml:"Key"`
+	Value string `json:"Value" xml:"Value"`
+}

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

+ 108 - 0
services/cbn/unroute_private_zone_in_cen_to_vpc.go

@@ -0,0 +1,108 @@
+package cbn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UnroutePrivateZoneInCenToVpc invokes the cbn.UnroutePrivateZoneInCenToVpc API synchronously
+// api document: https://help.aliyun.com/api/cbn/unrouteprivatezoneincentovpc.html
+func (client *Client) UnroutePrivateZoneInCenToVpc(request *UnroutePrivateZoneInCenToVpcRequest) (response *UnroutePrivateZoneInCenToVpcResponse, err error) {
+	response = CreateUnroutePrivateZoneInCenToVpcResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnroutePrivateZoneInCenToVpcWithChan invokes the cbn.UnroutePrivateZoneInCenToVpc API asynchronously
+// api document: https://help.aliyun.com/api/cbn/unrouteprivatezoneincentovpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnroutePrivateZoneInCenToVpcWithChan(request *UnroutePrivateZoneInCenToVpcRequest) (<-chan *UnroutePrivateZoneInCenToVpcResponse, <-chan error) {
+	responseChan := make(chan *UnroutePrivateZoneInCenToVpcResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnroutePrivateZoneInCenToVpc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnroutePrivateZoneInCenToVpcWithCallback invokes the cbn.UnroutePrivateZoneInCenToVpc API asynchronously
+// api document: https://help.aliyun.com/api/cbn/unrouteprivatezoneincentovpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnroutePrivateZoneInCenToVpcWithCallback(request *UnroutePrivateZoneInCenToVpcRequest, callback func(response *UnroutePrivateZoneInCenToVpcResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnroutePrivateZoneInCenToVpcResponse
+		var err error
+		defer close(result)
+		response, err = client.UnroutePrivateZoneInCenToVpc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnroutePrivateZoneInCenToVpcRequest is the request struct for api UnroutePrivateZoneInCenToVpc
+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"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// UnroutePrivateZoneInCenToVpcResponse is the response struct for api UnroutePrivateZoneInCenToVpc
+type UnroutePrivateZoneInCenToVpcResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUnroutePrivateZoneInCenToVpcRequest creates a request to invoke UnroutePrivateZoneInCenToVpc API
+func CreateUnroutePrivateZoneInCenToVpcRequest() (request *UnroutePrivateZoneInCenToVpcRequest) {
+	request = &UnroutePrivateZoneInCenToVpcRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "UnroutePrivateZoneInCenToVpc", "cbn", "openAPI")
+	return
+}
+
+// CreateUnroutePrivateZoneInCenToVpcResponse creates a response to parse from UnroutePrivateZoneInCenToVpc response
+func CreateUnroutePrivateZoneInCenToVpcResponse() (response *UnroutePrivateZoneInCenToVpcResponse) {
+	response = &UnroutePrivateZoneInCenToVpcResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cbn/untag_resources.go

@@ -0,0 +1,111 @@
+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"
+)
+
+// UntagResources invokes the cbn.UntagResources API synchronously
+// api document: https://help.aliyun.com/api/cbn/untagresources.html
+func (client *Client) UntagResources(request *UntagResourcesRequest) (response *UntagResourcesResponse, err error) {
+	response = CreateUntagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UntagResourcesWithChan invokes the cbn.UntagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/untagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UntagResourcesWithChan(request *UntagResourcesRequest) (<-chan *UntagResourcesResponse, <-chan error) {
+	responseChan := make(chan *UntagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UntagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UntagResourcesWithCallback invokes the cbn.UntagResources API asynchronously
+// api document: https://help.aliyun.com/api/cbn/untagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UntagResourcesWithCallback(request *UntagResourcesRequest, callback func(response *UntagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UntagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.UntagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UntagResourcesRequest is the request struct for api UntagResources
+type UntagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	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"`
+}
+
+// UntagResourcesResponse is the response struct for api UntagResources
+type UntagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUntagResourcesRequest creates a request to invoke UntagResources API
+func CreateUntagResourcesRequest() (request *UntagResourcesRequest) {
+	request = &UntagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "UntagResources", "cbn", "openAPI")
+	return
+}
+
+// CreateUntagResourcesResponse creates a response to parse from UntagResources response
+func CreateUntagResourcesResponse() (response *UntagResourcesResponse) {
+	response = &UntagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}