浏览代码

Merge pull request #361 from aliyun/supportCr20181201

support cr 2018-12-01
宋神宗 6 年之前
父节点
当前提交
74d552bbac
共有 100 个文件被更改,包括 7411 次插入0 次删除
  1. 107 0
      services/cr-2018-12-01/cancel_repo_build_record.go
  2. 104 0
      services/cr-2018-12-01/client.go
  3. 108 0
      services/cr-2018-12-01/create_build_record_by_rule.go
  4. 108 0
      services/cr-2018-12-01/create_chart_namespace.go
  5. 110 0
      services/cr-2018-12-01/create_chart_repository.go
  6. 109 0
      services/cr-2018-12-01/create_instance_endpoint_acl_policy.go
  7. 108 0
      services/cr-2018-12-01/create_instance_vpc_endpoint_linked_vpc.go
  8. 108 0
      services/cr-2018-12-01/create_namespace.go
  9. 112 0
      services/cr-2018-12-01/create_repo_build_rule.go
  10. 116 0
      services/cr-2018-12-01/create_repo_sync_rule.go
  11. 109 0
      services/cr-2018-12-01/create_repo_sync_task_by_rule.go
  12. 107 0
      services/cr-2018-12-01/create_repo_tag_scan_task.go
  13. 111 0
      services/cr-2018-12-01/create_repo_trigger.go
  14. 111 0
      services/cr-2018-12-01/create_repository.go
  15. 106 0
      services/cr-2018-12-01/delete_chart_namespace.go
  16. 109 0
      services/cr-2018-12-01/delete_chart_release.go
  17. 107 0
      services/cr-2018-12-01/delete_chart_repository.go
  18. 108 0
      services/cr-2018-12-01/delete_instance_endpoint_acl_policy.go
  19. 108 0
      services/cr-2018-12-01/delete_instance_vpc_endpoint_linked_vpc.go
  20. 106 0
      services/cr-2018-12-01/delete_namespace.go
  21. 107 0
      services/cr-2018-12-01/delete_repo_build_rule.go
  22. 106 0
      services/cr-2018-12-01/delete_repo_sync_rule.go
  23. 107 0
      services/cr-2018-12-01/delete_repo_tag.go
  24. 107 0
      services/cr-2018-12-01/delete_repo_trigger.go
  25. 106 0
      services/cr-2018-12-01/delete_repository.go
  26. 108 0
      services/cr-2018-12-01/get_authorization_token.go
  27. 112 0
      services/cr-2018-12-01/get_chart_namespace.go
  28. 116 0
      services/cr-2018-12-01/get_chart_repository.go
  29. 111 0
      services/cr-2018-12-01/get_instance.go
  30. 105 0
      services/cr-2018-12-01/get_instance_count.go
  31. 112 0
      services/cr-2018-12-01/get_instance_endpoint.go
  32. 109 0
      services/cr-2018-12-01/get_instance_usage.go
  33. 109 0
      services/cr-2018-12-01/get_instance_vpc_endpoint.go
  34. 113 0
      services/cr-2018-12-01/get_namespace.go
  35. 111 0
      services/cr-2018-12-01/get_repo_build_record.go
  36. 108 0
      services/cr-2018-12-01/get_repo_build_record_status.go
  37. 116 0
      services/cr-2018-12-01/get_repo_sync_task.go
  38. 108 0
      services/cr-2018-12-01/get_repo_tag_layers.go
  39. 109 0
      services/cr-2018-12-01/get_repo_tag_manifest.go
  40. 110 0
      services/cr-2018-12-01/get_repo_tag_scan_task.go
  41. 119 0
      services/cr-2018-12-01/get_repository.go
  42. 113 0
      services/cr-2018-12-01/list_chart_namespace.go
  43. 114 0
      services/cr-2018-12-01/list_chart_release.go
  44. 114 0
      services/cr-2018-12-01/list_chart_repository.go
  45. 111 0
      services/cr-2018-12-01/list_instance.go
  46. 107 0
      services/cr-2018-12-01/list_instance_endpoint.go
  47. 106 0
      services/cr-2018-12-01/list_instance_region.go
  48. 113 0
      services/cr-2018-12-01/list_namespace.go
  49. 112 0
      services/cr-2018-12-01/list_repo_build_record.go
  50. 112 0
      services/cr-2018-12-01/list_repo_build_record_log.go
  51. 112 0
      services/cr-2018-12-01/list_repo_build_rule.go
  52. 115 0
      services/cr-2018-12-01/list_repo_sync_rule.go
  53. 112 0
      services/cr-2018-12-01/list_repo_sync_task.go
  54. 112 0
      services/cr-2018-12-01/list_repo_tag.go
  55. 107 0
      services/cr-2018-12-01/list_repo_trigger.go
  56. 109 0
      services/cr-2018-12-01/list_repo_trigger_log.go
  57. 107 0
      services/cr-2018-12-01/list_repo_trigger_record.go
  58. 114 0
      services/cr-2018-12-01/list_repository.go
  59. 106 0
      services/cr-2018-12-01/reset_login_password.go
  60. 21 0
      services/cr-2018-12-01/struct_acl_entries_in_get_instance_endpoint.go
  61. 21 0
      services/cr-2018-12-01/struct_acl_entries_in_list_instance_endpoint.go
  62. 22 0
      services/cr-2018-12-01/struct_acl_entries_item.go
  63. 21 0
      services/cr-2018-12-01/struct_build_record_logs.go
  64. 23 0
      services/cr-2018-12-01/struct_build_record_logs_item.go
  65. 21 0
      services/cr-2018-12-01/struct_build_records.go
  66. 25 0
      services/cr-2018-12-01/struct_build_records_item.go
  67. 21 0
      services/cr-2018-12-01/struct_build_rules.go
  68. 26 0
      services/cr-2018-12-01/struct_build_rules_item.go
  69. 21 0
      services/cr-2018-12-01/struct_chart_releases.go
  70. 27 0
      services/cr-2018-12-01/struct_chart_releases_item.go
  71. 23 0
      services/cr-2018-12-01/struct_config.go
  72. 22 0
      services/cr-2018-12-01/struct_data_item.go
  73. 21 0
      services/cr-2018-12-01/struct_domains_in_get_instance_endpoint.go
  74. 21 0
      services/cr-2018-12-01/struct_domains_in_get_instance_vpc_endpoint.go
  75. 21 0
      services/cr-2018-12-01/struct_domains_in_list_instance_endpoint.go
  76. 22 0
      services/cr-2018-12-01/struct_domains_item.go
  77. 22 0
      services/cr-2018-12-01/struct_endpoints.go
  78. 21 0
      services/cr-2018-12-01/struct_endpoints_in_list_instance_endpoint.go
  79. 27 0
      services/cr-2018-12-01/struct_endpoints_item.go
  80. 21 0
      services/cr-2018-12-01/struct_fs_layers.go
  81. 21 0
      services/cr-2018-12-01/struct_fs_layers_item.go
  82. 21 0
      services/cr-2018-12-01/struct_history.go
  83. 21 0
      services/cr-2018-12-01/struct_history_item.go
  84. 24 0
      services/cr-2018-12-01/struct_image.go
  85. 25 0
      services/cr-2018-12-01/struct_image_from.go
  86. 25 0
      services/cr-2018-12-01/struct_image_to.go
  87. 21 0
      services/cr-2018-12-01/struct_images.go
  88. 27 0
      services/cr-2018-12-01/struct_images_item.go
  89. 21 0
      services/cr-2018-12-01/struct_instances.go
  90. 27 0
      services/cr-2018-12-01/struct_instances_item.go
  91. 21 0
      services/cr-2018-12-01/struct_layer_tasks.go
  92. 25 0
      services/cr-2018-12-01/struct_layer_tasks_item.go
  93. 21 0
      services/cr-2018-12-01/struct_layers_in_get_repo_tag_layers.go
  94. 21 0
      services/cr-2018-12-01/struct_layers_in_get_repo_tag_manifest.go
  95. 28 0
      services/cr-2018-12-01/struct_layers_item.go
  96. 21 0
      services/cr-2018-12-01/struct_linked_vpcs_in_get_instance_vpc_endpoint.go
  97. 21 0
      services/cr-2018-12-01/struct_linked_vpcs_in_list_instance_endpoint.go
  98. 25 0
      services/cr-2018-12-01/struct_linked_vpcs_item.go
  99. 21 0
      services/cr-2018-12-01/struct_logs.go
  100. 27 0
      services/cr-2018-12-01/struct_logs_item.go

