Browse Source

Merge branch 'master' of github.com:aliyun/alibaba-cloud-sdk-go

gaort 7 years ago
parent
commit
ec3a1baaac
100 changed files with 7332 additions and 1 deletions
  1. 40 0
      ChangeLog.txt
  2. 108 0
      services/cbn/associate_cen_bandwidth_package.go
  3. 111 0
      services/cbn/attach_cen_child_instance.go
  4. 81 0
      services/cbn/client.go
  5. 110 0
      services/cbn/create_cen.go
  6. 118 0
      services/cbn/create_cen_bandwidth_package.go
  7. 107 0
      services/cbn/delete_cen.go
  8. 107 0
      services/cbn/delete_cen_bandwidth_package.go
  9. 113 0
      services/cbn/describe_cen_attached_child_instances.go
  10. 120 0
      services/cbn/describe_cen_bandwidth_packages.go
  11. 112 0
      services/cbn/describe_cen_geographic_span_remaining_bandwidth.go
  12. 113 0
      services/cbn/describe_cen_inter_region_bandwidth_limits.go
  13. 114 0
      services/cbn/describe_cen_region_domain_route_entries.go
  14. 116 0
      services/cbn/describe_cen_vbr_health_check.go
  15. 119 0
      services/cbn/describe_cens.go
  16. 113 0
      services/cbn/describe_geographic_region_membership.go
  17. 117 0
      services/cbn/describe_route_conflict.go
  18. 112 0
      services/cbn/detach_cen_child_instance.go
  19. 110 0
      services/cbn/disable_cen_vbr_health_check.go
  20. 112 0
      services/cbn/enable_cen_vbr_health_check.go
  21. 109 0
      services/cbn/modify_cen_attribute.go
  22. 109 0
      services/cbn/modify_cen_bandwidth_package_attribute.go
  23. 108 0
      services/cbn/modify_cen_bandwidth_package_spec.go
  24. 110 0
      services/cbn/set_cen_inter_region_bandwidth_limit.go
  25. 26 0
      services/cbn/struct_cen.go
  26. 32 0
      services/cbn/struct_cen_bandwidth_package.go
  27. 21 0
      services/cbn/struct_cen_bandwidth_package_ids.go
  28. 21 0
      services/cbn/struct_cen_bandwidth_packages.go
  29. 21 0
      services/cbn/struct_cen_ids.go
  30. 25 0
      services/cbn/struct_cen_inter_region_bandwidth_limit.go
  31. 21 0
      services/cbn/struct_cen_inter_region_bandwidth_limits.go
  32. 21 0
      services/cbn/struct_cen_route_entries.go
  33. 25 0
      services/cbn/struct_cen_route_entry.go
  34. 21 0
      services/cbn/struct_cens.go
  35. 26 0
      services/cbn/struct_child_instance.go
  36. 21 0
      services/cbn/struct_child_instances.go
  37. 21 0
      services/cbn/struct_region_id.go
  38. 21 0
      services/cbn/struct_region_ids.go
  39. 25 0
      services/cbn/struct_route_conflict.go
  40. 21 0
      services/cbn/struct_route_conflicts.go
  41. 27 0
      services/cbn/struct_vbr_health_check.go
  42. 21 0
      services/cbn/struct_vbr_health_checks.go
  43. 108 0
      services/cbn/unassociate_cen_bandwidth_package.go
  44. 110 0
      services/cloudphoto/fetch_libraries.go
  45. 21 0
      services/cloudphoto/struct_libraries.go
  46. 2 1
      services/cloudphoto/struct_library.go
  47. 105 0
      services/csb/approve_order_list.go
  48. 107 0
      services/csb/check_service_exist.go
  49. 81 0
      services/csb/client.go
  50. 106 0
      services/csb/commit_successed_services.go
  51. 107 0
      services/csb/create_credentials.go
  52. 107 0
      services/csb/create_order.go
  53. 107 0
      services/csb/create_project.go
  54. 107 0
      services/csb/create_service.go
  55. 108 0
      services/csb/delete_cas_service.go
  56. 107 0
      services/csb/delete_credentials_list.go
  57. 105 0
      services/csb/delete_order_list.go
  58. 106 0
      services/csb/delete_project.go
  59. 106 0
      services/csb/delete_project_list.go
  60. 106 0
      services/csb/delete_service.go
  61. 106 0
      services/csb/delete_service_list.go
  62. 108 0
      services/csb/delete_union_cas_service.go
  63. 111 0
      services/csb/find_approval_order_list.go
  64. 111 0
      services/csb/find_approve_service_list.go
  65. 108 0
      services/csb/find_credentials_list.go
  66. 109 0
      services/csb/find_instance_list.go
  67. 110 0
      services/csb/find_orderable_list.go
  68. 113 0
      services/csb/find_ordered_list.go
  69. 108 0
      services/csb/find_project_list.go
  70. 107 0
      services/csb/find_projects_name_list.go
  71. 112 0
      services/csb/find_service_list.go
  72. 106 0
      services/csb/get_instance.go
  73. 107 0
      services/csb/get_order.go
  74. 107 0
      services/csb/get_project.go
  75. 107 0
      services/csb/get_service.go
  76. 106 0
      services/csb/publish_cas_service.go
  77. 106 0
      services/csb/publish_union_cas_service.go
  78. 106 0
      services/csb/renew_credentials.go
  79. 106 0
      services/csb/replace_credential.go
  80. 21 0
      services/csb/struct_cas_serv_targets.go
  81. 21 0
      services/csb/struct_consume_types.go
  82. 27 0
      services/csb/struct_credential.go
  83. 21 0
      services/csb/struct_credential_list.go
  84. 26 0
      services/csb/struct_credentials.go
  85. 22 0
      services/csb/struct_current_credential.go
  86. 36 0
      services/csb/struct_data.go
  87. 23 0
      services/csb/struct_error_type_catagory.go
  88. 23 0
      services/csb/struct_error_type_catagory_in_find_ordered_list.go
  89. 21 0
      services/csb/struct_error_type_catagory_list_in_find_ordered_list.go
  90. 21 0
      services/csb/struct_error_type_catagory_list_in_get_order.go
  91. 24 0
      services/csb/struct_import_conf.go
  92. 24 0
      services/csb/struct_import_confs.go
  93. 29 0
      services/csb/struct_input_parameter.go
  94. 21 0
      services/csb/struct_input_parameter_map_in_get_service.go
  95. 55 0
      services/csb/struct_instance.go
  96. 30 0
      services/csb/struct_item.go
  97. 21 0
      services/csb/struct_item_list.go
  98. 22 0
      services/csb/struct_new_credential.go
  99. 44 0
      services/csb/struct_order.go
  100. 34 0
      services/csb/struct_order_in_find_ordered_list.go

+ 40 - 0
ChangeLog.txt

@@ -1,3 +1,43 @@
+2018-03-29 Version: 1.4.10
+1, edit FetchLibraries return param format
+
+2018-03-29 Version: 1.4.9
+1, Add APIs: CreateAlias, UpdateAlias, DeleteAlias, ListAliases, ListAliasesByKeyId.
+2, Add APIs: GetParametersForImport, ImportKeyMaterial, DeleteKeyMaterial.
+3, Update KeyMetadata for CreateKey and DescribeKey.
+
+2018-03-29 Version: 1.4.8
+1, Cloud Enterprise Network SDK initial release.
+
+2018-03-29 Version: 1.4.7
+1, Cloud Enterprise Network SDK initial release.
+
+2018-03-27 Version: 1.4.6
+1, Rename QueryCustomerSaleInfo to RegionName.
+
+2018-03-27 Version: 1.4.5
+1, publish Project API.
+2, publish Service API.
+3, publish Service order API.
+4, publish Credential API.
+5, publish CAS API.
+
+2018-03-27 Version: 1.4.4
+1, add interface FetchLibraries
+
+2018-03-23 Version: 1.4.3
+1, interface DescribeInstanceTypes output InstancePpsRx InstancePpsTx
+
+2018-03-23 Version: 1.4.2
+1, interface DescribeInstanceTypes output InstancePpsRx InstancePpsTx
+
+2018-03-23 Version: 1.4.1
+1, ModifyPrepayInstanceSpec support migrateAcrossZone.
+
+2018-03-23 Version: 1.4.0
+1, Add 'QueryDevicesByAccount' and 'QueryDevicesByAlias'  Api.
+2, Remove 'QueryPushDetail' Api.
+
 2018-03-20 Version: 1.2.7
 2018-03-20 Version: 1.2.7
 1, add FetchAlbumTagPhotos
 1, add FetchAlbumTagPhotos
 2, CreatePhoto add optional param TakenAt
 2, CreatePhoto add optional param TakenAt

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