+ 107 - 0
services/cr-2018-12-01/cancel_repo_build_record.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CancelRepoBuildRecord invokes the cr.CancelRepoBuildRecord API synchronously
+// api document: https://help.aliyun.com/api/cr/cancelrepobuildrecord.html
+func (client *Client) CancelRepoBuildRecord(request *CancelRepoBuildRecordRequest) (response *CancelRepoBuildRecordResponse, err error) {
+	response = CreateCancelRepoBuildRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CancelRepoBuildRecordWithChan invokes the cr.CancelRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/cancelrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelRepoBuildRecordWithChan(request *CancelRepoBuildRecordRequest) (<-chan *CancelRepoBuildRecordResponse, <-chan error) {
+	responseChan := make(chan *CancelRepoBuildRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CancelRepoBuildRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CancelRepoBuildRecordWithCallback invokes the cr.CancelRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/cancelrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelRepoBuildRecordWithCallback(request *CancelRepoBuildRecordRequest, callback func(response *CancelRepoBuildRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CancelRepoBuildRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.CancelRepoBuildRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CancelRepoBuildRecordRequest is the request struct for api CancelRepoBuildRecord
+type CancelRepoBuildRecordRequest struct {
+	*requests.RpcRequest
+	BuildRecordId string `position:"Query" name:"BuildRecordId"`
+	RepoId        string `position:"Query" name:"RepoId"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// CancelRepoBuildRecordResponse is the response struct for api CancelRepoBuildRecord
+type CancelRepoBuildRecordResponse struct {
+	*responses.BaseResponse
+	CancelRepoBuildRecordIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string `json:"Code" xml:"Code"`
+	RequestId                      string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCancelRepoBuildRecordRequest creates a request to invoke CancelRepoBuildRecord API
+func CreateCancelRepoBuildRecordRequest() (request *CancelRepoBuildRecordRequest) {
+	request = &CancelRepoBuildRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CancelRepoBuildRecord", "cr", "openAPI")
+	return
+}
+
+// CreateCancelRepoBuildRecordResponse creates a response to parse from CancelRepoBuildRecord response
+func CreateCancelRepoBuildRecordResponse() (response *CancelRepoBuildRecordResponse) {
+	response = &CancelRepoBuildRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cr-2018-12-01/client.go

@@ -0,0 +1,104 @@
+package cr_2018_12_01
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// 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
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	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://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 108 - 0
services/cr-2018-12-01/create_build_record_by_rule.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateBuildRecordByRule invokes the cr.CreateBuildRecordByRule API synchronously
+// api document: https://help.aliyun.com/api/cr/createbuildrecordbyrule.html
+func (client *Client) CreateBuildRecordByRule(request *CreateBuildRecordByRuleRequest) (response *CreateBuildRecordByRuleResponse, err error) {
+	response = CreateCreateBuildRecordByRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateBuildRecordByRuleWithChan invokes the cr.CreateBuildRecordByRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createbuildrecordbyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBuildRecordByRuleWithChan(request *CreateBuildRecordByRuleRequest) (<-chan *CreateBuildRecordByRuleResponse, <-chan error) {
+	responseChan := make(chan *CreateBuildRecordByRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateBuildRecordByRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateBuildRecordByRuleWithCallback invokes the cr.CreateBuildRecordByRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createbuildrecordbyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBuildRecordByRuleWithCallback(request *CreateBuildRecordByRuleRequest, callback func(response *CreateBuildRecordByRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateBuildRecordByRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateBuildRecordByRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateBuildRecordByRuleRequest is the request struct for api CreateBuildRecordByRule
+type CreateBuildRecordByRuleRequest struct {
+	*requests.RpcRequest
+	RepoId      string `position:"Query" name:"RepoId"`
+	BuildRuleId string `position:"Query" name:"BuildRuleId"`
+	InstanceId  string `position:"Query" name:"InstanceId"`
+}
+
+// CreateBuildRecordByRuleResponse is the response struct for api CreateBuildRecordByRule
+type CreateBuildRecordByRuleResponse struct {
+	*responses.BaseResponse
+	CreateBuildRecordByRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                             string `json:"Code" xml:"Code"`
+	RequestId                        string `json:"RequestId" xml:"RequestId"`
+	BuildRecordId                    string `json:"BuildRecordId" xml:"BuildRecordId"`
+}
+
+// CreateCreateBuildRecordByRuleRequest creates a request to invoke CreateBuildRecordByRule API
+func CreateCreateBuildRecordByRuleRequest() (request *CreateBuildRecordByRuleRequest) {
+	request = &CreateBuildRecordByRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateBuildRecordByRule", "cr", "openAPI")
+	return
+}
+
+// CreateCreateBuildRecordByRuleResponse creates a response to parse from CreateBuildRecordByRule response
+func CreateCreateBuildRecordByRuleResponse() (response *CreateBuildRecordByRuleResponse) {
+	response = &CreateBuildRecordByRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/create_chart_namespace.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateChartNamespace invokes the cr.CreateChartNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/createchartnamespace.html
+func (client *Client) CreateChartNamespace(request *CreateChartNamespaceRequest) (response *CreateChartNamespaceResponse, err error) {
+	response = CreateCreateChartNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateChartNamespaceWithChan invokes the cr.CreateChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/createchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChartNamespaceWithChan(request *CreateChartNamespaceRequest) (<-chan *CreateChartNamespaceResponse, <-chan error) {
+	responseChan := make(chan *CreateChartNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateChartNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateChartNamespaceWithCallback invokes the cr.CreateChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/createchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChartNamespaceWithCallback(request *CreateChartNamespaceRequest, callback func(response *CreateChartNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateChartNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateChartNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateChartNamespaceRequest is the request struct for api CreateChartNamespace
+type CreateChartNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName   string           `position:"Query" name:"NamespaceName"`
+	AutoCreateRepo  requests.Boolean `position:"Query" name:"AutoCreateRepo"`
+	DefaultRepoType string           `position:"Query" name:"DefaultRepoType"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+}
+
+// CreateChartNamespaceResponse is the response struct for api CreateChartNamespace
+type CreateChartNamespaceResponse struct {
+	*responses.BaseResponse
+	CreateChartNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                          string `json:"Code" xml:"Code"`
+	RequestId                     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateChartNamespaceRequest creates a request to invoke CreateChartNamespace API
+func CreateCreateChartNamespaceRequest() (request *CreateChartNamespaceRequest) {
+	request = &CreateChartNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateChartNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateCreateChartNamespaceResponse creates a response to parse from CreateChartNamespace response
+func CreateCreateChartNamespaceResponse() (response *CreateChartNamespaceResponse) {
+	response = &CreateChartNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cr-2018-12-01/create_chart_repository.go

@@ -0,0 +1,110 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateChartRepository invokes the cr.CreateChartRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/createchartrepository.html
+func (client *Client) CreateChartRepository(request *CreateChartRepositoryRequest) (response *CreateChartRepositoryResponse, err error) {
+	response = CreateCreateChartRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateChartRepositoryWithChan invokes the cr.CreateChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/createchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChartRepositoryWithChan(request *CreateChartRepositoryRequest) (<-chan *CreateChartRepositoryResponse, <-chan error) {
+	responseChan := make(chan *CreateChartRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateChartRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateChartRepositoryWithCallback invokes the cr.CreateChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/createchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChartRepositoryWithCallback(request *CreateChartRepositoryRequest, callback func(response *CreateChartRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateChartRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateChartRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateChartRepositoryRequest is the request struct for api CreateChartRepository
+type CreateChartRepositoryRequest struct {
+	*requests.RpcRequest
+	RepoType          string `position:"Query" name:"RepoType"`
+	Summary           string `position:"Query" name:"Summary"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoName          string `position:"Query" name:"RepoName"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+}
+
+// CreateChartRepositoryResponse is the response struct for api CreateChartRepository
+type CreateChartRepositoryResponse struct {
+	*responses.BaseResponse
+	CreateChartRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string `json:"Code" xml:"Code"`
+	RequestId                      string `json:"RequestId" xml:"RequestId"`
+	RepoId                         string `json:"RepoId" xml:"RepoId"`
+}
+
+// CreateCreateChartRepositoryRequest creates a request to invoke CreateChartRepository API
+func CreateCreateChartRepositoryRequest() (request *CreateChartRepositoryRequest) {
+	request = &CreateChartRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateChartRepository", "cr", "openAPI")
+	return
+}
+
+// CreateCreateChartRepositoryResponse creates a response to parse from CreateChartRepository response
+func CreateCreateChartRepositoryResponse() (response *CreateChartRepositoryResponse) {
+	response = &CreateChartRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/create_instance_endpoint_acl_policy.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateInstanceEndpointAclPolicy invokes the cr.CreateInstanceEndpointAclPolicy API synchronously
+// api document: https://help.aliyun.com/api/cr/createinstanceendpointaclpolicy.html
+func (client *Client) CreateInstanceEndpointAclPolicy(request *CreateInstanceEndpointAclPolicyRequest) (response *CreateInstanceEndpointAclPolicyResponse, err error) {
+	response = CreateCreateInstanceEndpointAclPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceEndpointAclPolicyWithChan invokes the cr.CreateInstanceEndpointAclPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cr/createinstanceendpointaclpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceEndpointAclPolicyWithChan(request *CreateInstanceEndpointAclPolicyRequest) (<-chan *CreateInstanceEndpointAclPolicyResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceEndpointAclPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstanceEndpointAclPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceEndpointAclPolicyWithCallback invokes the cr.CreateInstanceEndpointAclPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cr/createinstanceendpointaclpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceEndpointAclPolicyWithCallback(request *CreateInstanceEndpointAclPolicyRequest, callback func(response *CreateInstanceEndpointAclPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceEndpointAclPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstanceEndpointAclPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceEndpointAclPolicyRequest is the request struct for api CreateInstanceEndpointAclPolicy
+type CreateInstanceEndpointAclPolicyRequest struct {
+	*requests.RpcRequest
+	Entry        string `position:"Query" name:"Entry"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	EndpointType string `position:"Query" name:"EndpointType"`
+	ModuleName   string `position:"Query" name:"ModuleName"`
+	Comment      string `position:"Query" name:"Comment"`
+}
+
+// CreateInstanceEndpointAclPolicyResponse is the response struct for api CreateInstanceEndpointAclPolicy
+type CreateInstanceEndpointAclPolicyResponse struct {
+	*responses.BaseResponse
+	CreateInstanceEndpointAclPolicyIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                                     string `json:"Code" xml:"Code"`
+	RequestId                                string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateInstanceEndpointAclPolicyRequest creates a request to invoke CreateInstanceEndpointAclPolicy API
+func CreateCreateInstanceEndpointAclPolicyRequest() (request *CreateInstanceEndpointAclPolicyRequest) {
+	request = &CreateInstanceEndpointAclPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateInstanceEndpointAclPolicy", "cr", "openAPI")
+	return
+}
+
+// CreateCreateInstanceEndpointAclPolicyResponse creates a response to parse from CreateInstanceEndpointAclPolicy response
+func CreateCreateInstanceEndpointAclPolicyResponse() (response *CreateInstanceEndpointAclPolicyResponse) {
+	response = &CreateInstanceEndpointAclPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/create_instance_vpc_endpoint_linked_vpc.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateInstanceVpcEndpointLinkedVpc invokes the cr.CreateInstanceVpcEndpointLinkedVpc API synchronously
+// api document: https://help.aliyun.com/api/cr/createinstancevpcendpointlinkedvpc.html
+func (client *Client) CreateInstanceVpcEndpointLinkedVpc(request *CreateInstanceVpcEndpointLinkedVpcRequest) (response *CreateInstanceVpcEndpointLinkedVpcResponse, err error) {
+	response = CreateCreateInstanceVpcEndpointLinkedVpcResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceVpcEndpointLinkedVpcWithChan invokes the cr.CreateInstanceVpcEndpointLinkedVpc API asynchronously
+// api document: https://help.aliyun.com/api/cr/createinstancevpcendpointlinkedvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceVpcEndpointLinkedVpcWithChan(request *CreateInstanceVpcEndpointLinkedVpcRequest) (<-chan *CreateInstanceVpcEndpointLinkedVpcResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceVpcEndpointLinkedVpcResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstanceVpcEndpointLinkedVpc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceVpcEndpointLinkedVpcWithCallback invokes the cr.CreateInstanceVpcEndpointLinkedVpc API asynchronously
+// api document: https://help.aliyun.com/api/cr/createinstancevpcendpointlinkedvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceVpcEndpointLinkedVpcWithCallback(request *CreateInstanceVpcEndpointLinkedVpcRequest, callback func(response *CreateInstanceVpcEndpointLinkedVpcResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceVpcEndpointLinkedVpcResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstanceVpcEndpointLinkedVpc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceVpcEndpointLinkedVpcRequest is the request struct for api CreateInstanceVpcEndpointLinkedVpc
+type CreateInstanceVpcEndpointLinkedVpcRequest struct {
+	*requests.RpcRequest
+	VswitchId  string `position:"Query" name:"VswitchId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	VpcId      string `position:"Query" name:"VpcId"`
+	ModuleName string `position:"Query" name:"ModuleName"`
+}
+
+// CreateInstanceVpcEndpointLinkedVpcResponse is the response struct for api CreateInstanceVpcEndpointLinkedVpc
+type CreateInstanceVpcEndpointLinkedVpcResponse struct {
+	*responses.BaseResponse
+	CreateInstanceVpcEndpointLinkedVpcIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                                        string `json:"Code" xml:"Code"`
+	RequestId                                   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateInstanceVpcEndpointLinkedVpcRequest creates a request to invoke CreateInstanceVpcEndpointLinkedVpc API
+func CreateCreateInstanceVpcEndpointLinkedVpcRequest() (request *CreateInstanceVpcEndpointLinkedVpcRequest) {
+	request = &CreateInstanceVpcEndpointLinkedVpcRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateInstanceVpcEndpointLinkedVpc", "cr", "openAPI")
+	return
+}
+
+// CreateCreateInstanceVpcEndpointLinkedVpcResponse creates a response to parse from CreateInstanceVpcEndpointLinkedVpc response
+func CreateCreateInstanceVpcEndpointLinkedVpcResponse() (response *CreateInstanceVpcEndpointLinkedVpcResponse) {
+	response = &CreateInstanceVpcEndpointLinkedVpcResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/create_namespace.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateNamespace invokes the cr.CreateNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/createnamespace.html
+func (client *Client) CreateNamespace(request *CreateNamespaceRequest) (response *CreateNamespaceResponse, err error) {
+	response = CreateCreateNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateNamespaceWithChan invokes the cr.CreateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/createnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNamespaceWithChan(request *CreateNamespaceRequest) (<-chan *CreateNamespaceResponse, <-chan error) {
+	responseChan := make(chan *CreateNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateNamespaceWithCallback invokes the cr.CreateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/createnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNamespaceWithCallback(request *CreateNamespaceRequest, callback func(response *CreateNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateNamespaceRequest is the request struct for api CreateNamespace
+type CreateNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName   string           `position:"Query" name:"NamespaceName"`
+	AutoCreateRepo  requests.Boolean `position:"Query" name:"AutoCreateRepo"`
+	DefaultRepoType string           `position:"Query" name:"DefaultRepoType"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+}
+
+// CreateNamespaceResponse is the response struct for api CreateNamespace
+type CreateNamespaceResponse struct {
+	*responses.BaseResponse
+	CreateNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                     string `json:"Code" xml:"Code"`
+	RequestId                string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateNamespaceRequest creates a request to invoke CreateNamespace API
+func CreateCreateNamespaceRequest() (request *CreateNamespaceRequest) {
+	request = &CreateNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateCreateNamespaceResponse creates a response to parse from CreateNamespace response
+func CreateCreateNamespaceResponse() (response *CreateNamespaceResponse) {
+	response = &CreateNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/create_repo_build_rule.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepoBuildRule invokes the cr.CreateRepoBuildRule API synchronously
+// api document: https://help.aliyun.com/api/cr/createrepobuildrule.html
+func (client *Client) CreateRepoBuildRule(request *CreateRepoBuildRuleRequest) (response *CreateRepoBuildRuleResponse, err error) {
+	response = CreateCreateRepoBuildRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepoBuildRuleWithChan invokes the cr.CreateRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoBuildRuleWithChan(request *CreateRepoBuildRuleRequest) (<-chan *CreateRepoBuildRuleResponse, <-chan error) {
+	responseChan := make(chan *CreateRepoBuildRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepoBuildRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepoBuildRuleWithCallback invokes the cr.CreateRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoBuildRuleWithCallback(request *CreateRepoBuildRuleRequest, callback func(response *CreateRepoBuildRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepoBuildRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepoBuildRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepoBuildRuleRequest is the request struct for api CreateRepoBuildRule
+type CreateRepoBuildRuleRequest struct {
+	*requests.RpcRequest
+	RepoId             string `position:"Query" name:"RepoId"`
+	PushName           string `position:"Query" name:"PushName"`
+	DockerfileName     string `position:"Query" name:"DockerfileName"`
+	DockerfileLocation string `position:"Query" name:"DockerfileLocation"`
+	InstanceId         string `position:"Query" name:"InstanceId"`
+	ImageTag           string `position:"Query" name:"ImageTag"`
+	PushType           string `position:"Query" name:"PushType"`
+}
+
+// CreateRepoBuildRuleResponse is the response struct for api CreateRepoBuildRule
+type CreateRepoBuildRuleResponse struct {
+	*responses.BaseResponse
+	CreateRepoBuildRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                         string `json:"Code" xml:"Code"`
+	RequestId                    string `json:"RequestId" xml:"RequestId"`
+	BuildRuleId                  string `json:"BuildRuleId" xml:"BuildRuleId"`
+}
+
+// CreateCreateRepoBuildRuleRequest creates a request to invoke CreateRepoBuildRule API
+func CreateCreateRepoBuildRuleRequest() (request *CreateRepoBuildRuleRequest) {
+	request = &CreateRepoBuildRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepoBuildRule", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepoBuildRuleResponse creates a response to parse from CreateRepoBuildRule response
+func CreateCreateRepoBuildRuleResponse() (response *CreateRepoBuildRuleResponse) {
+	response = &CreateRepoBuildRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cr-2018-12-01/create_repo_sync_rule.go

@@ -0,0 +1,116 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepoSyncRule invokes the cr.CreateRepoSyncRule API synchronously
+// api document: https://help.aliyun.com/api/cr/createreposyncrule.html
+func (client *Client) CreateRepoSyncRule(request *CreateRepoSyncRuleRequest) (response *CreateRepoSyncRuleResponse, err error) {
+	response = CreateCreateRepoSyncRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepoSyncRuleWithChan invokes the cr.CreateRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createreposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoSyncRuleWithChan(request *CreateRepoSyncRuleRequest) (<-chan *CreateRepoSyncRuleResponse, <-chan error) {
+	responseChan := make(chan *CreateRepoSyncRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepoSyncRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepoSyncRuleWithCallback invokes the cr.CreateRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createreposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoSyncRuleWithCallback(request *CreateRepoSyncRuleRequest, callback func(response *CreateRepoSyncRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepoSyncRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepoSyncRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepoSyncRuleRequest is the request struct for api CreateRepoSyncRule
+type CreateRepoSyncRuleRequest struct {
+	*requests.RpcRequest
+	NamespaceName       string `position:"Query" name:"NamespaceName"`
+	TargetRepoName      string `position:"Query" name:"TargetRepoName"`
+	SyncScope           string `position:"Query" name:"SyncScope"`
+	SyncRuleName        string `position:"Query" name:"SyncRuleName"`
+	TagFilter           string `position:"Query" name:"TagFilter"`
+	TargetNamespaceName string `position:"Query" name:"TargetNamespaceName"`
+	InstanceId          string `position:"Query" name:"InstanceId"`
+	TargetInstanceId    string `position:"Query" name:"TargetInstanceId"`
+	RepoName            string `position:"Query" name:"RepoName"`
+	TargetRegionId      string `position:"Query" name:"TargetRegionId"`
+	SyncTrigger         string `position:"Query" name:"SyncTrigger"`
+}
+
+// CreateRepoSyncRuleResponse is the response struct for api CreateRepoSyncRule
+type CreateRepoSyncRuleResponse struct {
+	*responses.BaseResponse
+	CreateRepoSyncRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+	SyncRuleId                  string `json:"SyncRuleId" xml:"SyncRuleId"`
+}
+
+// CreateCreateRepoSyncRuleRequest creates a request to invoke CreateRepoSyncRule API
+func CreateCreateRepoSyncRuleRequest() (request *CreateRepoSyncRuleRequest) {
+	request = &CreateRepoSyncRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepoSyncRule", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepoSyncRuleResponse creates a response to parse from CreateRepoSyncRule response
+func CreateCreateRepoSyncRuleResponse() (response *CreateRepoSyncRuleResponse) {
+	response = &CreateRepoSyncRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/create_repo_sync_task_by_rule.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepoSyncTaskByRule invokes the cr.CreateRepoSyncTaskByRule API synchronously
+// api document: https://help.aliyun.com/api/cr/createreposynctaskbyrule.html
+func (client *Client) CreateRepoSyncTaskByRule(request *CreateRepoSyncTaskByRuleRequest) (response *CreateRepoSyncTaskByRuleResponse, err error) {
+	response = CreateCreateRepoSyncTaskByRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepoSyncTaskByRuleWithChan invokes the cr.CreateRepoSyncTaskByRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createreposynctaskbyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoSyncTaskByRuleWithChan(request *CreateRepoSyncTaskByRuleRequest) (<-chan *CreateRepoSyncTaskByRuleResponse, <-chan error) {
+	responseChan := make(chan *CreateRepoSyncTaskByRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepoSyncTaskByRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepoSyncTaskByRuleWithCallback invokes the cr.CreateRepoSyncTaskByRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/createreposynctaskbyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoSyncTaskByRuleWithCallback(request *CreateRepoSyncTaskByRuleRequest, callback func(response *CreateRepoSyncTaskByRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepoSyncTaskByRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepoSyncTaskByRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepoSyncTaskByRuleRequest is the request struct for api CreateRepoSyncTaskByRule
+type CreateRepoSyncTaskByRuleRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Tag        string `position:"Query" name:"Tag"`
+	SyncRuleId string `position:"Query" name:"SyncRuleId"`
+}
+
+// CreateRepoSyncTaskByRuleResponse is the response struct for api CreateRepoSyncTaskByRule
+type CreateRepoSyncTaskByRuleResponse struct {
+	*responses.BaseResponse
+	CreateRepoSyncTaskByRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                              string `json:"Code" xml:"Code"`
+	RequestId                         string `json:"RequestId" xml:"RequestId"`
+	SyncTaskId                        string `json:"SyncTaskId" xml:"SyncTaskId"`
+}
+
+// CreateCreateRepoSyncTaskByRuleRequest creates a request to invoke CreateRepoSyncTaskByRule API
+func CreateCreateRepoSyncTaskByRuleRequest() (request *CreateRepoSyncTaskByRuleRequest) {
+	request = &CreateRepoSyncTaskByRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepoSyncTaskByRule", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepoSyncTaskByRuleResponse creates a response to parse from CreateRepoSyncTaskByRule response
+func CreateCreateRepoSyncTaskByRuleResponse() (response *CreateRepoSyncTaskByRuleResponse) {
+	response = &CreateRepoSyncTaskByRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/create_repo_tag_scan_task.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepoTagScanTask invokes the cr.CreateRepoTagScanTask API synchronously
+// api document: https://help.aliyun.com/api/cr/createrepotagscantask.html
+func (client *Client) CreateRepoTagScanTask(request *CreateRepoTagScanTaskRequest) (response *CreateRepoTagScanTaskResponse, err error) {
+	response = CreateCreateRepoTagScanTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepoTagScanTaskWithChan invokes the cr.CreateRepoTagScanTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepotagscantask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoTagScanTaskWithChan(request *CreateRepoTagScanTaskRequest) (<-chan *CreateRepoTagScanTaskResponse, <-chan error) {
+	responseChan := make(chan *CreateRepoTagScanTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepoTagScanTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepoTagScanTaskWithCallback invokes the cr.CreateRepoTagScanTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepotagscantask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoTagScanTaskWithCallback(request *CreateRepoTagScanTaskRequest, callback func(response *CreateRepoTagScanTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepoTagScanTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepoTagScanTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepoTagScanTaskRequest is the request struct for api CreateRepoTagScanTask
+type CreateRepoTagScanTaskRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Tag        string `position:"Query" name:"Tag"`
+}
+
+// CreateRepoTagScanTaskResponse is the response struct for api CreateRepoTagScanTask
+type CreateRepoTagScanTaskResponse struct {
+	*responses.BaseResponse
+	CreateRepoTagScanTaskIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string `json:"Code" xml:"Code"`
+	RequestId                      string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateRepoTagScanTaskRequest creates a request to invoke CreateRepoTagScanTask API
+func CreateCreateRepoTagScanTaskRequest() (request *CreateRepoTagScanTaskRequest) {
+	request = &CreateRepoTagScanTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepoTagScanTask", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepoTagScanTaskResponse creates a response to parse from CreateRepoTagScanTask response
+func CreateCreateRepoTagScanTaskResponse() (response *CreateRepoTagScanTaskResponse) {
+	response = &CreateRepoTagScanTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cr-2018-12-01/create_repo_trigger.go

@@ -0,0 +1,111 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepoTrigger invokes the cr.CreateRepoTrigger API synchronously
+// api document: https://help.aliyun.com/api/cr/createrepotrigger.html
+func (client *Client) CreateRepoTrigger(request *CreateRepoTriggerRequest) (response *CreateRepoTriggerResponse, err error) {
+	response = CreateCreateRepoTriggerResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepoTriggerWithChan invokes the cr.CreateRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoTriggerWithChan(request *CreateRepoTriggerRequest) (<-chan *CreateRepoTriggerResponse, <-chan error) {
+	responseChan := make(chan *CreateRepoTriggerResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepoTrigger(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepoTriggerWithCallback invokes the cr.CreateRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepoTriggerWithCallback(request *CreateRepoTriggerRequest, callback func(response *CreateRepoTriggerResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepoTriggerResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepoTrigger(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepoTriggerRequest is the request struct for api CreateRepoTrigger
+type CreateRepoTriggerRequest struct {
+	*requests.RpcRequest
+	RepoId      string `position:"Query" name:"RepoId"`
+	TriggerTag  string `position:"Query" name:"TriggerTag"`
+	TriggerType string `position:"Query" name:"TriggerType"`
+	TriggerUrl  string `position:"Query" name:"TriggerUrl"`
+	InstanceId  string `position:"Query" name:"InstanceId"`
+	TriggerName string `position:"Query" name:"TriggerName"`
+}
+
+// CreateRepoTriggerResponse is the response struct for api CreateRepoTrigger
+type CreateRepoTriggerResponse struct {
+	*responses.BaseResponse
+	CreateRepoTriggerIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                       string `json:"Code" xml:"Code"`
+	RequestId                  string `json:"RequestId" xml:"RequestId"`
+	TriggerId                  string `json:"TriggerId" xml:"TriggerId"`
+}
+
+// CreateCreateRepoTriggerRequest creates a request to invoke CreateRepoTrigger API
+func CreateCreateRepoTriggerRequest() (request *CreateRepoTriggerRequest) {
+	request = &CreateRepoTriggerRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepoTrigger", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepoTriggerResponse creates a response to parse from CreateRepoTrigger response
+func CreateCreateRepoTriggerResponse() (response *CreateRepoTriggerResponse) {
+	response = &CreateRepoTriggerResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cr-2018-12-01/create_repository.go

@@ -0,0 +1,111 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// CreateRepository invokes the cr.CreateRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/createrepository.html
+func (client *Client) CreateRepository(request *CreateRepositoryRequest) (response *CreateRepositoryResponse, err error) {
+	response = CreateCreateRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRepositoryWithChan invokes the cr.CreateRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepositoryWithChan(request *CreateRepositoryRequest) (<-chan *CreateRepositoryResponse, <-chan error) {
+	responseChan := make(chan *CreateRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRepositoryWithCallback invokes the cr.CreateRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/createrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRepositoryWithCallback(request *CreateRepositoryRequest, callback func(response *CreateRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRepositoryRequest is the request struct for api CreateRepository
+type CreateRepositoryRequest struct {
+	*requests.RpcRequest
+	RepoType          string `position:"Query" name:"RepoType"`
+	Summary           string `position:"Query" name:"Summary"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoName          string `position:"Query" name:"RepoName"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+	Detail            string `position:"Query" name:"Detail"`
+}
+
+// CreateRepositoryResponse is the response struct for api CreateRepository
+type CreateRepositoryResponse struct {
+	*responses.BaseResponse
+	CreateRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string `json:"Code" xml:"Code"`
+	RequestId                 string `json:"RequestId" xml:"RequestId"`
+	RepoId                    string `json:"RepoId" xml:"RepoId"`
+}
+
+// CreateCreateRepositoryRequest creates a request to invoke CreateRepository API
+func CreateCreateRepositoryRequest() (request *CreateRepositoryRequest) {
+	request = &CreateRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "CreateRepository", "cr", "openAPI")
+	return
+}
+
+// CreateCreateRepositoryResponse creates a response to parse from CreateRepository response
+func CreateCreateRepositoryResponse() (response *CreateRepositoryResponse) {
+	response = &CreateRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/delete_chart_namespace.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteChartNamespace invokes the cr.DeleteChartNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/deletechartnamespace.html
+func (client *Client) DeleteChartNamespace(request *DeleteChartNamespaceRequest) (response *DeleteChartNamespaceResponse, err error) {
+	response = CreateDeleteChartNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteChartNamespaceWithChan invokes the cr.DeleteChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartNamespaceWithChan(request *DeleteChartNamespaceRequest) (<-chan *DeleteChartNamespaceResponse, <-chan error) {
+	responseChan := make(chan *DeleteChartNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteChartNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteChartNamespaceWithCallback invokes the cr.DeleteChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartNamespaceWithCallback(request *DeleteChartNamespaceRequest, callback func(response *DeleteChartNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteChartNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteChartNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteChartNamespaceRequest is the request struct for api DeleteChartNamespace
+type DeleteChartNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName string `position:"Query" name:"NamespaceName"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteChartNamespaceResponse is the response struct for api DeleteChartNamespace
+type DeleteChartNamespaceResponse struct {
+	*responses.BaseResponse
+	DeleteChartNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                          string `json:"Code" xml:"Code"`
+	RequestId                     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteChartNamespaceRequest creates a request to invoke DeleteChartNamespace API
+func CreateDeleteChartNamespaceRequest() (request *DeleteChartNamespaceRequest) {
+	request = &DeleteChartNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteChartNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteChartNamespaceResponse creates a response to parse from DeleteChartNamespace response
+func CreateDeleteChartNamespaceResponse() (response *DeleteChartNamespaceResponse) {
+	response = &DeleteChartNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/delete_chart_release.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteChartRelease invokes the cr.DeleteChartRelease API synchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrelease.html
+func (client *Client) DeleteChartRelease(request *DeleteChartReleaseRequest) (response *DeleteChartReleaseResponse, err error) {
+	response = CreateDeleteChartReleaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteChartReleaseWithChan invokes the cr.DeleteChartRelease API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrelease.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartReleaseWithChan(request *DeleteChartReleaseRequest) (<-chan *DeleteChartReleaseResponse, <-chan error) {
+	responseChan := make(chan *DeleteChartReleaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteChartRelease(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteChartReleaseWithCallback invokes the cr.DeleteChartRelease API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrelease.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartReleaseWithCallback(request *DeleteChartReleaseRequest, callback func(response *DeleteChartReleaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteChartReleaseResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteChartRelease(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteChartReleaseRequest is the request struct for api DeleteChartRelease
+type DeleteChartReleaseRequest struct {
+	*requests.RpcRequest
+	Release           string `position:"Query" name:"Release"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoName          string `position:"Query" name:"RepoName"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+	Chart             string `position:"Query" name:"Chart"`
+}
+
+// DeleteChartReleaseResponse is the response struct for api DeleteChartRelease
+type DeleteChartReleaseResponse struct {
+	*responses.BaseResponse
+	DeleteChartReleaseIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteChartReleaseRequest creates a request to invoke DeleteChartRelease API
+func CreateDeleteChartReleaseRequest() (request *DeleteChartReleaseRequest) {
+	request = &DeleteChartReleaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteChartRelease", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteChartReleaseResponse creates a response to parse from DeleteChartRelease response
+func CreateDeleteChartReleaseResponse() (response *DeleteChartReleaseResponse) {
+	response = &DeleteChartReleaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/delete_chart_repository.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteChartRepository invokes the cr.DeleteChartRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrepository.html
+func (client *Client) DeleteChartRepository(request *DeleteChartRepositoryRequest) (response *DeleteChartRepositoryResponse, err error) {
+	response = CreateDeleteChartRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteChartRepositoryWithChan invokes the cr.DeleteChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartRepositoryWithChan(request *DeleteChartRepositoryRequest) (<-chan *DeleteChartRepositoryResponse, <-chan error) {
+	responseChan := make(chan *DeleteChartRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteChartRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteChartRepositoryWithCallback invokes the cr.DeleteChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletechartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChartRepositoryWithCallback(request *DeleteChartRepositoryRequest, callback func(response *DeleteChartRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteChartRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteChartRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteChartRepositoryRequest is the request struct for api DeleteChartRepository
+type DeleteChartRepositoryRequest struct {
+	*requests.RpcRequest
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+	RepoName          string `position:"Query" name:"RepoName"`
+}
+
+// DeleteChartRepositoryResponse is the response struct for api DeleteChartRepository
+type DeleteChartRepositoryResponse struct {
+	*responses.BaseResponse
+	DeleteChartRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string `json:"Code" xml:"Code"`
+	RequestId                      string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteChartRepositoryRequest creates a request to invoke DeleteChartRepository API
+func CreateDeleteChartRepositoryRequest() (request *DeleteChartRepositoryRequest) {
+	request = &DeleteChartRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteChartRepository", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteChartRepositoryResponse creates a response to parse from DeleteChartRepository response
+func CreateDeleteChartRepositoryResponse() (response *DeleteChartRepositoryResponse) {
+	response = &DeleteChartRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/delete_instance_endpoint_acl_policy.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteInstanceEndpointAclPolicy invokes the cr.DeleteInstanceEndpointAclPolicy API synchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstanceendpointaclpolicy.html
+func (client *Client) DeleteInstanceEndpointAclPolicy(request *DeleteInstanceEndpointAclPolicyRequest) (response *DeleteInstanceEndpointAclPolicyResponse, err error) {
+	response = CreateDeleteInstanceEndpointAclPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteInstanceEndpointAclPolicyWithChan invokes the cr.DeleteInstanceEndpointAclPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstanceendpointaclpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceEndpointAclPolicyWithChan(request *DeleteInstanceEndpointAclPolicyRequest) (<-chan *DeleteInstanceEndpointAclPolicyResponse, <-chan error) {
+	responseChan := make(chan *DeleteInstanceEndpointAclPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteInstanceEndpointAclPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteInstanceEndpointAclPolicyWithCallback invokes the cr.DeleteInstanceEndpointAclPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstanceendpointaclpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceEndpointAclPolicyWithCallback(request *DeleteInstanceEndpointAclPolicyRequest, callback func(response *DeleteInstanceEndpointAclPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteInstanceEndpointAclPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteInstanceEndpointAclPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteInstanceEndpointAclPolicyRequest is the request struct for api DeleteInstanceEndpointAclPolicy
+type DeleteInstanceEndpointAclPolicyRequest struct {
+	*requests.RpcRequest
+	Entry        string `position:"Query" name:"Entry"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	EndpointType string `position:"Query" name:"EndpointType"`
+	ModuleName   string `position:"Query" name:"ModuleName"`
+}
+
+// DeleteInstanceEndpointAclPolicyResponse is the response struct for api DeleteInstanceEndpointAclPolicy
+type DeleteInstanceEndpointAclPolicyResponse struct {
+	*responses.BaseResponse
+	DeleteInstanceEndpointAclPolicyIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                                     string `json:"Code" xml:"Code"`
+	RequestId                                string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteInstanceEndpointAclPolicyRequest creates a request to invoke DeleteInstanceEndpointAclPolicy API
+func CreateDeleteInstanceEndpointAclPolicyRequest() (request *DeleteInstanceEndpointAclPolicyRequest) {
+	request = &DeleteInstanceEndpointAclPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteInstanceEndpointAclPolicy", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteInstanceEndpointAclPolicyResponse creates a response to parse from DeleteInstanceEndpointAclPolicy response
+func CreateDeleteInstanceEndpointAclPolicyResponse() (response *DeleteInstanceEndpointAclPolicyResponse) {
+	response = &DeleteInstanceEndpointAclPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/delete_instance_vpc_endpoint_linked_vpc.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteInstanceVpcEndpointLinkedVpc invokes the cr.DeleteInstanceVpcEndpointLinkedVpc API synchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstancevpcendpointlinkedvpc.html
+func (client *Client) DeleteInstanceVpcEndpointLinkedVpc(request *DeleteInstanceVpcEndpointLinkedVpcRequest) (response *DeleteInstanceVpcEndpointLinkedVpcResponse, err error) {
+	response = CreateDeleteInstanceVpcEndpointLinkedVpcResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteInstanceVpcEndpointLinkedVpcWithChan invokes the cr.DeleteInstanceVpcEndpointLinkedVpc API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstancevpcendpointlinkedvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceVpcEndpointLinkedVpcWithChan(request *DeleteInstanceVpcEndpointLinkedVpcRequest) (<-chan *DeleteInstanceVpcEndpointLinkedVpcResponse, <-chan error) {
+	responseChan := make(chan *DeleteInstanceVpcEndpointLinkedVpcResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteInstanceVpcEndpointLinkedVpc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteInstanceVpcEndpointLinkedVpcWithCallback invokes the cr.DeleteInstanceVpcEndpointLinkedVpc API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleteinstancevpcendpointlinkedvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceVpcEndpointLinkedVpcWithCallback(request *DeleteInstanceVpcEndpointLinkedVpcRequest, callback func(response *DeleteInstanceVpcEndpointLinkedVpcResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteInstanceVpcEndpointLinkedVpcResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteInstanceVpcEndpointLinkedVpc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteInstanceVpcEndpointLinkedVpcRequest is the request struct for api DeleteInstanceVpcEndpointLinkedVpc
+type DeleteInstanceVpcEndpointLinkedVpcRequest struct {
+	*requests.RpcRequest
+	VswitchId  string `position:"Query" name:"VswitchId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	VpcId      string `position:"Query" name:"VpcId"`
+	ModuleName string `position:"Query" name:"ModuleName"`
+}
+
+// DeleteInstanceVpcEndpointLinkedVpcResponse is the response struct for api DeleteInstanceVpcEndpointLinkedVpc
+type DeleteInstanceVpcEndpointLinkedVpcResponse struct {
+	*responses.BaseResponse
+	DeleteInstanceVpcEndpointLinkedVpcIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                                        string `json:"Code" xml:"Code"`
+	RequestId                                   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteInstanceVpcEndpointLinkedVpcRequest creates a request to invoke DeleteInstanceVpcEndpointLinkedVpc API
+func CreateDeleteInstanceVpcEndpointLinkedVpcRequest() (request *DeleteInstanceVpcEndpointLinkedVpcRequest) {
+	request = &DeleteInstanceVpcEndpointLinkedVpcRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteInstanceVpcEndpointLinkedVpc", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteInstanceVpcEndpointLinkedVpcResponse creates a response to parse from DeleteInstanceVpcEndpointLinkedVpc response
+func CreateDeleteInstanceVpcEndpointLinkedVpcResponse() (response *DeleteInstanceVpcEndpointLinkedVpcResponse) {
+	response = &DeleteInstanceVpcEndpointLinkedVpcResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/delete_namespace.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteNamespace invokes the cr.DeleteNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/deletenamespace.html
+func (client *Client) DeleteNamespace(request *DeleteNamespaceRequest) (response *DeleteNamespaceResponse, err error) {
+	response = CreateDeleteNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteNamespaceWithChan invokes the cr.DeleteNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNamespaceWithChan(request *DeleteNamespaceRequest) (<-chan *DeleteNamespaceResponse, <-chan error) {
+	responseChan := make(chan *DeleteNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteNamespaceWithCallback invokes the cr.DeleteNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNamespaceWithCallback(request *DeleteNamespaceRequest, callback func(response *DeleteNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteNamespaceRequest is the request struct for api DeleteNamespace
+type DeleteNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName string `position:"Query" name:"NamespaceName"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteNamespaceResponse is the response struct for api DeleteNamespace
+type DeleteNamespaceResponse struct {
+	*responses.BaseResponse
+	DeleteNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                     string `json:"Code" xml:"Code"`
+	RequestId                string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteNamespaceRequest creates a request to invoke DeleteNamespace API
+func CreateDeleteNamespaceRequest() (request *DeleteNamespaceRequest) {
+	request = &DeleteNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteNamespaceResponse creates a response to parse from DeleteNamespace response
+func CreateDeleteNamespaceResponse() (response *DeleteNamespaceResponse) {
+	response = &DeleteNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/delete_repo_build_rule.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteRepoBuildRule invokes the cr.DeleteRepoBuildRule API synchronously
+// api document: https://help.aliyun.com/api/cr/deleterepobuildrule.html
+func (client *Client) DeleteRepoBuildRule(request *DeleteRepoBuildRuleRequest) (response *DeleteRepoBuildRuleResponse, err error) {
+	response = CreateDeleteRepoBuildRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRepoBuildRuleWithChan invokes the cr.DeleteRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoBuildRuleWithChan(request *DeleteRepoBuildRuleRequest) (<-chan *DeleteRepoBuildRuleResponse, <-chan error) {
+	responseChan := make(chan *DeleteRepoBuildRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRepoBuildRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRepoBuildRuleWithCallback invokes the cr.DeleteRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoBuildRuleWithCallback(request *DeleteRepoBuildRuleRequest, callback func(response *DeleteRepoBuildRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRepoBuildRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRepoBuildRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRepoBuildRuleRequest is the request struct for api DeleteRepoBuildRule
+type DeleteRepoBuildRuleRequest struct {
+	*requests.RpcRequest
+	RepoId      string `position:"Query" name:"RepoId"`
+	BuildRuleId string `position:"Query" name:"BuildRuleId"`
+	InstanceId  string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteRepoBuildRuleResponse is the response struct for api DeleteRepoBuildRule
+type DeleteRepoBuildRuleResponse struct {
+	*responses.BaseResponse
+	DeleteRepoBuildRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                         string `json:"Code" xml:"Code"`
+	RequestId                    string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRepoBuildRuleRequest creates a request to invoke DeleteRepoBuildRule API
+func CreateDeleteRepoBuildRuleRequest() (request *DeleteRepoBuildRuleRequest) {
+	request = &DeleteRepoBuildRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteRepoBuildRule", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteRepoBuildRuleResponse creates a response to parse from DeleteRepoBuildRule response
+func CreateDeleteRepoBuildRuleResponse() (response *DeleteRepoBuildRuleResponse) {
+	response = &DeleteRepoBuildRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/delete_repo_sync_rule.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteRepoSyncRule invokes the cr.DeleteRepoSyncRule API synchronously
+// api document: https://help.aliyun.com/api/cr/deletereposyncrule.html
+func (client *Client) DeleteRepoSyncRule(request *DeleteRepoSyncRuleRequest) (response *DeleteRepoSyncRuleResponse, err error) {
+	response = CreateDeleteRepoSyncRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRepoSyncRuleWithChan invokes the cr.DeleteRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletereposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoSyncRuleWithChan(request *DeleteRepoSyncRuleRequest) (<-chan *DeleteRepoSyncRuleResponse, <-chan error) {
+	responseChan := make(chan *DeleteRepoSyncRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRepoSyncRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRepoSyncRuleWithCallback invokes the cr.DeleteRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/deletereposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoSyncRuleWithCallback(request *DeleteRepoSyncRuleRequest, callback func(response *DeleteRepoSyncRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRepoSyncRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRepoSyncRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRepoSyncRuleRequest is the request struct for api DeleteRepoSyncRule
+type DeleteRepoSyncRuleRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SyncRuleId string `position:"Query" name:"SyncRuleId"`
+}
+
+// DeleteRepoSyncRuleResponse is the response struct for api DeleteRepoSyncRule
+type DeleteRepoSyncRuleResponse struct {
+	*responses.BaseResponse
+	DeleteRepoSyncRuleIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRepoSyncRuleRequest creates a request to invoke DeleteRepoSyncRule API
+func CreateDeleteRepoSyncRuleRequest() (request *DeleteRepoSyncRuleRequest) {
+	request = &DeleteRepoSyncRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteRepoSyncRule", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteRepoSyncRuleResponse creates a response to parse from DeleteRepoSyncRule response
+func CreateDeleteRepoSyncRuleResponse() (response *DeleteRepoSyncRuleResponse) {
+	response = &DeleteRepoSyncRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/delete_repo_tag.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteRepoTag invokes the cr.DeleteRepoTag API synchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotag.html
+func (client *Client) DeleteRepoTag(request *DeleteRepoTagRequest) (response *DeleteRepoTagResponse, err error) {
+	response = CreateDeleteRepoTagResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRepoTagWithChan invokes the cr.DeleteRepoTag API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotag.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoTagWithChan(request *DeleteRepoTagRequest) (<-chan *DeleteRepoTagResponse, <-chan error) {
+	responseChan := make(chan *DeleteRepoTagResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRepoTag(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRepoTagWithCallback invokes the cr.DeleteRepoTag API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotag.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoTagWithCallback(request *DeleteRepoTagRequest, callback func(response *DeleteRepoTagResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRepoTagResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRepoTag(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRepoTagRequest is the request struct for api DeleteRepoTag
+type DeleteRepoTagRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Tag        string `position:"Query" name:"Tag"`
+}
+
+// DeleteRepoTagResponse is the response struct for api DeleteRepoTag
+type DeleteRepoTagResponse struct {
+	*responses.BaseResponse
+	DeleteRepoTagIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                   string `json:"Code" xml:"Code"`
+	RequestId              string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRepoTagRequest creates a request to invoke DeleteRepoTag API
+func CreateDeleteRepoTagRequest() (request *DeleteRepoTagRequest) {
+	request = &DeleteRepoTagRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteRepoTag", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteRepoTagResponse creates a response to parse from DeleteRepoTag response
+func CreateDeleteRepoTagResponse() (response *DeleteRepoTagResponse) {
+	response = &DeleteRepoTagResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/delete_repo_trigger.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteRepoTrigger invokes the cr.DeleteRepoTrigger API synchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotrigger.html
+func (client *Client) DeleteRepoTrigger(request *DeleteRepoTriggerRequest) (response *DeleteRepoTriggerResponse, err error) {
+	response = CreateDeleteRepoTriggerResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRepoTriggerWithChan invokes the cr.DeleteRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoTriggerWithChan(request *DeleteRepoTriggerRequest) (<-chan *DeleteRepoTriggerResponse, <-chan error) {
+	responseChan := make(chan *DeleteRepoTriggerResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRepoTrigger(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRepoTriggerWithCallback invokes the cr.DeleteRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepoTriggerWithCallback(request *DeleteRepoTriggerRequest, callback func(response *DeleteRepoTriggerResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRepoTriggerResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRepoTrigger(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRepoTriggerRequest is the request struct for api DeleteRepoTrigger
+type DeleteRepoTriggerRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	TriggerId  string `position:"Query" name:"TriggerId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteRepoTriggerResponse is the response struct for api DeleteRepoTrigger
+type DeleteRepoTriggerResponse struct {
+	*responses.BaseResponse
+	DeleteRepoTriggerIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                       string `json:"Code" xml:"Code"`
+	RequestId                  string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRepoTriggerRequest creates a request to invoke DeleteRepoTrigger API
+func CreateDeleteRepoTriggerRequest() (request *DeleteRepoTriggerRequest) {
+	request = &DeleteRepoTriggerRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteRepoTrigger", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteRepoTriggerResponse creates a response to parse from DeleteRepoTrigger response
+func CreateDeleteRepoTriggerResponse() (response *DeleteRepoTriggerResponse) {
+	response = &DeleteRepoTriggerResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/delete_repository.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// DeleteRepository invokes the cr.DeleteRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/deleterepository.html
+func (client *Client) DeleteRepository(request *DeleteRepositoryRequest) (response *DeleteRepositoryResponse, err error) {
+	response = CreateDeleteRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRepositoryWithChan invokes the cr.DeleteRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepositoryWithChan(request *DeleteRepositoryRequest) (<-chan *DeleteRepositoryResponse, <-chan error) {
+	responseChan := make(chan *DeleteRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRepositoryWithCallback invokes the cr.DeleteRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/deleterepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRepositoryWithCallback(request *DeleteRepositoryRequest, callback func(response *DeleteRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRepositoryRequest is the request struct for api DeleteRepository
+type DeleteRepositoryRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteRepositoryResponse is the response struct for api DeleteRepository
+type DeleteRepositoryResponse struct {
+	*responses.BaseResponse
+	DeleteRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string `json:"Code" xml:"Code"`
+	RequestId                 string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRepositoryRequest creates a request to invoke DeleteRepository API
+func CreateDeleteRepositoryRequest() (request *DeleteRepositoryRequest) {
+	request = &DeleteRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "DeleteRepository", "cr", "openAPI")
+	return
+}
+
+// CreateDeleteRepositoryResponse creates a response to parse from DeleteRepository response
+func CreateDeleteRepositoryResponse() (response *DeleteRepositoryResponse) {
+	response = &DeleteRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/get_authorization_token.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetAuthorizationToken invokes the cr.GetAuthorizationToken API synchronously
+// api document: https://help.aliyun.com/api/cr/getauthorizationtoken.html
+func (client *Client) GetAuthorizationToken(request *GetAuthorizationTokenRequest) (response *GetAuthorizationTokenResponse, err error) {
+	response = CreateGetAuthorizationTokenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAuthorizationTokenWithChan invokes the cr.GetAuthorizationToken API asynchronously
+// api document: https://help.aliyun.com/api/cr/getauthorizationtoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAuthorizationTokenWithChan(request *GetAuthorizationTokenRequest) (<-chan *GetAuthorizationTokenResponse, <-chan error) {
+	responseChan := make(chan *GetAuthorizationTokenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAuthorizationToken(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAuthorizationTokenWithCallback invokes the cr.GetAuthorizationToken API asynchronously
+// api document: https://help.aliyun.com/api/cr/getauthorizationtoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAuthorizationTokenWithCallback(request *GetAuthorizationTokenRequest, callback func(response *GetAuthorizationTokenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAuthorizationTokenResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAuthorizationToken(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAuthorizationTokenRequest is the request struct for api GetAuthorizationToken
+type GetAuthorizationTokenRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// GetAuthorizationTokenResponse is the response struct for api GetAuthorizationToken
+type GetAuthorizationTokenResponse struct {
+	*responses.BaseResponse
+	GetAuthorizationTokenIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string `json:"Code" xml:"Code"`
+	RequestId                      string `json:"RequestId" xml:"RequestId"`
+	TempUsername                   string `json:"TempUsername" xml:"TempUsername"`
+	AuthorizationToken             string `json:"AuthorizationToken" xml:"AuthorizationToken"`
+	ExpireTime                     int64  `json:"ExpireTime" xml:"ExpireTime"`
+}
+
+// CreateGetAuthorizationTokenRequest creates a request to invoke GetAuthorizationToken API
+func CreateGetAuthorizationTokenRequest() (request *GetAuthorizationTokenRequest) {
+	request = &GetAuthorizationTokenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetAuthorizationToken", "cr", "openAPI")
+	return
+}
+
+// CreateGetAuthorizationTokenResponse creates a response to parse from GetAuthorizationToken response
+func CreateGetAuthorizationTokenResponse() (response *GetAuthorizationTokenResponse) {
+	response = &GetAuthorizationTokenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/get_chart_namespace.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetChartNamespace invokes the cr.GetChartNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/getchartnamespace.html
+func (client *Client) GetChartNamespace(request *GetChartNamespaceRequest) (response *GetChartNamespaceResponse, err error) {
+	response = CreateGetChartNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetChartNamespaceWithChan invokes the cr.GetChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/getchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChartNamespaceWithChan(request *GetChartNamespaceRequest) (<-chan *GetChartNamespaceResponse, <-chan error) {
+	responseChan := make(chan *GetChartNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetChartNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetChartNamespaceWithCallback invokes the cr.GetChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/getchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChartNamespaceWithCallback(request *GetChartNamespaceRequest, callback func(response *GetChartNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetChartNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetChartNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetChartNamespaceRequest is the request struct for api GetChartNamespace
+type GetChartNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName string `position:"Query" name:"NamespaceName"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// GetChartNamespaceResponse is the response struct for api GetChartNamespace
+type GetChartNamespaceResponse struct {
+	*responses.BaseResponse
+	GetChartNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                       string `json:"Code" xml:"Code"`
+	RequestId                  string `json:"RequestId" xml:"RequestId"`
+	NamespaceName              string `json:"NamespaceName" xml:"NamespaceName"`
+	NamespaceStatus            string `json:"NamespaceStatus" xml:"NamespaceStatus"`
+	AutoCreateRepo             bool   `json:"AutoCreateRepo" xml:"AutoCreateRepo"`
+	DefaultRepoType            string `json:"DefaultRepoType" xml:"DefaultRepoType"`
+	InstanceId                 string `json:"InstanceId" xml:"InstanceId"`
+	NamespaceId                string `json:"NamespaceId" xml:"NamespaceId"`
+}
+
+// CreateGetChartNamespaceRequest creates a request to invoke GetChartNamespace API
+func CreateGetChartNamespaceRequest() (request *GetChartNamespaceRequest) {
+	request = &GetChartNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetChartNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateGetChartNamespaceResponse creates a response to parse from GetChartNamespace response
+func CreateGetChartNamespaceResponse() (response *GetChartNamespaceResponse) {
+	response = &GetChartNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cr-2018-12-01/get_chart_repository.go

@@ -0,0 +1,116 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetChartRepository invokes the cr.GetChartRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/getchartrepository.html
+func (client *Client) GetChartRepository(request *GetChartRepositoryRequest) (response *GetChartRepositoryResponse, err error) {
+	response = CreateGetChartRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetChartRepositoryWithChan invokes the cr.GetChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/getchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChartRepositoryWithChan(request *GetChartRepositoryRequest) (<-chan *GetChartRepositoryResponse, <-chan error) {
+	responseChan := make(chan *GetChartRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetChartRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetChartRepositoryWithCallback invokes the cr.GetChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/getchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChartRepositoryWithCallback(request *GetChartRepositoryRequest, callback func(response *GetChartRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetChartRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.GetChartRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetChartRepositoryRequest is the request struct for api GetChartRepository
+type GetChartRepositoryRequest struct {
+	*requests.RpcRequest
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+	RepoName          string `position:"Query" name:"RepoName"`
+}
+
+// GetChartRepositoryResponse is the response struct for api GetChartRepository
+type GetChartRepositoryResponse struct {
+	*responses.BaseResponse
+	GetChartRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+	InstanceId                  string `json:"InstanceId" xml:"InstanceId"`
+	RepoId                      string `json:"RepoId" xml:"RepoId"`
+	RepoNamespaceName           string `json:"RepoNamespaceName" xml:"RepoNamespaceName"`
+	RepoName                    string `json:"RepoName" xml:"RepoName"`
+	RepoStatus                  string `json:"RepoStatus" xml:"RepoStatus"`
+	RepoType                    string `json:"RepoType" xml:"RepoType"`
+	Summary                     string `json:"Summary" xml:"Summary"`
+	CreateTime                  int64  `json:"CreateTime" xml:"CreateTime"`
+	ModifiedTime                int64  `json:"ModifiedTime" xml:"ModifiedTime"`
+}
+
+// CreateGetChartRepositoryRequest creates a request to invoke GetChartRepository API
+func CreateGetChartRepositoryRequest() (request *GetChartRepositoryRequest) {
+	request = &GetChartRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetChartRepository", "cr", "openAPI")
+	return
+}
+
+// CreateGetChartRepositoryResponse creates a response to parse from GetChartRepository response
+func CreateGetChartRepositoryResponse() (response *GetChartRepositoryResponse) {
+	response = &GetChartRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cr-2018-12-01/get_instance.go

@@ -0,0 +1,111 @@
+package cr_2018_12_01
+
+//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 cr.GetInstance API synchronously
+// api document: https://help.aliyun.com/api/cr/getinstance.html
+func (client *Client) GetInstance(request *GetInstanceRequest) (response *GetInstanceResponse, err error) {
+	response = CreateGetInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceWithChan invokes the cr.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/cr/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 cr.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/cr/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
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// GetInstanceResponse is the response struct for api GetInstance
+type GetInstanceResponse struct {
+	*responses.BaseResponse
+	GetInstanceIsSuccess  bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                  string `json:"Code" xml:"Code"`
+	RequestId             string `json:"RequestId" xml:"RequestId"`
+	InstanceName          string `json:"InstanceName" xml:"InstanceName"`
+	InstanceSpecification string `json:"InstanceSpecification" xml:"InstanceSpecification"`
+	InstanceStatus        string `json:"InstanceStatus" xml:"InstanceStatus"`
+	CreateTime            int64  `json:"CreateTime" xml:"CreateTime"`
+	ModifiedTime          int64  `json:"ModifiedTime" xml:"ModifiedTime"`
+	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+}
+
+// CreateGetInstanceRequest creates a request to invoke GetInstance API
+func CreateGetInstanceRequest() (request *GetInstanceRequest) {
+	request = &GetInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetInstance", "cr", "openAPI")
+	return
+}
+
+// CreateGetInstanceResponse creates a response to parse from GetInstance response
+func CreateGetInstanceResponse() (response *GetInstanceResponse) {
+	response = &GetInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cr-2018-12-01/get_instance_count.go

@@ -0,0 +1,105 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetInstanceCount invokes the cr.GetInstanceCount API synchronously
+// api document: https://help.aliyun.com/api/cr/getinstancecount.html
+func (client *Client) GetInstanceCount(request *GetInstanceCountRequest) (response *GetInstanceCountResponse, err error) {
+	response = CreateGetInstanceCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceCountWithChan invokes the cr.GetInstanceCount API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstancecount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceCountWithChan(request *GetInstanceCountRequest) (<-chan *GetInstanceCountResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceCountWithCallback invokes the cr.GetInstanceCount API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstancecount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceCountWithCallback(request *GetInstanceCountRequest, callback func(response *GetInstanceCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceCountResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceCountRequest is the request struct for api GetInstanceCount
+type GetInstanceCountRequest struct {
+	*requests.RpcRequest
+}
+
+// GetInstanceCountResponse is the response struct for api GetInstanceCount
+type GetInstanceCountResponse struct {
+	*responses.BaseResponse
+	GetInstanceCountIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string `json:"Code" xml:"Code"`
+	RequestId                 string `json:"RequestId" xml:"RequestId"`
+	Count                     int    `json:"Count" xml:"Count"`
+}
+
+// CreateGetInstanceCountRequest creates a request to invoke GetInstanceCount API
+func CreateGetInstanceCountRequest() (request *GetInstanceCountRequest) {
+	request = &GetInstanceCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetInstanceCount", "cr", "openAPI")
+	return
+}
+
+// CreateGetInstanceCountResponse creates a response to parse from GetInstanceCount response
+func CreateGetInstanceCountResponse() (response *GetInstanceCountResponse) {
+	response = &GetInstanceCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/get_instance_endpoint.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetInstanceEndpoint invokes the cr.GetInstanceEndpoint API synchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceendpoint.html
+func (client *Client) GetInstanceEndpoint(request *GetInstanceEndpointRequest) (response *GetInstanceEndpointResponse, err error) {
+	response = CreateGetInstanceEndpointResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceEndpointWithChan invokes the cr.GetInstanceEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceEndpointWithChan(request *GetInstanceEndpointRequest) (<-chan *GetInstanceEndpointResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceEndpointResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceEndpoint(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceEndpointWithCallback invokes the cr.GetInstanceEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceEndpointWithCallback(request *GetInstanceEndpointRequest, callback func(response *GetInstanceEndpointResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceEndpointResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceEndpoint(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceEndpointRequest is the request struct for api GetInstanceEndpoint
+type GetInstanceEndpointRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	EndpointType string `position:"Query" name:"EndpointType"`
+	ModuleName   string `position:"Query" name:"ModuleName"`
+}
+
+// GetInstanceEndpointResponse is the response struct for api GetInstanceEndpoint
+type GetInstanceEndpointResponse struct {
+	*responses.BaseResponse
+	GetInstanceEndpointIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                         string           `json:"Code" xml:"Code"`
+	RequestId                    string           `json:"RequestId" xml:"RequestId"`
+	Enable                       bool             `json:"Enable" xml:"Enable"`
+	AclEnable                    bool             `json:"AclEnable" xml:"AclEnable"`
+	Status                       string           `json:"Status" xml:"Status"`
+	Domains                      []Endpoints      `json:"Domains" xml:"Domains"`
+	AclEntries                   []AclEntriesItem `json:"AclEntries" xml:"AclEntries"`
+}
+
+// CreateGetInstanceEndpointRequest creates a request to invoke GetInstanceEndpoint API
+func CreateGetInstanceEndpointRequest() (request *GetInstanceEndpointRequest) {
+	request = &GetInstanceEndpointRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetInstanceEndpoint", "cr", "openAPI")
+	return
+}
+
+// CreateGetInstanceEndpointResponse creates a response to parse from GetInstanceEndpoint response
+func CreateGetInstanceEndpointResponse() (response *GetInstanceEndpointResponse) {
+	response = &GetInstanceEndpointResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/get_instance_usage.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetInstanceUsage invokes the cr.GetInstanceUsage API synchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceusage.html
+func (client *Client) GetInstanceUsage(request *GetInstanceUsageRequest) (response *GetInstanceUsageResponse, err error) {
+	response = CreateGetInstanceUsageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceUsageWithChan invokes the cr.GetInstanceUsage API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceUsageWithChan(request *GetInstanceUsageRequest) (<-chan *GetInstanceUsageResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceUsageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceUsage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceUsageWithCallback invokes the cr.GetInstanceUsage API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstanceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceUsageWithCallback(request *GetInstanceUsageRequest, callback func(response *GetInstanceUsageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceUsageResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceUsage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceUsageRequest is the request struct for api GetInstanceUsage
+type GetInstanceUsageRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// GetInstanceUsageResponse is the response struct for api GetInstanceUsage
+type GetInstanceUsageResponse struct {
+	*responses.BaseResponse
+	GetInstanceUsageIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string `json:"Code" xml:"Code"`
+	RequestId                 string `json:"RequestId" xml:"RequestId"`
+	NamespaceQuota            string `json:"NamespaceQuota" xml:"NamespaceQuota"`
+	NamespaceUsage            string `json:"NamespaceUsage" xml:"NamespaceUsage"`
+	RepoQuota                 string `json:"RepoQuota" xml:"RepoQuota"`
+	RepoUsage                 string `json:"RepoUsage" xml:"RepoUsage"`
+}
+
+// CreateGetInstanceUsageRequest creates a request to invoke GetInstanceUsage API
+func CreateGetInstanceUsageRequest() (request *GetInstanceUsageRequest) {
+	request = &GetInstanceUsageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetInstanceUsage", "cr", "openAPI")
+	return
+}
+
+// CreateGetInstanceUsageResponse creates a response to parse from GetInstanceUsage response
+func CreateGetInstanceUsageResponse() (response *GetInstanceUsageResponse) {
+	response = &GetInstanceUsageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/get_instance_vpc_endpoint.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetInstanceVpcEndpoint invokes the cr.GetInstanceVpcEndpoint API synchronously
+// api document: https://help.aliyun.com/api/cr/getinstancevpcendpoint.html
+func (client *Client) GetInstanceVpcEndpoint(request *GetInstanceVpcEndpointRequest) (response *GetInstanceVpcEndpointResponse, err error) {
+	response = CreateGetInstanceVpcEndpointResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceVpcEndpointWithChan invokes the cr.GetInstanceVpcEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstancevpcendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceVpcEndpointWithChan(request *GetInstanceVpcEndpointRequest) (<-chan *GetInstanceVpcEndpointResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceVpcEndpointResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceVpcEndpoint(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceVpcEndpointWithCallback invokes the cr.GetInstanceVpcEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/getinstancevpcendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceVpcEndpointWithCallback(request *GetInstanceVpcEndpointRequest, callback func(response *GetInstanceVpcEndpointResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceVpcEndpointResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceVpcEndpoint(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceVpcEndpointRequest is the request struct for api GetInstanceVpcEndpoint
+type GetInstanceVpcEndpointRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	ModuleName string `position:"Query" name:"ModuleName"`
+}
+
+// GetInstanceVpcEndpointResponse is the response struct for api GetInstanceVpcEndpoint
+type GetInstanceVpcEndpointResponse struct {
+	*responses.BaseResponse
+	GetInstanceVpcEndpointIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                            string           `json:"Code" xml:"Code"`
+	RequestId                       string           `json:"RequestId" xml:"RequestId"`
+	Enable                          bool             `json:"Enable" xml:"Enable"`
+	Domains                         []string         `json:"Domains" xml:"Domains"`
+	LinkedVpcs                      []LinkedVpcsItem `json:"LinkedVpcs" xml:"LinkedVpcs"`
+}
+
+// CreateGetInstanceVpcEndpointRequest creates a request to invoke GetInstanceVpcEndpoint API
+func CreateGetInstanceVpcEndpointRequest() (request *GetInstanceVpcEndpointRequest) {
+	request = &GetInstanceVpcEndpointRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetInstanceVpcEndpoint", "cr", "openAPI")
+	return
+}
+
+// CreateGetInstanceVpcEndpointResponse creates a response to parse from GetInstanceVpcEndpoint response
+func CreateGetInstanceVpcEndpointResponse() (response *GetInstanceVpcEndpointResponse) {
+	response = &GetInstanceVpcEndpointResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cr-2018-12-01/get_namespace.go

@@ -0,0 +1,113 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetNamespace invokes the cr.GetNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/getnamespace.html
+func (client *Client) GetNamespace(request *GetNamespaceRequest) (response *GetNamespaceResponse, err error) {
+	response = CreateGetNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetNamespaceWithChan invokes the cr.GetNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/getnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetNamespaceWithChan(request *GetNamespaceRequest) (<-chan *GetNamespaceResponse, <-chan error) {
+	responseChan := make(chan *GetNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetNamespaceWithCallback invokes the cr.GetNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/getnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetNamespaceWithCallback(request *GetNamespaceRequest, callback func(response *GetNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetNamespaceRequest is the request struct for api GetNamespace
+type GetNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName string `position:"Query" name:"NamespaceName"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+	NamespaceId   string `position:"Query" name:"NamespaceId"`
+}
+
+// GetNamespaceResponse is the response struct for api GetNamespace
+type GetNamespaceResponse struct {
+	*responses.BaseResponse
+	GetNamespaceIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                  string `json:"Code" xml:"Code"`
+	RequestId             string `json:"RequestId" xml:"RequestId"`
+	NamespaceName         string `json:"NamespaceName" xml:"NamespaceName"`
+	NamespaceStatus       string `json:"NamespaceStatus" xml:"NamespaceStatus"`
+	AutoCreateRepo        bool   `json:"AutoCreateRepo" xml:"AutoCreateRepo"`
+	DefaultRepoType       string `json:"DefaultRepoType" xml:"DefaultRepoType"`
+	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+	NamespaceId           string `json:"NamespaceId" xml:"NamespaceId"`
+}
+
+// CreateGetNamespaceRequest creates a request to invoke GetNamespace API
+func CreateGetNamespaceRequest() (request *GetNamespaceRequest) {
+	request = &GetNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateGetNamespaceResponse creates a response to parse from GetNamespace response
+func CreateGetNamespaceResponse() (response *GetNamespaceResponse) {
+	response = &GetNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cr-2018-12-01/get_repo_build_record.go

@@ -0,0 +1,111 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoBuildRecord invokes the cr.GetRepoBuildRecord API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecord.html
+func (client *Client) GetRepoBuildRecord(request *GetRepoBuildRecordRequest) (response *GetRepoBuildRecordResponse, err error) {
+	response = CreateGetRepoBuildRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoBuildRecordWithChan invokes the cr.GetRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoBuildRecordWithChan(request *GetRepoBuildRecordRequest) (<-chan *GetRepoBuildRecordResponse, <-chan error) {
+	responseChan := make(chan *GetRepoBuildRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoBuildRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoBuildRecordWithCallback invokes the cr.GetRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoBuildRecordWithCallback(request *GetRepoBuildRecordRequest, callback func(response *GetRepoBuildRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoBuildRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoBuildRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoBuildRecordRequest is the request struct for api GetRepoBuildRecord
+type GetRepoBuildRecordRequest struct {
+	*requests.RpcRequest
+	BuildRecordId string `position:"Query" name:"BuildRecordId"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// GetRepoBuildRecordResponse is the response struct for api GetRepoBuildRecord
+type GetRepoBuildRecordResponse struct {
+	*responses.BaseResponse
+	GetRepoBuildRecordIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+	BuildRecordId               string `json:"BuildRecordId" xml:"BuildRecordId"`
+	StartTime                   int64  `json:"StartTime" xml:"StartTime"`
+	EndTime                     int64  `json:"EndTime" xml:"EndTime"`
+	Status                      string `json:"Status" xml:"Status"`
+	Image                       Image  `json:"Image" xml:"Image"`
+}
+
+// CreateGetRepoBuildRecordRequest creates a request to invoke GetRepoBuildRecord API
+func CreateGetRepoBuildRecordRequest() (request *GetRepoBuildRecordRequest) {
+	request = &GetRepoBuildRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoBuildRecord", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoBuildRecordResponse creates a response to parse from GetRepoBuildRecord response
+func CreateGetRepoBuildRecordResponse() (response *GetRepoBuildRecordResponse) {
+	response = &GetRepoBuildRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/get_repo_build_record_status.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoBuildRecordStatus invokes the cr.GetRepoBuildRecordStatus API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecordstatus.html
+func (client *Client) GetRepoBuildRecordStatus(request *GetRepoBuildRecordStatusRequest) (response *GetRepoBuildRecordStatusResponse, err error) {
+	response = CreateGetRepoBuildRecordStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoBuildRecordStatusWithChan invokes the cr.GetRepoBuildRecordStatus API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecordstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoBuildRecordStatusWithChan(request *GetRepoBuildRecordStatusRequest) (<-chan *GetRepoBuildRecordStatusResponse, <-chan error) {
+	responseChan := make(chan *GetRepoBuildRecordStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoBuildRecordStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoBuildRecordStatusWithCallback invokes the cr.GetRepoBuildRecordStatus API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepobuildrecordstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoBuildRecordStatusWithCallback(request *GetRepoBuildRecordStatusRequest, callback func(response *GetRepoBuildRecordStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoBuildRecordStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoBuildRecordStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoBuildRecordStatusRequest is the request struct for api GetRepoBuildRecordStatus
+type GetRepoBuildRecordStatusRequest struct {
+	*requests.RpcRequest
+	BuildRecordId string `position:"Query" name:"BuildRecordId"`
+	RepoId        string `position:"Query" name:"RepoId"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// GetRepoBuildRecordStatusResponse is the response struct for api GetRepoBuildRecordStatus
+type GetRepoBuildRecordStatusResponse struct {
+	*responses.BaseResponse
+	GetRepoBuildRecordStatusIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                              string `json:"Code" xml:"Code"`
+	RequestId                         string `json:"RequestId" xml:"RequestId"`
+	BuildStatus                       string `json:"BuildStatus" xml:"BuildStatus"`
+}
+
+// CreateGetRepoBuildRecordStatusRequest creates a request to invoke GetRepoBuildRecordStatus API
+func CreateGetRepoBuildRecordStatusRequest() (request *GetRepoBuildRecordStatusRequest) {
+	request = &GetRepoBuildRecordStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoBuildRecordStatus", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoBuildRecordStatusResponse creates a response to parse from GetRepoBuildRecordStatus response
+func CreateGetRepoBuildRecordStatusResponse() (response *GetRepoBuildRecordStatusResponse) {
+	response = &GetRepoBuildRecordStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cr-2018-12-01/get_repo_sync_task.go

@@ -0,0 +1,116 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoSyncTask invokes the cr.GetRepoSyncTask API synchronously
+// api document: https://help.aliyun.com/api/cr/getreposynctask.html
+func (client *Client) GetRepoSyncTask(request *GetRepoSyncTaskRequest) (response *GetRepoSyncTaskResponse, err error) {
+	response = CreateGetRepoSyncTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoSyncTaskWithChan invokes the cr.GetRepoSyncTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/getreposynctask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoSyncTaskWithChan(request *GetRepoSyncTaskRequest) (<-chan *GetRepoSyncTaskResponse, <-chan error) {
+	responseChan := make(chan *GetRepoSyncTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoSyncTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoSyncTaskWithCallback invokes the cr.GetRepoSyncTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/getreposynctask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoSyncTaskWithCallback(request *GetRepoSyncTaskRequest, callback func(response *GetRepoSyncTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoSyncTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoSyncTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoSyncTaskRequest is the request struct for api GetRepoSyncTask
+type GetRepoSyncTaskRequest struct {
+	*requests.RpcRequest
+	SyncTaskId string `position:"Query" name:"SyncTaskId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// GetRepoSyncTaskResponse is the response struct for api GetRepoSyncTask
+type GetRepoSyncTaskResponse struct {
+	*responses.BaseResponse
+	GetRepoSyncTaskIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                     string           `json:"Code" xml:"Code"`
+	RequestId                string           `json:"RequestId" xml:"RequestId"`
+	SyncTaskId               string           `json:"SyncTaskId" xml:"SyncTaskId"`
+	TaskStatus               string           `json:"TaskStatus" xml:"TaskStatus"`
+	TaskTrigger              string           `json:"TaskTrigger" xml:"TaskTrigger"`
+	SyncRuleId               string           `json:"SyncRuleId" xml:"SyncRuleId"`
+	SyncBatchTaskId          string           `json:"SyncBatchTaskId" xml:"SyncBatchTaskId"`
+	Progress                 int64            `json:"Progress" xml:"Progress"`
+	SyncedSize               int64            `json:"SyncedSize" xml:"SyncedSize"`
+	ImageFrom                ImageFrom        `json:"ImageFrom" xml:"ImageFrom"`
+	ImageTo                  ImageTo          `json:"ImageTo" xml:"ImageTo"`
+	LayerTasks               []LayerTasksItem `json:"LayerTasks" xml:"LayerTasks"`
+}
+
+// CreateGetRepoSyncTaskRequest creates a request to invoke GetRepoSyncTask API
+func CreateGetRepoSyncTaskRequest() (request *GetRepoSyncTaskRequest) {
+	request = &GetRepoSyncTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoSyncTask", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoSyncTaskResponse creates a response to parse from GetRepoSyncTask response
+func CreateGetRepoSyncTaskResponse() (response *GetRepoSyncTaskResponse) {
+	response = &GetRepoSyncTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cr-2018-12-01/get_repo_tag_layers.go

@@ -0,0 +1,108 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoTagLayers invokes the cr.GetRepoTagLayers API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepotaglayers.html
+func (client *Client) GetRepoTagLayers(request *GetRepoTagLayersRequest) (response *GetRepoTagLayersResponse, err error) {
+	response = CreateGetRepoTagLayersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoTagLayersWithChan invokes the cr.GetRepoTagLayers API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotaglayers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagLayersWithChan(request *GetRepoTagLayersRequest) (<-chan *GetRepoTagLayersResponse, <-chan error) {
+	responseChan := make(chan *GetRepoTagLayersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoTagLayers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoTagLayersWithCallback invokes the cr.GetRepoTagLayers API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotaglayers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagLayersWithCallback(request *GetRepoTagLayersRequest, callback func(response *GetRepoTagLayersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoTagLayersResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoTagLayers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoTagLayersRequest is the request struct for api GetRepoTagLayers
+type GetRepoTagLayersRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Tag        string `position:"Query" name:"Tag"`
+}
+
+// GetRepoTagLayersResponse is the response struct for api GetRepoTagLayers
+type GetRepoTagLayersResponse struct {
+	*responses.BaseResponse
+	GetRepoTagLayersIsSuccess bool         `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string       `json:"Code" xml:"Code"`
+	RequestId                 string       `json:"RequestId" xml:"RequestId"`
+	Layers                    []LayersItem `json:"Layers" xml:"Layers"`
+}
+
+// CreateGetRepoTagLayersRequest creates a request to invoke GetRepoTagLayers API
+func CreateGetRepoTagLayersRequest() (request *GetRepoTagLayersRequest) {
+	request = &GetRepoTagLayersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoTagLayers", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoTagLayersResponse creates a response to parse from GetRepoTagLayers response
+func CreateGetRepoTagLayersResponse() (response *GetRepoTagLayersResponse) {
+	response = &GetRepoTagLayersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/get_repo_tag_manifest.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoTagManifest invokes the cr.GetRepoTagManifest API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagmanifest.html
+func (client *Client) GetRepoTagManifest(request *GetRepoTagManifestRequest) (response *GetRepoTagManifestResponse, err error) {
+	response = CreateGetRepoTagManifestResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoTagManifestWithChan invokes the cr.GetRepoTagManifest API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagmanifest.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagManifestWithChan(request *GetRepoTagManifestRequest) (<-chan *GetRepoTagManifestResponse, <-chan error) {
+	responseChan := make(chan *GetRepoTagManifestResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoTagManifest(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoTagManifestWithCallback invokes the cr.GetRepoTagManifest API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagmanifest.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagManifestWithCallback(request *GetRepoTagManifestRequest, callback func(response *GetRepoTagManifestResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoTagManifestResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoTagManifest(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoTagManifestRequest is the request struct for api GetRepoTagManifest
+type GetRepoTagManifestRequest struct {
+	*requests.RpcRequest
+	RepoId        string           `position:"Query" name:"RepoId"`
+	SchemaVersion requests.Integer `position:"Query" name:"SchemaVersion"`
+	InstanceId    string           `position:"Query" name:"InstanceId"`
+	Tag           string           `position:"Query" name:"Tag"`
+}
+
+// GetRepoTagManifestResponse is the response struct for api GetRepoTagManifest
+type GetRepoTagManifestResponse struct {
+	*responses.BaseResponse
+	GetRepoTagManifestIsSuccess bool     `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string   `json:"Code" xml:"Code"`
+	RequestId                   string   `json:"RequestId" xml:"RequestId"`
+	Manifest                    Manifest `json:"Manifest" xml:"Manifest"`
+}
+
+// CreateGetRepoTagManifestRequest creates a request to invoke GetRepoTagManifest API
+func CreateGetRepoTagManifestRequest() (request *GetRepoTagManifestRequest) {
+	request = &GetRepoTagManifestRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoTagManifest", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoTagManifestResponse creates a response to parse from GetRepoTagManifest response
+func CreateGetRepoTagManifestResponse() (response *GetRepoTagManifestResponse) {
+	response = &GetRepoTagManifestResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cr-2018-12-01/get_repo_tag_scan_task.go

@@ -0,0 +1,110 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepoTagScanTask invokes the cr.GetRepoTagScanTask API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagscantask.html
+func (client *Client) GetRepoTagScanTask(request *GetRepoTagScanTaskRequest) (response *GetRepoTagScanTaskResponse, err error) {
+	response = CreateGetRepoTagScanTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepoTagScanTaskWithChan invokes the cr.GetRepoTagScanTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagscantask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagScanTaskWithChan(request *GetRepoTagScanTaskRequest) (<-chan *GetRepoTagScanTaskResponse, <-chan error) {
+	responseChan := make(chan *GetRepoTagScanTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepoTagScanTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepoTagScanTaskWithCallback invokes the cr.GetRepoTagScanTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepotagscantask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepoTagScanTaskWithCallback(request *GetRepoTagScanTaskRequest, callback func(response *GetRepoTagScanTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepoTagScanTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepoTagScanTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepoTagScanTaskRequest is the request struct for api GetRepoTagScanTask
+type GetRepoTagScanTaskRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	ScanTaskId string `position:"Query" name:"ScanTaskId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Tag        string `position:"Query" name:"Tag"`
+}
+
+// GetRepoTagScanTaskResponse is the response struct for api GetRepoTagScanTask
+type GetRepoTagScanTaskResponse struct {
+	*responses.BaseResponse
+	GetRepoTagScanTaskIsSuccess bool                  `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string                `json:"Code" xml:"Code"`
+	RequestId                   string                `json:"RequestId" xml:"RequestId"`
+	Status                      string                `json:"Status" xml:"Status"`
+	Vulnerabilities             []VulnerabilitiesItem `json:"Vulnerabilities" xml:"Vulnerabilities"`
+}
+
+// CreateGetRepoTagScanTaskRequest creates a request to invoke GetRepoTagScanTask API
+func CreateGetRepoTagScanTaskRequest() (request *GetRepoTagScanTaskRequest) {
+	request = &GetRepoTagScanTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepoTagScanTask", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepoTagScanTaskResponse creates a response to parse from GetRepoTagScanTask response
+func CreateGetRepoTagScanTaskResponse() (response *GetRepoTagScanTaskResponse) {
+	response = &GetRepoTagScanTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/cr-2018-12-01/get_repository.go

@@ -0,0 +1,119 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// GetRepository invokes the cr.GetRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/getrepository.html
+func (client *Client) GetRepository(request *GetRepositoryRequest) (response *GetRepositoryResponse, err error) {
+	response = CreateGetRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetRepositoryWithChan invokes the cr.GetRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepositoryWithChan(request *GetRepositoryRequest) (<-chan *GetRepositoryResponse, <-chan error) {
+	responseChan := make(chan *GetRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetRepositoryWithCallback invokes the cr.GetRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/getrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetRepositoryWithCallback(request *GetRepositoryRequest, callback func(response *GetRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.GetRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetRepositoryRequest is the request struct for api GetRepository
+type GetRepositoryRequest struct {
+	*requests.RpcRequest
+	RepoId            string `position:"Query" name:"RepoId"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	RepoNamespaceName string `position:"Query" name:"RepoNamespaceName"`
+	RepoName          string `position:"Query" name:"RepoName"`
+}
+
+// GetRepositoryResponse is the response struct for api GetRepository
+type GetRepositoryResponse struct {
+	*responses.BaseResponse
+	GetRepositoryIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                   string `json:"Code" xml:"Code"`
+	RequestId              string `json:"RequestId" xml:"RequestId"`
+	InstanceId             string `json:"InstanceId" xml:"InstanceId"`
+	RepoId                 string `json:"RepoId" xml:"RepoId"`
+	RepoNamespaceName      string `json:"RepoNamespaceName" xml:"RepoNamespaceName"`
+	RepoName               string `json:"RepoName" xml:"RepoName"`
+	RepoStatus             string `json:"RepoStatus" xml:"RepoStatus"`
+	RepoType               string `json:"RepoType" xml:"RepoType"`
+	RepoBuildType          string `json:"RepoBuildType" xml:"RepoBuildType"`
+	Summary                string `json:"Summary" xml:"Summary"`
+	Detail                 string `json:"Detail" xml:"Detail"`
+	CreateTime             int64  `json:"CreateTime" xml:"CreateTime"`
+	ModifiedTime           int64  `json:"ModifiedTime" xml:"ModifiedTime"`
+}
+
+// CreateGetRepositoryRequest creates a request to invoke GetRepository API
+func CreateGetRepositoryRequest() (request *GetRepositoryRequest) {
+	request = &GetRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "GetRepository", "cr", "openAPI")
+	return
+}
+
+// CreateGetRepositoryResponse creates a response to parse from GetRepository response
+func CreateGetRepositoryResponse() (response *GetRepositoryResponse) {
+	response = &GetRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cr-2018-12-01/list_chart_namespace.go

@@ -0,0 +1,113 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListChartNamespace invokes the cr.ListChartNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/listchartnamespace.html
+func (client *Client) ListChartNamespace(request *ListChartNamespaceRequest) (response *ListChartNamespaceResponse, err error) {
+	response = CreateListChartNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListChartNamespaceWithChan invokes the cr.ListChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartNamespaceWithChan(request *ListChartNamespaceRequest) (<-chan *ListChartNamespaceResponse, <-chan error) {
+	responseChan := make(chan *ListChartNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListChartNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListChartNamespaceWithCallback invokes the cr.ListChartNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartNamespaceWithCallback(request *ListChartNamespaceRequest, callback func(response *ListChartNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListChartNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.ListChartNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListChartNamespaceRequest is the request struct for api ListChartNamespace
+type ListChartNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName   string           `position:"Query" name:"NamespaceName"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	PageNo          requests.Integer `position:"Query" name:"PageNo"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	NamespaceStatus string           `position:"Query" name:"NamespaceStatus"`
+}
+
+// ListChartNamespaceResponse is the response struct for api ListChartNamespace
+type ListChartNamespaceResponse struct {
+	*responses.BaseResponse
+	ListChartNamespaceIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string           `json:"Code" xml:"Code"`
+	RequestId                   string           `json:"RequestId" xml:"RequestId"`
+	PageNo                      int              `json:"PageNo" xml:"PageNo"`
+	PageSize                    int              `json:"PageSize" xml:"PageSize"`
+	TotalCount                  string           `json:"TotalCount" xml:"TotalCount"`
+	Namespaces                  []NamespacesItem `json:"Namespaces" xml:"Namespaces"`
+}
+
+// CreateListChartNamespaceRequest creates a request to invoke ListChartNamespace API
+func CreateListChartNamespaceRequest() (request *ListChartNamespaceRequest) {
+	request = &ListChartNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListChartNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateListChartNamespaceResponse creates a response to parse from ListChartNamespace response
+func CreateListChartNamespaceResponse() (response *ListChartNamespaceResponse) {
+	response = &ListChartNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/cr-2018-12-01/list_chart_release.go

@@ -0,0 +1,114 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListChartRelease invokes the cr.ListChartRelease API synchronously
+// api document: https://help.aliyun.com/api/cr/listchartrelease.html
+func (client *Client) ListChartRelease(request *ListChartReleaseRequest) (response *ListChartReleaseResponse, err error) {
+	response = CreateListChartReleaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListChartReleaseWithChan invokes the cr.ListChartRelease API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartrelease.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartReleaseWithChan(request *ListChartReleaseRequest) (<-chan *ListChartReleaseResponse, <-chan error) {
+	responseChan := make(chan *ListChartReleaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListChartRelease(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListChartReleaseWithCallback invokes the cr.ListChartRelease API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartrelease.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartReleaseWithCallback(request *ListChartReleaseRequest, callback func(response *ListChartReleaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListChartReleaseResponse
+		var err error
+		defer close(result)
+		response, err = client.ListChartRelease(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListChartReleaseRequest is the request struct for api ListChartRelease
+type ListChartReleaseRequest struct {
+	*requests.RpcRequest
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	RepoName          string           `position:"Query" name:"RepoName"`
+	RepoNamespaceName string           `position:"Query" name:"RepoNamespaceName"`
+	PageNo            requests.Integer `position:"Query" name:"PageNo"`
+	PageSize          requests.Integer `position:"Query" name:"PageSize"`
+	Chart             string           `position:"Query" name:"Chart"`
+}
+
+// ListChartReleaseResponse is the response struct for api ListChartRelease
+type ListChartReleaseResponse struct {
+	*responses.BaseResponse
+	ListChartReleaseIsSuccess bool                `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string              `json:"Code" xml:"Code"`
+	RequestId                 string              `json:"RequestId" xml:"RequestId"`
+	PageNo                    int                 `json:"PageNo" xml:"PageNo"`
+	PageSize                  int                 `json:"PageSize" xml:"PageSize"`
+	TotalCount                string              `json:"TotalCount" xml:"TotalCount"`
+	ChartReleases             []ChartReleasesItem `json:"ChartReleases" xml:"ChartReleases"`
+}
+
+// CreateListChartReleaseRequest creates a request to invoke ListChartRelease API
+func CreateListChartReleaseRequest() (request *ListChartReleaseRequest) {
+	request = &ListChartReleaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListChartRelease", "cr", "openAPI")
+	return
+}
+
+// CreateListChartReleaseResponse creates a response to parse from ListChartRelease response
+func CreateListChartReleaseResponse() (response *ListChartReleaseResponse) {
+	response = &ListChartReleaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/cr-2018-12-01/list_chart_repository.go

@@ -0,0 +1,114 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListChartRepository invokes the cr.ListChartRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/listchartrepository.html
+func (client *Client) ListChartRepository(request *ListChartRepositoryRequest) (response *ListChartRepositoryResponse, err error) {
+	response = CreateListChartRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListChartRepositoryWithChan invokes the cr.ListChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartRepositoryWithChan(request *ListChartRepositoryRequest) (<-chan *ListChartRepositoryResponse, <-chan error) {
+	responseChan := make(chan *ListChartRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListChartRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListChartRepositoryWithCallback invokes the cr.ListChartRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/listchartrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChartRepositoryWithCallback(request *ListChartRepositoryRequest, callback func(response *ListChartRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListChartRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.ListChartRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListChartRepositoryRequest is the request struct for api ListChartRepository
+type ListChartRepositoryRequest struct {
+	*requests.RpcRequest
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	RepoName          string           `position:"Query" name:"RepoName"`
+	RepoNamespaceName string           `position:"Query" name:"RepoNamespaceName"`
+	PageNo            requests.Integer `position:"Query" name:"PageNo"`
+	PageSize          requests.Integer `position:"Query" name:"PageSize"`
+	RepoStatus        string           `position:"Query" name:"RepoStatus"`
+}
+
+// ListChartRepositoryResponse is the response struct for api ListChartRepository
+type ListChartRepositoryResponse struct {
+	*responses.BaseResponse
+	ListChartRepositoryIsSuccess bool               `json:"IsSuccess" xml:"IsSuccess"`
+	Code                         string             `json:"Code" xml:"Code"`
+	RequestId                    string             `json:"RequestId" xml:"RequestId"`
+	PageNo                       int                `json:"PageNo" xml:"PageNo"`
+	PageSize                     int                `json:"PageSize" xml:"PageSize"`
+	TotalCount                   string             `json:"TotalCount" xml:"TotalCount"`
+	Repositories                 []RepositoriesItem `json:"Repositories" xml:"Repositories"`
+}
+
+// CreateListChartRepositoryRequest creates a request to invoke ListChartRepository API
+func CreateListChartRepositoryRequest() (request *ListChartRepositoryRequest) {
+	request = &ListChartRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListChartRepository", "cr", "openAPI")
+	return
+}
+
+// CreateListChartRepositoryResponse creates a response to parse from ListChartRepository response
+func CreateListChartRepositoryResponse() (response *ListChartRepositoryResponse) {
+	response = &ListChartRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cr-2018-12-01/list_instance.go

@@ -0,0 +1,111 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListInstance invokes the cr.ListInstance API synchronously
+// api document: https://help.aliyun.com/api/cr/listinstance.html
+func (client *Client) ListInstance(request *ListInstanceRequest) (response *ListInstanceResponse, err error) {
+	response = CreateListInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstanceWithChan invokes the cr.ListInstance API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceWithChan(request *ListInstanceRequest) (<-chan *ListInstanceResponse, <-chan error) {
+	responseChan := make(chan *ListInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstanceWithCallback invokes the cr.ListInstance API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceWithCallback(request *ListInstanceRequest, callback func(response *ListInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstanceRequest is the request struct for api ListInstance
+type ListInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceStatus string           `position:"Query" name:"InstanceStatus"`
+	InstanceName   string           `position:"Query" name:"InstanceName"`
+	PageNo         requests.Integer `position:"Query" name:"PageNo"`
+	PageSize       requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListInstanceResponse is the response struct for api ListInstance
+type ListInstanceResponse struct {
+	*responses.BaseResponse
+	ListInstanceIsSuccess bool            `json:"IsSuccess" xml:"IsSuccess"`
+	Code                  string          `json:"Code" xml:"Code"`
+	RequestId             string          `json:"RequestId" xml:"RequestId"`
+	PageNo                int             `json:"PageNo" xml:"PageNo"`
+	PageSize              int             `json:"PageSize" xml:"PageSize"`
+	Instances             []InstancesItem `json:"Instances" xml:"Instances"`
+}
+
+// CreateListInstanceRequest creates a request to invoke ListInstance API
+func CreateListInstanceRequest() (request *ListInstanceRequest) {
+	request = &ListInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListInstance", "cr", "openAPI")
+	return
+}
+
+// CreateListInstanceResponse creates a response to parse from ListInstance response
+func CreateListInstanceResponse() (response *ListInstanceResponse) {
+	response = &ListInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/list_instance_endpoint.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListInstanceEndpoint invokes the cr.ListInstanceEndpoint API synchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceendpoint.html
+func (client *Client) ListInstanceEndpoint(request *ListInstanceEndpointRequest) (response *ListInstanceEndpointResponse, err error) {
+	response = CreateListInstanceEndpointResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstanceEndpointWithChan invokes the cr.ListInstanceEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceEndpointWithChan(request *ListInstanceEndpointRequest) (<-chan *ListInstanceEndpointResponse, <-chan error) {
+	responseChan := make(chan *ListInstanceEndpointResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstanceEndpoint(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstanceEndpointWithCallback invokes the cr.ListInstanceEndpoint API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceendpoint.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceEndpointWithCallback(request *ListInstanceEndpointRequest, callback func(response *ListInstanceEndpointResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstanceEndpointResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstanceEndpoint(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstanceEndpointRequest is the request struct for api ListInstanceEndpoint
+type ListInstanceEndpointRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	ModuleName string `position:"Query" name:"ModuleName"`
+}
+
+// ListInstanceEndpointResponse is the response struct for api ListInstanceEndpoint
+type ListInstanceEndpointResponse struct {
+	*responses.BaseResponse
+	ListInstanceEndpointIsSuccess bool            `json:"IsSuccess" xml:"IsSuccess"`
+	Code                          string          `json:"Code" xml:"Code"`
+	RequestId                     string          `json:"RequestId" xml:"RequestId"`
+	Endpoints                     []EndpointsItem `json:"Endpoints" xml:"Endpoints"`
+}
+
+// CreateListInstanceEndpointRequest creates a request to invoke ListInstanceEndpoint API
+func CreateListInstanceEndpointRequest() (request *ListInstanceEndpointRequest) {
+	request = &ListInstanceEndpointRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListInstanceEndpoint", "cr", "openAPI")
+	return
+}
+
+// CreateListInstanceEndpointResponse creates a response to parse from ListInstanceEndpoint response
+func CreateListInstanceEndpointResponse() (response *ListInstanceEndpointResponse) {
+	response = &ListInstanceEndpointResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/list_instance_region.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListInstanceRegion invokes the cr.ListInstanceRegion API synchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceregion.html
+func (client *Client) ListInstanceRegion(request *ListInstanceRegionRequest) (response *ListInstanceRegionResponse, err error) {
+	response = CreateListInstanceRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstanceRegionWithChan invokes the cr.ListInstanceRegion API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceRegionWithChan(request *ListInstanceRegionRequest) (<-chan *ListInstanceRegionResponse, <-chan error) {
+	responseChan := make(chan *ListInstanceRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstanceRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstanceRegionWithCallback invokes the cr.ListInstanceRegion API asynchronously
+// api document: https://help.aliyun.com/api/cr/listinstanceregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceRegionWithCallback(request *ListInstanceRegionRequest, callback func(response *ListInstanceRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstanceRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstanceRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstanceRegionRequest is the request struct for api ListInstanceRegion
+type ListInstanceRegionRequest struct {
+	*requests.RpcRequest
+	Lang string `position:"Query" name:"Lang"`
+}
+
+// ListInstanceRegionResponse is the response struct for api ListInstanceRegion
+type ListInstanceRegionResponse struct {
+	*responses.BaseResponse
+	ListInstanceRegionIsSuccess bool          `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string        `json:"Code" xml:"Code"`
+	RequestId                   string        `json:"RequestId" xml:"RequestId"`
+	Regions                     []RegionsItem `json:"Regions" xml:"Regions"`
+}
+
+// CreateListInstanceRegionRequest creates a request to invoke ListInstanceRegion API
+func CreateListInstanceRegionRequest() (request *ListInstanceRegionRequest) {
+	request = &ListInstanceRegionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListInstanceRegion", "cr", "openAPI")
+	return
+}
+
+// CreateListInstanceRegionResponse creates a response to parse from ListInstanceRegion response
+func CreateListInstanceRegionResponse() (response *ListInstanceRegionResponse) {
+	response = &ListInstanceRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cr-2018-12-01/list_namespace.go

@@ -0,0 +1,113 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListNamespace invokes the cr.ListNamespace API synchronously
+// api document: https://help.aliyun.com/api/cr/listnamespace.html
+func (client *Client) ListNamespace(request *ListNamespaceRequest) (response *ListNamespaceResponse, err error) {
+	response = CreateListNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListNamespaceWithChan invokes the cr.ListNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/listnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNamespaceWithChan(request *ListNamespaceRequest) (<-chan *ListNamespaceResponse, <-chan error) {
+	responseChan := make(chan *ListNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListNamespaceWithCallback invokes the cr.ListNamespace API asynchronously
+// api document: https://help.aliyun.com/api/cr/listnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNamespaceWithCallback(request *ListNamespaceRequest, callback func(response *ListNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.ListNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListNamespaceRequest is the request struct for api ListNamespace
+type ListNamespaceRequest struct {
+	*requests.RpcRequest
+	NamespaceName   string           `position:"Query" name:"NamespaceName"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	PageNo          requests.Integer `position:"Query" name:"PageNo"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	NamespaceStatus string           `position:"Query" name:"NamespaceStatus"`
+}
+
+// ListNamespaceResponse is the response struct for api ListNamespace
+type ListNamespaceResponse struct {
+	*responses.BaseResponse
+	ListNamespaceIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                   string           `json:"Code" xml:"Code"`
+	RequestId              string           `json:"RequestId" xml:"RequestId"`
+	PageNo                 int              `json:"PageNo" xml:"PageNo"`
+	PageSize               int              `json:"PageSize" xml:"PageSize"`
+	TotalCount             string           `json:"TotalCount" xml:"TotalCount"`
+	Namespaces             []NamespacesItem `json:"Namespaces" xml:"Namespaces"`
+}
+
+// CreateListNamespaceRequest creates a request to invoke ListNamespace API
+func CreateListNamespaceRequest() (request *ListNamespaceRequest) {
+	request = &ListNamespaceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListNamespace", "cr", "openAPI")
+	return
+}
+
+// CreateListNamespaceResponse creates a response to parse from ListNamespace response
+func CreateListNamespaceResponse() (response *ListNamespaceResponse) {
+	response = &ListNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/list_repo_build_record.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoBuildRecord invokes the cr.ListRepoBuildRecord API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecord.html
+func (client *Client) ListRepoBuildRecord(request *ListRepoBuildRecordRequest) (response *ListRepoBuildRecordResponse, err error) {
+	response = CreateListRepoBuildRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoBuildRecordWithChan invokes the cr.ListRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRecordWithChan(request *ListRepoBuildRecordRequest) (<-chan *ListRepoBuildRecordResponse, <-chan error) {
+	responseChan := make(chan *ListRepoBuildRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoBuildRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoBuildRecordWithCallback invokes the cr.ListRepoBuildRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRecordWithCallback(request *ListRepoBuildRecordRequest, callback func(response *ListRepoBuildRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoBuildRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoBuildRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoBuildRecordRequest is the request struct for api ListRepoBuildRecord
+type ListRepoBuildRecordRequest struct {
+	*requests.RpcRequest
+	RepoId     string           `position:"Query" name:"RepoId"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageNo     requests.Integer `position:"Query" name:"PageNo"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListRepoBuildRecordResponse is the response struct for api ListRepoBuildRecord
+type ListRepoBuildRecordResponse struct {
+	*responses.BaseResponse
+	ListRepoBuildRecordIsSuccess bool               `json:"IsSuccess" xml:"IsSuccess"`
+	Code                         string             `json:"Code" xml:"Code"`
+	RequestId                    string             `json:"RequestId" xml:"RequestId"`
+	PageNo                       int                `json:"PageNo" xml:"PageNo"`
+	PageSize                     int                `json:"PageSize" xml:"PageSize"`
+	TotalCount                   string             `json:"TotalCount" xml:"TotalCount"`
+	BuildRecords                 []BuildRecordsItem `json:"BuildRecords" xml:"BuildRecords"`
+}
+
+// CreateListRepoBuildRecordRequest creates a request to invoke ListRepoBuildRecord API
+func CreateListRepoBuildRecordRequest() (request *ListRepoBuildRecordRequest) {
+	request = &ListRepoBuildRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoBuildRecord", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoBuildRecordResponse creates a response to parse from ListRepoBuildRecord response
+func CreateListRepoBuildRecordResponse() (response *ListRepoBuildRecordResponse) {
+	response = &ListRepoBuildRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/list_repo_build_record_log.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoBuildRecordLog invokes the cr.ListRepoBuildRecordLog API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecordlog.html
+func (client *Client) ListRepoBuildRecordLog(request *ListRepoBuildRecordLogRequest) (response *ListRepoBuildRecordLogResponse, err error) {
+	response = CreateListRepoBuildRecordLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoBuildRecordLogWithChan invokes the cr.ListRepoBuildRecordLog API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecordlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRecordLogWithChan(request *ListRepoBuildRecordLogRequest) (<-chan *ListRepoBuildRecordLogResponse, <-chan error) {
+	responseChan := make(chan *ListRepoBuildRecordLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoBuildRecordLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoBuildRecordLogWithCallback invokes the cr.ListRepoBuildRecordLog API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrecordlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRecordLogWithCallback(request *ListRepoBuildRecordLogRequest, callback func(response *ListRepoBuildRecordLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoBuildRecordLogResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoBuildRecordLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoBuildRecordLogRequest is the request struct for api ListRepoBuildRecordLog
+type ListRepoBuildRecordLogRequest struct {
+	*requests.RpcRequest
+	BuildRecordId string           `position:"Query" name:"BuildRecordId"`
+	RepoId        string           `position:"Query" name:"RepoId"`
+	Offset        requests.Integer `position:"Query" name:"Offset"`
+	InstanceId    string           `position:"Query" name:"InstanceId"`
+}
+
+// ListRepoBuildRecordLogResponse is the response struct for api ListRepoBuildRecordLog
+type ListRepoBuildRecordLogResponse struct {
+	*responses.BaseResponse
+	ListRepoBuildRecordLogIsSuccess bool                  `json:"IsSuccess" xml:"IsSuccess"`
+	Code                            string                `json:"Code" xml:"Code"`
+	RequestId                       string                `json:"RequestId" xml:"RequestId"`
+	PageNo                          int                   `json:"PageNo" xml:"PageNo"`
+	PageSize                        int                   `json:"PageSize" xml:"PageSize"`
+	TotalCount                      string                `json:"TotalCount" xml:"TotalCount"`
+	BuildRecordLogs                 []BuildRecordLogsItem `json:"BuildRecordLogs" xml:"BuildRecordLogs"`
+}
+
+// CreateListRepoBuildRecordLogRequest creates a request to invoke ListRepoBuildRecordLog API
+func CreateListRepoBuildRecordLogRequest() (request *ListRepoBuildRecordLogRequest) {
+	request = &ListRepoBuildRecordLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoBuildRecordLog", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoBuildRecordLogResponse creates a response to parse from ListRepoBuildRecordLog response
+func CreateListRepoBuildRecordLogResponse() (response *ListRepoBuildRecordLogResponse) {
+	response = &ListRepoBuildRecordLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/list_repo_build_rule.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoBuildRule invokes the cr.ListRepoBuildRule API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrule.html
+func (client *Client) ListRepoBuildRule(request *ListRepoBuildRuleRequest) (response *ListRepoBuildRuleResponse, err error) {
+	response = CreateListRepoBuildRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoBuildRuleWithChan invokes the cr.ListRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRuleWithChan(request *ListRepoBuildRuleRequest) (<-chan *ListRepoBuildRuleResponse, <-chan error) {
+	responseChan := make(chan *ListRepoBuildRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoBuildRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoBuildRuleWithCallback invokes the cr.ListRepoBuildRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepobuildrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoBuildRuleWithCallback(request *ListRepoBuildRuleRequest, callback func(response *ListRepoBuildRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoBuildRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoBuildRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoBuildRuleRequest is the request struct for api ListRepoBuildRule
+type ListRepoBuildRuleRequest struct {
+	*requests.RpcRequest
+	RepoId     string           `position:"Query" name:"RepoId"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageNo     requests.Integer `position:"Query" name:"PageNo"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListRepoBuildRuleResponse is the response struct for api ListRepoBuildRule
+type ListRepoBuildRuleResponse struct {
+	*responses.BaseResponse
+	ListRepoBuildRuleIsSuccess bool             `json:"IsSuccess" xml:"IsSuccess"`
+	Code                       string           `json:"Code" xml:"Code"`
+	RequestId                  string           `json:"RequestId" xml:"RequestId"`
+	PageNo                     int              `json:"PageNo" xml:"PageNo"`
+	PageSize                   int              `json:"PageSize" xml:"PageSize"`
+	TotalCount                 string           `json:"TotalCount" xml:"TotalCount"`
+	BuildRules                 []BuildRulesItem `json:"BuildRules" xml:"BuildRules"`
+}
+
+// CreateListRepoBuildRuleRequest creates a request to invoke ListRepoBuildRule API
+func CreateListRepoBuildRuleRequest() (request *ListRepoBuildRuleRequest) {
+	request = &ListRepoBuildRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoBuildRule", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoBuildRuleResponse creates a response to parse from ListRepoBuildRule response
+func CreateListRepoBuildRuleResponse() (response *ListRepoBuildRuleResponse) {
+	response = &ListRepoBuildRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/cr-2018-12-01/list_repo_sync_rule.go

@@ -0,0 +1,115 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoSyncRule invokes the cr.ListRepoSyncRule API synchronously
+// api document: https://help.aliyun.com/api/cr/listreposyncrule.html
+func (client *Client) ListRepoSyncRule(request *ListRepoSyncRuleRequest) (response *ListRepoSyncRuleResponse, err error) {
+	response = CreateListRepoSyncRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoSyncRuleWithChan invokes the cr.ListRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/listreposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoSyncRuleWithChan(request *ListRepoSyncRuleRequest) (<-chan *ListRepoSyncRuleResponse, <-chan error) {
+	responseChan := make(chan *ListRepoSyncRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoSyncRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoSyncRuleWithCallback invokes the cr.ListRepoSyncRule API asynchronously
+// api document: https://help.aliyun.com/api/cr/listreposyncrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoSyncRuleWithCallback(request *ListRepoSyncRuleRequest, callback func(response *ListRepoSyncRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoSyncRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoSyncRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoSyncRuleRequest is the request struct for api ListRepoSyncRule
+type ListRepoSyncRuleRequest struct {
+	*requests.RpcRequest
+	NamespaceName    string           `position:"Query" name:"NamespaceName"`
+	InstanceId       string           `position:"Query" name:"InstanceId"`
+	TargetInstanceId string           `position:"Query" name:"TargetInstanceId"`
+	RepoName         string           `position:"Query" name:"RepoName"`
+	PageNo           requests.Integer `position:"Query" name:"PageNo"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	TargetRegionId   string           `position:"Query" name:"TargetRegionId"`
+}
+
+// ListRepoSyncRuleResponse is the response struct for api ListRepoSyncRule
+type ListRepoSyncRuleResponse struct {
+	*responses.BaseResponse
+	ListRepoSyncRuleIsSuccess bool            `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string          `json:"Code" xml:"Code"`
+	RequestId                 string          `json:"RequestId" xml:"RequestId"`
+	PageNo                    int             `json:"PageNo" xml:"PageNo"`
+	PageSize                  int             `json:"PageSize" xml:"PageSize"`
+	TotalCount                int             `json:"TotalCount" xml:"TotalCount"`
+	SyncRules                 []SyncRulesItem `json:"SyncRules" xml:"SyncRules"`
+}
+
+// CreateListRepoSyncRuleRequest creates a request to invoke ListRepoSyncRule API
+func CreateListRepoSyncRuleRequest() (request *ListRepoSyncRuleRequest) {
+	request = &ListRepoSyncRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoSyncRule", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoSyncRuleResponse creates a response to parse from ListRepoSyncRule response
+func CreateListRepoSyncRuleResponse() (response *ListRepoSyncRuleResponse) {
+	response = &ListRepoSyncRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/list_repo_sync_task.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoSyncTask invokes the cr.ListRepoSyncTask API synchronously
+// api document: https://help.aliyun.com/api/cr/listreposynctask.html
+func (client *Client) ListRepoSyncTask(request *ListRepoSyncTaskRequest) (response *ListRepoSyncTaskResponse, err error) {
+	response = CreateListRepoSyncTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoSyncTaskWithChan invokes the cr.ListRepoSyncTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/listreposynctask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoSyncTaskWithChan(request *ListRepoSyncTaskRequest) (<-chan *ListRepoSyncTaskResponse, <-chan error) {
+	responseChan := make(chan *ListRepoSyncTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoSyncTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoSyncTaskWithCallback invokes the cr.ListRepoSyncTask API asynchronously
+// api document: https://help.aliyun.com/api/cr/listreposynctask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoSyncTaskWithCallback(request *ListRepoSyncTaskRequest, callback func(response *ListRepoSyncTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoSyncTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoSyncTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoSyncTaskRequest is the request struct for api ListRepoSyncTask
+type ListRepoSyncTaskRequest struct {
+	*requests.RpcRequest
+	SyncRecordId string           `position:"Query" name:"SyncRecordId"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	PageNo       requests.Integer `position:"Query" name:"PageNo"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListRepoSyncTaskResponse is the response struct for api ListRepoSyncTask
+type ListRepoSyncTaskResponse struct {
+	*responses.BaseResponse
+	ListRepoSyncTaskIsSuccess bool            `json:"IsSuccess" xml:"IsSuccess"`
+	Code                      string          `json:"Code" xml:"Code"`
+	RequestId                 string          `json:"RequestId" xml:"RequestId"`
+	PageNo                    int             `json:"PageNo" xml:"PageNo"`
+	PageSize                  int             `json:"PageSize" xml:"PageSize"`
+	TotalCount                string          `json:"TotalCount" xml:"TotalCount"`
+	SyncTasks                 []SyncTasksItem `json:"SyncTasks" xml:"SyncTasks"`
+}
+
+// CreateListRepoSyncTaskRequest creates a request to invoke ListRepoSyncTask API
+func CreateListRepoSyncTaskRequest() (request *ListRepoSyncTaskRequest) {
+	request = &ListRepoSyncTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoSyncTask", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoSyncTaskResponse creates a response to parse from ListRepoSyncTask response
+func CreateListRepoSyncTaskResponse() (response *ListRepoSyncTaskResponse) {
+	response = &ListRepoSyncTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cr-2018-12-01/list_repo_tag.go

@@ -0,0 +1,112 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoTag invokes the cr.ListRepoTag API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepotag.html
+func (client *Client) ListRepoTag(request *ListRepoTagRequest) (response *ListRepoTagResponse, err error) {
+	response = CreateListRepoTagResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoTagWithChan invokes the cr.ListRepoTag API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotag.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTagWithChan(request *ListRepoTagRequest) (<-chan *ListRepoTagResponse, <-chan error) {
+	responseChan := make(chan *ListRepoTagResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoTag(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoTagWithCallback invokes the cr.ListRepoTag API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotag.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTagWithCallback(request *ListRepoTagRequest, callback func(response *ListRepoTagResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoTagResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoTag(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoTagRequest is the request struct for api ListRepoTag
+type ListRepoTagRequest struct {
+	*requests.RpcRequest
+	RepoId     string           `position:"Query" name:"RepoId"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageNo     requests.Integer `position:"Query" name:"PageNo"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListRepoTagResponse is the response struct for api ListRepoTag
+type ListRepoTagResponse struct {
+	*responses.BaseResponse
+	ListRepoTagIsSuccess bool         `json:"IsSuccess" xml:"IsSuccess"`
+	Code                 string       `json:"Code" xml:"Code"`
+	RequestId            string       `json:"RequestId" xml:"RequestId"`
+	PageNo               int          `json:"PageNo" xml:"PageNo"`
+	PageSize             int          `json:"PageSize" xml:"PageSize"`
+	TotalCount           string       `json:"TotalCount" xml:"TotalCount"`
+	Images               []ImagesItem `json:"Images" xml:"Images"`
+}
+
+// CreateListRepoTagRequest creates a request to invoke ListRepoTag API
+func CreateListRepoTagRequest() (request *ListRepoTagRequest) {
+	request = &ListRepoTagRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoTag", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoTagResponse creates a response to parse from ListRepoTag response
+func CreateListRepoTagResponse() (response *ListRepoTagResponse) {
+	response = &ListRepoTagResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/list_repo_trigger.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoTrigger invokes the cr.ListRepoTrigger API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepotrigger.html
+func (client *Client) ListRepoTrigger(request *ListRepoTriggerRequest) (response *ListRepoTriggerResponse, err error) {
+	response = CreateListRepoTriggerResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoTriggerWithChan invokes the cr.ListRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerWithChan(request *ListRepoTriggerRequest) (<-chan *ListRepoTriggerResponse, <-chan error) {
+	responseChan := make(chan *ListRepoTriggerResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoTrigger(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoTriggerWithCallback invokes the cr.ListRepoTrigger API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotrigger.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerWithCallback(request *ListRepoTriggerRequest, callback func(response *ListRepoTriggerResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoTriggerResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoTrigger(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoTriggerRequest is the request struct for api ListRepoTrigger
+type ListRepoTriggerRequest struct {
+	*requests.RpcRequest
+	RepoId     string `position:"Query" name:"RepoId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// ListRepoTriggerResponse is the response struct for api ListRepoTrigger
+type ListRepoTriggerResponse struct {
+	*responses.BaseResponse
+	ListRepoTriggerIsSuccess bool           `json:"IsSuccess" xml:"IsSuccess"`
+	Code                     string         `json:"Code" xml:"Code"`
+	RequestId                string         `json:"RequestId" xml:"RequestId"`
+	Triggers                 []TriggersItem `json:"Triggers" xml:"Triggers"`
+}
+
+// CreateListRepoTriggerRequest creates a request to invoke ListRepoTrigger API
+func CreateListRepoTriggerRequest() (request *ListRepoTriggerRequest) {
+	request = &ListRepoTriggerRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoTrigger", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoTriggerResponse creates a response to parse from ListRepoTrigger response
+func CreateListRepoTriggerResponse() (response *ListRepoTriggerResponse) {
+	response = &ListRepoTriggerResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cr-2018-12-01/list_repo_trigger_log.go

@@ -0,0 +1,109 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoTriggerLog invokes the cr.ListRepoTriggerLog API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerlog.html
+func (client *Client) ListRepoTriggerLog(request *ListRepoTriggerLogRequest) (response *ListRepoTriggerLogResponse, err error) {
+	response = CreateListRepoTriggerLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoTriggerLogWithChan invokes the cr.ListRepoTriggerLog API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerLogWithChan(request *ListRepoTriggerLogRequest) (<-chan *ListRepoTriggerLogResponse, <-chan error) {
+	responseChan := make(chan *ListRepoTriggerLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoTriggerLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoTriggerLogWithCallback invokes the cr.ListRepoTriggerLog API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerLogWithCallback(request *ListRepoTriggerLogRequest, callback func(response *ListRepoTriggerLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoTriggerLogResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoTriggerLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoTriggerLogRequest is the request struct for api ListRepoTriggerLog
+type ListRepoTriggerLogRequest struct {
+	*requests.RpcRequest
+	RepoId          string `position:"Query" name:"RepoId"`
+	TriggerId       string `position:"Query" name:"TriggerId"`
+	InstanceId      string `position:"Query" name:"InstanceId"`
+	TriggerRecordId string `position:"Query" name:"TriggerRecordId"`
+}
+
+// ListRepoTriggerLogResponse is the response struct for api ListRepoTriggerLog
+type ListRepoTriggerLogResponse struct {
+	*responses.BaseResponse
+	ListRepoTriggerLogIsSuccess bool       `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string     `json:"Code" xml:"Code"`
+	RequestId                   string     `json:"RequestId" xml:"RequestId"`
+	Logs                        []LogsItem `json:"Logs" xml:"Logs"`
+}
+
+// CreateListRepoTriggerLogRequest creates a request to invoke ListRepoTriggerLog API
+func CreateListRepoTriggerLogRequest() (request *ListRepoTriggerLogRequest) {
+	request = &ListRepoTriggerLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoTriggerLog", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoTriggerLogResponse creates a response to parse from ListRepoTriggerLog response
+func CreateListRepoTriggerLogResponse() (response *ListRepoTriggerLogResponse) {
+	response = &ListRepoTriggerLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cr-2018-12-01/list_repo_trigger_record.go

@@ -0,0 +1,107 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepoTriggerRecord invokes the cr.ListRepoTriggerRecord API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerrecord.html
+func (client *Client) ListRepoTriggerRecord(request *ListRepoTriggerRecordRequest) (response *ListRepoTriggerRecordResponse, err error) {
+	response = CreateListRepoTriggerRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepoTriggerRecordWithChan invokes the cr.ListRepoTriggerRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerRecordWithChan(request *ListRepoTriggerRecordRequest) (<-chan *ListRepoTriggerRecordResponse, <-chan error) {
+	responseChan := make(chan *ListRepoTriggerRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepoTriggerRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepoTriggerRecordWithCallback invokes the cr.ListRepoTriggerRecord API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepotriggerrecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepoTriggerRecordWithCallback(request *ListRepoTriggerRecordRequest, callback func(response *ListRepoTriggerRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepoTriggerRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepoTriggerRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepoTriggerRecordRequest is the request struct for api ListRepoTriggerRecord
+type ListRepoTriggerRecordRequest struct {
+	*requests.RpcRequest
+	InstanceId      string `position:"Query" name:"InstanceId"`
+	TriggerRecordId string `position:"Query" name:"TriggerRecordId"`
+}
+
+// ListRepoTriggerRecordResponse is the response struct for api ListRepoTriggerRecord
+type ListRepoTriggerRecordResponse struct {
+	*responses.BaseResponse
+	ListRepoTriggerRecordIsSuccess bool                     `json:"IsSuccess" xml:"IsSuccess"`
+	Code                           string                   `json:"Code" xml:"Code"`
+	RequestId                      string                   `json:"RequestId" xml:"RequestId"`
+	RepoTriggerRecords             []RepoTriggerRecordsItem `json:"RepoTriggerRecords" xml:"RepoTriggerRecords"`
+}
+
+// CreateListRepoTriggerRecordRequest creates a request to invoke ListRepoTriggerRecord API
+func CreateListRepoTriggerRecordRequest() (request *ListRepoTriggerRecordRequest) {
+	request = &ListRepoTriggerRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepoTriggerRecord", "cr", "openAPI")
+	return
+}
+
+// CreateListRepoTriggerRecordResponse creates a response to parse from ListRepoTriggerRecord response
+func CreateListRepoTriggerRecordResponse() (response *ListRepoTriggerRecordResponse) {
+	response = &ListRepoTriggerRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/cr-2018-12-01/list_repository.go

@@ -0,0 +1,114 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ListRepository invokes the cr.ListRepository API synchronously
+// api document: https://help.aliyun.com/api/cr/listrepository.html
+func (client *Client) ListRepository(request *ListRepositoryRequest) (response *ListRepositoryResponse, err error) {
+	response = CreateListRepositoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRepositoryWithChan invokes the cr.ListRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepositoryWithChan(request *ListRepositoryRequest) (<-chan *ListRepositoryResponse, <-chan error) {
+	responseChan := make(chan *ListRepositoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRepository(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRepositoryWithCallback invokes the cr.ListRepository API asynchronously
+// api document: https://help.aliyun.com/api/cr/listrepository.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRepositoryWithCallback(request *ListRepositoryRequest, callback func(response *ListRepositoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRepositoryResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRepository(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRepositoryRequest is the request struct for api ListRepository
+type ListRepositoryRequest struct {
+	*requests.RpcRequest
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	RepoName          string           `position:"Query" name:"RepoName"`
+	RepoNamespaceName string           `position:"Query" name:"RepoNamespaceName"`
+	PageNo            requests.Integer `position:"Query" name:"PageNo"`
+	PageSize          requests.Integer `position:"Query" name:"PageSize"`
+	RepoStatus        string           `position:"Query" name:"RepoStatus"`
+}
+
+// ListRepositoryResponse is the response struct for api ListRepository
+type ListRepositoryResponse struct {
+	*responses.BaseResponse
+	ListRepositoryIsSuccess bool               `json:"IsSuccess" xml:"IsSuccess"`
+	Code                    string             `json:"Code" xml:"Code"`
+	RequestId               string             `json:"RequestId" xml:"RequestId"`
+	PageNo                  int                `json:"PageNo" xml:"PageNo"`
+	PageSize                int                `json:"PageSize" xml:"PageSize"`
+	TotalCount              string             `json:"TotalCount" xml:"TotalCount"`
+	Repositories            []RepositoriesItem `json:"Repositories" xml:"Repositories"`
+}
+
+// CreateListRepositoryRequest creates a request to invoke ListRepository API
+func CreateListRepositoryRequest() (request *ListRepositoryRequest) {
+	request = &ListRepositoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ListRepository", "cr", "openAPI")
+	return
+}
+
+// CreateListRepositoryResponse creates a response to parse from ListRepository response
+func CreateListRepositoryResponse() (response *ListRepositoryResponse) {
+	response = &ListRepositoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cr-2018-12-01/reset_login_password.go

@@ -0,0 +1,106 @@
+package cr_2018_12_01
+
+//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"
+)
+
+// ResetLoginPassword invokes the cr.ResetLoginPassword API synchronously
+// api document: https://help.aliyun.com/api/cr/resetloginpassword.html
+func (client *Client) ResetLoginPassword(request *ResetLoginPasswordRequest) (response *ResetLoginPasswordResponse, err error) {
+	response = CreateResetLoginPasswordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResetLoginPasswordWithChan invokes the cr.ResetLoginPassword API asynchronously
+// api document: https://help.aliyun.com/api/cr/resetloginpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetLoginPasswordWithChan(request *ResetLoginPasswordRequest) (<-chan *ResetLoginPasswordResponse, <-chan error) {
+	responseChan := make(chan *ResetLoginPasswordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResetLoginPassword(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResetLoginPasswordWithCallback invokes the cr.ResetLoginPassword API asynchronously
+// api document: https://help.aliyun.com/api/cr/resetloginpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetLoginPasswordWithCallback(request *ResetLoginPasswordRequest, callback func(response *ResetLoginPasswordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResetLoginPasswordResponse
+		var err error
+		defer close(result)
+		response, err = client.ResetLoginPassword(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResetLoginPasswordRequest is the request struct for api ResetLoginPassword
+type ResetLoginPasswordRequest struct {
+	*requests.RpcRequest
+	Password   string `position:"Query" name:"Password"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// ResetLoginPasswordResponse is the response struct for api ResetLoginPassword
+type ResetLoginPasswordResponse struct {
+	*responses.BaseResponse
+	ResetLoginPasswordIsSuccess bool   `json:"IsSuccess" xml:"IsSuccess"`
+	Code                        string `json:"Code" xml:"Code"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResetLoginPasswordRequest creates a request to invoke ResetLoginPassword API
+func CreateResetLoginPasswordRequest() (request *ResetLoginPasswordRequest) {
+	request = &ResetLoginPasswordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cr", "2018-12-01", "ResetLoginPassword", "cr", "openAPI")
+	return
+}
+
+// CreateResetLoginPasswordResponse creates a response to parse from ResetLoginPassword response
+func CreateResetLoginPasswordResponse() (response *ResetLoginPasswordResponse) {
+	response = &ResetLoginPasswordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/cr-2018-12-01/struct_acl_entries_in_get_instance_endpoint.go

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

+ 21 - 0
services/cr-2018-12-01/struct_acl_entries_in_list_instance_endpoint.go

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

+ 22 - 0
services/cr-2018-12-01/struct_acl_entries_item.go

@@ -0,0 +1,22 @@
+package cr_2018_12_01
+
+//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.
+
+// AclEntriesItem is a nested struct in cr response
+type AclEntriesItem struct {
+	Comment string `json:"Comment" xml:"Comment"`
+	Entry   string `json:"Entry" xml:"Entry"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_build_record_logs.go

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

+ 23 - 0
services/cr-2018-12-01/struct_build_record_logs_item.go

@@ -0,0 +1,23 @@
+package cr_2018_12_01
+
+//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.
+
+// BuildRecordLogsItem is a nested struct in cr response
+type BuildRecordLogsItem struct {
+	LineNumber int    `json:"LineNumber" xml:"LineNumber"`
+	Message    string `json:"Message" xml:"Message"`
+	BuildStage string `json:"BuildStage" xml:"BuildStage"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_build_records.go

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

+ 25 - 0
services/cr-2018-12-01/struct_build_records_item.go

@@ -0,0 +1,25 @@
+package cr_2018_12_01
+
+//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.
+
+// BuildRecordsItem is a nested struct in cr response
+type BuildRecordsItem struct {
+	BuildRecordId string `json:"BuildRecordId" xml:"BuildRecordId"`
+	StartTime     string `json:"StartTime" xml:"StartTime"`
+	EndTime       string `json:"EndTime" xml:"EndTime"`
+	BuildStatus   string `json:"BuildStatus" xml:"BuildStatus"`
+	Image         Image  `json:"Image" xml:"Image"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_build_rules.go

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

+ 26 - 0
services/cr-2018-12-01/struct_build_rules_item.go

@@ -0,0 +1,26 @@
+package cr_2018_12_01
+
+//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.
+
+// BuildRulesItem is a nested struct in cr response
+type BuildRulesItem struct {
+	BuildRuleId        string `json:"BuildRuleId" xml:"BuildRuleId"`
+	DockerfileLocation string `json:"DockerfileLocation" xml:"DockerfileLocation"`
+	DockerfileName     string `json:"DockerfileName" xml:"DockerfileName"`
+	PushType           string `json:"PushType" xml:"PushType"`
+	PushName           string `json:"PushName" xml:"PushName"`
+	ImageTag           string `json:"ImageTag" xml:"ImageTag"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_chart_releases.go

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

+ 27 - 0
services/cr-2018-12-01/struct_chart_releases_item.go

@@ -0,0 +1,27 @@
+package cr_2018_12_01
+
+//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.
+
+// ChartReleasesItem is a nested struct in cr response
+type ChartReleasesItem struct {
+	Chart        string `json:"Chart" xml:"Chart"`
+	Release      string `json:"Release" xml:"Release"`
+	Status       string `json:"Status" xml:"Status"`
+	Size         string `json:"Size" xml:"Size"`
+	InstanceId   string `json:"InstanceId" xml:"InstanceId"`
+	RepoId       string `json:"RepoId" xml:"RepoId"`
+	ModifiedTime int64  `json:"ModifiedTime" xml:"ModifiedTime"`
+}

+ 23 - 0
services/cr-2018-12-01/struct_config.go

@@ -0,0 +1,23 @@
+package cr_2018_12_01
+
+//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.
+
+// Config is a nested struct in cr response
+type Config struct {
+	MediaType string `json:"MediaType" xml:"MediaType"`
+	Size      int64  `json:"Size" xml:"Size"`
+	Digest    string `json:"Digest" xml:"Digest"`
+}

+ 22 - 0
services/cr-2018-12-01/struct_data_item.go

@@ -0,0 +1,22 @@
+package cr_2018_12_01
+
+//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.
+
+// DataItem is a nested struct in cr response
+type DataItem struct {
+	Timestamp int64   `json:"Timestamp" xml:"Timestamp"`
+	Data      float64 `json:"Data" xml:"Data"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_domains_in_get_instance_endpoint.go

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

+ 21 - 0
services/cr-2018-12-01/struct_domains_in_get_instance_vpc_endpoint.go

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

+ 21 - 0
services/cr-2018-12-01/struct_domains_in_list_instance_endpoint.go

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

+ 22 - 0
services/cr-2018-12-01/struct_domains_item.go

@@ -0,0 +1,22 @@
+package cr_2018_12_01
+
+//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.
+
+// DomainsItem is a nested struct in cr response
+type DomainsItem struct {
+	Domain string `json:"Domain" xml:"Domain"`
+	Type   string `json:"Type" xml:"Type"`
+}

+ 22 - 0
services/cr-2018-12-01/struct_endpoints.go

@@ -0,0 +1,22 @@
+package cr_2018_12_01
+
+//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.
+
+// Endpoints is a nested struct in cr response
+type Endpoints struct {
+	Domain string `json:"Domain" xml:"Domain"`
+	Type   string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_endpoints_in_list_instance_endpoint.go

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

+ 27 - 0
services/cr-2018-12-01/struct_endpoints_item.go

@@ -0,0 +1,27 @@
+package cr_2018_12_01
+
+//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.
+
+// EndpointsItem is a nested struct in cr response
+type EndpointsItem struct {
+	EndpointType string           `json:"EndpointType" xml:"EndpointType"`
+	Enable       bool             `json:"Enable" xml:"Enable"`
+	AclEnable    bool             `json:"AclEnable" xml:"AclEnable"`
+	Status       string           `json:"Status" xml:"Status"`
+	Domains      []DomainsItem    `json:"Domains" xml:"Domains"`
+	LinkedVpcs   []LinkedVpcsItem `json:"LinkedVpcs" xml:"LinkedVpcs"`
+	AclEntries   []AclEntriesItem `json:"AclEntries" xml:"AclEntries"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_fs_layers.go

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

+ 21 - 0
services/cr-2018-12-01/struct_fs_layers_item.go

@@ -0,0 +1,21 @@
+package cr_2018_12_01
+
+//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.
+
+// FsLayersItem is a nested struct in cr response
+type FsLayersItem struct {
+	BlobSum string `json:"BlobSum" xml:"BlobSum"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_history.go

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

+ 21 - 0
services/cr-2018-12-01/struct_history_item.go

@@ -0,0 +1,21 @@
+package cr_2018_12_01
+
+//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.
+
+// HistoryItem is a nested struct in cr response
+type HistoryItem struct {
+	V1Compatibility map[string]interface{} `json:"V1Compatibility" xml:"V1Compatibility"`
+}

+ 24 - 0
services/cr-2018-12-01/struct_image.go

@@ -0,0 +1,24 @@
+package cr_2018_12_01
+
+//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.
+
+// Image is a nested struct in cr response
+type Image struct {
+	RepoName          string `json:"RepoName" xml:"RepoName"`
+	ImageTag          string `json:"ImageTag" xml:"ImageTag"`
+	RepoId            string `json:"RepoId" xml:"RepoId"`
+	RepoNamespaceName string `json:"RepoNamespaceName" xml:"RepoNamespaceName"`
+}

+ 25 - 0
services/cr-2018-12-01/struct_image_from.go

@@ -0,0 +1,25 @@
+package cr_2018_12_01
+
+//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.
+
+// ImageFrom is a nested struct in cr response
+type ImageFrom struct {
+	RepoName          string `json:"RepoName" xml:"RepoName"`
+	ImageTag          string `json:"ImageTag" xml:"ImageTag"`
+	RegionId          string `json:"RegionId" xml:"RegionId"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	RepoNamespaceName string `json:"RepoNamespaceName" xml:"RepoNamespaceName"`
+}

+ 25 - 0
services/cr-2018-12-01/struct_image_to.go

@@ -0,0 +1,25 @@
+package cr_2018_12_01
+
+//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.
+
+// ImageTo is a nested struct in cr response
+type ImageTo struct {
+	RepoName          string `json:"RepoName" xml:"RepoName"`
+	ImageTag          string `json:"ImageTag" xml:"ImageTag"`
+	RegionId          string `json:"RegionId" xml:"RegionId"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	RepoNamespaceName string `json:"RepoNamespaceName" xml:"RepoNamespaceName"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_images.go

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

+ 27 - 0
services/cr-2018-12-01/struct_images_item.go

@@ -0,0 +1,27 @@
+package cr_2018_12_01
+
+//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.
+
+// ImagesItem is a nested struct in cr response
+type ImagesItem struct {
+	Tag         string `json:"Tag" xml:"Tag"`
+	Digest      string `json:"Digest" xml:"Digest"`
+	ImageId     string `json:"ImageId" xml:"ImageId"`
+	Status      string `json:"Status" xml:"Status"`
+	ImageSize   int64  `json:"ImageSize" xml:"ImageSize"`
+	ImageCreate string `json:"ImageCreate" xml:"ImageCreate"`
+	ImageUpdate string `json:"ImageUpdate" xml:"ImageUpdate"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_instances.go

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

+ 27 - 0
services/cr-2018-12-01/struct_instances_item.go

@@ -0,0 +1,27 @@
+package cr_2018_12_01
+
+//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.
+
+// InstancesItem is a nested struct in cr response
+type InstancesItem struct {
+	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName          string `json:"InstanceName" xml:"InstanceName"`
+	InstanceSpecification string `json:"InstanceSpecification" xml:"InstanceSpecification"`
+	InstanceStatus        string `json:"InstanceStatus" xml:"InstanceStatus"`
+	CreateTime            string `json:"CreateTime" xml:"CreateTime"`
+	ModifiedTime          string `json:"ModifiedTime" xml:"ModifiedTime"`
+	RegionId              string `json:"RegionId" xml:"RegionId"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_layer_tasks.go

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

+ 25 - 0
services/cr-2018-12-01/struct_layer_tasks_item.go

@@ -0,0 +1,25 @@
+package cr_2018_12_01
+
+//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.
+
+// LayerTasksItem is a nested struct in cr response
+type LayerTasksItem struct {
+	SyncLayerTaskId string `json:"SyncLayerTaskId" xml:"SyncLayerTaskId"`
+	TaskStatus      string `json:"TaskStatus" xml:"TaskStatus"`
+	Digest          string `json:"Digest" xml:"Digest"`
+	Size            int64  `json:"Size" xml:"Size"`
+	SyncedSize      int64  `json:"SyncedSize" xml:"SyncedSize"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_layers_in_get_repo_tag_layers.go

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

+ 21 - 0
services/cr-2018-12-01/struct_layers_in_get_repo_tag_manifest.go

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

+ 28 - 0
services/cr-2018-12-01/struct_layers_item.go

@@ -0,0 +1,28 @@
+package cr_2018_12_01
+
+//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.
+
+// LayersItem is a nested struct in cr response
+type LayersItem struct {
+	LayerInstruction string `json:"LayerInstruction" xml:"LayerInstruction"`
+	LayerIndex       int    `json:"LayerIndex" xml:"LayerIndex"`
+	BlobDigest       string `json:"BlobDigest" xml:"BlobDigest"`
+	Size             int64  `json:"Size" xml:"Size"`
+	BlobSize         int64  `json:"BlobSize" xml:"BlobSize"`
+	MediaType        string `json:"MediaType" xml:"MediaType"`
+	Digest           string `json:"Digest" xml:"Digest"`
+	LayerCMD         string `json:"LayerCMD" xml:"LayerCMD"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_linked_vpcs_in_get_instance_vpc_endpoint.go

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

+ 21 - 0
services/cr-2018-12-01/struct_linked_vpcs_in_list_instance_endpoint.go

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

+ 25 - 0
services/cr-2018-12-01/struct_linked_vpcs_item.go

@@ -0,0 +1,25 @@
+package cr_2018_12_01
+
+//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.
+
+// LinkedVpcsItem is a nested struct in cr response
+type LinkedVpcsItem struct {
+	Ip            string `json:"Ip" xml:"Ip"`
+	VswitchId     string `json:"VswitchId" xml:"VswitchId"`
+	VpcId         string `json:"VpcId" xml:"VpcId"`
+	Status        string `json:"Status" xml:"Status"`
+	DefaultAccess bool   `json:"DefaultAccess" xml:"DefaultAccess"`
+}

+ 21 - 0
services/cr-2018-12-01/struct_logs.go

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

+ 27 - 0
services/cr-2018-12-01/struct_logs_item.go

@@ -0,0 +1,27 @@
+package cr_2018_12_01
+
+//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.
+
+// LogsItem is a nested struct in cr response
+type LogsItem struct {
+	TriggerLogId    string `json:"TriggerLogId" xml:"TriggerLogId"`
+	StatusCode      string `json:"StatusCode" xml:"StatusCode"`
+	RequestTime     int64  `json:"RequestTime" xml:"RequestTime"`
+	RequestHeaders  string `json:"RequestHeaders" xml:"RequestHeaders"`
+	RequestBody     string `json:"RequestBody" xml:"RequestBody"`
+	ResponseHeaders string `json:"ResponseHeaders" xml:"ResponseHeaders"`
+	ResponseBody    string `json:"ResponseBody" xml:"ResponseBody"`
+}

部分文件因为文件数量过多而无法显示