+ 111 - 0
services/cbn/attach_cen_child_instance.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"
+)
+
+// AttachCenChildInstance invokes the cbn.AttachCenChildInstance API synchronously
+// api document: https://help.aliyun.com/api/cbn/attachcenchildinstance.html
+func (client *Client) AttachCenChildInstance(request *AttachCenChildInstanceRequest) (response *AttachCenChildInstanceResponse, err error) {
+	response = CreateAttachCenChildInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AttachCenChildInstanceWithChan invokes the cbn.AttachCenChildInstance API asynchronously
+// api document: https://help.aliyun.com/api/cbn/attachcenchildinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AttachCenChildInstanceWithChan(request *AttachCenChildInstanceRequest) (<-chan *AttachCenChildInstanceResponse, <-chan error) {
+	responseChan := make(chan *AttachCenChildInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AttachCenChildInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AttachCenChildInstanceWithCallback invokes the cbn.AttachCenChildInstance API asynchronously
+// api document: https://help.aliyun.com/api/cbn/attachcenchildinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AttachCenChildInstanceWithCallback(request *AttachCenChildInstanceRequest, callback func(response *AttachCenChildInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AttachCenChildInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.AttachCenChildInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AttachCenChildInstanceRequest is the request struct for api AttachCenChildInstance
+type AttachCenChildInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                 string           `position:"Query" name:"CenId"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
+	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
+}
+
+// AttachCenChildInstanceResponse is the response struct for api AttachCenChildInstance
+type AttachCenChildInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAttachCenChildInstanceRequest creates a request to invoke AttachCenChildInstance API
+func CreateAttachCenChildInstanceRequest() (request *AttachCenChildInstanceRequest) {
+	request = &AttachCenChildInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "AttachCenChildInstance", "cbn", "openAPI")
+	return
+}
+
+// CreateAttachCenChildInstanceResponse creates a response to parse from AttachCenChildInstance response
+func CreateAttachCenChildInstanceResponse() (response *AttachCenChildInstanceResponse) {
+	response = &AttachCenChildInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/cbn/client.go

@@ -0,0 +1,81 @@
+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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

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

+ 118 - 0
services/cbn/create_cen_bandwidth_package.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"
+)
+
+// CreateCenBandwidthPackage invokes the cbn.CreateCenBandwidthPackage API synchronously
+// api document: https://help.aliyun.com/api/cbn/createcenbandwidthpackage.html
+func (client *Client) CreateCenBandwidthPackage(request *CreateCenBandwidthPackageRequest) (response *CreateCenBandwidthPackageResponse, err error) {
+	response = CreateCreateCenBandwidthPackageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCenBandwidthPackageWithChan invokes the cbn.CreateCenBandwidthPackage API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createcenbandwidthpackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCenBandwidthPackageWithChan(request *CreateCenBandwidthPackageRequest) (<-chan *CreateCenBandwidthPackageResponse, <-chan error) {
+	responseChan := make(chan *CreateCenBandwidthPackageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCenBandwidthPackage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCenBandwidthPackageWithCallback invokes the cbn.CreateCenBandwidthPackage API asynchronously
+// api document: https://help.aliyun.com/api/cbn/createcenbandwidthpackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCenBandwidthPackageWithCallback(request *CreateCenBandwidthPackageRequest, callback func(response *CreateCenBandwidthPackageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCenBandwidthPackageResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCenBandwidthPackage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCenBandwidthPackageRequest is the request struct for api CreateCenBandwidthPackage
+type CreateCenBandwidthPackageRequest struct {
+	*requests.RpcRequest
+	OwnerAccount               string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                    requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount       string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId            requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken                string           `position:"Query" name:"ClientToken"`
+	Name                       string           `position:"Query" name:"Name"`
+	Description                string           `position:"Query" name:"Description"`
+	Bandwidth                  requests.Integer `position:"Query" name:"Bandwidth"`
+	GeographicRegionAId        string           `position:"Query" name:"GeographicRegionAId"`
+	GeographicRegionBId        string           `position:"Query" name:"GeographicRegionBId"`
+	BandwidthPackageChargeType string           `position:"Query" name:"BandwidthPackageChargeType"`
+	Period                     requests.Integer `position:"Query" name:"Period"`
+	PricingCycle               string           `position:"Query" name:"PricingCycle"`
+	AutoPay                    requests.Boolean `position:"Query" name:"AutoPay"`
+}
+
+// CreateCenBandwidthPackageResponse is the response struct for api CreateCenBandwidthPackage
+type CreateCenBandwidthPackageResponse struct {
+	*responses.BaseResponse
+	RequestId                  string `json:"RequestId" xml:"RequestId"`
+	CenBandwidthPackageId      string `json:"CenBandwidthPackageId" xml:"CenBandwidthPackageId"`
+	CenBandwidthPackageOrderId string `json:"CenBandwidthPackageOrderId" xml:"CenBandwidthPackageOrderId"`
+}
+
+// CreateCreateCenBandwidthPackageRequest creates a request to invoke CreateCenBandwidthPackage API
+func CreateCreateCenBandwidthPackageRequest() (request *CreateCenBandwidthPackageRequest) {
+	request = &CreateCenBandwidthPackageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "CreateCenBandwidthPackage", "cbn", "openAPI")
+	return
+}
+
+// CreateCreateCenBandwidthPackageResponse creates a response to parse from CreateCenBandwidthPackage response
+func CreateCreateCenBandwidthPackageResponse() (response *CreateCenBandwidthPackageResponse) {
+	response = &CreateCenBandwidthPackageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cbn/delete_cen.go

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

+ 107 - 0
services/cbn/delete_cen_bandwidth_package.go

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

+ 113 - 0
services/cbn/describe_cen_attached_child_instances.go

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

+ 120 - 0
services/cbn/describe_cen_bandwidth_packages.go

@@ -0,0 +1,120 @@
+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"
+)
+
+// DescribeCenBandwidthPackages invokes the cbn.DescribeCenBandwidthPackages API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenbandwidthpackages.html
+func (client *Client) DescribeCenBandwidthPackages(request *DescribeCenBandwidthPackagesRequest) (response *DescribeCenBandwidthPackagesResponse, err error) {
+	response = CreateDescribeCenBandwidthPackagesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenBandwidthPackagesWithChan invokes the cbn.DescribeCenBandwidthPackages API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenbandwidthpackages.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenBandwidthPackagesWithChan(request *DescribeCenBandwidthPackagesRequest) (<-chan *DescribeCenBandwidthPackagesResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenBandwidthPackagesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenBandwidthPackages(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenBandwidthPackagesWithCallback invokes the cbn.DescribeCenBandwidthPackages API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenbandwidthpackages.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenBandwidthPackagesWithCallback(request *DescribeCenBandwidthPackagesRequest, callback func(response *DescribeCenBandwidthPackagesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenBandwidthPackagesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenBandwidthPackages(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenBandwidthPackagesRequest is the request struct for api DescribeCenBandwidthPackages
+type DescribeCenBandwidthPackagesRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string                                `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer                      `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string                                `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer                      `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer                      `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer                      `position:"Query" name:"PageSize"`
+	Filter               *[]DescribeCenBandwidthPackagesFilter `position:"Query" name:"Filter"  type:"Repeated"`
+	IsOrKey              requests.Boolean                      `position:"Query" name:"IsOrKey"`
+}
+
+// DescribeCenBandwidthPackagesFilter is a repeated param struct in DescribeCenBandwidthPackagesRequest
+type DescribeCenBandwidthPackagesFilter struct {
+	Key   string    `name:"Key"`
+	Value *[]string `name:"Value" type:"Repeated"`
+}
+
+// DescribeCenBandwidthPackagesResponse is the response struct for api DescribeCenBandwidthPackages
+type DescribeCenBandwidthPackagesResponse 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"`
+	CenBandwidthPackages CenBandwidthPackages `json:"CenBandwidthPackages" xml:"CenBandwidthPackages"`
+}
+
+// CreateDescribeCenBandwidthPackagesRequest creates a request to invoke DescribeCenBandwidthPackages API
+func CreateDescribeCenBandwidthPackagesRequest() (request *DescribeCenBandwidthPackagesRequest) {
+	request = &DescribeCenBandwidthPackagesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenBandwidthPackages", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenBandwidthPackagesResponse creates a response to parse from DescribeCenBandwidthPackages response
+func CreateDescribeCenBandwidthPackagesResponse() (response *DescribeCenBandwidthPackagesResponse) {
+	response = &DescribeCenBandwidthPackagesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cbn/describe_cen_geographic_span_remaining_bandwidth.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"
+)
+
+// DescribeCenGeographicSpanRemainingBandwidth invokes the cbn.DescribeCenGeographicSpanRemainingBandwidth API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspanremainingbandwidth.html
+func (client *Client) DescribeCenGeographicSpanRemainingBandwidth(request *DescribeCenGeographicSpanRemainingBandwidthRequest) (response *DescribeCenGeographicSpanRemainingBandwidthResponse, err error) {
+	response = CreateDescribeCenGeographicSpanRemainingBandwidthResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenGeographicSpanRemainingBandwidthWithChan invokes the cbn.DescribeCenGeographicSpanRemainingBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspanremainingbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenGeographicSpanRemainingBandwidthWithChan(request *DescribeCenGeographicSpanRemainingBandwidthRequest) (<-chan *DescribeCenGeographicSpanRemainingBandwidthResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenGeographicSpanRemainingBandwidthResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenGeographicSpanRemainingBandwidth(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenGeographicSpanRemainingBandwidthWithCallback invokes the cbn.DescribeCenGeographicSpanRemainingBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecengeographicspanremainingbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenGeographicSpanRemainingBandwidthWithCallback(request *DescribeCenGeographicSpanRemainingBandwidthRequest, callback func(response *DescribeCenGeographicSpanRemainingBandwidthResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenGeographicSpanRemainingBandwidthResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenGeographicSpanRemainingBandwidth(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenGeographicSpanRemainingBandwidthRequest is the request struct for api DescribeCenGeographicSpanRemainingBandwidth
+type DescribeCenGeographicSpanRemainingBandwidthRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	CenId                string           `position:"Query" name:"CenId"`
+	GeographicRegionAId  string           `position:"Query" name:"GeographicRegionAId"`
+	GeographicRegionBId  string           `position:"Query" name:"GeographicRegionBId"`
+}
+
+// DescribeCenGeographicSpanRemainingBandwidthResponse is the response struct for api DescribeCenGeographicSpanRemainingBandwidth
+type DescribeCenGeographicSpanRemainingBandwidthResponse struct {
+	*responses.BaseResponse
+	RequestId          string `json:"RequestId" xml:"RequestId"`
+	RemainingBandwidth int    `json:"RemainingBandwidth" xml:"RemainingBandwidth"`
+}
+
+// CreateDescribeCenGeographicSpanRemainingBandwidthRequest creates a request to invoke DescribeCenGeographicSpanRemainingBandwidth API
+func CreateDescribeCenGeographicSpanRemainingBandwidthRequest() (request *DescribeCenGeographicSpanRemainingBandwidthRequest) {
+	request = &DescribeCenGeographicSpanRemainingBandwidthRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenGeographicSpanRemainingBandwidth", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenGeographicSpanRemainingBandwidthResponse creates a response to parse from DescribeCenGeographicSpanRemainingBandwidth response
+func CreateDescribeCenGeographicSpanRemainingBandwidthResponse() (response *DescribeCenGeographicSpanRemainingBandwidthResponse) {
+	response = &DescribeCenGeographicSpanRemainingBandwidthResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cbn/describe_cen_inter_region_bandwidth_limits.go

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

+ 114 - 0
services/cbn/describe_cen_region_domain_route_entries.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"
+)
+
+// DescribeCenRegionDomainRouteEntries invokes the cbn.DescribeCenRegionDomainRouteEntries API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenregiondomainrouteentries.html
+func (client *Client) DescribeCenRegionDomainRouteEntries(request *DescribeCenRegionDomainRouteEntriesRequest) (response *DescribeCenRegionDomainRouteEntriesResponse, err error) {
+	response = CreateDescribeCenRegionDomainRouteEntriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenRegionDomainRouteEntriesWithChan invokes the cbn.DescribeCenRegionDomainRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenregiondomainrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenRegionDomainRouteEntriesWithChan(request *DescribeCenRegionDomainRouteEntriesRequest) (<-chan *DescribeCenRegionDomainRouteEntriesResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenRegionDomainRouteEntriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenRegionDomainRouteEntries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenRegionDomainRouteEntriesWithCallback invokes the cbn.DescribeCenRegionDomainRouteEntries API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenregiondomainrouteentries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenRegionDomainRouteEntriesWithCallback(request *DescribeCenRegionDomainRouteEntriesRequest, callback func(response *DescribeCenRegionDomainRouteEntriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenRegionDomainRouteEntriesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenRegionDomainRouteEntries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenRegionDomainRouteEntriesRequest is the request struct for api DescribeCenRegionDomainRouteEntries
+type DescribeCenRegionDomainRouteEntriesRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                string           `position:"Query" name:"CenId"`
+	CenRegionId          string           `position:"Query" name:"CenRegionId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// 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"`
+}
+
+// CreateDescribeCenRegionDomainRouteEntriesRequest creates a request to invoke DescribeCenRegionDomainRouteEntries API
+func CreateDescribeCenRegionDomainRouteEntriesRequest() (request *DescribeCenRegionDomainRouteEntriesRequest) {
+	request = &DescribeCenRegionDomainRouteEntriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenRegionDomainRouteEntries", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenRegionDomainRouteEntriesResponse creates a response to parse from DescribeCenRegionDomainRouteEntries response
+func CreateDescribeCenRegionDomainRouteEntriesResponse() (response *DescribeCenRegionDomainRouteEntriesResponse) {
+	response = &DescribeCenRegionDomainRouteEntriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cbn/describe_cen_vbr_health_check.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"
+)
+
+// DescribeCenVbrHealthCheck invokes the cbn.DescribeCenVbrHealthCheck API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecenvbrhealthcheck.html
+func (client *Client) DescribeCenVbrHealthCheck(request *DescribeCenVbrHealthCheckRequest) (response *DescribeCenVbrHealthCheckResponse, err error) {
+	response = CreateDescribeCenVbrHealthCheckResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCenVbrHealthCheckWithChan invokes the cbn.DescribeCenVbrHealthCheck API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenvbrhealthcheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenVbrHealthCheckWithChan(request *DescribeCenVbrHealthCheckRequest) (<-chan *DescribeCenVbrHealthCheckResponse, <-chan error) {
+	responseChan := make(chan *DescribeCenVbrHealthCheckResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCenVbrHealthCheck(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCenVbrHealthCheckWithCallback invokes the cbn.DescribeCenVbrHealthCheck API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecenvbrhealthcheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCenVbrHealthCheckWithCallback(request *DescribeCenVbrHealthCheckRequest, callback func(response *DescribeCenVbrHealthCheckResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCenVbrHealthCheckResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCenVbrHealthCheck(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCenVbrHealthCheckRequest is the request struct for api DescribeCenVbrHealthCheck
+type DescribeCenVbrHealthCheckRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                string           `position:"Query" name:"CenId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
+	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeCenVbrHealthCheckResponse is the response struct for api DescribeCenVbrHealthCheck
+type DescribeCenVbrHealthCheckResponse 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"`
+	VbrHealthChecks VbrHealthChecks `json:"VbrHealthChecks" xml:"VbrHealthChecks"`
+}
+
+// CreateDescribeCenVbrHealthCheckRequest creates a request to invoke DescribeCenVbrHealthCheck API
+func CreateDescribeCenVbrHealthCheckRequest() (request *DescribeCenVbrHealthCheckRequest) {
+	request = &DescribeCenVbrHealthCheckRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCenVbrHealthCheck", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCenVbrHealthCheckResponse creates a response to parse from DescribeCenVbrHealthCheck response
+func CreateDescribeCenVbrHealthCheckResponse() (response *DescribeCenVbrHealthCheckResponse) {
+	response = &DescribeCenVbrHealthCheckResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/cbn/describe_cens.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"
+)
+
+// DescribeCens invokes the cbn.DescribeCens API synchronously
+// api document: https://help.aliyun.com/api/cbn/describecens.html
+func (client *Client) DescribeCens(request *DescribeCensRequest) (response *DescribeCensResponse, err error) {
+	response = CreateDescribeCensResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCensWithChan invokes the cbn.DescribeCens API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecens.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCensWithChan(request *DescribeCensRequest) (<-chan *DescribeCensResponse, <-chan error) {
+	responseChan := make(chan *DescribeCensResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCens(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCensWithCallback invokes the cbn.DescribeCens API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describecens.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCensWithCallback(request *DescribeCensRequest, callback func(response *DescribeCensResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCensResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCens(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCensRequest is the request struct for api DescribeCens
+type DescribeCensRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string                `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string                `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer      `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer      `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer      `position:"Query" name:"PageSize"`
+	Filter               *[]DescribeCensFilter `position:"Query" name:"Filter"  type:"Repeated"`
+}
+
+// DescribeCensFilter is a repeated param struct in DescribeCensRequest
+type DescribeCensFilter struct {
+	Key   string    `name:"Key"`
+	Value *[]string `name:"Value" type:"Repeated"`
+}
+
+// DescribeCensResponse is the response struct for api DescribeCens
+type DescribeCensResponse 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"`
+	Cens       Cens   `json:"Cens" xml:"Cens"`
+}
+
+// CreateDescribeCensRequest creates a request to invoke DescribeCens API
+func CreateDescribeCensRequest() (request *DescribeCensRequest) {
+	request = &DescribeCensRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeCens", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeCensResponse creates a response to parse from DescribeCens response
+func CreateDescribeCensResponse() (response *DescribeCensResponse) {
+	response = &DescribeCensResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cbn/describe_geographic_region_membership.go

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

+ 117 - 0
services/cbn/describe_route_conflict.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"
+)
+
+// DescribeRouteConflict invokes the cbn.DescribeRouteConflict API synchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteconflict.html
+func (client *Client) DescribeRouteConflict(request *DescribeRouteConflictRequest) (response *DescribeRouteConflictResponse, err error) {
+	response = CreateDescribeRouteConflictResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRouteConflictWithChan invokes the cbn.DescribeRouteConflict API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteconflict.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouteConflictWithChan(request *DescribeRouteConflictRequest) (<-chan *DescribeRouteConflictResponse, <-chan error) {
+	responseChan := make(chan *DescribeRouteConflictResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRouteConflict(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRouteConflictWithCallback invokes the cbn.DescribeRouteConflict API asynchronously
+// api document: https://help.aliyun.com/api/cbn/describerouteconflict.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouteConflictWithCallback(request *DescribeRouteConflictRequest, callback func(response *DescribeRouteConflictResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRouteConflictResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRouteConflict(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRouteConflictRequest is the request struct for api DescribeRouteConflict
+type DescribeRouteConflictRequest struct {
+	*requests.RpcRequest
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber                requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize                  requests.Integer `position:"Query" name:"PageSize"`
+	ChildInstanceId           string           `position:"Query" name:"ChildInstanceId"`
+	ChildInstanceType         string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRegionId     string           `position:"Query" name:"ChildInstanceRegionId"`
+	ChildInstanceRouteTableId string           `position:"Query" name:"ChildInstanceRouteTableId"`
+	DestinationCidrBlock      string           `position:"Query" name:"DestinationCidrBlock"`
+}
+
+// DescribeRouteConflictResponse is the response struct for api DescribeRouteConflict
+type DescribeRouteConflictResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	RouteConflicts RouteConflicts `json:"RouteConflicts" xml:"RouteConflicts"`
+}
+
+// CreateDescribeRouteConflictRequest creates a request to invoke DescribeRouteConflict API
+func CreateDescribeRouteConflictRequest() (request *DescribeRouteConflictRequest) {
+	request = &DescribeRouteConflictRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DescribeRouteConflict", "cbn", "openAPI")
+	return
+}
+
+// CreateDescribeRouteConflictResponse creates a response to parse from DescribeRouteConflict response
+func CreateDescribeRouteConflictResponse() (response *DescribeRouteConflictResponse) {
+	response = &DescribeRouteConflictResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cbn/detach_cen_child_instance.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"
+)
+
+// DetachCenChildInstance invokes the cbn.DetachCenChildInstance API synchronously
+// api document: https://help.aliyun.com/api/cbn/detachcenchildinstance.html
+func (client *Client) DetachCenChildInstance(request *DetachCenChildInstanceRequest) (response *DetachCenChildInstanceResponse, err error) {
+	response = CreateDetachCenChildInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DetachCenChildInstanceWithChan invokes the cbn.DetachCenChildInstance API asynchronously
+// api document: https://help.aliyun.com/api/cbn/detachcenchildinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DetachCenChildInstanceWithChan(request *DetachCenChildInstanceRequest) (<-chan *DetachCenChildInstanceResponse, <-chan error) {
+	responseChan := make(chan *DetachCenChildInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DetachCenChildInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DetachCenChildInstanceWithCallback invokes the cbn.DetachCenChildInstance API asynchronously
+// api document: https://help.aliyun.com/api/cbn/detachcenchildinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DetachCenChildInstanceWithCallback(request *DetachCenChildInstanceRequest, callback func(response *DetachCenChildInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DetachCenChildInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DetachCenChildInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DetachCenChildInstanceRequest is the request struct for api DetachCenChildInstance
+type DetachCenChildInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                 string           `position:"Query" name:"CenId"`
+	ChildInstanceId       string           `position:"Query" name:"ChildInstanceId"`
+	ChildInstanceType     string           `position:"Query" name:"ChildInstanceType"`
+	ChildInstanceRegionId string           `position:"Query" name:"ChildInstanceRegionId"`
+	ChildInstanceOwnerId  requests.Integer `position:"Query" name:"ChildInstanceOwnerId"`
+	CenOwnerId            requests.Integer `position:"Query" name:"CenOwnerId"`
+}
+
+// DetachCenChildInstanceResponse is the response struct for api DetachCenChildInstance
+type DetachCenChildInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDetachCenChildInstanceRequest creates a request to invoke DetachCenChildInstance API
+func CreateDetachCenChildInstanceRequest() (request *DetachCenChildInstanceRequest) {
+	request = &DetachCenChildInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "DetachCenChildInstance", "cbn", "openAPI")
+	return
+}
+
+// CreateDetachCenChildInstanceResponse creates a response to parse from DetachCenChildInstance response
+func CreateDetachCenChildInstanceResponse() (response *DetachCenChildInstanceResponse) {
+	response = &DetachCenChildInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 112 - 0
services/cbn/enable_cen_vbr_health_check.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"
+)
+
+// EnableCenVbrHealthCheck invokes the cbn.EnableCenVbrHealthCheck API synchronously
+// api document: https://help.aliyun.com/api/cbn/enablecenvbrhealthcheck.html
+func (client *Client) EnableCenVbrHealthCheck(request *EnableCenVbrHealthCheckRequest) (response *EnableCenVbrHealthCheckResponse, err error) {
+	response = CreateEnableCenVbrHealthCheckResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableCenVbrHealthCheckWithChan invokes the cbn.EnableCenVbrHealthCheck API asynchronously
+// api document: https://help.aliyun.com/api/cbn/enablecenvbrhealthcheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableCenVbrHealthCheckWithChan(request *EnableCenVbrHealthCheckRequest) (<-chan *EnableCenVbrHealthCheckResponse, <-chan error) {
+	responseChan := make(chan *EnableCenVbrHealthCheckResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableCenVbrHealthCheck(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableCenVbrHealthCheckWithCallback invokes the cbn.EnableCenVbrHealthCheck API asynchronously
+// api document: https://help.aliyun.com/api/cbn/enablecenvbrhealthcheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableCenVbrHealthCheckWithCallback(request *EnableCenVbrHealthCheckRequest, callback func(response *EnableCenVbrHealthCheckResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableCenVbrHealthCheckResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableCenVbrHealthCheck(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableCenVbrHealthCheckRequest is the request struct for api EnableCenVbrHealthCheck
+type EnableCenVbrHealthCheckRequest struct {
+	*requests.RpcRequest
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CenId                string           `position:"Query" name:"CenId"`
+	VbrInstanceRegionId  string           `position:"Query" name:"VbrInstanceRegionId"`
+	VbrInstanceId        string           `position:"Query" name:"VbrInstanceId"`
+	HealthCheckSourceIp  string           `position:"Query" name:"HealthCheckSourceIp"`
+	HealthCheckTargetIp  string           `position:"Query" name:"HealthCheckTargetIp"`
+	VbrInstanceOwnerId   requests.Integer `position:"Query" name:"VbrInstanceOwnerId"`
+}
+
+// EnableCenVbrHealthCheckResponse is the response struct for api EnableCenVbrHealthCheck
+type EnableCenVbrHealthCheckResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEnableCenVbrHealthCheckRequest creates a request to invoke EnableCenVbrHealthCheck API
+func CreateEnableCenVbrHealthCheckRequest() (request *EnableCenVbrHealthCheckRequest) {
+	request = &EnableCenVbrHealthCheckRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "EnableCenVbrHealthCheck", "cbn", "openAPI")
+	return
+}
+
+// CreateEnableCenVbrHealthCheckResponse creates a response to parse from EnableCenVbrHealthCheck response
+func CreateEnableCenVbrHealthCheckResponse() (response *EnableCenVbrHealthCheckResponse) {
+	response = &EnableCenVbrHealthCheckResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

+ 109 - 0
services/cbn/modify_cen_bandwidth_package_attribute.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"
+)
+
+// ModifyCenBandwidthPackageAttribute invokes the cbn.ModifyCenBandwidthPackageAttribute API synchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenbandwidthpackageattribute.html
+func (client *Client) ModifyCenBandwidthPackageAttribute(request *ModifyCenBandwidthPackageAttributeRequest) (response *ModifyCenBandwidthPackageAttributeResponse, err error) {
+	response = CreateModifyCenBandwidthPackageAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyCenBandwidthPackageAttributeWithChan invokes the cbn.ModifyCenBandwidthPackageAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenbandwidthpackageattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCenBandwidthPackageAttributeWithChan(request *ModifyCenBandwidthPackageAttributeRequest) (<-chan *ModifyCenBandwidthPackageAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyCenBandwidthPackageAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCenBandwidthPackageAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyCenBandwidthPackageAttributeWithCallback invokes the cbn.ModifyCenBandwidthPackageAttribute API asynchronously
+// api document: https://help.aliyun.com/api/cbn/modifycenbandwidthpackageattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCenBandwidthPackageAttributeWithCallback(request *ModifyCenBandwidthPackageAttributeRequest, callback func(response *ModifyCenBandwidthPackageAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCenBandwidthPackageAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCenBandwidthPackageAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyCenBandwidthPackageAttributeRequest is the request struct for api ModifyCenBandwidthPackageAttribute
+type ModifyCenBandwidthPackageAttributeRequest struct {
+	*requests.RpcRequest
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Name                  string           `position:"Query" name:"Name"`
+	Description           string           `position:"Query" name:"Description"`
+	CenBandwidthPackageId string           `position:"Query" name:"CenBandwidthPackageId"`
+}
+
+// ModifyCenBandwidthPackageAttributeResponse is the response struct for api ModifyCenBandwidthPackageAttribute
+type ModifyCenBandwidthPackageAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyCenBandwidthPackageAttributeRequest creates a request to invoke ModifyCenBandwidthPackageAttribute API
+func CreateModifyCenBandwidthPackageAttributeRequest() (request *ModifyCenBandwidthPackageAttributeRequest) {
+	request = &ModifyCenBandwidthPackageAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cbn", "2017-09-12", "ModifyCenBandwidthPackageAttribute", "cbn", "openAPI")
+	return
+}
+
+// CreateModifyCenBandwidthPackageAttributeResponse creates a response to parse from ModifyCenBandwidthPackageAttribute response
+func CreateModifyCenBandwidthPackageAttributeResponse() (response *ModifyCenBandwidthPackageAttributeResponse) {
+	response = &ModifyCenBandwidthPackageAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

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

+ 26 - 0
services/cbn/struct_cen.go

@@ -0,0 +1,26 @@
+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.
+
+// Cen is a nested struct in cbn response
+type Cen struct {
+	CenId                  string                 `json:"CenId" xml:"CenId"`
+	Name                   string                 `json:"Name" xml:"Name"`
+	Description            string                 `json:"Description" xml:"Description"`
+	Status                 string                 `json:"Status" xml:"Status"`
+	CreationTime           string                 `json:"CreationTime" xml:"CreationTime"`
+	CenBandwidthPackageIds CenBandwidthPackageIds `json:"CenBandwidthPackageIds" xml:"CenBandwidthPackageIds"`
+}

+ 32 - 0
services/cbn/struct_cen_bandwidth_package.go

@@ -0,0 +1,32 @@
+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.
+
+// 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"`
+	BusinessStatus             string `json:"BusinessStatus" xml:"BusinessStatus"`
+	CreationTime               string `json:"CreationTime" xml:"CreationTime"`
+	ExpiredTime                string `json:"ExpiredTime" xml:"ExpiredTime"`
+	Status                     string `json:"Status" xml:"Status"`
+	CenIds                     CenIds `json:"CenIds" xml:"CenIds"`
+}

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

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

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

+ 25 - 0
services/cbn/struct_cen_inter_region_bandwidth_limit.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.
+
+// CenInterRegionBandwidthLimit is a nested struct in cbn response
+type CenInterRegionBandwidthLimit struct {
+	CenId            string `json:"CenId" xml:"CenId"`
+	LocalRegionId    string `json:"LocalRegionId" xml:"LocalRegionId"`
+	OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	BandwidthLimit   int    `json:"BandwidthLimit" xml:"BandwidthLimit"`
+	Status           string `json:"Status" xml:"Status"`
+}

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

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

+ 25 - 0
services/cbn/struct_cen_route_entry.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.
+
+// 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"`
+}

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

+ 26 - 0
services/cbn/struct_child_instance.go

@@ -0,0 +1,26 @@
+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.
+
+// 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"`
+}

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

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

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

+ 25 - 0
services/cbn/struct_route_conflict.go

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

+ 21 - 0
services/cbn/struct_route_conflicts.go

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

+ 27 - 0
services/cbn/struct_vbr_health_check.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.
+
+// VbrHealthCheck is a nested struct in cbn response
+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"`
+	HealthCheckSourceIp string `json:"HealthCheckSourceIp" xml:"HealthCheckSourceIp"`
+	HealthCheckTargetIp string `json:"HealthCheckTargetIp" xml:"HealthCheckTargetIp"`
+	Delay               int    `json:"Delay" xml:"Delay"`
+}

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

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

+ 110 - 0
services/cloudphoto/fetch_libraries.go

@@ -0,0 +1,110 @@
+package cloudphoto
+
+//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"
+)
+
+// FetchLibraries invokes the cloudphoto.FetchLibraries API synchronously
+// api document: https://help.aliyun.com/api/cloudphoto/fetchlibraries.html
+func (client *Client) FetchLibraries(request *FetchLibrariesRequest) (response *FetchLibrariesResponse, err error) {
+	response = CreateFetchLibrariesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FetchLibrariesWithChan invokes the cloudphoto.FetchLibraries API asynchronously
+// api document: https://help.aliyun.com/api/cloudphoto/fetchlibraries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FetchLibrariesWithChan(request *FetchLibrariesRequest) (<-chan *FetchLibrariesResponse, <-chan error) {
+	responseChan := make(chan *FetchLibrariesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FetchLibraries(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FetchLibrariesWithCallback invokes the cloudphoto.FetchLibraries API asynchronously
+// api document: https://help.aliyun.com/api/cloudphoto/fetchlibraries.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FetchLibrariesWithCallback(request *FetchLibrariesRequest, callback func(response *FetchLibrariesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FetchLibrariesResponse
+		var err error
+		defer close(result)
+		response, err = client.FetchLibraries(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FetchLibrariesRequest is the request struct for api FetchLibraries
+type FetchLibrariesRequest struct {
+	*requests.RpcRequest
+	StoreName string           `position:"Query" name:"StoreName"`
+	Page      requests.Integer `position:"Query" name:"Page"`
+	Size      requests.Integer `position:"Query" name:"Size"`
+}
+
+// FetchLibrariesResponse is the response struct for api FetchLibraries
+type FetchLibrariesResponse struct {
+	*responses.BaseResponse
+	Code       string    `json:"Code" xml:"Code"`
+	Message    string    `json:"Message" xml:"Message"`
+	TotalCount int       `json:"TotalCount" xml:"TotalCount"`
+	RequestId  string    `json:"RequestId" xml:"RequestId"`
+	Action     string    `json:"Action" xml:"Action"`
+	Libraries  []Library `json:"Libraries" xml:"Libraries"`
+}
+
+// CreateFetchLibrariesRequest creates a request to invoke FetchLibraries API
+func CreateFetchLibrariesRequest() (request *FetchLibrariesRequest) {
+	request = &FetchLibrariesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudPhoto", "2017-07-11", "FetchLibraries", "cloudphoto", "openAPI")
+	return
+}
+
+// CreateFetchLibrariesResponse creates a response to parse from FetchLibraries response
+func CreateFetchLibrariesResponse() (response *FetchLibrariesResponse) {
+	response = &FetchLibrariesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/cloudphoto/struct_libraries.go

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

+ 2 - 1
services/cloudphoto/struct_library.go

@@ -17,6 +17,7 @@ package cloudphoto
 
 
 // Library is a nested struct in cloudphoto response
 // Library is a nested struct in cloudphoto response
 type Library struct {
 type Library struct {
-	Quota           Quota           `json:"Quota" xml:"Quota"`
+	LibraryId       string          `json:"LibraryId" xml:"LibraryId"`
 	AutoCleanConfig AutoCleanConfig `json:"AutoCleanConfig" xml:"AutoCleanConfig"`
 	AutoCleanConfig AutoCleanConfig `json:"AutoCleanConfig" xml:"AutoCleanConfig"`
+	Quota           Quota           `json:"Quota" xml:"Quota"`
 }
 }

+ 105 - 0
services/csb/approve_order_list.go

@@ -0,0 +1,105 @@
+package csb
+
+//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"
+)
+
+// ApproveOrderList invokes the csb.ApproveOrderList API synchronously
+// api document: https://help.aliyun.com/api/csb/approveorderlist.html
+func (client *Client) ApproveOrderList(request *ApproveOrderListRequest) (response *ApproveOrderListResponse, err error) {
+	response = CreateApproveOrderListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ApproveOrderListWithChan invokes the csb.ApproveOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/approveorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApproveOrderListWithChan(request *ApproveOrderListRequest) (<-chan *ApproveOrderListResponse, <-chan error) {
+	responseChan := make(chan *ApproveOrderListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ApproveOrderList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ApproveOrderListWithCallback invokes the csb.ApproveOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/approveorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ApproveOrderListWithCallback(request *ApproveOrderListRequest, callback func(response *ApproveOrderListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ApproveOrderListResponse
+		var err error
+		defer close(result)
+		response, err = client.ApproveOrderList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ApproveOrderListRequest is the request struct for api ApproveOrderList
+type ApproveOrderListRequest struct {
+	*requests.RpcRequest
+	Data string `position:"Body" name:"Data"`
+}
+
+// ApproveOrderListResponse is the response struct for api ApproveOrderList
+type ApproveOrderListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateApproveOrderListRequest creates a request to invoke ApproveOrderList API
+func CreateApproveOrderListRequest() (request *ApproveOrderListRequest) {
+	request = &ApproveOrderListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "ApproveOrderList", "CSB", "openAPI")
+	return
+}
+
+// CreateApproveOrderListResponse creates a response to parse from ApproveOrderList response
+func CreateApproveOrderListResponse() (response *ApproveOrderListResponse) {
+	response = &ApproveOrderListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/check_service_exist.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// CheckServiceExist invokes the csb.CheckServiceExist API synchronously
+// api document: https://help.aliyun.com/api/csb/checkserviceexist.html
+func (client *Client) CheckServiceExist(request *CheckServiceExistRequest) (response *CheckServiceExistResponse, err error) {
+	response = CreateCheckServiceExistResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CheckServiceExistWithChan invokes the csb.CheckServiceExist API asynchronously
+// api document: https://help.aliyun.com/api/csb/checkserviceexist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckServiceExistWithChan(request *CheckServiceExistRequest) (<-chan *CheckServiceExistResponse, <-chan error) {
+	responseChan := make(chan *CheckServiceExistResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CheckServiceExist(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CheckServiceExistWithCallback invokes the csb.CheckServiceExist API asynchronously
+// api document: https://help.aliyun.com/api/csb/checkserviceexist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckServiceExistWithCallback(request *CheckServiceExistRequest, callback func(response *CheckServiceExistResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CheckServiceExistResponse
+		var err error
+		defer close(result)
+		response, err = client.CheckServiceExist(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CheckServiceExistRequest is the request struct for api CheckServiceExist
+type CheckServiceExistRequest struct {
+	*requests.RpcRequest
+	CsbId       requests.Integer `position:"Query" name:"CsbId"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+}
+
+// CheckServiceExistResponse is the response struct for api CheckServiceExist
+type CheckServiceExistResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCheckServiceExistRequest creates a request to invoke CheckServiceExist API
+func CreateCheckServiceExistRequest() (request *CheckServiceExistRequest) {
+	request = &CheckServiceExistRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CheckServiceExist", "CSB", "openAPI")
+	return
+}
+
+// CreateCheckServiceExistResponse creates a response to parse from CheckServiceExist response
+func CreateCheckServiceExistResponse() (response *CheckServiceExistResponse) {
+	response = &CheckServiceExistResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/csb/client.go

@@ -0,0 +1,81 @@
+package csb
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 106 - 0
services/csb/commit_successed_services.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// CommitSuccessedServices invokes the csb.CommitSuccessedServices API synchronously
+// api document: https://help.aliyun.com/api/csb/commitsuccessedservices.html
+func (client *Client) CommitSuccessedServices(request *CommitSuccessedServicesRequest) (response *CommitSuccessedServicesResponse, err error) {
+	response = CreateCommitSuccessedServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CommitSuccessedServicesWithChan invokes the csb.CommitSuccessedServices API asynchronously
+// api document: https://help.aliyun.com/api/csb/commitsuccessedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CommitSuccessedServicesWithChan(request *CommitSuccessedServicesRequest) (<-chan *CommitSuccessedServicesResponse, <-chan error) {
+	responseChan := make(chan *CommitSuccessedServicesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CommitSuccessedServices(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CommitSuccessedServicesWithCallback invokes the csb.CommitSuccessedServices API asynchronously
+// api document: https://help.aliyun.com/api/csb/commitsuccessedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CommitSuccessedServicesWithCallback(request *CommitSuccessedServicesRequest, callback func(response *CommitSuccessedServicesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CommitSuccessedServicesResponse
+		var err error
+		defer close(result)
+		response, err = client.CommitSuccessedServices(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CommitSuccessedServicesRequest is the request struct for api CommitSuccessedServices
+type CommitSuccessedServicesRequest struct {
+	*requests.RpcRequest
+	CsbName  string `position:"Query" name:"CsbName"`
+	Services string `position:"Body" name:"Services"`
+}
+
+// CommitSuccessedServicesResponse is the response struct for api CommitSuccessedServices
+type CommitSuccessedServicesResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCommitSuccessedServicesRequest creates a request to invoke CommitSuccessedServices API
+func CreateCommitSuccessedServicesRequest() (request *CommitSuccessedServicesRequest) {
+	request = &CommitSuccessedServicesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CommitSuccessedServices", "CSB", "openAPI")
+	return
+}
+
+// CreateCommitSuccessedServicesResponse creates a response to parse from CommitSuccessedServices response
+func CreateCommitSuccessedServicesResponse() (response *CommitSuccessedServicesResponse) {
+	response = &CommitSuccessedServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/create_credentials.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// CreateCredentials invokes the csb.CreateCredentials API synchronously
+// api document: https://help.aliyun.com/api/csb/createcredentials.html
+func (client *Client) CreateCredentials(request *CreateCredentialsRequest) (response *CreateCredentialsResponse, err error) {
+	response = CreateCreateCredentialsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCredentialsWithChan invokes the csb.CreateCredentials API asynchronously
+// api document: https://help.aliyun.com/api/csb/createcredentials.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCredentialsWithChan(request *CreateCredentialsRequest) (<-chan *CreateCredentialsResponse, <-chan error) {
+	responseChan := make(chan *CreateCredentialsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCredentials(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCredentialsWithCallback invokes the csb.CreateCredentials API asynchronously
+// api document: https://help.aliyun.com/api/csb/createcredentials.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCredentialsWithCallback(request *CreateCredentialsRequest, callback func(response *CreateCredentialsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCredentialsResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCredentials(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCredentialsRequest is the request struct for api CreateCredentials
+type CreateCredentialsRequest struct {
+	*requests.RpcRequest
+	Data  string           `position:"Body" name:"Data"`
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+}
+
+// CreateCredentialsResponse is the response struct for api CreateCredentials
+type CreateCredentialsResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateCredentialsRequest creates a request to invoke CreateCredentials API
+func CreateCreateCredentialsRequest() (request *CreateCredentialsRequest) {
+	request = &CreateCredentialsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CreateCredentials", "CSB", "openAPI")
+	return
+}
+
+// CreateCreateCredentialsResponse creates a response to parse from CreateCredentials response
+func CreateCreateCredentialsResponse() (response *CreateCredentialsResponse) {
+	response = &CreateCredentialsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/create_order.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// CreateOrder invokes the csb.CreateOrder API synchronously
+// api document: https://help.aliyun.com/api/csb/createorder.html
+func (client *Client) CreateOrder(request *CreateOrderRequest) (response *CreateOrderResponse, err error) {
+	response = CreateCreateOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateOrderWithChan invokes the csb.CreateOrder API asynchronously
+// api document: https://help.aliyun.com/api/csb/createorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateOrderWithChan(request *CreateOrderRequest) (<-chan *CreateOrderResponse, <-chan error) {
+	responseChan := make(chan *CreateOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateOrderWithCallback invokes the csb.CreateOrder API asynchronously
+// api document: https://help.aliyun.com/api/csb/createorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateOrderWithCallback(request *CreateOrderRequest, callback func(response *CreateOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateOrderRequest is the request struct for api CreateOrder
+type CreateOrderRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+	Data  string           `position:"Body" name:"Data"`
+}
+
+// CreateOrderResponse is the response struct for api CreateOrder
+type CreateOrderResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateOrderRequest creates a request to invoke CreateOrder API
+func CreateCreateOrderRequest() (request *CreateOrderRequest) {
+	request = &CreateOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CreateOrder", "CSB", "openAPI")
+	return
+}
+
+// CreateCreateOrderResponse creates a response to parse from CreateOrder response
+func CreateCreateOrderResponse() (response *CreateOrderResponse) {
+	response = &CreateOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/create_project.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// CreateProject invokes the csb.CreateProject API synchronously
+// api document: https://help.aliyun.com/api/csb/createproject.html
+func (client *Client) CreateProject(request *CreateProjectRequest) (response *CreateProjectResponse, err error) {
+	response = CreateCreateProjectResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateProjectWithChan invokes the csb.CreateProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/createproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateProjectWithChan(request *CreateProjectRequest) (<-chan *CreateProjectResponse, <-chan error) {
+	responseChan := make(chan *CreateProjectResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateProject(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateProjectWithCallback invokes the csb.CreateProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/createproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateProjectWithCallback(request *CreateProjectRequest, callback func(response *CreateProjectResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateProjectResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateProject(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateProjectRequest is the request struct for api CreateProject
+type CreateProjectRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+	Data  string           `position:"Body" name:"Data"`
+}
+
+// CreateProjectResponse is the response struct for api CreateProject
+type CreateProjectResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateProjectRequest creates a request to invoke CreateProject API
+func CreateCreateProjectRequest() (request *CreateProjectRequest) {
+	request = &CreateProjectRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CreateProject", "CSB", "openAPI")
+	return
+}
+
+// CreateCreateProjectResponse creates a response to parse from CreateProject response
+func CreateCreateProjectResponse() (response *CreateProjectResponse) {
+	response = &CreateProjectResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/create_service.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// CreateService invokes the csb.CreateService API synchronously
+// api document: https://help.aliyun.com/api/csb/createservice.html
+func (client *Client) CreateService(request *CreateServiceRequest) (response *CreateServiceResponse, err error) {
+	response = CreateCreateServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateServiceWithChan invokes the csb.CreateService API asynchronously
+// api document: https://help.aliyun.com/api/csb/createservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateServiceWithChan(request *CreateServiceRequest) (<-chan *CreateServiceResponse, <-chan error) {
+	responseChan := make(chan *CreateServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateServiceWithCallback invokes the csb.CreateService API asynchronously
+// api document: https://help.aliyun.com/api/csb/createservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateServiceWithCallback(request *CreateServiceRequest, callback func(response *CreateServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateServiceRequest is the request struct for api CreateService
+type CreateServiceRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+	Data  string           `position:"Body" name:"Data"`
+}
+
+// CreateServiceResponse is the response struct for api CreateService
+type CreateServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateServiceRequest creates a request to invoke CreateService API
+func CreateCreateServiceRequest() (request *CreateServiceRequest) {
+	request = &CreateServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "CreateService", "CSB", "openAPI")
+	return
+}
+
+// CreateCreateServiceResponse creates a response to parse from CreateService response
+func CreateCreateServiceResponse() (response *CreateServiceResponse) {
+	response = &CreateServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/csb/delete_cas_service.go

@@ -0,0 +1,108 @@
+package csb
+
+//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"
+)
+
+// DeleteCasService invokes the csb.DeleteCasService API synchronously
+// api document: https://help.aliyun.com/api/csb/deletecasservice.html
+func (client *Client) DeleteCasService(request *DeleteCasServiceRequest) (response *DeleteCasServiceResponse, err error) {
+	response = CreateDeleteCasServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteCasServiceWithChan invokes the csb.DeleteCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deletecasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCasServiceWithChan(request *DeleteCasServiceRequest) (<-chan *DeleteCasServiceResponse, <-chan error) {
+	responseChan := make(chan *DeleteCasServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCasService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteCasServiceWithCallback invokes the csb.DeleteCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deletecasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCasServiceWithCallback(request *DeleteCasServiceRequest, callback func(response *DeleteCasServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCasServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCasService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteCasServiceRequest is the request struct for api DeleteCasService
+type DeleteCasServiceRequest struct {
+	*requests.RpcRequest
+	SrcUserId    string           `position:"Query" name:"SrcUserId"`
+	CasServiceId string           `position:"Query" name:"CasServiceId"`
+	CasCsbName   string           `position:"Query" name:"CasCsbName"`
+	LeafOnly     requests.Boolean `position:"Query" name:"LeafOnly"`
+}
+
+// DeleteCasServiceResponse is the response struct for api DeleteCasService
+type DeleteCasServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteCasServiceRequest creates a request to invoke DeleteCasService API
+func CreateDeleteCasServiceRequest() (request *DeleteCasServiceRequest) {
+	request = &DeleteCasServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteCasService", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteCasServiceResponse creates a response to parse from DeleteCasService response
+func CreateDeleteCasServiceResponse() (response *DeleteCasServiceResponse) {
+	response = &DeleteCasServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/delete_credentials_list.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// DeleteCredentialsList invokes the csb.DeleteCredentialsList API synchronously
+// api document: https://help.aliyun.com/api/csb/deletecredentialslist.html
+func (client *Client) DeleteCredentialsList(request *DeleteCredentialsListRequest) (response *DeleteCredentialsListResponse, err error) {
+	response = CreateDeleteCredentialsListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteCredentialsListWithChan invokes the csb.DeleteCredentialsList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deletecredentialslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCredentialsListWithChan(request *DeleteCredentialsListRequest) (<-chan *DeleteCredentialsListResponse, <-chan error) {
+	responseChan := make(chan *DeleteCredentialsListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCredentialsList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteCredentialsListWithCallback invokes the csb.DeleteCredentialsList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deletecredentialslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCredentialsListWithCallback(request *DeleteCredentialsListRequest, callback func(response *DeleteCredentialsListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCredentialsListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCredentialsList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteCredentialsListRequest is the request struct for api DeleteCredentialsList
+type DeleteCredentialsListRequest struct {
+	*requests.RpcRequest
+	Data        string           `position:"Body" name:"Data"`
+	IgnoreDauth requests.Boolean `position:"Query" name:"IgnoreDauth"`
+	Force       requests.Boolean `position:"Query" name:"Force"`
+}
+
+// DeleteCredentialsListResponse is the response struct for api DeleteCredentialsList
+type DeleteCredentialsListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteCredentialsListRequest creates a request to invoke DeleteCredentialsList API
+func CreateDeleteCredentialsListRequest() (request *DeleteCredentialsListRequest) {
+	request = &DeleteCredentialsListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteCredentialsList", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteCredentialsListResponse creates a response to parse from DeleteCredentialsList response
+func CreateDeleteCredentialsListResponse() (response *DeleteCredentialsListResponse) {
+	response = &DeleteCredentialsListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/csb/delete_order_list.go

@@ -0,0 +1,105 @@
+package csb
+
+//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"
+)
+
+// DeleteOrderList invokes the csb.DeleteOrderList API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteorderlist.html
+func (client *Client) DeleteOrderList(request *DeleteOrderListRequest) (response *DeleteOrderListResponse, err error) {
+	response = CreateDeleteOrderListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteOrderListWithChan invokes the csb.DeleteOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteOrderListWithChan(request *DeleteOrderListRequest) (<-chan *DeleteOrderListResponse, <-chan error) {
+	responseChan := make(chan *DeleteOrderListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteOrderList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteOrderListWithCallback invokes the csb.DeleteOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteOrderListWithCallback(request *DeleteOrderListRequest, callback func(response *DeleteOrderListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteOrderListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteOrderList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteOrderListRequest is the request struct for api DeleteOrderList
+type DeleteOrderListRequest struct {
+	*requests.RpcRequest
+	Data string `position:"Body" name:"Data"`
+}
+
+// DeleteOrderListResponse is the response struct for api DeleteOrderList
+type DeleteOrderListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteOrderListRequest creates a request to invoke DeleteOrderList API
+func CreateDeleteOrderListRequest() (request *DeleteOrderListRequest) {
+	request = &DeleteOrderListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteOrderList", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteOrderListResponse creates a response to parse from DeleteOrderList response
+func CreateDeleteOrderListResponse() (response *DeleteOrderListResponse) {
+	response = &DeleteOrderListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/delete_project.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// DeleteProject invokes the csb.DeleteProject API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteproject.html
+func (client *Client) DeleteProject(request *DeleteProjectRequest) (response *DeleteProjectResponse, err error) {
+	response = CreateDeleteProjectResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteProjectWithChan invokes the csb.DeleteProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteProjectWithChan(request *DeleteProjectRequest) (<-chan *DeleteProjectResponse, <-chan error) {
+	responseChan := make(chan *DeleteProjectResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteProject(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteProjectWithCallback invokes the csb.DeleteProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteProjectWithCallback(request *DeleteProjectRequest, callback func(response *DeleteProjectResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteProjectResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteProject(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteProjectRequest is the request struct for api DeleteProject
+type DeleteProjectRequest struct {
+	*requests.RpcRequest
+	CsbId     requests.Integer `position:"Query" name:"CsbId"`
+	ProjectId requests.Integer `position:"Query" name:"ProjectId"`
+}
+
+// DeleteProjectResponse is the response struct for api DeleteProject
+type DeleteProjectResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteProjectRequest creates a request to invoke DeleteProject API
+func CreateDeleteProjectRequest() (request *DeleteProjectRequest) {
+	request = &DeleteProjectRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteProject", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteProjectResponse creates a response to parse from DeleteProject response
+func CreateDeleteProjectResponse() (response *DeleteProjectResponse) {
+	response = &DeleteProjectResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/delete_project_list.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// DeleteProjectList invokes the csb.DeleteProjectList API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteprojectlist.html
+func (client *Client) DeleteProjectList(request *DeleteProjectListRequest) (response *DeleteProjectListResponse, err error) {
+	response = CreateDeleteProjectListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteProjectListWithChan invokes the csb.DeleteProjectList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteprojectlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteProjectListWithChan(request *DeleteProjectListRequest) (<-chan *DeleteProjectListResponse, <-chan error) {
+	responseChan := make(chan *DeleteProjectListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteProjectList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteProjectListWithCallback invokes the csb.DeleteProjectList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteprojectlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteProjectListWithCallback(request *DeleteProjectListRequest, callback func(response *DeleteProjectListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteProjectListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteProjectList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteProjectListRequest is the request struct for api DeleteProjectList
+type DeleteProjectListRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+	Data  string           `position:"Body" name:"Data"`
+}
+
+// DeleteProjectListResponse is the response struct for api DeleteProjectList
+type DeleteProjectListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteProjectListRequest creates a request to invoke DeleteProjectList API
+func CreateDeleteProjectListRequest() (request *DeleteProjectListRequest) {
+	request = &DeleteProjectListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteProjectList", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteProjectListResponse creates a response to parse from DeleteProjectList response
+func CreateDeleteProjectListResponse() (response *DeleteProjectListResponse) {
+	response = &DeleteProjectListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/delete_service.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// DeleteService invokes the csb.DeleteService API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteservice.html
+func (client *Client) DeleteService(request *DeleteServiceRequest) (response *DeleteServiceResponse, err error) {
+	response = CreateDeleteServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteServiceWithChan invokes the csb.DeleteService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceWithChan(request *DeleteServiceRequest) (<-chan *DeleteServiceResponse, <-chan error) {
+	responseChan := make(chan *DeleteServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteServiceWithCallback invokes the csb.DeleteService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceWithCallback(request *DeleteServiceRequest, callback func(response *DeleteServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteServiceRequest is the request struct for api DeleteService
+type DeleteServiceRequest struct {
+	*requests.RpcRequest
+	ServiceId   requests.Integer `position:"Query" name:"ServiceId"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+}
+
+// DeleteServiceResponse is the response struct for api DeleteService
+type DeleteServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteServiceRequest creates a request to invoke DeleteService API
+func CreateDeleteServiceRequest() (request *DeleteServiceRequest) {
+	request = &DeleteServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteService", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteServiceResponse creates a response to parse from DeleteService response
+func CreateDeleteServiceResponse() (response *DeleteServiceResponse) {
+	response = &DeleteServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/delete_service_list.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// DeleteServiceList invokes the csb.DeleteServiceList API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteservicelist.html
+func (client *Client) DeleteServiceList(request *DeleteServiceListRequest) (response *DeleteServiceListResponse, err error) {
+	response = CreateDeleteServiceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteServiceListWithChan invokes the csb.DeleteServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceListWithChan(request *DeleteServiceListRequest) (<-chan *DeleteServiceListResponse, <-chan error) {
+	responseChan := make(chan *DeleteServiceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteServiceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteServiceListWithCallback invokes the csb.DeleteServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceListWithCallback(request *DeleteServiceListRequest, callback func(response *DeleteServiceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteServiceListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteServiceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteServiceListRequest is the request struct for api DeleteServiceList
+type DeleteServiceListRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+	Data  string           `position:"Body" name:"Data"`
+}
+
+// DeleteServiceListResponse is the response struct for api DeleteServiceList
+type DeleteServiceListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteServiceListRequest creates a request to invoke DeleteServiceList API
+func CreateDeleteServiceListRequest() (request *DeleteServiceListRequest) {
+	request = &DeleteServiceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteServiceList", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteServiceListResponse creates a response to parse from DeleteServiceList response
+func CreateDeleteServiceListResponse() (response *DeleteServiceListResponse) {
+	response = &DeleteServiceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/csb/delete_union_cas_service.go

@@ -0,0 +1,108 @@
+package csb
+
+//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"
+)
+
+// DeleteUnionCasService invokes the csb.DeleteUnionCasService API synchronously
+// api document: https://help.aliyun.com/api/csb/deleteunioncasservice.html
+func (client *Client) DeleteUnionCasService(request *DeleteUnionCasServiceRequest) (response *DeleteUnionCasServiceResponse, err error) {
+	response = CreateDeleteUnionCasServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUnionCasServiceWithChan invokes the csb.DeleteUnionCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteunioncasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUnionCasServiceWithChan(request *DeleteUnionCasServiceRequest) (<-chan *DeleteUnionCasServiceResponse, <-chan error) {
+	responseChan := make(chan *DeleteUnionCasServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUnionCasService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUnionCasServiceWithCallback invokes the csb.DeleteUnionCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/deleteunioncasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUnionCasServiceWithCallback(request *DeleteUnionCasServiceRequest, callback func(response *DeleteUnionCasServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUnionCasServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUnionCasService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUnionCasServiceRequest is the request struct for api DeleteUnionCasService
+type DeleteUnionCasServiceRequest struct {
+	*requests.RpcRequest
+	SrcUserId    string           `position:"Query" name:"SrcUserId"`
+	CasServiceId string           `position:"Query" name:"CasServiceId"`
+	CasCsbName   string           `position:"Query" name:"CasCsbName"`
+	LeafOnly     requests.Boolean `position:"Query" name:"LeafOnly"`
+}
+
+// DeleteUnionCasServiceResponse is the response struct for api DeleteUnionCasService
+type DeleteUnionCasServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteUnionCasServiceRequest creates a request to invoke DeleteUnionCasService API
+func CreateDeleteUnionCasServiceRequest() (request *DeleteUnionCasServiceRequest) {
+	request = &DeleteUnionCasServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "DeleteUnionCasService", "CSB", "openAPI")
+	return
+}
+
+// CreateDeleteUnionCasServiceResponse creates a response to parse from DeleteUnionCasService response
+func CreateDeleteUnionCasServiceResponse() (response *DeleteUnionCasServiceResponse) {
+	response = &DeleteUnionCasServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/csb/find_approval_order_list.go

@@ -0,0 +1,111 @@
+package csb
+
+//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"
+)
+
+// FindApprovalOrderList invokes the csb.FindApprovalOrderList API synchronously
+// api document: https://help.aliyun.com/api/csb/findapprovalorderlist.html
+func (client *Client) FindApprovalOrderList(request *FindApprovalOrderListRequest) (response *FindApprovalOrderListResponse, err error) {
+	response = CreateFindApprovalOrderListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindApprovalOrderListWithChan invokes the csb.FindApprovalOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findapprovalorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindApprovalOrderListWithChan(request *FindApprovalOrderListRequest) (<-chan *FindApprovalOrderListResponse, <-chan error) {
+	responseChan := make(chan *FindApprovalOrderListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindApprovalOrderList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindApprovalOrderListWithCallback invokes the csb.FindApprovalOrderList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findapprovalorderlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindApprovalOrderListWithCallback(request *FindApprovalOrderListRequest, callback func(response *FindApprovalOrderListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindApprovalOrderListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindApprovalOrderList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindApprovalOrderListRequest is the request struct for api FindApprovalOrderList
+type FindApprovalOrderListRequest struct {
+	*requests.RpcRequest
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
+	Alias       string           `position:"Query" name:"Alias"`
+	ProjectName string           `position:"Query" name:"ProjectName"`
+	OnlyPending requests.Boolean `position:"Query" name:"OnlyPending"`
+	ServiceId   requests.Integer `position:"Query" name:"ServiceId"`
+}
+
+// FindApprovalOrderListResponse is the response struct for api FindApprovalOrderList
+type FindApprovalOrderListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindApprovalOrderListRequest creates a request to invoke FindApprovalOrderList API
+func CreateFindApprovalOrderListRequest() (request *FindApprovalOrderListRequest) {
+	request = &FindApprovalOrderListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindApprovalOrderList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindApprovalOrderListResponse creates a response to parse from FindApprovalOrderList response
+func CreateFindApprovalOrderListResponse() (response *FindApprovalOrderListResponse) {
+	response = &FindApprovalOrderListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/csb/find_approve_service_list.go

@@ -0,0 +1,111 @@
+package csb
+
+//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"
+)
+
+// FindApproveServiceList invokes the csb.FindApproveServiceList API synchronously
+// api document: https://help.aliyun.com/api/csb/findapproveservicelist.html
+func (client *Client) FindApproveServiceList(request *FindApproveServiceListRequest) (response *FindApproveServiceListResponse, err error) {
+	response = CreateFindApproveServiceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindApproveServiceListWithChan invokes the csb.FindApproveServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findapproveservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindApproveServiceListWithChan(request *FindApproveServiceListRequest) (<-chan *FindApproveServiceListResponse, <-chan error) {
+	responseChan := make(chan *FindApproveServiceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindApproveServiceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindApproveServiceListWithCallback invokes the csb.FindApproveServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findapproveservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindApproveServiceListWithCallback(request *FindApproveServiceListRequest, callback func(response *FindApproveServiceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindApproveServiceListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindApproveServiceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindApproveServiceListRequest is the request struct for api FindApproveServiceList
+type FindApproveServiceListRequest struct {
+	*requests.RpcRequest
+	ShowDelService requests.Boolean `position:"Query" name:"showDelService"`
+	ServiceName    string           `position:"Query" name:"serviceName"`
+	Alias          string           `position:"Query" name:"alias"`
+	ProjectName    string           `position:"Query" name:"projectName"`
+	CsbId          requests.Integer `position:"Query" name:"csbId"`
+	ApproveLevel   string           `position:"Query" name:"approveLevel"`
+}
+
+// FindApproveServiceListResponse is the response struct for api FindApproveServiceList
+type FindApproveServiceListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindApproveServiceListRequest creates a request to invoke FindApproveServiceList API
+func CreateFindApproveServiceListRequest() (request *FindApproveServiceListRequest) {
+	request = &FindApproveServiceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindApproveServiceList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindApproveServiceListResponse creates a response to parse from FindApproveServiceList response
+func CreateFindApproveServiceListResponse() (response *FindApproveServiceListResponse) {
+	response = &FindApproveServiceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/csb/find_credentials_list.go

@@ -0,0 +1,108 @@
+package csb
+
+//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"
+)
+
+// FindCredentialsList invokes the csb.FindCredentialsList API synchronously
+// api document: https://help.aliyun.com/api/csb/findcredentialslist.html
+func (client *Client) FindCredentialsList(request *FindCredentialsListRequest) (response *FindCredentialsListResponse, err error) {
+	response = CreateFindCredentialsListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindCredentialsListWithChan invokes the csb.FindCredentialsList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findcredentialslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindCredentialsListWithChan(request *FindCredentialsListRequest) (<-chan *FindCredentialsListResponse, <-chan error) {
+	responseChan := make(chan *FindCredentialsListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindCredentialsList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindCredentialsListWithCallback invokes the csb.FindCredentialsList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findcredentialslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindCredentialsListWithCallback(request *FindCredentialsListRequest, callback func(response *FindCredentialsListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindCredentialsListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindCredentialsList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindCredentialsListRequest is the request struct for api FindCredentialsList
+type FindCredentialsListRequest struct {
+	*requests.RpcRequest
+	CsbId     requests.Integer `position:"Query" name:"CsbId"`
+	GroupName string           `position:"Query" name:"GroupName"`
+	PageNum   requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// FindCredentialsListResponse is the response struct for api FindCredentialsList
+type FindCredentialsListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindCredentialsListRequest creates a request to invoke FindCredentialsList API
+func CreateFindCredentialsListRequest() (request *FindCredentialsListRequest) {
+	request = &FindCredentialsListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindCredentialsList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindCredentialsListResponse creates a response to parse from FindCredentialsList response
+func CreateFindCredentialsListResponse() (response *FindCredentialsListResponse) {
+	response = &FindCredentialsListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/csb/find_instance_list.go

@@ -0,0 +1,109 @@
+package csb
+
+//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"
+)
+
+// FindInstanceList invokes the csb.FindInstanceList API synchronously
+// api document: https://help.aliyun.com/api/csb/findinstancelist.html
+func (client *Client) FindInstanceList(request *FindInstanceListRequest) (response *FindInstanceListResponse, err error) {
+	response = CreateFindInstanceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindInstanceListWithChan invokes the csb.FindInstanceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findinstancelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindInstanceListWithChan(request *FindInstanceListRequest) (<-chan *FindInstanceListResponse, <-chan error) {
+	responseChan := make(chan *FindInstanceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindInstanceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindInstanceListWithCallback invokes the csb.FindInstanceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findinstancelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindInstanceListWithCallback(request *FindInstanceListRequest, callback func(response *FindInstanceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindInstanceListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindInstanceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindInstanceListRequest is the request struct for api FindInstanceList
+type FindInstanceListRequest struct {
+	*requests.RpcRequest
+	SearchTxt string           `position:"Query" name:"SearchTxt"`
+	PageNum   requests.Integer `position:"Query" name:"PageNum"`
+	Status    requests.Integer `position:"Query" name:"Status"`
+	CsbId     requests.Integer `position:"Query" name:"CsbId"`
+}
+
+// FindInstanceListResponse is the response struct for api FindInstanceList
+type FindInstanceListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindInstanceListRequest creates a request to invoke FindInstanceList API
+func CreateFindInstanceListRequest() (request *FindInstanceListRequest) {
+	request = &FindInstanceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindInstanceList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindInstanceListResponse creates a response to parse from FindInstanceList response
+func CreateFindInstanceListResponse() (response *FindInstanceListResponse) {
+	response = &FindInstanceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/csb/find_orderable_list.go

@@ -0,0 +1,110 @@
+package csb
+
+//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"
+)
+
+// FindOrderableList invokes the csb.FindOrderableList API synchronously
+// api document: https://help.aliyun.com/api/csb/findorderablelist.html
+func (client *Client) FindOrderableList(request *FindOrderableListRequest) (response *FindOrderableListResponse, err error) {
+	response = CreateFindOrderableListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindOrderableListWithChan invokes the csb.FindOrderableList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findorderablelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindOrderableListWithChan(request *FindOrderableListRequest) (<-chan *FindOrderableListResponse, <-chan error) {
+	responseChan := make(chan *FindOrderableListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindOrderableList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindOrderableListWithCallback invokes the csb.FindOrderableList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findorderablelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindOrderableListWithCallback(request *FindOrderableListRequest, callback func(response *FindOrderableListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindOrderableListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindOrderableList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindOrderableListRequest is the request struct for api FindOrderableList
+type FindOrderableListRequest struct {
+	*requests.RpcRequest
+	CsbId       requests.Integer `position:"Query" name:"CsbId"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	Alias       string           `position:"Query" name:"Alias"`
+	ProjectName string           `position:"Query" name:"ProjectName"`
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// FindOrderableListResponse is the response struct for api FindOrderableList
+type FindOrderableListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindOrderableListRequest creates a request to invoke FindOrderableList API
+func CreateFindOrderableListRequest() (request *FindOrderableListRequest) {
+	request = &FindOrderableListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindOrderableList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindOrderableListResponse creates a response to parse from FindOrderableList response
+func CreateFindOrderableListResponse() (response *FindOrderableListResponse) {
+	response = &FindOrderableListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/csb/find_ordered_list.go

@@ -0,0 +1,113 @@
+package csb
+
+//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"
+)
+
+// FindOrderedList invokes the csb.FindOrderedList API synchronously
+// api document: https://help.aliyun.com/api/csb/findorderedlist.html
+func (client *Client) FindOrderedList(request *FindOrderedListRequest) (response *FindOrderedListResponse, err error) {
+	response = CreateFindOrderedListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindOrderedListWithChan invokes the csb.FindOrderedList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findorderedlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindOrderedListWithChan(request *FindOrderedListRequest) (<-chan *FindOrderedListResponse, <-chan error) {
+	responseChan := make(chan *FindOrderedListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindOrderedList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindOrderedListWithCallback invokes the csb.FindOrderedList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findorderedlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindOrderedListWithCallback(request *FindOrderedListRequest, callback func(response *FindOrderedListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindOrderedListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindOrderedList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindOrderedListRequest is the request struct for api FindOrderedList
+type FindOrderedListRequest struct {
+	*requests.RpcRequest
+	Alias        string           `position:"Query" name:"Alias"`
+	PageNum      requests.Integer `position:"Query" name:"PageNum"`
+	ServiceId    requests.Integer `position:"Query" name:"ServiceId"`
+	ServiceName  string           `position:"Query" name:"ServiceName"`
+	ProjectName  string           `position:"Query" name:"ProjectName"`
+	ShowDelOrder requests.Boolean `position:"Query" name:"ShowDelOrder"`
+	Status       string           `position:"Query" name:"Status"`
+	CsbId        requests.Integer `position:"Query" name:"CsbId"`
+}
+
+// FindOrderedListResponse is the response struct for api FindOrderedList
+type FindOrderedListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindOrderedListRequest creates a request to invoke FindOrderedList API
+func CreateFindOrderedListRequest() (request *FindOrderedListRequest) {
+	request = &FindOrderedListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindOrderedList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindOrderedListResponse creates a response to parse from FindOrderedList response
+func CreateFindOrderedListResponse() (response *FindOrderedListResponse) {
+	response = &FindOrderedListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/csb/find_project_list.go

@@ -0,0 +1,108 @@
+package csb
+
+//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"
+)
+
+// FindProjectList invokes the csb.FindProjectList API synchronously
+// api document: https://help.aliyun.com/api/csb/findprojectlist.html
+func (client *Client) FindProjectList(request *FindProjectListRequest) (response *FindProjectListResponse, err error) {
+	response = CreateFindProjectListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindProjectListWithChan invokes the csb.FindProjectList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findprojectlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindProjectListWithChan(request *FindProjectListRequest) (<-chan *FindProjectListResponse, <-chan error) {
+	responseChan := make(chan *FindProjectListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindProjectList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindProjectListWithCallback invokes the csb.FindProjectList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findprojectlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindProjectListWithCallback(request *FindProjectListRequest, callback func(response *FindProjectListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindProjectListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindProjectList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindProjectListRequest is the request struct for api FindProjectList
+type FindProjectListRequest struct {
+	*requests.RpcRequest
+	CsbId       requests.Integer `position:"Query" name:"CsbId"`
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
+	ProjectName string           `position:"Query" name:"ProjectName"`
+}
+
+// FindProjectListResponse is the response struct for api FindProjectList
+type FindProjectListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindProjectListRequest creates a request to invoke FindProjectList API
+func CreateFindProjectListRequest() (request *FindProjectListRequest) {
+	request = &FindProjectListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindProjectList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindProjectListResponse creates a response to parse from FindProjectList response
+func CreateFindProjectListResponse() (response *FindProjectListResponse) {
+	response = &FindProjectListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/find_projects_name_list.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// FindProjectsNameList invokes the csb.FindProjectsNameList API synchronously
+// api document: https://help.aliyun.com/api/csb/findprojectsnamelist.html
+func (client *Client) FindProjectsNameList(request *FindProjectsNameListRequest) (response *FindProjectsNameListResponse, err error) {
+	response = CreateFindProjectsNameListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindProjectsNameListWithChan invokes the csb.FindProjectsNameList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findprojectsnamelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindProjectsNameListWithChan(request *FindProjectsNameListRequest) (<-chan *FindProjectsNameListResponse, <-chan error) {
+	responseChan := make(chan *FindProjectsNameListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindProjectsNameList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindProjectsNameListWithCallback invokes the csb.FindProjectsNameList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findprojectsnamelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindProjectsNameListWithCallback(request *FindProjectsNameListRequest, callback func(response *FindProjectsNameListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindProjectsNameListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindProjectsNameList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindProjectsNameListRequest is the request struct for api FindProjectsNameList
+type FindProjectsNameListRequest struct {
+	*requests.RpcRequest
+	CsbId         requests.Integer `position:"Query" name:"CsbId"`
+	OperationFlag string           `position:"Query" name:"OperationFlag"`
+}
+
+// FindProjectsNameListResponse is the response struct for api FindProjectsNameList
+type FindProjectsNameListResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindProjectsNameListRequest creates a request to invoke FindProjectsNameList API
+func CreateFindProjectsNameListRequest() (request *FindProjectsNameListRequest) {
+	request = &FindProjectsNameListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindProjectsNameList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindProjectsNameListResponse creates a response to parse from FindProjectsNameList response
+func CreateFindProjectsNameListResponse() (response *FindProjectsNameListResponse) {
+	response = &FindProjectsNameListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/csb/find_service_list.go

@@ -0,0 +1,112 @@
+package csb
+
+//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"
+)
+
+// FindServiceList invokes the csb.FindServiceList API synchronously
+// api document: https://help.aliyun.com/api/csb/findservicelist.html
+func (client *Client) FindServiceList(request *FindServiceListRequest) (response *FindServiceListResponse, err error) {
+	response = CreateFindServiceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FindServiceListWithChan invokes the csb.FindServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindServiceListWithChan(request *FindServiceListRequest) (<-chan *FindServiceListResponse, <-chan error) {
+	responseChan := make(chan *FindServiceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FindServiceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FindServiceListWithCallback invokes the csb.FindServiceList API asynchronously
+// api document: https://help.aliyun.com/api/csb/findservicelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FindServiceListWithCallback(request *FindServiceListRequest, callback func(response *FindServiceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FindServiceListResponse
+		var err error
+		defer close(result)
+		response, err = client.FindServiceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FindServiceListRequest is the request struct for api FindServiceList
+type FindServiceListRequest struct {
+	*requests.RpcRequest
+	ShowDelService requests.Boolean `position:"Query" name:"ShowDelService"`
+	ServiceName    string           `position:"Query" name:"ServiceName"`
+	Alias          string           `position:"Query" name:"Alias"`
+	ProjectName    string           `position:"Query" name:"ProjectName"`
+	CsbId          requests.Integer `position:"Query" name:"CsbId"`
+	CasShowType    requests.Integer `position:"Query" name:"CasShowType"`
+	PageNum        requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// FindServiceListResponse is the response struct for api FindServiceList
+type FindServiceListResponse struct {
+	*responses.BaseResponse
+	Message   string `json:"Message" xml:"Message"`
+	Code      int    `json:"Code" xml:"Code"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateFindServiceListRequest creates a request to invoke FindServiceList API
+func CreateFindServiceListRequest() (request *FindServiceListRequest) {
+	request = &FindServiceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "FindServiceList", "CSB", "openAPI")
+	return
+}
+
+// CreateFindServiceListResponse creates a response to parse from FindServiceList response
+func CreateFindServiceListResponse() (response *FindServiceListResponse) {
+	response = &FindServiceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/get_instance.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// GetInstance invokes the csb.GetInstance API synchronously
+// api document: https://help.aliyun.com/api/csb/getinstance.html
+func (client *Client) GetInstance(request *GetInstanceRequest) (response *GetInstanceResponse, err error) {
+	response = CreateGetInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceWithChan invokes the csb.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/csb/getinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceWithChan(request *GetInstanceRequest) (<-chan *GetInstanceResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceWithCallback invokes the csb.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/csb/getinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceWithCallback(request *GetInstanceRequest, callback func(response *GetInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceRequest is the request struct for api GetInstance
+type GetInstanceRequest struct {
+	*requests.RpcRequest
+	CsbId requests.Integer `position:"Query" name:"CsbId"`
+}
+
+// GetInstanceResponse is the response struct for api GetInstance
+type GetInstanceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetInstanceRequest creates a request to invoke GetInstance API
+func CreateGetInstanceRequest() (request *GetInstanceRequest) {
+	request = &GetInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "GetInstance", "CSB", "openAPI")
+	return
+}
+
+// CreateGetInstanceResponse creates a response to parse from GetInstance response
+func CreateGetInstanceResponse() (response *GetInstanceResponse) {
+	response = &GetInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/get_order.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// GetOrder invokes the csb.GetOrder API synchronously
+// api document: https://help.aliyun.com/api/csb/getorder.html
+func (client *Client) GetOrder(request *GetOrderRequest) (response *GetOrderResponse, err error) {
+	response = CreateGetOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetOrderWithChan invokes the csb.GetOrder API asynchronously
+// api document: https://help.aliyun.com/api/csb/getorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOrderWithChan(request *GetOrderRequest) (<-chan *GetOrderResponse, <-chan error) {
+	responseChan := make(chan *GetOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetOrderWithCallback invokes the csb.GetOrder API asynchronously
+// api document: https://help.aliyun.com/api/csb/getorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOrderWithCallback(request *GetOrderRequest, callback func(response *GetOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.GetOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetOrderRequest is the request struct for api GetOrder
+type GetOrderRequest struct {
+	*requests.RpcRequest
+	OrderId     requests.Integer `position:"Query" name:"OrderId"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+}
+
+// GetOrderResponse is the response struct for api GetOrder
+type GetOrderResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetOrderRequest creates a request to invoke GetOrder API
+func CreateGetOrderRequest() (request *GetOrderRequest) {
+	request = &GetOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "GetOrder", "CSB", "openAPI")
+	return
+}
+
+// CreateGetOrderResponse creates a response to parse from GetOrder response
+func CreateGetOrderResponse() (response *GetOrderResponse) {
+	response = &GetOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/get_project.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// GetProject invokes the csb.GetProject API synchronously
+// api document: https://help.aliyun.com/api/csb/getproject.html
+func (client *Client) GetProject(request *GetProjectRequest) (response *GetProjectResponse, err error) {
+	response = CreateGetProjectResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetProjectWithChan invokes the csb.GetProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/getproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProjectWithChan(request *GetProjectRequest) (<-chan *GetProjectResponse, <-chan error) {
+	responseChan := make(chan *GetProjectResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetProject(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetProjectWithCallback invokes the csb.GetProject API asynchronously
+// api document: https://help.aliyun.com/api/csb/getproject.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetProjectWithCallback(request *GetProjectRequest, callback func(response *GetProjectResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetProjectResponse
+		var err error
+		defer close(result)
+		response, err = client.GetProject(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetProjectRequest is the request struct for api GetProject
+type GetProjectRequest struct {
+	*requests.RpcRequest
+	CsbId       requests.Integer `position:"Query" name:"CsbId"`
+	ProjectName string           `position:"Query" name:"ProjectName"`
+}
+
+// GetProjectResponse is the response struct for api GetProject
+type GetProjectResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetProjectRequest creates a request to invoke GetProject API
+func CreateGetProjectRequest() (request *GetProjectRequest) {
+	request = &GetProjectRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "GetProject", "CSB", "openAPI")
+	return
+}
+
+// CreateGetProjectResponse creates a response to parse from GetProject response
+func CreateGetProjectResponse() (response *GetProjectResponse) {
+	response = &GetProjectResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/csb/get_service.go

@@ -0,0 +1,107 @@
+package csb
+
+//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"
+)
+
+// GetService invokes the csb.GetService API synchronously
+// api document: https://help.aliyun.com/api/csb/getservice.html
+func (client *Client) GetService(request *GetServiceRequest) (response *GetServiceResponse, err error) {
+	response = CreateGetServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetServiceWithChan invokes the csb.GetService API asynchronously
+// api document: https://help.aliyun.com/api/csb/getservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetServiceWithChan(request *GetServiceRequest) (<-chan *GetServiceResponse, <-chan error) {
+	responseChan := make(chan *GetServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetServiceWithCallback invokes the csb.GetService API asynchronously
+// api document: https://help.aliyun.com/api/csb/getservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetServiceWithCallback(request *GetServiceRequest, callback func(response *GetServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetServiceRequest is the request struct for api GetService
+type GetServiceRequest struct {
+	*requests.RpcRequest
+	CsbId     requests.Integer `position:"Query" name:"CsbId"`
+	ServiceId requests.Integer `position:"Query" name:"ServiceId"`
+}
+
+// GetServiceResponse is the response struct for api GetService
+type GetServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetServiceRequest creates a request to invoke GetService API
+func CreateGetServiceRequest() (request *GetServiceRequest) {
+	request = &GetServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "GetService", "CSB", "openAPI")
+	return
+}
+
+// CreateGetServiceResponse creates a response to parse from GetService response
+func CreateGetServiceResponse() (response *GetServiceResponse) {
+	response = &GetServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/publish_cas_service.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// PublishCasService invokes the csb.PublishCasService API synchronously
+// api document: https://help.aliyun.com/api/csb/publishcasservice.html
+func (client *Client) PublishCasService(request *PublishCasServiceRequest) (response *PublishCasServiceResponse, err error) {
+	response = CreatePublishCasServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PublishCasServiceWithChan invokes the csb.PublishCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/publishcasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishCasServiceWithChan(request *PublishCasServiceRequest) (<-chan *PublishCasServiceResponse, <-chan error) {
+	responseChan := make(chan *PublishCasServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PublishCasService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PublishCasServiceWithCallback invokes the csb.PublishCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/publishcasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishCasServiceWithCallback(request *PublishCasServiceRequest, callback func(response *PublishCasServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PublishCasServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.PublishCasService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PublishCasServiceRequest is the request struct for api PublishCasService
+type PublishCasServiceRequest struct {
+	*requests.RpcRequest
+	CasCsbName string `position:"Query" name:"CasCsbName"`
+	Data       string `position:"Body" name:"Data"`
+}
+
+// PublishCasServiceResponse is the response struct for api PublishCasService
+type PublishCasServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreatePublishCasServiceRequest creates a request to invoke PublishCasService API
+func CreatePublishCasServiceRequest() (request *PublishCasServiceRequest) {
+	request = &PublishCasServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "PublishCasService", "CSB", "openAPI")
+	return
+}
+
+// CreatePublishCasServiceResponse creates a response to parse from PublishCasService response
+func CreatePublishCasServiceResponse() (response *PublishCasServiceResponse) {
+	response = &PublishCasServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/publish_union_cas_service.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// PublishUnionCasService invokes the csb.PublishUnionCasService API synchronously
+// api document: https://help.aliyun.com/api/csb/publishunioncasservice.html
+func (client *Client) PublishUnionCasService(request *PublishUnionCasServiceRequest) (response *PublishUnionCasServiceResponse, err error) {
+	response = CreatePublishUnionCasServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PublishUnionCasServiceWithChan invokes the csb.PublishUnionCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/publishunioncasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishUnionCasServiceWithChan(request *PublishUnionCasServiceRequest) (<-chan *PublishUnionCasServiceResponse, <-chan error) {
+	responseChan := make(chan *PublishUnionCasServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PublishUnionCasService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PublishUnionCasServiceWithCallback invokes the csb.PublishUnionCasService API asynchronously
+// api document: https://help.aliyun.com/api/csb/publishunioncasservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishUnionCasServiceWithCallback(request *PublishUnionCasServiceRequest, callback func(response *PublishUnionCasServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PublishUnionCasServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.PublishUnionCasService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PublishUnionCasServiceRequest is the request struct for api PublishUnionCasService
+type PublishUnionCasServiceRequest struct {
+	*requests.RpcRequest
+	CasCsbName string `position:"Query" name:"CasCsbName"`
+	Data       string `position:"Body" name:"Data"`
+}
+
+// PublishUnionCasServiceResponse is the response struct for api PublishUnionCasService
+type PublishUnionCasServiceResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreatePublishUnionCasServiceRequest creates a request to invoke PublishUnionCasService API
+func CreatePublishUnionCasServiceRequest() (request *PublishUnionCasServiceRequest) {
+	request = &PublishUnionCasServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "PublishUnionCasService", "CSB", "openAPI")
+	return
+}
+
+// CreatePublishUnionCasServiceResponse creates a response to parse from PublishUnionCasService response
+func CreatePublishUnionCasServiceResponse() (response *PublishUnionCasServiceResponse) {
+	response = &PublishUnionCasServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/renew_credentials.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// RenewCredentials invokes the csb.RenewCredentials API synchronously
+// api document: https://help.aliyun.com/api/csb/renewcredentials.html
+func (client *Client) RenewCredentials(request *RenewCredentialsRequest) (response *RenewCredentialsResponse, err error) {
+	response = CreateRenewCredentialsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RenewCredentialsWithChan invokes the csb.RenewCredentials API asynchronously
+// api document: https://help.aliyun.com/api/csb/renewcredentials.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewCredentialsWithChan(request *RenewCredentialsRequest) (<-chan *RenewCredentialsResponse, <-chan error) {
+	responseChan := make(chan *RenewCredentialsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewCredentials(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RenewCredentialsWithCallback invokes the csb.RenewCredentials API asynchronously
+// api document: https://help.aliyun.com/api/csb/renewcredentials.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewCredentialsWithCallback(request *RenewCredentialsRequest, callback func(response *RenewCredentialsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewCredentialsResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewCredentials(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RenewCredentialsRequest is the request struct for api RenewCredentials
+type RenewCredentialsRequest struct {
+	*requests.RpcRequest
+	CredentialId requests.Integer `position:"Query" name:"CredentialId"`
+}
+
+// RenewCredentialsResponse is the response struct for api RenewCredentials
+type RenewCredentialsResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateRenewCredentialsRequest creates a request to invoke RenewCredentials API
+func CreateRenewCredentialsRequest() (request *RenewCredentialsRequest) {
+	request = &RenewCredentialsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "RenewCredentials", "CSB", "openAPI")
+	return
+}
+
+// CreateRenewCredentialsResponse creates a response to parse from RenewCredentials response
+func CreateRenewCredentialsResponse() (response *RenewCredentialsResponse) {
+	response = &RenewCredentialsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/csb/replace_credential.go

@@ -0,0 +1,106 @@
+package csb
+
+//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"
+)
+
+// ReplaceCredential invokes the csb.ReplaceCredential API synchronously
+// api document: https://help.aliyun.com/api/csb/replacecredential.html
+func (client *Client) ReplaceCredential(request *ReplaceCredentialRequest) (response *ReplaceCredentialResponse, err error) {
+	response = CreateReplaceCredentialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReplaceCredentialWithChan invokes the csb.ReplaceCredential API asynchronously
+// api document: https://help.aliyun.com/api/csb/replacecredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReplaceCredentialWithChan(request *ReplaceCredentialRequest) (<-chan *ReplaceCredentialResponse, <-chan error) {
+	responseChan := make(chan *ReplaceCredentialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReplaceCredential(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReplaceCredentialWithCallback invokes the csb.ReplaceCredential API asynchronously
+// api document: https://help.aliyun.com/api/csb/replacecredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReplaceCredentialWithCallback(request *ReplaceCredentialRequest, callback func(response *ReplaceCredentialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReplaceCredentialResponse
+		var err error
+		defer close(result)
+		response, err = client.ReplaceCredential(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReplaceCredentialRequest is the request struct for api ReplaceCredential
+type ReplaceCredentialRequest struct {
+	*requests.RpcRequest
+	CredentialId requests.Integer `position:"Query" name:"CredentialId"`
+}
+
+// ReplaceCredentialResponse is the response struct for api ReplaceCredential
+type ReplaceCredentialResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateReplaceCredentialRequest creates a request to invoke ReplaceCredential API
+func CreateReplaceCredentialRequest() (request *ReplaceCredentialRequest) {
+	request = &ReplaceCredentialRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CSB", "2017-11-18", "ReplaceCredential", "CSB", "openAPI")
+	return
+}
+
+// CreateReplaceCredentialResponse creates a response to parse from ReplaceCredential response
+func CreateReplaceCredentialResponse() (response *ReplaceCredentialResponse) {
+	response = &ReplaceCredentialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/csb/struct_cas_serv_targets.go

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

+ 21 - 0
services/csb/struct_consume_types.go

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

+ 27 - 0
services/csb/struct_credential.go

@@ -0,0 +1,27 @@
+package csb
+
+//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.
+
+// Credential is a nested struct in csb response
+type Credential struct {
+	GmtCreate         int               `json:"GmtCreate" xml:"GmtCreate"`
+	Id                int               `json:"Id" xml:"Id"`
+	Name              string            `json:"Name" xml:"Name"`
+	OwnerAttr         string            `json:"OwnerAttr" xml:"OwnerAttr"`
+	UserId            string            `json:"UserId" xml:"UserId"`
+	CurrentCredential CurrentCredential `json:"CurrentCredential" xml:"CurrentCredential"`
+	NewCredential     NewCredential     `json:"NewCredential" xml:"NewCredential"`
+}

+ 21 - 0
services/csb/struct_credential_list.go

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

+ 26 - 0
services/csb/struct_credentials.go

@@ -0,0 +1,26 @@
+package csb
+
+//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.
+
+// Credentials is a nested struct in csb response
+type Credentials struct {
+	GmtCreate         int               `json:"GmtCreate" xml:"GmtCreate"`
+	Name              string            `json:"Name" xml:"Name"`
+	UserId            string            `json:"UserId" xml:"UserId"`
+	Id                int               `json:"Id" xml:"Id"`
+	CurrentCredential CurrentCredential `json:"CurrentCredential" xml:"CurrentCredential"`
+	NewCredential     NewCredential     `json:"NewCredential" xml:"NewCredential"`
+}

+ 22 - 0
services/csb/struct_current_credential.go

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

+ 36 - 0
services/csb/struct_data.go

@@ -0,0 +1,36 @@
+package csb
+
+//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.
+
+// Data is a nested struct in csb response
+type Data struct {
+	Id              int                      `json:"Id" xml:"Id"`
+	UpdateCount     int                      `json:"UpdateCount" xml:"UpdateCount"`
+	CurrentPage     int                      `json:"CurrentPage" xml:"CurrentPage"`
+	Total           int                      `json:"Total" xml:"Total"`
+	PageNumber      int                      `json:"PageNumber" xml:"PageNumber"`
+	Exist           bool                     `json:"Exist" xml:"Exist"`
+	ProjectNameList []string                 `json:"ProjectNameList" xml:"ProjectNameList"`
+	Credentials     Credentials              `json:"Credentials" xml:"Credentials"`
+	Service         Service                  `json:"Service" xml:"Service"`
+	Order           Order                    `json:"Order" xml:"Order"`
+	Instance        Instance                 `json:"Instance" xml:"Instance"`
+	ServiceList     []Service                `json:"ServiceList" xml:"ServiceList"`
+	ProjectList     []Project                `json:"ProjectList" xml:"ProjectList"`
+	CredentialList  []Credential             `json:"CredentialList" xml:"CredentialList"`
+	OrderList       []OrderInFindOrderedList `json:"OrderList" xml:"OrderList"`
+	ItemList        []Item                   `json:"ItemList" xml:"ItemList"`
+}

+ 23 - 0
services/csb/struct_error_type_catagory.go

@@ -0,0 +1,23 @@
+package csb
+
+//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.
+
+// ErrorTypeCatagory is a nested struct in csb response
+type ErrorTypeCatagory struct {
+	Name     string `json:"Name" xml:"Name"`
+	Total    int    `json:"Total" xml:"Total"`
+	ErrorNum int    `json:"ErrorNum" xml:"ErrorNum"`
+}

+ 23 - 0
services/csb/struct_error_type_catagory_in_find_ordered_list.go

@@ -0,0 +1,23 @@
+package csb
+
+//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.
+
+// ErrorTypeCatagoryInFindOrderedList is a nested struct in csb response
+type ErrorTypeCatagoryInFindOrderedList struct {
+	Name     string `json:"Name" xml:"Name"`
+	Total    int    `json:"Total" xml:"Total"`
+	ErrorNum int    `json:"ErrorNum" xml:"ErrorNum"`
+}

+ 21 - 0
services/csb/struct_error_type_catagory_list_in_find_ordered_list.go

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

+ 21 - 0
services/csb/struct_error_type_catagory_list_in_get_order.go

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

+ 24 - 0
services/csb/struct_import_conf.go

@@ -0,0 +1,24 @@
+package csb
+
+//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.
+
+// ImportConf is a nested struct in csb response
+type ImportConf struct {
+	AccessEndpointJSON string            `json:"AccessEndpointJSON" xml:"AccessEndpointJSON"`
+	ProvideType        string            `json:"ProvideType" xml:"ProvideType"`
+	InputParameterMap  []InputParameter  `json:"InputParameterMap" xml:"InputParameterMap"`
+	OutputParameterMap []OutputParameter `json:"OutputParameterMap" xml:"OutputParameterMap"`
+}

+ 24 - 0
services/csb/struct_import_confs.go

@@ -0,0 +1,24 @@
+package csb
+
+//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.
+
+// ImportConfs is a nested struct in csb response
+type ImportConfs struct {
+	AccessEndpointJSON string            `json:"AccessEndpointJSON" xml:"AccessEndpointJSON"`
+	ProvideType        string            `json:"ProvideType" xml:"ProvideType"`
+	InputParameterMap  []InputParameter  `json:"InputParameterMap" xml:"InputParameterMap"`
+	OutputParameterMap []OutputParameter `json:"OutputParameterMap" xml:"OutputParameterMap"`
+}

+ 29 - 0
services/csb/struct_input_parameter.go

@@ -0,0 +1,29 @@
+package csb
+
+//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.
+
+// InputParameter is a nested struct in csb response
+type InputParameter struct {
+	MapStyle     int    `json:"MapStyle" xml:"MapStyle"`
+	Optional     bool   `json:"Optional" xml:"Optional"`
+	ParamType    string `json:"ParamType" xml:"ParamType"`
+	PassMethod   string `json:"PassMethod" xml:"PassMethod"`
+	ExtType      int    `json:"ExtType" xml:"ExtType"`
+	CatType      int    `json:"CatType" xml:"CatType"`
+	Depth        int    `json:"Depth" xml:"Depth"`
+	OriginalName string `json:"OriginalName" xml:"OriginalName"`
+	TargetName   string `json:"TargetName" xml:"TargetName"`
+}

+ 21 - 0
services/csb/struct_input_parameter_map_in_get_service.go

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

+ 55 - 0
services/csb/struct_instance.go

@@ -0,0 +1,55 @@
+package csb
+
+//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.
+
+// Instance is a nested struct in csb response
+type Instance struct {
+	ApprLevel            int    `json:"ApprLevel" xml:"ApprLevel"`
+	ApprUser1            string `json:"ApprUser1" xml:"ApprUser1"`
+	ApprUser2            string `json:"ApprUser2" xml:"ApprUser2"`
+	BrokerVpcId          string `json:"BrokerVpcId" xml:"BrokerVpcId"`
+	BrokerVpcName        string `json:"BrokerVpcName" xml:"BrokerVpcName"`
+	ClientVpcId          string `json:"ClientVpcId" xml:"ClientVpcId"`
+	ClientVpcName        string `json:"ClientVpcName" xml:"ClientVpcName"`
+	ClusterMembers       int    `json:"ClusterMembers" xml:"ClusterMembers"`
+	CredentialGroup      int    `json:"CredentialGroup" xml:"CredentialGroup"`
+	CsbAccountId         string `json:"CsbAccountId" xml:"CsbAccountId"`
+	CsbId                int    `json:"CsbId" xml:"CsbId"`
+	DbStatus             int    `json:"DbStatus" xml:"DbStatus"`
+	Description          string `json:"Description" xml:"Description"`
+	FrontStatus          string `json:"FrontStatus" xml:"FrontStatus"`
+	GmtCreate            int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified          int    `json:"GmtModified" xml:"GmtModified"`
+	Id                   int    `json:"Id" xml:"Id"`
+	InstanceCategory     int    `json:"InstanceCategory" xml:"InstanceCategory"`
+	InstanceType         int    `json:"InstanceType" xml:"InstanceType"`
+	IpList               string `json:"IpList" xml:"IpList"`
+	IsImported           bool   `json:"IsImported" xml:"IsImported"`
+	IsPublic             bool   `json:"IsPublic" xml:"IsPublic"`
+	Name                 string `json:"Name" xml:"Name"`
+	OwnerId              string `json:"OwnerId" xml:"OwnerId"`
+	SentinelCtlStr       string `json:"SentinelCtlStr" xml:"SentinelCtlStr"`
+	SentinelCtrl         int    `json:"SentinelCtrl" xml:"SentinelCtrl"`
+	SentinelGridInterval int    `json:"SentinelGridInterval" xml:"SentinelGridInterval"`
+	SentinelQps          int    `json:"SentinelQps" xml:"SentinelQps"`
+	Status               string `json:"Status" xml:"Status"`
+	StatusCode           int    `json:"StatusCode" xml:"StatusCode"`
+	TenantId             string `json:"TenantId" xml:"TenantId"`
+	Testable             bool   `json:"Testable" xml:"Testable"`
+	UserId               string `json:"UserId" xml:"UserId"`
+	Visible              bool   `json:"Visible" xml:"Visible"`
+	VpcName              string `json:"VpcName" xml:"VpcName"`
+}

+ 30 - 0
services/csb/struct_item.go

@@ -0,0 +1,30 @@
+package csb
+
+//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.
+
+// Item is a nested struct in csb response
+type Item struct {
+	Description      string `json:"Description" xml:"Description"`
+	FrontStatus      string `json:"FrontStatus" xml:"FrontStatus"`
+	GmtCreate        int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified      int    `json:"GmtModified" xml:"GmtModified"`
+	Id               int    `json:"Id" xml:"Id"`
+	InstanceCategory int    `json:"InstanceCategory" xml:"InstanceCategory"`
+	Name             string `json:"Name" xml:"Name"`
+	StatusCode       int    `json:"StatusCode" xml:"StatusCode"`
+	Visible          bool   `json:"Visible" xml:"Visible"`
+	VpcName          string `json:"VpcName" xml:"VpcName"`
+}

+ 21 - 0
services/csb/struct_item_list.go

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

+ 22 - 0
services/csb/struct_new_credential.go

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

+ 44 - 0
services/csb/struct_order.go

@@ -0,0 +1,44 @@
+package csb
+
+//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.
+
+// Order is a nested struct in csb response
+type Order struct {
+	StatisticName         string              `json:"StatisticName" xml:"StatisticName"`
+	GroupName             string              `json:"GroupName" xml:"GroupName"`
+	ApproveComments       string              `json:"ApproveComments" xml:"ApproveComments"`
+	CredentialGroupId     int                 `json:"CredentialGroupId" xml:"CredentialGroupId"`
+	StrictWhiteListJson   string              `json:"StrictWhiteListJson" xml:"StrictWhiteListJson"`
+	ProjectName           string              `json:"ProjectName" xml:"ProjectName"`
+	UserId                string              `json:"UserId" xml:"UserId"`
+	DauthGroupName        string              `json:"DauthGroupName" xml:"DauthGroupName"`
+	ServiceName           string              `json:"ServiceName" xml:"ServiceName"`
+	Status                int                 `json:"Status" xml:"Status"`
+	Id                    int                 `json:"Id" xml:"Id"`
+	ServiceStatus         int                 `json:"ServiceStatus" xml:"ServiceStatus"`
+	GmtCreate             int                 `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified           int                 `json:"GmtModified" xml:"GmtModified"`
+	ServiceId             int                 `json:"ServiceId" xml:"ServiceId"`
+	CsbId                 int                 `json:"CsbId" xml:"CsbId"`
+	UserName              string              `json:"UserName" xml:"UserName"`
+	Alias                 string              `json:"Alias" xml:"Alias"`
+	ServiceVersion        string              `json:"ServiceVersion" xml:"ServiceVersion"`
+	StrictWhiteList       []string            `json:"StrictWhiteList" xml:"StrictWhiteList"`
+	Service               ServiceInGetOrder   `json:"Service" xml:"Service"`
+	Total                 Total               `json:"Total" xml:"Total"`
+	SlaInfo               SlaInfo             `json:"SlaInfo" xml:"SlaInfo"`
+	ErrorTypeCatagoryList []ErrorTypeCatagory `json:"ErrorTypeCatagoryList" xml:"ErrorTypeCatagoryList"`
+}

+ 34 - 0
services/csb/struct_order_in_find_ordered_list.go

@@ -0,0 +1,34 @@
+package csb
+
+//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.
+
+// OrderInFindOrderedList is a nested struct in csb response
+type OrderInFindOrderedList struct {
+	Alias                 string                               `json:"Alias" xml:"Alias"`
+	ProjectName           string                               `json:"ProjectName" xml:"ProjectName"`
+	ServiceName           string                               `json:"ServiceName" xml:"ServiceName"`
+	ServiceVersion        string                               `json:"ServiceVersion" xml:"ServiceVersion"`
+	OrderStatus           int                                  `json:"OrderStatus" xml:"OrderStatus"`
+	AliveOrderCount       int                                  `json:"AliveOrderCount" xml:"AliveOrderCount"`
+	GmtCreate             int                                  `json:"GmtCreate" xml:"GmtCreate"`
+	MaxRT                 int                                  `json:"MaxRT" xml:"MaxRT"`
+	MinRT                 int                                  `json:"MinRT" xml:"MinRT"`
+	ServiceId             string                               `json:"ServiceId" xml:"ServiceId"`
+	ServiceStatus         int                                  `json:"ServiceStatus" xml:"ServiceStatus"`
+	Total                 Total                                `json:"Total" xml:"Total"`
+	ErrorTypeCatagoryList []ErrorTypeCatagoryInFindOrderedList `json:"ErrorTypeCatagoryList" xml:"ErrorTypeCatagoryList"`
+	Orders                []Order                              `json:"Orders" xml:"Orders"`
+}

Some files were not shown because too many files changed in this diff